, , ,
(大連海事大學 航海動態仿真和控制交通行業重點實驗室, 遼寧 大連 116026)
基于差分進化算法的散貨船“最后分艙裝載”計算
劉春雷,孫霄峰,吳海波,尹勇
(大連海事大學航海動態仿真和控制交通行業重點實驗室,遼寧大連116026)
為實現散貨船“最分分艙裝載”計算,根據其特點建立“最后分艙裝載”的優化模型,將其歸結為單目標約束優化問題并采用差分進化算法進行求解。以某25萬t散貨船為例進行實例計算:實例一為平均吃水變化較大時,利用傳統“縱傾力矩法”與上述方法計算得到的平均吃水和吃水差的誤差分別為1.026%及8.33%,0%及0%;實例二為平均吃水變化較小時,利用傳統“縱傾力矩法”與上述方法計算得到的平均吃水和吃水差的誤差分別為0%和2.17%,0%和0%。計算結果表明:上述方法不僅適用于平均吃水變化較小時的“最后分艙裝載”計算,而且適用于平均吃水變化較大時的計算,尤其是在平均吃水變化較大時可有效減小誤差。
水路運輸; 散貨船; 配載儀; 最后分艙裝載; 差分進化算法
Abstract: An optimization model for bulk carrier “Final Trimming” calculation is built according to the characteristics of the process. The trimming process is regarded as a single-objective optimization with constraints. The differential evolution algorithm is used to solve the problem. Two cases of trimming for a 250 000 tons bulk carrier are carried out for illustration. The first case, associated with large mean draft changes, shows that the deviations of mean draft and trim of draft are 1.026% and 8.33% by traditional “Trimming Moment Method”. The second case, representing the final trimming with only small mean draft change, shows that the deviations of mean draft and trim of draft are 0% and 2.17% by traditional method. On the contrary, the suggested method makes all the deviations zero in both cases, which means that the method can be effective for both general loading and final trimming.
Keywords: waterway transportation; bulk carrier; loading computer; final trimming; differential evolution algorithm
隨著航運業不斷發展,散貨船逐漸趨于大型化,這使得其進出港口時的吃水常受泊位水深的限制。散貨船裝載貨物時通常按預定的配載方案裝載,理論上可達到要求的浮態,但實際裝載時因裝載量和裝載位置與理論值不同,導致裝貨后的浮態與所要求的浮態有較大差別。因此,散貨船裝貨時通常會預留一部分貨物用于“最后分艙裝載”[1],使船舶最終的浮態滿足進出港要求。
目前針對散貨船“最后分艙裝載”的計算大多是使用Excel根據“加載100 t吃水法”[2]計算或根據“縱傾力矩法”[3]計算。這2種方法存在每厘米吃水噸數TPC和每厘米縱傾力矩MTC一直不變的假設,當平均吃水和吃水差變化較大時會產生較大的誤差。此外,文獻[4]采用“內點法”解決質量分配問題,將艙室簡化成方體,認為其重心是不依賴于載重量的,而實際上艙室是不規則體,其重心和載重量存在著一一對應的關系,這樣的簡化也會導致“最后分艙裝載”計算產生誤差。
針對以上不足,將散貨船“最后分艙裝載”歸結為單目標約束優化問題,建立散貨船“最后分艙裝載”的優化模型,并將差分進化算法引入到該優化模型的求解中,通過建立離線的艙容表實現散貨船的“最后分艙裝載”計算,提高計算精度。
“最后分艙裝載”結束后,船舶在重力和浮力的作用下能平衡漂浮于靜水面,此時可能同時存在橫傾和縱傾,但總滿足任意浮態下的平衡方程。船舶任意浮態平衡時所確定的平衡方程組[5]為
(1)


通常“最后分艙裝載”前船舶的浮態和各個貨艙的裝載情況是已知的;而“最后分艙裝載”結束后船舶處在一個平衡狀態,滿足船舶任意狀態下的平衡方程組(該平衡方程組為一個隱式非線性方程組)。這里主要使用差分進化算法求解該方程組,進而求出“最后分艙裝載”的貨物分配量,因此平衡方程組中的任何一個方程都可作為目標函數。但是,出于計算簡單考慮,根據平衡方程組中的第一式,以用于“最后分艙裝載”的貨艙總載貨量與總排水量變化量差值的絕對值作為目標函數,即
(2)
式(2)中:Mlast為分艙裝載后船舶總的排水量;M0為分艙裝載前除調整艙之外船舶總的排水量。
1.3約束條件
根據船舶平衡時所確定的浮態方程、每個艙室允許裝載的最大裝貨量和最小裝貨量,得到以下約束條件。
(3)
式(3)中:pimax為要調整的艙中第i個貨艙的最大裝貨量;xG0,yG0和zG0分別為調整吃水前除調整艙之外船舶重心的縱向坐標、橫向坐標及垂向坐標;xGi,yGi和zGi分別為要調整的艙中第i個貨艙重心的縱向坐標、橫向坐標及垂向坐標;xBlast,yBlast和zBlast分別為調整后所需的船舶浮心的縱向坐標、橫向坐標及垂向坐標。
差分進化算法具有結構簡單、可調參數少、收斂速度快和魯棒性強等特點。[6-8]該算法作為一類新興的優化算法,在處理單目標優化問題方面具有很強的優勢,已廣泛運用于科學研究和工程實踐當中,如控制器參數優化、濾波器設計、數據挖掘和石油化工等。[9]
差分進化算法是從一個隨機初始化的種群開始搜索,經過變異、交叉和選擇操作產生下一時刻的主種群;該過程重復進行,直到滿足停止條件。
差分進化算法中的個體即優化設計中的設計變量,個體上的每一維變量即為每個設計變量。每個個體的維數與設計變量相同。
1) 設計變量

