周玉清,韓曉龍
(上海海事大學 物流科學與工程研究院,上海 201306)
集裝箱港口是由岸橋,運輸工具、場橋、堆場等組成的復雜系統。集裝箱港口作業是由港口設備相互組合、相互協同完成的,這些設備的作業效率也直接影響了集裝箱港口的作業效率。大型港口平均每天要處理幾萬TEU(Twenty-feet Equivalet Unit)的集裝箱,因此港口設備之間相互協同作業的效率對于保證時間和成本效益非常重要,如何提高集裝箱港口作業效率已成為當前集裝箱港口研究重點關注的內容。目前我國集裝箱港口主要采用的集裝箱裝卸船的工藝流程為船舶 → 岸邊集裝箱起重機→ 集卡→集裝箱龍門起重機 →堆場。這種裝卸工藝往往會出現設備之間相互等待的現象,造成設備之間的操作不協調,而集裝箱跨運車(Straddle Carrier,SC)[1]可以從碼頭到堆場進行水平運輸作業,也可以進行堆場的堆碼、搬運和裝卸作業,可跨越箱列,還可跨越鐵路線路,實現一機多用,無需依靠起重機,減少運輸設備與起重機的對齊抓取等作業環節、場橋等機械設備的使用等,可有效解決設備之間操作不協調的問題。當前跨運車技術在國外發展已到一定高度,國內無人跨運車技術正處于高速發展的階段,因此研究跨運車在港口內的調度問題至關重要。
針對運輸設備與岸橋之間協調問題,一些專家對提高岸橋使用率、優化改進岸橋作業模式以及運輸設備作業模式進行研究,以提高港口作業效率:Goodchild 等[2]通過理論分析和數學演算證明了雙循環岸橋的可行性,得出岸橋雙循環操作可以減少10%的操作時間;Zhang 等[3]考慮集裝箱在船舶上的裝載情況,優化岸橋最小作業循環次數;常祎妹等[4]考慮裝卸同步作業約束以及生產調度中的不確定因素,研究了不確定條件下的岸橋同步裝卸問題;孫清臣等[5]針對當前集裝箱碼頭采用的雙循環集卡操作策略,得出雙循環操作策略平均能減少20%的裝卸作業時間,并減少集卡空載率;高熙等[6]設計了一種包含線性時間復雜度的岸橋最優調度構造算法,并證明了算法的高效性。
還有一些專家針對岸橋與水平運輸設備等進行聯合調度研究來解決港口設備不協調的問題:余孟齊等[7]考慮集裝箱之間優先關系,研究了集裝箱碼頭岸橋和集卡的集成調度問題;Vahdani 等[8]整合了岸橋分配與內集卡共享,通過將內集卡分享到不同的碼頭岸線來實現碼頭工作量與內集卡之間的平衡;梁承姬等[9]采用滾動窗策略研究岸橋集卡的聯合調度問題,并用遺傳算法進行求解,用以應對集裝箱碼頭突發事件的發生;Chen 等[10]采用三階段算法研究岸橋與集卡的集成調度,采用啟發式算法產生岸橋作業時間表,再進行集卡調度,最后得出完整的調度方案;李坤等[11]關注了集卡與軌道吊的聯系,以最小最大完工時間為目標,設計了兩階段禁忌算法求解;馬孫豫等[12]研究了雙小車岸橋與自動導引小車(Automated Guided Vehicle,AGV)的協同調度問題,以AGV 調度為主,建立以卸船作業最末任務結束時間最小化為目標的模型,采用多層編碼粒子群優化(Particle Swarm Optimization,PSO)算法進行求解;張笑菊等[13]研究了岸橋同貝同步裝卸時多環節作業協調問題,并設計啟發式算法求解。
以上研究以岸橋與集卡為主要研究對象,都能有效提高碼頭作業效率,但當跨運車引入碼頭后,岸橋緩存區將大大影響碼頭作業效率。
在緩存區容量限制下,岸橋與跨運車之間的聯合調度問題研究較少。湯鵬飛等[14]研究了在岸橋下方設置岸橋緩存區,對ALV(Autonomous Land Vehicle)行走路徑進行優化;Kress 等[15]構建了帶緩存區單循環岸橋與跨運車的聯合調度模型,并將彈射鏈加入禁忌搜索(Tabu Search,TS)方法中進行求解;朱家棟[16]以跨運車到達碼頭前沿時間已知的背景下,將岸橋緩存區具體化為岸橋下車道,考慮了岸橋小車不能帶箱跨越跨運車等實際情況,研究了岸橋與跨運車同步裝船作業的優化問題,設計了雙層遺傳算法進行求解;Chen等[17]建立跨運車雙循環作業模型,利用禁忌搜索和模擬退火算法求解,發現在相同碼頭配置下,跨運車比AGV 作業效率更高;安東等[18]研究了集裝箱跨運車在中小型碼頭的應用模式,為跨運車進一步發展與應用提供理論基礎;Pellegrini 等[19]驗證了在解決二次分配問題時,與禁忌搜索算法相比,響應性禁忌搜索算法穩定性更強。
現有的關于岸橋與跨運車的聯合作業研究中,都在以岸橋或跨運車的固定作業序列下,研究另一方的作業序列優化,而未考慮岸橋與跨運車作業序列都不固定情況下,雙方的聯合作業問題;且研究都是在岸橋單循環策略(岸橋先卸后裝)或岸橋只卸只裝下的研究,而岸橋雙循環作業(岸橋可裝可卸)與跨運車的雙循環操作有更大的經濟效益。因此本文將在岸橋與跨運車作業序列都不固定的情況下,研究雙循環策略下岸橋與跨運車的聯合作業序列優化問題來降低總體完工時間。
岸橋與跨運車的聯合作業過程中,岸橋將船上的集裝箱放在其對應的緩存區,直接由集裝箱跨運車搬運和堆場堆碼,兩者互不干涉;但當緩存區內箱位放滿時,依然不可避免地出現等待時間。因此安排合理的岸橋與跨運車聯合作業序列和緩存區容量,可有效解決以跨運車作為水平運輸設備與岸橋進行聯合裝卸集裝箱作業時產生的時空協調問題。
岸橋與跨運車在港口中的聯合作業情況如圖1 所示。對于出口箱作業,跨運車將集裝箱從堆場運送至相應岸橋緩存區后離開進行下一個集裝箱作業,岸橋將緩存區內集裝箱進行裝船作業;對于進口箱作業,岸橋將集裝箱從船舶上卸載放至其緩存區后進行下一個集裝箱作業,跨運車將岸橋緩存區集裝箱送至堆場相應位置。岸橋的雙循環策略中,岸橋無需進行“先卸后裝”作業,當岸橋將進口箱放置到緩存區后,若緩存區內有出口箱,可就近選擇將出口箱放置船上,這樣減少了岸橋空箱作業時間。跨運車雙循環策略中,當跨運車將進口箱從岸橋緩存區運送到堆場中時,可選擇不返回岸橋緩存區進行進口箱任務,而可就近選擇進行出口箱任務,這樣減少了跨運車空車返回的時間,可降低跨運車空載率。

