蔡 蕓,秦 悅,張 煜
(1.武漢科技大學 機械自動化學院,湖北 武漢 430081;2.武漢理工大學 物流工程學院,湖北 武漢 430063)
集裝箱碼頭物流系統是指在一定的集裝箱碼頭空間里,由集裝箱、船、裝卸搬運機械、泊位、堆場和道路等若干相互聯系、相互制約的動態要素構成的有機整體,該系統是典型的離散事件動態系統。隨著仿真建模理論的發展和港口信息管理技術的提高,集裝箱碼頭物流系統的規劃設計者和營運管理決策者常使用排隊論[1]、Petri網[2]、Agent技術[3]、虛擬現實技術[4]等仿真建模方法,輔助他們做出更加合理的設計和決策。
離散事件系統規范是一種描述離散事件形式化的方法,是一種正式的建模和仿真結構,針對離散事件系統的形式化描述體系,它將每個子系統看作一個具有內部獨立結構和輸入輸出接口的模塊,這些模塊通過連接關系組合成為更大的模塊,從而形成規范化、層次化、模塊化的描述,以提高仿真速度,縮短仿真時間[5-6]。
DEVS在軍事[7]、社會事件[8]、工業[9]等領域都有廣泛應用,但在集裝箱碼頭物流系統中的運用還是空白。因為采用DEVS描述的模型層次清晰且規范,所以本文以集裝箱碼頭物流系統為對象,采用DEVS的建模方法,分析并描述了集裝箱碼頭物流系統的耦合模型和原子模型,并將其轉化為em-Plant軟件中的仿真模型,進行仿真實驗,借以驗證其可靠性,并為集裝箱碼頭作業系統的規劃設計和運營管理提供技術手段。
DEVS模型有兩種:DEVS原子模型(Atomic DEVS)和DEVS耦合模型(Coupled DEVS)。原子模型描述了離散事件系統的自治行為,包括系統狀態轉換、外部輸入事件響應和系統輸出等;它們可以通過連接形成耦合模型,從而形成層次化的結構;耦合模型中包含多種成員,每個成員既可以是原子模型,也可以是耦合模型[10]。
DEVS原子模型描述如下式所示:

其中:X:外部輸入事件集合;Y:輸出集合;S:系統狀態集合;ta:S→R0,+∞是時間推進函數。ta(s)表示在沒有外部事件到達時系統狀態保持為s的時間,特別地ta(s)=+∞的狀態稱為靜止的,如無外部事件到達,系統將一直停留在該狀態;ta(s)=0的狀態稱為瞬時的,瞬時狀態表達了不消耗時間的即時運算,即在該狀態執行時,仿真時鐘不推進;δext:Q×S→S,是外部狀態轉移函數,當有外部輸入事件時觸發,Q={(s,e)|s∈S,0≤e≤ta(s)},e是當前狀態s的已持續時間,(s,e)表示總狀態;δint:S→S,是內部狀態轉移函數,如無外部事件到達,系統經過ta(s)時間后,狀態s將轉移到δint(s),同時將e置0;λ:S→Y,是輸出函數。
DEVS耦合模型描述如下式所示:

其中,self是耦合模型本身,Xself是外部輸入事件集合,Yself是輸出事件集合;D是耦合模型組成成員的名字集(self?D);{Mi}是耦合模型的成員集,{Mi∣i∈D}且Mi是DEVS原子模型;Ii表示受成員i(i∈D∪{self})影響的成員集,所有受影響的成員集為{Ii∣i∈D∪{self}};Zi,j表示成員i的輸出到成員j(j∈Ii)的輸入轉換,輸出輸入轉換集為{Zi,j∣i∈D∪{self},j∈Ii},且 Zself,j:Xself→Xj,j∈D;Zi,self:Yi→Yself,i∈D;Zi,j:Yi→Yj,i,j∈D。{Ii},{Zi,j}描述了耦合模型的耦合結構;select是選擇函數,當耦合模型中幾個成員同時發生狀態轉移時,需要用select函數來選擇其中一個成員的轉移作為耦合模型的狀態轉移。
集裝箱碼頭物流系統的仿真實體主要包括船、控制中心、泊位、岸邊集裝箱起重機(岸橋)、集裝箱拖掛車(集卡)、輪胎式龍門起重機(場橋)、堆場等實體。其功能如下:船負責將集裝箱運達和運離碼頭;控制中心是整個集裝箱碼頭物流系統的樞紐,負責接受信息和下達調度指令等;泊位供船停靠;岸橋負責為船裝卸集裝箱;集卡承擔集裝箱從碼頭前沿至堆場、堆場內箱區間的水平運輸;場橋承擔集裝箱在堆場的裝卸和堆碼作業;堆場是集裝箱在碼頭內堆存的場地。本文采用自頂向下的建模方式,先分析了各實體間的相互關系,構建了系統耦合模型,然后將系統實體描述為原子模型。

