郝博,劉力維,谷繼明
(1.東北大學秦皇島分校 控制工程學院,河北 秦皇島 066004;2.東北大學 機械工程與自動化學院,遼寧 沈陽 110819)
現代軍事沖突中,對遠距離的軍事目標進行精準火力打擊已經成為影響軍事沖突結局的關鍵因素,許多國家把遠距離精準火力打擊當作彈藥技術的重要發展方向。要保證彈丸能遠距離命中目標,就需要對彈丸的射程進行預測,根據預測射程與目標距離的差值來調整彈丸發射機構,使彈丸的外彈道得到修正,從而避免彈丸射程不足或射程過大超過目標距離等問題[1]。
目前,對于彈丸的外彈道落點預測方法主要有:文獻[2]是采用四階龍格庫塔法對六自由度外彈道方程進行積分求解,進而獲得彈丸落點的解析解;文獻[3]表明對地面偵察雷達探測到的一段飛行彈道參數進行濾波,進而可以外推出彈道落點;文獻[4]提出了一種僅對彈道落點預測偏差進行濾波的方法,給出了彈道方程及落點預測方程;文獻[5]建立了一種擴展卡爾曼氣動參數辨識彈道模型,其可對一段實測彈道參數進行彈道濾波,辨識后可準確預測后續飛行彈道;文獻[6]對炮彈的彈道系數進行了相關性分析和經驗公式擬合,提出了利用擬合函數關系式得到具有較高精度的彈道諸元的方法;文獻[7]提出了一種包括飛行軌跡方程的建立、落地時刻的計算以及坐標系的轉換的彈道落點預測模型;文獻[8]采用正交多項式擬合彈道和誤差補償的方法預報彈道的落點;文獻[9-11]將遺傳算法、粒子群算法和神經網絡算法等人工智能算法應用到了彈丸落點預測中。
近年來,越來越多的群體智能優化算法被應用到系統控制、模式識別、性能預測等領域。群體智能優化算法是一種基于概率論的隨機搜索算法,其主要模擬生物群體在進化過程中的獨特行為和生存模式,如昆蟲、鳥類等群體的覓食行為;群體通過某種方式合作尋找食物,通過交流可以更快地獲得更多的食物,從這種群體行為抽象出來的算法稱為群體智能優化算法[12]。筆者建立了麻雀搜索算法(Sparrow Search Algorithm, SSA)優化BP神經網絡的彈丸射程預測模型,用于預測彈丸發射參數、氣象條件與彈丸射程之間的關系,并與粒子群算法(Particle Swarm Optimization, PSO)算法和遺傳算法(Genetic Algorithm, GA)優化BP神經網絡的預測模型進行對比分析,驗證SSA-BP模型的預測效果。
SSA算法是一種受麻雀捕食和躲避捕食者啟發而提出的智能算法。SSA以麻雀群體的覓食行為和抗捕食行為作為仿生對象,具有精度高、收斂速度快、穩定性強、全局搜索能力好等特點[13]。算法實現步驟如下:
步驟1初始化麻雀種群位置與適應度。
步驟2通過種群排序,得到麻雀的最佳個體位置和最佳適應度值。
步驟3覓食行為,更新發現者位置:
(1)

步驟4更新加入者位置:
(2)
式中:XP為當前發現者的位置;Xworst為全局最差位置;A+為只隨機包含1與-1兩個元素的行向量。
步驟5反捕食行為,更新麻雀種群位置:
(3)
式中:K是[-1,1]之間的隨機數;fi是個體適應度值;ε是接近0的常數;Xbest為當前全局的最優位置;β為步長參數;fbest和fworst分別為全局最優適應度值和全局最差適應度值。
步驟6更新歷史最優適應度。
步驟7重復步驟2~6,達到最大迭代次數時,循環結束,輸出適應度值與最優個體位置。
雖然BP神經網絡具有較強的非線性映射能力,但其是基于梯度下降法來調整網絡的連接權閾值,從而進行誤差的反向傳播,這容易導致陷入局部最優,使預測的準確度降低[14]。
筆者將BP神經網絡的誤差值作為SSA算法的適應度函數,通過SSA算法搜索尋優獲得最佳的權值與閾值,并將其賦值給BP神經網絡。
針對近年來應用較多的預測模型,結合上述算法優化理論,分別采用PSO算法、SSA算法和GA算法對BP神經網絡模型的權值和閾值進行了優化,構建了BP、PSO-BP、SSA-BP和GA-BP四種彈丸射程預測模型,預測模型流程如圖1所示。

為綜合評估彈丸射程預測模型的預測精度,選取一個性能指標進行評估是不夠的,筆者選取平均絕對誤差EMAE、平均絕對百分比誤差EMAPE和均方根誤差ERMSE作為模型預測精度評估指標。EMAE表示結果的偏差,EMAPE表示結果的準確度,ERMSE表示結果的離散度,計算公式分別為
(4)
(5)
(6)