(4)
2) 種群個體

(5)
式(4)和式(5)中:n為個體的維數;NP為種群規模。
初始種群應盡可能地覆蓋整個搜索域,用隨機方法產生,每個個體Xi的每一維生成方法為
xi,j=pjmin+rand(0,1)×(pjmax-pjmin)
(6)
式(6)中:rand(0,1)為一個位于0~1的滿足均勻分布的隨機數;pjmin,pjmax分別為初始化用于“最后分艙裝載”的貨艙中第j個貨艙載重量的最大值和最小值,取pjmin=-0.3pjmax,pjmax=1.3pjmax。
由于約束的存在,在計算每個個體目標函數值的同時還要計算個體的違反約束值[10],以區分可行個體與不可行個體。
計算每個個體的目標函數值為
(7)
計算每個個體的違反約束值,將約束條件改寫成式(8),其中gr(Xi)及hr(Xi)分別為不等式約束和等式約束;q及m-q分別為不等式約束的數量和等式約束的數量,這里q=2n,m=2n+2。
(8)
個體違反第r個約束的值表示為
(9)
式(9)中:δ為等式約束的容許誤差;δ的取值范圍為0.001~0.010。由此可得個體的違反約束值為
(10)
當G(Xi)=0時,Xi為可行個體;否則Xi為不可行個體。
對于種群中每個個體Xi,隨機生成3個互不相同的整數r1,r2,r3∈{1,2,…,NP},且要求r1,r2,r3,i互不相同,按照式(11)產生變異個體Vi。
Vi=Xr1+F·(Xr2-Xr3)
(11)
式(11)中:縮放因子F為正數,通常被限定在區間[0,1]內。
交叉操作按每個個體向量的分量進行。變異產生的變異個體Vi和目標個體Xi按式(12)進行交叉操作產生試驗個體Ui。
(12)
式(12)中:sn為隨機整數,滿足sn∈{1,2,…,n};對每個解個體需要產生一個sn;Cr為交叉概率因子,Cr∈[0,1]。
差分進化算法釆用的是一對一的貪婪選擇。這里使用自適應懲罰函數法[11]對目標個體和試驗個體的目標函數值及違反約束程度值進行處理,求得目標個體和試驗個體的修正目標函數值分別為F(Xi)及F(Ui),計算方法為:


3) 計算目標個體和試驗個體的距離分別為d(Xi)及d(Ui)。
4) 計算目標個體和試驗個體的懲罰項分別為p(Xi)及p(Ui)。
5) 按照式(13)和式(14)計算目標個體及試驗個體的修正目標函數值為
則選擇過程為
(15)
式(15)中:Xinext為下一代種群中第i個個體。
當問題達到所需精度時即可停止,這樣能明顯縮短計算時間。同時,進化代數T為另一停止準則,當所設精度不能達到所需時,只要進化代數超過給定的最大進化代數,進化即停止。
基于Visual Studio 2013開發平臺,采用C#語言編寫“最后分艙裝載”計算程序,其流程圖見圖1。
以某25萬噸級礦砂船為例,選擇1艙和9艙進行“最后分艙裝載”的實例計算。船舶主尺度為:垂線間長LPP=319.5 m;型寬B=57 m;型深D=25 m;設計吃水T=18 m;全船共有9個貨艙。

圖1 “最后分艙裝載”計算流程圖
貨物密度ρRHO=1 t/m3,分艙裝載前后平均吃水變化為ΔT=1.1 m。
該船“最后分艙裝載”前后的浮態和分艙前各貨艙的裝載量分別見表1及表2。使用傳統的“縱傾力矩法”和文中方法計算1艙及9艙的分貨量見表3。將此結果輸入到Onboard-Napa裝載計算機中得到平均吃水、吃水差和由此計算的誤差見表4。

表1 船舶初始浮態和預期最終浮態 m

