?

基于差分進化算法的智能配載技術

2022-03-30 08:41林辰儒秦堯姚望李思佳
船舶設計通訊 2022年2期
關鍵詞:艙室液面剪力

林辰儒,秦堯,姚望,李思佳

(上海船舶研究設計院,上海 201203)

0 前 言

隨著裝載計算機的普及, 對配載方案的強度、穩性校驗已經可以通過計算機得出結果,但是在船舶營運過程中,依舊需要依靠大副的經驗來決定船舶浮態, 并通過人工調整計算出相應的配載方案,選擇少,費時費力,精準度欠缺,也沒有明確的優化目標。

近年來隨著智能船舶技術的快速發展,通過人工智能算法或者大數據分析等技術手段,能夠對海量實船營運的數據進行分析和挖掘,找到能效最佳的航行姿態并推薦給船長,即數字化營運中的縱傾優化服務。 與傳統船舶航行相比,數字化營運會根據海況、 氣候等條件更加頻繁地改變船舶姿態,以此提高船舶推進效率,而能夠自動生成優化配載方案的智能配載算法則可以降低船長和大副的工作強度,提升配載效率。

船舶的智能配載是指通過計算機手段,將目標吃水、縱傾、橫傾等作為輸入參數,結合船舶完整穩性、總縱強度等校核要求,并滿足一定的優化目標,自動生成配載方案的過程, 旨在減少人工介入,節省配載時間并且提升船舶航行的安全性。 楊軍[1]首先提出了一種基于專家系統的散貨船自動配載儀的設計,其本質還是基于經驗和推理的方式,考慮范圍有限,并且需要大量預先設計的規則。 同年,杜嘉立等[2]也開發了基于公用數據庫以及知識庫的自動配載程序,與專家系統類似。 2016 年,吳海波[3]提出了一種基于差分進化算法的自動配載儀,通過調整首尾貨艙的裝載量調整吃水差,但是只從可行解中挑選剪力彎矩相對較優的解,沒有有針對性的優化。 2017 年,劉春雷[4]設計了一種通過離散差分進化算法優化散貨船裝卸貨過程的智能配載算法,并對剪力彎矩有相應優化,但是其并沒有將含有自由液面的壓載艙數量這一因素考慮在內,而自由液面會對船舶的穩性、操縱性和安全性產生影響,在應用過程中船員也會因為含有自由液面的艙室過多而對配載方案提出質疑, 即使配載方案通過了穩性、強度校核,船員依舊難以接受。 因此,基于差分進化算法,結合已有的裝載計算機工具,實現自由液面艙室的數量最少和全船最大許用剪力、彎矩百分比最小為協同優化目標的智能配載的算法,可以根據船舶當前的裝載狀態, 結合縱傾優化功能,在分析得到船舶營運能效最佳的姿態后,自動生成達到最優姿態所需的配載方案。

1 智能配載數學建模

1.1 智能配載計算模型

在靜水條件下, 不考慮船舶的中拱/中垂變形,當需要對船舶浮態調整時, 如何通過智能算法,結合裝載計算機的輔助計算,將壓載水合理分配到指定的壓載水艙室,即指定目標浮態(吃水,橫傾,縱傾),以及可用的壓載水艙后,針對滿足目標浮態的壓載水配載方案進行自由液面艙室數量和全船最大彎矩、剪力的協同優化后,輸出各壓載水艙室的目標裝載量。 其本質為解決滿足一定約束條件的多目標優化問題。

設計約束優化對象X=[X1,X2,…,XD]對應各目標艙室的壓載水量, 其維度D 為選取艙室的個數。調整裝載水量X, 使其滿足如下的約束條件來限制船舶的浮態。

1.2 約束條件

在滿足完整穩性、總縱強度、視線盲區、螺旋槳浸沒等由裝載計算機計算得出的穩性及浮態校核要求前提下,對于指定艙室Ci的艙容約束如下:

式中:Ci,min為艙室容量下限,通常為0;Ci,max為艙室Ci的最大裝載量。

對目標吃水、橫傾角θ、縱傾角φ 的浮態約束方程組如下:

式中:△target為通過靜水力表根據目標吃水、 縱橫傾角度θ 和φ 計算得出的目標總排水量;△current、xG、yG、zG、xB、yB、zB分別為裝載計算機根據裝載情況X 計算得出的總排水量,重心的縱向、橫向、垂向坐標,以及浮心的縱向、橫向、垂向坐標;原本通過表示裝載情況X 所對應的縱傾角、橫傾角的正切值tanφ′,tanθ′,約束目的是使其與目標縱傾角、橫傾角的正切值tanφ,tanθ 盡可能相等, 但是為了避免除0 情況采用相乘的運算。

