王 猛,王道波,王博航,周晨昶,姜 燕
(南京航空航天大學(xué)自動(dòng)化學(xué)院,江蘇 南京 210016)
現(xiàn)如今,無人機(jī)自主能力不斷完善,環(huán)境感知和認(rèn)識(shí)能力愈發(fā)成熟,在越來越多的領(lǐng)域大顯身手;另一方面,飛行任務(wù)多樣性和復(fù)雜性不斷上升,促使無人機(jī)集群自主控制成為了新的研究熱點(diǎn)[1]。
其中,協(xié)同航跡規(guī)劃為多無人機(jī)提供執(zhí)行任務(wù)的最優(yōu)航跡,是保證任務(wù)完成的重要環(huán)節(jié)[2]。目前,大部分算法[3-4]存在將多個(gè)目標(biāo)條件人為加權(quán)求和,變?yōu)閱我荒繕?biāo)進(jìn)行討論的情況,結(jié)果受加權(quán)系數(shù)影響較大。Deb等[5]在2001年提出了多目標(biāo)優(yōu)化算法——非支配排序遺傳算法(non-dominated sorting genetic algorithm II,NSGA-II),該算法使用Pareto最優(yōu)解集,避免了多目標(biāo)單一化處理,正廣泛應(yīng)用于多個(gè)領(lǐng)域[6-7];Lee等[8]將納什均衡方法與NSGA-II算法相結(jié)合,在僅考慮空間協(xié)同約束的條件下,有效解決了多無人機(jī)航跡規(guī)劃問題;周德云等[9]將時(shí)間協(xié)同和空間協(xié)同作為約束條件,在包含威脅區(qū)的二維平面內(nèi)規(guī)劃出多無人機(jī)航跡,但忽略了擁擠度算子,降低了種群個(gè)體的多樣性,易陷入局部最優(yōu)。
目前,針對(duì)多無人機(jī)協(xié)同航跡規(guī)劃,依舊存在以下問題:
a.部分算法在二維平面內(nèi)進(jìn)行討論。
b.缺乏同時(shí)考慮無人機(jī)的機(jī)動(dòng)性能約束和協(xié)同約束,或約束條件描述不夠詳細(xì)。
c.使用算法缺少尋優(yōu)能力和收斂性上的改進(jìn)。
本文使用改進(jìn)后的NSGA-II算法,在三維空間中進(jìn)行多無人機(jī)協(xié)同航跡規(guī)劃。首先,構(gòu)建多無人機(jī)飛行環(huán)境的數(shù)學(xué)模型,選用雙染色體編碼方式表示無人機(jī)航跡;同時(shí)考慮自身性能約束和協(xié)同約束,并對(duì)算法進(jìn)行改進(jìn):優(yōu)化交叉和變異概率,在選擇操作和精英保留策略中引入時(shí)間空間協(xié)同系數(shù)的比較;最后,進(jìn)行仿真實(shí)驗(yàn),與改進(jìn)前的NSGA-II算法進(jìn)行對(duì)比,證明改進(jìn)后算法的優(yōu)越性。
假設(shè)在某片區(qū)域中,地勢(shì)和地形已通過衛(wèi)星等方式獲取,區(qū)域內(nèi)包含敵方雷達(dá),如圖1所示。同時(shí),任務(wù)區(qū)域內(nèi)存在許多控制點(diǎn),位置已知,且部分控制點(diǎn)也處于雷達(dá)的檢測(cè)范圍之內(nèi)。為控制此片區(qū)域,無人機(jī)必須要反復(fù)檢查控制點(diǎn)處情況。
圖1 任務(wù)場(chǎng)景
為控制此片區(qū)域,由n(n>1)架無人機(jī)組成的編隊(duì)必須要反復(fù)檢查控制點(diǎn)處情況。無人機(jī)從起始航空站A起飛進(jìn)行偵察,偵察任務(wù)結(jié)束后飛入另一終點(diǎn)航空站B中,完成整個(gè)控制區(qū)域的偵查任務(wù)。飛行過程中考慮無人機(jī)自身性能約束、多無人機(jī)時(shí)間空間協(xié)同約束、航跡長(zhǎng)度和雷達(dá)檢測(cè)威脅等條件的情況,要求任意兩機(jī)互不相撞,無人機(jī)總航程距離最短,同時(shí)使無人機(jī)盡量遠(yuǎn)離雷達(dá),降低被發(fā)現(xiàn)概率,為多無人機(jī)編隊(duì)規(guī)劃出最優(yōu)航跡。
為保證所設(shè)計(jì)的航跡可滿足多無人機(jī)飛行的要求,必須考慮一系列約束條件,本文從自身性能約束和協(xié)同約束2方面進(jìn)行考慮。
2.1.1 自身性能約束
a.最大航程約束。
無人機(jī)自身攜帶油量一定,同時(shí)有配給的影響,因而存在航程上限,記最遠(yuǎn)航程為L(zhǎng)max。假如某條航跡中包含m個(gè)航點(diǎn),則要求該航跡段
(1)
li為該航程第i個(gè)航跡段的長(zhǎng)度,本文取最遠(yuǎn)航程為80 km。
b.最大爬升角。
飛機(jī)的爬升角約等于俯仰角,為防止飛機(jī)失速,必須考慮無人機(jī)的最大爬升角γ。航跡相鄰兩節(jié)點(diǎn)的角度α滿足
(2)
其中,第i-1個(gè)點(diǎn)坐標(biāo)為(xi-1,yi-1,zi-1);第i個(gè)點(diǎn)坐標(biāo)為(xi,yi,zi)。
本文取最大爬升角為30°。航跡規(guī)劃還需考慮最大轉(zhuǎn)彎角、最小步長(zhǎng)和最小飛行高度等其他條件。由于所需偵察的控制點(diǎn)的位置相對(duì)分散,其余約束基本滿足,暫不考慮。
2.1.2 協(xié)同約束
a.時(shí)間協(xié)同約束。
多機(jī)時(shí)間協(xié)同約束是指無人機(jī)間的出發(fā)時(shí)間和到達(dá)終點(diǎn)時(shí)間滿足一定關(guān)系,從而達(dá)到多機(jī)協(xié)同合作的效果。本文中,起點(diǎn)航空站同時(shí)派出所有無人機(jī),根據(jù)無人機(jī)飛行速度范圍以及每個(gè)無人機(jī)的飛行距離,計(jì)算出每個(gè)無人機(jī)飛行所需的最長(zhǎng)和最短時(shí)間。若能保證無人機(jī)同時(shí)到達(dá)航空站,則無人機(jī)的飛行到達(dá)時(shí)間區(qū)間必須存在交集,即可保證在一定時(shí)間范圍內(nèi)達(dá)到終點(diǎn)航空站。
假設(shè)第i-1架無人機(jī)的飛行速度為vi-1∈[vmin,vmax],飛行航程距離為L(zhǎng)i-1,第i架無人機(jī)的飛行速度為vi∈[vmin,vmax],飛行航程距離為L(zhǎng)i,則無人機(jī)飛行到達(dá)時(shí)間為
Ti-1∈[Ti-1,min,Ti-1,max]=[Li-1/vmax,Li-1/vmin]
(3)
Ti∈[Ti,min,Ti,max]=[Li/vmax,Li/vmin]
(4)
若2機(jī)滿足時(shí)間協(xié)同條件,則
(5)
時(shí)間協(xié)同系數(shù)ft記為
(6)
可見,當(dāng)ft小于0時(shí),該航跡符合時(shí)間協(xié)同約束條件,且ft值越小,協(xié)同性能越佳。本文取飛機(jī)最小飛行速度vmin為80 km/h,最大飛行速度vmax為160 km/h。
b.空間協(xié)同約束。
空間協(xié)同約束表示無人機(jī)在執(zhí)行任務(wù)的過程中,任意兩機(jī)之間距離須不小于最小的安全距離dsafe。為避免無人機(jī)相撞導(dǎo)致任務(wù)失敗,協(xié)同規(guī)劃過程中考慮無人機(jī)避撞情況。記第i架無人機(jī)的位置為Xi,第j(i≠j)架無人機(jī)的位置為Xj,則兩架飛機(jī)間的距離d應(yīng)滿足
(7)
當(dāng)無人機(jī)結(jié)束各自航程,飛入終點(diǎn)航空站時(shí),機(jī)間距離不可避免地不斷減小,需調(diào)整安全距離dsafe,即
(8)
s為飛機(jī)與終點(diǎn)航空站之間的距離。同時(shí),記本文中安全距離D=0.5 km,空間協(xié)同系數(shù)fs為
(9)
航跡規(guī)劃的目的是以航跡代價(jià)模型作為評(píng)判標(biāo)準(zhǔn),設(shè)計(jì)出最適合多無人機(jī)飛行的航跡,所以航跡代價(jià)模型的設(shè)計(jì)是航跡規(guī)劃的核心。
a.航跡長(zhǎng)度代價(jià)。
無人機(jī)飛行航跡長(zhǎng)度越短,執(zhí)行任務(wù)耗時(shí)減少,任務(wù)的成功率也相對(duì)更高。累加所有航跡段的長(zhǎng)度,求得航跡長(zhǎng)度代價(jià)函數(shù)。假設(shè)本次任務(wù)中,航跡段個(gè)數(shù)為n,航程距離總和為fL,則
(10)
li為第i個(gè)航跡段長(zhǎng)度。
b.雷達(dá)威脅代價(jià)。
雷達(dá)的信噪比[10]S/N數(shù)值越小,則代表該目標(biāo)被此雷達(dá)捕捉的概率越小,反之亦然。信噪比主要與目標(biāo)和雷達(dá)的距離有關(guān),對(duì)其原始公式[11]進(jìn)行化簡(jiǎn),得到
(11)
k為常數(shù);dR為目標(biāo)與雷達(dá)的距離。假設(shè)偵查雷達(dá)的天線可以360°掃描,能進(jìn)行全方位偵查,則偵察到無人機(jī)的概率pR為
(12)
dmax為雷達(dá)所能探測(cè)到的最大距離;dmin為雷達(dá)一定能探測(cè)到目標(biāo)的距離范圍。如圖2所示,O點(diǎn)為雷達(dá)位置。
圖2 雷達(dá)作用范圍
為計(jì)算航跡段的雷達(dá)威脅代價(jià)值,將該航跡段平均分為5份,計(jì)算出目標(biāo)處于4個(gè)等分點(diǎn)和航跡段終點(diǎn)時(shí)被雷達(dá)偵查的概率,將5個(gè)值求和再取均值,求得該航跡段的雷達(dá)威脅代價(jià)。將所有航跡段的代價(jià)值相加,即得到該航跡的雷達(dá)威脅代價(jià)函數(shù)值。
1994年,Deb等提出了NSGA(non-do-minated sorting genetic algorithm)算法。2001年,該團(tuán)隊(duì)為更好地解決多目標(biāo)優(yōu)化問題,在原先NSGA[12]算法基礎(chǔ)上,提出了NSGA-II算法。NSGA-II算法降低了NSGA算法運(yùn)算時(shí)間復(fù)雜度,提高了收斂性。該算法通過不斷迭代,經(jīng)過變異交叉選擇等操作,最終生成1組Pareto最優(yōu)解。
快速非支配排序和擁擠度距離計(jì)算是NSGA-Ⅱ算法的重要步驟,前者將目標(biāo)解進(jìn)行劃分,生成Pareto前沿,Pareto前沿等級(jí)最優(yōu)解組成Pareto解集,后者在前者的基礎(chǔ)之上,計(jì)算每層Pareto前沿上相鄰解的擁擠距離,算法則讓Pareto等級(jí)更高,擁擠距離更大的解作為子代種群,再次進(jìn)入循環(huán),這樣便同時(shí)保證了解的多樣性和收斂性。
多無人機(jī)協(xié)同航跡規(guī)劃問題的目標(biāo)函數(shù)之間通常存在沖突,難以得到使所有目標(biāo)均達(dá)到最優(yōu)的解。通過權(quán)衡各目標(biāo)函數(shù)生成的Pareto解集[13],得到一系列“近似最優(yōu)解”,即在約束條件允許的情況下,使得一個(gè)或多個(gè)目標(biāo)條件達(dá)到最優(yōu),其余目標(biāo)條件盡可能最優(yōu)。在避免人為加權(quán)影響結(jié)果的情況下,可根據(jù)實(shí)際情況的具體要求選擇不同的解。
假設(shè)該優(yōu)化問題存在M個(gè)目標(biāo)函數(shù),N個(gè)決策目標(biāo),即
(13)
x為由N個(gè)決策目標(biāo)組成的決策變量;y為目標(biāo)向量。
定義1(Pareto支配關(guān)系),若存在決策變量x0和x1,使得
fi(x0)≥fi(x1)i=1,2,…,M
(14)
(15)
則稱x0對(duì)x1是Pareto支配的。
定義2(Pareto前沿),受支配情況相同的解Pareto等級(jí)相同,構(gòu)成Pareto前沿。
定義3(Pareto最優(yōu)解集),對(duì)于一個(gè)決策變量,如果不存在能夠支配它的其余變量,則為非支配解,稱該變量為Pareto最優(yōu)解。一系列非支配解所構(gòu)成的集合即為Pareto最優(yōu)解集。
種群個(gè)體的交叉和變異是產(chǎn)生新個(gè)體的重要來源[14],但是,盲目的進(jìn)行交叉和變異可能導(dǎo)致最優(yōu)解的破壞,迭代結(jié)果陷入局部最優(yōu)。NSGA-II主要通過擁擠距離來判斷種群的離散程度,本文將個(gè)體擁擠距離與該個(gè)體所在Pareto前沿的個(gè)體平均擁擠距離進(jìn)行對(duì)比,并引入迭代因子i,確定交叉變異概率的大小,實(shí)現(xiàn)種群自適應(yīng)進(jìn)化,加強(qiáng)算法的搜索能力以及收斂方向的準(zhǔn)確性。交叉概率pc和變異概率pm分別表示為
(16)
(17)
在種群迭代更新前期,進(jìn)化個(gè)體具有較大的交叉和變異概率,滿足種群個(gè)體多樣性的要求,加強(qiáng)了算法的全局搜索能力;更新后期,進(jìn)化個(gè)體的交叉和變異概率趨于平均值,算法著重于局部搜索,得到最終解。在原始的NSGA-II算法中,Pareto前沿的邊緣個(gè)體擁擠距離設(shè)為無窮,為方便平均擁擠距離的計(jì)算,本次案例中設(shè)為0。
3.3.1 染色體編碼及種群初始化
本文使用雙染色體編碼方式[15]描述航跡。將所有的航點(diǎn)進(jìn)行編號(hào),一條染色體的基因表示航點(diǎn)(不包含起始點(diǎn)和終止點(diǎn)),另一條染色體的基因表示斷點(diǎn),該斷點(diǎn)將表示航點(diǎn)的染色體進(jìn)行分段,每一段表示1架無人機(jī)的航跡。假設(shè)現(xiàn)規(guī)劃4架無人機(jī)的航跡,共偵查11個(gè)控制點(diǎn),如圖3所示。染色體1的基因表示航點(diǎn),其基因數(shù)量與航點(diǎn)數(shù)相同;染色體2的基因表示斷點(diǎn),基因個(gè)數(shù)與無人機(jī)數(shù)量相同。染色體2中3表示無人機(jī)1需要依次偵查染色體1中前3個(gè)控制點(diǎn),以此類推,從而得到所有飛機(jī)的航跡,其中,0表示出發(fā)的航空站,12表示終點(diǎn)航空站。
圖3 雙染色體表示航跡
本文采用隨機(jī)數(shù)法進(jìn)行種群初始化,同時(shí)考慮單無人機(jī)偵查的航點(diǎn)個(gè)數(shù)的最大和最小值。一方面可以一定程度上滿足無人機(jī)最大航程的約束,另一方面可以使得無人機(jī)間分配的航點(diǎn)相對(duì)分散,生成的初代種群相對(duì)合理。本文設(shè)單機(jī)偵查航點(diǎn)數(shù)最大值Cmax=10,最小值Cmin=4。
3.3.2 選擇操作
NSGA-II算法通過經(jīng)典二元錦標(biāo)賽選擇法進(jìn)行種群中優(yōu)質(zhì)個(gè)體的選擇,本文對(duì)其進(jìn)行如下修改。首先,剔除生成的種群中不滿足自身性能約束的解,然后再對(duì)剩余的解使用二元錦標(biāo)賽選擇法:
a.若兩解均滿足協(xié)同約束,則先比較Pareto等級(jí),選擇等級(jí)更優(yōu)者;若Pareto等級(jí)相同,則比較擁擠距離,選擇擁擠距離較大的一方。
b.若有一解不滿足協(xié)同約束條件,則選擇滿足協(xié)同約束條件的一方。
c.若均不滿足協(xié)同約束條件,則進(jìn)行協(xié)同系數(shù)比較,先比較空間協(xié)同系數(shù),擇優(yōu)錄??;若相同,再比較時(shí)間協(xié)同系數(shù),擇優(yōu)錄取。反復(fù)執(zhí)行多次二元錦標(biāo)賽選擇法,直至所篩選個(gè)體數(shù)目與原種群個(gè)體數(shù)目相等。
3.3.3 交叉操作
進(jìn)行交叉操作時(shí),針對(duì)以航點(diǎn)作為基因的染色體進(jìn)行雙點(diǎn)交叉。隨機(jī)選擇2條航跡作為交叉對(duì)象,再隨機(jī)選擇相等數(shù)目的多個(gè)相鄰航點(diǎn)進(jìn)行交叉操作。以圖3舉例,交叉結(jié)果如圖4所示。
圖4 交叉操作
3.3.4 變異操作
變異操作分為航點(diǎn)變異和斷點(diǎn)變異,2種變異相互獨(dú)立,概率相同。航點(diǎn)變異方式有2種,發(fā)生變異時(shí),算法會(huì)隨機(jī)選擇一種方式進(jìn)行變異。一種是在同一條以航點(diǎn)作為基因的染色體隨機(jī)選擇2個(gè)航點(diǎn),進(jìn)行交換操作;另一種則是在染色體中隨機(jī)選擇1段航點(diǎn)進(jìn)行翻轉(zhuǎn)操作。斷點(diǎn)變異則是重新生成斷點(diǎn)染色體。同樣以圖3為例,航點(diǎn)變異如圖5和圖6所示。
圖5 航點(diǎn)變異方法一
圖6 航點(diǎn)變異方法二
3.3.5 精英保留策略
剔除所有不滿足自身性能約束條件的解,再將剩余的解依據(jù)是否同時(shí)滿足時(shí)間空間協(xié)同約束分為2類。對(duì)所有同時(shí)滿足時(shí)間空間協(xié)同約束的第1類解依據(jù)Pareto等級(jí)和擁擠距離擇優(yōu)錄??;若第1類解數(shù)量不足N,則在第2類解中繼續(xù)挑選——先挑選滿足空間協(xié)同約束的解,若挑選的解的總數(shù)還是不足N,則對(duì)第2類解中剩余解按照時(shí)間協(xié)同系數(shù)大小從小到大繼續(xù)挑選。直至挑選的解的總數(shù)為N。
a.種群初始化。確定雷達(dá)、航空站以及所需偵查的控制點(diǎn)(航點(diǎn))的數(shù)量和位置,同時(shí)確定無人機(jī)數(shù)量以及單無人機(jī)偵查航點(diǎn)數(shù)的最大、最小值,并進(jìn)行種群初始化,種群個(gè)體數(shù)目為N。計(jì)算初代種群個(gè)體(初代父代種群)的代價(jià)函數(shù)值及約束值,利用快速非支配排序得出每個(gè)個(gè)體的Pareto等級(jí),并計(jì)算每個(gè)個(gè)體的擁擠距離。
b.優(yōu)質(zhì)解選擇。對(duì)父代種群進(jìn)行選擇操作,挑選優(yōu)良個(gè)體,組成個(gè)體數(shù)目為N的新種群。
c.交叉和變異操作。對(duì)新的種群個(gè)體進(jìn)行自適應(yīng)交叉和變異,生成個(gè)體數(shù)目為N的子代種群。
d.目標(biāo)函數(shù)值和約束值計(jì)算。計(jì)算子代種群個(gè)體的2個(gè)目標(biāo)函數(shù)值、2個(gè)性能約束值和2個(gè)協(xié)同約束值,進(jìn)而計(jì)算每個(gè)個(gè)體的Pareto等級(jí)和擁擠距離。
e.生成新的父代種群。將父代種群和子代種群混合,使用精英保留策略篩選個(gè)體。當(dāng)所篩選的個(gè)體數(shù)量累計(jì)為N時(shí),結(jié)束篩選工作,構(gòu)成新的父代種群。
重復(fù)b~e,直至達(dá)到終止條件,得到最終結(jié)果以及每代的最優(yōu)結(jié)果。流程如圖7所示。
圖7 NSGA-II算法流程
在算法的迭代過程中,剔除掉不滿足自身性能約束的解,針對(duì)不滿足協(xié)同約束條件的解不能輕易地剔除,一方面保證解的多樣性,另一方面這些解中可能包含較優(yōu)的部分,可進(jìn)入下一輪迭代。
仿真平臺(tái)為 Intel Core i7-7500U CPU、16GB內(nèi)存、64位Win10操作系統(tǒng)的聯(lián)想筆記本。編程工具為MATLAB R2016b(64位)。
現(xiàn)給出待偵察控制點(diǎn)的位置坐標(biāo),無人機(jī)數(shù)量為3,敵方雷達(dá)數(shù)量為2,控制點(diǎn)位置暫不列出,航空站及雷達(dá)位置如表1所示。假設(shè)本例中使用一小型雷達(dá),探測(cè)范圍中dmax=3 km,dmin=0.4 km。
表1 參數(shù)設(shè)置
h1和h2分別為雷達(dá)所在地的當(dāng)?shù)馗叨?,由地?shì)方程決定。
選取算法迭代次數(shù)為500,種群個(gè)體數(shù)量為100,同時(shí),算法中適應(yīng)度函數(shù)取為2個(gè)代價(jià)函數(shù)的倒數(shù),則滿足適應(yīng)度函數(shù)值越大,該解越優(yōu)的情況。兩者的適應(yīng)度函數(shù)為
(18)
f1為航跡長(zhǎng)度代價(jià)的適應(yīng)度函數(shù)值;f2為雷達(dá)威脅代價(jià)的適應(yīng)度函數(shù)值。因?yàn)槔走_(dá)威脅代價(jià)相對(duì)航跡長(zhǎng)度較小,則需調(diào)整系數(shù),使得f1與f2在一張圖中,便于實(shí)驗(yàn)觀察,不影響分析結(jié)果。
使用自適應(yīng)交叉變異的NSGA-II算法(算法1)與原始的NSGA-II算法(算法2),最終均規(guī)劃出滿足自身性能約束和協(xié)同約束的多組最優(yōu)航跡。算法2的交叉及變異概率為定值,交叉概率為0.5,變異概率為0.055,數(shù)值大小與算法1平均交叉概率pc,agv、平均變異概率pm,agv相等。
將2個(gè)算法多組最優(yōu)航跡的長(zhǎng)度代價(jià)函數(shù)值f1、雷達(dá)威脅代價(jià)函數(shù)值f2和時(shí)間空間協(xié)同系數(shù)值ft、fs進(jìn)行對(duì)比。其中,算法1的多組最優(yōu)航跡的代價(jià)函數(shù)值和協(xié)同系數(shù)值均相同,即表明多組最優(yōu)航跡雖航程不同,但最終導(dǎo)致的結(jié)果相同;算法2的多組最優(yōu)航跡最終導(dǎo)致2種結(jié)果,構(gòu)成2組代價(jià)函數(shù)值和協(xié)同系數(shù)值。結(jié)果如表2所示。
表2 算法結(jié)果對(duì)比
算法在迭代過程中篩除了不滿足自身性能約束的解,最終代結(jié)果均滿足自身性能約束,2種算法所得最終解均滿足時(shí)間空間協(xié)同約束。雖然算法2的最終解可根據(jù)結(jié)果分為2類,可供決策者進(jìn)行篩選,但算法1的解在適應(yīng)度函數(shù)值上均優(yōu)于算法2的解,代表算法1所求得的航跡擁有更短的航跡長(zhǎng)度,受雷達(dá)威脅程度的更低。說明NSGA-II算法經(jīng)過改進(jìn)之后,增強(qiáng)了求解精度,自適應(yīng)進(jìn)化增強(qiáng)了算法對(duì)最優(yōu)解的搜索能力。
由算法1所求得的最優(yōu)航跡如圖8所示,由算法2所求得的航跡如圖9所示??梢钥闯?,2組航跡的前半段類似,主要的區(qū)別在與后半段。
圖8 算法1最優(yōu)航跡
圖9 算法2最優(yōu)航跡
每代Pareto最優(yōu)解的個(gè)數(shù)即為每代最優(yōu)航跡數(shù),算法1與算法2每代最優(yōu)航跡數(shù)如圖10所示。
從圖10中可以發(fā)現(xiàn),算法1的最優(yōu)航跡數(shù)增加較快,在第23代達(dá)到最大值,隨后保持不變,即說明已找到最優(yōu)解集。算法2的最優(yōu)航跡數(shù)較不穩(wěn)定,在算法迭代運(yùn)算中期達(dá)到最大值,隨后出現(xiàn)明顯回落,振蕩嚴(yán)重,說明一直未能找尋最優(yōu)解集,最終在第366代保持穩(wěn)定,此時(shí)找到最優(yōu)解集,且最優(yōu)解個(gè)數(shù)較少。
圖10 最優(yōu)航跡數(shù)比較
可以看出,改進(jìn)后的算法1尋優(yōu)能力遠(yuǎn)大于算法2,不僅可以尋找到更優(yōu)解,尋找最優(yōu)解集的速度和數(shù)量明顯優(yōu)于算法2。
記錄下每代種群的Pareto最優(yōu)解集中適應(yīng)度函數(shù)最大值,以及協(xié)同系數(shù)最小值,通過最值判斷算法的尋優(yōu)情況。算法1的最值情況如圖11所示,算法2的最值情況如圖12所示。
圖11 算法1適應(yīng)度函數(shù)及協(xié)同系數(shù)最值變化情況
圖12 算法2適應(yīng)度函數(shù)及協(xié)同系數(shù)最值變化情況
對(duì)圖11和圖12分析結(jié)果如下:
a.算法1的收斂情況明顯優(yōu)于算法2。算法1中代價(jià)函數(shù)值f1、f2和時(shí)間空間協(xié)同系數(shù)ft、fs從第15代開始便保持穩(wěn)定,而算法2則一直處于尋優(yōu)狀態(tài),在第320代后保持代價(jià)函數(shù)值和協(xié)同系數(shù)穩(wěn)定。可以看出,改進(jìn)后的算法1收斂速度優(yōu)于算法2,穩(wěn)定性更好,且收斂的最終結(jié)果更優(yōu),收斂方向的準(zhǔn)確性更優(yōu)。
b.針對(duì)該多約束條件下多目標(biāo)多變量問題,算法為尋求最優(yōu)解,約束條件和適應(yīng)度函數(shù)之間往往也存在沖突。在算法2的第350代解中,航跡長(zhǎng)度代價(jià)函數(shù)值f1變大,時(shí)間協(xié)同系數(shù)變小,說明最優(yōu)航跡長(zhǎng)度變短,時(shí)間協(xié)同性能增強(qiáng),與此同時(shí),雷達(dá)威脅代價(jià)函數(shù)值f2變小,說明受雷達(dá)威脅程度的上升。說明規(guī)劃出的最優(yōu)航跡通過增加無人機(jī)受雷達(dá)威脅程度,可以獲得更短的路徑和更好的時(shí)間協(xié)同性能。
為在三維空間中實(shí)現(xiàn)對(duì)多無人機(jī)的航跡規(guī)劃,本文采用雙染色體編碼方式表示航跡,對(duì)無人機(jī)飛行的航跡長(zhǎng)度、航跡安全性、自身性能約束以及時(shí)間空間協(xié)同性等方面進(jìn)行綜合考慮,并且針對(duì)NSGA-II算法進(jìn)行改進(jìn):加入了自適應(yīng)進(jìn)化策略,同時(shí)優(yōu)化了種群個(gè)體選擇操作及精英保留策略,避免盲目進(jìn)化,加強(qiáng)算法的求解精度和收斂性。仿真實(shí)驗(yàn)證明,改進(jìn)后的NSGA-II算法增強(qiáng)了算法的尋優(yōu)能力,收斂速度變快,收斂方向的準(zhǔn)確性明顯提升,可以更好地解決多無人機(jī)的航跡規(guī)劃問題。未來研究,一方面注重于對(duì)選擇操作等環(huán)節(jié)的不斷優(yōu)化,使得算法運(yùn)行效率的不斷提升;另一方面,結(jié)合更多復(fù)雜環(huán)境,注重于航跡規(guī)劃中時(shí)間空間約束條件的創(chuàng)新。