表2 分艙前各貨艙的裝載量

表3 傳統方法、文中方法的計算結果 t

表4 傳統方法與文中方法計算結果對比
利用傳統“縱傾力矩法”得到的平均吃水和吃水差分別為3.86 m及-4.07 m,平均吃水和吃水差的誤差分別為1.026%及8.33%;使用文中方法得到的平均吃水和吃水差分別為3.90 m及-4.44 m,平均吃水和吃水差的誤差均為0%。
貨物密度ρRHO=1.584 t/m3,分艙裝載前后平均吃水變化為ΔT=0.23 m。
該船“最后分艙裝載”前后的浮態和分艙前各貨艙的裝載量分別見表5及表6。使用傳統的“縱傾力矩法”和文中方法計算1艙和9艙的分貨量見表7。將此結果輸入到Onboard-Napa裝載計算機中得到平均吃水、吃水差和由此計算的誤差見表8。

表5 船舶初始浮態和預期最終浮態 m

表6 分艙前各貨艙的裝載 t

表7 傳統方法、文中方法計算的結果

表8 傳統方法與文中方法計算結果對比
利用傳統“縱傾力矩法”得到的平均吃水和吃水差分別為18.64 m及-0.45 m,平均吃水和吃水差的誤差分別為0%及2.17%;使用文中方法得到的平均吃水和吃水差分別為18.64 m及-0.46 m,平均吃水和吃水差的誤差均為0%。
由上述2個算例可知:傳統“縱傾力矩法”僅在平均吃水變化小時誤差較小,在平均吃水變化較大時誤差會變大;文中方法不僅在平均吃水變化小時誤差較小,且在平均吃水變化較大時誤差也較小。
根據散貨船“最后分艙裝載”的特點建立散貨船“最后分艙裝載”的優化模型;基于散貨船的艙容表,使用差分進化算法對該模型進行求解。以某25萬噸級礦砂船為例進行實例計算,計算結果表明,文中方法不僅適合使用少量貨物進行“最后分艙裝載”計算,而且適合使用大量貨物進行“最后分艙裝載”計算,可有效減小誤差,使船舶達到預期的平均吃水和吃水差值,具有通用性。該方法已成功應用到自主研發的裝載計算中,具有一定的工程實用價值。
這里僅對散貨船的艏艙和艉艙進行“最后分艙裝載”計算,在以后的工作中將研究使用多艙進行“最后分艙裝載”計算。
[1] 東昉. 散裝船吃水差調整的一種新方法[J].大連海事大學學報,1996,22(1):15-19.
[2] 欒法敏. 散貨船“最后分艙裝載”的一種計算方法[J].中國航海,2013,36(2):135-137.
[3] 邢向輝. 散貨船裝載計算機數學模型及應用的研究[D].大連:大連海事大學,2000.
[4] 雷坤,林焰,紀卓尚. 基于內點法的駁船接載配載方案優化模型[J].中國造船, 2010, 51(2):149-154.
[5] 杜嘉立,姜華. 船舶原理[M].大連:大連海事大學出版社, 2011:13-17.
[6] STOM R, PRICE K. Differential Evolution-A Simple and Efficient Adaptive Scheme for Global Optimization over Continuous Spaces[C]. International Computer Science Institute, Berkeley: ICSI, 1995.
[7] STOM R,PRICE K. Differential Evolution-A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces [J]. Journal of Global Optimization. 1997, 11(4):341-359.
[8] STOM R, PRICE K, LAMPINEN J A. Differential Evolution: A Practical Approach to Global Optimization[M]. Berlin, Germany: Springer, 2006:1-6.
[9] 徐斌. 基于差分進化算法的多目標優化方法[D]. 上海:華東理工大學,2013:24-32.
[10] 王勇,蔡自興,周育人,等. 約束優化進化算法[J]. 軟件學報, 2009,20(1):11-29.
[11] TESSEMA B, YEN G G. A Self Adaptive Penalty Function Based Algorithm for Constrained Optimization [C]. IEEE Congress on Evolutionary Computation, 2006: 246-253.
Calculation Method of “Final Trimming” for Bulk Carriers Based on Differential Evolution Algorithm
LIUChunlei,SUNXiaofeng,WUHaibo,YINYong
(Key Laboratory of Marine Dynamic Simulation & Control for Ministry of Transport,Dalian Maritime University, Dalian 116026, China)
1000-4653(2016)04-0052-04
U693.6
A
2016-07-12
國家高技術研究發展計劃(“八六三”計劃)課題(2015AA016404)
劉春雷(1987—),男,河北保定人,博士生,研究方向為散貨船智能化配載。E-mail:18940930042@qq.com 孫霄峰(1978—),男,山東濟寧人,副教授,博士生,研究方向為船舶操縱性及航海動態仿真。E-mail:xfsun_dlmu@163.com