郎賓超
(交通運輸部北海航海保障中心天津航標處,天津 300456)
近年來,船舶航行的發展水平得到了較大提高。從技術角度來看,航行設備和技術的不斷更新和改進,為船舶航行提供了更多的支持和保障。現代化的航行儀器,例如雷達、自動化控制系統等,都在較大程度上提高了船舶的導航精度和安全性[1]。船舶航線路線選擇的意義在于確保船舶和貨物的安全和有效運輸,選擇合適的航線可以減少船舶在海上遇到自然災害風險,同時也可以降低航行時間和成本[2]。航線選擇需要考慮多種因素,包括天氣條件、海洋地理環境等[3]。正確選擇航線可以提高船舶和貨物的安全性,降低船舶運輸成本,具有較高的意義[4]。
有學者對導航路線規劃方法進行研究,王童等[5]提出基于分層深度強化學習的移動機器人導航方法,該方法應用強化學習方法,對機器人導航路線進行訓練,獲取最佳行走路線,但該方法無法進行遠程導航路線選擇,僅能夠在小范圍使用。胡湘蘭等[6]提出基于多目標進化算法的自駕游用戶導航規劃方法,該方法對多種行駛路線進行目標優化,獲取最佳軌跡,但該方法在選擇最佳路線時需要耗費大量的時間。
為解決上述方法中存在的問題,本文研究多航道下船舶最佳導航路線選擇方法,保障船舶航行安全穩定。通過選擇最優的航道,提高航行效率,降低船舶損失率。傳統意義上,船舶通常只能在單一航道上航行,而在多航道的情況下,船舶可以根據實際情況選擇最優的航道進行航行,以達到更高的效率和安全性。
在求解多航道下船舶的最佳導航路線之前,需要將所有航道處理為統一的等效長度。同時,需要考慮船舶航道的實際網絡狀態及其影響程度,以獲取相應的影響因子。此外,還要充分考慮船舶航行的風險性,并結合現實航行導航中存在的風險因素,例如導航有效寬度、高度、風向、風速以及水流速度等因素[7],分 別 將這 些 因 素設 為 α1, α2, α3, α4, α5,并 通過 下式對其進行計算:
式中:航行節點i與j的導航路線由Eij表示;Eij的影響因子系數為為包含影響因子狀態下經過導航路線Eij位置所需時間;為不包含影響因子狀態下經過導航路線Eij所需時間。
當獲取導航路線的影響因子后,可結合路線實際長度與影響程度系數計算得出當量長度,如下式:
式中;Ls為 實際測試到的導航路線長度。Ld為導航路線當量長度;根據計算結果繼續進行現場模擬分析,經反復模擬獲取Ls的平均值,并再次通過式(3)計算導航路線當量長度。計算航道起始點與目的地之間每個可通行航道相應的當量長度,并結合改進迪克斯特拉(Dijstra)算法尋找當量長度最小的路徑,將其作為多航道下船舶最佳導航路線。
Dijstra 算法是一種最短路徑搜索算法,該算法應用貪心策略,對兩點之間的最短路徑進行尋優。該算法假設每一點均存在一對標號其中,dj是指起始點s到目的地j的最短路徑長度,而從s到j的最短航線內的前一點為pj, 通過如下過程,求解起始點s到目的地j的最短航線。
步驟1初始化。設起始點:ds=0,ps為空,并將多航道上的其他點設為dt=∞,當針對不同點搜尋最佳導航線路時,pt不同;標記起始點,設k=s,并將其他點設為未標記狀態。
步驟2對全部已標記的點k和與其相連未標記的點j之間距離進行檢查,并表示為:
式中,Lkj表示點k到點j的直接連接距離。
步驟3搜尋下一個點,從全部未標記的點中,挑選dj值最小的點i,如下:
通過式(5)找到對應點i,并對其進行標記。
步驟4對點i的前一點進行尋找,并表示為點u,同時設i=u。
步驟5標記點i,若全部的點均完成標記,則完成最佳路線選擇,若未完成標記,則返回步驟1 繼續尋找。
通過這一算法的計算,可以有效獲取船舶的最佳航行路線,但隨著標記點增多,該方法循環次數也會延長,導致計算時間增加,為此,研究改進Dijstra 算法,快速實現船舶最佳導航路線選擇。
1.3.1 導航路線數據存儲與初始化
在進行多航道下船舶最佳導航路徑選擇之前,還需要采取有效方式,對路線選擇過程產生的數據進行存儲[8]。
1)標記節點集
該集合是指在導航路線選擇過程全部被選取過、途徑的節點集合,這些節點根據先后順序生成一個鏈表,以此反映最短導航路線信息。
2)待選擇節點
對仍未進行選擇,且即將進行選擇的節點進行存儲。
完成全部使用信息的存儲后,即完成最短路線選擇準備。
1.3.2 最佳導航路線選擇實現
由于傳統Dijstra 算法在計算過程中的效率不高,導致導航路線選擇需要耗費大量的系統內存,因此本文結合數據存儲與初始化,研究基于改進后的Dijstra 算法最佳導航路線選擇,具體步驟如下:
步驟1選擇起始節點,并搜尋與其存在連接的節點,將這些節點存儲為待選擇節點J,依次計算這些節點的方向夾角,假設待選擇節點坐標為 (x,y),初始節點坐標為目標位置節點坐標為 (xz,yz),此時,兩連線方向夾角可通過如下公式計算:
式中: θ表示導航路線總轉向角度,u1和u2依次表示初始節點與目標位置節點的方向夾角。通過方向夾角的計算,可在導航最短路線的基礎上,選取更合適的導航路線,當獲取夾角最小的節點,即將存放在標記節點集合中,將該節點作為新的節點開始下一節點選擇。
步驟2分析步驟1 選擇的節點是否為目標位置節點,若是,則完成路線選擇,否則繼續通過步驟1 選擇下一節點。
步驟3將全部搜索到的節點存儲到標記節點集中,并將該集合內的節點存儲為鏈表數據,實現最佳船舶導航路線選擇。
在電子海圖平臺對實際海洋環境進行模擬,在該環境下進行船舶最佳導航路線選擇,在實驗過程中,設計航行20 個節點,并規劃多條航道,對本文構建的航線選擇方法進行驗證。
選取1 號、2 號、8 號節點作為初始節點,分析這些節點分別到達15 號、19 號、20 號節點的導航路線結果,分析結果如圖1 所示。

