王 楠 ,戴江斌 ,韓 鈞
(1.西安體育學(xué)院,西安 710068;2.空軍工程大學(xué),西安 710051)
反TBM(Tactical Ballistic Missile)的目標(biāo)分配,是為應(yīng)對(duì)大規(guī)模TBM進(jìn)攻,將來(lái)襲的TBM合理分配至防空反導(dǎo)攔截系統(tǒng),以實(shí)現(xiàn)對(duì)要地區(qū)域的防護(hù)。反TBM目標(biāo)分配問(wèn)題模型的有效性,算法的時(shí)效性決定了整個(gè)防空反導(dǎo)作戰(zhàn)的效能,是指揮決策的核心內(nèi)容之一。
反TBM目標(biāo)分配問(wèn)題屬于NP完全問(wèn)題,隨著戰(zhàn)場(chǎng)環(huán)境的日益復(fù)雜,參戰(zhàn)兵力兵器和來(lái)襲TBM目標(biāo)的增大,使得時(shí)間和空間復(fù)雜度呈指數(shù)級(jí)增長(zhǎng),傳統(tǒng)求解算法(如分支定界法、匈牙利法、整數(shù)規(guī)劃法等)已很不適宜,目前主要利用智能優(yōu)化算法進(jìn)行求解,如遺傳算法[1]、禁忌搜索算法[2]、粒子群算法[3]、蟻群算法[4]及模擬退火算法[5]等,雖發(fā)展顯著,但也普遍存在著早熟停滯現(xiàn)象,易陷入局部最優(yōu),且收斂速度較慢,無(wú)法滿(mǎn)足當(dāng)前防空反導(dǎo)快速實(shí)時(shí)要求。本文在考慮攔截效益和時(shí)空等約束的基礎(chǔ)上建立了反TBM目標(biāo)分配模型,并設(shè)計(jì)了帶交叉變異算子的模擬退火人工魚(yú)群優(yōu)化策略,提升模型求解的速度精度,有效提高防空反導(dǎo)作戰(zhàn)效能。
考慮反TBM目標(biāo)分配攔截效益最大化,攔截TBM數(shù)量最大化,以及導(dǎo)彈消耗最小化的目標(biāo),建立目標(biāo)函數(shù)模型為:
其中,F(xiàn)為攔截目標(biāo)的效益;pij為武器i對(duì)彈道導(dǎo)彈目標(biāo)j的攔截摧毀概率;wj為目標(biāo)j的威脅值;x=[xij]n×m為決策變量集合。Y 表示攔截目標(biāo)數(shù);yj=1,表示目標(biāo)j受到武器的攔截,yj=0,表示目標(biāo)j未受到武器的攔截。R為武器總的攔截彈消耗數(shù)量。由于是多目標(biāo)決策,采用線(xiàn)性加權(quán)法進(jìn)行轉(zhuǎn)換,將其轉(zhuǎn)換為單目標(biāo)最大化問(wèn)題:
1.2.1 空間約束
反TBM作戰(zhàn)首先需要考慮攔截武器系統(tǒng)對(duì)來(lái)襲TBM在空間范圍內(nèi)是否構(gòu)成攔截可能,因而建立空間約束條件為:
其中,Rij為目標(biāo)j與武器i之間的直線(xiàn)距離,Rimax為武器i能攔截目標(biāo)的最大遠(yuǎn)界;Vj為目標(biāo)j的速度,Vimax為武器i能攔截目標(biāo)的最大速度;Hj為目標(biāo)j的高度,Himin和Himax分別為武器i能攔截目標(biāo)的最小和最大高度。
1.2.2 時(shí)間約束
TBM飛行速度快,武器系統(tǒng)對(duì)其攔截時(shí)效性要求高,必須滿(mǎn)足發(fā)射窗口的時(shí)間約束,且對(duì)應(yīng)不同目標(biāo)通道的武器系統(tǒng),時(shí)間約束也不盡相同。
其中,tij為武器 i發(fā)射攔截彈時(shí)刻,tSij、tEij分別為目標(biāo)j到達(dá)武器i發(fā)射窗口最早、最晚發(fā)射點(diǎn)時(shí)間。
同時(shí),對(duì)于單目標(biāo)通道武器系統(tǒng),應(yīng)滿(mǎn)足:
對(duì)于多目標(biāo)通道武器系統(tǒng),應(yīng)滿(mǎn)足:
其中,N為目標(biāo)通道數(shù),Δti為武器i的射擊周期,ΔtFi為多通道武器發(fā)射兩枚導(dǎo)彈的時(shí)間間隔。
1.2.3 其他約束
本文對(duì)于其他約束條件,重點(diǎn)考慮上級(jí)的指令和同一TBM攔截次數(shù)。
對(duì)于上級(jí)指定攔截的目標(biāo),只要滿(mǎn)足空間和時(shí)間約束條件,則至少保證有一個(gè)武器系統(tǒng)實(shí)施攔截,那么:
其中,C為上級(jí)或指揮員命令攔截的目標(biāo)集合。
同時(shí),對(duì)任一目標(biāo)攔截的次數(shù)均不超過(guò)Num,即對(duì)任一目標(biāo)攔截Num次,均能以較高的攔截效益值將其擊毀,即
1.2.4 約束條件的處理
對(duì)于上述列舉的約束條件,可以利用綜合約束罰函數(shù)進(jìn)行處理。對(duì)于式(4),若目標(biāo)j相對(duì)武器i不滿(mǎn)足約束,則武器i無(wú)法攔截目標(biāo)j,則令pij=0。因此,仿真求解時(shí)可以不考慮此約束,認(rèn)為pij=0即不滿(mǎn)足此約束。
對(duì)于式(5)和式(6)決定的單目標(biāo)通道武器時(shí)間約束,若需要攔截的目標(biāo)數(shù)量是兩個(gè)以上時(shí),須判斷是否存在發(fā)射的時(shí)間窗口,且先到先打,將武器i需要攔截的目標(biāo)集合按到達(dá)武器i的發(fā)射區(qū)遠(yuǎn)界的先后順序排列,設(shè)目標(biāo)j最先到達(dá)發(fā)射區(qū)遠(yuǎn)界,則令tij=tSij,對(duì)第2個(gè)目標(biāo)w的發(fā)射時(shí)刻,以此類(lèi)推。綜合約束罰函數(shù)為:
同理,對(duì)于式(5)和式(7)決定的多目標(biāo)通道武器時(shí)間約束,設(shè)目標(biāo)j最先到達(dá)發(fā)射區(qū)遠(yuǎn)界,則令tij=tSij,對(duì)第2個(gè)目標(biāo)w的發(fā)射時(shí)刻,以此類(lèi)推。綜合約束罰函數(shù)為:
對(duì)于式(8),定義綜合的約束罰函數(shù),只要有一個(gè)子約束不滿(mǎn)足,就可以知道解是不可行的,則綜合約束罰函數(shù)為:
同理,對(duì)于式(9),綜合約束罰函數(shù)為:
其中,M為懲罰因子,是一個(gè)很大的正數(shù)。至此,將帶有約束的多目標(biāo)決策問(wèn)題轉(zhuǎn)換成一個(gè)不帶約束的單目標(biāo)組合優(yōu)化問(wèn)題。
人工魚(yú)群算法是一種自下而上的新型尋優(yōu)策略,但當(dāng)部分人工魚(yú)處于漫無(wú)目的的隨機(jī)移動(dòng)或人工魚(yú)群在非全局極值點(diǎn)出現(xiàn)較嚴(yán)重聚集情況時(shí),收斂速度大大減慢,同時(shí),人工魚(yú)群算法由于視野、步長(zhǎng)的隨機(jī)性和隨機(jī)行為的存在,最優(yōu)解的精度往往較低。
為有效應(yīng)對(duì)以上不足,本文引入遺傳算法中的交叉變異算子以提高收斂速度,通過(guò)設(shè)立公告板來(lái)記錄最優(yōu)人工魚(yú)個(gè)體狀態(tài),人工魚(yú)在行動(dòng)一次后將當(dāng)前狀態(tài)的函數(shù)值與公告板進(jìn)行比較,若優(yōu)于公告板則用當(dāng)前狀態(tài)取代公告板狀態(tài),當(dāng)最優(yōu)個(gè)體狀態(tài)在連續(xù)多個(gè)迭代過(guò)程中沒(méi)有變化或變化極小時(shí),開(kāi)始交叉變異操作,保留歷史最優(yōu)人工魚(yú)個(gè)體狀態(tài),將其他人工魚(yú)按一定的概率對(duì)少部分維進(jìn)行交叉變異,從而實(shí)現(xiàn)人工魚(yú)的跳變,調(diào)整優(yōu)化整個(gè)魚(yú)群。并且同時(shí)引入模擬退火算法以提高收斂精度,對(duì)最優(yōu)解狀態(tài)的人工魚(yú)個(gè)體進(jìn)行局部模擬退火,“精細(xì)搜索”局部?jī)?yōu)化,提高整個(gè)算法的局部搜索能力。
具體本文的問(wèn)題,人工魚(yú)狀態(tài)對(duì)應(yīng)武器的目標(biāo)分配即決策變量xij,人工魚(yú)當(dāng)前位置的食物濃度對(duì)應(yīng)目標(biāo)函數(shù)Z'。
假設(shè) n 個(gè)武器的編號(hào)為 1,2,3,…,n,m 個(gè)目標(biāo)的編號(hào)為1,2,3,…,m。當(dāng)?shù)趈個(gè)目標(biāo)分給了第i個(gè)火力單元時(shí),可令yj=i,則相應(yīng)的分配方案(人工魚(yú)狀態(tài))X 為:y1,y2,…,ym。這種編碼方式直觀、簡(jiǎn)單,并大大減少了個(gè)體總量和非可行的個(gè)體量。其反操作為:
用人工魚(yú)所在位置的食物濃度表示目標(biāo)函數(shù)Z',即Y=Z'。人工魚(yú)群通過(guò)覓食、聚群及追尾行為向食物濃度更大的區(qū)域游動(dòng)的過(guò)程,就是動(dòng)態(tài)尋優(yōu)的過(guò)程,通過(guò)這一過(guò)程不斷變化,使目標(biāo)分配方案不斷向最優(yōu)解附近的區(qū)域靠近。具體算法流程為:
1)產(chǎn)生初始可行解:①對(duì)于第j個(gè)目標(biāo),將武器按射擊的有利程度排隊(duì)。若排在第k名的武器具備射擊條件,則用F(j,k)表示該火力單元的代號(hào),否則就置F(j,k)=0;②在可行域內(nèi)構(gòu)造L個(gè)個(gè)體如下:第 1 個(gè)個(gè)體 T1:F(1,1),F(xiàn)(2,1),…,F(xiàn)(M,1);第h 個(gè)個(gè)體(h<L)Th的構(gòu)造為:假設(shè) Th為:y1,y2,…,yM,對(duì)于 yk,若 F(k,h)≠0,則令 yk=F(k,h);若 F(k,h)=0,則令 yk=F(k,1),其中 L 為群體規(guī)模;
2)公告板賦初值:計(jì)算初始魚(yú)群各人工魚(yú)個(gè)體當(dāng)前狀態(tài)的目標(biāo)函數(shù)值Y,比較大小,取最大值者進(jìn)入公告板,將此魚(yú)賦值給公告板,并設(shè)置初始公告板最優(yōu)人工魚(yú)狀態(tài)連續(xù)不變化或變化極小時(shí)的迭代次數(shù)Beststep為0,初始迭代次數(shù)Sum為0;
3)行為選擇:各人工魚(yú)分別模擬覓食、追尾、聚群和隨機(jī)行為,選擇行動(dòng)后Y值較大的行為實(shí)際執(zhí)行;
4)更新公告板:各人工魚(yú)每行動(dòng)一次后,檢驗(yàn)自身的Y與公告板的Y,如果優(yōu)于公告板,則以自身取代之;
5)變異條件判斷:判斷Beststep是否已達(dá)到預(yù)置的連續(xù)不變化次數(shù)的最大閾值,若是就執(zhí)行第6步,否則轉(zhuǎn)到第7步執(zhí)行;
6)對(duì)魚(yú)群內(nèi)除公告板中最優(yōu)個(gè)體之外其他所有人工魚(yú)執(zhí)行:①交叉操作:交換概率為pc,隨機(jī)從人工魚(yú)群中選擇兩個(gè)個(gè)體,執(zhí)行單點(diǎn)交叉操作,然后將形成的兩個(gè)新個(gè)體的函數(shù)值Y計(jì)算,并與公告板中的最優(yōu)值進(jìn)行比較,如果優(yōu)于公告板,則以自身取代之;②變異操作:對(duì)各人工魚(yú)的所有維分別產(chǎn)生隨機(jī)數(shù) r∈(0,1),如果 r<pm,對(duì)該個(gè)體該維進(jìn)行隨機(jī)初始化,否則該維保持不變,對(duì)新形成的魚(yú)群計(jì)算各人工魚(yú)的函數(shù)值Y,并與公告板中的最優(yōu)值進(jìn)行比較,如果優(yōu)于公告板,則以自身取代之;③置 Beststep為 0;
7)終止條件判斷:判斷Sum是否已達(dá)到預(yù)置的最大迭代次數(shù)或判斷最優(yōu)解是否達(dá)到了滿(mǎn)意的誤差界內(nèi),若不滿(mǎn)足,則Sum=Sum+1,Beststep=Beststep+1,轉(zhuǎn)到第3步執(zhí)行,進(jìn)行下一步魚(yú)群優(yōu)化過(guò)程,否則轉(zhuǎn)到第8步執(zhí)行;
8)對(duì)滿(mǎn)意最優(yōu)解域進(jìn)行局部?jī)?yōu)化:調(diào)用模擬退火優(yōu)化算法,對(duì)解進(jìn)一步局部?jī)?yōu)化,產(chǎn)生高精度最終解;
9)如果結(jié)果滿(mǎn)足約束則輸出最優(yōu)結(jié)果Y,即為分配問(wèn)題目標(biāo)值Z',否則,增大罰函數(shù)值重新跳回第1步進(jìn)行計(jì)算。
圖1 算法流程圖
依據(jù)經(jīng)驗(yàn),對(duì)模型參數(shù)進(jìn)行取值:最大攔截次數(shù)Num=5,子懲罰函數(shù)權(quán)重l=0.25(l=1,…,4),子目標(biāo)函數(shù)權(quán)重 ωF=0.5、ωY=0.3、ωR=0.2,懲罰因子初值M=1 000;算法參數(shù)取值:人工魚(yú)群規(guī)模Nf=300,可視距離Lvs=mn/20(表示人工魚(yú)可視距離是解域的1/20),步長(zhǎng)Lst=mn/40(表示人工魚(yú)最大步長(zhǎng)是解域的1/40),擁擠因子δ=0.11(表示90%的解域中只有不到10條人工魚(yú)),交叉概率pc=0.5,變異概率pm=1/20 mn(表示一條人工魚(yú)狀態(tài)中只有一維改變的概率大概是0.05),模擬退火初始溫度Ts=1,終止溫度Tf=0.001,最大進(jìn)化代數(shù)NSA=1 000。
武器系統(tǒng)數(shù)量n=6,其中單、多目標(biāo)通道武器系統(tǒng)數(shù)量分別為4和2,來(lái)襲目標(biāo)數(shù)量m=30,上級(jí)命令必須攔截的目標(biāo)數(shù)為3(為一般化起見(jiàn),隨機(jī)選取)。目標(biāo)到達(dá)武器系統(tǒng)攔截區(qū)遠(yuǎn)界的時(shí)間從[0,40]均勻分布隨機(jī)選取,目標(biāo)在武器系統(tǒng)的攔截區(qū)域停留時(shí)間從[25,50]中按均勻分布隨機(jī)選取。目標(biāo)威脅值從[0.2,0.8]中按均勻分布隨機(jī)選取,攔截效益值在[0,1]中隨機(jī)選取。武器系統(tǒng)的射擊周期為20 s。多目標(biāo)通道武器通道數(shù)為4,通道射擊間隔為3.5 s。用設(shè)計(jì)算法求解10次后,結(jié)果按照目標(biāo)函數(shù)值降序排列,如表1所示:
表1 目標(biāo)分配結(jié)果
則對(duì)應(yīng)最大Z'值的目標(biāo)分配方案為:
將本文所設(shè)計(jì)的算法與粒子群算法(PSO)、蟻群算法(ACO)進(jìn)行比較,分別隨機(jī)運(yùn)行50次,3種算法的性能比較指標(biāo)如第73頁(yè)圖2所示。
從圖2中可以看出本文所設(shè)計(jì)的算法在第10次迭代時(shí)便可以達(dá)到目標(biāo)的最優(yōu)分配,而PSO和ACO算法分別需要24次和36次迭代才能達(dá)到最優(yōu),且最優(yōu)解及平均解均高于其他兩種算法,說(shuō)明本算法具有較好的收斂特性,能較快地找到問(wèn)題的最優(yōu)解,適應(yīng)現(xiàn)代戰(zhàn)爭(zhēng)中反TBM作戰(zhàn)輔助決策的要求。
圖2 算法性能比較圖
本文針對(duì)TBM飽和式攻擊以及多彈頭突防的戰(zhàn)場(chǎng)環(huán)境,研究有效攔截時(shí)的目標(biāo)分配問(wèn)題。建立了體現(xiàn)多目標(biāo)多約束決策模型,設(shè)計(jì)了帶有交叉變異算子模擬退火人工魚(yú)群復(fù)合算法,并進(jìn)行了實(shí)驗(yàn)仿真驗(yàn)證,證明了算法的實(shí)時(shí)性和有效性。同時(shí),對(duì)于作戰(zhàn)想定、初始位和算法參數(shù)的確定還需要進(jìn)一步探討研究,以便更好地符合作戰(zhàn)實(shí)際。