何新佳,馬中亮,代淑蘭
(中北大學(xué) 環(huán)境與安全工程學(xué)院,山西 太原 030051)
在現(xiàn)代戰(zhàn)爭中,火炮發(fā)揮了不可替代的作用。常見的火炮主要有火箭炮、加農(nóng)炮、迫擊炮和榴彈炮等,這些火炮在戰(zhàn)場中分工不同,例如:加農(nóng)炮射程遠(yuǎn),彈道低伸,適用于直接瞄準(zhǔn)射擊坦克、步兵戰(zhàn)車等地面目標(biāo);而榴彈炮身管短,彈道彎曲,適宜于射擊隱蔽目標(biāo)或大面積目標(biāo)。要達(dá)到上述作戰(zhàn)要求,就需要采取不同的裝藥方式,例如對于榴彈炮,必須以不同的初速,將彈丸射擊到很大的射程范圍,并且落角盡可能大,因此僅僅采用單一裝藥的方式無法達(dá)到該作戰(zhàn)要求,要達(dá)到該要求,必須采用混合裝藥的方法。目前,在高膛壓火炮裝藥中,也常常采用混合裝藥的方式。除此之外,在火炮或者彈藥實驗時,為了獲得高于正常膛壓的裝藥,也會采用混合裝藥的方式[1-4]。對于混合裝藥火炮,追求最大炮口速度仍然是設(shè)計者的首要目標(biāo),因此采取一些優(yōu)化方法來獲得最優(yōu)的裝藥方案,進(jìn)而達(dá)到提高炮口初速的目的。常用的優(yōu)化方法主要有遺傳算法、模擬退火算法等。李克婧[5]等利用遺傳算法對內(nèi)彈道性能進(jìn)行優(yōu)化,優(yōu)化后的炮口初速得到了提高,最大幅度可達(dá)1.18%。然而遺傳算法本身局部搜索能力較差,在進(jìn)化后期搜索效率較低,且極易產(chǎn)生早熟收斂的問題。因此有必要尋求其他優(yōu)化方法來對內(nèi)彈道性能進(jìn)行優(yōu)化研究。
螢火蟲算法于2008年提出,該算法受螢火蟲群體行為的啟發(fā)而得到[6]。該算法操作簡單,參數(shù)設(shè)置較少,且易于實現(xiàn),因此該算法已經(jīng)在多個領(lǐng)域得到了應(yīng)用[7-9]。與其他常用優(yōu)化算法類似,該標(biāo)準(zhǔn)螢火蟲算法也存在容易陷入局部最優(yōu)的缺陷,導(dǎo)致尋優(yōu)效果下降,因此很多學(xué)者在螢火蟲的位置更新和參數(shù)設(shè)置等方面做了改進(jìn)[10-13]。基于此,筆者使用一種基于混合策略的方式來改進(jìn)螢火蟲算法,將該優(yōu)化算法應(yīng)用到某混合裝藥火炮內(nèi)彈道數(shù)學(xué)模型來對該火炮的內(nèi)彈道性能進(jìn)行優(yōu)化。
混合裝藥是由兩種或兩種以上的不同類型的火藥組成的裝藥,由于是不同類型的火藥,因此存在理化性能或者是厚度及藥形的差異。對于筆者研究的混合裝藥火炮,其主裝藥由標(biāo)準(zhǔn)七孔發(fā)射藥和管狀藥組成,其經(jīng)典內(nèi)彈道數(shù)學(xué)模型為
(1)
(2)
式中:Z2為七孔藥的相對燃燒厚度;Zk2為七孔藥分裂后碎粒全部燃完時的燃去相對厚度。
該混合裝藥火炮的初始參數(shù)和構(gòu)造諸元如表1、2所示。
表1 裝填條件參數(shù)
表2 構(gòu)造諸元及常數(shù)計算
根據(jù)上述混合裝藥內(nèi)彈道數(shù)學(xué)模型及裝填條件,采用四階龍格庫塔法進(jìn)行數(shù)值求解,得到的膛壓和彈丸運動速度隨運動時間的變化曲線如圖1所示。由圖1知,該膛壓曲線和速度曲線很好地再現(xiàn)了內(nèi)彈道的特點,符合內(nèi)彈道曲線的一般特征。
表3為數(shù)值計算得到的內(nèi)彈道的特殊點,即最大膛壓點和炮口初速點,與射擊實驗結(jié)果的比較值。由表3知,實驗射擊結(jié)果與數(shù)值計算結(jié)果的一致性較好,說明采用的混合裝藥內(nèi)彈道數(shù)學(xué)模型可以很好地再現(xiàn)彈丸在膛內(nèi)的運動規(guī)律,因此可以用該混合裝藥內(nèi)彈道數(shù)學(xué)模型來對該火炮的內(nèi)彈道性能進(jìn)行優(yōu)化。
表3 計算值與實驗值的比較
標(biāo)準(zhǔn)螢火蟲算法(FA)是近些年發(fā)展起來的仿生進(jìn)化算法,通過模擬自然界螢火蟲的運動來達(dá)到尋優(yōu)效果[14-16]。標(biāo)準(zhǔn)螢火蟲算法基于以下3個假設(shè)條件提出:
1)螢火蟲個體之間的吸引只由個體的吸引力決定,不受螢火蟲個體的性別影響;
2)吸引力與發(fā)光亮度成正比,與個體之間的距離成反比;
3)發(fā)光強弱由所求問題的目標(biāo)函數(shù)或適應(yīng)度值決定。
在該算法中,群體中的每個個體(螢火蟲)是所求問題的一個候選解,通過螢火蟲個體之間的吸引產(chǎn)生移動來完成該算法的搜索,適應(yīng)度值較好(較亮)的螢火蟲具有較大的吸引力,從而使得適應(yīng)度值較差(較暗)的螢火蟲向該個體移動[8]。螢火蟲的相對熒光亮度為
I=I0e-γrij,
(3)
式中:I0表示最亮螢火蟲的亮度;γ一般表示對光的吸收率,即光吸收系數(shù),通常取0.001;rij表示螢火蟲個體之間的歐幾里得距離,其定義為
(4)
螢火蟲i對螢火蟲j的吸引力β(rij)定義為
(5)
式中,β0為距離為0時的吸引力,即最大吸引力。
對于兩個不同的螢火蟲個體Xi和Xj,假如個體Xi的適應(yīng)度值比個體Xj差,那么Xi會向Xj移動,其移動公式為
(6)
式中:α為[0,1]之間的隨機(jī)數(shù);ε為服從均勻分布的隨機(jī)因子。
在FA中,參數(shù)都是事先設(shè)定的,算法中的控制參數(shù)(如步長因子等)會直接影響到FA的搜索能力,如果參數(shù)設(shè)置不當(dāng),會導(dǎo)致算法出現(xiàn)收斂效果較差及早熟收斂,甚至不能收斂的缺陷,因此有必要對該算法進(jìn)行改進(jìn)。
標(biāo)準(zhǔn)螢火蟲算法容易早熟收斂,且收斂效果較差,其全局最優(yōu)解不理想,為了解決該問題,提出了一種改進(jìn)的螢火蟲算法(IFA)。
筆者使用一種自適應(yīng)的參數(shù)策略來動態(tài)調(diào)整步長因子α的值,以達(dá)到提高算法搜索能力的目的。
(7)
式中,t為迭代的次數(shù)。
(8)
在該混合裝藥火炮的內(nèi)彈道性能優(yōu)化過程中,先建立該混合裝藥火炮的內(nèi)彈道數(shù)學(xué)模型,建立優(yōu)化設(shè)計變量、約束條件和目標(biāo)函數(shù),再通過該內(nèi)彈道模型計算出一系列的目標(biāo)函數(shù)值,最后利用優(yōu)化模型求出該目標(biāo)函數(shù)的最優(yōu)值。考慮到發(fā)射安全性,以最大膛壓為約束條件,即pm≤260 MPa,然后選擇以最大炮口速度maxvg為目標(biāo)函數(shù),考慮到優(yōu)化前后要求火炮的總裝藥量應(yīng)該保持不變或者變化值應(yīng)該較小,因此對式(9)進(jìn)行約束:
(9)
為了更好地說明設(shè)計變量對內(nèi)彈道性能的影響,采用了以下3種優(yōu)化方案來對該混合裝藥火炮的內(nèi)彈道性能進(jìn)行優(yōu)化:
1)方案1:以管狀藥和七孔藥的弧厚為優(yōu)化設(shè)計變量,且滿足2e11∈[0.4,1.0] mm,2e12∈[0.6,2.0] mm。
2)方案2:以管狀藥和七孔藥的裝藥量為優(yōu)化設(shè)計變量,且滿足ω1∈[0.05,0.7] kg,ω2∈[0.5,2] kg。
3)方案3:同時以管狀藥的弧厚和裝藥量七孔藥的弧厚和裝藥量為優(yōu)化設(shè)計變量,且滿足2e11∈[0.4,1.0] mm,ω1∈[0.05,0.7] kg,2e12∈[0.6,2.0] mm,ω2∈[0.5,2] kg。
在對該混合裝藥火炮的內(nèi)彈道性能優(yōu)化過程中,參考文獻(xiàn)[1],取最大迭代次數(shù)tmax為200,螢火蟲個體數(shù)N為50,第1次迭代時的步長因子α為0.2,光吸收系數(shù)為1。
對于方案1,得到的優(yōu)化設(shè)計變量和目標(biāo)函數(shù)隨迭代次數(shù)的變化曲線如圖3所示。由圖3可知,針對方案1,標(biāo)準(zhǔn)螢火蟲算法和改進(jìn)的螢火蟲算法在收斂速度上差別不大,但從圖3(c)可知,基于混合策略改進(jìn)的螢火蟲算法有更好的收斂效果,得到的炮口速度更大。
對于方案2,得到的優(yōu)化設(shè)計變量和目標(biāo)函數(shù)隨迭代次數(shù)的變化曲線如圖4所示。由圖4可知,改進(jìn)的螢火蟲算法在收斂速度與標(biāo)準(zhǔn)螢火蟲算法幾乎一樣,但是在收斂效果上優(yōu)于原算法,相對于標(biāo)準(zhǔn)螢火蟲算法,采用改進(jìn)的螢火蟲算法對該混合裝藥火炮的內(nèi)彈道性能進(jìn)行優(yōu)化時,其初速提升了大約2 m/s,說明通過采用上述的自適應(yīng)參數(shù)策略來動態(tài)調(diào)整步長因子和通過反向?qū)W習(xí)策略來得到反向解的方式對該算法有一定的改進(jìn)效果。
在方案3中,同時對管狀藥的弧厚和裝藥量以及七孔藥的弧厚和裝藥量進(jìn)行優(yōu)化,得到的目標(biāo)函數(shù)隨迭代次數(shù)的曲線圖如圖5所示,由圖5知,對于標(biāo)準(zhǔn)螢火蟲算法,其優(yōu)化后的炮口速度為537.193 4 m/s,此時最大膛壓為259.60 MPa;對于改進(jìn)的螢火蟲算法,其優(yōu)化后的炮口速度值達(dá)到了542.910 3 m/s,此時最大膛壓為259.96 MPa,滿足約束條件的限制。因此在對4個變量進(jìn)行綜合優(yōu)化后,彈丸初速提高幅度大,其中應(yīng)用改進(jìn)螢火蟲算法優(yōu)化該混合裝藥火炮的內(nèi)彈道性能時,其炮口速度提高最多。為了比較方案3中標(biāo)準(zhǔn)螢火蟲算法和改進(jìn)螢火蟲算法下的4個優(yōu)化變量隨迭代次數(shù)的變化情況,得到的變化曲線分別如圖6所示。
由圖5、6比較可知,兩種算法下的優(yōu)化設(shè)計變量與目標(biāo)函數(shù)的收斂一致性較好,且兩種算法的收斂過程都比較穩(wěn)定,未出現(xiàn)嚴(yán)重的振蕩現(xiàn)象。
進(jìn)一步地,分別比較上述3種優(yōu)化方案下的目標(biāo)函數(shù)的優(yōu)化效果,結(jié)果如圖7所示。由圖7可知,應(yīng)用改進(jìn)后的螢火蟲算法對該混合裝藥火炮的內(nèi)彈道性能進(jìn)行優(yōu)化時,其優(yōu)化后的炮口速度都優(yōu)于標(biāo)準(zhǔn)螢火蟲算法下的炮口速度。在方案3中,同時對4個變量進(jìn)行優(yōu)化,該方案優(yōu)化效果最好,彈丸初速提高最多,且滿足最大膛壓的限制。
將改進(jìn)螢火蟲算法下的結(jié)果與初始結(jié)果進(jìn)行比較,如表4所示。從優(yōu)化設(shè)計變量看,優(yōu)化后的管狀藥和七孔藥的裝藥量和弧厚相比于初始方案都有一定程度上的增加。從約束條件上看,改進(jìn)螢火蟲算法下的最大膛壓為259.96 MPa,滿足約束條件,此時優(yōu)化后的炮口速度為542.91 m/s,相比初始方案下的炮口速度提升了大約26 m/s,優(yōu)化效果明顯。
表4 方案3與初始方案的比較
由于方案3中優(yōu)化效果最好,因此取改進(jìn)螢火蟲算法下的4個變量的優(yōu)化值,代入到該混合裝藥的內(nèi)彈道數(shù)學(xué)模型進(jìn)行求解,并與初始方案進(jìn)行比較,得到的膛壓和彈丸速度隨時間的變化曲線圖分別如圖8、9所示。從方案3中得到的管狀藥和七孔藥的裝藥量都有一定程度的增加,隨著裝藥量的增加,發(fā)射藥釋放的化學(xué)能更多,因此對彈丸做的功更多,在圖8中,p-t曲線下面的面積更大,很好地說明了這一點;又因為在優(yōu)化方案下的管狀藥和七孔藥的弧厚也有一定程度的增加,弧厚越大,火藥燃完就需要更多的時間,導(dǎo)致能量釋放相對緩慢,多余的能量會在彈道循環(huán)的第2時期釋放,于是在圖8中出現(xiàn)了在彈道循環(huán)的第2時期,膛內(nèi)壓力也相對較大的現(xiàn)象。由以上分析可知,優(yōu)化方案下的發(fā)射藥釋放的化學(xué)能轉(zhuǎn)換為彈丸的動能更多,因此在圖9中,優(yōu)化方案下的炮口初速明顯高于初始方案下的炮口初速。
筆者建立了混合裝藥內(nèi)彈道數(shù)學(xué)模型,在證明該模型的正確性的基礎(chǔ)上,將標(biāo)準(zhǔn)螢火蟲算法和基于混合策略改進(jìn)的螢火蟲算法應(yīng)用到該混合裝藥內(nèi)彈道數(shù)學(xué)模型,通過3種優(yōu)化方案的比較,得到以下結(jié)論:
1)改進(jìn)后的螢火蟲算法在收斂速度上與標(biāo)準(zhǔn)螢火蟲算法相差不大,但是改進(jìn)后的螢火蟲算法明顯具有更好的收斂效果,說明了對該算法的改進(jìn)有一定的可行性和有效性。
2)在3種優(yōu)化方案之間,方案3的優(yōu)化效果最好,優(yōu)化后的炮口初速相比初始方案可以提高26 m/s左右。
3)將改進(jìn)螢火蟲算法下得到的4個變量的優(yōu)化值代入該混合裝藥內(nèi)彈道數(shù)學(xué)模型,通過與初始方案的比較,進(jìn)一步說明了改進(jìn)后的螢火蟲算法在內(nèi)彈道性能優(yōu)化中的可行性及優(yōu)越性。
筆者將一種基于混合策略的改進(jìn)螢火蟲算法應(yīng)用到該混合裝藥內(nèi)彈道數(shù)學(xué)模型,優(yōu)化效果較好,可為該混合裝藥火炮的裝藥優(yōu)化設(shè)計提供一定的借鑒意義。