楊春蕾 黃曉皓 盛慶武 王金寶 潘常春 范佘明
(1. 噴水推進重點實驗室 上海 200011; 2. 中國船舶及海洋工程設(shè)計研究院 上海 200011; 3. 上海市船舶工程重點實驗室 上海 200011; 4. 上海交通大學 電子信息與電氣工程學院 上海 200240; 5. 上海北斗導航與位置服務重點實驗室 上海 200240)
不沉性設(shè)計策略可認為是通過主體水密艙的劃分、船體開口及水密封閉裝置的設(shè)計,推測出對不沉性有利和不利的條件,進而通過分析現(xiàn)有競爭船型或使命要求,制定有競爭力或指標先進的設(shè)計方案。在基本設(shè)計階段,不沉性主要考慮主艙壁的影響。在不沉性理論中,靜水力方法計算浮性和穩(wěn)性,水動力方法計算波浪中搖擺運動、動力傾覆等,但目前由于破損船舶水動力本身的復雜性,在實用化中仍然主要是基于前種方法,或者以準靜態(tài)的手段簡化動態(tài)效應。船舶不沉性評估方法中,概率方法因為物理含義清晰且易于實際衡量不沉性指標而被廣泛應用,針對民用船舶碰撞和觸底引起的破損概率主要基于事故統(tǒng)計及概率分析和試驗,而軍用船舶破損概率基于爆炸理論和試驗。
不沉性優(yōu)化是制定策略的基礎(chǔ),在現(xiàn)行的優(yōu)化中通常以概率不沉性指標作為約束條件,結(jié)合確定性的不沉性要素實現(xiàn)具體船型的優(yōu)化。隨著船舶不沉性法規(guī)越來越嚴格,機器學習模型在船舶分艙優(yōu)化設(shè)計中的應用越來越重要。TURAN等以ROPAX船型為目標,以SOLAS-2009中破損生存概率A、載貨量和船身自重為多目標,采用了非支配排序遺傳算法進行多目標尋優(yōu),并引入了強化學習以增強模型尋優(yōu)效率;CUI等針對同一問題基于JAWA平臺引入了多粒子群優(yōu)化,并與遺傳算法進行比較說明了模型對提升尋優(yōu)的影響;PAPANIKOLAOU等以Panamax郵船為目標船,以破損生存概率、經(jīng)濟性指標為目標,以船寬、干舷高度和水密分艙數(shù)量作為變量,采用多目標遺傳算法尋優(yōu),并通過帕累托曲線建立船型要素與不沉性和經(jīng)濟性相關(guān)的近似關(guān)系;姜文英等應用粒子群算法等算法用于求解船舶機艙布局規(guī)劃問題;林焰等在專家系統(tǒng)和神經(jīng)網(wǎng)絡(luò)算法基礎(chǔ)上對油船分艙進行了研究;侯岳等基于混沌遺傳算法對艦艇進行抗沉性優(yōu)化,顯示出了模型改進的優(yōu)勢。
由于實際問題的復雜性,通用的智能算法往往缺乏針對性,在基于性能的設(shè)計優(yōu)化時效率低下,這相當程度上限制了實用化。粒子群算法作為一種群體智能的隨機啟發(fā)式算法,以簡單易行、收斂速度快的優(yōu)點得到廣泛應用,但該算法收斂性和參數(shù)設(shè)定有賴于不斷完善的理論和大量實踐。盡管如此,種群數(shù)量和進化代數(shù)對實際優(yōu)化效率至關(guān)重要,機器學習算法的關(guān)鍵控制參數(shù)也是實際應用的難點。KENNEDY等在初始的模型中對15~30只鳥的運動進行了研究,基于經(jīng)驗設(shè)定種群數(shù)為20,之后的研究發(fā)現(xiàn)20~50個之間的粒子群數(shù)具有較好的尋優(yōu)表現(xiàn)。SHI等基于PSO-iw算法,以4種經(jīng)典基準函數(shù)為測試函數(shù),種群數(shù)量設(shè)置為20、40、80和160,探討了增大種群數(shù)的必要性。CARLISLE等對照5類基準函數(shù)進行種群規(guī)模測試研究,種群數(shù)從5到200,在設(shè)定好相同的優(yōu)化標準后,達到標準時算法即停止。研究認為30個粒子數(shù)能夠獲得最佳的平衡性能和速度,同時研究結(jié)果也表明了更大的種群數(shù)對二維問題尋優(yōu)性能的提升有幫助。PIOTROWSKI等針對8種不同的粒子群衍化算法進行了不同種群數(shù)的測試,研究發(fā)現(xiàn)有些測試函數(shù)在種群數(shù)與維度弱相關(guān),種群數(shù)在70~500之間尋優(yōu)效果更佳。綜合分析發(fā)現(xiàn),粒子群的不同衍化算法同控制參數(shù)與實際問題的復雜性相關(guān)聯(lián),種群數(shù)與問題的維度相關(guān)聯(lián),但這種關(guān)聯(lián)更偏重實踐經(jīng)驗或特定問題。
與基準測試不同,實際問題中粒子的性能需要調(diào)用專業(yè)領(lǐng)域的計算模塊,而計算很耗時,所以算法的控制參數(shù)需要控制計算規(guī)模,構(gòu)建針對性能的專業(yè)優(yōu)化框架并選擇高效的優(yōu)化算法和控制參數(shù)尤為重要。本文通過采用強化學習方法與演化算法結(jié)合,構(gòu)建基于不沉性的分艙設(shè)計優(yōu)化框架,強化學習采用Q-Learning,演化算法采用粒子群算法(particle swarm optimisation,PSO),通過對比概率不沉性算法得到的指標,來評估機器學習模型對性能的影響。
確定性方法中,破艙進水不沉的指標規(guī)定為干舷高、初穩(wěn)性高和最大穩(wěn)性力臂等,但這種確定性方法指標不唯一,也難以比較2艘不同的船舶不沉性優(yōu)劣。目前基于國際海上人命安全公約(safety of life at sea,SOLAS)的概率評估方法針對碰撞和觸底等引起的破損評估,通過1個分艙指數(shù)即可比較1艘船最優(yōu)方案和不同類型船舶的指標高低。在不同的設(shè)計階段,優(yōu)化目標往往不同,本文采用概率方法的不沉性指標。達到分艙指數(shù)為:
式中:A為滿載吃水下的分艙指數(shù);A部分壓載吃水下的的分艙指數(shù);A為輕載吃水下的分艙指數(shù);每種分艙指數(shù)為全部破損情況所得的分艙指數(shù)總和。
式中:為艙或艙組組合;P為艙或艙組進水概率;S為艙或艙組進水后生存概率。
生存概率通過迭代求解3個載重吃水下的船舶破損后平衡水線和穩(wěn)性曲線,是影響分艙指數(shù)計算效率的主要因素。進水概率計算基于破損位置和破損長度的聯(lián)合密度函數(shù)的雙重積分,基于民船統(tǒng)計數(shù)據(jù)的船舶碰撞概率分布均為線性分段函數(shù),規(guī)范已將雙重積分展開為初等函數(shù),其效率主要受所給定艙組數(shù)以及艙室所屬區(qū)域的判定,與生存概率相比占用時間較少。
粒子群優(yōu)化是一種全局優(yōu)化算法,KENNEDY和EBERHART受社會學啟發(fā)于1995年首次提出,之后衍化出多種算法。初始的模型為了模擬群鳥在一區(qū)域最快地搜索到食物所采取的策略,根據(jù)對環(huán)境的適應度將搜索個體指向最好區(qū)域,個體在搜索空間以一定速度飛行,由個體和群體的飛行經(jīng)驗動態(tài)調(diào)整。這種算法對具有較大的搜索空間、離散型多峰值特點的不沉性分艙問題具有很好的適用性。粒子群中每個粒子的空間探索受全局最優(yōu)位置、個體最優(yōu)位置和當前粒子速度影響,粒子的位置和速度2個物理量的具體表達為:
強化學習作為最重要的機器學習方法之一,通過實時學習找到數(shù)據(jù)之間的隱藏關(guān)系,進而提高尋優(yōu)效率。在有限的尋優(yōu)時間代價下,能夠通過與環(huán)境進行交互獲得的獎賞指導行為,使智能體獲得最大的獎賞。指導行為可通過領(lǐng)域?qū)<医?jīng)驗或規(guī)律建立,可有效提升尋優(yōu)的效力。具體為通過獎勵找到從環(huán)境到行動的映射,可包含4個基本模型:策略、獎勵函數(shù)、價值函數(shù),以及環(huán)境模型。Q-Learning作為應用最為廣泛的強化學習算法,由WATKINS于1989年提出,是一種無模型強化學習。環(huán)境對Q-Learning的要求是靈活的,對離散環(huán)境的工程問題適用性強,因此本文采用此方法。智能體的行動以矩陣元素體現(xiàn),通過訓練更新并指導下一輪行動,可表達為:
式中:S為當前狀態(tài);A為當前狀態(tài)下采取的行動;S為新一輪狀態(tài);R為下一輪行動獎勵;為控制收斂的學習率;為折減因子。
強化學習的目的是通過訓練粒子搜索控制參數(shù)(、、)提高優(yōu)化能力和收斂性,構(gòu)成本文采用的QL-PSO混合算法。強化學習的要素對象見表1。
表1 強化學習要素內(nèi)容
根據(jù)每個粒子的矩陣值控制粒子群探索空間,通過更新速度與位置計算出目標函數(shù),并得到獎賞策略,最后更新矩陣。表1中3種狀態(tài),探索操作為整個優(yōu)化過程的初始階段,值較大且較占優(yōu)。收斂操作為整個優(yōu)化過程的結(jié)束階段,值較小且較占優(yōu)。低跳階段介于兩階段之間。
以圖1所示的遠望船為目標船型。
圖1 遠望船
選取主橫艙壁、縱向艙壁和垂向艙壁作為優(yōu)化變量,并基于參數(shù)化建模技術(shù)和靜水力計算工具實現(xiàn)基于概率方法的不沉性計算。機器學習算法基于Python平臺,模塊為自主開發(fā),功能開發(fā)靈活且具有針對性,界面示意圖如圖2所示。
圖2 不沉性機器學習程序界面
用戶界面包括船舶參數(shù)、初始分艙、范圍、步長和目標函數(shù)個數(shù),算法參數(shù)包括粒子群的規(guī)模、迭代次數(shù),數(shù)據(jù)參數(shù)為專業(yè)模塊通訊過程與結(jié)果數(shù)據(jù),集成的專業(yè)模塊為可參數(shù)化的分艙設(shè)計和不沉性計算的自主開發(fā)程序,也可為商業(yè)軟件。機器學習模塊與船舶不沉性設(shè)計專業(yè)模塊通過文本方式進行數(shù)據(jù)傳輸,設(shè)置詳細的通訊機制以避免模塊讀寫沖突,具體為:
(1)機器學習模塊提供粒子群信息以及一組 分艙布置方案;
(2)專業(yè)模塊提供粒子群對應不沉性指數(shù) 矩陣。
研究中,分艙布置方案為簡化布置方案,意在為初始設(shè)計階段提供不沉性分艙策略性建議。有關(guān)分艙簡化方法的合理性,RAVN等以3艘汽車船為例進行了2種不同程度的簡化建模并與實際模型的計算對比。研究表明,考慮合理簡化不顯著影響不沉性指標。在初期的優(yōu)化中,不沉性的變化趨勢對設(shè)計策略更為有意義,簡化對指標的趨勢影響較小,因此本文計算采用簡化建模,局部大艙和主要甲板位置保持固定。
初始值的選取對最優(yōu)結(jié)果和效率影響較大,本文采用給定1個初始粒子,第2代開始由1個粒子隨機生成給定種子數(shù)的粒子。由于每代粒子之間有位置重疊,且當代粒子也有可能與前代的粒子位置重疊,程序基于信息查重以避免專業(yè)模塊重復計算,體現(xiàn)了粒子信息的可繼承性,大大提高了效率。
在粒子初始值相同、演化代數(shù)設(shè)置相同時,研究種子數(shù)對優(yōu)化能力的影響,圖3為PSO算法的全局最優(yōu)時歷結(jié)果,圖4為QL-PSO算法的全局最優(yōu)時歷結(jié)果。
圖3 PSO算法的全局最優(yōu)時歷
圖4 QL-PSO算法的全局最優(yōu)時歷
圖5為相同種群數(shù)時不同算法的全局最優(yōu)時歷曲線。時歷曲線表明了大的種群數(shù)時全局最優(yōu)曲線的拐點更早出現(xiàn),同時不同算法的時歷曲線也表明混合算法的全局最優(yōu)曲線拐點更早出現(xiàn)。
圖5 相同種群數(shù)時不同算法的全局最優(yōu)時歷
圖6為選取了種群數(shù)為30時第1個粒子在不同算法時的迭代歷程,數(shù)據(jù)顯示:PSO算法在0~150步時波動較大,之后的迭代波動很?。籕L-PSO算法在0~40步時波動較大,但在200步左右和之后的迭代中出現(xiàn)明顯的波動。在300步迭代中,PSO算法中粒子不相同位置數(shù)207個,少于QL-PSO中的230個,顯示出了強化學習模型增強了粒子的發(fā)散,從而提升了粒子群的多樣性。在給定種群進化數(shù)時,QL-PSO算法中粒子歷經(jīng)了更多的不同位置導致總體計算效率低,但在相同的指標標準時,QL-PSO方法卻能經(jīng)歷更少的位置,即迭代代數(shù)更少。對實際數(shù)據(jù)采用對數(shù)擬合,2種趨勢線的決定系數(shù)平方值中,PSO方法為0.697 6,較QL-PSO方法的0.333 3更接近1,反映出實際值與趨勢線擬合程度更高,數(shù)據(jù)集中度更高。
圖6 某粒子迭代歷程
下頁圖7為第1橫艙壁位置對分艙指數(shù)的影響,圖中顯示了第1橫艙壁靠后更有利于不沉性的指標。
圖7 艙壁位置隨分艙指數(shù)變化
本文針對船舶不沉性分艙優(yōu)化問題,應用不同的粒子群算法到不沉性分艙全局和局部優(yōu)化問題中,研究結(jié)論及討論為:
(1)基于強化學習的PSO混合算法與標準PSO算法對比計算表明,混合算法有助于加速收斂,且能夠更快達到全局;
(2)本文計算采用簡化的分艙模型以提高計算效率,適用于在設(shè)計初期階段為不沉性分艙提供全局性參數(shù)優(yōu)化策略,為后續(xù)多階段局部不沉性分艙策略提供基礎(chǔ)。