白 靈,趙珈玉,鞠巖松
(1. 長春電子科技學(xué)院 光電科學(xué)學(xué)院,吉林 長春 130000;2. 長春理工大學(xué) 化學(xué)與環(huán)境工程學(xué)院,吉林 長春 130000)
船舶在航行過程中,會遇到海面勘探、石油開發(fā)等水域作業(yè)情況,為使船舶安全航行,規(guī)劃其航行航線意義重大。楊琪森等[1]提出的船舶路徑規(guī)劃與避障方法,該方法通過構(gòu)建馬爾可夫決策過程抽象模型,通過深度強(qiáng)化學(xué)習(xí)算法,規(guī)劃了船舶航行路徑。謝新連等[2]提出復(fù)雜水域船舶路徑規(guī)劃方法,該方法建立環(huán)境模型,分析海浪對船舶速度的影響,利用改進(jìn)粒子群算法優(yōu)化船舶航行路徑。上述2 種方法雖可實(shí)現(xiàn)船舶航線優(yōu)化,但優(yōu)化結(jié)果不夠準(zhǔn)確。人工智能算法也被稱為機(jī)器學(xué)習(xí)算法,其包含尋優(yōu)算法、識別算法等多種算法[3],是求解目標(biāo)函數(shù)算法,可通過反復(fù)迭代輸出最優(yōu)解。面對當(dāng)前船舶航線優(yōu)化算法存在的不足,研究人工智能在船舶航行數(shù)學(xué)建模中的應(yīng)用,為船舶導(dǎo)航提供技術(shù)支持。
海上鉆井平臺或勘探區(qū)域作業(yè)通常包含多個水上、水下作業(yè)點(diǎn),船舶在該區(qū)域航行時,受其作業(yè)點(diǎn)影響,威脅其航行安全[6],因此船舶航行時需規(guī)避海上不同作業(yè)點(diǎn)。
在建立船舶航線優(yōu)化模型之前,使用Maklink 圖論方法描述海上作業(yè)點(diǎn)分布,在海上作業(yè)水域建立Maklink 連接圖,利用該圖描述船舶在作業(yè)水域內(nèi)可航行網(wǎng)絡(luò)圖,并將其表述為可求解的數(shù)學(xué)模型。令S和T分布表示船舶航行起點(diǎn)和終點(diǎn),在點(diǎn)S和T之間的航線點(diǎn)序列 {S,q1,q2,···,qk,T}構(gòu)成,在該點(diǎn)序列內(nèi),排除船舶航行起點(diǎn)和終點(diǎn)之外,其中包含的點(diǎn)均存在轉(zhuǎn)向的可能。當(dāng)船舶航行速度為定值情況下,使用 θqi表示船舶在點(diǎn)位置的轉(zhuǎn)向角, φmax表示船舶在其設(shè)計航速下的轉(zhuǎn)向極限角數(shù)值。船舶在轉(zhuǎn)彎時,需考慮其轉(zhuǎn)彎半徑[7],船舶航速為10 kn 時,其最小轉(zhuǎn)彎半徑和轉(zhuǎn)向角參數(shù)如表1 所示。
表 1 船舶最小轉(zhuǎn)彎半徑參數(shù)設(shè)計Tab. 1 Parameter design of minimum turning radius of ship
令Vt表示船舶航行速度,R表 示大型船舶航道轉(zhuǎn)彎半徑,當(dāng)船舶為10×104~15×104t 的大型貨輪時,其航道轉(zhuǎn)彎半徑計算公式如下:
式中:θ 表示船舶在某個點(diǎn)的轉(zhuǎn)向角度;L表示船舶長度。
在綜合考慮船舶轉(zhuǎn)向角度和轉(zhuǎn)彎半徑后,建立船舶在海上作業(yè)區(qū)域航線規(guī)劃數(shù)學(xué)模型,其表達(dá)公式如下:
式中: minZ表示船舶在海上作業(yè)區(qū)域航線規(guī)劃目標(biāo)函數(shù);(qi,qi+1) 為 由 點(diǎn)qi和qi+1兩 點(diǎn) 組 成 的 航 線 段;d(·)表示航線點(diǎn)之間距離;(S,q1)表 示船舶起點(diǎn)S到q1航線點(diǎn)之間的航線段;(qk,T) 為船舶航線點(diǎn)qk到終點(diǎn)T之間的航線段。
令k表示船舶航行路徑終點(diǎn)前的一個點(diǎn),Z和Zmin分別表示航線與危險區(qū)域最小距離和最小安全距離。設(shè)置公式(2)約束條件為:
式中:l(qi,qi+1)表 示由qi和qi+1兩點(diǎn)連接組成的航線點(diǎn)集,該點(diǎn)集與作業(yè)危險區(qū)域點(diǎn)集S j的交集為空集;船舶 航 行 時 節(jié) 點(diǎn) θqj∈(1,2,···,k)的 轉(zhuǎn) 角 需 小 于 φmax;λ表 示 船舶最小轉(zhuǎn)彎半徑和船舶長度比值。
經(jīng)過上述步驟,完成船舶航線規(guī)劃模型構(gòu)建。
通過構(gòu)建船舶在海上作業(yè)危險區(qū)域航線規(guī)劃模型,利用Dijkstra 算法求解該模型,獲得船舶在海上作業(yè)區(qū)域初始航線,其詳細(xì)過程如下:
將求解船舶在海上作業(yè)危險區(qū)域航線規(guī)劃模型問題轉(zhuǎn)換成有向圖最短路基問題[8],利用圖論方式描述該模型,令W表示有向弧權(quán)值集合,則其船舶在海上作業(yè)危險區(qū)域航線規(guī)劃模型圖論表達(dá)公式如下:
式中:G表示船舶航線規(guī)劃有向圖;V=(v1,v2,···,vn)
表示航線有向圖頂點(diǎn)集合;A表 示頂點(diǎn)之間有向弧集合。
利用Dijkstra 算法求解船舶在海上作業(yè)危險區(qū)域航線規(guī)劃模型步驟為:
步驟1對航線有向圖頂點(diǎn)V=(v1,v2,···,vn)賦予2 個標(biāo)號 (U,E) ,U表示臨時標(biāo)號,該標(biāo)號為實(shí)數(shù),用于描述定點(diǎn)路徑長度,E表示永久標(biāo)號,描述有向弧的起始點(diǎn)。
步驟5當(dāng)vk=vn時 ,則得到航線點(diǎn)的最小距離E(vk)。
經(jīng)過上述步驟,得到船舶在海上作業(yè)區(qū)域初始航線。
使用Dijkstra 算法求解船舶在海上作業(yè)危險區(qū)域航線規(guī)劃模型,得到其初始航線時,受航線點(diǎn)數(shù)量較多影響,其生成的初始航線無法滿足船舶航行時的機(jī)動性能,因此以船舶在海上作業(yè)危險區(qū)域初始航線為基礎(chǔ),使用人工智能算法內(nèi)的蟻群優(yōu)化算法對船舶初始航線優(yōu)化處理。
將船舶航行初始航線上的節(jié)點(diǎn)賦予初始值,生成初始信息素矩陣,其中危險區(qū)域節(jié)點(diǎn)的初始值為0,其他節(jié)點(diǎn)初始值為1。當(dāng)時刻為t時,蟻群移動到線段Li位置。令第k只螞蟻在點(diǎn)a(xi,yg) 位置,ηab(t)表示點(diǎn)a和b之 間的能見度,bj為線段Li+1上 的節(jié)點(diǎn),ψ (j)為時刻為t時 ,節(jié)點(diǎn)j上殘留的信息素。螞蟻k在運(yùn)動時,每個路徑上的信息素決定其移動方向。在時刻為t時 ,螞蟻k從a(xi,yg) 處轉(zhuǎn)移到b(xi+1,yi)處的概率計算公式如下:
式中: α表示信息素相對重要性;ρkab表示螞蟻k從a(xi,yg) 處 轉(zhuǎn) 移 到b(xi+1,yi) 處 的 概 率;? 和 ?′分 別 表 示航線安全區(qū)域和風(fēng)險區(qū)域;β能見度相對重要性。
螞蟻依據(jù)公式(7)概率搜索,在搜索過程中按照下式全局更新規(guī)則更新其行走路徑:
式中: ?表示信息素蒸發(fā)因子;? ψ(j)表示全局更新因子,其計算公式如下:
式中:h表示螞蟻總數(shù);Q表示常數(shù);Jk表示螞蟻搜索到可航行路徑目標(biāo)函數(shù)。
蟻群按照公式(9)更新其路徑后,當(dāng)?shù)螖?shù)達(dá)到閾值次數(shù),則輸出當(dāng)前路徑,該路徑即為優(yōu)化后的船舶在海上作業(yè)區(qū)域航行路徑,利用該路徑為船舶導(dǎo)航,保障其安全航行。
以某中型貨運(yùn)船舶作為實(shí)驗對象,其需穿越海上石油鉆井平臺作業(yè)區(qū)域,其作業(yè)區(qū)域分布以及船舶航行起點(diǎn)位置如圖1 所示。
圖 1 海上作業(yè)區(qū)域與船舶航行起點(diǎn)Fig. 1 Offshore construction area and ship navigation starting point
生成海上作業(yè)區(qū)域可航行網(wǎng)絡(luò)圖是獲得船舶初始航線和航線優(yōu)化的基礎(chǔ),使用本文方法獲取海上作業(yè)區(qū)域,作業(yè)水域可航行網(wǎng)絡(luò)如圖2 所示。
圖 2 作業(yè)水域可航行網(wǎng)絡(luò)Fig. 2 Navigable network of construction waters
可知,本文方法可有效依據(jù)海上石油鉆井平臺作業(yè)區(qū)域得到船舶可航行線路,生成船舶可航行線路網(wǎng)絡(luò)圖,為后續(xù)得到船舶初始航線與初始航線優(yōu)化打下良好基礎(chǔ)。
使用本文方法生成該船舶從起點(diǎn)到目的地航線,并對該航線優(yōu)化處理,初始航線生成與航線優(yōu)化結(jié)果如圖3 所示。
圖 3 初始航線生成與航線優(yōu)化結(jié)果Fig. 3 Initial route generation and route optimization results
可知,使用本文方法可有效生成該船舶航行的初始航線,但該初始航線需要多次變更航向才可到達(dá)目的地,且生成的初始航線穿過7 號、8 號作業(yè)區(qū)域與11 號作業(yè)區(qū)域,該3 個作業(yè)區(qū)域呈三角形分布,中間航道較為狹窄,影響船舶航行航速。而使用本文方法對該初始航線優(yōu)化后,優(yōu)化后的航線僅需變更一次航向即可到達(dá)目的地,同時航行穿越作業(yè)區(qū)域時,其航道較寬,船舶可安全航行。綜上結(jié)果,本文方法可有效生成船舶航行初始航線,并使用人工智能算法對其優(yōu)化處理,具有較好的應(yīng)用效果。
為了保證船舶的安全航行,研究人工智能在船舶航行數(shù)學(xué)建模中的應(yīng)用方法。通過建立船舶航行數(shù)學(xué)模型并求解后,得到船舶航行初始航跡,通過人工智能算法中的蟻群算法,對其初始航跡優(yōu)化,使船舶航行更加安全。通過對本文方法實(shí)際驗證,其在生成船舶航線網(wǎng)絡(luò)圖,得到初始航線并優(yōu)化方面均具備較好的能力,可用于船舶穿越海上作業(yè)區(qū)域?qū)Ш剑瑸榇鞍踩叫刑峁┍U稀?/p>