崔靜 鄧方 方浩
(北京理工大學(xué)自動化學(xué)院,北京 100081)
(北京理工大學(xué)復(fù)雜系統(tǒng)智能控制與決策教育部重點實驗室,北京 100081)
數(shù)字化技術(shù)的發(fā)展加快了未來戰(zhàn)場節(jié)奏,對火控系統(tǒng)的實時性要求越來越高.為了提高火控系統(tǒng)的性能,有必要對外彈道的實時解算進行研究,縮短其所用的時間.目前,對射擊諸元的求解方法主要有2種:射表逼近法與數(shù)值積分法.數(shù)值積分法因計算機技術(shù)的發(fā)展使得其大量計算變得容易而被廣泛應(yīng)用,不少學(xué)者對外彈道數(shù)值解算方法進行了研究.早期,周啟煌等[1]提出了利用彈道的剛性原理進行射角迭代修正法;劉玉文等[2]給出了用2條積分彈道快速確定射角的方法;薛曉中等[3]提出了在彈道模型中加入權(quán)函數(shù)進行迭代修正解算的方法.近期,一些智能處理的方法被引入彈道解算中,如呂強等[4]將RBF網(wǎng)絡(luò)應(yīng)用于彈道解算中,將彈道解算時間縮短到10 ms,但是神經(jīng)網(wǎng)絡(luò)的前期訓(xùn)練需要大量的數(shù)據(jù),并不具有普適性;劉彥君[5]采用改進遺傳算法與龍格庫塔法進行彈道求解,解算時間為0.1 s左右.在計算機技術(shù)突飛猛進的今日,尤其是多核計算機的大量出現(xiàn),傳統(tǒng)的采用串行結(jié)構(gòu)的彈道求解方法,無法最大限度地發(fā)揮計算機的優(yōu)勢.而粒子群算法由于其粒子之間具有一定的獨立性,可以較好地與并行計算相結(jié)合,采用多核計算機進行并行計算,有效縮短計算時間.此外,粒子群算法不僅收斂速度快且規(guī)則簡單,在實際的運用中容易實現(xiàn).因此,本文提出了基于迭代修正法的粒子群彈道解算方法.
目前,對于外彈道模型的研究已比較成熟,如文獻[6]中給出了彈丸的簡化4D模型及2D模型,周啟煌等給出的2D模型[1].本文采用文獻[1]給出的外彈道微分方程組:
式中,C為彈道系數(shù);H(y)為空氣密度函數(shù);K(v)為空氣阻力函數(shù).方程組的初始條件為 vx=v0cosα,vy=v0sinα,vz=0,x=0,y=0,z=0.
若已知射角與初始速度,則可采用數(shù)值積分法,如龍格庫塔法求解出彈道軌跡曲線.實際中,則是已知目標(biāo)距離與彈藥初始速度來求解射角.文獻[1]利用彈道的剛性原理,提出了迭代修正法,可以較快地求解出射角.其基本過程如下:
1)預(yù)估計瞄準(zhǔn)角α0;
2)采用數(shù)值積分法(龍格庫塔法)求解出彈藥射程Di,計算Δxi=Di-D,其中D為目標(biāo)實際距離;
3)判斷是否滿足Δxi<ε,ε為事先定義的精度.若滿足,則瞄準(zhǔn)角為最終瞄準(zhǔn)角.若不滿足,則依據(jù)彈道剛性原理修正瞄準(zhǔn)角,然后繼續(xù)步驟2).
修正公式為
隨著多核計算機的應(yīng)用范圍越來越廣,計算機對算法的性能和結(jié)構(gòu)也提出了越來越高的要求.傳統(tǒng)的算法產(chǎn)生在單核時期,串行結(jié)構(gòu)無法有效利用多核計算機中所有的CPU.因此多核環(huán)境中并行計算可以更大程度地發(fā)揮多核計算機優(yōu)勢,相對于串行計算來說,可以成倍地減少計算時間.將多核計算機的并行計算引入彈道計算中,可以提高計算速度,提升火控系統(tǒng)的實時性.并行計算應(yīng)滿足2條原則:并行計算部分中的任務(wù)前后互不依賴;每個并行計算部分中的任務(wù)運行時間相同.迭代修正法中每次迭代是以上一次計算的結(jié)果為依據(jù),不適用于并行計算,而粒子群算法中,每個粒子有各自的位置、速度、適應(yīng)值,是相互獨立的.因此,粒子群彈道解算本身不僅收斂速度快,規(guī)則簡單、實現(xiàn)容易,而且可以更好地應(yīng)用于并行計算中,有效利用多核計算機中所有的CPU.
1995年,粒子群優(yōu)化算法首先由Kennedy與Eberhart[7]提出.其思想來源于鳥類的覓食行為[8-9].隨機初始化一些沒有質(zhì)量和體積、只有速度的粒子,并將每一個粒子視為問題的一個可行解.粒子的適應(yīng)度由一個事先定義的函數(shù)給出,決定了粒子的好壞.粒子在可行解空間中運動,其運動方向與距離由各自的速度決定.通常情況下,所有粒子將跟隨當(dāng)前最優(yōu)粒子進行運動,然后進行逐代搜索更新,直至得到最優(yōu)解.
假設(shè)由N個粒子組成的群體在D維空間內(nèi)以一定的速度飛行.t時刻、粒子i的狀態(tài)屬性設(shè)置如下[8]:
式中,1≤d≤D,1≤i≤M.粒子 i在 t+1 時刻的位置更新公式如下:
式中,rand1,rand2為(0,1)區(qū)間內(nèi)的隨機數(shù);c1,c2為學(xué)習(xí)因子.粒子群優(yōu)化時首先初始化各個參數(shù),并隨機初始化粒子的位置與速度.然后計算每一個粒子的適應(yīng)值,若滿足精度要求則停止,否則進行粒子更新與下一次迭代.
粒子群優(yōu)化算法引入彈道解算中,將允許范圍內(nèi)的每一個瞄準(zhǔn)角視為彈道的可行解,根據(jù)瞄準(zhǔn)角求出的射程d與期望距離D的差值的絕對值作為可行解的適應(yīng)值.適應(yīng)值越小則表示炮彈落點越接近目標(biāo),對應(yīng)的瞄準(zhǔn)角就越優(yōu).
假定目標(biāo)的距離D已知,粒子群彈道解算過程如下:
1)初始化
一般可將初始瞄準(zhǔn)角表示為距離D的二次函數(shù)[10],即
式中,ki,i=0,1,2 為按射表選擇的系數(shù).依據(jù)式(5)預(yù)估計瞄準(zhǔn)角.然后在附近隨機生成N個粒子()并隨機初始化粒子的速度().
2)評價粒子
3)粒子狀態(tài)更新
根據(jù)式(3)和(4)對每個粒子的位置與速度進行更新,得到)與
4)檢驗是否滿足結(jié)束條件
判斷Δxg<ε(ε為彈道求解精度)是否成立.若成立,則當(dāng)前全局最優(yōu)位置為最終得到的瞄準(zhǔn)角;若不成立,返回步驟2).
實驗表明,粒子群彈道求解可以在較短時間內(nèi)得到結(jié)果,但是由于粒子的隨機性較大,粒子群更新次數(shù)浮動性很大.
記彈道解算最優(yōu)位置為αx,粒子群當(dāng)前位置為,運用周氏迭代修正法求解其修正值.由彈道剛性原理可大概得到.則可得到
彈道解算基本過程與2.2節(jié)類似,差別在于在粒子群中假設(shè)一個隱含粒子x.在2.2節(jié)步驟2)中每個粒子由式(1)求解結(jié)果代入式(2)得到各自的修正位置,并記錄全局最優(yōu)位置所對應(yīng)的修正位置為α'g,將(αg+α'g)作為x的位置.由彈道剛性原理可知,x的位置比全局最優(yōu)位置更靠近最優(yōu)點.在前述步驟3)中,本文用x的位置代替更新粒子的速度與位置,使得粒子更快地靠近最優(yōu)解.改進粒子群彈道解算流程圖如圖1所示.
圖1 改進粒子群彈道解算方法流程圖
本文采用某炮彈為例,其初速度為885 m/s,彈道質(zhì)量為27.3 kg,最大射程23900 m,彈道系數(shù)C=0.52.采用標(biāo)準(zhǔn)氣象條件,即地面虛溫 288.9 K,地面大氣壓 1.206 kg/m3,海拔為 0 m.分別采用迭代修正法與本文提出基于迭代修正的粒子群算法進行解算.表1為實驗結(jié)果,圖2為迭代修正法、粒子群算法和改進后的粒子群算法程序運行時間動態(tài)圖;圖3為粒子群彈道解算與改進后粒子群彈道解算方法更新次數(shù)動態(tài)圖.
由表1及圖2可看出基于迭代修正的粒子群彈道解算方法中粒子收斂速度很快,計算時間快于傳統(tǒng)的迭代修正法.從圖3可看出引入迭代修正法后粒子的總體更新次數(shù)有所減少且波動范圍縮小,縮短了求解所需時間.實驗結(jié)果證明了本文提出的彈道解算方法的可行性與有效性.且此方法最大的優(yōu)點是可以與并行計算很好地結(jié)合,在多核計算機平臺下計算時間還可以進一步縮短.
表1 實驗結(jié)果對比
圖2 彈道解算程序運行時間動態(tài)圖
圖3 兩種粒子群彈道解算方法更新次數(shù)對比
將粒子群優(yōu)化算法運用于彈道求解中,并利用周氏迭代修正法加快粒子群算法的收斂速度,為實際的彈道求解提供了一種快速有效的方法.多核計算機的廣泛應(yīng)用,為大量數(shù)值計算提供了更快速的平臺.傳統(tǒng)的方法由于其結(jié)構(gòu)的串行性,無法發(fā)揮多核并行計算的優(yōu)勢,而該方法可以很容易地擴展到多核計算機平臺下進行并行計算,發(fā)揮多核計算的優(yōu)勢,大大減少彈道解算時間,提高火控系統(tǒng)的實時性.
References)
[1]周啟煌,于諒,邱曉波.戰(zhàn)車火控外彈道實時解算的研究[J].火力與指揮控制,2001,26(4):15-18.Zhou Qihuang,Yu Liang,Qiu Xiaobo.Research on real-time ballistic for battle vehicles[J].Fire Control and Command Control,2001,26(4):15-18.(in Chinese)
[2]劉玉文,楊啟仁.快速確定火炮射角的一種方法[J].彈道學(xué)報,1996,8(3):66-69.Liu Yuwen,Yang Qiren.A mathematical model of determining firing data by computer[J].Journal of Ballistics,1996,8(3):66-69.(in Chinese)
[3]薛曉中,劉秀娟.權(quán)函數(shù)法在火控彈道模型中的應(yīng)用[J].兵工學(xué)報,1997,18(3):234-238.Xue Xiaozhong,Liu Xiujuan.Weighted function method for exterior ballistic modeling in fire control systems[J].Acta Armamentarii,1997,18(3):234-238.(in Chinese)
[4]呂強,李建勛,周啟煌.RBF網(wǎng)絡(luò)用于戰(zhàn)車火控系統(tǒng)彈道解算的方法[J].火力與指揮控制,2007,32(4):26-28.Lv Qiang,Li Jianxun,Zhou Qihuang.Ballistic resolving algorithm of fire control system based on RBF neural network[J].Fire Control and Command Control,2007,32(4):26-28.(in Chinese)
[5]劉彥君.基于改進的遺傳算法與龍格庫塔法的彈道求解方法[J].兵工自動化,2011,30(1):4-7.Liu Yanjun.A method of ballistic based on genetic algorithm and Runge-Kutta[J].Ordance Industry Automation,2011,30(1):4-7.(in Chinese)
[6]閆章更.射表技術(shù)[M].北京:國防工業(yè)出版社,2000.
[7]Kennedy J,Eberhart R C.Partical swarm optimization[C]//Proceedings of IEEE International Conference on Neural Networks.Perth,Australia,1995:1942-1948.
[8]李麗,牛奔.粒子群優(yōu)化算法[M].北京:冶金工業(yè)出版社,2009.
[9]Eberhart R C,Kennedy J.A new optimizer using particle swarm theory[C]//Proceedings of the 6th International Symposium on Micro Machine and Human Science.Nagoya,Japan,1995:39-43.
[10]周啟煌,東單升.坦克火力控制系統(tǒng)[M].北京:國防工業(yè)出版社,1997.