郝博,劉力維,谷繼明
(1.東北大學(xué)秦皇島分校 控制工程學(xué)院,河北 秦皇島 066004;2.東北大學(xué) 機械工程與自動化學(xué)院,遼寧 沈陽 110819)
現(xiàn)代軍事沖突中,對遠距離的軍事目標(biāo)進行精準(zhǔn)火力打擊已經(jīng)成為影響軍事沖突結(jié)局的關(guān)鍵因素,許多國家把遠距離精準(zhǔn)火力打擊當(dāng)作彈藥技術(shù)的重要發(fā)展方向。要保證彈丸能遠距離命中目標(biāo),就需要對彈丸的射程進行預(yù)測,根據(jù)預(yù)測射程與目標(biāo)距離的差值來調(diào)整彈丸發(fā)射機構(gòu),使彈丸的外彈道得到修正,從而避免彈丸射程不足或射程過大超過目標(biāo)距離等問題[1]。
目前,對于彈丸的外彈道落點預(yù)測方法主要有:文獻[2]是采用四階龍格庫塔法對六自由度外彈道方程進行積分求解,進而獲得彈丸落點的解析解;文獻[3]表明對地面?zhèn)刹炖走_探測到的一段飛行彈道參數(shù)進行濾波,進而可以外推出彈道落點;文獻[4]提出了一種僅對彈道落點預(yù)測偏差進行濾波的方法,給出了彈道方程及落點預(yù)測方程;文獻[5]建立了一種擴展卡爾曼氣動參數(shù)辨識彈道模型,其可對一段實測彈道參數(shù)進行彈道濾波,辨識后可準(zhǔn)確預(yù)測后續(xù)飛行彈道;文獻[6]對炮彈的彈道系數(shù)進行了相關(guān)性分析和經(jīng)驗公式擬合,提出了利用擬合函數(shù)關(guān)系式得到具有較高精度的彈道諸元的方法;文獻[7]提出了一種包括飛行軌跡方程的建立、落地時刻的計算以及坐標(biāo)系的轉(zhuǎn)換的彈道落點預(yù)測模型;文獻[8]采用正交多項式擬合彈道和誤差補償?shù)姆椒A(yù)報彈道的落點;文獻[9-11]將遺傳算法、粒子群算法和神經(jīng)網(wǎng)絡(luò)算法等人工智能算法應(yīng)用到了彈丸落點預(yù)測中。
近年來,越來越多的群體智能優(yōu)化算法被應(yīng)用到系統(tǒng)控制、模式識別、性能預(yù)測等領(lǐng)域。群體智能優(yōu)化算法是一種基于概率論的隨機搜索算法,其主要模擬生物群體在進化過程中的獨特行為和生存模式,如昆蟲、鳥類等群體的覓食行為;群體通過某種方式合作尋找食物,通過交流可以更快地獲得更多的食物,從這種群體行為抽象出來的算法稱為群體智能優(yōu)化算法[12]。筆者建立了麻雀搜索算法(Sparrow Search Algorithm, SSA)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的彈丸射程預(yù)測模型,用于預(yù)測彈丸發(fā)射參數(shù)、氣象條件與彈丸射程之間的關(guān)系,并與粒子群算法(Particle Swarm Optimization, PSO)算法和遺傳算法(Genetic Algorithm, GA)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的預(yù)測模型進行對比分析,驗證SSA-BP模型的預(yù)測效果。
SSA算法是一種受麻雀捕食和躲避捕食者啟發(fā)而提出的智能算法。SSA以麻雀群體的覓食行為和抗捕食行為作為仿生對象,具有精度高、收斂速度快、穩(wěn)定性強、全局搜索能力好等特點[13]。算法實現(xiàn)步驟如下:
步驟1初始化麻雀種群位置與適應(yīng)度。
步驟2通過種群排序,得到麻雀的最佳個體位置和最佳適應(yīng)度值。
步驟3覓食行為,更新發(fā)現(xiàn)者位置:
(1)
步驟4更新加入者位置:
(2)
式中:XP為當(dāng)前發(fā)現(xiàn)者的位置;Xworst為全局最差位置;A+為只隨機包含1與-1兩個元素的行向量。
步驟5反捕食行為,更新麻雀種群位置:
(3)
式中:K是[-1,1]之間的隨機數(shù);fi是個體適應(yīng)度值;ε是接近0的常數(shù);Xbest為當(dāng)前全局的最優(yōu)位置;β為步長參數(shù);fbest和fworst分別為全局最優(yōu)適應(yīng)度值和全局最差適應(yīng)度值。
步驟6更新歷史最優(yōu)適應(yīng)度。
步驟7重復(fù)步驟2~6,達到最大迭代次數(shù)時,循環(huán)結(jié)束,輸出適應(yīng)度值與最優(yōu)個體位置。
雖然BP神經(jīng)網(wǎng)絡(luò)具有較強的非線性映射能力,但其是基于梯度下降法來調(diào)整網(wǎng)絡(luò)的連接權(quán)閾值,從而進行誤差的反向傳播,這容易導(dǎo)致陷入局部最優(yōu),使預(yù)測的準(zhǔn)確度降低[14]。
筆者將BP神經(jīng)網(wǎng)絡(luò)的誤差值作為SSA算法的適應(yīng)度函數(shù),通過SSA算法搜索尋優(yōu)獲得最佳的權(quán)值與閾值,并將其賦值給BP神經(jīng)網(wǎng)絡(luò)。
針對近年來應(yīng)用較多的預(yù)測模型,結(jié)合上述算法優(yōu)化理論,分別采用PSO算法、SSA算法和GA算法對BP神經(jīng)網(wǎng)絡(luò)模型的權(quán)值和閾值進行了優(yōu)化,構(gòu)建了BP、PSO-BP、SSA-BP和GA-BP四種彈丸射程預(yù)測模型,預(yù)測模型流程如圖1所示。
為綜合評估彈丸射程預(yù)測模型的預(yù)測精度,選取一個性能指標(biāo)進行評估是不夠的,筆者選取平均絕對誤差EMAE、平均絕對百分比誤差EMAPE和均方根誤差ERMSE作為模型預(yù)測精度評估指標(biāo)。EMAE表示結(jié)果的偏差,EMAPE表示結(jié)果的準(zhǔn)確度,ERMSE表示結(jié)果的離散度,計算公式分別為
(4)
(5)
(6)
彈道散布會影響彈丸射程,而彈道散布是由發(fā)射過程中的射角、初速和氣象風(fēng)力條件等因素引起的,因此,彈丸的裝藥結(jié)構(gòu)、彈炮相互作用、膛壓特性、射擊時發(fā)射機構(gòu)的隨機振動和風(fēng)力等級等會影響彈丸射程[15]。筆者僅考慮外彈道初速、射角和風(fēng)力等級變化對彈丸射程的影響,采用某六自由度簡易彈道計算軟件對彈丸進行了外彈道計算,彈丸參數(shù)如表1所示。外彈道初速從755~800 m/s每隔5 m/s取一次值,射角從15°~60°每隔5°取一次值,風(fēng)力等級從0~3級每隔1級取一次值,進行多次計算后得到共計400組數(shù)據(jù),由于數(shù)量過多不再一一列舉,部分?jǐn)?shù)據(jù)如表2所示。其中380組數(shù)據(jù)用作網(wǎng)絡(luò)數(shù)據(jù)訓(xùn)練樣本,其余隨機抽取20組數(shù)據(jù)作為測試樣本。
表1 彈丸參數(shù)
表2 部分?jǐn)?shù)據(jù)集
在進行BP神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)訓(xùn)練前,為消除數(shù)據(jù)間的數(shù)量級差別,加快數(shù)據(jù)后續(xù)收斂速度,需采用mapminmax函數(shù)對數(shù)據(jù)進行歸一化處理,將數(shù)據(jù)映射到[-1,1]區(qū)間內(nèi):
(7)
式中:xmax為樣本數(shù)據(jù)最大值;xmin為樣本數(shù)據(jù)最小值;ymax為1;ymin為-1;x與x*分別為歸一化前的數(shù)據(jù)與歸一化后的數(shù)據(jù)。
3.2.1 BP神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置
訓(xùn)練參數(shù)的設(shè)置直接影響B(tài)P神經(jīng)網(wǎng)絡(luò)的性能,其是至關(guān)重要的。經(jīng)過多次反復(fù)計算,設(shè)定BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速率為0.01,訓(xùn)練次數(shù)為1 000,訓(xùn)練期望誤差為0.000 01。由于隱含層層數(shù)過多可能會導(dǎo)致誤差函數(shù)無法收斂或者收斂時間過長,并且單個隱含層的BP網(wǎng)絡(luò)可以逼近任何閉區(qū)間內(nèi)的連續(xù)函數(shù),所以本文BP神經(jīng)網(wǎng)絡(luò)采用3層結(jié)構(gòu),輸入層為彈丸初速、發(fā)射角度、風(fēng)力等級3個參量,輸出層為彈丸射程1個參量。將隱含層節(jié)點數(shù)量設(shè)定搜索范圍為2~98,以步長為1依次代入神經(jīng)網(wǎng)絡(luò)進行巡檢驗證,選取擬合效果最好時對應(yīng)的隱含層節(jié)點數(shù)量,將之作為本文BP神經(jīng)網(wǎng)絡(luò)的隱含層節(jié)點數(shù)量。最終通過搜索試算確定隱含層神經(jīng)元節(jié)點數(shù)為13,隱藏層激活函數(shù)采用logsig函數(shù),輸出層激活函數(shù)采用pureline函數(shù)。
3.2.2 其他模型參數(shù)設(shè)置
經(jīng)過上述分析,將SSA-BP、PSO-BP、GA-BP模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu)設(shè)置為3-13-1。SSA、PSO和GA算法的初始參數(shù)設(shè)定數(shù)值如表3所示。PSO初始種群規(guī)模設(shè)置為40時預(yù)測效果較差,因此,對其進行了試算調(diào)整并修改為60;GA算法的染色體編碼長度設(shè)置為3×13+13×1+13+1=66。
表3 各算法初始參數(shù)設(shè)置
BP、PSO-BP、GA-BP、SSA-BP模型的預(yù)測結(jié)果如圖2、3和表4所示。
表4 預(yù)測誤差統(tǒng)計表
由圖2可知,SSA-BP模型的預(yù)測誤差波動相比BP、PSO-BP、GA-BP模型的更小,SSA-BP模型的最小預(yù)測誤差為0.482 5 m,最大預(yù)測誤差為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模型的預(yù)測效果最差,SSA-BP模型的預(yù)測效果最好。
對4種預(yù)測模型的ERMSE和EMAPE進行計算,如表5所示。可以看出,BP、PSO-BP、GA-BP、SSA-BP預(yù)測模型的ERMSE分別為23.852 4、19.337 1、20.110 7、11.831 3 m;BP、PSO-BP、GA-BP、SSA-BP預(yù)測模型的EMAPE分別為0.110 0%、0.092 7%、0.084 2%、0.058 1%,由此可知SSA-BP模型的預(yù)測穩(wěn)定性最高。
表5 4種預(yù)測模型評價指標(biāo)
由表5可知,SSA-BP模型的EMAE,ERMSE和EMAPE分別為10.456 4 m、11.831 3 m、0.058 1%,低于GA-BP模型、PSO-BP模型和BP模型的評價指標(biāo)。表中的評價指標(biāo)數(shù)據(jù)表明,SSA-BP模型是4種模型中預(yù)測結(jié)果最穩(wěn)定且預(yù)測精度最高的模型,該模型可以為彈丸射程預(yù)測提供可靠支持。
準(zhǔn)確預(yù)測彈丸射程有助于火力指揮部門及時調(diào)整火力打擊計劃,對于提高彈丸遠程火力打擊系統(tǒng)的穩(wěn)定性與準(zhǔn)確性具有重要意義。筆者構(gòu)建了一種基于SSA算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的彈丸射程預(yù)測模型,以彈丸初速、發(fā)射角度和風(fēng)力等級作為輸入值,彈丸射程作為輸出值,結(jié)合多組彈丸外彈道數(shù)據(jù)對所構(gòu)建的預(yù)測模型進行了算例分析,得出結(jié)論如下:
1)SSA算法對BP神經(jīng)網(wǎng)絡(luò)算法權(quán)閾值的尋優(yōu)能力優(yōu)于PSO算法和GA算法,其改進了BP神經(jīng)網(wǎng)絡(luò)算法初始值具有隨機性、容易陷入局部最優(yōu)的問題。
2)通過對預(yù)測誤差的對比分析可知,SSA-BP預(yù)測模型的預(yù)測精度高于BP、PSO-BP和GA-BP預(yù)測模型的預(yù)測精度,預(yù)測結(jié)果更適合應(yīng)用于彈丸射程預(yù)測的復(fù)雜系統(tǒng)工程中。