臧繼明
(江蘇海事職業(yè)技術學院 航海技術學院,江蘇 南京 211170)
船舶在不同海域航行時,受風浪、能見度等眾多因素影響[1],采用固定航線航行時,容易由于環(huán)境因素影響船舶的航行安全[2]。為了保障船舶順利、安全到達目的地,需要制定科學、合理的航線,滿足船舶的安全航行需求[3]。如何獲取船舶的最優(yōu)航行路線,是海洋領域的研究重點。數(shù)據(jù)驅動指利用軟件、網(wǎng)絡等手段采集數(shù)據(jù),以海量數(shù)據(jù)為基礎,從中挖掘有用數(shù)據(jù),利用數(shù)據(jù)挖掘結果驅動不同應用順利進行的重要方法。數(shù)據(jù)驅動方法可以實現(xiàn)海量數(shù)據(jù)的統(tǒng)計、分析、評估與利用,為船舶航行優(yōu)化等應用提供數(shù)據(jù)基礎。利用數(shù)據(jù)驅動方法的數(shù)據(jù)分析、統(tǒng)計與評估結果[4],為海洋等不同領域應用提供優(yōu)化策略。將數(shù)據(jù)驅動方法應用于船舶航線優(yōu)化中,具有較強的現(xiàn)實意義。
目前已有眾多學者針對船舶航線規(guī)劃問題進行研究。黃佳佳等[5]考慮化學品船舶航行的特殊性,設置了貨艙禁止更換的約束條件,構建化學品船航線規(guī)劃的線性規(guī)劃模型,通過模型求解獲取化學品船的航線規(guī)劃結果。該方法滿足帶貨艙船舶規(guī)劃需求,令化學品船通過航線規(guī)劃結果,獲取最大利潤。吳恭興等[6]對船舶航線規(guī)劃時,充分考慮了氣象變化對船舶航行的影響,設置氣象參數(shù)作為船舶航行規(guī)劃的路徑代價函數(shù),利用啟發(fā)式函數(shù)獲取規(guī)避風險的航線。該方法有效避開高風險的危險海域,實現(xiàn)船舶航線參數(shù)的有效規(guī)劃。以上方法雖然可以有效規(guī)劃船舶航線,但是存在運算過程過于復雜,影響船舶規(guī)劃實時性的缺陷。針對以上方法在航線規(guī)劃中存在的問題,研究基于數(shù)據(jù)驅動的航線實時優(yōu)化方法。利用數(shù)據(jù)挖掘方法聚類處理影響船舶航行的相關數(shù)據(jù),利用聚類結果驅動航線優(yōu)化應用。采用數(shù)據(jù)驅動方法獲取的航線優(yōu)化結果,保障所生成的航線滿足船舶航行的實際需求。
船舶航行前確定航線時,需要明確船舶航行區(qū)域海況?;跀?shù)據(jù)驅動的船舶航線實時優(yōu)化流程如圖1所示。
圖1 船舶航線實時優(yōu)化流程圖Fig.1 Flow chart of real-time optimization of ship routes
可以看出,利用數(shù)據(jù)驅動方法構建海況知識庫。依據(jù)海況知識庫內(nèi)的海況信息與轉向點,將船舶航線劃分為不同航段,是航線優(yōu)化的前提。利用海況知識庫與轉向點信息構建航線分段模型,將航線轉向點信息、海況預報信息等信息輸入分段模型中,識別船舶航行海況,將航線劃分為不同的航段。確定船舶航行的航段后,輸入航程、航行參數(shù)、航速等信息,利用航線實時優(yōu)化模型,實現(xiàn)航線的實時優(yōu)化。利用數(shù)據(jù)驅動方法定期更新航線的海況信息,根據(jù)海況信息更新結果實時優(yōu)化船舶航線。
利用海量的海況數(shù)據(jù),構建船舶航線優(yōu)化的海況知識庫。提取船舶目標航線所在海域,船舶定航線航行的歷史數(shù)據(jù);利用天氣預報中心下載航線所在海域的風速、風向、波高等數(shù)據(jù)[7];利用計程儀獲取船舶航行的歷史流速、流向等數(shù)據(jù);利用GPS 系統(tǒng)采集船舶的對地航速與航行矢量等數(shù)據(jù)。依據(jù)時間序列,整理所采集的船舶航行相關的海況數(shù)據(jù),構建海況數(shù)據(jù)庫。為了明確待優(yōu)化船舶航線的海況類別,將所構建的船舶航線海況知識庫,作為確定海況的訓練樣本。依據(jù)數(shù)據(jù)驅動方法,利用K-means 聚類算法,對船舶航行海況數(shù)據(jù)聚類構建海況知識庫。海況知識庫的構建過程如下:
步驟1 從采集的海量海況數(shù)據(jù)中,隨機選取K個海況數(shù)據(jù),作為構建海況知識庫的聚類中心ci。
步驟2 計算聚類中心ci與海況樣本xi之間的距離,確定與聚類中心距離最近的海況數(shù)據(jù),將樣本xi與聚類中心ci劃分為相同類別。二者距離為:
式中,j表示海況樣本xi的特征屬性。
步驟3 選取某海況類別中,全部海況樣本的中心點,作為海況知識庫聚類的新聚類中心,新聚類中心的表達式為:
步驟4 重復以上過程,設置算法終止的收斂函數(shù)計算公式為:
重復運算直至收斂函數(shù)和聚類中心固定時,結束聚類,否則轉至步驟2 繼續(xù)計算。
通過以上過程,利用聚類結果構建海況知識庫。根據(jù)海況知識庫內(nèi)的船舶航線信息與航線轉向點信息,將船舶航線劃分為不同航段。
依據(jù)船舶航線的航段劃分結果,對不同航段的船舶航線進行實時優(yōu)化。選取船舶航行的總時間最短以及總油耗最低,作為船舶航線實時優(yōu)化模型的目標函數(shù),船舶航線實時優(yōu)化目標函數(shù)表達式為:
式中:G與T分別表示船舶航行的總油耗以及總航行時間,g(vi)與di分別表示船舶主機每日油耗以及第i段航線的距離,v1與v2分別表示第i段航線的對地航速以及對水航速,N與f(ξ)分別表示船舶航線的航段總數(shù)以及懲罰函數(shù)。
船舶對水航速與對地航速間的關系表達式為:
式中, ?vi表示船舶在航段i的航速損失。
船舶航行時,受海況影響,容易出現(xiàn)失速情況。受風浪波動影響,主機固定,航速較低時,航速變化為自然失速。船舶受風浪影響時,為了避免出現(xiàn)危險,需要有意減速。不同類型的航速變化,均可能導致船舶航行出現(xiàn)速度損失。船舶航行時的速度損失表達式為:
式中: α 與 β分別表示方向衰減系數(shù)與速度衰減系數(shù),δ表示船舶型號。
船舶主機油耗的計算公式為:
式中,a、b、c、d均為擬合系數(shù)。
為了使船舶航線實時優(yōu)化過程更加符合船舶航行的實際海況,為航線實時優(yōu)化模型設置如下約束條件:
1)船舶的實際航速v,需要低于船舶的額定航速(vmin,vmax),該約束條件的表達式如下:
2)船舶航線優(yōu)化的轉向點位置,需要與船舶航線圓航段的固定距離h垂直,約束表達式為:
式中,△di表示船舶航線優(yōu)化點i與基準點的間距。
式中: ? 與 φ 分別表示啟發(fā)因子與期望因子,allowed與 ηik(t)分別表示螞蟻可選取的全部船舶航行轉向點以及啟發(fā)函數(shù)。
蟻群算法通過迭代確定最短搜索路徑后,更新船舶航線轉向點之間的信息素。信息素更新公式為:
式中, ?τki j(t) 與 ρ 分別表示螞蟻在i與j之間的信息素增量以及揮發(fā)系數(shù)。
利用該算法求解船舶航線實時優(yōu)化模型時,無需更新全部螞蟻對模型求解的信息素,僅需更新部分具有最優(yōu)路徑的螞蟻信息素,保證了航線實時優(yōu)化的運算效率。
為了驗證所研究的船舶航線實時優(yōu)化性能,選取某海域某船舶的某航線作為優(yōu)化目標。待優(yōu)化船舶航線的目標船舶的參數(shù)設置如表1 所示。
表1 船舶參數(shù)設置Tab.1 Ship parameter settings
本文方法選取數(shù)據(jù)驅動方法構建船舶航線的海況數(shù)據(jù)庫。船舶航線在不同海況時,海況數(shù)據(jù)庫聚類結果如表2 所示??梢钥闯?,采用本文方法通過數(shù)據(jù)驅動方法,獲取船舶航線的海況數(shù)據(jù)。利用船舶航線的海況數(shù)據(jù),將航線劃分為不同的航段。
表2 海況知識庫聚類結果Tab.2 Clustering results of sea state category knowledge base
依據(jù)航線的航段劃分結果,采用本文方法對船舶航線進行實時優(yōu)化,優(yōu)化結果如圖2 所示??梢钥闯觯捎帽疚姆椒梢詫Υ昂骄€進行實時優(yōu)化。本文方法考慮了不同海況對船舶航行的影響,令航線優(yōu)化結果更加滿足船舶航行的實際需求。
圖2 船舶航線實時優(yōu)化結果Fig.2 Real-time optimization results of ship routes
為了進一步衡量本文方法的船舶航線實時優(yōu)化性能,統(tǒng)計采用本文方法對船舶航線進行實時優(yōu)化,優(yōu)化前與優(yōu)化后船舶的航行時間以及船舶航行的主機總油耗變化,統(tǒng)計結果如圖3 和圖4 所示??梢钥闯觯疚姆椒梢砸罁?jù)海況變化,對船舶航線進行實時優(yōu)化。本文方法優(yōu)化后的船舶航行時間與主機總油耗均低于優(yōu)化前,驗證本文方法的航線優(yōu)化性能。圖3 和圖4 的實驗結果,從船舶的航行總時間和主機總油耗2 個方向,全面驗證本文方法具有的航線優(yōu)化性能,本文方法為船舶的可靠運行提供了良好的基礎。
圖3 船舶航行時間Fig.3 Total sailing time of ships
圖4 船舶主機總油耗Fig.4 Total fuel consumption of ship main engine
數(shù)據(jù)驅動方法是智能算法中的重要技術,利用數(shù)據(jù)驅動方法,確定影響船舶航線優(yōu)化結果的海況數(shù)據(jù)。利用船舶海況數(shù)據(jù)聚類結果,構建船舶航行優(yōu)化模型,獲取科學、合理的、具有較高安全性的船舶航行路線。通過實驗驗證,采用該方法獲取的船舶航行優(yōu)化結果,船舶主機油耗低,降低了航行總時間,具有較高的實用性,適用于不同海況下的船舶航線優(yōu)化。