趙艷艷
(蘭州交通大學(xué) 交通運(yùn)輸學(xué)院,甘肅 蘭州 730070)
吊車頻繁進(jìn)行裝卸與倒箱作業(yè),不但浪費(fèi)時間,增加勞動強(qiáng)度,制造噪音污染,而且對集裝箱及其內(nèi)部裝運(yùn)貨物造成一定的損害,因此,如何規(guī)劃龍門吊的作業(yè)順序,減少作業(yè)次數(shù)成為衡量堆場工作效率的關(guān)鍵。
江南學(xué)者建立鐵路集裝箱堆場作業(yè)靜態(tài)碼垛模型和動態(tài)碼垛模型,并設(shè)計箱小區(qū)判定算法和單箱碼箱取箱算法,同時建立循環(huán)碼垛模型,并設(shè)計循環(huán)單箱碼箱算法、構(gòu)造動態(tài)全序算法和暫扣標(biāo)記設(shè)置解除算法。李建忠建立一個多目標(biāo)非線性數(shù)學(xué)規(guī)劃模型,以各箱區(qū)總的未按計劃完成工作箱量所需的龍門起重機(jī)時間和龍門起重機(jī)閑置時間的最小化為優(yōu)化目標(biāo),從而解決輪胎式龍門起重機(jī)的動態(tài)優(yōu)化配置問題。
由于發(fā)站集裝箱吊車作業(yè)與到站集裝箱吊車作業(yè)過程相同,只是順序相反;對于堆場來說,要先卸車后裝車,所以,只需增加相應(yīng)的作業(yè)變量即可按相同方法處理。
本文提出假設(shè):
1)集裝箱同時到達(dá)堆場等待卸車,但離開時間是隨機(jī)的,且從到達(dá)之日起集裝箱只能在堆場停留3d。
2)與提箱作業(yè)和卸車作業(yè)時間相比,吊車行走時間較短、技術(shù)要求也不高,所以,忽略不計行走時間。
3)吊車實(shí)際作業(yè)順序,當(dāng)貨主停車進(jìn)行提箱作業(yè)時,集裝箱到達(dá)并有停車空位時進(jìn)行卸車作業(yè),即混合進(jìn)行作業(yè),這樣使作業(yè)高度不確定。因此,假設(shè)吊車按先卸車后提箱順序進(jìn)行作業(yè),只考慮卸車時集裝箱堆碼順序,使提箱時倒箱作業(yè)次數(shù)最少。
4)每個箱位只能堆放兩層。
5)計劃期為3d,每天為一個階段。
每個集裝箱有唯一編號對應(yīng),令i(i∈M)為集裝箱編號,M為集裝箱編號集合。為使問題處理方便,可按集裝箱到達(dá)先后順序?qū)映射到自然數(shù)子集I中,同一階段到達(dá)的集裝箱按其編號由小到大排序,即i∈I={1,2,…,m}。j為箱位,j∈J={1,2,…,n};n為貨場最大箱位數(shù);k為某箱位堆放的集裝箱層數(shù),k∈K={1,2,…,s},s為堆放最高層數(shù);ξi為集裝箱i的離開時間。
定義集裝箱卸車作業(yè)變量為
蘭州市北貨場受場地限制,每個存裝區(qū)只有3排箱位供存放集裝箱,每排有49個箱位。由于受到龍門吊高度的影響,每個箱位只能堆放2層。
卸車作業(yè)需滿足約束條件為
每個集裝箱只能放在一個位置
每個位置最多放一個集裝箱
位于j箱位第1層的集裝箱i1的提箱時間遲于位于j箱位第2層的集裝箱i2的提箱時間的概率,且應(yīng)不小于常數(shù)α。
提箱時倒箱作業(yè)約束為
當(dāng)j位上下層都有箱,且下層提箱時間早于上層提箱時間時,需進(jìn)行倒箱作業(yè),且倒箱作業(yè)的次數(shù)不大于的概率,且不小于常數(shù)β概率;其中Φ(x)為符號函數(shù):
目標(biāo)函數(shù)為總倒箱次數(shù)最小
染色體Y的表示見圖1。
圖1 染色體的表示方法
分別對箱位j,層數(shù)k和k′進(jìn)行整數(shù)編碼,建立基因組(ji,ki,k′i);其中ji,ki為第i個集裝箱位于ji箱位ki層;k′i為i個集裝箱,如需要倒箱則倒箱后位于ji箱位k′i層。染色體的長度為到達(dá)集裝箱數(shù)量3倍。
對基因組(ji,ki,k′i),顯然xijk=1。當(dāng)ki=k′i時,該箱不需要倒箱;當(dāng)ki=2,k′i=1時,該箱需被倒箱一次。
模型含有大量約束條件,計算過程進(jìn)行可行性驗(yàn)證將耗費(fèi)大量時間,采用罰函數(shù)法將其轉(zhuǎn)變?yōu)闊o約束優(yōu)化問題,對于下面的約束問題優(yōu)化
可轉(zhuǎn)化為無約束優(yōu)化問題
式中:MT為罰因子向量;Q(X)= (Q1(X),Q2(X),…,QM+P)為罰函數(shù)向量,Qi(X)定義為
適應(yīng)度函數(shù)為
采用兩點(diǎn)交叉,首先按交叉概率pc選擇父代染色體,隨機(jī)產(chǎn)生n1和n2∈[1,n],且n1≠n2,對任意兩個父代染色體Vti和Vtj,保留前n1-1和后nn2+1位基因組不變,變換n1位到n2-1位的基因組,形成兩個子代染色體Vt+1i和Vt+1j。例如:n=7,n1=3,n2=5;其交叉操作見圖2。
圖2 兩點(diǎn)交叉操作
采用逆轉(zhuǎn)變異:對每個染色體,當(dāng)隨機(jī)數(shù)小于變異概率pm時,隨機(jī)產(chǎn)生兩個整數(shù)n3和n4∈[1,n],且n3≠n4將兩個整數(shù)內(nèi)基因組按逆序插入到原位置中,見圖3。
逆轉(zhuǎn)變異:
圖3 逆轉(zhuǎn)變異操作
步驟1輸入?yún)?shù)pop-size:pc及pm;
步驟2初始產(chǎn)生pop-size個染色體,其中可能使用隨機(jī)模擬技術(shù)檢驗(yàn)染色體的可行性;
步驟3對染色體進(jìn)行交叉和變異操作,其中可能使用隨機(jī)模擬技術(shù)檢驗(yàn)后代的可行性;
步驟4使用隨機(jī)模擬技術(shù)計算所有染色體的目標(biāo)值;
步驟5根據(jù)目標(biāo)值,使用基于序的評價函數(shù)計算每個染色體的適應(yīng)度;
步驟6旋轉(zhuǎn)賭輪,選擇染色體;
步驟7重復(fù)步驟2到步驟5,直到完成給定的循環(huán)次數(shù);
步驟8給出最好的染色體作為最優(yōu)解。
為了說明模型的實(shí)用性和程序的可行性,簡化實(shí)際的集裝箱場:
1)箱場區(qū)初始為空;
2)集裝箱場區(qū)內(nèi)用于卸集裝箱的箱位有6個,編號為:Bay1、Bay2、Bay3、Bay4、Bay5、Bay6集裝箱堆碼為兩層,如圖4所示;
3)集裝箱到達(dá)等待卸車區(qū)域,到達(dá)的集裝箱都在3個階段內(nèi)離開,離開時間不確定,在每一階段離開概率隨即產(chǎn)生;
4)初始到達(dá)集裝箱數(shù)量固定為范0個;
5)假設(shè)α和β均為0.6;
6)用C++編寫程序及得出的結(jié)果如表1所示。
圖4 箱場區(qū)初始為空的示意
在給定的初始條件下,在3d計劃期內(nèi),合理地安排集裝箱的堆碼位置可以使得集裝箱裝卸機(jī)械在整個裝卸作業(yè)過程中不產(chǎn)生倒箱作業(yè)。這不僅提高了裝卸機(jī)械的作業(yè)效率,同時也減輕倒箱作業(yè)過程中對箱體的損害和對集裝箱內(nèi)貨物的貨損。最優(yōu)結(jié)果如表1所示。
表1 最優(yōu)結(jié)果
通過對集裝箱箱場區(qū)作業(yè)的分析和總結(jié),到達(dá)重集裝箱卸箱次數(shù)為例,建立了箱場區(qū)初始階段為空的模型。通過減少龍門吊的作業(yè)次數(shù),有效地優(yōu)化堆場內(nèi)零散箱的箱位分配,提高集裝箱堆場的作業(yè)效率。
[1] 段鋼,陳莉.鐵路集裝箱堆場混堆區(qū)箱位分配優(yōu)化模型與算法[J].鐵道學(xué)報,2011,33(7):32-36.
[2] 江南,錢邁.集裝箱堆場作業(yè)計劃模型及算法[J].鐵道學(xué)報,2009,31(5):9-15.
[3] 李建忠,韓曉龍.集裝箱港口堆場輪胎式龍門起重機(jī)的動態(tài)優(yōu)化配置[J].上海海事大學(xué)學(xué)報,2005,26(3):44-48.
[4] 陶經(jīng)輝.基于混堆模式的集裝箱堆場區(qū)段分配[J].系統(tǒng)工程理論與實(shí)踐,2009,29(8):185-192.
[5] 王志明,符云清.基于遺傳算法的集裝箱后方堆場箱位分配策略[J].計算機(jī)應(yīng)用研究,2010(8):66-68.
[6] 丁香乾,韓運(yùn)實(shí),張曉麗.自適應(yīng)遺傳算法解決集裝箱裝載問題的方法探討[J].中國海洋大學(xué)學(xué)報,2004,3(5):844-848.
[7] 譚浩強(qiáng).C++程序設(shè)計[M].北京:清華大學(xué)出版社,2004.