摘要:針對多船會遇的避碰決策情況,采用大系統理論的目標分解協調法將本船與多船之間的轉向避碰幅度問題分解成多個獨立的優化子問題,通過協調器求出本船轉向避碰幅度的最優解。仿真結果表明,該方法不僅可以求解出多船會遇情況下本船的相對最優轉向角,也為多船避碰智能決策系統提供參考。
關鍵詞:水路運輸;避碰;分解協調法;轉向幅度;多船會遇
轉向避讓是海上船舶避碰決策過程中使用頻率最高的一種避讓措施。為了獲得合理、有效的轉向幅度,國內外學者對此已作了大量的工作,取得了一些可喜成果。但隨著航海事業的發展,特別是海上貿易運輸的頻繁往來,船舶遭遇碰撞、觸礁等意外事故時有發生,仍嚴重威脅著人員的生命安全和財產損失。為進一步提高船舶自動航行的安全性,降低駕駛員的駕駛疲勞程度,減少事故發生頻率,我們有必要對海上船舶避碰自動決策系統的新思想和新方法的做更多的研究。
目前,兩船避碰問題的理論和技術已經很成熟,而且對多船避碰問題也有了較多的研究成果,但是相比實際情況,還存在差距,需要進一步的提高和完善。為此,針對多目標船與本船會遇的復雜多變性,應用大系統理論的目標分解協調法,把多個來船與本船構成的復雜大系統分解成多個子系統,然后把目標來船相對本船構成的距離、方位、船速比、最短會遇距離(DCPA,Distance of Closest Point of Approath)和最短會遇時間(TCPA,Time to Closest Point of Approack)作為參數,將每個目標船和本船構成的子系統定義為一個子問題,再由協調器協調解決各個子問題的解,從而達到將全局優化問題轉變為局部多個子系統的遞階優化問題,最終從可行解空間中得到所需的最優解。仿真結果表明,對于多船會遇情況下本船最優轉向角的求解,大系統理論的目標分解協調方法是可行而有效的。
1船舶碰撞危險度的確定
碰撞危險度是劃分船舶會遇態勢與確定避讓時機的重要依據。目前,關于如何確定船舶碰撞危險度,國內外的專家和學者已經提出了許多方法。綜合前人的研究成果,以目標來船與本船構成的距離(D)、方位(B)、船速比(K)、最短會遇距離(DC-PA)和最短會遇時間(TCPA)作為參數,給出目標來船與本船所構成的碰撞危險度。
設與本船會遇的目標船數為n>1艘,uDCPAi、uTCPAi、uDi、uBi、uKi為目標船i各參數的危險隸屬度且屬于[0,1],i=1,2,…,n0則第i個目標船的碰撞危險度表達式為
fi(uDCPAi、uTCPAi、uDi、uBi、uKi)=aDCPAuDCPAi+aTCPAuTCPAi+aDuDi+aBuBi+aJuJi (1)
式(1)中,
d1,d2為船舶碰撞距離和注意距離,取值為
t1,t2為船舶碰撞時間和注意時間,取值為
D1為最遲避讓距離,D2為可以采取避讓措施的距離;C為碰撞角度(O≤C≤180º);W為常數,取W=2;aDCPA、aTCPA、aD、aB、aJ為目標船參數的權重,均屬于[0,1],且aDCPA+aTCPA+aD+aB+aJ=1。
從上述這些數學模型可以知道,不同目標船在不同的會遇態勢下,它們的碰撞危險度是不同的。
2目標函數模型
當多個目標來船與本船會遇時,本船怎樣根據會遇態勢,選擇最為合理有效的避讓角度,一直是人們研究船舶避碰的重點。這里,我們把多個目標來船與本船構成的復雜大系統分解成多個子系統,然后以目標來船與本船構成的距離、方位、船速比、最短會遇距離(DCPA)和最短會遇時間(TCPA)作為參數,把每個目標船和本船構成的子系統定義為一個子問題,使轉向避讓后的本船相對于每個目標船能滿足:
1.碰撞危險度降到最低。
2.轉向的角度最小。
則目標函數為
minLi(xi),i=1,2,…,n (2)
約束條件為:
fi(uDCPAi,uTCPAi,uDi,uBi,uJi)-Li(xi)>0 (3)
式(3)中,xi∈[30,180]是決策變量,表示轉向角度;Li(xi)為本船相對于第i個目標來船轉向xi角度后,與第i目標來船之間碰撞危險度的計算函數,i=1,2,…,n;fi(uDCPAi,uTCPAi,uDi,uBi,uJi)為本船轉向前與第i目標船的碰撞危險度。
3分解協調法在多船避碰中的應用
大系統理論的分解協調法主要有兩種基本形式,一種是目標協調法,一種是模型協調法。本文采用目標協調法來求解多船會遇時本船的最優轉向避碰幅度。
目標協調法用關聯約束方程的Lagrange乘子作為協調向量,在改變子問題目標函數的同時不斷修正子問題的目標函數,直到最優為止。對式(2)和式(3)的模型,作Lagrange變換為:
把式(4)中的λ作為協調向量,由第2級協調器給定初值,設為λ=λº。由于要求Lagrange函數是可加的,所以上述L可按可加性分解:
式(5)中,
Li=(λ+1)Li(xi)-λfi(uDCPAi,uTCPAi,uDi,uBi,uJi) (6)
這樣,在第2級中給定λº的情況下使第1級中的子問題Li(i=1,2,…,n)分別最優,即求minLi;在第2級中不斷修正λ以實現整體最優。這里,采用梯度形算法實現修正,
λj+1=λj+ηLλ (7)
式(7)中,
η>0為步長,j為迭代次數。目標協調法的具體算法為:
Begin:1)設置初始值λº,并令j=0;
2)由已知λj求解min Li,解出xij(i=1,2,…,n);
3)由式λj+1=λj+ηLλ算出Lagrange乘子λj+1,(i=1,2,…,n);
4)檢驗誤差δ=|λj+1-λj|,(i=1,2,…,n);
5)若δ≥ω(ω是預先設定的誤差閥值),則令j=j+1,并轉至第2步);
6)取x=max(x1j,x2j,…,xnj)為最優解。
這里,將目標分解協調法對多船避碰的目標函數分解成兩級進行。第1級,將整個問題按目標船個數分解成多個獨立的子問題;第2級,修正Lagrange乘子以協調和優化各子問題的目標函數。具體的結構形式如下圖1所示:
圖1目標分解協調法原理
4仿真
4.1仿真工具
采用Visual C++6.0作為仿真工具。VisualC++6.O是一個功能強大的可視化軟件開發工具。具有高效、易移植、可擴展等優點。模擬多船會遇態勢,設定初始狀態,建立仿真模型,通過對協調法進行程序化,進行仿真測試。
4.2仿真結果
仿真時,設定了3個目標船A、B、C,各初始狀態見表1,同時假定本船的航行方向為0º,航行速度為10 kn,各目標船參數aDCPA、aTCPA、aD、aB、aK相對于本船的權重都相等,針對這3個目標船,當與本船分別形成對遇、追越和交叉會遇3種碰撞態勢時,本船應采取的最優轉向避碰幅度可應用上述模型和算法算出。這里,取ε=0.0001,η=0.0001,λº=0.00001。
表1在不同會遇態勢下,本船相對多個目標船的轉向避碰幅度
目標船 |
與本船對遇 |
與本船追越 |
與本船交叉會遇 | ||||||||||||
方位/(。) |
航向/(。) |
徑距/n mile |
航速/kn |
避碰幅度/(。) |
方位/(。) |
航向/(。) |
徑距/n mile |
航速/kn |
避碰幅度/(。) |
方位/(。) |
航向/(。) |
徑距/nmile |
航速/kn |
避碰幅度/(。) | |
A |
358 |
145 |
3.00 |
10.29 |
右轉54.6 |
140 |
330 |
2.02 |
10.72 |
右轉43.6 |
70 |
260 |
5.50 |
7.72 |
左轉32.1 |
B |
3 |
245 |
2.54 |
10.29 |
170 |
300 |
1.62 |
10.72 |
75 |
275 |
3.00 |
10.72 | |||
C |
5 |
185 |
4.00 |
10.29 |
220 |
20 |
1.08 |
12.35 |
80 |
255 |
5.00 |
12.35 |
由表1可知,當多目標船與本船形成碰撞態勢時,應用大系統理論的目標分解協調法很容易在約束解空間中找到全局最優解,求出本船相對于目標船的最優轉向幅度角。
4.3仿真小結
本文的仿真是基于中小規模的避碰形勢。當目標船增加,形成了大規模避碰態勢時,圖1中第1級子系統數目就相應增加。對于此二級系統來說,系統層次并未增加,整體算法復雜度也未增加。因此,主規劃和子規劃間的嵌套調用的結構復雜度并未增加,整個系統的收斂性不受影響。唯一增加的是求解時間復雜度,但是目前高速計算機已經普及,只要采用合適的仿真軟件,對于仿真時間的影響可忽略不計。該方法不僅可解決單個目標船的避碰問題,也可解決多個目標船的避碰問題。
圖2在不同會遇態勢下,本船相對多個目標船的轉向避碰幅度
5結語
多船會遇情況下的船舶避碰問題,是許多研究人員研究船舶避碰所關注的重點。通過應用分解協調法來求解多船會遇局面下的船舶轉向避碰幅度,得到的仿真結果證明了這種方法的有效性和可行性。對比傳統的避碰方法,本文具有以下優點:
1.在多船會遇態勢時,具有碰撞危險度的情況下,本船相對目標船如何進行最優轉向避讓;
2.應用大系統理論的分解協調法簡化了復雜系統模型,快速的計算出本船最優轉向避讓幅度。
研究結果表明,該方法具有較好的收斂性和仿真實時性等特點,在實際工程運用中是具有一定的應用價值。
作者:鄒曉華1,吳潔2 來源:中國航海