1.3 優化目標

滿足上述約束條件的配載方案可能會有很多,按照以下優化目標, 結合裝載計算機運行數據,從中尋找最優的結果。

1)含有自由液面的艙室數量最少。設定裝載量在2%到98%之間為自由液面。 艙室的裝載容量從裝載計算機中獲取。

2)最大剪力許用百分比SFmax的值最小,SFmax為所有計算剖面實際剪力占許用剪力百分比值中的最大值,由裝載計算機計算得出。

3) 最大彎矩許用百分比BMmax的值最小,BMmax為所有計算剖面實際彎矩占許用彎矩百分比值中的最大值,由裝載計算機計算得出。

4) 考慮到穩性最優和強度最優的矛盾點,對以上3點做加權求和后的總體協同優化,而非單項最優。

2 差分進化求解自動配載

遺傳算法是模擬生物進化過程,通過用數學建模的方式模擬染色體雜交、變異以及優勝劣汰的方式,在解空間內隨機搜索最優解的過程,在處理復雜優化問題或是難以直接用數學模型找到最優解的場景有良好的表現[5]。 差分進化算法(Differential Evolution,DE 算 法)是Storn 等[6]于1997 年 發表的基于遺傳算法針對非線性不可導的連續空間尋求整體最優解的啟發式優化方法。與傳統遺傳算法一樣,DE 算法對種群執行初始化、變異和交叉,使種群隨著迭代次數進化。 DE 算法與遺傳算法的主要區別在于:在進化的每一代中,遍歷種群中每一個目標個體,在變異步驟對隨機多個不同父代進行矢量差分,在選擇步驟將變異結果與隨機父代進行矢量交叉生成子代,最后在選擇步驟將子代與目標個體進行擇優競爭。 與傳統遺傳算法相比,DE 算法在優化后期對局部最優陷阱有更好的回避能力,更容易找到整體最優解。 同時,DE 算法還有變量少、魯棒性強、收斂速度快,并且便于實現和使用的優點[7]。 DE算法在求解智能配載時的過程如下。

2.1 種群初始化

在問題可行解空間內,指定種群內的個體數量NP,隨機生成初始種群P0=[X1,X2,…,Xnp],初始種群盡可能分布在整個解空間內以降低陷入局部最優的可能。種群中的每一個個體Xj都是一個配載方案,Xj中第i 個元素Xj,i為指定艙室列表中第i 個艙室對應的裝載量,且每個元素Xj,i滿足等式(1):

2.2 變異操作

遺傳算法中通過變異來生成新的基因信息,即生成新的備選裝載量。 差分進化中有多種變異策略,本項目采用最常見的DE/rand/1 策略,即對于父代配載方案Xj,隨機選取一個目標個體Xa以及一組隨機個體(Xb,Xc),對(Xb,Xc)進行矢量差分,即將Xb和Xc兩個配載方案中各對應艙室裝載量相減,將結果乘以縮放因子F 后加給目標個體Xa產生變異個體Xm,且選取目標滿足j≠a≠b≠c。 通過矢量差分的方式,保證變異個體在解空間內與選取個體都保持一定的距離,以此強化全局搜索的能力。 其矢量公式如下:

2.3 交叉操作

DE 算法通過離散的交換目標個體與變異個體的信息來得到新的個體。 常用的交叉方式有二項式交叉與指數交叉。 指數交叉通常為了應對個體中相鄰緯度存在相關性的問題。 本項目采用二項式交叉的方式,即試驗子代(配載方案)的每個艙室的裝載量都隨機、離散地來自父代或變異個體對應艙室的裝載量。

對于父代配載方案Xj的第i 個艙室裝載量Xj,i,比較隨機概率ri與指定的交叉率CR 的大小來決定子代配載方案Xnewj中的對應艙室的裝載量Xnewj,i,并且為了防止交叉產生的子代與父代個體相同,要保證子代至少有一個緯度來自變異個體:

對每一迭代中的每個父代個體都會隨機生成整數R=rand(0,D)來指定一個隨機艙室以及一個同緯度的隨機概率向量用于產生新的試驗子代。

式中:D 為總艙室個數,ri為該艙室對應的隨機概率。

2.4 選擇操作

DE 算法采用貪婪的方式,通過比較子代Xnewj與當前迭代的目標父代Xj的適應度值,擇優選擇出下一個迭代中的父代個體X′j,在最小化問題中:

式中:G(x)為適應值計算函數,在下文中詳細介紹。

2.5 適應度值計算

