徐 寧
(江蘇自動化研究所,江蘇 連云港 222061)
新形勢下,共架發(fā)射可為艦載武器系統(tǒng)全方位作戰(zhàn)創(chuàng)造更優(yōu)、更安全、多武器通用的發(fā)射平臺,對水面的艦艇攻擊、防御和生存等綜合作戰(zhàn)能力起到重要作用[1]。艦載導(dǎo)彈垂直發(fā)射裝置逐步向通用化、系列化、模塊化、小型化發(fā)展[2]。這種情況下,對多種類型彈藥在共架發(fā)射時的彈位選取策略和發(fā)射協(xié)調(diào)問題就顯得尤為重要。合理的發(fā)射策略能提高決策效率,增強總體的火力密度。
當進行空域協(xié)調(diào)決策時,要遵循以下原則:
1)篩選所需要的彈種
艦載垂直共架發(fā)射系統(tǒng)往往需要裝備多種導(dǎo)彈以對付不同發(fā)射目標,因此當前形勢下,多彈種、大載彈量是共架發(fā)射系統(tǒng)的發(fā)展需求。這就使得在空域決策時,彈藥種類的選擇被置于最高優(yōu)先級。
2)不選擇與上次發(fā)射相鄰的隔艙,且距離上一次發(fā)射隔艙盡量遠
公共燃氣排導(dǎo)結(jié)構(gòu)的共架發(fā)射系統(tǒng),以美國MK41為代表,八個隔艙共用一個排導(dǎo)通道[2],沿艦首尾線對稱分布。武器發(fā)射時,發(fā)動機排出的燃氣流速度高、排量大,產(chǎn)生的突加載荷以壓力波的方式通過彈體傳播,使整個導(dǎo)彈及其內(nèi)部元件產(chǎn)生徑向和橫向振動響應(yīng),對周圍的隔艙和未點火的導(dǎo)彈產(chǎn)生影響[3]。選取距離較遠的彈藥能有效減少多武器發(fā)射的相互影響。
3)發(fā)射彈藥盡量選在不同模塊,且保持中軸線兩側(cè)對稱分布
當某隔艙內(nèi)的武器發(fā)射后,隔艙蓋處于開啟狀態(tài)時,同模塊的其他彈藥就不能進入點火程序,需要等到該彈藥離架且隔艙蓋關(guān)閉為止[4]。同一模塊的發(fā)射應(yīng)該保證一定的時間間隔。并且,彈藥的選取應(yīng)均勻分布在中軸線兩側(cè),不會對船艙左右兩舷的平衡造成影響。
4)盡量選取初始彈道不交叉的彈藥
當彈藥發(fā)射升空后,初始彈道的方向由武器發(fā)射位置和攻擊目標所確定,飛行彈道一般是空間三維狀態(tài),為了簡化計算,一般判斷在一定時間區(qū)間內(nèi)其初始彈道在水平面上的投影是否交叉[5]。當必須選擇初始彈道交叉的導(dǎo)彈發(fā)射時,當前導(dǎo)彈的點火時刻需要在結(jié)合時域協(xié)調(diào)的基礎(chǔ)上延遲一個適當?shù)臅r間[6]。本文僅針對空域協(xié)調(diào)展開。
圖1 共架發(fā)射系統(tǒng)模型
本算例基于三種彈藥型號建立模型,可以用矩陣 簡化系統(tǒng)的武器布局,分別用1、2、3代表A、B、C三種類型的彈藥。每一個單元都可以使用一個坐標表示,c1,4=1表示模型中第1行第4列的彈藥類型為A,如式(1)所示。模塊分配可以用式(2)描述。
(1)
(2)
使用遺傳算法求解該問題時,考慮采用二進制編碼的方法,特定的位數(shù)指代每個隔艙個體單元的位置屬性。選擇7位時,第1—4位表示所在模塊,第5、6位表示個體位于每個模塊內(nèi)的列位置,第7位表示個體位于每個模塊內(nèi)的行位置。七位二進制編碼染色體的基因型有128種,可以不重復(fù)地表示128個位置。例如圖2所示,基因型表示模塊2中第二行第四列,即c2,8。這種編碼方式具有很好的拓展性,對于體量更龐大的系統(tǒng),擴展二進制位數(shù)并賦予對應(yīng)編碼意義即可。解碼工作只需簡單的函數(shù)即可完成。
圖2 二進制編碼示例
適應(yīng)度函數(shù)依據(jù)目標函數(shù)的值,將個體的表現(xiàn)通過數(shù)值評價表現(xiàn)出來。適應(yīng)度函數(shù)在構(gòu)建時,要綜合考慮第一節(jié)羅列出的四個原則,這是一個有約束的多目標優(yōu)化問題。上述選取原則在解的選取方面并無沖突,在本算例的適應(yīng)度函數(shù)構(gòu)建中,通過在各個目標之間進行協(xié)調(diào)權(quán)衡和折中處理的方式,調(diào)整權(quán)重轉(zhuǎn)化為單目標優(yōu)化問題。
定義對于二進制編碼個體Xk的適應(yīng)度函數(shù)為Fit(Xk)=δ(f(Xk)),其中,f(Xk)為優(yōu)化問題的目標函數(shù),δ(f(Xk))是適應(yīng)度變換函數(shù),將目標函數(shù)轉(zhuǎn)化為適應(yīng)度函數(shù),這里要求適應(yīng)度函數(shù)Fit(Xk)是以目標函數(shù)f(Xk)為變量的函數(shù)[7],本算例中,目標函數(shù)值越小的個體具有越大的適應(yīng)度函數(shù)。
定義一個矩陣Done=[i,j,x,px,py]來記錄導(dǎo)彈發(fā)射的歷史數(shù)據(jù),其中i,j,x表示已發(fā)射的導(dǎo)彈在模型中的行、列、模塊位置描述矩陣,(px,py)表示導(dǎo)彈目標位置在相對于船體的坐標系中的橫縱坐標矩陣。Done在每次發(fā)射選擇完畢后更新發(fā)射記錄,同時將上次發(fā)射位置的屬性矩陣的對應(yīng)位置0。
設(shè)當前對第N個發(fā)射任務(wù)進行彈藥選取運算。nneed為某次所要發(fā)射的彈藥類型。當對種群中的第k個個體,構(gòu)建用于評估適應(yīng)度的目標函數(shù)f(Xk)時,可以采用以下形式:
(3)
其中,D(k),M(k),S(k),jc(N)分別為距離、模塊、彈藥發(fā)射平衡性及路徑交叉評估系數(shù)。
彈藥的種類選擇是共架發(fā)射空域協(xié)調(diào)問題中優(yōu)先級最高的選取原則,由于在遺傳算法中,初始化的種群是完全隨機的,對類型不符合的幾種進行的目標函數(shù)計算和適應(yīng)度評估,對計算機來說是一種時間和性能的浪費。本算例對原始遺傳算法加入“沉底”的改進,對非指定種類的個體的目標函數(shù)賦最大值,隨著新一代群體的更迭,非所需種類的個體逐漸被淘汰。
考慮公共燃氣排導(dǎo)結(jié)構(gòu)的共架發(fā)射系統(tǒng)對彈藥選擇的條件制約,c(i,j)=nneed時的目標函數(shù)f(Xk)中,結(jié)合了評估系數(shù)D(k),M(k),S(k)和評估函數(shù)jc(N)。評估系數(shù)的選取原則如表1所示。
表1 評估系數(shù)選取原則表
S(k)是用于調(diào)節(jié)發(fā)射平衡性的評估系數(shù),s1>0,s3 M(k)是關(guān)于模塊選取的評估系數(shù),m0=1>m3>m2>m1>0。在選取彈藥時,通常更青睞于模塊之間的均勻選擇,一方面可以方便于單個模塊內(nèi)部控制管理,另一方面也可以有效減少共架發(fā)射時的相互干擾。在本算例中,調(diào)取第N-1至N-4次的模塊記錄,通過常系數(shù)M的選取,盡量篩選與前幾次發(fā)射模塊不同的模塊。 D(k)是用于評估彈藥距離的系數(shù)。 iN-1,jN-1,xN-1表示上一次發(fā)射彈藥的行位置、列位置和模塊編號。 ik,jk,xk表示種群中第k個個體的行位置、列位置和模塊編號。 將彈道投影到二維平面后,飛行彈道交叉的問題就變成了判斷軌跡線段在二維坐標系下是否有交點,如圖3。 圖3 初始彈道二維坐標系 評估函數(shù)如下 (4) 其中,種群第k個個體若瞄準目標方位PN,依次與第N-1至N-3枚彈藥的發(fā)射軌跡做交叉判斷,若無交叉,Jk,i=0,若有交叉,按照與第N-1至N-3枚交叉的順序,依次取值J1,J2,J3,其中,J1>J2>J3。 隨著代數(shù)的逐漸增加,種群的個體逐漸收斂于局部最優(yōu)解,這就使得算法的尋優(yōu)能力下降。對評估系數(shù)引入自適應(yīng)因子g。 其中fnmin、fnavg、fnmax分別代表第n代種群個體的最小值、均值和最大值。 通過對比選取結(jié)果的優(yōu)劣,令: (5) (6) j′=j-k2·d2 (7) 當群體適應(yīng)度趨向集中、多樣性差時,g的值就會減小。當g小于某一閾值時,自適應(yīng)改進的評估系數(shù)會動態(tài)變化,拉開優(yōu)勢個體與次優(yōu)個體間的差異,保證最優(yōu)解的突出。 當N=1時,即首個發(fā)射的導(dǎo)彈,其選取僅需考慮目標方向就近模塊優(yōu)先發(fā)射。 當船艙里的彈藥儲備量逐漸減少,或是彈藥裝備數(shù)量少且集中于同一模塊時,對應(yīng)染色體種群內(nèi)個體的差異性就越來越小,不利于遺傳算法選取最優(yōu)解。針對這種特殊情況,需要增加對目標函數(shù)值作局部調(diào)整的模塊,篩選出有潛力的個體。 種群個體的選擇操作通過輪盤賭的方法進行,每個個體進入下一代的概率等于它的適應(yīng)度值與整個種群中個體適應(yīng)度值和的比例,適應(yīng)度函數(shù)越大的個體越有可能保留下來。 交叉操縱是遺傳算法中重要的一步,通過交叉操作可以得到新一代的個體,交叉是種群信息交換的重要途徑。本算例采用單點交叉的方式,在個體染色體串中只隨機設(shè)置一個交叉點,然后在該點相互交換兩個配對個體的部分染色體。 對于二進制編碼方式,變異操作在種群中隨機選擇個體,以一定的概率pm隨機地改變?nèi)旧w結(jié)構(gòu)數(shù)據(jù)中的某個基因值以形成新的個體。類似于生物界,變異的概率一般取得較小。變異結(jié)果有好有壞,能防止算法陷入局部最優(yōu)解。 算法的總體流程圖如圖4所示。當算法判定為不是第一枚彈藥時,將進入遺傳算法選擇彈藥流程。由于遺傳算法模擬生物進化模型,需要人為設(shè)置最大迭代次數(shù),每次迭代進行選擇、交叉、變異,直到達到設(shè)定迭代次數(shù),選取最優(yōu)解作為本次選彈結(jié)果。 圖4 算法流程圖 假設(shè)執(zhí)行某次發(fā)射任務(wù)的共架發(fā)射系統(tǒng)含16模塊,128彈位,裝備有A,B,C三種彈藥。一次發(fā)射指令的下發(fā)是分別輸入所需A,B,C彈藥的數(shù)目和每個彈藥的目標坐標。 本算例中算法的相關(guān)參數(shù)和評估系數(shù)選取如表2和表3所示: 表2 評估系數(shù)選取 表3 遺傳算法參數(shù)選取 采用分散布局形式進行算例驗證,其示意圖如圖5所示。 圖5 128彈位共架發(fā)射系統(tǒng)的分散布局示意圖 基于以上四項選取原則,建立了一套百分制的綜合發(fā)射評價指標,用于評價發(fā)射次序決策的優(yōu)劣,表4和圖6分別為某次發(fā)射任務(wù)的要求及選取結(jié)果。 表4 選取要求和選取結(jié)果 圖6 總體布局及發(fā)射情況示意圖 設(shè)某次發(fā)射任務(wù)要求一次性作出128顆彈藥的發(fā)射次序決策,本算例用Matlab隨機生成128個位置坐標信息,分別采用評估系數(shù)固定的遺傳算法和評估系數(shù)自適應(yīng)改進的遺傳算法進行發(fā)射次序決策,對比算法改進前后的決策效果,詳細發(fā)射次序如圖7a)和b)所示。 表5 算法改進前后決策效果對比 圖7 發(fā)射次序 由實驗數(shù)據(jù)可知,改進后的算法復(fù)雜度增加,犧牲了部分計算時間,但算法的尋優(yōu)能力增強,決策結(jié)果的評分均值提高,方差顯著減小,說明改進后的算法相對改進前有更好的效果。 本文總結(jié)了共架發(fā)射系統(tǒng)空域協(xié)調(diào)問題的約束條件并歸納得到四條主要選取原則,并在這一基礎(chǔ)上提出了采用二進制編碼遺傳算法求解的新方法。該方法的編碼方式有較強的拓展性,考慮系統(tǒng)規(guī)模進一步擴大時,也能有較好的適用性。針對不同情況下對選取條件的優(yōu)先級需求的不同,可以通過更改適應(yīng)度函數(shù)中各項的評估系數(shù)來調(diào)整,這是一種比較實用,易于實現(xiàn)的空域協(xié)調(diào)決策方法。2.4 評估系數(shù)自適應(yīng)改進
2.5 特殊情況的算例調(diào)整
2.6 選擇、交叉與變異操作
3 算例驗證
4 結(jié)束語