蘇 山,馬澤遠(yuǎn),張 立,周夢(mèng)平,劉昊東
(上海機(jī)電工程研究所,上海 201109)
隨著進(jìn)攻導(dǎo)彈技術(shù)的不斷發(fā)展,單一攔截彈防空模式已經(jīng)無(wú)法滿足現(xiàn)代作戰(zhàn)需求[1-3],因此多攔截器技術(shù)(multiple kill vehicle,MKV)應(yīng)運(yùn)而生。通常多攔截器技術(shù)是指通過(guò)一次導(dǎo)彈發(fā)射,釋放出多個(gè)攔截器,同時(shí)摧毀多個(gè)來(lái)襲威脅目標(biāo)的技術(shù),以增加對(duì)來(lái)襲導(dǎo)彈的攔截概率并提高攔截效率。在多攔截器技術(shù)眾多分支中,目標(biāo)分配技術(shù)極為重要,受到研究者的普遍重視。
針對(duì)武器目標(biāo)分配問(wèn)題(weapon target allocation,WTA),Shi等[4]引入一種大規(guī)模稀疏問(wèn)題的進(jìn)化算法(SparseEA),解決了特定問(wèn)題初始化方法,帶有獎(jiǎng)勵(lì)策略的遺傳算子能夠考慮變量的稀疏性高效生成解的問(wèn)題,并提出了一種改進(jìn)的非支配解選擇方法來(lái)處理約束。Fu等[5]提出了一種變概率賦值技術(shù),用概率分配方式代替隨機(jī)均勻分配方式對(duì)遺傳算法變量進(jìn)行初始化,生成接近最優(yōu)個(gè)體的初始種群個(gè)體,表現(xiàn)出了比傳統(tǒng)初始化方法更優(yōu)的計(jì)算結(jié)果。Wang等[6]設(shè)計(jì)了一種基于遺傳算法的變值控制方法,以克服智能算法在解決WTA時(shí)由于問(wèn)題規(guī)模過(guò)大或無(wú)法獲得可行解而導(dǎo)致求解速度過(guò)慢的缺點(diǎn)。Zhang等[7]開(kāi)發(fā)一種基于差分進(jìn)化的粒子群優(yōu)化算法求解器以求解多任務(wù)優(yōu)化問(wèn)題,展示出了比傳統(tǒng)算法更優(yōu)的計(jì)算效果。吳詩(shī)輝等[8]以分配方案末速度差之和最大為優(yōu)化目標(biāo),以給定均勻分配度為約束條件,將其轉(zhuǎn)化為帶約束的非平衡任務(wù)分配問(wèn)題,并用線性規(guī)劃方法進(jìn)行求解。目前,針對(duì)WTA問(wèn)題的研究方向依然主要集中在傳統(tǒng)智能啟發(fā)式優(yōu)化算法的改進(jìn)上,通常通過(guò)融合不同的啟發(fā)式算法,或加入更優(yōu)的初始化策略以提高算法的計(jì)算效率以及其他性能。在相似領(lǐng)域中,Zammit等[9]針對(duì)3維無(wú)人機(jī)路徑規(guī)劃問(wèn)題,比較了A*算法與快速探索(RRT)隨機(jī)樹(shù)算法,開(kāi)發(fā)了一組變體來(lái)減輕標(biāo)準(zhǔn)算法中固有的缺點(diǎn),通過(guò)相同場(chǎng)景下的計(jì)算發(fā)現(xiàn)改進(jìn)后的A*算法性能更優(yōu)。Chen等[10]通過(guò)引入人工勢(shì)場(chǎng)法與A*算法進(jìn)行結(jié)合,極大的改進(jìn)了A*算法的計(jì)算速度,并有效縮短了所規(guī)劃的路徑長(zhǎng)度。Li等[11]提出了一種基于高斯分布信息素?fù)]發(fā)的蟻群算法來(lái)解決復(fù)雜環(huán)境下的機(jī)器人避障及路徑規(guī)劃問(wèn)題,實(shí)現(xiàn)了更高效的避障效果。Alnowibet等[12]針對(duì)多約束優(yōu)化問(wèn)題提出了一種混合梯度模擬退火算法,在效率、質(zhì)量、魯棒性上都得到了一定程度的提升。
文中以防空攔截器為研究對(duì)象,開(kāi)展基于改進(jìn)粒子群優(yōu)化的多攔截器目標(biāo)分配方法研究。首先建立多攔截器目標(biāo)分配數(shù)學(xué)模型,將目標(biāo)分配問(wèn)題轉(zhuǎn)化為離散優(yōu)化問(wèn)題;然后針對(duì)傳統(tǒng)離散粒子群算法(DPSO)計(jì)算效率不足的問(wèn)題,引入改進(jìn)粒子群優(yōu)化算法,進(jìn)行編解碼策略和分配算法的設(shè)計(jì),并以一種包含三種鄰域結(jié)構(gòu)的變鄰域搜索算法,分別解決了傳統(tǒng)粒子群算法求解離散優(yōu)化和局部收斂的問(wèn)題;接著設(shè)計(jì)了局部跳出策略的啟動(dòng)準(zhǔn)則,以平衡算法的算力開(kāi)銷,提高算法適應(yīng)性;最后在數(shù)值仿真中設(shè)計(jì)了三種不同的工況,驗(yàn)證了所設(shè)計(jì)的改進(jìn)粒子群優(yōu)化算法有效性。
文中目標(biāo)分配問(wèn)題建立在如下的條件或假設(shè)上:
1)進(jìn)攻飛行器以及攔截器實(shí)時(shí)位置速度矢量均已知;
2)每枚攔截器最多分配給1枚進(jìn)攻飛行器。
文中主要對(duì)收益適應(yīng)度函數(shù)進(jìn)行建模,用以表征分配效能。收益包含進(jìn)攻飛行器對(duì)攔截方設(shè)施威脅程度、攔截成功概率等指標(biāo)。威脅程度可以用威脅距離、進(jìn)攻飛行器飛行速度以及打擊目標(biāo)的重要程度等來(lái)衡量。文中將進(jìn)攻飛行器Ej威脅程度適應(yīng)度函數(shù)Fr,j定義為:
Fr,j=τ1exp(Rt+(1-sgn(Rt))r+
τ2(1-exp(-v))+τ3Fr3)
(1)
根據(jù)文獻(xiàn)[13],攔截器Pi對(duì)進(jìn)攻飛行器Ej的攔截概率估計(jì)模型函數(shù)表示為:
(2)
當(dāng)采用M枚攔截器(Pi,i=1,2,…,M)對(duì)N個(gè)進(jìn)攻飛行器(Ej,j=1,2,…,N)進(jìn)行攔截時(shí),為保證最佳的整體攔截效果,指定所有攔截器都需要分配到進(jìn)攻飛行器,而每枚攔截器至多分配給一個(gè)進(jìn)攻飛行器。設(shè)計(jì)所有分配到的攔截器對(duì)進(jìn)攻飛行器Ej的攔截成功率定義為:
(3)
式中,Λij表示分配矩陣Λ中的元素,并且
(4)
設(shè)計(jì)目標(biāo)分配總收益適應(yīng)度為總的進(jìn)攻飛行器威脅程度與攔截概率的組合,記為:
(5)
下面首先介紹粒子編碼解碼策略,解決傳統(tǒng)粒子群算法無(wú)法解決離散優(yōu)化的問(wèn)題;然后引入改進(jìn)粒子群優(yōu)化算法,利用變鄰域搜索算法(VNS)鄰域結(jié)構(gòu)變換的特點(diǎn),解決粒子群優(yōu)化算法容易陷入局部最優(yōu)問(wèn)題,并在算法中引入了跳出準(zhǔn)則以平衡變鄰域搜索算力消耗問(wèn)題。
對(duì)于最優(yōu)目標(biāo)分配問(wèn)題,其求解類似于整數(shù)規(guī)劃問(wèn)題,而粒子群優(yōu)化算法的更新是一個(gè)連續(xù)變化的過(guò)程,難以避免出現(xiàn)非整數(shù)的解。因此對(duì)于連續(xù)變化的粒子需要通過(guò)合適策略進(jìn)行編解碼才能匹配問(wèn)題的解。
由前面分析可知,每一Λ矩陣都代表一個(gè)分配結(jié)果,其具體含義為:矩陣行代表同一個(gè)攔截器編號(hào),列代表同一個(gè)目標(biāo)飛行器編號(hào)。矩陣中元素Λij=0代表攔截器i不分配給目標(biāo)j,Λij=1則反之。由于同一枚攔截器最多只能分配給一個(gè)目標(biāo),因此可以很容易得知,應(yīng)滿足約束矩陣無(wú)窮范數(shù)應(yīng)當(dāng)小于或等于1,即
(6)
因此該優(yōu)化問(wèn)題可表示為:
(7)
式中F*表示最優(yōu)適應(yīng)度函數(shù)。
文中以粒子分配矩陣Λ作為粒子的位置,欲得到滿足要求的分配矩陣,則需要對(duì)連續(xù)變化的粒子位置進(jìn)行解碼。
首先,可以明確得知每一種分配結(jié)果的適應(yīng)度值以及分配約束;其次,最優(yōu)分配對(duì)應(yīng)的分配矩陣元素值為1,而其他值為0?;谏鲜鰲l件,給出以下引理。
根據(jù)上述引理,文中設(shè)計(jì)粒子Λ位置初值滿足Λij∈[0,1],那么根據(jù)適應(yīng)度函數(shù)式(5)進(jìn)行迭代的粒子群優(yōu)化算法能夠收斂到極值點(diǎn),且滿足式(7)。以下給出證明過(guò)程。
證明:考慮適應(yīng)度函數(shù)式(5)與式(3),則
(8)
(9)
對(duì)式(9)取極大值可得:
(10)
由定義可知粒子矩陣Λ僅在列上有約束,而各行取值完全獨(dú)立,則有
(11)
當(dāng)設(shè)計(jì)此任務(wù)分配問(wèn)題的適應(yīng)度函數(shù)為式(8)的形式時(shí),運(yùn)行粒子群優(yōu)化算法,粒子的位置會(huì)自發(fā)向整數(shù)解上收斂。因此,粒子充分收斂后的位置可以滿足式(7)約束,即為該離散優(yōu)化問(wèn)題的解。
PSO算法執(zhí)行過(guò)程中,容易陷入局部收斂,從而導(dǎo)致最終收斂到的非全局最優(yōu)解。下面設(shè)計(jì)基于變鄰域搜索(VNS)算法的局部跳出策略,從而保證算法能夠有效跳出局部極值進(jìn)而找到全局最優(yōu)解。
VNS算法的核心思想是利用不同的鄰域結(jié)構(gòu)進(jìn)行交替搜索,從而跳出原來(lái)的解,擴(kuò)展算法搜索范圍。而對(duì)于文中給出的粒子形式,其鄰域結(jié)構(gòu)意義十分明確。首先對(duì)于一個(gè)矩陣有行變換和列變化兩種基本的變換方式,而由粒子矩陣Λ定義可知,不同的行和列分別表示不同的攔截器和不同的目標(biāo)飛行器。于是行變換和列變化均能夠在不破壞原粒子離散特性的基礎(chǔ)上,改變當(dāng)前分配策略并形成新的分配,進(jìn)而找到全局最優(yōu)解。
由上述定義可以得知,Λ矩陣行變換和列變換均能改變當(dāng)前的分配策略,跳出局部解并擴(kuò)大搜索范圍。于是在文中定義如下三種鄰域結(jié)構(gòu)。
1)第一鄰域結(jié)構(gòu)(交換鄰域,swaped nerghborhood):選取Λ矩陣中第i行與第j行進(jìn)行交換,且i=random{1,2,…,M},j=random{1,2,…,M},i≠j;同時(shí)選取第k列與第l列進(jìn)列交換,且k=random{1,2,…,N},l=random{1,2,…,N},k≠l。
2)第二鄰域結(jié)構(gòu)(轉(zhuǎn)置鄰域,inverted neighborhood):在Λ矩陣中任選第i行,并將該行元素進(jìn)行對(duì)稱轉(zhuǎn)置,且i=random {1,2,…,M},Λij=Λi(N-j+1),j∈{1,2,…,N},其余部分保持不變。
3)第三鄰域結(jié)構(gòu)(置換鄰域,exchanged neighborhood)向量,隨機(jī)生成一個(gè)滿足粒子約束的行向量,并將該行向量替換Λ矩陣中任意第i行,i=random{1,2,…,M},組成新的Λ矩陣。
根據(jù)以上三種鄰域結(jié)構(gòu),設(shè)計(jì)對(duì)應(yīng)鄰域抖動(dòng)算法。算法設(shè)計(jì)思路為:針對(duì)每一種鄰域結(jié)構(gòu),設(shè)定搜索次數(shù)K,在每次搜索中,執(zhí)行相應(yīng)變鄰域操作,并將操作前后適應(yīng)度值進(jìn)行比較,記錄更優(yōu)解。
得到上述三種鄰域抖動(dòng)算法之后,設(shè)計(jì)變鄰域搜索算法,將這三種鄰域操作包括進(jìn)來(lái),形成完整的變鄰域搜索策略。由于任何一種鄰域結(jié)構(gòu)的成功改變均能夠改變?cè)确峙洳呗?因此設(shè)計(jì)當(dāng)鄰域結(jié)構(gòu)改變能夠使得適應(yīng)度函數(shù)值增加時(shí),應(yīng)當(dāng)針對(duì)改變后的分配矩陣從第一鄰域結(jié)構(gòu)重新開(kāi)始新一輪搜索。包含三種鄰域結(jié)構(gòu)的變鄰域算法流程如圖1所示。
圖1 VNS算法框架示意圖Fig.1 VNS algorithm Framework
由上面的分析可以看出,對(duì)于一個(gè)陷入局部收斂的PSO算法,將一個(gè)分配矩陣當(dāng)作PSO算法中的一個(gè)粒子,通過(guò)進(jìn)行上述的操作鄰域就能夠?qū)崿F(xiàn)收斂局部的廣度搜索,進(jìn)而增加求得全局最優(yōu)解的可能性。
當(dāng)進(jìn)行粒子群算法求解時(shí),粒子位置會(huì)自發(fā)收斂到一個(gè)非0即1的整數(shù)序列,此時(shí)適應(yīng)度值將保持不變,粒子群算法可以看作進(jìn)入了局部收斂,且此時(shí)進(jìn)入變鄰域搜索不會(huì)破壞粒子收斂性。因此文中以粒子的適應(yīng)度函數(shù)值變化情況作為粒子是否進(jìn)入局部收斂狀態(tài)的判斷,并以此作為變鄰域搜索的啟動(dòng)準(zhǔn)則,增加了變鄰域算法的自適應(yīng)性。同時(shí)由于局部跳出策略計(jì)算量大,為了平衡計(jì)算開(kāi)銷,設(shè)計(jì)一定的跳出間隔,當(dāng)?shù)谝淮翁龊?經(jīng)過(guò)指定的迭代次數(shù),并且滿足粒子適應(yīng)度不發(fā)生變化時(shí)(局部收斂)進(jìn)行跳出算法的執(zhí)行。
于是,一種結(jié)合變鄰域搜索的粒子群優(yōu)化算法的流程圖如圖2所示。算法劃分為粒子群優(yōu)化以及變鄰域搜索兩大部分,二者通過(guò)變鄰域算法啟動(dòng)準(zhǔn)則連接。當(dāng)達(dá)到啟動(dòng)準(zhǔn)則后,則對(duì)粒子加入變鄰域的操作,使得粒子跳出局部收斂。
圖2 改進(jìn)粒子群算法流程圖Fig.2 Flow chart of improved particle swarm optimization
針對(duì)提出的改進(jìn)粒子群優(yōu)化算法分別設(shè)置三組仿真工況:
1)對(duì)比貪婪算法(greedy algorithm,GA)、傳統(tǒng)粒子群算法(particle swarm optimization,PSO,采用文中的編解碼策略)、離散粒子群(discrete particle swarm optimization,DPSO)算法及遍歷算法(traversal algorithm,TA),驗(yàn)證改進(jìn)粒子群優(yōu)化算法(improved particle swarm optimization,IPSO)優(yōu)越性。
2)通過(guò)調(diào)整系數(shù)驗(yàn)證啟動(dòng)準(zhǔn)則的有效性。
3)場(chǎng)景變化時(shí)的目標(biāo)分配算法。
設(shè)置仿真場(chǎng)景:
1)10枚攔截器參數(shù)見(jiàn)表1,包括位置坐標(biāo)、速度、攻擊距離及最大探測(cè)距離。
表1 攔截器參數(shù)Table 1 Interceptor parameters
2)8枚進(jìn)攻飛行器參數(shù)見(jiàn)表2,包括位置坐標(biāo)、速度及重要程度。
表2 目標(biāo)飛行器參數(shù)Table 2 Target vehicle parameters
使用文中設(shè)計(jì)的改進(jìn)粒子群優(yōu)化算法與傳統(tǒng)粒子群優(yōu)化算法、DPSO算法及貪心算法進(jìn)行比較,分配結(jié)果的適應(yīng)度函數(shù)變化如圖3所示。
圖3 算法收斂曲線比較Fig.3 Algorithm convergence curve comparison
圖3展示了分別采用文中給出的改進(jìn)粒子群優(yōu)化算法、傳統(tǒng)粒子群算法、DPSO算法和貪婪算法針對(duì)給出的仿真場(chǎng)景進(jìn)行分配仿真的計(jì)算結(jié)果。橫坐標(biāo)表示迭代的代數(shù),縱坐標(biāo)表示全局最優(yōu)適應(yīng)度函數(shù)。紅線表示改進(jìn)粒子群優(yōu)化算法的最優(yōu)適應(yīng)度變化曲線,藍(lán)色虛線表示傳統(tǒng)粒子群算法的最優(yōu)適應(yīng)度變化曲線,“x”型點(diǎn)為進(jìn)行變鄰域搜索的代數(shù),黑色虛線表示貪婪算法適應(yīng)度變化曲線,藍(lán)色實(shí)線表示DPSO算法收斂曲線。比較傳統(tǒng)粒子群算法曲線可以得知,在粒子群優(yōu)化算法還未收斂時(shí),兩算法的收斂曲線大致保持一致;粒子開(kāi)始收斂時(shí),二者出現(xiàn)明顯不同,可以看出,在傳統(tǒng)粒子群優(yōu)化算法迭代到第30代左右時(shí),粒子已經(jīng)陷入了收斂狀態(tài),此后變一直保持局部收斂的狀態(tài)。而對(duì)比改進(jìn)粒子群優(yōu)化算法,在第30代之后,當(dāng)滿足進(jìn)入變鄰域局部搜索的條件時(shí)(圖中“x”型點(diǎn)),算法便會(huì)進(jìn)行一次變鄰域搜索,找到一個(gè)新的更優(yōu)的解,從而讓粒子群算法跳出局部最優(yōu)的狀態(tài),并向全局最優(yōu)進(jìn)行收斂。對(duì)比離散粒子群優(yōu)化算法(DPSO),由于此離散算法在粒子空間中無(wú)收斂的概念,精細(xì)搜索(局部搜索)能力較差,表現(xiàn)為適應(yīng)度收斂速度慢且很難找到全局最優(yōu)解。由貪心算法的適應(yīng)度變化曲線可以看出,在迭代10次時(shí),其實(shí)算法已經(jīng)計(jì)算完成,并且收斂到了一個(gè)較差的結(jié)果。
由表3目標(biāo)分配結(jié)果可以看出,采用幾種算法最終收斂結(jié)果都能使得目標(biāo)分配矩陣元素收斂到0或1,并且滿足一枚攔截器最多分配給一個(gè)目標(biāo)的約束;由于仿真場(chǎng)景中攔截器數(shù)量多于進(jìn)攻目標(biāo)的數(shù)量,因此可以看出有些目標(biāo)被分配給多于一枚的攔截器,符合實(shí)際情況。同時(shí),對(duì)比三種分配算法的分配結(jié)果也可以看出,使用改進(jìn)粒子群優(yōu)化算法的最優(yōu)適應(yīng)度值更大,更接近遍歷算法得到的全局最優(yōu)值。
表3 目標(biāo)分配結(jié)果Table 3 Target assignment result
驗(yàn)證改進(jìn)粒子群優(yōu)化算法中局部跳出算法啟動(dòng)準(zhǔn)則的合理性。試驗(yàn)次數(shù)為5,試驗(yàn)結(jié)果記錄如表4所示。
表4 跳出準(zhǔn)則合理性試驗(yàn)結(jié)果Table 4 Out of the criterion rationality test results
表5 新增進(jìn)攻飛行器參數(shù)Table 5 Adding parameters of attacking aircraft
由上面試驗(yàn)結(jié)果可以看出,隨著間隔代數(shù)的增加,算法執(zhí)行所花費(fèi)的時(shí)間就越多,當(dāng)間隔代數(shù)設(shè)置為7時(shí),算法平均收斂時(shí)間為0.168 9 s;同時(shí),間隔代數(shù)增加也意味著算法計(jì)算結(jié)果更好,綜合時(shí)間開(kāi)銷與計(jì)算結(jié)果準(zhǔn)確性的平衡,可以取間隔代數(shù)為15。
設(shè)置一個(gè)額外的進(jìn)攻飛行器,模擬一個(gè)在目標(biāo)分配算法運(yùn)行途中突然發(fā)現(xiàn)新的目標(biāo)需要進(jìn)行計(jì)算的場(chǎng)景。原場(chǎng)景與上面仿真場(chǎng)景相同,在算法迭代次數(shù)為75時(shí),發(fā)現(xiàn)了一個(gè)新的目標(biāo),則此時(shí)的目標(biāo)分配場(chǎng)景變?yōu)?0枚攔截器分配給9枚進(jìn)攻飛行器的場(chǎng)景。
仿真結(jié)果如圖6所示。圖中對(duì)比了算法執(zhí)行途中加入新進(jìn)攻飛行器與不加新進(jìn)攻飛行器的最優(yōu)適應(yīng)度。其中紅色實(shí)線代表原改進(jìn)粒子群優(yōu)化算法的適應(yīng)度變化曲線,藍(lán)色虛線代表新增進(jìn)攻飛行器的改進(jìn)粒子群優(yōu)化算法的最優(yōu)適應(yīng)度變化曲線。由圖中曲線可以看出,在迭代次數(shù)為75之前,兩次仿真變化趨勢(shì)基本一致并且收斂到同一個(gè)最優(yōu)適應(yīng)度;迭代次數(shù)為75時(shí),由于新增了一架進(jìn)攻飛行器,目標(biāo)分配算法將基于之前的計(jì)算結(jié)果進(jìn)行粒子元素?cái)U(kuò)充,在改進(jìn)粒子群優(yōu)化算法的作用下,適應(yīng)度值快速增加,對(duì)應(yīng)的目標(biāo)分配結(jié)果也產(chǎn)生了變化,結(jié)果如圖4所示。由圖4曲線可以看出,中途出現(xiàn)任務(wù)變化時(shí),算法可以在利用原計(jì)算結(jié)果的基礎(chǔ)上繼續(xù)進(jìn)行計(jì)算,不用重新設(shè)定場(chǎng)景重新計(jì)算,節(jié)省了大量的算力。
圖4 試驗(yàn)3最優(yōu)適應(yīng)度變化曲線Fig.4 Experiment 3 optimal fitness curve
文中主要針對(duì)多飛行器攔截過(guò)程中的目標(biāo)分配問(wèn)題進(jìn)行了算法設(shè)計(jì)和仿真分析,通過(guò)設(shè)計(jì)一種改進(jìn)粒子群優(yōu)化算法解決了一般離散粒子群優(yōu)化算法容易陷入局部收斂的問(wèn)題,同時(shí)通過(guò)設(shè)計(jì)適應(yīng)度函數(shù)模型確保連續(xù)收斂的算法最終能夠收斂到離散的點(diǎn),并滿足目標(biāo)分配的約束條件。經(jīng)過(guò)仿真分析證明文中設(shè)計(jì)的改進(jìn)粒子群優(yōu)化算法能夠收斂到滿足分配約束的粒子位置,且相對(duì)傳統(tǒng)算法分配效能提高了9.4%,收斂結(jié)果與全局最優(yōu)偏差不超過(guò)0.1%。
考慮到文中算法中,變鄰域搜索接入方式為在PSO算法收斂后間隔指定代數(shù)串行參與計(jì)算,導(dǎo)致算法計(jì)算效率相較PSO算法有所降低。未來(lái)研究可考慮變鄰域算法的并行同步計(jì)算,進(jìn)一步提高算法效率。