伍曉龍,楊 悅,盧慧敏
(海軍大連艦艇學(xué)院,遼寧 大連 116018)
火力分配是兵力對抗的核心內(nèi)容,構(gòu)建合理科學(xué)的火力分配模型以及尋求相應(yīng)的求解方法十分關(guān)鍵。該類問題屬于經(jīng)典的多目標(biāo)規(guī)劃問題,解決該類問題的方法一般有神經(jīng)網(wǎng)絡(luò)算法[1]、動態(tài)規(guī)劃法[2]和遺傳算法[3-4]等。但在兵力對抗中,戰(zhàn)場實(shí)時因素考慮較多,實(shí)際火力打擊策略往往不能夠按照預(yù)期進(jìn)行,在火力打擊的過程中,誤差是不可避免的。謝峰[3]采用并列式遺傳算法,提高了搜索的速度;曲相宇[4]對遺傳算法中的選擇排序環(huán)節(jié)進(jìn)行了創(chuàng)新,能夠更好地判斷策略的優(yōu)劣。上述文獻(xiàn)中均假設(shè)火力單元彈藥充足,但是實(shí)際中火力單元彈藥儲備是有限的,火力單元在攔截目標(biāo)時可能存在失誤的情況,目標(biāo)的適應(yīng)度函數(shù)不能很好地反映存在失誤的情況下火力打擊分配策略的優(yōu)劣。本文考慮誤差因素,提出一種結(jié)合容錯控制的火力分配最優(yōu)化策略,在保證整體策略的最優(yōu)化的同時,能通過自適應(yīng)容錯控制律,實(shí)現(xiàn)整體策略的容錯度最大化。
火力分配應(yīng)充分考慮各種武器的毀傷效率、目標(biāo)的易損性和毀傷等級?,F(xiàn)代戰(zhàn)爭中,既要考慮打擊目標(biāo)的毀傷程度,又需要綜合考慮攔截目標(biāo)的威脅程度,以此來判斷火力打擊的優(yōu)先等級[5]。除此之外,考慮火力單元彈藥儲備是有限的,火力單元未能攔截目標(biāo)等實(shí)際情況,故火力分配策略上存在一定失誤概率。
假設(shè)m個艦艇組成的編隊(duì)(m個火力單元組成的火力單元集)對n批目標(biāo)進(jìn)行攔截。在攔截前已經(jīng)對各批目標(biāo)的價值、目標(biāo)的威脅度、各個火力單元對攔截各批目標(biāo)的射擊有利程度、各個火力單元對攔截目標(biāo)的命中概率做了量化處理,并且各個火力單元的彈藥儲備已知。第j批目標(biāo)對第i個火力單元的價值評估為wij,第j批目標(biāo)對第i個火力單元威脅評估值為tij,第i個火力單元對第j批攔截目標(biāo)射擊有利程度估計(jì)值為pij,第i個火力單元對第j個攔截目標(biāo)的攔截概率為qij。
因此效益值為:
cij=wijpijqij
(1)
eij=tij(1-qij)pij
(2)
式中,cij為第i個火力單元攔截第j批目標(biāo)時的收益大小;eij為第i個火力單元攔截第j批目標(biāo)時的威脅程度大小。
1.2.1 高威脅目標(biāo)優(yōu)先攻擊原則
在火力對抗過程中,保證我方艦艇作戰(zhàn)能力,實(shí)現(xiàn)持續(xù)作戰(zhàn)是一個關(guān)鍵的問題。因此,當(dāng)出現(xiàn)高威脅目標(biāo)時,編隊(duì)將進(jìn)行優(yōu)先打擊。
打擊優(yōu)先級與威脅程度關(guān)系如下:
(3)
對于高威脅目標(biāo),將由射擊有利程度最高的艦艇進(jìn)行打擊。
1.2.2 高效益目標(biāo)集火攻擊原則
在火力對抗過程中,在火力盈余的情況下針對高效益目標(biāo)采取集火攻擊原則,對于高效益目標(biāo)評價標(biāo)準(zhǔn)如下:
(4)
集火攻擊均是在火力盈余的情況下進(jìn)行考慮的內(nèi)容,因此定義高效益目標(biāo)與一般效益目標(biāo)如下:
當(dāng)A>2.0時,為高價值目標(biāo),對于該目標(biāo)分配3個火力單元,一般而言,高價值目標(biāo)個數(shù)不超過總目標(biāo)個數(shù)的10%。
當(dāng)2.0≥A>1.5時,為中價值目標(biāo),對于該目標(biāo)分配2個火力單元,一般而言,中價值目標(biāo)個數(shù)不超過總目標(biāo)個數(shù)的15%。
其余目標(biāo)為一般價值目標(biāo),對于該目標(biāo)分配1個火力單元。
1.2.3 整體分配最優(yōu)原則
分配目標(biāo)時應(yīng)當(dāng)充分考慮火力打擊的整體協(xié)同優(yōu)勢,使整體的打擊效果達(dá)到最佳的同時,也要保證整體受到的威脅程度最小。
艦艇火力分配原則應(yīng)滿足:
1)對敵火力打擊效益值最大;
2)我方受到威脅程度最小。
可建立如下多目標(biāo)規(guī)劃問題:
(5)
式中,vij=1為第i個火力單元對第j批目標(biāo)進(jìn)行攔截,vij=0為第i個火力單元未對第j批目標(biāo)進(jìn)行攔截。
限制條件為:
(6)
(7)
式(6)表示每批目標(biāo)分配M個火力單元,式(7)表示每個火力單元最多只能射擊Si批目標(biāo)。
該問題是多目標(biāo)優(yōu)化問題,考慮攔截概率,通常采用平均最優(yōu)分配方法,得到平均的最優(yōu)值。受攔截概率的影響,實(shí)際情況與理想方法會有一定偏差,本文考慮攔截概率的影響,在部分火力單元未完成攔截任務(wù)時,能夠及時采取反應(yīng),最大程度降低失誤帶來的損失。
火力打擊單元的火力打擊分配方案在進(jìn)化算法中可以視作一個基因,在容錯控制系統(tǒng)中可以視作一個執(zhí)行器,例如一艘艦艇計(jì)劃攻擊序列1和序列3的目標(biāo),則其對應(yīng)的火力分配策略為[1 3],如果由于失誤導(dǎo)致該艘艦艇未能打擊序列3的目標(biāo),則認(rèn)為該艘艦艇的第2個火力打擊單元發(fā)生失誤(序列3位于策略的第2位)。
以此類推,若第i個火力打擊單元發(fā)生失誤,可以視為第i個執(zhí)行器發(fā)生故障。
針對容錯控制系統(tǒng):
(8)
第i個執(zhí)行器故障形式為
ui=σiμci
(9)
式中,ui為第i個執(zhí)行器實(shí)際輸出,μci為第i個執(zhí)行器的理想控制輸入,0≤σi≤1為執(zhí)行器失效的程度。
針對火力分配的實(shí)際情況,制訂如下容錯控制原則:
1)第i個執(zhí)行器發(fā)生故障時,只能從第i+1個執(zhí)行器及以后進(jìn)行補(bǔ)償,即當(dāng)某個火力打擊單元發(fā)生故障時,調(diào)用其他火力打擊單元進(jìn)行補(bǔ)償。
2)為避免失誤過多打亂原本的作戰(zhàn)計(jì)劃,盡可能通過提高單個執(zhí)行器補(bǔ)償幅度進(jìn)行容錯控制,即通過提高單個火力單元的作戰(zhàn)效能進(jìn)行補(bǔ)償,而非過多改變原有計(jì)劃。
火力分配問題屬于決策優(yōu)化問題,在進(jìn)行火力分配時,需要根據(jù)各火力單元以及攔截目標(biāo)的具體情況進(jìn)行決策。實(shí)際戰(zhàn)場中攔截失誤是經(jīng)常出現(xiàn)的,因此火力分配策略在滿足毀傷效能最優(yōu)化的同時,也需要保證較大的容錯度,具有較大容錯度的火力分配策略更加符合戰(zhàn)場需要。
本文構(gòu)建的基于容錯控制的火力分配策略,是結(jié)合分布式遺傳進(jìn)化原理和自適應(yīng)容錯控制理論的分配策略。種群在各自環(huán)境中得到進(jìn)化的優(yōu)秀子代種群合并后,會產(chǎn)生容錯度和適應(yīng)值都較高的下一代。將每一種體能分配策略視作一個系統(tǒng),制定相應(yīng)的容錯控制律,評估系統(tǒng)在出現(xiàn)誤差時的恢復(fù)與補(bǔ)償情況。接下來給出具體算法。
編碼是遺傳空間到問題空間的映射。火力打擊中,艦艇需要進(jìn)行火力分配的火力單元較多,為了能夠更加清晰地反映火力分配方案,本文采用十進(jìn)制編碼方式,染色體的長度由艦艇的具體火力單元數(shù)量決定,基因則代表火力分配方案。例如3個艦艇分別具有不同數(shù)量的火力單元,數(shù)量分別為1、2、3,當(dāng)有4個攔截目標(biāo)時,染色體編碼為[1 2 0 0 4 3]代表一種火力分配方式,第1艘艦艇的火力單元為[1],即第1艘艦艇的第1個火力單元打擊序列1的攔截目標(biāo),第2艘艦艇的火力單元為[2 0],即第2艘艦艇的第1個火力單元打擊序列為2的攔截目標(biāo),第2個火力單元沒有打擊目標(biāo),第3艘艦艇的火力單元為[0 4 3],即第3艘艦艇的第1個火力單元沒有打擊目標(biāo),第2個火力單元打擊序列為4的攔截目標(biāo),第3艘艦艇的第3個火力單元打擊序列為3的攔截目標(biāo)。
根據(jù)目標(biāo)函數(shù)類別進(jìn)行分組,產(chǎn)生相應(yīng)的子種群,使各子種群能夠同步進(jìn)行尋找最優(yōu)解。本文主要根據(jù)打擊效益和威脅程度進(jìn)行尋優(yōu),因此將初始種群分成兩個子種群。
本文采用隨機(jī)多點(diǎn)間基因互換進(jìn)行交叉,有效提高算法收斂的速度。對于產(chǎn)生的個體,直接用子代替代父代,容易出現(xiàn)局部過早收斂的情況。本文引入模擬退火算法進(jìn)行改進(jìn),通過合理的降溫途徑,在迭代的前中期保留一定的“潛力解”,一定程度上提升了算法全局搜索能力,避免產(chǎn)生局部最優(yōu)解[6]。
傳統(tǒng)的遺傳算法一般采用固定變異概率,本文為了增大搜索范圍,減少搜索時間,采用可變的自適應(yīng)概率變異方法。在迭代的初期具有較大的變異概率,保證個體的多樣性;在迭代后期具有較小的變異概率,保證算法盡快收斂[7]。自適應(yīng)變異概率公式為
(10)
式中,Pk表示第k代變異概率;Pmax和Pmin分別表示最大和最小變異概率;Kmax表示最大迭代次數(shù)。
為防止當(dāng)前群體的最優(yōu)個體在下一代丟失,并且增加遺傳算法的收斂速度,將上一代群體中的最優(yōu)個體不進(jìn)行交叉變異操作直接遺傳到下一代。本文采用自適應(yīng)的精英策略,在迭代的初期,精英個體保留數(shù)量較少,在迭代的后期,精英個體保留的數(shù)量會增多[8]。自適應(yīng)精英策略的保留公式為
(11)
式中,Jk表示第k代精英個體的保留個數(shù);Jmax和Jmin分別表示最大和最小變異概率;Kmax表示最大迭代次數(shù)。
當(dāng)遺傳算法確定初步最優(yōu)策略后,可以將火力部署策略視作完整系統(tǒng),攔截失誤可以視作對系統(tǒng)產(chǎn)生的擾動。通過制定容錯控制律,盡可能將擾動所帶來的損失降到最小,同時將補(bǔ)償代價降到最低[9]。
為適當(dāng)簡化模型,做如下假設(shè):
1)每次實(shí)驗(yàn)出現(xiàn)至多兩次失誤;
2)失誤概率能夠根據(jù)實(shí)際情況具體給出,在整體建模過程中不再變化;
3)優(yōu)先選擇空余且效益值和威脅值最接近失誤單元的火力單元。
制定容錯控制律[10]如下:
Δm=ma-mb
(12)
(13)
式中,Δm表示出現(xiàn)失誤時,理想情況與實(shí)際情況差值;ma表示理想情況下適應(yīng)值;mb表示實(shí)際情況適應(yīng)值;Δ(wijxij)表示第i個火力單元攔截第j個目標(biāo)時,后續(xù)執(zhí)行器與失誤執(zhí)行器差值,式(13)表示第k個執(zhí)行器失誤時,后續(xù)執(zhí)行器補(bǔ)償情況。
當(dāng)制定初始最優(yōu)策略后,會進(jìn)行100次容錯實(shí)驗(yàn),以此評估策略的優(yōu)劣,同時得到相應(yīng)的補(bǔ)償方案。具體的算法流程圖見圖1。
圖1 算法流程圖Fig.1 Algorithm flow chart
為了驗(yàn)證模型的可靠性和合理性,假設(shè)我方艦艇數(shù)量為7艘,每艘艦艇各有兩個火力單元,敵方需要攔截的目標(biāo)有10個,將有4個單元的火力盈余,我方艦艇對各目標(biāo)的射擊有利程度、威脅程度、目標(biāo)價值、攔截概率如表1~表4所示。
表1 射擊有利程度Tab.1 Shooting advantage
表2 威脅程度Tab.2 Threat level
表3 目標(biāo)價值Tab.3 Target value
表4 攔截概率Tab.4 Interception probability
對上述信息進(jìn)行分析處理,得到目標(biāo)的打擊次序?yàn)閇4 9 8 1 5 3 2 6 10 7],其中效益目標(biāo)為5和3。
采用分布式遺傳算法求解該問題,遺傳算法中個體數(shù)量為100,將種群分為兩個子種群,最大遺傳次數(shù)為100次,采用多點(diǎn)隨機(jī)交叉,初始交叉概率為0.85,初始退火溫度為1 000度,最大變異概率為0.1,最小變異概率為0.01,最大精英個體保留個數(shù)為10個,最小精英個體保留個數(shù)為5個。
迭代100次后,我方收益—迭代次數(shù)函數(shù)圖見圖2,威脅程度—迭代次數(shù)函數(shù)圖見圖3,我方凈收益—迭代函數(shù)圖見圖4,最終種群函數(shù)值變化見圖5。圖2、圖3、圖4中,種群在86代后能夠迭代到最優(yōu)值且趨于穩(wěn)定,其中目標(biāo)收益最大值為34 125,威脅程度最小值為4 847,凈收益最大值為29 278。由圖5可以看出,最終種群中個體完全相同,達(dá)到了目標(biāo)收益最大值和威脅程度最小值。
圖2 收益—迭代函數(shù)圖Fig.2 Revenue iteration function
圖3 威脅程度—迭代函數(shù)圖Fig.3 Threat level-iterative function
圖4 凈收益—迭代函數(shù)圖Fig.4 Net income iterative function
圖5 個體函數(shù)值變化圖Fig.5 Individual function value change
初步得到目標(biāo)分配方案如表5所示。
表5 目標(biāo)分配方案Tab.5 Target allocation scheme
得到初步方案后,分別考慮攔截失誤一次和兩次的情況,以此來驗(yàn)證容錯控制的可靠性。
存在一次失誤時,進(jìn)行100次重復(fù)實(shí)驗(yàn),進(jìn)行容錯控制之后,收益前后對比圖見圖6,威脅前后對比圖見圖7,分析可得,容錯控制能夠最大程度地減少收益損失,最小程度地提升威脅程度,能夠體現(xiàn)容錯控制的效果較好。
圖6 一次失誤時容錯控制后目標(biāo)收益圖Fig.6 Target income after fault-tolerant control in case of one fault
圖7 一次失誤時容錯控制后威脅程度圖Fig.7 Threat degree diagram after fault tolerance control in case of one fault
存在兩次失誤時,進(jìn)行100次重復(fù)實(shí)驗(yàn),進(jìn)行容錯控制之后,收益前后對比圖見圖8,威脅前后對比圖見圖9,分析可得,容錯控制后能夠保證前后目標(biāo)收益差值最小,前后威脅程度差值最小,也反映了容錯控制效果較好。
圖8 兩次失誤時容錯控制后目標(biāo)收益圖Fig.8 Target income diagram after fault-tolerant control in case of two faults
圖9 兩次失誤時容錯控制后威脅程度圖Fig.9 Threat degree after fault tolerance control in case of two faults
本文結(jié)合遺傳算法與容錯控制理論對火力打擊問題進(jìn)行求解,該算法的優(yōu)點(diǎn)在于考慮了攔截失誤的情況,能夠更好地反映戰(zhàn)場真實(shí)情況。在遺傳算法中結(jié)合了模擬退火算法和精英策略,大大增強(qiáng)了算法的高效性和收斂性。最后的仿真結(jié)果表明,該算法可靠有效,對解決火力分配問題具有一定的實(shí)際意義。