在DE 算法中, 用適應度的值來對個體的好壞進行評判。 適應度值的計算方式決定了種群進化的方向,本算法結合第一節中介紹的約束條件和優化目標設計適應度值計算的方式。 根據適應度值進化的本質是單目標約束優化問題,因此,通過適應度值綜合量化描述船舶的當前浮態與目標浮態的差異,含有自由液面的艙室數量,穩性、強度校核是否通過,以及最大剪力、最大彎矩的值。 由于量化目標中有多個最小化問題,因此將適應度值設計為針對約束條件和優化目標的懲罰函數。 進化目標為適應度(總懲罰函數)的值最小。

約束條件的誤差函數設計為

浮態懲罰函數為Gf(X)=af1(X)+bf2(X)+cf3(X)+f4(X),a、b、c 為懲罰系數。 為了防止問題無法收斂,采用設定寬松值的方式,即各項懲罰函數只在大于寬松值時才被計算進浮態懲罰函數,否則取0。

優化條件的懲罰函數設計為:

f6(X)為含有自由液面的艙室個數,由于艙頂空氣和底部殘液的影響,對自由液面的判斷為該艙室中壓載水量在艙室容量的2%~98%。

總懲罰函數為

只有當約束條件滿足時才計算優化條件,保證在進化過程中約束條件的優先級,同時也通過避免對無意義的結果進行優化來提升計算效率。 由于0<SFmax+BMmax<2,設計f4為0 或2 是為了提高狀態檢測懲罰項的優先級,以此保證最優解必定是優先滿足各項檢測,再考慮全船最大剪力彎矩最小化(如果問題收斂)。

2.6 終止條件

DE 算法通過循環迭代進化, 算法在每一個迭代中都會生成新變異體并逐一評價,采用優勝劣汰的方式選出新的個體,并判斷終止條件是否滿足,如果不滿足則進入下一個迭代,滿足則退出循環并輸出結果。 本項目采用將適應度值在一定連續迭代不變作為終止條件,相比固定迭代次數,此方法更加靈活,針對簡單問題能更快輸出結果,針對復雜問題則可以通過增加計算時間輸出更精確的結果。

2.7 算法總體流程

外部輸入目標浮態,可調整的壓載水艙室列表,以及種群規模和迭代數量后,算法通過裝載計算機接口獲取船舶當前浮態和艙室信息,同時初始化差分進化參數。 隨后以目標浮態和營運要求為約束條件,以含有自由液面艙室數量和剪力、彎矩許用百分比的加權求和值為協同優化目標,執行差分進化算法。 當判斷種群收斂或者達到最大迭代次數后,退出并返回結果。 具體流程圖如圖1 所示。

圖1 智能配載算法流程圖

3 驗證與分析

選取某礦砂船為對象進行驗證,輸入參數如表1 所示。

表1 智能配載輸入(壓載)

因艙室較多, 艙室編號均采用縮寫形式,其中,R2 表示壓載水艙,小數點后數字表示艙室號,后綴 中A 表 示AFT,F 表 示Fore,P 表 示Port,S 表 示Starboard。 例如R2.03AP 表示No.3 A.W.B.TK.P,即3 號后壓載水艙(左)。 R2.AF1 和R2.AF2 均為艉尖艙。 其艙室對應位置如圖2 所示。

圖2 艙室布置圖

智能配載輸出結果如表2 所示:在不考慮自由液面優化時, 自動配載結果是16 個艙均含有自由液面;在考慮自由液面優化計算后,僅有3 個艙含有自由液面, 大幅度減少含有自由液面的艙室數量。 最大彎矩和剪力的許用百分比也基本持平,甚至有所降低,但是最大彎矩和剪力值的降低也可能是由于遺傳算法本身隨機性帶來的影響。

表2 某礦砂船智能配載輸出結果對比

4 結 語

針對船舶營運期間縱傾優化的應用場景,結合已有的裝載計算機工具,基于差分進化算法實現了一套智能配載算法。 該算法收斂性好,準確性高,在滿足船舶穩性、強度、視線盲區等要求的同時,針對含有自由液面的艙室數量和船舶總縱彎矩、剪力做多目標協同優化, 如果與船舶智能系統相結合,可以有效提高船舶的營運能效。

猜你喜歡
艙室液面剪力
船舶艙室通風控制策略研究
分子熱運動角度建立凹凸液面飽和蒸氣壓的物理圖像?
吸管“喝”水的秘密
懸臂箱形截面梁的負剪力滯效應
考慮截面配筋的箱梁剪力滯效應分析
GY-JLY200數據記錄儀測試動液面各類情況研究
艦載導彈意外點火時艙室內噴灑抑制的影響研究
箱型梁剪力滯效應的解耦求解
80m簡支鋼箱梁剪力滯系數研究
艦艇受損艙室的破損模式識別算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合