馬孫豫 楊勇生 梁承姬
(上海海事大學物流科學與工程研究院 上海 201306)
隨著一帶一路的政策逐漸實施,我國沿海港口集裝箱吞吐量逐步增加,船舶逐漸大型化,港口對裝卸效率的要求越來越高,目前建造自動化集裝箱碼頭已經(jīng)形成一種趨勢。雙小車岸橋和自動導引車(AGV)的運用,是自動化集裝箱碼頭的主要特征,自動化集裝箱碼頭水平運輸系統(tǒng)的效率直接影響了船舶??繒r間。AGV是水平運輸系統(tǒng)的主要設備,而決定水平運輸系統(tǒng)效率的是碼頭各個裝卸設備的調度情況[1]。因此,研究雙小車岸橋和AGV的調度情況,對于提高自動化集裝箱碼頭的整體效率有著巨大的意義。
目前,國內外學者對AGV調度問題已經(jīng)進行了許多研究[2]。Xin 等[3]針對自由搜索生成無碰撞軌跡的問題,提出了一種多載AGV調度的混合整數(shù)規(guī)劃模型,以減少自動化碼頭裝卸時間;Angeloudis等[4]針對不確定性環(huán)境下的AGV任務分配問題,通過采用滾動時域,減少船舶在港時間,從而提高自動化碼頭的裝卸效率;Danijela等[5]使用數(shù)據(jù)包絡法對AGV調度進行進一步分析,建立仿真模型和效率評估,通過改變調度及AGV和任務數(shù)量來分析卸船集裝箱的作業(yè)效率;康志敏等[6]考慮兩種AGV調度方法,提出了基于成本的調度方法,建立了以等待時間最少為目標函數(shù)值的調度模型,利用遺傳算法來求解模型;霍凱歌等[7]基于多載AGV,以最小化AGV作業(yè)成本為目標函數(shù),并采用GUROBI和遺傳算法對該問題進行求解,與單載AGV結果進行比較,證明該模型的實用性;柯冉絢、任亞東等[8-9]基于兩種AGV調度模式的優(yōu)缺點,建立了以AGV等待時間為目標函數(shù)的整數(shù)規(guī)劃模型,以Netlogo構建仿真模擬,證明模型的實用性。
國內外學者為解決AGV調度問題提出很多智能方法[10]。Jin等[11]考慮AGV運輸時間和任務的優(yōu)先順序,設計一種以最小化岸橋裝卸的完成時間和標準差動態(tài)多AGV調度模型,利用遺傳算法進行求解;Kim等[12]基于AGV靜態(tài)調度,提出了一種多標準的AGV調度策略,以岸橋延誤時間和AGV空駛距離最小化為目標函數(shù),使用多目標進化算法進行求解;李曄等[13]通過改變雙小車岸橋上的中轉平臺容量限制,以岸橋前小車裝卸延遲時間和岸橋后小車與AGV間的等待時間之和最小為目標函數(shù),設計啟發(fā)式算法求解后小車時間窗,采用遺傳算法進行求解;宗辰光等[14]采用多層編碼粒子群-遺傳算法融合,對成本優(yōu)化問題進行了仿真研究,給出了成本變化曲線及AGV調度甘特圖,來證明算法的有效性。
通過上述可知,目前相關文獻的研究主要圍繞時間窗的調度、路徑規(guī)劃的調度、任務指派的調度,但是考慮的大都是單一設備裝卸問題,求解算法以遺傳算法為主。隨著AGV數(shù)量的增加,水平運輸系統(tǒng)的復雜化,遺傳算法求解的效率和有效性會大大降低。為此,本文采用多層編碼粒子群算法,以AGV調度為主,岸橋等設備為輔,通過改變裝卸任務和AGV的數(shù)量進行算法求解,并通過實驗結果進行分析比較,提高自動化碼頭運作效率。
自動化碼頭與傳統(tǒng)碼頭的最大的區(qū)別就是自動化碼頭的布局是垂岸式,所謂垂岸是指堆場的布局垂直于碼頭[15]。自動化集裝箱碼頭如圖1所示。
圖1 自動化集裝箱碼頭布局圖
由于各個設備之間的操作不連貫、不協(xié)調,出現(xiàn)岸橋等待AGV或AGV等待時間過長的現(xiàn)象。自動化碼頭作業(yè)包括自動化碼頭作業(yè)包括岸邊作業(yè)、水平運輸作業(yè)和堆場作業(yè)[16]。雙小車岸橋和軌道吊分別負責岸邊和堆場作業(yè)的主要裝卸設備,AGV是負責在岸邊到堆場間水平運輸?shù)闹饕O備。在卸船過程中,岸橋前小車將船舶上的集裝箱放置于岸橋中轉平臺上,岸橋后小車從中轉平臺上將集裝箱吊起裝載于AGV上,而后AGV選擇路徑運輸至堆場,軌道吊將集裝箱從AGV上取走存放在堆場指定位置[17]。裝船過程與卸船過程相反。
雙小車岸橋按照已知確定的卸船順序依次卸載集裝箱,由于存在中轉平臺的限制,一般中轉平臺只能存放2個集裝箱,當超過2個容量時,前小車不再放置集裝箱至中轉平臺,需等待后小車將中轉平臺中的集裝箱放置于AGV上。在這整個過程中,需要對AGV的任務進行調度分配,來減少AGV的裝載運輸時間和岸橋的等待時間,從而達到縮短船舶??繒r間的目的。因此,該問題實質是AGV的調度問題。
本文針對自動化碼頭新設備,以小型自動化碼頭為例,以AGV為研究對象,已知岸橋卸船作業(yè)順序的情況下,建立以岸橋作業(yè)時間最短為目標的AGV調度混合整數(shù)規(guī)劃模型。本文研究的問題主要設備涉及到了雙小車岸橋和AGV,為了保證算法的精確性和完整性,將箱區(qū)主要運輸設備軌道吊RMG(Rail-Mounted Gantry Crane)也納入考慮范圍。采用粒子群算法進行求解,CPLEX軟件和GA進行對比分析驗證粒子群算法的有效性,實現(xiàn)整個系統(tǒng)的最優(yōu)化調度,提高碼頭裝卸運輸效率,減少在港口時間。
根據(jù)自動化碼頭實際情況,對相關問題進行簡化:
(1) 岸橋作業(yè)裝卸順序已知且只卸不裝;
(2) 岸橋后小車裝載集裝箱到AGV上的時間已知;
(3) AGV采用作業(yè)面裝卸且一次只能運輸一個集裝箱;
(4) AGV勻速行駛,不考慮加減速和運輸過程中沖突死鎖問題;
(5) 每個箱區(qū)使用一個RMG進行裝卸作業(yè)。
(1) 參數(shù)變量:
S:一個虛擬任務的開始,OS=D∪S;
F:一個虛擬任務的結束,OF=D∪F;
D:集裝箱數(shù)量集合,i,j∈D;
K:岸橋數(shù)量集合,k,l∈K;
P:集裝箱堆存位置集合,(n,b)∈p,(n,b)表示在箱區(qū)b的第n個位置;
B:箱區(qū)數(shù)量集合,b,a∈B;
V:AGV數(shù)量集合;
C:軌道吊(RMG)數(shù)量集合;
T:岸橋后小車將集裝箱卸載到AGV的時間為固定值;
Nk:岸橋k卸載的集裝箱數(shù)量;
(i,k):岸橋k卸載第i個集裝箱;
h(i,k):岸橋完成集裝箱i卸載工作的時間;
s(i,k):岸橋前小車將集裝箱卸載到中轉平臺上的時刻;
r(i,k):岸橋后小車將集裝箱從中轉平臺卸載的時刻;
d(i,k):AGV執(zhí)行岸橋k的第i個任務的時刻;
f(k,b):AGV在岸橋k和箱區(qū)b之間的運行時間;
e(i,k):RMG開始處理集裝箱i的時刻;
φ(n,b):RMG運行到箱區(qū)b的第n的位置的時間;
u(i,k):岸橋前小車開始卸載集裝箱i到中轉平臺的時刻;
M:一個較大的整數(shù)。
(2) 決策變量:
(1) 目標函數(shù):
MIN=MAX(u(i,k)+h(i,k))
(2) 約束條件:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
s(j+1,l)+r(j,l)-s(j,l)+T≤d(j,l)
?(j,l)∈oF,j=1,2,…,Nk-1
(11)
(14)
u(i,k)≤s(i,k)≤r(i,k)≤d(i,k)≤e(i,k)≤φ(n,b)
?i∈D,?k∈K
(15)
(16)
(17)
u(1,k)=0
(18)
?(i,k)(j,l)∈o,?(n,b)∈p,?b∈B
(19)
上述基本模型是一個混合整數(shù)規(guī)劃模型,其中目標函數(shù)為最小岸橋卸貨操作時間。式(1)表示AGV每個任務都有一個后序任務;式(2)表示AGV每個任務都有一個緊前任務;式(3)保證每個集裝箱在箱區(qū)中都有位置;式(4)保證每個箱區(qū)的位置只能放少于一個集裝箱;式(5)表示如果集裝箱被分配到了箱區(qū)b中,可以放在任意位置;式(6)表示RMG每個任務都有一個后序任務;式(7)表示RMG每個任務有一個緊前任務;式(8)表示AGV將集裝箱運到箱區(qū)交接處,RMG才能開始處理該集裝箱任務;式(9)表示只有當AGV完成前一個任務才能開始后一個任務;式(10)表示RMG只能完成前一個任務才能開始后一個任務;式(11)約束岸橋中轉平臺上的集裝箱數(shù)量;式(13)表示只有后小車將集裝箱放到AGV上,AGV才能開始任務;式(14)表示參數(shù)之間的關系;式(15)為對任務操作時間需要滿足的實際情況;式(16)和式(17)表示對于同一設備,如果(i,k)是(j,l)的前置任務,那么(i,k)就不可能再是(j,l)的后序任務,即任務流向是單向的;式(18)表示設定岸橋卸載第一個集裝箱的時刻為0;式(19)為0-1變量。
PSO是進化計算的一種,因其算法簡單,易于實現(xiàn)而常被用來解決非線性連續(xù)函數(shù)優(yōu)化、約束優(yōu)化、多目標優(yōu)化等問題[18]。利用PSO算法求解AGV調度優(yōu)化模型的流程是:設計并初始種群粒子,每個粒子是問題的一個可行解,粒子的位置表示一個調度的方案,通過粒子個體間的相互協(xié)作逐步在搜索空間中尋找最優(yōu)解。在每一次迭代的過程中,當前粒子的位置和速度都是由上一代粒子的位置和速度所決定[19]。利用上述模型定義的適應值函數(shù),通過粒子不斷迭代進化尋找全局最優(yōu)解。
為驗證PSO的有效性,在設計算法時,采用多層編碼粒子的方法來表示自動化碼頭的調度問題,以求得全局最優(yōu)解。假設有3臺岸橋,15個裝卸任務,使用3輛AGV進行運輸,隨機運載到4個箱區(qū)中,其中箱區(qū)編號為RMG編號,則第i個任務的編碼表示為:編號為第v輛AGV將第i個任務運送到并由第b個RMG運輸?shù)较鋮^(qū)中。多層編碼即初始種群示例如圖2所示。
圖2 初始種群
(1) 學習因子 PSO中的粒子無法通過GA中交叉變異來進行更新,粒子只能通過內部速度進行更新。學習因子c1和c2為非負常數(shù),c1調節(jié)粒子飛向最好位置方向的步長,c2則是調節(jié)粒子飛向全局最好位置方向的步長[19]。在本文中,設置c1=c2=1.494 45。
(2) 初始速度 為了防止算法在迭代過程中粒子離開搜索空間,通常設定最大速度vmax和最小速度vmin,設置種群初始速度vmax= 1,vmin=-1。
(3) 慣性權重w為慣性權重,取較大值時,粒子群具有較強的全局搜索能力,較小時,則傾向局部搜索。本文采取線性遞減的取值方法,其大小變化如下:
w=wmax-(wmax-wmin)×g/Tmax
式中:wmax=0.9,wmin=0.4,g為進化代數(shù),Tmax為最大迭代數(shù),Tmax=200。
以圖1的碼頭布局為模型,參照某自動化碼頭實際數(shù)據(jù),對參數(shù)進行初步設定。假定碼頭有2個箱區(qū),隨著任務數(shù)量的改變,雙小車岸橋和AGV的數(shù)量也進行改變。為驗證算法解決此問題的有效性,采用MATLAB實現(xiàn)PSO和GA,同時采用CPLEX12.6對約束條件進行求解,對比結果如表1。
表1 PSO與CPLEX、GA對比
從表1中可以看出,通過與其他兩種方法對比,我們提出的PSO算法可以獲得近似最優(yōu)解。與CPLEX的最優(yōu)解相比,其運行速度更快,范圍從2.42 s到7.55 s且沒有劇烈波動,GA運行速度從3.53 s到7.32 s,同樣沒有劇烈波動。在運行時間方面,CPLEX所需時間遠遠大于PSO和GA范圍。從11.32 s到11 055.28 s,波動劇烈。隨著任務數(shù)量的增加,三者運行時間都逐漸增長,但當任務數(shù)量增長到30時,CPLEX無法在合適的時間得出最優(yōu)解。在運行結果方面,可以看出,隨著任務數(shù)量的增加,CPLEX、PSO和GA三者最優(yōu)解結果差距不大,因此證明了PSO 算法在解決此問題的有效性。從算例6和算例7可以看出,任務數(shù)量一定時,增加AGV的數(shù)量會提高碼頭效率,使得卸船作業(yè)時間減少,提高作業(yè)效率。從算例8和算例9可以發(fā)現(xiàn),并不是AGV數(shù)量越多則效率越高,數(shù)量過多反而會導致效率降低,而影響這類情況有很多原因。
以算例12為例,基于PSO對模型進行求解所得的甘特圖如圖3所示。該甘特圖中包含了岸橋作業(yè)時間、AGV 時間和箱區(qū)RMG作業(yè)時間,并每個任務編號作業(yè)區(qū)上標注了岸橋、AGV和箱區(qū)RMG編號。在本文中未設置交接區(qū),因此運行過程中,出現(xiàn)了AGV運輸?shù)较鋮^(qū)時等待RMG這種情況。以任務編號25為例,1號岸橋將集裝箱運輸?shù)?號AGV,而后運輸?shù)?號箱區(qū),所求得收斂情況如圖4所示,最終得到的最優(yōu)值為1 277 s。
圖3 調度甘特圖
圖4 PSO收斂圖
下面討論不同任務數(shù)量下雙小車岸橋和AGV數(shù)量對最優(yōu)值的影響。數(shù)據(jù)均來源于運行多次結果的均值,如圖5所示。
圖5 不同岸橋及AGV數(shù)量變化下目標值的變化
可以看出:
(1) 不同雙小車岸橋數(shù)量下,最優(yōu)適應度值達到最低值時的AGV數(shù)量不同。當雙小車岸橋數(shù)量為2時,AGV數(shù)量為6時適應度值最?。划旊p小車岸橋數(shù)量為3時,AGV數(shù)量為9。雙小車岸橋的數(shù)量和AGV的數(shù)量應相互配合。
(2) 當雙小車岸橋數(shù)量一定時,隨著AGV數(shù)量的增加,岸橋卸載作業(yè)時間逐漸減少。這是因為當AGV數(shù)量較少時,AGV不能及時將岸橋后小車所卸載的集裝箱運到箱區(qū)。此時,岸橋需等待AGV,使得集裝箱堆積在中轉平臺上。當超過2個集裝箱時,岸橋前小車也需等待后小車,但是適應度值并非隨著AGV數(shù)量的增加而減少。例如圖3中岸橋數(shù)量為2,AGV數(shù)量為7時,可以看出最優(yōu)值開始增加。出現(xiàn)這種情況的原因是AGV數(shù)量較多,導致當AGV將上一個集裝箱運輸?shù)街付ㄏ鋮^(qū)后返回至岸橋后小車前等待運輸,而岸橋裝載能力有限,不能及時配合AGV運輸作業(yè),造成AGV等待。
(3) 當AGV數(shù)量一定時,適應度值隨著雙小車岸橋數(shù)量的增加而減少。這是因為隨著雙小車岸橋數(shù)量的增加,岸橋前小車將任務卸載至中轉平臺,岸橋后小車將其放置于AGV上,期間任務連續(xù),并沒有造成AGV等待岸橋后小車的情況。但是,當雙小車岸橋的數(shù)量較多時,AGV運輸能力的限制會導致后小車需要等待AGV。
本文針對AGV調度,基于任務作業(yè)最小化建立數(shù)學模型,設計了PSO,從雙小車岸橋作業(yè)及箱區(qū)RMG作業(yè)時間進行優(yōu)化分析,在任務數(shù)量變化的情況下,改變雙小車岸橋數(shù)量和AGV數(shù)量,進行計算。算例表明,卸船時間隨著任務的數(shù)量的增加而增加,隨著AGV的數(shù)量的增加而減少,但是增加到一定程度時卸船時間反而增加。通過與CPLEX的對比分析,證明了本文所提模型和算法的有效性,并能減少卸船作業(yè)時間,提高碼頭運作效率。
在整個作業(yè)過程中,并沒有設置交接區(qū)且是在已知卸船作業(yè)順序情況下進行雙小車和AGV的調度,AGV等待的時間過長,阻礙了碼頭整體效率,且自動化碼頭調度問題同時還受到岸橋數(shù)量、堆場設備數(shù)量配置及其他資源分配和調度的影響。此外,碼頭作業(yè)裝卸流程和AGV運輸過程所造成的擁堵、沖突和死鎖問題將是以后研究的重點。