本發(fā)明屬于戰(zhàn)斗機火力控制技術領域,特指一種基于蟻群算法的火力分配方法。
背景技術:
空戰(zhàn)中的火力分配(Weapon-target Assignment,WTA)是指,在綜合考慮執(zhí)行的戰(zhàn)斗任務、空戰(zhàn)態(tài)勢以及敵我雙方戰(zhàn)斗機與導彈性能等因素的基礎上,將我方一定數(shù)目的某種型號導彈分配給敵方每一架戰(zhàn)機的過程??諔?zhàn)態(tài)勢瞬息萬變,需要快速得到優(yōu)化的火力分配方案。然而,火力分配是一個動態(tài)的多變量、多約束組合優(yōu)化問題,具有對抗性、主動性、不確定性等特性,用傳統(tǒng)方法難以解決。近年來出現(xiàn)了人工智能(AI)、專家系統(tǒng)(ES)、人工神經(jīng)網(wǎng)絡(ANN)、模糊空戰(zhàn)系統(tǒng)、優(yōu)化理論(圖論、多目標決策、遺傳算法等)、信息論(如粗糙集)等方法,可用于火力分配求解,但依然存在可行解空間受限、難以找到最優(yōu)解、收斂過慢等問題難以解決。
蟻群算法是近年來頗受關注的一種新型模擬進化算法,是目前公認可以有效解決組合優(yōu)化問題的智能算法之一。該算法具有自組織、正反饋等特點,能夠將復雜的組合優(yōu)化問題映射到低層次的螞蟻的簡單行為。因此,利用蟻群算法解決火力分配這種多變量、多約束的組合優(yōu)化問題,以利用其正反饋的特性來搜索得到最佳的火力分配方案,是一種可行的空戰(zhàn)火力分配求解思路。但是經(jīng)典蟻群算法還存在諸如前期信息素匱乏、容易陷入局部最優(yōu)、對大空間問題收斂較慢等方面不足,還不能直接應用到空戰(zhàn)火力分配中來。
技術實現(xiàn)要素:
為了解決現(xiàn)有技術的不足,本發(fā)明的目的在于提出一種基于蟻群算法的火力分配方法。本發(fā)明著眼于蟻群算法的更新機制、路徑選擇機制和信息素區(qū)間機制三個方面,結合經(jīng)典蟻群系統(tǒng)(Ant Colony System,ACS)與最大-最小蟻群系統(tǒng)(MAX-MIN Ant System,MMAS)算法的思想,對蟻群算法進行改進,使得改進蟻群算法的前期進化趨勢更加合理、收斂速度更快并且能夠更好地避免陷入局部最優(yōu)。而且本發(fā)明面向火力分配提出的改進蟻群算法不僅可用于空戰(zhàn)火力分配,還可望用于其他組合優(yōu)化問題,如地面坦克群的進攻作戰(zhàn)、海上戰(zhàn)艦編隊作戰(zhàn)中的火力分配等決策問題。
本發(fā)明首先根據(jù)敵我雙方交戰(zhàn)態(tài)勢建立空戰(zhàn)威脅度模型和火力分配決策模型;其次在模型求解方面,針對經(jīng)典蟻群算法的不足進行算法改進,設計適合解決空戰(zhàn)火力分配的優(yōu)化算法。
一種基于蟻群算法的火力分配方法,包括以下步驟:
第一步,建立空戰(zhàn)火力分配模型,包括空戰(zhàn)威脅度模型和火力分配決策模型。
首先評估藍方戰(zhàn)機對紅方威脅度,基于此,以預期對藍方戰(zhàn)機打擊效果最大化和紅方所受威脅最小化為目標,進行火力分配。
設紅方N架戰(zhàn)機與藍方K架戰(zhàn)機進行空戰(zhàn)對抗,其中紅方戰(zhàn)機與藍方戰(zhàn)機速度、導彈攻擊范圍、雷達探測范圍、機動能力等性能不同,且紅方的預警機能夠準確識別藍方戰(zhàn)機的型號、速度以及空間位置;設Ri為第i架紅方戰(zhàn)機,Bj為第j架藍方戰(zhàn)機,為Ri的軸線方向,為Ri的飛行速度,εji為Bj相對于Ri的離軸角,為Bj的軸線方向,為Bj的飛行速度,εij為Ri相對于Bj的離軸角,LOS為雙方的視線方向,Dij為Ri與Bj之間距離。
(1)根據(jù)以上空戰(zhàn)態(tài)勢,分別針對角度威脅、距離威脅、速度危險和能力威脅進行建模,然后在此基礎上建立藍方對紅方的整體空戰(zhàn)威脅度模型。
(1.1)角度威脅函數(shù):
式中Sij1表示Bj對Ri的角度威脅度,與Ri和Bj的離軸角之差成正比;其中0°<εij,εji≤180°,-1≤Sij1≤1;當Ri離軸角為180°,Bj離軸角為0°,即Bj在正后方追擊Ri時,Bj對Ri的角度威脅度為1。
(1.2)距離威脅函數(shù):
式中表示藍方導彈的攻擊距離,表示藍方雷達的最大探測距離;
當紅方戰(zhàn)機位于藍方攻擊范圍時,距離威脅度值取最大值1;當紅方戰(zhàn)機處于藍方雷達探測距離以外時,距離威脅度取最小值0。
(1.3)速度威脅函數(shù):
式中表示紅方戰(zhàn)機速度,表示藍方戰(zhàn)機速度。當紅方較藍方的速度越大,則Bj對Ri的速度威脅度越小。
(1.4)能力威脅函數(shù):
首先通過文獻得到空戰(zhàn)能力公式為:
C=[ln B+ln(∑A1+1)+ln(∑A2)]ε1ε2ε3ε4 (4)
式中B為戰(zhàn)機的機動性能參數(shù);A1是火力攻擊能力參數(shù);A2為其雷達探測能力衡量參數(shù);ε1是飛行員的操控能力系數(shù);ε2是戰(zhàn)機生存能力系數(shù);ε3是戰(zhàn)機航程范圍系數(shù);ε4是戰(zhàn)機電子對抗能力系數(shù)。C的值可以根據(jù)飛機型號查表得出。
為便于數(shù)據(jù)分析,通過各種典型戰(zhàn)機能力指數(shù)的比較,定義能力威脅函數(shù)為:
其中,Ci表示紅方戰(zhàn)機的空戰(zhàn)能力,Cj表示藍方戰(zhàn)機的空戰(zhàn)能力。
例如假設紅方某型號戰(zhàn)機的空戰(zhàn)能力為17.9,藍方戰(zhàn)機空戰(zhàn)能力為15.8、18.8、17.9、13.6,可以得到藍方各戰(zhàn)機對紅方該戰(zhàn)機的能力威脅度大小分別為:0.25、0.75、0.5、0.25。
(1.5)結合以上威脅函數(shù)的設定可得藍方戰(zhàn)機Bj對紅方戰(zhàn)機Ri的空戰(zhàn)威脅度為:
Sij=ω1Sij1+ω2Sij2+ω3Sij3+ω4Sij4 (6)
其中0<ωi<1為權重,且∑ωi=1。
藍方戰(zhàn)機Bj對整個紅方編隊的威脅度為:
公式(7)得到的整體威脅度將用來確定對該敵機(即藍方戰(zhàn)機)具體分配的導彈數(shù)量。
(2)火力分配決策模型
空戰(zhàn)中紅方將對藍方發(fā)射一定數(shù)量的導彈,火力分配決策模型的目標即為所有導彈化解藍方的威脅度之和達到最大。
設Ri攜帶的導彈數(shù)量為Mi,對Bj分配的導彈數(shù)量為:
其中Sj為藍方戰(zhàn)機Bj對整個紅方編隊的威脅度。
火力分配決策模型為:
s.t
其中Ω表示所有攻擊方案構成的解空間;Xij表示紅方戰(zhàn)機攜帶的第i枚導彈是否用于攻擊藍方戰(zhàn)機j,Xij取值為0或1,1時表示紅方戰(zhàn)機攜帶的第i枚導彈用于攻擊藍方戰(zhàn)機j,否則為0;k為實際用于攻擊目標的導彈數(shù)量。
第一個約束條件表示紅方每架戰(zhàn)機導彈發(fā)射數(shù)量不超過其載彈量;第二個約束條件表示藍方每架戰(zhàn)機最多被分配公式(8)中求出的導彈數(shù)量;第三個約束條件表示任一架藍方戰(zhàn)機都可以被攻擊多次,但一枚導彈僅可以攻擊一架藍方戰(zhàn)機;第四個約束條件表示,紅方發(fā)射的導彈總數(shù)等于紅方帶彈總數(shù)與藍方總共需被分配導彈數(shù)兩者的較小值。
第二步,基于改進的蟻群算法解決空戰(zhàn)火力分配的優(yōu)化問題
將空戰(zhàn)火力分配過程模擬成一個蟻群網(wǎng)絡。將紅方戰(zhàn)機的每一發(fā)導彈都看作是一個紅方的節(jié)點,將藍方每架戰(zhàn)機需要分配的導彈看作是一個藍方的節(jié)點。
(2.1)設置種群中螞蟻數(shù)量為:
m=Nr+ΣEj (10)
其中Nr為紅方攜帶的導彈總數(shù),Ej為第j架藍方戰(zhàn)機上分配的導彈數(shù)量。
(2.2)將m只螞蟻隨機地放置在紅方戰(zhàn)機的導彈上,并設置各路徑上初始信息素濃度均為1。
(2.3)m只螞蟻按照偽隨機概率選擇規(guī)則選擇藍方應當分配導彈的位置,螞蟻在移動過程中的規(guī)則如下:
規(guī)則一:螞蟻只能夠移動到藍方戰(zhàn)機導彈分配數(shù)量不足的位置,藍方每架戰(zhàn)機分配的導彈數(shù)量不能超過設定的分配數(shù)量,紅方戰(zhàn)機最多發(fā)射攜帶導彈的剩余數(shù)。
規(guī)則二:紅方戰(zhàn)機上的每只螞蟻每次只能到達一個目標點,即每枚導彈只能攻擊一個目標。
規(guī)則三:每只螞蟻各自進行目標選擇,互不干擾。每只螞蟻在到達當前允許分配的一個目標后,同樣以偽隨機概率選擇規(guī)則返回紅方戰(zhàn)機位置,此時螞蟻的移動目標為紅方剩余的導彈位置。接著進行下一枚導彈的目標選擇,直到完成Nr枚導彈的目標分配。
進一步地,螞蟻進行目標選擇時按照如下偽隨機概率選擇規(guī)則進行:
其中j′為下一個需要訪問的節(jié)點;J為q>q0時,下一個待訪問節(jié)點,訪問J節(jié)點的概率pij由如下狀態(tài)轉移概率來進行選擇(在算法實現(xiàn)中用輪盤賭法的思想依據(jù)選擇概率pij對目標進行選擇):
式中:
Jk(i)為第k只螞蟻在已訪問節(jié)點i后仍需要訪問的節(jié)點集合;
τ(i,s)為當前導彈i與分配位置s之間的信息素濃度;
η(i,s)為啟發(fā)函數(shù),取為藍方目標對紅方的威脅度,某架藍方戰(zhàn)機對整個紅方編隊的威脅越大,選擇對其進攻的概率越大;
α為信息啟發(fā)因子,用來衡量路徑上信息素的影響程度,取α=3;
β為期望啟發(fā)因子,用來衡量藍方對紅方威脅度的影響程度,取β=0.3;
q0為初始設定的參數(shù),通過做實驗對比分析,取q0=0.3;
allowedk={1,2,…,n}-tabu,代表螞蟻k接下來可以選擇的目標點。
在進行目標選擇時,存在紅方載彈量有限,對藍方分配導彈數(shù)目一定的約束,因此螞蟻k在從i到j的目標選擇時需要檢查紅方戰(zhàn)機i的導彈是否有剩余,藍方戰(zhàn)機j是否還需要分配導彈。
規(guī)則四:所有螞蟻在結束一次循環(huán)之后,需要進行信息素的更新,并且每只螞蟻在各自循環(huán)中的最優(yōu)路徑上產生新的信息素,每只螞蟻產生新的信息素的同時考慮路徑上信息素的耗散或揮發(fā)。
具體信息素更新方式如下:
τ(i,j)=(1-ρ1)·τ(i,j)+ρ1·Δτ(i,j) (13)
式中:
Δτ(i,j)為最優(yōu)路徑(i,j)上的信息素增量;
Sij為最優(yōu)路徑上藍方對紅方的威脅度;
ρ1為信息素在每次循環(huán)過程中的揮發(fā)系數(shù),通過實驗對比分析取ρ1=0.6;
ρ2為比例系數(shù),取ρ2=0.2。
設置每條路徑的信息素濃度的上限為τmax(t),下限為τmin(t)。更新每條路徑信息素的上下限的準則是:若該路徑上信息素高于τmax(t),則該路徑信息素取為τmax(t);若該路徑上信息素低于τmin(t),則取為τmin(t)。
本發(fā)明采用基于改進蟻群算法的火力分配決策方法,相比以往技術方法,具有以下明顯優(yōu)點:
(1)相比經(jīng)典蟻群算法,本發(fā)明改變了路徑選擇規(guī)則、信息素更新規(guī)則,并且在每條路徑上增加了的信息素濃度區(qū)間限定規(guī)則,使改進后的蟻群算法能夠更好地發(fā)揮正反饋機制,從而收斂更快,且易于避免搜索陷入局部最優(yōu)。
(2)相比其他算法實現(xiàn),例如粒子群算法、遺傳算法等,通過對比發(fā)現(xiàn):本發(fā)明較粒子群算法更適合解決此類復雜離散問題,避免出現(xiàn)過早收斂的現(xiàn)象;本發(fā)明不存在遺傳算法的“基因漂變”現(xiàn)象,能夠通過改進避免陷入局部最優(yōu)。
附圖說明
圖1本發(fā)明實施例中的空戰(zhàn)態(tài)勢示意圖。
圖2本發(fā)明實施例中的空戰(zhàn)網(wǎng)絡示意圖。
圖3為本發(fā)明基于改進蟻群算法求解空戰(zhàn)火力分配的偽代碼
圖4本發(fā)明實施例中的實現(xiàn)流程圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。
一種基于蟻群算法的火力分配方法,包括以下步驟:
第一步,建立空戰(zhàn)火力分配模型,包括空戰(zhàn)威脅度模型和火力分配決策模型。
首先評估藍方戰(zhàn)機對紅方威脅度,基于此,以預期對藍機打擊效果最大化和紅方所受威脅最小化為目標,進行火力分配。
設紅方N架戰(zhàn)機與藍方K架戰(zhàn)機進行空戰(zhàn)對抗,其中紅方戰(zhàn)機與藍方戰(zhàn)機戰(zhàn)機速度、導彈攻擊范圍、雷達探測范圍、機動能力等性能不同,且紅方預警機能夠準確識別藍方戰(zhàn)機的型號、速度以及空間位置等基本信息。如圖1為用于威脅度建模的空戰(zhàn)態(tài)勢示意圖,圖1中設Ri為第i架紅方戰(zhàn)機,Bj為第j架藍方戰(zhàn)機,為Ri的軸線方向,為Ri的飛行速度,εji為Bj相對于Ri的離軸角,為Bj的軸線方向,為Bj的飛行速度,εij為Ri相對于Bj的離軸角,LOS為雙方的視線方向,Dij為Ri與Bj之間距離。
(1)根據(jù)以上空戰(zhàn)態(tài)勢,分別針對角度威脅、距離威脅、速度危險和能力威脅進行建模,然后在此基礎上建立藍方對紅方的整體空戰(zhàn)威脅度模型。
(1.1)角度威脅函數(shù):
式中Sij1表示Bj對Ri的角度威脅度,與Ri和Bj的離軸角之差成正比;其中0°<εij,εji≤180°,-1≤Sij1≤1;當Ri離軸角為180°,Bj離軸角為0°,即Bj在正后方追擊Ri時,Bj對Ri的角度威脅度為1。
(1.2)距離威脅函數(shù):
式中表示藍方導彈的攻擊距離,表示藍方雷達的最大探測距離;
當紅方戰(zhàn)機位于藍方攻擊范圍時,距離威脅度值取最大值1;當紅方戰(zhàn)機處于藍方雷達探測距離以外時,距離威脅度取最小值0。
(1.3)速度威脅函數(shù):
式中表示紅方戰(zhàn)機速度,表示藍方戰(zhàn)機速度。當紅方較藍方的速度越大,則Bj對Ri的速度威脅度越小。
(1.4)能力威脅函數(shù):
首先通過文獻得到空戰(zhàn)能力公式為:
C=[ln B+ln(∑A1+1)+ln(∑A2)]ε1ε2ε3ε4 (18)
式中B為戰(zhàn)機的機動性能參數(shù);A1是火力攻擊能力參數(shù);A2為其雷達探測能力衡量參數(shù);ε1是飛行員的操控能力系數(shù);ε2是戰(zhàn)機生存能力系數(shù);ε3是戰(zhàn)機航程范圍系數(shù);ε4是戰(zhàn)機電子對抗能力系數(shù)。C的值可以根據(jù)飛機型號查表得出。
為便于數(shù)據(jù)分析,通過各種典型戰(zhàn)機能力指數(shù)的比較,定義能力威脅函數(shù)為:
其中,Ci表示紅方戰(zhàn)機的空戰(zhàn)能力,Cj表示藍方戰(zhàn)機的空戰(zhàn)能力。
例如假設紅方某型號戰(zhàn)機的空戰(zhàn)能力為17.9,藍方戰(zhàn)機空戰(zhàn)能力為15.8、18.8、17.9、13.6,可以得到藍方各戰(zhàn)機對紅方該戰(zhàn)機的能力威脅度大小分別為:0.25、0.75、0.5、0.25。
(1.5)結合以上威脅函數(shù)的設定可得藍方戰(zhàn)機Bj對紅方戰(zhàn)機Ri的空戰(zhàn)威脅度為:
Sij=ω1Sij1+ω2Sij2+ω3Sij3+ω4Sij4 (20)
其中0<ωi<1為權重,且∑ωi=1。
藍方戰(zhàn)機Bj對整個紅方編隊的威脅度為:
公式(21)得到的整體威脅度將用來確定對該敵機具體分配的導彈數(shù)量。
(3)火力分配決策模型
空戰(zhàn)中紅方將對藍方發(fā)射一定數(shù)量的導彈,火力分配決策模型的目標即為所有導彈化解藍方的威脅度之和達到最大。
設Ri攜帶的導彈數(shù)量為Mi,對Bj分配的導彈數(shù)量為:
其中Sj為Bj對紅方編隊的整體威脅度。
火力分配決策模型為:
s.t
其中Ω表示所有攻擊方案構成的解空間;Xij表示紅方戰(zhàn)機攜帶的第i枚導彈是否用于攻擊藍方戰(zhàn)機j,Xij取值為0或1,1時表示紅方戰(zhàn)機攜帶的第i枚導彈用于攻擊藍方戰(zhàn)機j,否則為0;k為實際用于攻擊目標的導彈數(shù)量。
第一個約束條件表示紅方每架戰(zhàn)機導彈發(fā)射數(shù)量不超過其載彈量;第二個約束條件表示藍方每架戰(zhàn)機最多被分配公式(22)中求出的導彈數(shù)量;第三個約束條件表示任一架藍方戰(zhàn)機都可以被攻擊多次,但一枚導彈僅可以攻擊一架藍方戰(zhàn)機;第四個約束條件表示,紅方發(fā)射的導彈總數(shù)等于紅方帶彈總數(shù)與藍方總共需被分配導彈數(shù)兩者的較小值。
下面介紹本發(fā)明提供的一種空戰(zhàn)火力分配的蟻群算法規(guī)則,即一種改進的蟻群算法。
蟻群算法引入了正反饋并行機制,具有較強的自適應性、魯棒性、優(yōu)良的分布式計算機制、易于與其他算法結合等全新的特性,在求解TSP問題、job-shop調度問題、分配問題時得到了很好的結果。為解決空戰(zhàn)中的火力分配問題,本發(fā)明在基本蟻群算法的基礎上作如下改進。
(1)路徑選擇規(guī)則
為避免搜索的停滯,路徑選擇時采用確定性選擇和隨機性選擇相結合,并且在搜索過程中動態(tài)調整狀態(tài)轉移概率。具體的路徑選擇規(guī)則如下式:
其中j′為下一個需要訪問的節(jié)點;J為q>q0時,下一個待訪問節(jié)點,訪問J節(jié)點的概率pij由如下狀態(tài)轉移概率來進行選擇(在算法實現(xiàn)中用輪盤賭法的思想依據(jù)選擇概率pij對目標進行選擇):
式中:
Jk(i)為第k只螞蟻在已訪問節(jié)點i后仍需要訪問的節(jié)點集合;
τ(i,s)為當前導彈i與分配位置s之間的信息素濃度;
η(i,s)為啟發(fā)函數(shù),取為藍方目標對紅方的威脅度,某架藍方機對紅方機群威脅越大,選擇對其進攻的概率越大;
α為信息啟發(fā)因子,用來衡量路徑上信息素的影響程度,取α=3;
β為期望啟發(fā)因子,用來衡量藍方對紅方威脅度的影響程度,取β=0.3;
q0為初始設定的參數(shù),通過做實驗對比分析,取q0=0.3;
allowedk={1,2,…,n}-tabu,代表螞蟻k接下來可以選擇的目標點。
q為[0,1]之間的一個按均勻分布產生的隨機數(shù);q0為設定的參數(shù)(1≤q0≤1)。當隨機數(shù)q小于等于q0時,將選擇當前信息素濃度最高的路徑作為下一移動節(jié)點;當隨機數(shù)q小大于q0時,按照路徑選擇概率公式得到各節(jié)點的轉移概率,按照概率的大小進行選擇移動(算法中用輪盤賭法思想實現(xiàn))。
上述路徑選擇機制為自適應偽隨機概率選擇規(guī)則,具體的路徑選擇實際上由隨機數(shù)q大小確定。
(2)最優(yōu)路徑信息素更新規(guī)則
在進行信息素更新時,僅對當前循環(huán)中的最優(yōu)路徑進行信息素更新,強化正反饋的作用。更新規(guī)則如下:
τ(i,j)=(1-ρ1)·τ(i,j)+ρ1·Δτ(i,j) (26)
式中,Lgb為當前循環(huán)中得到的最短路徑長度;ρ1為(0,1)之間的參數(shù),其意義相當于基本模型中出現(xiàn)過的信息素揮發(fā)系數(shù);ρ2為常數(shù)。
(3)信息素濃度區(qū)間限定規(guī)則
為了避免搜索過程中出現(xiàn)局部停滯現(xiàn)象,在第t次迭代中,在每條路徑上設置信息素區(qū)間[τmin(t),τmax(t)]。由于每次迭代過程中,路徑上增加的信息素最大值為ρ2·Lgb,因此每次迭代都需要更新路徑的信息素濃度區(qū)間,同時τmax(t)與信息素揮發(fā)率(1-ρ)成反比。第t次迭代過程中的區(qū)間公式如下:
在迭代過程中,路徑上的信息素濃度一旦大于τmax(t)就強制取為τmax(t),一旦小于τmin(t)就取為τmin(t)。
第二步,基于上述改進的蟻群算法解決空戰(zhàn)火力分配的優(yōu)化問題。
將空戰(zhàn)火力分配過程模擬成一個蟻群網(wǎng)絡。將紅方戰(zhàn)機的每一發(fā)導彈都看作是一個紅方的節(jié)點,將藍方每架戰(zhàn)機需要分配的導彈看作是一個藍方的節(jié)點,如圖2所示。
圖2中藍紅雙方分別派出兩架戰(zhàn)機進行作戰(zhàn),紅方戰(zhàn)機1攜帶超視距導彈4枚,紅方戰(zhàn)機2攜帶3枚。假設根據(jù)威脅度模型得到,對藍方戰(zhàn)機1應當分配2枚導彈,對藍方戰(zhàn)機2分配1枚導彈。由此建立空戰(zhàn)網(wǎng)絡:螞蟻從紅方導彈上出發(fā)到達藍方戰(zhàn)機需要分配導彈位置,再根據(jù)同樣的策略虛擬一條路徑回到紅方導彈上,直到紅方導彈用完或者對藍方分配完成。圖2所示分配方案為:紅方戰(zhàn)機1發(fā)射2枚導彈攻擊藍方戰(zhàn)機1,紅方戰(zhàn)機2發(fā)射1枚導彈攻擊藍方戰(zhàn)機2。計算所有導彈化解的藍方威脅度進行求和,得到該方案化解藍方總威脅度的值,找出所有方案中化解藍方威脅度最大的方案,即為最優(yōu)火力分配方案。
不失一般性,基于上述改進的蟻群算法解決空戰(zhàn)火力分配的優(yōu)化問題的實現(xiàn)步驟如下:
(2.1)設置種群中螞蟻數(shù)量為:
m=Nr+∑Ej (30)
其中Nr為紅方攜帶的導彈總數(shù),Ej為第j架藍方戰(zhàn)機上分配的導彈數(shù)量。
(2.2)將m只螞蟻隨機地放置在紅方戰(zhàn)機的導彈上,并設置各路徑上初始信息素濃度均為1。
(2.3)m只螞蟻按照偽隨機概率選擇規(guī)則選擇藍方應當分配導彈的位置,螞蟻在移動過程中的規(guī)則如下:
規(guī)則一:螞蟻只能夠移動到藍方戰(zhàn)機導彈分配數(shù)量不足的位置,藍方每架戰(zhàn)機分配的導彈數(shù)量不能超過設定的分配數(shù)量,紅方戰(zhàn)機最多發(fā)射攜帶導彈的剩余數(shù)。
規(guī)則二:紅方戰(zhàn)機上的每只螞蟻每次只能到達一個目標點,即每枚導彈只能攻擊一個目標。
規(guī)則三:每只螞蟻各自進行目標選擇,互不干擾。每只螞蟻在到達當前允許分配的一個目標后,同樣以偽隨機概率選擇規(guī)則返回紅方戰(zhàn)機位置,此時螞蟻的移動目標為紅方剩余的導彈位置。接著進行下一枚導彈的目標選擇,直到完成Nr枚導彈的目標分配。
進一步地,螞蟻進行目標選擇時按照如下偽隨機概率選擇規(guī)則進行:
其中j′為下一個需要訪問的節(jié)點;J為q>q0時,下一個待訪問節(jié)點,訪問J節(jié)點的概率pij由如下狀態(tài)轉移概率來進行選擇(在算法實現(xiàn)中用輪盤賭法的思想依據(jù)選擇概率pij對目標進行選擇):
式中:
Jk(i)為第k只螞蟻在已訪問節(jié)點i后仍需要訪問的節(jié)點集合;
τ(i,s)為當前導彈i與分配位置s之間的信息素濃度;
η(i,s)為啟發(fā)函數(shù),取為藍方目標對紅方的威脅度,某架藍方機對紅方機群威脅越大,選擇對其進攻的概率越大;
α為信息啟發(fā)因子,用來衡量路徑上信息素的影響程度,取α=3;
β為期望啟發(fā)因子,用來衡量藍方對紅方威脅度的影響程度,取β=0.3;
q0為初始設定的參數(shù),通過做實驗對比分析,取q0=0.3;
allowedk={1,2,…,n}-tabu,代表螞蟻k接下來可以選擇的目標點。
在進行目標選擇時,存在紅方載彈量有限,對藍方分配導彈數(shù)目一定的約束,因此螞蟻k在從i到j的目標選擇時需要檢查紅方戰(zhàn)機i的導彈是否有剩余,藍方戰(zhàn)機j是否還需要分配導彈。
規(guī)則四:所有螞蟻在結束一次循環(huán)之后,需要進行信息素的更新,并且每只螞蟻在各自循環(huán)中的最優(yōu)路徑上產生新的信息素,每只螞蟻產生新的信息素的同時考慮路徑上信息素的耗散或揮發(fā)。
具體信息素更新方式如下:
τ(i,j)=(1-ρ1)·τ(i,j)+ρ1·Δτ(i,j) (33)
式中:
Δτ(i,j)為最優(yōu)路徑(i,j)上的信息素增量;
Sij為最優(yōu)路徑上藍方對紅方的威脅度;
ρ1為信息素在每次循環(huán)過程中的揮發(fā)系數(shù),通過實驗對比分析取ρ1=0.6;
ρ2為比例系數(shù),取ρ2=0.2。
設置每條路徑的信息素濃度的上限為τmax(t),下限為τmin(t)。更新每條路徑信息素的上下限的準則是:若該路徑上信息素高于τmax(t),則該路徑信息素取為τmax(t);若該路徑上信息素低于τmin(t),則取為τmin(t)。通過這種方式對路徑上信息素濃度區(qū)間進行設定,能有效避免局部路徑信息素濃度過高而導致搜索陷入局部最優(yōu)。
參照圖3給出了本發(fā)明基于改進蟻群算法求解空戰(zhàn)火力分配的偽代碼。參照圖4示出了本發(fā)明基于改進蟻群算法的火力分配方法的流程圖,包括以下步驟:
第一步:獲取紅藍雙方有關數(shù)據(jù),調用空戰(zhàn)火力分配數(shù)學模型,計算相關威脅度。
第二步:參數(shù)初始化。
第三步:將m只螞蟻平均放置在紅方戰(zhàn)機上。
第四步:各螞蟻所代表的分配方案中對當前藍機彈藥攜帶數(shù)量減1。
第五步:分布在紅方導彈上的螞蟻根據(jù)偽隨機概率選擇規(guī)則進行可行解搜索,螞蟻移動至相應藍機位置,對應藍機所需分配導彈數(shù)量減1。以策略返回紅方剩余導彈位置。
第六步:計算第k只螞蟻化解藍方的威脅度,得到最佳方案,更新最優(yōu)路徑信息素濃度。
第七步:更新信息素濃度區(qū)間。
第八步:轉到第三步,直到循環(huán)終止條件NC>NCmax。
第九步:輸出最佳分配方案。
以上包含了本發(fā)明優(yōu)選實施例的說明,這是為了詳細說明本發(fā)明的技術特征,并不是想要將發(fā)明內容限制在實施例所描述的具體形式中,依據(jù)本發(fā)明內容主旨進行的其他修改和變型也受本專利保護。本發(fā)明內容的主旨是由權利要求書所界定,而非由實施例的具體描述所界定。