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