劉志超,石章松,姜 濤,劉志坤
(海軍工程大學(xué),武漢 430000)
傳統(tǒng)的火力目標(biāo)分配往往是以聯(lián)合毀傷概率最大[1-4]或所有來(lái)襲目標(biāo)總期望生存值最小為模型[5]進(jìn)行的一次分配,這種情況造成了火力資源的浪費(fèi),在單批來(lái)襲目標(biāo)數(shù)目少,來(lái)襲批次多的情況下無(wú)法進(jìn)行持續(xù)抗擊。文獻(xiàn)[6]在聯(lián)合毀傷概率最大的基礎(chǔ)上,提出使所用的火力單元總量最小作為第2個(gè)目標(biāo)函數(shù),采用一種改進(jìn)的多目標(biāo)粒子群優(yōu)化算法進(jìn)行求解,在與單目標(biāo)函數(shù)對(duì)比中顯示了一定的有效性,但在毀傷概率最大和消耗火力單元總量最小這兩個(gè)相斥的目標(biāo)上需要合適的效費(fèi)比指標(biāo)進(jìn)行方案選擇。武器目標(biāo)分配實(shí)質(zhì)是一個(gè)整數(shù)型非線性組合優(yōu)化問(wèn)題[7],求解方法多種多樣,目前解決武器目標(biāo)分配的算法大致可分為以整數(shù)規(guī)劃法、動(dòng)態(tài)規(guī)劃法、啟發(fā)式搜索法等為代表的傳統(tǒng)算法,以禁忌搜索算法、遺傳算法、粒子群算法、蟻群算法和模擬退火算法等為代表的智能算法和將上述兩種以上算法結(jié)合起來(lái)對(duì)武器目標(biāo)分配進(jìn)行求解的混合算法三大類[8]。
現(xiàn)代戰(zhàn)爭(zhēng)中,為了實(shí)現(xiàn)最大軍事效益,飽和攻擊模式由傳統(tǒng)的一次性將盡可能多的彈藥投向敵方平臺(tái)轉(zhuǎn)變?yōu)槔脭撤狡脚_(tái)防御間隙進(jìn)行少量多批次的打擊。為在有限資源約束下抗擊更多批次來(lái)襲目標(biāo),本文在滿足抗擊毀傷概率指標(biāo)P和武器彈藥資源約束的前提下,建立最小資源損耗武器目標(biāo)分配模型并采用粒子群禁忌混合搜索算法對(duì)問(wèn)題進(jìn)行求解。粒子群算法操作簡(jiǎn)單,全局尋優(yōu)能力強(qiáng),但運(yùn)行到后期收斂速度較慢、求得的解精度不高,而禁忌搜索算法全局搜索能力弱、局部搜索能力強(qiáng)且收斂速度快,進(jìn)行兩種算法的結(jié)合可有效提高對(duì)模型最優(yōu)解的搜索能力。
問(wèn)題可描述為,同一批次來(lái)襲目標(biāo)數(shù)小于空閑火力單元數(shù)時(shí),假設(shè)每批空中來(lái)襲目標(biāo)有m個(gè),記為T1,T2,…,Tm,進(jìn)入了 n 個(gè)空閑火力單元 W1,W2,…,Wn的防區(qū),其資源數(shù)量分別為 Q1,Q2,…,Qn,每個(gè)火力單元只能同時(shí)打擊一個(gè)目標(biāo),每個(gè)目標(biāo)都遭到打擊且可分配多個(gè)火力單元進(jìn)行打擊,令Xij表示決策變量,若分配第i個(gè)火力單元攔截第j個(gè)目標(biāo),則Xij=1,否則Xij=0,Pij表示第i個(gè)火力單元對(duì)第j個(gè)目標(biāo)的毀傷概率,最小資源損耗武器目標(biāo)分配模型如下
式中,Cij為資源價(jià)值,式(2)~ 式(4)表示在滿足抗擊毀傷概率指標(biāo)P和武器彈藥資源約束的前提下,每個(gè)來(lái)襲目標(biāo)都能受到火力打擊分配,式(2)中P可根據(jù)專家意見或彈藥實(shí)際情況由指揮員進(jìn)行設(shè)定。
對(duì)粒子群算法的研究目前主要集中于連續(xù)型的粒子群算法,而任務(wù)分配是一個(gè)離散問(wèn)題,為對(duì)其進(jìn)行求解人們?cè)O(shè)計(jì)了離散粒子群算法并將其與其他算法結(jié)合,從而實(shí)現(xiàn)優(yōu)勢(shì)互補(bǔ)。在離散粒子群算法中,每個(gè)粒子都是一個(gè)備選解,最小資源損耗武器目標(biāo)任務(wù)分配的關(guān)鍵在于確定哪個(gè)來(lái)襲目標(biāo)由哪個(gè)或者哪幾個(gè)火力單元進(jìn)行抗擊,每個(gè)粒子長(zhǎng)度等于空閑火力單元數(shù)量n,粒子由按空閑火力單元編號(hào)順序排列的目標(biāo)編號(hào)組成,表示一種可能的分配方案,設(shè)空閑火力單元數(shù)量n等于5,目標(biāo)數(shù)目m等于3,第l個(gè)粒子為
表示:火力單元1攻擊來(lái)襲目標(biāo)1;火力單元2攻擊來(lái)襲目標(biāo)2,火力單元3空閑,火力單元4攻擊來(lái)襲目標(biāo)3,火力單元5攻擊來(lái)襲目標(biāo)1。若某來(lái)襲目標(biāo)未分配火力單元進(jìn)行打擊或?qū)δ硜?lái)襲目標(biāo)毀傷概率不滿足毀傷概率指標(biāo)P,則資源損耗設(shè)為無(wú)窮大,以此來(lái)篩選出符合約束條件的粒子。
粒子群算法的關(guān)鍵在于粒子,粒子通過(guò)對(duì)個(gè)體極值和全局極值的學(xué)習(xí)來(lái)更新自己的速度和位置信息,進(jìn)而向最優(yōu)解靠近,典型粒子速度和位置更新公式如下:
式(6)第1項(xiàng)是粒子對(duì)當(dāng)前速度的繼承,w為慣性權(quán)重,第2項(xiàng)表示粒子向自身經(jīng)歷過(guò)的最好點(diǎn)靠近,第3項(xiàng)表示粒子向群體中優(yōu)秀個(gè)體或群體中的歷史最優(yōu)點(diǎn)靠近。C1,C2為學(xué)習(xí)因子,r1和 r2為[0,1]間的隨機(jī)數(shù),l=1,2,…M,M 為粒子數(shù)量,j=1,2,…,n,針對(duì)所研究問(wèn)題的實(shí)際特點(diǎn),對(duì)粒子群算法位置和速度更新公式重新定義如下
式中:X1=(xl1,xl2,…,xln)為粒子 l在迭代中的位置;pl=(pl1,pl2,…,pln)為粒子 l的個(gè)體極值;pg=(pg1,pg2,…,pgn)為全局極值;w,c1,c2均介于[0,1]之間。位置更新公式構(gòu)成如下,設(shè)Ψl,Φl為臨時(shí)變量。
這對(duì)應(yīng)式(6)第1項(xiàng),該式代表一個(gè)概率為w的粒子位置矢量的置換操作,rand()<w時(shí),產(chǎn)生兩個(gè)[1,n]上的隨機(jī)數(shù)a和b,然后將粒子位置矢量的第a和第b個(gè)位置的數(shù)值進(jìn)行互換操作,即第a個(gè)火力單元攻擊的目標(biāo)和第b個(gè)火力單元攻擊的目標(biāo)進(jìn)行置換操作,rand()>w時(shí)Ψl(t)=Xl(t)。
這對(duì)應(yīng)式(6)第2項(xiàng),該式代表一個(gè)概率為的粒子位置矢量的交叉操作,若rand()<c1,產(chǎn)生兩個(gè)[1,n]上的隨機(jī)數(shù)a和b,然后將粒子位置矢量的第a至第b個(gè)位置的數(shù)值與個(gè)體極值pl相應(yīng)位置的數(shù)值進(jìn)行交叉操作,即將第a個(gè)火力單元攻擊的目標(biāo)至第b個(gè)火力單元攻擊的目標(biāo)與個(gè)體極值pl中第a個(gè)火力單元攻擊的目標(biāo)至第b個(gè)火力單元攻擊的目標(biāo)進(jìn)行互換,rand()≥c1時(shí)Φl(t)=Ψl(t),進(jìn)行式(9)的計(jì)算。
這對(duì)應(yīng)式(6)第3項(xiàng),該式代表一個(gè)概率為的粒子位置矢量的交叉操作,若rand()<c2,產(chǎn)生兩個(gè)[1,n]上的隨機(jī)數(shù)a和b,然后將粒子位置矢量的第a至第b個(gè)位置的數(shù)值與全局極值pg相應(yīng)位置的數(shù)值進(jìn)行交叉操作,即將第a個(gè)火力單元攻擊的目標(biāo)至第b個(gè)火力單元攻擊的目標(biāo)與全局極值pg中第a個(gè)火力單元攻擊的目標(biāo)至第b個(gè)火力單元攻擊的目標(biāo)進(jìn)行互換,rand()≥c2時(shí)Xl(t+1)=Φl(t),進(jìn)行式(10)的計(jì)算,經(jīng)過(guò)式(9)~式(11)不斷迭代更新,最終的pg(t)即為全局最優(yōu)解。
禁忌搜索算法是人工智能的一種成果,它可通過(guò)引入一個(gè)靈活的禁忌表存儲(chǔ)結(jié)構(gòu)和相應(yīng)的禁忌準(zhǔn)則來(lái)避免迂回搜索,并通過(guò)破禁策略來(lái)赦免一些被禁忌的優(yōu)良狀態(tài),進(jìn)而保證多樣化的有效搜索以最終實(shí)現(xiàn)全局優(yōu)化。它對(duì)初始解要求較高,好的初始解會(huì)有效提高收斂速度和搜索到的最優(yōu)解質(zhì)量,其主要思想為給定一個(gè)初始解和利用鄰域函數(shù)選定若干候選解,若候選解適應(yīng)度優(yōu)于當(dāng)前最優(yōu)解,則替代當(dāng)前最優(yōu)解并按照規(guī)則進(jìn)行禁忌表更新,若候選解中不存在優(yōu)于當(dāng)前最優(yōu)解的解,則在候選解中選出最優(yōu)狀態(tài)的解作為當(dāng)前解并按照規(guī)則進(jìn)行禁忌表更新,重復(fù)迭代過(guò)程,直到滿足預(yù)設(shè)停止規(guī)則。
圖1 粒子群禁忌混合搜索算法流程圖
本文中禁忌搜索離散粒子群算法是在每次迭代中離散粒子群算法給出的全局極值pg(t)的基礎(chǔ)上,使其任意兩個(gè)火力單元對(duì)應(yīng)的位置為0作為候選解集,直接進(jìn)行禁忌搜索,若某粒子優(yōu)于當(dāng)前最優(yōu)解pg(t),則忽視其禁忌狀態(tài)對(duì)當(dāng)前全局極值pg(t)更新操作,若沒有改進(jìn),使其任意一個(gè)火力單元對(duì)應(yīng)位置為0作為候選解進(jìn)行禁忌搜索,若某粒子優(yōu)于當(dāng)前最優(yōu)解pg(t),則忽視其禁忌狀態(tài)對(duì)當(dāng)前全局極值pg(t)更新操作,若沒有改進(jìn),結(jié)束禁忌搜索并判斷是否滿足結(jié)束條件,不滿足時(shí)進(jìn)行新一輪的循環(huán),粒子群禁忌混合搜索算法流程圖如圖1所示。
假設(shè)某時(shí)刻某海上防空平臺(tái)空閑火力單元有8個(gè) W1,W2,…,Wg,某批空中目標(biāo) T1,T2,T3,T4同時(shí)來(lái)襲,空閑火力單元資源價(jià)值Ci如表1所示,武器對(duì)目標(biāo)殺傷概率如表2所示。
表1 火力單元資源價(jià)值
表2 武器對(duì)目標(biāo)殺傷概率
分別采用粒子群算法和粒子群禁忌搜索算法對(duì)實(shí)驗(yàn)進(jìn)行仿真計(jì)算。仿真參數(shù)設(shè)置如下:粒子數(shù)取50,慣性系數(shù)w初始設(shè)置為0.9,線性下降至0.4,c1取值0.8,c2取值0.8,兩種算法各迭代100次,重復(fù)循環(huán)30次,對(duì)比在不同要求毀傷概率P下,每次循環(huán)中得出的資源消耗最小值和平均值大小。毀傷概率P分別取值0.8,0.9,如圖2~圖5所示。
從一次抗擊資源總消耗來(lái)看,在要求毀傷概率P=0.8和P=0.9的情況下,粒子群禁忌混合搜索算法和粒子群算法最優(yōu)值分別為 26(4,1,0,0,2,0,3,0)和 33(3,1,0,0,2,0,3,4),但從每次循環(huán)平均值看,粒子群禁忌混合搜索算法性能明顯優(yōu)于粒子群算法,每100次迭代得到最優(yōu)解的可能性更加穩(wěn)定。
圖2 粒子群禁忌混合搜索算法
圖3 粒子群算法
圖4 粒子群禁忌混合搜索算法
圖5 粒子群算法
為充分利用火力資源,解決傳統(tǒng)火力分配中目標(biāo)存活概率最小或?qū)δ繕?biāo)毀傷概率最大存在的資源浪費(fèi)情況,本文提出了在滿足抗擊毀傷概率指標(biāo)P和武器彈藥資源約束前提下的最小資源損耗武器目標(biāo)分配模型,由指揮員根據(jù)同一批次來(lái)襲目標(biāo)威脅度和火力資源的剩余情況合理設(shè)定毀傷概率,在火力資源充足的情況下可將毀傷概率指標(biāo)P均設(shè)置在同一較高標(biāo)準(zhǔn)上,在火力資源不足的情況下可根據(jù)來(lái)襲目標(biāo)威脅度分別設(shè)置其毀傷概率指標(biāo)P,避免過(guò)飽和打擊中的火力資源浪費(fèi),并通過(guò)算法改進(jìn),采用粒子群禁忌混合搜索算法對(duì)問(wèn)題進(jìn)行求解,仿真結(jié)果表明,相對(duì)于粒子群算法,粒子群禁忌混合搜索算法得出的解質(zhì)量更高,相同迭代次數(shù)中得出最優(yōu)解的性能更加穩(wěn)定。