圖1 岸橋與跨運車的聯合作業流程Fig.1 Joint operation flow of quay crane and straddle carrier
本文以岸橋與跨運車為研究對象,針對雙循環策略下岸橋與跨運車的聯合作業序列優化問題,以總完工時間最小為目標,考慮岸橋緩存區容量限制、岸橋與跨運車聯合操作、安全時間等約束,建立雙循環策略下岸橋與跨運車聯合作業的混合整數規劃模型。然后設計基于貪婪算法的響應性禁忌搜索算法,得出最優的岸橋與跨運車聯合裝卸作業序列。最后,通過算例數值分析,討論緩存區容量大小、跨運車數量,岸橋與跨運車配比對于岸橋與跨運車協同調度的影響。
1)不同岸橋下方設置緩存區的容量大小保持一致;
2)跨運車一次作業一個集裝箱,不考慮多載情況;
3)不考慮跨運車移動過程中的交通堵塞情況,不考慮翻箱問題;
4)岸橋裝卸任意集裝箱的時間相同、跨運車裝卸任意集裝箱時間相同,跨運車攜箱與空箱移動速度相同。
參數與變量如表1 所示。其中Rkj為人工變量,用來路徑中保證不出現子回路,表示任務優先級,任務越靠后變量Rkj越大。

