大廠面試:求解集裝箱港口翻箱問題的最短路徑


摘要:針對集裝箱港口提箱過程中的翻箱問題,以最小化翻箱次數為目標,構建基於狀態結點的網絡圖模型,將翻箱問題轉化為最短路徑問題,並采用最短路徑算法進行求解,最后給出一組計算樣例。

1.集裝箱堆場翻箱問題

在集裝箱碼頭作業過程中,由於船舶抵港時間具有不確定性,可能出現集裝箱提箱順序與初始堆放位置不完全相符的情況,導致需要較早離場集裝箱被壓在后續離場集裝箱下層現象。所以提箱過程中不可避免需要進行翻箱,甚至當被翻箱落箱位置選取不當,會造成后續提箱的二次翻箱;翻箱過程存在如下定義:

(1)目標箱:某一堆存狀態下,預最先發箱的集裝箱為該堆存狀態下的目標箱;

(2)必翻箱:若某集裝箱下方存在比其優先取箱的箱子,則該集裝箱為相應堆存狀態下的必翻箱;

(3)阻塞箱:連續堆存在某集裝箱上方的必翻箱,為相應堆存狀態下該集裝箱的阻塞箱;

如圖1所示為某一貝位內的堆存狀態(6*6的貝位,且均為20FT集裝箱,底部橫軸為棧編號,左側縱軸為層編號);當提箱順序為C21->C15->C12時,可知當前堆存狀態的目標箱位C21,C12處於棧頂,不存在阻塞箱,可直接發出;而C15作為后續堆存狀態的目標箱,其上方還有其他集裝箱;此時,定義C12,C13,C14為目標箱C15的阻塞箱,同時C12,C13,C14稱為當前堆存狀態的必翻箱;

圖1 堆存狀態

2. 基於狀態結點的網絡圖模型

(1)堆存狀態:指某堆存范圍內集裝箱的堆存情況,如圖1所示,即為棧6-11的一組堆存狀態;翻箱過程中可行的堆存狀態應具有如下特點:

a):集裝箱不能懸空放置;

b):不考慮輕壓重等重量原則;

c):不允許超過堆存區域既定的最大堆高;

d):集裝箱位置不能超過作業機械所能達到的最大堆高;

(2)狀態結點:每一個可行的堆存狀態即可作為一個狀態結點;

(3)結點可達:針對某一目標箱,若狀態結點A中的某一集裝箱經過翻箱操作后得到的堆存狀態與狀態結點B一致,則稱結點A可達結點B;

(4)權重取值: 且若結點A可達結點B,那么結點A、B間存在方向A->B,且可計算A->B的翻箱次數,並將其作為連接權重;

(5)網絡圖構建原理:以初始堆存狀態作為根節點,將目標箱作為層級划分的標識。同時,將提箱過程中各層可能的堆存狀態作為該層的葉子節點,完成提箱操作的堆存狀態作為結束節點;構造形如圖2所示的樹狀網絡圖結構,並增加虛擬結束節點:

圖2狀態結點樹狀網絡圖

(4)網絡圖性質:分析可知,上述構造的堆存狀態樹狀網絡圖具有以下特征:

特征0:結束狀態層中,不存在待提集裝箱,此時堆存狀態可能為空,也可能包括非待提箱;

特征1:圖中入度為0的點和出度為0的點有且僅有一個(分別為根節點和虛擬結束節點);其他節點的出度、入度均大於等於1;

特征2:虛擬節點作為后續節點與所有結束節點相連,且權重均等於0;

特征3:上一層的目標箱在當前堆存狀態一定處於棧頂或已被提箱離場;

特征4:由於提箱順序有優先級要求,結合特征3,因此不存在跨層節點連接;

特征5:由於不涉及預翻箱作業,則中間層每層至少存在一個狀態葉子節點,且兩兩狀態之間不可達;

特征6:結合特征4和特征5可知,網絡圖為有向無環圖;

至此,通過構建具有上述特征的樹狀網絡圖,可將翻箱問題轉化為尋找從根節點到虛擬結束節點的最短路徑問題,並采用最短路徑問題算法進行精確求解。

3. 計算樣例

(1)初始堆存狀態Node0;

(2)構造樹型網絡圖結構

結點信息如下:

(3)最短路徑問題求解

當前最短路徑支持Dijkstra's 算法(正權有向圖)、Floyd算法、0-1整數規划等方式求解;此外,進一步結合特征6可知,上述構建的最短路徑問題為有向無環圖,因此可采用更為高效的基於拓撲排序的快速求解算法求解;最終得到翻箱方案如下,翻箱次數為1次;

參考文檔

  • da Silva Firmino A, de Abreu Silva R M, Times V C. An exact approach for the container retrieval problem to reduce crane's trajectory[C]//2016 IEEE 19th international conference on intelligent transportation systems (ITSC). IEEE, 2016: 933-938.
  • 有向無環圖最短路徑問題及其變種問題的快速求解算法.

本文分享自華為雲社區《集裝箱港口翻箱問題的最短路徑求解算法》,原文作者:CKW@10270 。

點擊關注,第一時間了解華為雲新鮮技術~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM