章 胤, 田子豪, 張 順, 于 溪, 趙士賢
(1.燕山大學(xué) 理學(xué)院, 河北 秦皇島 066004;2.燕山大學(xué) 信息科學(xué)與工程學(xué)院, 河北 秦皇島 066004)
導(dǎo)彈武器以其射程遠(yuǎn)、精度高、威力大等諸多優(yōu)點(diǎn)成為打擊敵方軍事要地,以及政治中心和重要設(shè)施的主要手段之一。多波次、大彈量的常規(guī)導(dǎo)彈打擊涉及到導(dǎo)彈的機(jī)動運(yùn)輸。如何設(shè)計較優(yōu)的機(jī)動路徑,使導(dǎo)彈發(fā)射裝置以最短的時間機(jī)動至相應(yīng)陣地,從而減少暴露時間、增加生存概率顯得至關(guān)重要[1]。文中使用遺傳算法針對一般的機(jī)動規(guī)劃模型做出了改進(jìn)[2]。為了提高遺傳算法的收斂性,文中改進(jìn)了基本的交叉、變異算子,并采取基于收斂程度變異概率的方法,保證該算法應(yīng)對突發(fā)狀況時不會產(chǎn)生錯誤的信息。
對于多波次導(dǎo)彈的發(fā)射問題,其基本流程為:導(dǎo)彈發(fā)射裝置從待機(jī)地域前往第1波次發(fā)射點(diǎn)位;然后在其第1波次齊射完畢后,發(fā)射裝置前往轉(zhuǎn)載地域;接著發(fā)射裝置從轉(zhuǎn)載地域出發(fā)前往第2波次發(fā)射點(diǎn),直至最后一個波次導(dǎo)彈發(fā)射完畢。其中每一次發(fā)射點(diǎn)位不能和上一次發(fā)射點(diǎn)位相同,以免因發(fā)射點(diǎn)位暴露而遭到敵人的打擊。由于發(fā)射裝置在第2波次及之后的發(fā)射過程與之前的發(fā)射過程完全相同,因此在接下來分析過程中,首先研究兩個波次的導(dǎo)彈發(fā)射過程,再將其擴(kuò)展到多波次發(fā)射。
該模型主要實現(xiàn)發(fā)射裝置在兩波次導(dǎo)彈發(fā)射過程中的暴露時間最短,由此得出目標(biāo)函數(shù)
minT=mint1+mint2,
(1)
式中:minT——兩波次發(fā)射的最短暴露時間;
mint1——導(dǎo)彈發(fā)射裝置從待機(jī)地域到第1次發(fā)射點(diǎn)位的時間;
mint2——導(dǎo)彈發(fā)射裝置從第1次發(fā)射點(diǎn)位到轉(zhuǎn)載地域,并從轉(zhuǎn)載地域到第2次發(fā)射點(diǎn)位的時間和。
兩個波次導(dǎo)彈發(fā)射的三段路徑約束(車輛數(shù)為K)如下:
1)從待機(jī)地域前往第1次發(fā)射點(diǎn)準(zhǔn)備齊射。
每個發(fā)射點(diǎn)位不能重復(fù)使用
(2)
每輛車載裝置的始發(fā)地和目的地不能相同
(3)
導(dǎo)彈車載裝置從待機(jī)區(qū)域到第1次發(fā)射點(diǎn)位所需時間
(4)
式中:vk——第k輛車載裝置的速度;
2)從發(fā)射點(diǎn)到達(dá)轉(zhuǎn)載地域裝彈。
出發(fā)點(diǎn)為第1次發(fā)射點(diǎn)位,目的地為轉(zhuǎn)載地域
(5)
每個裝載地域同時只能一輛車裝彈,且裝彈時間為10 min
(6)
導(dǎo)彈車載裝置從第1次發(fā)射點(diǎn)出發(fā)到裝彈地域的時間
(7)
3)從轉(zhuǎn)載地域到達(dá)第2波次發(fā)射點(diǎn)。
(8)
車載裝置從導(dǎo)彈裝載地域機(jī)動至第2次發(fā)射點(diǎn)位所需時間
(9)
使用ArcMap構(gòu)建交通路網(wǎng)圖,并用其線段距離計算功能計算各相鄰結(jié)點(diǎn)間歐氏距離[3]。運(yùn)用Dijkstra算法求解待機(jī)地域到發(fā)射點(diǎn)位和轉(zhuǎn)載地域到發(fā)射點(diǎn)位之間的最短距離[4]。
2.2.1 確定染色體結(jié)構(gòu)
采用整數(shù)編碼方式[5],每一輛車載裝置兩波次間發(fā)射經(jīng)歷三個過程,故將每條染色體分為三段,每段的基因數(shù)等于車輛數(shù),如圖1所示。
圖1 染色體編碼
2.2.2 算法的具體步驟[6]
2.2.2.1 種群初始化
初始化函數(shù)采用隨機(jī)生成法,保證式(1)和式(7)的約束成立。
2.2.2.2 選擇
采取隨機(jī)抽樣選擇的方法,依據(jù)高適應(yīng)度優(yōu)先選擇的原則,從群體中選擇優(yōu)良個體,用以繁殖到下一代個體。
2.2.2.3 交叉
每次從種群中隨機(jī)選擇兩條染色體進(jìn)行交叉組合,而后隨機(jī)選擇進(jìn)行交叉操作的染色體基因。根據(jù)構(gòu)造的染色體結(jié)構(gòu),將轉(zhuǎn)載區(qū)和發(fā)射區(qū)分別進(jìn)行交叉操作。當(dāng)發(fā)射點(diǎn)基因段進(jìn)行交叉時,首先判斷需要交叉的發(fā)射點(diǎn)是否與本染色體的發(fā)射點(diǎn)基因重復(fù),如果重復(fù),則重新進(jìn)行交叉操作。
2.2.2.4 變異
從種群中隨機(jī)選擇一個個體進(jìn)行變異。當(dāng)需要對發(fā)射點(diǎn)位進(jìn)行變異時,首先判斷要變異的發(fā)射點(diǎn)位是否重復(fù),如果重復(fù),則重新進(jìn)行變異操作。考慮到每條染色體基因數(shù)目較多,在變異操作時將發(fā)射點(diǎn)位與轉(zhuǎn)載地域的染色體變異分開進(jìn)行。
2.2.3 算法的改進(jìn)
2.2.3.1 多點(diǎn)交叉
當(dāng)種群出現(xiàn)“早熟”現(xiàn)象[7]時,考慮對染色體進(jìn)行多點(diǎn)隨機(jī)交叉,即對兩條染色體進(jìn)行多基因交叉,對同一類基因進(jìn)行跨位置交叉的過程。以此提高催生新的個體的速率,從而加快尋優(yōu)速率。交叉點(diǎn)個數(shù)由基因長度決定,基因越長,選取的交叉點(diǎn)個數(shù)越多。染色體多點(diǎn)交叉具體過程如圖2所示。
2.2.3.2 提高收斂種群的變異概率
當(dāng)種群出現(xiàn)“早熟”現(xiàn)象[7]時,可通過增大這些擁有相同基因的染色體的變異概率,概率數(shù)值為正常個體變異概率的3~4倍,從而使新的種群中擁有更多不同的染色體,促生新的染色體的出現(xiàn),提高全局尋優(yōu)速率。
圖2 染色體多點(diǎn)交叉示意圖
對于24臺導(dǎo)彈發(fā)射裝置、60個發(fā)射點(diǎn)位、6個轉(zhuǎn)載地域使用MATLAB編程多次求解得出發(fā)射裝置機(jī)動路線方案,統(tǒng)計兩波導(dǎo)彈發(fā)射總耗時數(shù)據(jù)見表1。
表1 導(dǎo)彈發(fā)射裝置的機(jī)動路線方案
從表1中選取暴露時間最短的一組數(shù)據(jù)整理出機(jī)動路線方案見表2。
表2 導(dǎo)彈發(fā)射裝置的機(jī)動路線方案
使用Excel軟件統(tǒng)計分析表2中的數(shù)據(jù)可知,兩個波次的導(dǎo)彈發(fā)射一共耗時約為498.6 min(8.31 h)。
使用ArcMap工具軟件,將道路交通網(wǎng)絡(luò)構(gòu)成網(wǎng)絡(luò)數(shù)據(jù)集,繪制所有發(fā)射裝置的機(jī)動路線。A01發(fā)射裝置的機(jī)動路線如3所示。
圖3 A01發(fā)射裝置機(jī)動路線圖
圖3中,D1-Z03-J57-J58-J59-J62-F60代表發(fā)射裝置從待機(jī)地域出發(fā)到第1次發(fā)射點(diǎn)位的機(jī)動路線;F60-J62-J59-J58-J57-Z03-J52-J07-Z04代表發(fā)射裝置從第1波次發(fā)射點(diǎn)位行駛至轉(zhuǎn)載地域進(jìn)行裝彈的機(jī)動路線;Z04-J38-F34代表發(fā)射裝置從轉(zhuǎn)載地域出發(fā)到第2波次發(fā)射點(diǎn)位的機(jī)動路線。
確立了多步驟單次行動最短的路徑模型,將多波次的導(dǎo)彈發(fā)射過程看作重要節(jié)點(diǎn)間的移動,而每個單次發(fā)射過程之間的細(xì)節(jié)采用Dijkstra所求得的時間路徑[8]得出,從而構(gòu)造了一種基于Dijkstra算法和遺傳算法的路徑優(yōu)化求解模型。在針對兩個波次導(dǎo)彈發(fā)射的實例中,文中的Dijkstra算法和遺傳算法的路徑優(yōu)化模型得到了整體暴露時間為490~520 min,相比單獨(dú)的Dijkstra算法550 min的結(jié)果,最短暴露時間縮短了7%~10%。