圖1 最佳導航路線選擇結果分析Fig. 1 Analysis of the best navigation route selection results
可知,經過本文方法的選擇后,可有效獲取每一目標點到達目的地的最佳導航路線。其中,1 號目標點分別經過13 號點、16 號點到達15 號點,2 號目標點分別經過18 號點到達19 號點,而8 號目標點則經過9 號點、18 號點到達20 號點,每一條選擇的路線均保持最短航行距離,可在多條航道下保持最短航線行駛。
分析節點1 達到目的地點20 時,在不同風速風向及水流速度影響下,每一路線的當量長度情況,分析結果如表1 所示。

表1 每一路線的當量長度分析Tab. 1 Equivalent length analysis for each route
可知,在不同風速與水流速度下,本文方法均可快速、有效獲取起始點到目的地之間多航道路線的當量長度,通過分析可以看出,這些路線均在240~280 km 之間,并未存在較大差距,從這些路線中選取最短的導航路線,即為最佳導航路線。因此,本文方法可獲取每條航道線路的當量長度,為后續路線選擇提供有利依據。
選擇點4、點5、點7 節點作為目標節點,將其他點均作為目的地,分析應用本文方法選擇每一目的地最佳導航路線時所需的時間,分析結果如表2 所示。

表2 最佳導航路線選擇時間Tab. 2 Best navigation route selection time
可知,當將每一節點作為目的地節點時,本文方法均能夠快速實現最佳導航路線選擇,挑選出最合適的導航路線,且在選擇過程中,并未消耗大量的時間,其中,每一路線的選擇時間均在20 s 以下,說明本文方法具有良好的應用效果。
將1 號、2 號、3 號節點作為船舶航行起始點,分析每一起始點到不同目的地時的路徑長度與總轉向角度,以此驗證本文方法的路線選擇能力,分析結果如圖2 所示。

圖2 路線選擇能力分析Fig. 2 Analysis of route selection capability
可以看出,經過本文方法進行每一節點的導航路線選擇后,均可保持較低的航行路徑長度以及總轉向角度,說明該方法選擇的導航路線是最短路線,可有效降低船舶航行開銷。
本文研究多航道下船舶最佳導航路線選擇方法,衡量多航道下導航路線當量,從而選取最合適的船舶航行路線,并針對該導航路線選擇方法進行模擬測試實驗,分析該方法的應用效果,經過實驗測試發現,該方法具有良好的路線選擇能力。