圖1 集裝箱碼頭物流系統耦合模型結構
圖1為集裝箱碼頭物流系統耦合模型示意圖。圖中圓圈代表耦合模型成員,包括berth(泊位)、ship(船)、quay(岸橋)、truck(集卡)、fbridge(場橋)、yard(堆場)、core(控制中心)等原子模型。箭頭表示外界與耦合模型間的關系以及原子模型間的耦合關系(即各原子模型間的輸入、輸出端口的關系),箭頭上的字符表示原子模型的輸入、輸出端口,其含義如以下實例所示,i_shipb表示泊位從船接受信息變量的輸入端口,其中i表示輸入端口,ship表示船,b是泊位berth的縮寫,o_berthc表示泊位向控制中心傳遞信息的輸出端口,其中o表示輸出端口,berth表示泊位,c是控制中心core的縮寫,其余輸入輸出端口表達方式同理。另外,耦合模型通過core的i_core端口輸入外部事件(船及其箱體信息);通過core的o_core端口輸出船數量、吞吐量和設備利用率等統計信息。
由于篇幅所限,本文只給出場橋原子模型(fbridge)的集合描述(如圖2所示),并將集裝箱裝和卸動作統一描述。耦合模型中的主要成員岸橋、船、集卡的原子模型僅給出圖示(如圖3-圖5所示)。

圖2 場橋原子模型結構



圖3 岸橋原子模型結構

圖4 船原子模型結構

圖5 集卡原子模型結構
(1)模型初始化
①產生耦合模型輸入端口所需船及其箱信息,并由core的i_core輸入端口獲取。
②berth、quay、truck、fbridge分別通過o_berthc、o_quayc、o_truckc、o_fbridgec向core遞交當前狀態(是否閑置或是否故障)。
(2)模型執行
對于進口箱:
①船到港,ship及時通過o_shipc輸出端口向core的i_shipc傳遞請求服務。
②core根據生產作業情況,通過o_cores輸出端口向ship的i_cores輸入端口傳遞信息,為其指定泊位,通過o_coreq、o_coret、o_coref輸 出 端 口 向 quay、truck、fbridge 的 i_coreq、i_coret、i_coref輸入端口下達該船的裝卸任務,調度裝卸作業線上的岸橋、集卡、場橋。
③quay根據core的調度信息,移動到作業位置,ship通過o_shipq輸出端口向quay的輸入端口i_shipq發送箱信息,quay通過o_quayt輸出端口向truck的輸入端口i_quayt提供岸橋位置信息,集卡到岸橋處裝箱。
④truck從岸橋處裝箱并獲得箱信息,運往堆場,通過o_truckf輸出端口,向fbridge的輸入端口i_truckf傳遞箱信息和提出卸箱請求,等待場橋卸載;
⑤fbridge根據core的調度指令,到達指定堆區,等待集卡卸箱請求,如果有請求就為集卡服務,卸箱后,通過o_fbridgey輸出端口向yard的輸入端口i_fbridgey傳遞箱信息。
⑥yard根據fbridge提供的箱輸入信息,通過o_yardc輸出端口向core的輸入端口i_yardc傳遞進口箱的堆存信息。
對于出口箱:
①yard根據core提供的集裝箱裝船信息,通過o_yardf輸出端口向fbridge的輸入端口i_yardf提供集裝箱裝船信息。
②fbridge根據core提供的調度信息,移動到堆場等待裝箱。fbridge通過o_fbridget輸出端口向truck的輸入端口i_fbridget提供場橋位置信息。
③truck根據fbridge提供的場橋信息,到場橋處排隊等待裝箱,裝箱后由場橋的輸出端口o_fbridget獲得箱信息,到岸橋下等待卸箱,通過o_truckq輸出端口向quay的輸入端口i_truckq傳遞集裝箱信息和集卡卸箱請求。
④卸箱后,quay根據truck提供信息,通過o_quays輸出端口向ship的輸入端口i_quays提供上船的出口箱信息。
⑤ship判斷是否完成裝出口箱,完成后由ship的o_shipc向core端口的i_shipc端口發出作業完成信息,core根據該信息向ship的輸入端口i_cores發出離泊命令。
(3)模型輸出。core通過o_core輸出端口向耦合模型輸出端口提供船的到離港時間、進出口箱量和設備利用率等統計信息,仿真結束。
為了研究以上DEVS模型描述集裝箱碼頭生產作業的可靠性,本文將其在em-Plant仿真軟件中進行轉化,并建立了某集裝箱碼頭系統裝卸作業模型。該集裝箱碼頭干線海船泊位數目為4個,支線江駁泊位數目為2個。岸邊集裝箱裝卸橋總數目為14臺(其中海船泊位岸橋為12臺,江船泊位岸橋為2臺),輪胎式龍門起重機總數目為48臺,集卡總數目為72臺。
根據該港口調研數據,仿真模型輸入參數如下:船到港時間滿足負指數分布f(t)=1-exp(-t/β),t>0,β>0,船到港的平均時間間隔,海船β=4.37h,江船β=1.24h。另外,到港船型和裝卸箱量等信息滿足經驗分布。堆場場橋作業時間為2min/TEU,海船岸橋的作業時間為2.4min/TEU,江駁岸橋作業時間為2.9min/TEU;場橋作業時間為2.14min/TEU。集卡行駛速度為6m/s,泊位數目為4個,12臺海船岸橋,2臺江駁岸橋,海船岸橋集卡配比(即每臺岸橋配備幾輛集卡)是1:6,駁船岸橋集卡配比是1:5。
在仿真時,參照碼頭布局設計方案,江駁泊位的工作時間設置為每年280天,而海船每年工作天數為325天。經過多次對模型的仿真運行,得出表1所示結果。由于調研獲得的是9個月的生產數據,故生產數據的實到船數量未知,以2004年1月至9月的實際吞吐量1986361TEU,推算該碼頭年吞吐量為2648481TEU。
把仿真結果和實際情況相比較,實際泊位平均利用率為63.8%;岸橋平均利用率為41.1%。而仿真結果中年吞吐量為2461040TEU;泊位平均利用率為53.4%;岸橋平均利用率是47.4%。這個差異可能是由于碼頭實際是每年工作日為365天,每天工作24h,沒有船到港時則對設備進行檢修,另外人為的設備調度比仿真模型靈活,而仿真獲得的結果是按碼頭設計生產工作日325天所得到的,因此總的來說,仿真結果和實際情況相對還是比較符合的。這就說明建立的DEVS模型可以正確描述集裝箱碼頭的裝卸生產過程。