表1 參數符號說明Tab.1 Description of parameter symbols
集裝箱進出緩存區時刻如表2 所示,規定集裝箱離開與進入緩存區的時刻為岸橋或跨運車將集裝箱在緩存區內提起或放下的時刻。

表2 緩存區內時間變量的描述Tab.2 Description of time variable in buffer
本文主要目的是通過優化岸橋與跨運車聯合作業序列,以降低全局完工時間,因此以最小化最大完工時間為目標,建立混合整數規劃模型。
目標函數(3)表示,最小化最大完成任務時刻。對于出口箱,完成任務時刻為岸橋將集裝箱放置在船上的時刻;對于進口箱,完成任務時刻為跨運車將集裝箱放置在堆場中的時刻。約束(4)(5)表示總完工時間為最晚結束任務的時刻。
M表示一個極大的數。約束(6)~(14)表示關于岸橋操作約束。約束(6)(7)表示同一個岸橋一次只能處理一個集裝箱。約束(8)避免了每個岸橋的作業序列出現子回路。約束(9)(10)表示岸橋開始執行第一個任務的時刻,約束(9)表示如果岸橋第一任務為進口箱,則岸橋開始時刻大于等于0;約束(10)表示如果岸橋第一任務為出口箱,則岸橋開始操作的時刻大于跨運車將集裝箱放入緩存區的時刻以及安全時間之和。約束(11)表示岸橋處理兩個任務之間的時間間隔大于岸橋在兩個任務之間的空載移動時間。約束(12)表示岸橋結束處理任務i的時刻與開始處理任務i的時刻之差大于岸橋處理任務的時間。
約束(15)~(24)表示關于跨運車操作的約束。約束(15)(16)保證同一輛跨運車僅有一個后續任務和一個前序任務。約束(17)(18)表示在虛擬出發點派出的跨運車與返回虛擬結束點的跨運車的數量為一個定值。約束(19)表示跨運車不能從后續任務返回前序任務,不能直接從虛擬出發點到虛擬結束點,不能自循環。約束(20)(21)表示跨運車開始執行第一個任務的時刻,約束(20)表示每個跨運車負責的任務回路中,如果跨運車第一任務為出口箱,則跨運車開始時刻大于等于跨運車從初始位置到達任務點的時間;約束(21)如果跨運車第一任務為進口箱,則跨運車開始時刻比岸橋將集裝箱放入緩存區的時刻以及安全時間之和大。約束(22)表示跨運車處理兩個任務之間的時間間隔比跨運車在兩個任務之間的移動時間大。約束(23)表示跨運車結束處理任務i的時刻與開始處理任務i的時刻之差,大于跨運車處理任務的時間。
約束(25)~(36)表示關于緩存區的約束。約束(25)表示在k岸橋的j任務進入緩存區之前,緩存區中的集裝箱數不超過緩存區容量。約束表示規定每個集裝箱任務,必須在緩存區內停留tb的時間。約束(26)(27)表示安全時間約束;約束(28)(29)表示滿足決策變量的限制。例如約束(28)表示,當j為出口箱,i為出口箱,i進入緩存區的時刻小于j進入緩存區的時刻,即Yki 本文所建模型的求解計算難度較大,屬于NP 難問題。針對研究問題與模型特點,本文在求解岸橋和跨運車聯合作業序列時容易出現死鎖問題,因此在計算時會出現大量不可行解。而蟻群算法、遺傳算法、模擬退火算法等屬于概率性原理算法,應用于解決本文中問題時,局部搜索能力差,容易錯失最優解。禁忌搜索(TS)算法可對局部進行大量搜索,更容易得到可行解,因此禁忌搜索算法較適合于本文的求解。 TS 算法是一種逐步尋優的鄰域搜索算法,從初始解出發,標記已經解得的局部最優解或求解過程。然而傳統TS算法對初始解的依賴性很強,且很難對某一特定問題確定有效的禁忌長度,難以避免搜索過早收斂,從而陷入局部最優,錯失全局最優解。因此本文設計基于貪婪算法的響應性禁忌搜索算法用于求解模型,算法采用貪婪算法得到比較好的初始解,用多種鄰域搜索策略將集中性搜索和多樣性搜索策略相結合,保證鄰域的多樣性與集中性,且加入響應性禁忌搜索(Reactive Tabu Search,RTS)適時改變禁忌長度,加強TS 搜索機制,以求得全局最優解。 3.2.1 算法總流程 本文首先利用貪婪算法生成初始解,隨后利用禁忌搜索算法改進初始解,從而搜尋出更好更優的解。算法流程如圖2 所示。 圖2 算法流程Fig.2 Algorithm flowchart 1)貪婪算法生成初始解流程。 步驟1 利用貪婪算法生成初始岸橋作業序列。 (a)將岸橋任務按照最早可開始時間從早到晚的順序排列,得到集合Lk。 (b)集合Lk中的第一個運輸任務作為第一臺岸橋任務集合K1的第一個任務,即K1={li},計算該岸橋完成任務的工作時間T(K1)。將li從Lk刪除。 (c)更新所有任務的最早開始時間,除li外所有進口箱開始時間推遲T(K1) +t,t為岸橋空箱返回船的時間,若出口箱最早開始時間小于T(K1),則出口箱最早開始時間更新為T(K1),否則不變。 (d)若Lk≠?,返回步驟1(a),否則,進入步驟1(e)。 (e)岸橋k的作業任務分配完成,任務集合為K1。開始為下一個岸橋分配任務,直到所有岸橋任務分配完成。 步驟2 根據岸橋作業序列,忽略跨運車分配問題以及緩存區容量問題,僅考慮集裝箱從起點到達終點的運輸時間,生成集裝箱最早作業時間表以及最晚作業時間表。 步驟3 確定跨運車運輸序列。根據集裝箱作業時間表,按照集裝箱作業時間表中的優先關系,運用貪婪算法為多輛跨運車分配運輸任務。 (a)將跨運車作業任務按最晚開始時間從早到晚的順序排序,排序集合為L。 (b)集合L中的第一個運輸任務lki(k∈K,i∈J)作為第一輛車輛任務集合V1的第一個任務,即V1={lki},并計算該車輛完成該任務的工作時間T(V1),此時第一輛車輛為距離任務lki出發地最近的車輛,從L中刪除lki。 (c)從集合L中尋找出發地與任務lki目的地的距離較近的任務集合,并從中尋找最晚出發時刻小于或等于完成任務lki時刻的任務。分別計算完成該任務的時刻,取完成任務時刻最小的任務lkj作為該車輛的第二個任務,并將該任務加入V1,更新T(V1),從L中刪除lkj。 (d)根據步驟3(c)依次為第一輛車輛分配任務,當所有任務的最晚出發時刻小于T(V1)時,第一輛車輛的運輸任務分配完成,任務集合為V1。開始為第二位車輛分配任務。 (e)依次按照步驟3(b)~(d),依次為所有車輛分配任務,直到所有車輛以及所有任務分配完成。 步驟4 初始值生成。根據所生成的岸橋與跨運車的作業序列,考慮緩存區容量,調整岸橋與跨運車的實際作業時刻表,并計算岸橋與跨運車完成任務的最大時刻W。 2)改進解流程。 步驟5 初始化。W作為初始值,將此時的岸橋作業序列以及跨運車作業序列作為初始解S。 步驟6 輸入算法參數:最大迭代次數rmax、最大候選集數目nmax、候選集N、禁忌表1(Tabu1)、禁忌長度(T1)、禁忌表2(Tabu2)和禁忌長度(T2)。 步驟7 根據Tabu1、T1,利用交換、逆序等方式產生候選序列,作為岸橋作業序列,將此序列加入Tabu1。 步驟8 根據岸橋作業序列,利用貪婪算法生成跨運車作業序列。根據Tabu2、T2,利用交換、逆序等方式產生候選序列,作為跨運車作業序列,將該候選解加入候選集N,n=n+1,若n 步驟9 對N中的候選解進行解碼計算,選出當前最優解S',記錄其適應度值W(S')。 步驟10 更新當前最優解,更新Tabu2,將W(S')代入RTS 策略(見4.3.3 節RTS 算法),動態調整T2。 步驟11 禁忌搜索算法迭代終止檢驗。檢驗是否達到最大迭代次數:若是,則進入步驟13;若不是,則進入步驟12。 步驟12 更新Tabu1,將W(S')代入RTS 算法(見4.2.4節RTS 算法),動態調整T1,進入步驟7。 步驟13 輸出全局最優解。 3.2.2 編碼方式 編碼方式如表3 所示。表3 中任務的編號11 表示第1 臺岸橋的第1 個任務。第二列表示每個岸橋處理任務的優先級,數字越小優先級越高,例如第1 個岸橋任務序列為11-12-13-14-15,第二個岸橋的任務序列為23-22-24-21-25。第三列表示跨運車處理任務的優先級序列;第四列表示跨運車編號,例如任務11 由編號為1 的跨運車進行操作,跨運車作業序列為,SC1:11-14-15-25,SC2:12-13-23,SC3:22-21-24。 表3 編碼表Tab.3 Coding table 3.2.3 鄰域結構設計 禁忌搜索算法鄰域設置。禁忌搜索基于鄰域變換進行搜索,確定鄰域操作至關重要。本文選用3 種應用于車輛路徑問題的鄰域結構,操作時隨機選擇其中一種。例如跨運車任務優先級序列為φ={1,2,3,4,5,6},陰影處為隨機選擇的兩個任務i和j。 1)Exchange:隨機選擇任務i和j的位置互換,得到:1-4-3-2-5-6,則跨運車序列為11-21-13-12-22-23。 圖3 ExchangeFig.3 Exchange 2)2-Opt:隨機選擇任務i和j之間的任務逆序,得到:1-5-4-3-2-6。 圖4 2-OptFig.4 2-Opt 3)Glover 等[20]提出了一個多樣性搜索策略的方法程序,通過定義步長對置換重新排序,從當前全局最優解創建新解。從步長(step)2 開始,每次重新啟動算法時,步長都會增加,必要時循環回到原始步長。 多樣性搜索策略程序步驟。 步驟1 初始化。 1.1)令當前全局最優解為初始解S; 1.2)令k=1,start=step,j=start,η為一個空集。 步驟2 生成鄰域解。 2.1)將元素j加入集合η中,令S(k)=?(j); 2.2)令k=k+1; 2.3)若j 2.4)若start>1,則start=start-1,j=start,否則結束。 2.5)如果j?η,則進入步驟2.1);否則進入步驟2.3)。 為說明上述方法,考慮以下置換示例。 原解為:φ={1,2,3,4,5,6}。 選擇步長step=2,算法初始化的第一次迭代將初始變量j轉換為2,在本例中,該迭代導致j的變化范圍為公差為2的等差數列,則S中的元素逐個被φ(j)取代。在本例中n=6。在start=2 時的第一次迭代之后,得到以下部分置換:S={2,4,6,_,_,_}。 最后,通過步驟2(d)的傳遞將start設置為1,并獲得以下完整排列S={2,4,6,1,3,5}。以這種方式,對于每個步長,獲得不同的排列,以擴大鄰域搜索范圍。 3.2.4 禁忌對象與禁忌長度 禁忌對象為任務序列。針對3 個不同的鄰域搜索方法設置3 個不同的禁忌表。禁忌長度為每個禁忌對象在禁忌表中的儲存時間。禁忌長度過短,可能進入循環無法跳出;禁忌長度過長,可能造成搜索空間很小,搜索不充分。RTS算法通過在搜索過程中改變禁忌長度來避免此問題。RTS中禁忌長度T的選擇基于解的重復次數與禁忌長度改變時間差。調整規則有兩種方式:第一個方式是當解S兩次連續重復出現之間的間隔regap在所設定的最大間隔gapmax之內,增加禁忌長度T=T×increase,擴大當前的搜索區域;第二種方式是當前時間距離上次禁忌長度改變的時間超過預先設定的值,減少禁忌長度T=T×decrease,加強局部區域的搜索。當解S'的重復次數repeat,超過預先規定的解重復的最大次數remax,則將解S'加入禁忌表 。其中,increase為禁忌長度增加比例;decrease為禁忌長度減少比例。 RTS 算法具體步驟如下: 步驟1 初始化RTS 相關參數。 步驟2 RTS 算法框架。 2.1)生成候選解,找出當前最優解。 2.2)把當前最優解存入Hash 表,判斷是否重復:若重復,轉步驟2.3);反之轉步驟2.5)。 2.3)解重復次數repeat=repeat+1,若repeat>remax,轉步驟3;否則轉步驟2.4)。 2.4)判斷重復間隔regap,若regap>gapmax,禁忌長度T=T×increase;否則轉步驟4。 2.5)判斷當前時間距離上次禁忌長度發生改變的時間是否超過預設值,若超過,則T=T×decrease,轉步驟4。 步驟3 逃離機制。跳出當前搜索區域,利用多樣性搜索策略,即策略3(見3.2.3 節3))重新生成初始解進行搜索。 步驟4 算法終止。達到預先設定最大迭代步數,算法終止。 算例中設備參數來源于文獻[5,15,21]。設置3 個岸橋,4 個跨運車,每個岸橋有5 個需要裝卸的集裝箱,共15 個任務。表4 為參數,表5 為任務集合。 表4 參數Tab.4 Parameter 表5 任務集合Tab.5 Task collection 利用基于貪婪算法的響應性禁忌搜索算法對該算例進行求解,算法收斂情況如圖5 所示。最終得到的目標函數值為2 345 s,任務序列如表6 所示。在該算例下岸橋與跨運車的聯合作業序列:岸橋1 為12-15-14-11-13,岸橋2 為22-24-23-21-25,岸橋3 為34-33-32-31-35;跨運車1 為14-15-11-12,跨運車2 為21-24-25-32,跨運車3 為23-22-31-33;跨運車4 為35-13-34,具體調度安排如表7。 圖5 基于貪婪算法的響應性禁忌搜索算法收斂圖Fig.5 Convergence graph of responsive tabu search algorithm based on greedy algorithm 表6 聯合作業任務序列Tab.6 Joint operation task sequence 表7 岸橋與跨運車調度表Tab.7 Scheduling table of quay crane and straddle carrier 通過表7 可以看出在岸橋與跨運車雙循環操作策略下,岸橋無需直接開始裝卸作業,具有一定的緩沖時間,這是由于跨運車到達緩存區需要一定的時間,或在調度安排下,跨運車從堆場運輸出口箱至緩存區需要一定的運輸時間。 為驗證本文算法有效性,參考文獻[16]設計算例,將本文算法與CPLEX、傳統禁忌搜索算法、遺傳算法求解結果進行分析比較,結果如表8 所示。 從表8 中,可以看出當任務量較少時,CPLEX 計算速度較快,兩者計算目標值相等,而當任務量達到15 時,CPLEX計算時間大于90 min,而本文算法計算時間為26 s,且計算結果無偏差。 表8 算法性能分析表Tab.8 Algorithm performance analysis table 與傳統禁忌搜索算法相比,本文算法在求解速度上具有明顯優勢,且求解效果更好,而當任務規模達到45 時,傳統算法很難搜索出可行解。因此基于貪婪算法的響應性禁忌搜索算法可很好地解決跨運車與岸橋的調度問題;與遺傳算法相比,本文算法在求解速度與求解效果方面都具有明顯優勢。 本節將重點分析緩存區容量與跨運車的數量、岸橋與跨運車數配比對總體作業時間快慢的影響。為評估緩存區容量的設置以及跨運車數對整個調度過程產生的影響,利用上述算例數據設置兩組實驗。 實驗1 緩存區與跨運車影響分析。 實驗1 設置集裝箱量為15,其中出口箱量為8,進口箱量為7。岸橋數為3,改變緩存區容量與跨運車數量進行實驗。該實驗算例中,跨運車數設置為1~9,緩存區容量設置為1~4,用以觀察緩存區與跨運車對完工時間、岸橋平均使用率、跨運車平均使用率、岸橋等待時間的變化。實驗中,岸橋與跨運車使用率計算如式(37)(38)所示: 每組實驗取10 次有效值的平均值。實驗結果如圖6~9所示。 圖6 完工時間比較Fig.6 Completion time comparison 如圖6 所示,從橫向上來看,在任務量相同的情況下,跨運車數的增加,可顯著減少總完工時間。當跨運車數為1時,在四種緩存區的情況下,總完工時間都是最長的,而當跨運車的數增加到8 時總完工時間達到最小。當跨運車數超過6 后,緩存區容量大小不再影響總體完工時間。從縱向上來看,緩存區容量的增加可減少總體運行時間,當緩存區數量為3 時,再次增加緩存區容量,將無法影響完工時間。這是由于岸橋緩存區有足夠的容量放置岸橋以及跨運車放置的集裝箱,因此岸橋與跨運車可相對更加獨立地進行裝卸工作,減少了等待時間,因此完工時間減少。 如圖7 所示,岸橋的平均使用率呈階梯式增長。當緩存區容量為3、4 時,5 臺跨運車即可達到局部最優;而緩存區容量為1、2 時,需要7 臺跨運車。因此合適的緩存區可以在保證岸橋使用率的情況下,減少跨運車的使用。 圖7 岸橋平均使用率比較Fig.7 Comparison of average utilization rate of quay crane 如圖8 所示,跨運車的平均使用率呈增長趨勢。與岸橋平均使用率(圖7)不同的是,當跨運車數達到局部最優后,繼續增加跨運車,跨運車使用效率會減小,這是由于跨運車設備過多而造成跨運車等待時間增加。因此對于決策者來說,安排大量的跨運車可降低作業時間成本,提高岸橋使用效率,但這種情況下會出現跨運車使用率降低的情況。 圖8 跨運車使用率比較Fig.8 Comparison of average utilization rate of straddle carriers 從實驗結果發現,緩存區與跨運車充足時,跨運車的使用效率在70%~85%,而岸橋的使用效率只有55%~65%,結合圖9 所示,岸橋的等待時間穩定在400 s 左右,這是因為當出口箱數量大于進口箱數量時,總會有岸橋需要等待跨運車將出口箱運至緩存區。因此提高跨運車的性能或減少待裝箱任務到岸橋緩存區的距離,雙循環策略的優勢將更加明顯。從該實驗中可以看到,緩存區的設置可以明顯降低完工時間,提升岸橋與跨運車的使用效率,在該算例下,緩存區容量為3 即可滿足系統最優。 圖9 岸橋等待時間Fig.9 Waiting time of quay crane 實驗2 岸橋與跨運車配比影響分析。 目前我國傳統碼頭岸橋與集卡配比一般需要達到1∶5,而岸橋與集裝箱跨運車配比一般只需要1∶3 即可完成相關任務(配比數據來源于振華重工)。傳統碼頭一般為岸橋配置固定數量的集卡進行作業,而本文研究的是跨運車可以為任意一個岸橋服務,因此探究岸橋與跨運車總體系統配比具有重要意義。 實驗2 中,設置岸橋數量為3,進行岸橋與跨運車配比研究。分別設置3 組實驗,3 組實驗的裝箱量分別為15、30、45。緩存區容量設置為3,每組實驗中岸橋與跨運車配比分別為1∶1(3-3),3∶4(3-4),3∶5(3-5),1∶2(3-6),3∶7(3-7),3∶8(3-8),1∶3(3-9)。“()”內為“(岸橋數-跨運車數)”。每組實驗中集裝箱量分別為15、30、45,用以觀察在不同任務量的情況下,岸橋與跨運車配比對聯合作業的影響。實驗結果如圖10~12 所示。 圖10 完工時間變化情況Fig.10 Change of completion time 圖11 岸橋使用率變化情況Fig.11 Changes in utilization rate of quay crane 通過實驗結果可以看到,隨著岸橋與跨運車配比增大,總完工時間逐漸減少。如圖12 所示,岸橋與跨運車配比為3∶8 時,跨運車使用率出現峰值,此時再次增加跨運車,跨運車使用率減少,而完工時間沒有明顯變化。這是由于在緩存區的限制下,跨運車等待時間增長,造成擁堵情況。因此在雙循環策略下,無需按照多個跨運車服務同一個岸橋進行操作,可根據岸橋數與任務量,安排岸橋與跨運車的總體系統配比,此時可以減少跨運車使用,減少碼頭設備量。 圖12 跨運車使用率變化情況Fig.12 Changes in utilization rate of straddle carriers 本文引入雙循環操作策略,研究了岸橋與跨運車的聯合作業序列優化問題,以雙循環岸橋和跨運車為研究對象,考慮了岸橋緩存區容量限制,岸橋雙循環操作以及跨運車雙循環運輸策略,建立了以總完工時間最小化為目標的數學規劃模型。針對禁忌搜索算法的局限性,設計了基于貪婪算法的響應性禁忌搜索算法進行求解并設計算例,驗證了模型與算法的有效性。最后設計實驗,對比岸橋緩存區容量和跨運車對完工時間、岸橋與跨運車使用率的影響,又研究了岸橋與跨運車數配比情況。最終得到算例實驗下最優的跨運車數量、岸橋緩存區容量,以及合理的岸橋與跨運車配比。結果表明:緩存區的設置可明顯減少完工時間、提高岸橋與跨運車使用率,雙循環策略下設置合理的岸橋與跨運車聯合作業序列,可減少跨運車的使用數量,減少碼頭設備。 本文在研究岸橋與跨運車的聯合調度問題時,未考慮跨運車的翻箱問題,跨運車作為可自主在堆場與岸橋之間作業的運輸設備,在堆場以及岸橋緩存區中可能存在翻箱問題,因此可以進一步考慮跨運車的翻箱問題。由于跨運車速率、堆場與碼頭前沿之間的距離對跨運車使用率以及總體作業時間影響較大,因此在大型碼頭,未來還可以考慮岸橋、跨運車以及其他運輸設備的聯合調度問題。3 算法設計
3.1 基本思想
3.2 基于貪婪算法的響應性禁忌搜索算法




4 數值算例分析
4.1 算例設計與求解結果





4.2 性能分析

4.3 參數配比實驗研究及結論







5 結語