彈道散布會影響彈丸射程,而彈道散布是由發射過程中的射角、初速和氣象風力條件等因素引起的,因此,彈丸的裝藥結構、彈炮相互作用、膛壓特性、射擊時發射機構的隨機振動和風力等級等會影響彈丸射程[15]。筆者僅考慮外彈道初速、射角和風力等級變化對彈丸射程的影響,采用某六自由度簡易彈道計算軟件對彈丸進行了外彈道計算,彈丸參數如表1所示。外彈道初速從755~800 m/s每隔5 m/s取一次值,射角從15°~60°每隔5°取一次值,風力等級從0~3級每隔1級取一次值,進行多次計算后得到共計400組數據,由于數量過多不再一一列舉,部分數據如表2所示。其中380組數據用作網絡數據訓練樣本,其余隨機抽取20組數據作為測試樣本。

表1 彈丸參數

表2 部分數據集
在進行BP神經網絡數據訓練前,為消除數據間的數量級差別,加快數據后續收斂速度,需采用mapminmax函數對數據進行歸一化處理,將數據映射到[-1,1]區間內:
(7)
式中:xmax為樣本數據最大值;xmin為樣本數據最小值;ymax為1;ymin為-1;x與x*分別為歸一化前的數據與歸一化后的數據。
3.2.1 BP神經網絡參數設置
訓練參數的設置直接影響BP神經網絡的性能,其是至關重要的。經過多次反復計算,設定BP神經網絡的學習速率為0.01,訓練次數為1 000,訓練期望誤差為0.000 01。由于隱含層層數過多可能會導致誤差函數無法收斂或者收斂時間過長,并且單個隱含層的BP網絡可以逼近任何閉區間內的連續函數,所以本文BP神經網絡采用3層結構,輸入層為彈丸初速、發射角度、風力等級3個參量,輸出層為彈丸射程1個參量。將隱含層節點數量設定搜索范圍為2~98,以步長為1依次代入神經網絡進行巡檢驗證,選取擬合效果最好時對應的隱含層節點數量,將之作為本文BP神經網絡的隱含層節點數量。最終通過搜索試算確定隱含層神經元節點數為13,隱藏層激活函數采用logsig函數,輸出層激活函數采用pureline函數。
3.2.2 其他模型參數設置
經過上述分析,將SSA-BP、PSO-BP、GA-BP模型的網絡拓撲結構設置為3-13-1。SSA、PSO和GA算法的初始參數設定數值如表3所示。PSO初始種群規模設置為40時預測效果較差,因此,對其進行了試算調整并修改為60;GA算法的染色體編碼長度設置為3×13+13×1+13+1=66。

表3 各算法初始參數設置
BP、PSO-BP、GA-BP、SSA-BP模型的預測結果如圖2、3和表4所示。

表4 預測誤差統計表
由圖2可知,SSA-BP模型的預測誤差波動相比BP、PSO-BP、GA-BP模型的更小,SSA-BP模型的最小預測誤差為0.482 5 m,最大預測誤差為22.328 4 m;由表4和圖3可知,BP、PSO-BP、GA-BP、SSA-BP模型的最大相對誤差為0.250 6%、0.181 4%、0.207 6%、0.153 7%,BP模型的預測效果最差,SSA-BP模型的預測效果最好。

對4種預測模型的ERMSE和EMAPE進行計算,如表5所示。可以看出,BP、PSO-BP、GA-BP、SSA-BP預測模型的ERMSE分別為23.852 4、19.337 1、20.110 7、11.831 3 m;BP、PSO-BP、GA-BP、SSA-BP預測模型的EMAPE分別為0.110 0%、0.092 7%、0.084 2%、0.058 1%,由此可知SSA-BP模型的預測穩定性最高。

表5 4種預測模型評價指標
由表5可知,SSA-BP模型的EMAE,ERMSE和EMAPE分別為10.456 4 m、11.831 3 m、0.058 1%,低于GA-BP模型、PSO-BP模型和BP模型的評價指標。表中的評價指標數據表明,SSA-BP模型是4種模型中預測結果最穩定且預測精度最高的模型,該模型可以為彈丸射程預測提供可靠支持。
準確預測彈丸射程有助于火力指揮部門及時調整火力打擊計劃,對于提高彈丸遠程火力打擊系統的穩定性與準確性具有重要意義。筆者構建了一種基于SSA算法優化BP神經網絡的彈丸射程預測模型,以彈丸初速、發射角度和風力等級作為輸入值,彈丸射程作為輸出值,結合多組彈丸外彈道數據對所構建的預測模型進行了算例分析,得出結論如下:
1)SSA算法對BP神經網絡算法權閾值的尋優能力優于PSO算法和GA算法,其改進了BP神經網絡算法初始值具有隨機性、容易陷入局部最優的問題。
2)通過對預測誤差的對比分析可知,SSA-BP預測模型的預測精度高于BP、PSO-BP和GA-BP預測模型的預測精度,預測結果更適合應用于彈丸射程預測的復雜系統工程中。