信曉藝
(德州學(xué)院 數(shù)學(xué)與大數(shù)據(jù)學(xué)院,山東 德州 253023)
船舶航線規(guī)劃對解決船舶航線安全問題,節(jié)約航線損耗來說有重要意義,一旦船舶航線規(guī)劃不當(dāng),會產(chǎn)生很大的問題,因此想要解決船舶運(yùn)輸過程的問題,需要設(shè)置完備的船舶航線規(guī)劃[1],在規(guī)劃船舶航線時,經(jīng)常使用數(shù)學(xué)建模及求解的方法,計算出此時航線的最優(yōu)路徑,避免發(fā)生碰撞事故。隨著計算機(jī)技術(shù)的不斷發(fā)展,人工智能、深度學(xué)習(xí)等現(xiàn)代科學(xué)術(shù)語頻繁出現(xiàn)在人們生活的各個領(lǐng)域[2],而人工智能技術(shù)也對船舶運(yùn)輸產(chǎn)生了非常重要的影響,可以利用人工智能技術(shù)衍生的人工智能算法,對船舶航線規(guī)劃的數(shù)學(xué)建模進(jìn)行求解。因此,人工智能技術(shù)影響著智能導(dǎo)航的發(fā)展。
無人船舶發(fā)展的核心技術(shù)是船舶航線智能規(guī)劃技術(shù),尤其是面臨復(fù)雜的海上環(huán)境,船舶航線規(guī)劃技術(shù)研究對無人船舶行駛的作用就更為重要[3]。在實際的海上交通運(yùn)輸活動中,船舶面臨的海上交通環(huán)境十分復(fù)雜,船舶航行高度在不斷變化的海域中顯著增加。近期,全球海上交通事故頻發(fā)[4],在必須解決海上交通面臨的各種問題的情況下,如何才能最大限度地減少海上交通事故的發(fā)生,最大限度地保護(hù)生命財產(chǎn)安全?是一個亟待解決的問題。毫無疑問,智能船舶導(dǎo)航技術(shù)和船舶自動化操作是解決當(dāng)前問題的好方法。在船舶智能導(dǎo)航中,船舶航線的自動規(guī)劃是一個非常重要的環(huán)節(jié),關(guān)系到船舶駕駛的強(qiáng)度和船舶的安全性能,直接影響到人們的生命財產(chǎn)安全。尤其是復(fù)雜水域中的船舶航線規(guī)劃,對于研究具有重要意義,因此,本文設(shè)計了基于人工智能算法的航線規(guī)劃建模求解方法。
對于現(xiàn)有的航行船只,通過分析歷史數(shù)據(jù),可以預(yù)測船舶在運(yùn)輸過程中的航線、貨量和作業(yè)水平,基于技術(shù)可行性建立船舶航線規(guī)劃的目標(biāo)函數(shù)[5]。在本研究中,在提出路徑規(guī)劃目標(biāo)函數(shù)之前,首先需要假設(shè)船舶運(yùn)行函數(shù),確定航線規(guī)劃的研究周期,在航線規(guī)劃過程中設(shè)置可用船型和可用航線,設(shè)置的航線多為傳統(tǒng)的多港口直達(dá)航線[6]。根據(jù)原航線的歷史數(shù)據(jù),在規(guī)劃過程中需要預(yù)測起始點和目的地之間的貨運(yùn)需求和運(yùn)輸成本。在航線規(guī)劃的研究周期中,根據(jù)各類船舶的最大航速進(jìn)行分析,確定航線往返次數(shù)。在設(shè)計過程中,既保證了運(yùn)營成本的穩(wěn)定性,又控制了航運(yùn)成本,使其不受航次貨量變化的影響。
在建立數(shù)學(xué)模型之前,需要將船舶在各種狀況下的航行狀態(tài)記錄下來,因此需要將船舶行駛的環(huán)境逐一記錄,本文設(shè)計的求解方法是在高線法和網(wǎng)絡(luò)法的基礎(chǔ)上建立的網(wǎng)絡(luò)優(yōu)化高線法,S代表船舶在出發(fā)時所處的位置,G代表船舶航行結(jié)束后停靠的位置,經(jīng)過研究,發(fā)現(xiàn)船舶在航行時會途經(jīng)多個點,將這些點分別設(shè)為r1,r2,…,rN-1,基于此,設(shè)此時的船舶航行線路如公式(1)所示。
Rk={S,r1,r2,…,rN-1,G}
(1)
根據(jù)公式(1)中描述的航行線路,進(jìn)行初次運(yùn)行,發(fā)現(xiàn)此時運(yùn)行存在一定的問題,因此需要對船舶航行中的某些條件進(jìn)行約束。經(jīng)過研究發(fā)現(xiàn),船舶的約束條件有幾種,第一種,船舶的最短航線,用lmin表示;第二種,船舶的最長航線,用lmax表示;第三種,船舶的最大航行節(jié)點,根據(jù)上述三個約束條件,本文設(shè)計了約束集合,如式(2)所示。
(2)
公式(2)中,li代表船舶的規(guī)劃航線,根據(jù)公式(2)即可求出船舶航線的綜合約束范圍。
根據(jù)上文設(shè)置的船舶航行線路,帶入船舶綜合約束范圍,即可建立此時航線的數(shù)學(xué)模型,如式(3)所示。
(3)
公式(3)中,fk代表此時建立的航線規(guī)劃數(shù)學(xué)模型,ω1、ω2均代表權(quán)重值,fTAi則代表此時的威脅指標(biāo)。
經(jīng)過研究發(fā)現(xiàn),船舶在航行過程中還會受到某些外界因素干擾,例如航行時遇見水流狀態(tài)改變或水中有障礙物等,都會影響船舶的最優(yōu)航線?;诖藢⒄麄€船舶運(yùn)行中的威脅指標(biāo)設(shè)置為各個威脅因子的和[7],可以將此時船舶的航行路徑規(guī)劃成三個部分,從而降低航行時由于外界干擾帶來的威脅,計算此時每一個部分的威脅因子數(shù)值,并將其求和,得到此時的威脅指標(biāo)值如式(4)所示。
(4)
根據(jù)公式(4)可以求出此時的威脅指標(biāo)值,帶入到船舶航線規(guī)劃的數(shù)學(xué)模型中,即可求解出人工智能算法求解的基本參數(shù)。
人工智能算法與傳統(tǒng)的魚群算法和蟻群算法不同,其收斂性和穩(wěn)定性都比較好,因此利用上文中設(shè)計的公式(1)-(4),根據(jù)人工智能算法的最優(yōu)解求解方式,進(jìn)行改進(jìn),在算法中加入了變異概率和自適應(yīng)交叉概率,改進(jìn)后基于人工智能算法設(shè)計的交叉概率和變異概率Pm如公式(5)、公式(6)所示。
(5)
(6)
公式(5)、(6)中,Pc1、Pc2代表此時第一次迭代和第二次迭代的交叉率,f′代表適應(yīng)值,favg代表適應(yīng)初始值,fmax代表適應(yīng)最大值,Pm1、Pm2代表第一次和第二次變異產(chǎn)生值,f代表標(biāo)準(zhǔn)適應(yīng)值。
根據(jù)此時的求解公式進(jìn)行求解后,發(fā)現(xiàn)此時缺乏規(guī)劃穩(wěn)定編碼,因此需要設(shè)置此時船舶航線的編碼來進(jìn)行后續(xù)的求解,將第i個個體的編碼序列設(shè)置為xi1,xi2,…,xim,設(shè)置此時船舶航線中的航行節(jié)點為r,則此時的編碼位與個體值呈現(xiàn)一一對應(yīng)的狀態(tài)。將個體編碼值代入到交叉概率和變異概率的求解公式中,可以得出此時船舶的交叉概率和變異概率[8],即可進(jìn)行后續(xù)航線的規(guī)劃。
航線的規(guī)劃由幾個步驟組成,第一步,建立此時符合航線狀態(tài)的參數(shù),設(shè)置此時的迭代次數(shù),利用此時的迭代次數(shù)進(jìn)行航行規(guī)劃;第二步,根據(jù)迭代的參數(shù),建立船舶航行的數(shù)學(xué)模型設(shè)計遺傳算法的適應(yīng)度函數(shù);第三步是生成初始計劃,每個個體代表一個可行的船舶航線規(guī)劃計劃;第四步,根據(jù)適應(yīng)度函數(shù)計算個體適應(yīng)度值[9],并根據(jù)計算結(jié)果評估可行的航線規(guī)劃方法的優(yōu)劣;第五步,根據(jù)評價結(jié)果,選出進(jìn)入下一代的優(yōu)秀個體;第六步,選擇一些個體進(jìn)行交叉和異變,并選擇更好的個體進(jìn)入下一代種群;第七步,將對數(shù)進(jìn)行比較。如果超過最大值,則停止求解,輸出最優(yōu)的方案,否則返回第四步。
根據(jù)航線的規(guī)劃步驟,設(shè)計此時航線規(guī)劃的數(shù)學(xué)模型求解函數(shù),如式(7)所示。
(7)
使用此函數(shù),結(jié)合人工智能算法改進(jìn)的交叉概率和變異概率,可得到此次研究中設(shè)定目標(biāo)函數(shù)的最優(yōu)解,如式(8)所示。
(8)
由公式(8)可得,ES為此時航線規(guī)劃數(shù)學(xué)建模的解。
采用仿真實驗的方式對文中設(shè)計算法與目前使用中算法的計算效果展開分析。在此次實驗過程中,選定某海洋環(huán)境地圖對實驗算法進(jìn)行對比實驗。在此實驗環(huán)境中,根據(jù)以往計算過程,將慣性權(quán)值取值設(shè)定為2.0。
為了檢測本文設(shè)計的基于人工智能算法的求解方法的有效性,需要進(jìn)行測試,首先就是進(jìn)行測試場景準(zhǔn)備,為了凸顯人工智能算法的求解效果,需要劃分測試的區(qū)域,本文將航線劃分為1500km×1500km,規(guī)定航線的起始點和目的地,計算此時的航線威脅指標(biāo),將計算的值輸出到規(guī)劃表格中,選用指定數(shù)量的種群進(jìn)行迭代次數(shù)計算,在C語言環(huán)境下進(jìn)行測試,具體仿真海洋地圖如圖1所示。
圖1 仿真海洋地圖
如圖1所示,在實驗環(huán)境中,Q表示路線規(guī)劃的起始點,P表示路線的結(jié)束點,圖中的黑色方塊表示海洋環(huán)境中的靜態(tài)障礙物,為了求解三種算法的迭代次數(shù)繪制此時三種算法求解后的路線規(guī)劃圖,如圖2所示。
圖2 不同算法路線規(guī)劃圖
根據(jù)圖2的路線規(guī)劃圖,仿真軟件輸出路徑長度,即魚群算法的最優(yōu)路徑為1800km,蟻群算法的最優(yōu)路徑為1750km,本文設(shè)計算法的最優(yōu)路徑為1700km。由此可見,本文算法規(guī)劃的路徑最短,具有較為優(yōu)越的性能。
為了檢測設(shè)計的人工智能算法的規(guī)劃效果,根據(jù)上文測試準(zhǔn)備中的最優(yōu)路徑,選擇魚群算法、蟻群算法和本文設(shè)計的基于人工智能算法對數(shù)學(xué)模型分別進(jìn)行求解,統(tǒng)計幾種方法的迭代次數(shù),測試結(jié)果如表1所示。
表1 測試結(jié)果
由表1的測試結(jié)果可知,本文設(shè)計方法的迭代次數(shù)低于魚群算法和蟻群算法的迭代次數(shù),可以降低求解時間,提高求解效率,因此本文設(shè)計算法的求解性能更佳。
為進(jìn)一步驗證本文算法的優(yōu)越性,將三種算法進(jìn)行求解,重復(fù)5次,統(tǒng)計耗時結(jié)果并進(jìn)行對比,得到不同算法的平均耗時結(jié)果如圖3所示。
圖3 不同算法的平均耗時
分析圖3可知,文本算法的平均耗時為3.62s,而魚群算法和蟻群算法的平均耗時為8.56s和8.5s。本文算法可以大大減少計算冗余度,進(jìn)而降低了計算的耗時。
綜上所述,規(guī)劃最優(yōu)的船舶航行路線對提高船舶運(yùn)行安全性,減少船舶危險性來說有重要意義,也可以提高船舶航線規(guī)劃水平,因此本文設(shè)計了基于人工智能算法的航線模型求解方法,實驗表明,本文設(shè)計的方法迭代次數(shù)少,能有效降低求解時間,提升求解效率,有一定的參考價值。