表1 仿真輸出數據和生產數據統計值
本文率先使用DEVS方法分析并描述了集裝箱碼頭物流系統,在此基礎上利用em-Plant軟件構建了其仿真模型,并進行了仿真實驗,得到了較為合理的仿真結果。由于本文構建的仿真模型針對的只是岸橋、集卡、場橋資源配比固定的作業線生產模式,為此今后還需要進一步研究非固定作業線模式的DEVS模型。
[1]靳志宏,邱波,趙芳.集裝箱碼頭泊位資源動態配置優化[J].中國航海,2011,(3):89-92.
[2]張海霖.基于R-OPN的集裝箱碼頭物流系統建模與分析[J].上海交通大學學報,2007,41(2):231-237.
[3]李斌,閆新慶,胡家香.基于哈佛結構和群集智能的集裝箱碼頭物流系統建模優化[J].江蘇科技大學學報(自然科學版),2011,25(3):282-287.
[4]張煜,王少梅.虛擬集裝箱碼頭及其建模技術[J].港口裝卸,2008,(1):16-19.
[5]Zeigler B P,Praehofer H,Kim T G.Theory of modeling and simulation:Integrating discrete event and continuous complex dynamic system[M].San Diego,CA:Academic Press,2000.
[6]Schroeder M,Wagner G.Vivid agents:theory,architecture,and applications[J].Journal for Applied Artificial Intelligence,2000,14(7):645-676.
[7]李雪飛,孫永侃,熊正祥.基于DEVS的艦艇作戰模擬訓練操作行為建模[J].兵工自動化,2013,32(9):4-8.
[8]曹琦,何中市,余磊.基于DEVS/CD++的搶險救災物資保障仿真建模研究[J].計算機應用,2008,28(11):2967-2969.
[9]鄭麗鈺.基于DEVS的石化多層次物流模型建模和仿真研究[D].杭州:浙江大學,2008.
[10]唐俊,張明清,劉建峰.離散事件系統規范DEVS研究[J].計算機仿真,2004,21(6):62-64,59.