張澤峰,傅建平,曹營(yíng)修,朱建杰
(軍械工程學(xué)院,石家莊 050003)
基于改進(jìn)差分進(jìn)化算法的內(nèi)彈道參數(shù)優(yōu)化
張澤峰,傅建平,曹營(yíng)修,朱建杰
(軍械工程學(xué)院,石家莊 050003)
火炮內(nèi)彈道參數(shù)直接影響其計(jì)算結(jié)果,內(nèi)彈道參數(shù)優(yōu)化設(shè)計(jì)是內(nèi)彈道分析計(jì)算的重要環(huán)節(jié)?;诮?jīng)典內(nèi)彈道計(jì)算模型,以火藥內(nèi)彈道計(jì)算中最為敏感的燃速指數(shù)及其燃速系數(shù)為設(shè)計(jì)參量,以最大膛壓及彈丸初速的計(jì)算值與測(cè)試值一致性為目標(biāo),對(duì)差分進(jìn)化算法群體的初始化、變異因子及變異模式進(jìn)行了改進(jìn),對(duì)某型火炮的內(nèi)彈道參數(shù)進(jìn)行了優(yōu)化計(jì)算。優(yōu)化設(shè)計(jì)結(jié)果表明改進(jìn)后的差分進(jìn)化算法滿足內(nèi)彈道設(shè)計(jì)工程實(shí)踐要求,為內(nèi)彈道參數(shù)優(yōu)化設(shè)計(jì)提供了一種有效的算法。
內(nèi)彈道,多參數(shù),差分進(jìn)化,群體規(guī)模,變異因子,變異模式
內(nèi)彈道解法是內(nèi)彈道理論的核心,對(duì)火炮的設(shè)計(jì)與改進(jìn)有著重要的作用。內(nèi)彈道計(jì)算中涉及到很多參數(shù)的選取,這些參數(shù)都有一定的取值范圍。參數(shù)取值的差異會(huì)對(duì)內(nèi)彈道計(jì)算結(jié)果帶來(lái)很大的影響,因此,內(nèi)彈道參數(shù)必須進(jìn)行優(yōu)化,使最大膛內(nèi)壓力pm、彈丸初速v0等內(nèi)彈道計(jì)算結(jié)果中與其測(cè)試結(jié)果相吻合[1]。目前內(nèi)彈道參數(shù)優(yōu)化廣泛采用逐步逼近法、遺傳算法等算法[2],但逐步逼近法需要給定合理的參數(shù)調(diào)整范圍;遺傳算法易出現(xiàn)未成熟收斂及局部搜索能力差。差分進(jìn)化(Differential Evolution,DE)算法原理簡(jiǎn)單,是一種基于群體的實(shí)參數(shù)隨機(jī)優(yōu)化算法,受控參數(shù)少,群體搜索與協(xié)同搜索相結(jié)合,優(yōu)化精度高,搜索速度快[3],是內(nèi)彈道參數(shù)優(yōu)化設(shè)計(jì)的理想方法。
1.1 內(nèi)彈道計(jì)算模型
火炮發(fā)射后,火藥燃燒產(chǎn)生的高溫、高壓氣體使彈丸在膛內(nèi)高速運(yùn)動(dòng)。經(jīng)典的內(nèi)彈道計(jì)算模型如下[4]:
1.2 內(nèi)彈道參數(shù)優(yōu)化原理
由內(nèi)彈道計(jì)算模型可以知道,內(nèi)彈道計(jì)算結(jié)果p、v、l與內(nèi)彈道參數(shù)之間存在著隱含的非線性關(guān)系,任意改變一個(gè)內(nèi)彈道參數(shù)均會(huì)使計(jì)算結(jié)果發(fā)生明顯的變化。其中燃速指數(shù)n及系數(shù)θ對(duì)內(nèi)彈道計(jì)算的結(jié)果影響最為敏感,故本文通過(guò)優(yōu)化燃速指數(shù)n及系數(shù)θ,使計(jì)算結(jié)果同測(cè)試值相一致。由此,可建立內(nèi)彈道參數(shù)優(yōu)化模型:
式中,pstd、vstd為測(cè)試值,p、v為計(jì)算值,ε 為所要求的設(shè)計(jì)精度,通常取ε≤0.001。
差分進(jìn)化算法作為一種基于群體進(jìn)化的算法,是由Rainer Storn和Kenneth Price于1995年為求解切比學(xué)夫多項(xiàng)式擬合問(wèn)題而提出的一種優(yōu)化算法[5-6]。
2.1 差分進(jìn)化算法
差分進(jìn)化算法與標(biāo)準(zhǔn)進(jìn)化算法有類似的操作,包括變異、交叉和選擇。其基本思想為:利用隨機(jī)選擇的不同個(gè)體的比例差分矢量作為當(dāng)代種群個(gè)體的擾動(dòng)量,得到變異后的向量,變異向量與目標(biāo)向量進(jìn)行雜交操作,生成新的向量后與基準(zhǔn)向量競(jìng)爭(zhēng),較優(yōu)者保留下來(lái)作為子代群體,故無(wú)需單獨(dú)通過(guò)概率分布生成子代群體。這樣,DE算法不斷優(yōu)化群體質(zhì)量,最終收斂于最優(yōu)解位置[7]。DE算法的計(jì)算流程如圖1所示,其具體計(jì)算步驟為:
圖1 DE算法計(jì)算的流程
(1)種群初始化。設(shè)D為個(gè)體的維數(shù),NP為種群的規(guī)模,t為進(jìn)化的代數(shù),每個(gè)個(gè)體對(duì)應(yīng)問(wèn)題解為:
DE算法隨機(jī)產(chǎn)生NP個(gè)個(gè)體構(gòu)成第0代種群。通常,根據(jù)具體問(wèn)題確定初始變量的尋優(yōu)區(qū)間[xmin,xmax],并利用均勻分布的隨機(jī)函數(shù)來(lái)生成:
式中:t為進(jìn)化的代數(shù),rand 為在區(qū)間[0,1]區(qū)間上的隨機(jī)數(shù),
(2)差分變異操作。在每一代進(jìn)行全局搜索中,DE算法會(huì)通過(guò)變異操作為當(dāng)前種群中的每一個(gè)個(gè)體xi(t)生成一個(gè)目標(biāo)個(gè)體yi(t)。目前,最基本的變異操作就是隨機(jī)生成3個(gè)互不相同的隨機(jī)個(gè)體作為變異操作的基,對(duì)其中兩個(gè)個(gè)體的差值進(jìn)行縮放,并與第3個(gè)個(gè)體相加得到變異后的個(gè)體。即:
式中:r1、r2、r3為互不相同的整數(shù),F(xiàn)為 DE 算法的變異因子。
(3)交叉操作。為了保證種群的多樣性,變異操作之后便進(jìn)行交叉操作。將目標(biāo)個(gè)體與變異后的個(gè)體按如下規(guī)則進(jìn)行交叉操作,生成新的試驗(yàn)個(gè)體。
式中:xi,j(t),yi,j(t),zi,j(t)分別為第t代種群中第i個(gè)個(gè)體的 j維分量,r=rand(0,1),cr為介于 0 和 1 之間的交叉概率,rnd為介于1和D之間分布的整數(shù),這樣做的目的是保證至少有一維分量來(lái)自目標(biāo)個(gè)體xi(t)。
(4)選擇操作。通過(guò)交叉操作生成新的試驗(yàn)個(gè)體zi(t)后,計(jì)算該個(gè)體的目標(biāo)函數(shù)值與當(dāng)前個(gè)體xi(t)對(duì)應(yīng)的目標(biāo)函數(shù)值進(jìn)行比較,保留較優(yōu)個(gè)體。比如對(duì)于最小值優(yōu)化的問(wèn)題,即:
2.2 改進(jìn)差分進(jìn)化算法
分析DE算法計(jì)算的過(guò)程,該算法易出現(xiàn)早熟收斂,其運(yùn)算效率受差分進(jìn)化模式及控制參數(shù)的取值影響很大。因此,為提高其優(yōu)化性能,本文從群體的初始化、變異因子及變異模式3個(gè)方面對(duì)差分進(jìn)化算法進(jìn)行了改進(jìn)。
2.2.1 基于混沌理論的群體初始化
DE算法中,群體的初始化隨機(jī)性較大,由此產(chǎn)生的初始群體不能均勻地分布在解空間內(nèi),容易導(dǎo)致大部分個(gè)體遠(yuǎn)離最優(yōu)解,制約了該算法的求解效率。邏輯斯諦映射在一定條件下處于混沌狀態(tài),可用于對(duì)群體的初始化;混沌的遍歷性可實(shí)現(xiàn)全局搜索,有利于提高求解效率[8]。邏輯斯諦映射的表達(dá)式為:
式中:n代表代數(shù),a為狀態(tài)參量。
無(wú)論xn以介于0~1之間的任何初值開(kāi)始,多次迭代總會(huì)得到之間的隨機(jī)數(shù),將參數(shù)a取4,從而使得到的隨機(jī)數(shù)處于區(qū)間[0,1]內(nèi)。單純使用邏輯斯諦映射得到的隨機(jī)數(shù)并不是均勻的隨機(jī)數(shù)數(shù)列,這是由于式(8)的迭代值是以概率密度
分布在區(qū)間[0,1]。為了得到均勻分布的隨機(jī)數(shù)數(shù)列,求其分布函數(shù)為:
則 y(x)為均勻分布在區(qū)間[0,1]的隨機(jī)數(shù)列,記為randY。因此,改進(jìn)后的群體初始化為:
2.2.2 動(dòng)態(tài)隨機(jī)調(diào)整變異因子
DE算法中,變異因子F默認(rèn)為固定值,其取值影響著優(yōu)化過(guò)程的收斂性及收斂速度。當(dāng)取值較小時(shí),收斂速度快,但容易出現(xiàn)早熟;當(dāng)取值較大時(shí),能夠找到最優(yōu)解,但收斂速度較慢。因此,對(duì)于不同的問(wèn)題需要根據(jù)經(jīng)驗(yàn)調(diào)整F的取值[9]。為此提出一種自適應(yīng)動(dòng)態(tài)隨機(jī)調(diào)整變異因子F=rand(),即:
式中,rand為區(qū)間[0,1]之間的隨機(jī)數(shù)。
2.2.3 自適應(yīng)差分進(jìn)化模式
隨著DE算法的不斷發(fā)展,出現(xiàn)了許多不同的變異方式,可用DE/x/y的形式來(lái)表示。其中,x表示在變異操作時(shí)是隨機(jī)(rand)選取個(gè)體作為變異操作的基還是選取當(dāng)代最優(yōu)個(gè)體(best)作為變異操作的基;y表示變異時(shí)所用差分項(xiàng)的數(shù)目。常見(jiàn)的變異機(jī)制有式(5)、式(13)~式(15)等4種。
通過(guò)對(duì)DE算法的分析可知變異個(gè)體引導(dǎo)著優(yōu)化的方向,同時(shí)影響著全局最優(yōu)解的搜索能力[10]。標(biāo)準(zhǔn)差分進(jìn)化算法的變異操作為DE/rand/1,這樣容易使得變異個(gè)體的隨機(jī)性變大,降低尋優(yōu)效率。如果選用變異操作為DE/best/1,變異個(gè)體為當(dāng)前種群中最佳個(gè)體,雖然保證了優(yōu)化的方向,但使得變異個(gè)體過(guò)于單一極易陷入局部最優(yōu)解。為了克服以上缺點(diǎn),不僅要降低變異個(gè)體的隨機(jī)性,同時(shí)保證種群的多樣性。故對(duì)變異操作進(jìn)行改進(jìn),采用自適應(yīng)選取差分進(jìn)化模式,使得在不同代的進(jìn)化過(guò)程中采用不同的變異操作。即:
式(16)能夠隨機(jī)產(chǎn)生1~4之間的整數(shù),每一個(gè)整數(shù)對(duì)應(yīng)于相應(yīng)的變異操作,然后按照對(duì)應(yīng)的變異方式進(jìn)行變異和交叉。
以某型火炮為例,首先計(jì)算得到內(nèi)彈道的膛內(nèi)壓力p及彈丸速度v隨時(shí)間的變化曲線,在此基礎(chǔ)上利用改進(jìn)的差分進(jìn)化算法進(jìn)行多參數(shù)符合計(jì)算。經(jīng)過(guò)仿真計(jì)算,得到某型火炮的膛內(nèi)壓力p及彈丸速度v隨時(shí)間的變化曲線如圖2、圖3所示。
圖2 膛內(nèi)壓力p隨時(shí)間的變化曲線
圖3 彈丸速度v隨時(shí)間的變化曲線
通過(guò)火炮實(shí)彈射擊測(cè)試得到該火炮的膛內(nèi)最大壓力pstd=106.14 MPa,彈丸出炮口的速度vstd=469.89 m/s。故通過(guò)DE算法及改進(jìn)DE算法進(jìn)行符合計(jì)算,DE的參數(shù)設(shè)置為NP=10,F(xiàn)=0.85,CR=0.5;改進(jìn)DE算法參數(shù)設(shè)置NP=10,CR=0.5。優(yōu)化結(jié)果如表1所示。
表1 內(nèi)彈道計(jì)算結(jié)果
DE算法及改進(jìn)DE算法進(jìn)行符合計(jì)算時(shí)目標(biāo)函數(shù)值E的變化情況如圖4所示,從圖4可以看到改進(jìn)后的DE算法在第26代便得到了符合計(jì)算精度的目標(biāo)函數(shù)的最佳值,相對(duì)于標(biāo)準(zhǔn)差分進(jìn)化算法不僅提高了收斂速度,而且收斂精度也優(yōu)于DE算法。
圖4 參數(shù)符合計(jì)算結(jié)果
基于經(jīng)典內(nèi)彈道計(jì)算模型,以火藥的燃速指數(shù)n及系數(shù)θ兩個(gè)敏感參數(shù)為設(shè)計(jì)參量,以最大膛壓及彈丸初速的計(jì)算值與測(cè)試值的相對(duì)誤差為目標(biāo)函數(shù),通過(guò)DE算法中的群體初始化、變異因子及變異模式3方面改進(jìn),對(duì)某炮內(nèi)彈道參數(shù)進(jìn)行優(yōu)化。改進(jìn)DE算法相對(duì)傳統(tǒng)DE算法,提高了全局搜索能力和收斂速度。今后優(yōu)化變異和交叉操作以及引入混合算法等,可進(jìn)一步提高DE算法的精度和速度。本文所采用的改進(jìn)DE算法精度和速度滿足內(nèi)彈道參數(shù)優(yōu)化設(shè)計(jì)要求,可應(yīng)用于火炮內(nèi)彈道參數(shù)優(yōu)化設(shè)計(jì)。
[1]劉林,樊成軍,胡敬坤,等.混合裝藥內(nèi)彈道仿真及多參數(shù)符合計(jì)算[J].火炮發(fā)射與控制學(xué)報(bào),2014,35(1):48-51.
[2]張曉東,傅建平,張培林.基于改進(jìn)遺傳算法的內(nèi)彈道多參數(shù)符合計(jì)算[J].彈道學(xué)報(bào),2006,18(4):41-44.
[3]汪慎文,丁立新,張文生,等.差分進(jìn)化算法研究進(jìn)展[J].武漢大學(xué)學(xué)報(bào)(理學(xué)版),2014,60(4):283-292.
[4]張小兵.槍炮內(nèi)彈道學(xué)[M].北京:北京理工大學(xué)出版社,2014:80-127.
[5]STORN R,PRICE K V.Differential evolution-a simple and efficient adaptive scheme for global optimization over continuous spaces[C]//Technical Report TR-95-012,International Computer Science Institute,Berkley,1995.
[6]STORN R,PRICE K V.Differential evolution-a simple and efficient heuristic for for global optimization over continuous spaces [J].Journal of Global Optimization,1997,11(4):341-359.
[7]王凌,錢斌.混合差分進(jìn)化與調(diào)度算法[M].北京:清華大學(xué)出版社,2012:1-10.
[8]周燕,覃朝玲.用混沌法產(chǎn)生隨機(jī)數(shù)發(fā)生器的研究[J].西南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2000,25(2):150-154.
[9]夏莘媛,劉伯穎,李洋,等.一種改進(jìn)的差分進(jìn)化算法及其應(yīng)用[J].河北工業(yè)大學(xué)學(xué)報(bào),2015,44(1):12-22.
[10]許小健,黃小平,錢德玲.自適應(yīng)加速差分進(jìn)化算法[J].復(fù)雜系統(tǒng)與復(fù)雜性科學(xué),2008,5(1):87-92.
Interior Ballistic Parameter Optimization Based on Improved Differential Evolution Algorithm
ZHANG Ze-feng,F(xiàn)U Jian-ping,CAO Ying-xiu,ZHU Jian-jie
(Ordnance Engineering College,Shijiazhuang 050003,China)
The ballistic parameters directly affect the calculation results, interior ballistic parameter optimization design is an important part of interior ballistic analysis and calculation.In this paper,based on the classical interior ballistics calculation model,the most sensitive burning rate exponent and its burning rate as the design parameters,in order to get the calculation of the maximum chamber pressure and the muzzle velocity values to be consistent with test value,the initialization of differential evolution algorithm,the variation factor and the model of mutation are improved and the interior ballistic parameters of a certain type of gun are optimized and calculated.The optimization results show that the improved differential evolution algorithm meets the engineering practice requirements of interior ballistic design and provides an efficient algorithm for the optimal design of interior ballistic parameters.
interior ballistic,multi parameter,differential evolution,group size,variation factor,variation pattern
TJ012.1
A
10.3969/j.issn.1002-0640.2017.07.016
1002-0640(2017)07-0072-04
2016-04-05
2016-06-15
張澤峰(1991- ),男,山西陽(yáng)泉人,碩士研究生。研究方向:火炮檢測(cè)與診斷。