本發(fā)明涉及航運交通控制領域,具體說是涉及一種復式航道水域的船舶交通組織優(yōu)化方法。
背景技術:
隨著航運交通事業(yè)的不斷進步以及船舶向大型化、高速化、專業(yè)化方向發(fā)展,船舶交通組織服務作為保障船舶安全、提高港口營運效率、加強海上環(huán)境保護的重要手段,逐漸成為船舶交通管理領域研究的核心問題。統(tǒng)計數(shù)據(jù)表明,2016年,規(guī)模以上港口完成貨物吞吐量118億噸,同比增長3.2%,全年完成集裝箱吞吐量2.2億標箱,同比增長3.6%。在龐大的增長數(shù)據(jù)背后,不可忽視的出現(xiàn)了單、雙向航道通過能力不足、小型船舶占用主航道時間過長、航道中船舶交叉與會遇頻繁等因素顯著影響港口作業(yè)安全和效率。為了提高船舶交通服務水平,許多港口開展了針對航道的拓寬與整治工程,如天津港主航道拓寬工程中,將原來雙向通航的主航道浚深,同時在主航道兩側各增加一條小船航道形成復式航道;長江口深水航道拓寬工程利用雙進雙出的通航條件,用于提升航道利用率、減少船舶交匯的目的。值得注意的是,隨著沿海港口航道基礎設施建設的不斷深入,使用復式航道將會成為沿海及內(nèi)河主要港口提升通航水平、改善交通服務的一個重要手段。但是復式航道與雙向航道或單向航道相比,其通航船型眾多、通航水域復雜,發(fā)生船舶碰撞、擱淺等事故的概率更高。因此,關于復式航道水域船舶交通組織優(yōu)化方法的研究亟待開展。
技術實現(xiàn)要素:
鑒于已有技術存在的不足,本發(fā)明的目的是要提供一種提高港口資源利用效率,保障港口水域的通航環(huán)境和通航秩序的船舶交通組織優(yōu)化方法。
為了實現(xiàn)上述目的,本發(fā)明技術方案如下:
圖1為本發(fā)明交通組織優(yōu)化方法;
圖2本發(fā)明實施例進出港交通流分組圖;
圖3為本發(fā)明實施例進港交通流靠泊北港池船舶在39號燈浮附近會遇;
圖4為本發(fā)明實施例進港交通流靠泊東突堤以西港區(qū)船舶在39號燈浮會遇;
圖5為本發(fā)明實施例船舶交通流在“y”字航道口交叉的示意圖;
圖6為本發(fā)明實施例船舶交通流在16#-31#泊位交叉示意圖;。
圖7為本發(fā)明實施例萬噸級散雜貨船進港和出港速度分布及擬合曲線;
圖8為本發(fā)明實施例5萬噸及散雜貨船進港和出港速度分布及擬合曲線;
圖9為本發(fā)明實施例10萬噸及散雜貨船進港和出港速度分布及擬合曲線;
圖10為本發(fā)明實施例小型集裝箱船進港和出港速度分布及擬合曲線;
圖11為本發(fā)明實施例中型集裝箱船進港和出港速度分布及擬合曲線;
圖12為本發(fā)明實施例大型集裝箱船進港和出港速度分布及擬合曲線;
圖13為本發(fā)明序值分配算法流程圖;
圖14為本發(fā)明擁擠距離算法流程圖;
圖15為本發(fā)明輪盤賭算法示意圖;
圖16為本發(fā)明多目標遺傳算法流程圖;
圖17為本發(fā)明實施例pareto前端收斂曲線;
圖18為本發(fā)明實施例第一目標與第二目標柱狀圖;
圖19為本發(fā)明實施例最小等待時間比較;
圖20為本發(fā)明實施例平均等待時間比較;
圖21為本發(fā)明實施例最大等待時間比較。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
在對復式航道水域的船舶交通組織進行優(yōu)化前,需要對水域的船舶交通組織系統(tǒng)進行一些基本定義:
單向航道(one-waychannel):同一時間內(nèi),只允許一個方向通航的航道;
雙向航道(two-waychannel):同一時間內(nèi),在滿足安全的前提下,允許異向航行的兩艘船同時通行的航道;
復式航道(compoundchannel):同一航道設計斷面處有兩個或兩個以上不同通航水深的航道。狹義上理解為雙向航道與單向航道的組合。
小型船舶:此處的小型船舶是根據(jù)實施例天津港復式航道交通組織要求而設定的,具體是指萬噸級及其以下并且船長小于等于146米、船寬小于等于22米、吃水符合限制條件的船舶。
同時,需要對本發(fā)明應用的前提條件進行說明:
a.港口錨地資源能滿足船舶調(diào)度的需要,忽略錨地容量對船舶調(diào)度的影響;
b.調(diào)度期間的天氣狀況等不在考慮的因素之內(nèi)(如能見度、風力等因素),但是船舶吃水、潮高等因素需要考慮;
c.碼頭泊位分配由天津港集團公司的港口調(diào)度部門負責分配,在調(diào)度的時候?qū)τ诰唧w的船舶靠泊的泊位是已知的,因此泊位分配不在考慮的范圍內(nèi);
d.暫不考慮拖輪、引航調(diào)度,假設船舶申請進出港時刻引航員和拖輪已經(jīng)準備就緒;
e.本發(fā)明不具有實時性,暫時不考慮在線算法的情況,一般港口實際調(diào)度作業(yè)流程是提前一天安排第二天的泊位和進出港計劃,因此對于臨時申請進出港等特殊情況,暫時不予考慮;
f.進港船舶在錨地等候進港,進港船舶起點以天津港主航道兩側的天津港南北錨地為起點,出港船舶在泊位等候出港。
基于上述設計背景,本發(fā)明設計了一種能夠保證港口生產(chǎn)安全,提高港口資源利用效率,保障港口水域的通航環(huán)境和通航秩序的船舶交通組織優(yōu)化方法,下面結合附圖以及具體實施例進一步說明本發(fā)明的技術方案:
一種復式航道水域的船舶交通組織優(yōu)化方法,如圖1所示,其步驟包括:
s100、船舶等級劃分,根據(jù)復式航道的物理條件以及海港總平面設計規(guī)范標準對進出復式航道的船舶依照船長、船寬以及載重噸位進行等級劃分。
本實施例以天津港復式航道的交通組織優(yōu)化管理為依托,對本發(fā)明所述優(yōu)化方法進行說明。根據(jù)天津港復式航道的通航安全管理規(guī)定:對于船長小于146米,船寬小于22米的船舶采用輔助航道進出天津港復式航道,同時結合海港總平面設計規(guī)范,對船舶等級劃分如表1所示:
表1船舶分級表
s200、分析復式航道水域船舶交通流,對進出復式航道水域的船舶交通流進行分類,并根據(jù)歷史交通流數(shù)據(jù)對復式航道水域的船舶交通流的仿真結果,確定復式航道水域船舶交叉的關鍵點。在分類的基礎上對特殊船舶即對深吃水的超大型船舶進行進出復式航道水域的可行性分析,以確定其通航要求,為下一步構建數(shù)學模型準備。本實施例中具體包括:
1.對進出港船舶交通流分組
對于營運類船舶的交通組織主要按照船舶的交通流的流向劃分為:進港交通流和出港交通流。其中,在進港交通流中根據(jù)船舶采用的是輔助航道進港或主航道進港進行分類;根據(jù)靠泊的目的地可以分為靠泊不同港池的船舶。對于出港交通流,其劃分方式與進港交通流相同。如圖2所示為本發(fā)明實施例進出港交通流分組方案,為了構建復式航道中的船舶交通組織優(yōu)化模型,作為本發(fā)明的優(yōu)選實施方案,提出船舶交通流分組策略為:
通過i,j,k三個0-1變量即可標識船舶的運動狀態(tài)。例如,對于船舶編號為n的船舶,
2.分析船舶在復式航道水域交叉的關鍵點
所述復式航道水域交叉的關鍵點為復式航道水域交通流交差時,屬于不同交通流的船舶匯聚的點。
本實施例以天津港復式航道為例,根據(jù)圖3所示,對于在主航道航行的船舶(白色箭頭所示)與在小船航道航行的船舶(黑色箭頭所示)在39號燈浮附近,進入北航道的時候會合流,因此船舶在此處的交通流會重新組合。而對于進港靠泊東突堤以西港區(qū)的交通流如圖4所示,39號燈浮處即為復式航道水域交叉的一個關鍵點。
同理,根據(jù)實施例天津港航道走向,在航道歷程為9+000附近處以28°角分叉,將航道分為北航道和南航道分分支,此處也為復式航道水域交叉的一個關鍵點,有兩股交通流在這里交叉為:即北航道出港船舶與主航道交叉。
如圖5所示,在北航道與主航道的交叉水域中,主要有3股船舶交通流交叉:
第1股交通流:進港船流與北港池出港船流交叉,如圖5編號①;
第2股交通流:北港池出港船流與南港池出港船流交叉,如圖5編號②;
第3股交通流:靠泊南11#——15#泊位的船舶與主航道出港船流交叉,如圖5編號③。
如圖6所示為進港靠泊南疆港區(qū)16#——南31#泊位的船舶需要穿越航道的分隔帶,與出港的交通流形成交叉。
3分析超大型深吃水船舶通航要求
根據(jù)船舶等級劃分的標準,超大型船舶是指分級中的classa類船舶,由于這類船舶的噸位、船寬和吃水的限制,對于其進出復式航道只能采取主航道單向進出港的方式且必須考慮乘潮水位問題,所以對于這類船舶需要優(yōu)先調(diào)度。
s300、建立復式航道水域的船舶交通組織優(yōu)化數(shù)學模型,根據(jù)復式航道水域的通航特點,綜合考慮復式航道水域的物理條件、氣象、水文等特點,建立復式航道水域的船舶交通組織優(yōu)化數(shù)學模型,包括建立以總等待時間和總調(diào)度時間最小的目標函數(shù)模型、特殊類船舶約束數(shù)學模型、航行過程約束數(shù)學模型、船舶交叉協(xié)調(diào)約束模型。本實施例中具體包括:
1.構建復式航道水域船舶交通組織優(yōu)化模型的目標函數(shù)
經(jīng)過對復式航道水域交通管理部門的現(xiàn)場調(diào)查發(fā)現(xiàn),港口調(diào)度部門對于船舶交通組織優(yōu)化的結果在于作業(yè)過程的調(diào)度花費時間最少;而營運船舶和輪泊作業(yè)公司希望船舶在復式航道水域的等待時間最少。為了滿足不同調(diào)度利益體的不同需求,在一個調(diào)度序列中,以船舶在復式航道水域總調(diào)度時間最少和船舶總等待時間最少的多目標函數(shù)。進一步地,所述目標函數(shù)為:
其中,總調(diào)度時間z1表示每艘船舶的調(diào)度完成時刻減去調(diào)度開始時刻的差值。fi表示船舶調(diào)度結束時刻,si表示船舶調(diào)度開始時刻。總等待時間z2表示每艘船舶在申報以后,等到加入調(diào)度隊列作業(yè)之前的時間。bsi表示船舶調(diào)度開始之前的申報時刻。
2.特殊類船舶約束數(shù)學模型:
根據(jù)表1將船舶等級進行劃分的結果,確定船舶通過主航道和小船航道進出港完成作業(yè)的分級標準。
首先對船舶編隊進行劃分,為了將不同去向和來向的交通流進行分類,需要按照船舶等級以及交通流的流向進行劃分。在調(diào)度模型中,為了方便表示,依據(jù)運籌學的相關規(guī)范,采用
特殊類船舶約束數(shù)學模型的步驟包括:
步驟1、建立classa類船舶優(yōu)先編隊約束模型,對于a類船舶而言,由于吃水和潮位的限制,依據(jù)港口規(guī)則,對這類船舶在滿足其作業(yè)安全的要求下,需要優(yōu)先安排其進出復式航道。對于這類船舶的交通組織的約束模型如下:
其中,對于出港的a類船舶優(yōu)先調(diào)度表示為:
對于進港的a類船舶優(yōu)先調(diào)度表示為:
步驟2、鑒于a類船舶需要在港口乘潮的情況下通過復式航道水域,構建了在漲落潮階段的潮位約束模型如下:
其中,
3.構建航行過程約束模型
船舶在復式航道水域的調(diào)度過程是一個連續(xù)不間斷的,船舶一旦確定了開始調(diào)度的時刻,船舶開始運動直到在復式航道水域的作業(yè)過程完成前是一個連續(xù)過程問題。因此,對于船舶在復式航道水域的關鍵節(jié)點的航行過程約束是非常重要的。本實施例中,依照海上交通工程學的相關理論,建立針對天津港復式航道的船舶交通組織,設計相關的航行過程約束。在航行過程約束中,針對一些航行過程控制的關鍵階段及天津港復式航道特點,主要關注的約束節(jié)點有:船舶開始進入航道時刻、船舶抵達天津港復式航道水域22號燈浮、船舶抵達天津港復式航道水域39號燈浮以及船舶在y字航道口等4個關鍵節(jié)點。在此關鍵階段中的航行過程的約束模型如下:
a.船舶進入航道的時刻,即船舶經(jīng)過第一端節(jié)點進入巷道時:
其中,
b.船舶抵達22號燈浮附近,即經(jīng)過第一個交叉節(jié)點時:
其中,
c.船舶抵達39號燈浮附近的時刻,即經(jīng)過第二個交叉節(jié)點時:
其中,
d.船舶抵達y字航道口門的時刻,即經(jīng)過第二端節(jié)點離開航道時:
其中,
4.構建船舶交叉協(xié)調(diào)約束模型:
當船舶在天津港復式航道水域的39號燈浮、警戒區(qū)內(nèi)的交叉以及y字航道口附近航行時,由于進出港船舶的去向不一,船舶在此區(qū)域會形成交叉的局面,船舶交通組織的一個關鍵就是解決船舶在此區(qū)域的交叉會遇問題。為此,建立交叉協(xié)調(diào)約束模型如下:
a.39號燈浮附近的協(xié)調(diào)避讓
在39號燈浮附近存在主航道進港船舶與小船航道進北港池的船舶交叉、主航道航行進港靠泊南港池的船舶與出港船舶之間的交叉這兩類船舶的交叉,其中:
(1)主航道進港船舶與小船航道進北港池的船舶交叉
主航道船舶與小船航道航行的船舶會在39號燈浮附近交叉,此時主航道的船舶應該與小船航道的船舶之間保持一個安全間距twi。
(2)主航道進港船舶靠泊南港池與出港船舶的交叉
主航道航行的船舶靠泊南疆港區(qū)的16#以外的泊位的船舶與出港的船舶會形成交叉。對于這類船舶由于需要穿越主航道與出港船舶之間形成交叉,因此在這之間需要保持一個異向航行船舶的安全間距
b.y字航道口的協(xié)調(diào)避讓
(1)進港船舶交通流靠泊南港池與北港池出港船舶交通流的交叉
對于進港靠泊南港池的船舶會與北港池出港的船舶在警戒區(qū)形成交叉的情況,具體見圖5編號①。對于這種情況的交叉我們只需要增加一個異向安全間距即可協(xié)調(diào)船舶之間的沖突。
(2)北港池出港船舶與南港池出港船舶交叉
s400、獲取不同類型船舶進出復式航道水域的速度變化方程,利用船舶進出復式航道水域的動態(tài)ais數(shù)據(jù)進行挖掘和篩選,得到不同類型船舶進出復式航道水域的速度變化方程。
當船舶進入復式航道水域中,會根據(jù)交通流狀況、vts人員的指揮以及船舶操縱性的要求,其速度會不斷變化。傳統(tǒng)的方法主要采用平均值或加權平均法對船舶在航道中的速度用于調(diào)度模型的計算,而復式航道相比單雙向航道其速度變化更大、難以準確描述船舶在關鍵階段的速度變化。本發(fā)明對船舶進出復式航道水域的船舶動態(tài)ais數(shù)據(jù)進行挖掘,找到不同噸位和不同類型的船舶在進出復式航道水域的普遍速度變化規(guī)律。其步驟包括:
步驟1、基于ais數(shù)據(jù)的屬性進行分組數(shù)據(jù)挖掘,得到符合需要的ais數(shù)據(jù)。
ais(船舶自動識別系統(tǒng)automaticidentificationsystem)數(shù)據(jù)采樣分布不均勻且ais數(shù)據(jù)點不完整,不能反映船舶進出復式航道水域的全過程,因此需要對ais數(shù)據(jù)進行挖掘,得到符合需要的ais數(shù)據(jù)。由于船舶種類眾多,船型、長度、載重噸差別很大,本發(fā)明僅針對于特定類型的散雜貨、油船、以及集裝箱船舶進行的速度統(tǒng)計,因此需要將ais信息中的小船(如引航船、漁船、公務船等)信息去掉。
首先,根據(jù)需要對統(tǒng)計的對象進行分組,本發(fā)明按照船舶的噸位、船長和船舶類型進行分組,根據(jù)《海港總平面規(guī)范》附錄一中的船舶分級標準確定。從中可以找到噸位和船長的依據(jù),而船舶類型主要分為了散雜貨船、集裝箱船以及油船,存儲其類型。
其次,采用先根遍歷一次篩選出的數(shù)據(jù),并根據(jù)船舶的mmsi編號判斷動態(tài)數(shù)據(jù)是否是同一艘船舶,并將同一艘船的動態(tài)數(shù)據(jù)進行記錄。
然后,根據(jù)動態(tài)數(shù)據(jù)的條數(shù)的大小進行由高到低的排序,以方便后續(xù)的操作。
步驟2、對步驟1得到的數(shù)據(jù)進行篩選,篩選步驟包括:數(shù)據(jù)清洗、初步篩選以及精細篩選。
在對數(shù)據(jù)分組的時候并沒有對數(shù)據(jù)表中的數(shù)據(jù)進行任何的清理,因此不符合常規(guī)的數(shù)據(jù)也一并存入這個表中,需要對不符合要求的數(shù)據(jù)進行篩選,具體包括:
數(shù)據(jù)清洗,針對本實施例而言,刪除速度小于0的或異常大的速度值(港口附近的速度值一般不會大于30節(jié)以上);刪除精度大于180°,緯度大于90°的值;
初步篩選,首先確定港口所在水域的邊界坐標,本實施例中天津港的主航道附近水域的坐標為(28°51.924′n,118°07.812′e)以西區(qū)域。另外,相同噸位等級的船舶船長還有一定的差別,而且不同的船舶??康牟次灰膊煌?,且泊位距離航道出口距離的遠近也有差別,必須去掉船長和泊位遠近的因素以便于統(tǒng)計。具體操作方法如下:根據(jù)船舶操縱學的知識,將船舶進港劃分為4個階段(高速階段、中速階段、低速階段和制動階段),而這些階段的劃分是根據(jù)船舶此時所處位置距離泊位的遠近來確定的。因此,我們以船舶靠泊的泊位為起點,以船舶當前的經(jīng)緯度坐標的點為終點,計算出船舶與泊位之間的距離等效為船長的倍數(shù):
其中,δd表示船舶當前位置與泊位之間的距離等效為船舶長度的倍數(shù);length表示船舶船長;d表示船舶當前位置與泊位之間的距離;
精細篩選,經(jīng)過初步篩選后,還需要對船舶進港/出港進行判別,以及對于速度采集密集點和ais記錄不完整的點進行刪除。
進出港的識別:首先確定天津港復式航道的真方位,記為
速度密集點的刪除:由于不是等間隔時間采樣,ais數(shù)據(jù)點出現(xiàn)了不連續(xù)等情況,當船舶處于高速和中速階段,航速的變化不大,而這些條密集的點會對統(tǒng)計造成干擾,因此對于速度變化小的點需要刪除,以保留能夠反映船速變化的數(shù)據(jù)點,以便于統(tǒng)計的需要。本發(fā)明通過對前后兩點的速度差除以這兩點之間的時間間隔,求出船舶的變化率,當變化率小于設定的閾值時,則刪除前一個點,當大于設定的閾值時,則保留這兩個點。
步驟3、根據(jù)經(jīng)過步驟2篩選得到數(shù)據(jù),建立的不同類型船舶進出復式航道水域的速度變化方程。本實施例采用天津天津港復式航道交通流數(shù)據(jù)進行分析和驗證:
如圖7所示為萬噸級散雜貨船進港和出港速度分布曲線,擬合曲線方程為:
進港:y=-0.0015x2+0.2757x-0.0646,r2=0.9485
出港:y=-0.002x2+0.3221x-0.2369,r2=0.8946
如圖8所示為5萬噸級散雜貨船進港和出港速度分布及擬合曲線,曲線擬合公式為:
進港:y=-0.0019x2+0.286x+0.5196,r2=0.8717
出港:y=-0.002x2+0.2858x+0.9005,r2=0.6844
圖9是10萬噸級散雜貨船和油輪進港和出港速度分布及擬合曲線,曲線擬合公式為:
進港:y=0.0006x2+0.0331x+1.6253,r2=0.8271
出港:y=-0.0008x2+0.2093x-1.1516,r2=0.8618
圖10是小型集裝箱船舶進出港速度分布及擬合曲線,曲線擬合公式為:
進港:y=-0.0012x2+0.2296x+0.1923,r2=0.8412
出港:y=-0.0012x2+0.2302x-0.0922,r2=0.8338
圖11是中型集裝箱船舶進出港速度分布及擬合曲線,曲線擬合公式為:
進港:y=-0.0015x2+0.243x+0.6363,r2=0.8845
出港:y=-0.0009x2+0.2212x+0.1986,r2=0.8645
圖12是大型集裝箱船舶進出港速度分布及擬合曲線,曲線擬合公式為:
進港:y=-0.001x2+0.2123x+0.9508,r2=0.8754
出港:y=-0.0008x2+0.2124x-0.3553,r2=0.8658
s500、采用多目標遺傳算法對所述復式航道水域的船舶交通組織優(yōu)化數(shù)學模型及所述不同類型船舶進出復式航道水域的速度變化方程模型進行求解,并對復式航道水域的船舶交通進行優(yōu)化。
根據(jù)復式航道水域的船舶交通組織優(yōu)化模型具有約束條件多、規(guī)模大的特點,同時結合復式航道水域的實際作業(yè)需求,針對性的設計了復式航道水域船舶交通組織優(yōu)化數(shù)學模型的多目標遺傳算法,該算法包括:染色體的四層編碼與解碼、適應度函數(shù)設計、序值分配和擁擠距離計算與選擇、交叉與變異算子設計。
編碼與解碼設計:本發(fā)明采用四層染色體編碼的方法表示船舶的各種屬性。其中,第一層編碼表示船舶的編號,編號采用自然數(shù)的編碼方法,可以很清楚知道調(diào)度的具體是哪一艘船舶;第二層編碼表示船舶的進出港方向,進港為1,出港為0;第三層編碼表示船舶采用的進出航道,船舶采用主航道進港為1,采用小船航道為0;第四層編碼表示船舶所在泊位的區(qū)域,泊位在北港池的為1,泊位在南港池和閘東航道的為0。
例如,如果一艘編號為5的船舶采用主航道進港,泊位所在的區(qū)域為北港池,則編碼表示為:(5,1,1,1);編號為29的船舶采用小船航道出港,所在的泊位為南港池區(qū)域,則編碼表示為:(29,0,0,0)其余船舶編碼方法與上述類似,不在贅述。
編碼與解碼是一個互為逆的一個過程,根據(jù)上述四層染色體編碼的方法可以知道,染色體解碼可以根據(jù)船舶的編號得到調(diào)度序列、進出港方向、采用的主航道還是小船航道的通航模式以及所在泊位是北港池區(qū)域還是南港池區(qū)域。本發(fā)明所采用的編碼方法,無需復雜的解碼方法便可以得到需要的信息,便于以自然數(shù)和實數(shù)為特征的求解。
適應度函數(shù)設計:本發(fā)明構建的調(diào)度數(shù)學模型的目標函數(shù)是總調(diào)度時間和總等待時間最小。對調(diào)度時間和等待時間兩個目標函數(shù)而言,在選擇的過程中,目標函數(shù)值越小,調(diào)度用時越少,所選擇的個體越好,其對應的適應度值應該越大。但在具體的調(diào)度中,應避免出現(xiàn)某一船舶等待時間過長的情況,因此需要設置一個等待時間閾值。其具體方法為:首先計算船舶的等待時間,如果等待時間超過設定的最大等待時間閾值,則降低這艘船舶的適應度值,使得其被選中的概率降低。通過這種方式,引導算法對優(yōu)秀個體的保留,防止算法從一開始就陷入了局部最優(yōu)解的局面。本申請中適應度函數(shù)為等待時間的倒數(shù)。
序值分配設計:在多目標優(yōu)化問題中,序值為根據(jù)個體之間子目標函數(shù)值的情況,將個體賦予不同的序值,從而把個體分配到不同的前端。對于本申請所述復式航道船舶調(diào)度優(yōu)化問題來說,每一個個體代表一個染色體,即一個船舶調(diào)度序列。該個體有兩個目標函數(shù)值,分別是總調(diào)度時間最短以及總等待時間最短。
如果個體p至少有一個目標比個體q的好,而且個體p的所有目標都不比個體q的差,則個體p支配個體q,那么個體p的序值比個體q的低,反之,則p的序值比個體q的高。如果個體p和個體q互不支配,則個體p和個體q有相同的序值。序值為1的個體屬于第一前端,序值為2的個體屬于第二前端,依此類推。因此,在當前種群中,第一前端的個體是完全不受支配的,第二前端的個體受第一前端個體支配。如此,通過序值,將種群中的個體分配到不同的前端。如圖13所示,序值rankcounter的分配從1開始,依次加1,直到所有體都分配序值為止。分配序值時,依次將種群中未分配序值的個體p與其他未分配序值的個體q進行比較,若該個體p支配個體q,則把當前序值rankcounter賦予個體p,否則,不能賦予個體p當前序值,個體p參與下一次序值分配,即等到下一個rankcounter再被賦予序值。
擁擠距離設計:擁擠距離指某前端中某個個體與該前端中的其他個體之間的距離,表征個體間的擁擠程度。只有處于同一前端的個體之間才需要計算擁擠距離,擁擠距離越大,個體間就越不擁擠,種群的多樣性就越好。如圖14所示,對多目標中的每一個目標,分別計算一次擁擠距離,再將這些擁擠距離相加即得到最后的擁擠距離。在每個目標對應的擁擠距離計算過程中,前端兩頭的兩個個體的擁擠距離為無窮(inf),其余個體的擁擠距離為與該個體相鄰的前后兩個個體在(-1,1)區(qū)間映射后的適應度值之差。其中,相鄰個體指同一前端中個體間適應度值大小接近。顯然,某個個體的擁擠距離越大,表示該個體與相鄰個體的適應度值差別越大,種群的多樣性就越好。因此,在序值相同的條件下,個體的擁擠距離越大越好。
選擇算法:選擇采用輪盤賭算法。他的基本思想是個體被選中的概率與其適應度函數(shù)值成正比。設群體大小為n,個體i的適應度為fi,則個體i被選中遺傳到下一代群體的概率為:
交叉算子:交叉算子采用單點交叉,具體過程如下:選擇某個點,然后以此分為左右部,兩個基因的左右部互相交換基因序列。例如,染色體a的基因為1201,染色體b的基因為4110,以第三個點作為分界,則交換后的新基因為:1210和4101。
變異算子:變異算子采用隨機單點位的突變方法。具體過程:對于染色體中的每一個基因位pj(p代表一條染色體,j代表染色體中每一個基因位位置,其中j∈(1,2,3,4)。隨機產(chǎn)生一個0到1的小數(shù),若該隨機數(shù)小于所設置的變異值,則該基因位的值變?yōu)?-pj。
如圖16所示,為優(yōu)化算法流程圖,其中初始種群中的不同染色體代表不同的船舶調(diào)度序列,每條染色體計算相應的目標值,目標值取倒數(shù)轉換為相應的適應度值。適應度值進行序值排序和擁擠距離計算,計算出的用于選擇算子,選擇算子選擇出的染色體種群再依次經(jīng)過交叉、變異算子,生成新的一代種群。本發(fā)明中每一個種群包含許多染色體,每一個染色體代表一個調(diào)度序列方案。一條染色體上的基因位的個數(shù)和調(diào)度的船舶數(shù)相等,一個每個基因位都由四個部分表示,如14110,14代表編號為14的船舶,1代表進港,下一個1代表采用主航道,最后的0代表泊位在南港池。
下面通過具體實例,將本發(fā)明提出的多目標遺傳算法與常用算法進行對比,對本發(fā)明算法的性能做出說明。
為了能夠直觀的評價算法的性能,調(diào)度中常用“先到先服務規(guī)則”、“隨機生成模擬數(shù)據(jù)的算法”作為對比的標準來評價算法的優(yōu)劣性。
先到先服務規(guī)則(fcfs):先到先服務規(guī)則最早在集裝箱泊位分配中大規(guī)模使用。本文中先到先服務規(guī)則是指船舶按照申報的時間先后順序安排進港,不考慮優(yōu)先級,所有船舶進出港享有相同的機會。
隨機生成模擬數(shù)據(jù)的算法(random):隨機生成模擬數(shù)據(jù)的算法主要是用于檢驗算法的魯棒性,用于改進算法的冗余性。
首先設計幾組調(diào)度數(shù)據(jù):
1.|v|=20,(|v1|=10;|v2|=10),總調(diào)度船舶20艘,進港10艘,出港10艘。
2.|v|=30,(|v1|=15;|v2|=15),總調(diào)度船舶30艘,進港15艘,出港15艘;
3.|v|=40,(|v1|=20;|v2|=20),總調(diào)度船舶40艘,進港20艘,出港20艘;
4.|v|=50,(|v1|=25;|v2|=25),總調(diào)度船舶50艘,進港20艘,出港20艘;
對于每個調(diào)度場景分別采用本發(fā)明算法、random和fcfs算法運行10次,得到的結果如表2所示:
表2幾種算法實例的比較
表2中的類別1表示總調(diào)度時間(第一目標函數(shù)值)、類別2表示總等待時間(第二目標函數(shù)值)。橫向來看,當隨著船舶艘次的增加,算法的總調(diào)度時間和總等待時間逐漸增加,分別從每個算法的效率來看,本發(fā)明算法的效率明顯比隨機生成算法和fcfs的效率高。縱向來看,在一個調(diào)度序列中,船舶用于調(diào)度作業(yè)的時間比等待時間要多,說明整個港口運行在正常的范圍內(nèi)。隨著船舶總數(shù)的增加,等待時間增加更快。根據(jù)random算法來看,船舶在30-40艘船之間的效果較好,說明本發(fā)明算法在一個調(diào)度時間序列的船舶艘次30-40算法的魯棒性最好,當超過40艘船以后算法的魯棒性開始變差,船舶艘次增加到50的時候,算法等待時間大幅度增加,說明算法已經(jīng)出現(xiàn)了不適應性,求解難度增加。
下面通過具體的調(diào)度實例對本發(fā)明的整體方案做進一步說明。
首先讀取表3中的前30組調(diào)度數(shù)據(jù),在對這30艘船進行調(diào)度之前,首先根據(jù)船舶申報位置對船舶進行分組,分成進港隊列和出港隊列,同時對分組的船舶進行編號和劃分不同的類別。分組的數(shù)據(jù)如表4和表5所示。
表330艘船的實際調(diào)度數(shù)據(jù)
表4出港隊列編號
表5進港隊列編號
調(diào)度結果如表6和表7所示:
表6主航道船舶調(diào)度序列
表7小船航道船舶調(diào)度序列
由表6-7可知,主航道船舶的調(diào)度序列中,pareto1-pareto10中前面四艘船舶的調(diào)度序列是一致的,造成這個結果的原因在于這四艘船舶的申報時間和進出港時間是錯開的,彼此之間相隔的時間間隔比較大,同時航道水深也滿足其通過對要求,因此沒有協(xié)調(diào)的必要。而編號27,21,26的主航道航行的三艘船舶申報時間差不多,因此它們進出港之間需要協(xié)調(diào)。同樣的情況出現(xiàn)在船舶編號9,28,29這三艘船舶之間。而編號11的船舶由于其只能采取單向進港,同時與編號16,5,22,6,23號船舶之間需要協(xié)調(diào),但是遵循大船優(yōu)先的原則,11號船舶需要優(yōu)先調(diào)度。最后編號1,7的船舶之間不需要協(xié)調(diào),查詢其申報時間,都是進港船舶,且采取單向進港。對于采取小船航道航行的船舶,編號24,14,18,3號船舶之間不需要協(xié)調(diào)避讓,編號13,17,2,15,19這5艘船舶申報時間間隔相近,且與主航道船舶之間存在沖突,需要對其安排合理的進出港秩序。
表810組調(diào)度實驗對比結果
從表8可以看出,10組調(diào)度試驗中,第一目標函數(shù)值要遠小于第二目標函數(shù)值,且第一目標值分布比較集中,如圖17所示,第一目標和第二目標種群變化最開始集中在兩端,當算法穩(wěn)定是,主要集中在兩者中間區(qū)域,這說明算法能夠在一定范圍內(nèi)尋優(yōu)。從圖18可知,第一目標比較集中,主要調(diào)度時間在1300分鐘左右。而總等待時間差別比較大,這說明總調(diào)度時間和總等待時間是一個矛盾的存在,在調(diào)度中pareto2和pareto9的解的效果比其余的要好。同時,從表8后半部分的比較來看,小船航道的船舶的平均等待時間要比主航道船舶的平均等待時間要長,這符合調(diào)度的規(guī)則。圖19-21所示,分別為主航道船舶用時的最小值,平均值和最大值,發(fā)現(xiàn)小船航道的船舶在這三個方面用時都要比主航道的船舶用時長,符合港口調(diào)度規(guī)則。
最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質(zhì)脫離本發(fā)明各實施例技術方案的范圍。