劉 芳,張峻豪,盧 熹,郭策安
(1.沈陽理工大學(xué) 理學(xué)院,沈陽 110159;2.遼寧省兵器工業(yè)智能優(yōu)化與控制重點實驗室, 沈陽 110159;3.沈陽理工大學(xué) 自動化與電氣工程學(xué)院,沈陽 110159;4.沈陽理工大學(xué) 裝備工程學(xué)院,沈陽 110159)
戰(zhàn)斗部裝藥爆炸沖擊波可以毀傷人員、裝備和設(shè)施等各種軍事目標(biāo),作用范圍大、破壞力強,爆炸沖擊波的毀傷效果是裝藥質(zhì)量和性能的重要衡量指標(biāo),在戰(zhàn)斗部設(shè)計中占有重要地位[1]。裝藥沖擊波的毀傷效果主要取決于3個參數(shù),分別是峰值超壓、正壓作用時間和比沖量[2],其中峰值超壓是評判沖擊波威力評估的關(guān)鍵參數(shù)。
近幾年,學(xué)者們分別從數(shù)值模擬和物理模型2個方面研究沖擊波峰值超壓參數(shù)的預(yù)測方法,取得了一些成果。基于數(shù)值模擬方面,王維[3]等人采用AUTODYN-2D軟件對裝藥在空氣中爆炸的情況進行一維數(shù)值模擬與有一定地面爆高高度的二維數(shù)值模擬,分析高度對峰值超壓預(yù)測值的影響。LUO Haohao等[4]利用NUBOX-9012沖擊波監(jiān)測儀對現(xiàn)場爆炸沖擊波進行監(jiān)測,采用有限元軟件ANSYS/LS-DYNA模擬井下直通式巷道爆破沖擊波的衰減過程,提出峰值超壓預(yù)測公式。王巖等[5]采用ANSYS/LS-DYNA軟件對火箭飛行至0~20 km高度爆炸進行了有限元仿真分析,提出了考慮高度效應(yīng)的火箭空中爆炸沖擊波峰值超壓預(yù)測公式?;谖锢砟P头矫?秦毅等[6]結(jié)合已有文獻實驗數(shù)據(jù),利用光滑層流火焰?zhèn)鞑ダ碚撃P徒⒘吮ǔ瑝耗P汀@顝┏萚7]通過揭示當(dāng)量比對氫氣云爆炸火焰形態(tài)、火焰半徑和爆炸超壓峰值的影響規(guī)律,建立耦合火焰自加速傳播的氫氣云爆炸超壓預(yù)測模型。
上述方法通過數(shù)值計算或物理模型求解,獲得典型條件下戰(zhàn)斗部的載荷數(shù)據(jù),根據(jù)數(shù)據(jù)規(guī)律來擬合相關(guān)參數(shù)的峰值超壓預(yù)測公式或預(yù)測模型,只能解決特定規(guī)格、特定結(jié)構(gòu)的裝藥超值超壓預(yù)測問題,缺少綜合考慮裝藥結(jié)構(gòu)參數(shù)對裝藥超值超壓數(shù)值的影響,泛化性能欠缺,非線性處理能力弱、智能性不足,不能滿足現(xiàn)代軍事對彈藥設(shè)計的智能化需求。隨著人工神經(jīng)網(wǎng)絡(luò)的發(fā)展,BP神經(jīng)網(wǎng)絡(luò)具有良好的非線性映射能力和泛化性能,使綜合考慮裝藥結(jié)構(gòu)參數(shù)的智能化峰值超壓預(yù)測成為可能。
綜上所述,針對傳統(tǒng)超值超壓預(yù)測模型存在的問題和現(xiàn)代軍事對裝藥超值超壓預(yù)測的智能化需求,開展考慮裝藥結(jié)構(gòu)參數(shù)的智能聚能戰(zhàn)斗部峰值超壓預(yù)測模型研究。利用數(shù)值仿真軟件AUTODYN,獲得不同長徑比裝藥的沿軸向與徑向坐標(biāo)分布的峰值超壓數(shù)據(jù),采用梅森旋轉(zhuǎn)算法對數(shù)據(jù)隨機排序,提高模型的泛化能力。考慮戰(zhàn)斗部結(jié)構(gòu)參數(shù)與峰值超壓數(shù)值非線性關(guān)系較強,構(gòu)建一種動態(tài)自適應(yīng)蟻群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(DACO-BP)模型對水下聚能裝藥的峰值超壓進行預(yù)測。設(shè)計包含8個智能預(yù)測模型的對比實驗,采用精度指標(biāo)、速度指標(biāo)、穩(wěn)定性指標(biāo)來評價模型,驗證DACO-BP水下聚能裝藥峰值超壓預(yù)測算法的有效性、穩(wěn)定性。通過水下爆炸峰值超壓Cole經(jīng)驗公式[8]說明模型預(yù)測結(jié)果的可信性。
聚能裝藥水下爆炸過程屬于非線性瞬態(tài)流固耦合問題[9],文獻[10]采用數(shù)值仿真軟件AUTODYN,模擬了水下聚能裝藥爆炸的過程,構(gòu)建了聚能裝藥水下的爆炸仿真模型,通過與試驗數(shù)據(jù)對比結(jié)果,驗證模型的可信性。本文利用文獻[10]建立的數(shù)值仿真模型求解聚能裝藥水下爆炸沖擊波峰值超壓參數(shù)。仿真模型如圖1所示,其中主裝藥為B炸藥、直徑為72 mm。藥型罩采用球缺結(jié)構(gòu),材料為紫銅,殼體及端蓋材料為鋁,厚度為2.7 mm。裝藥前向水域中設(shè)置了36個觀察點(圖1中的1~36)用于捕捉爆炸時沖擊波的相關(guān)數(shù)據(jù)。
圖1 仿真模型Fig.1 Simulation model
選取相關(guān)的條件參數(shù)為裝藥結(jié)構(gòu)尺寸和測點位置參數(shù),預(yù)測數(shù)值為爆炸沖擊波傳播至不同位置處的峰值超壓,裝藥條件參數(shù)與預(yù)測數(shù)值如表1所示。
表1 裝藥條件參數(shù)與預(yù)測數(shù)值Table 1 Charge condition parameters and prediction value
梅森旋轉(zhuǎn)算法(mersenne twister)是由M.Matsumoto and T.Nishimura提出的偽隨機數(shù)算法,該算法是一種周期長、內(nèi)存小、穩(wěn)定性高、生成隨機數(shù)質(zhì)量較優(yōu)的偽隨機數(shù)發(fā)生成器[11]。算法的遞推公式采用模2類運算,產(chǎn)生二進制的隨機數(shù)位,從而構(gòu)成隨機數(shù)[12]。遞推公式為:
(1)
(2)
該遞推公式簡化為位移運算,位移公式為:
(3)
式(2)中,y=(yw-1,yw-2,…,y0)。
y=(yw-1,yw-2,…,y0)由于該特征多項式展開后共有100多項,因此算法具有較高隨機性。為提升模型適應(yīng)不同數(shù)據(jù)分布的泛化,采用梅森旋轉(zhuǎn)算法對數(shù)據(jù)進行隨機排序,數(shù)據(jù)隨機互換流程圖如圖2所示。
圖2 數(shù)據(jù)隨機互換流程Fig.2 Flow chart of random data exchange
蟻群優(yōu)化算法(ant colony optimization,ACO)是由M.Dorigo等人提出的一種模擬螞蟻覓食的仿生智能算法[13]。蟻群算法的核心策略由螞蟻的路徑選擇和信息素的更新策略2個部分組成。螞蟻路徑選擇策略如式(4)所示,信息素更新策略如式(5)和式(6)所示。
(4)
τj(Iθi)(t+k)=(1-ρ)*τj(Iθi)(t)+Δτj(Iθi)
(5)
(6)
信息素的揮發(fā)機制是影響蟻群算法性能的主要因素。傳統(tǒng)蟻群算法中,路徑上的信息素按照固定的揮發(fā)系數(shù)揮發(fā),沒有考慮算法的迭代次數(shù)、迭代時適應(yīng)度值變化和整個種群適應(yīng)度值的變化對不同路徑上信息素量值的影響,會導(dǎo)致算法易陷入局部最優(yōu)值[16]。同時,算法的迭代前期是信息素累積過程,這時信息素揮發(fā)較多會導(dǎo)致迭代前期信息素增長緩慢,降低算法收斂速。
針對傳統(tǒng)蟻群算法易陷入局部最優(yōu)解、收斂速度慢的問題,本文設(shè)計動態(tài)自適應(yīng)蟻群算法,改進傳統(tǒng)蟻群的信息素揮發(fā)機制。在算法的迭代前期,采用信息素純增長策略,解決傳統(tǒng)蟻群前期路徑信息素匱乏問題,提升算法的收斂速度。信息素更新策略為:
τj(Iθi)(t+k)=τj(Iθi)(t)+Δτj(Iθi)
(7)
在算法的迭代中后期,綜合考慮螞蟻的迭代次數(shù)、螞蟻迭代時適應(yīng)度值變化和整個種群適應(yīng)度值的變化,設(shè)計揮發(fā)系數(shù)雙曲線動態(tài)自適應(yīng)調(diào)整策略,根據(jù)蟻群每一次迭代適應(yīng)度值的變化,調(diào)節(jié)揮發(fā)系數(shù)ρ,信息素更新如式(5)所示,信息素揮發(fā)策略如式(8)所示。
(8)
式(8)中,揮發(fā)系數(shù)ρ由指數(shù)函數(shù)L(x)和sigmoid函數(shù)K(x)自動調(diào)整,ρ在(ρmin,ρmax)之間取值。函數(shù)L(x)與K(x)計算式分別為:
L(x)=e(x-Nmax)*α
(9)
(10)
式(9)中,Nmax為迭代最大次數(shù),α>0為形狀因子。L(x)函數(shù)前中期增長緩慢,后期增長較快。式(10)中,σ為位置參數(shù),設(shè)置其值為Nmax迭代次數(shù)的一半,β>0為形狀因子。函數(shù)關(guān)于(σ,0.5)中心對稱。K(x)函數(shù)在中間部分增長幅度較快,兩端增長幅度較慢。揮發(fā)系數(shù)更新策略示意圖如圖3所示。
圖3 揮發(fā)系數(shù)更新策略Fig.3 Volatilization coefficient update strategy
如圖3所示,前期采用純信息素增長策略,完成信息素積累。中后期采用揮發(fā)系數(shù)雙曲線動態(tài)自適應(yīng)調(diào)整策略,自動調(diào)整揮發(fā)系數(shù)。當(dāng)蟻群在當(dāng)前迭代的最小適應(yīng)度值低于迭代累計蟻群的最小適應(yīng)度值時,說明本次迭代的螞蟻選擇路徑方向正確,加快揮發(fā)系數(shù)增長的步伐,增加蟻群在正確道路上的收斂速度。否則,降低揮發(fā)系數(shù)的增長步伐。DACO算法在保證了整個蟻群的收斂速度的基礎(chǔ)上,相應(yīng)的提升了全局搜索能力,避免了傳統(tǒng)ACO算法容易陷入局部最優(yōu)解的問題。
BP神經(jīng)網(wǎng)絡(luò)包括信息的正向傳播,誤差的反向傳播2個階段,可以實現(xiàn)從輸入空間到輸出空間的高度非線性逼近[16]。BP網(wǎng)絡(luò)通過不斷更新網(wǎng)絡(luò)的權(quán)值和閾值,使最后的信號誤差達到允許范圍之內(nèi)。本文采用三層BP神經(jīng)網(wǎng)絡(luò),算法預(yù)測步驟如下:
Step1:初始化網(wǎng)絡(luò)參數(shù)。初始化神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,設(shè)置輸入層e、隱含層h與輸出層g節(jié)點的個數(shù),網(wǎng)絡(luò)訓(xùn)練次數(shù),學(xué)習(xí)率lr,最小誤差ε。
Step2:計算隱含層節(jié)點h(h=1,2,…,H)的輸出值yh。
(11)
式(11)中:V(·)表示隱含層的激活函數(shù);ωeh表示輸入層節(jié)點e到隱含層節(jié)點h的連接權(quán)值;xe為輸入值;bh為隱含層節(jié)點h的閾值。
Step3:計算輸出層節(jié)點g(g=1,2,…,G)的輸出值zg。
(12)
式(12)中:U(·)表示輸出層的激活函數(shù);ωhg表示隱含層節(jié)點h到輸出層節(jié)點g的連接權(quán)值;bg為輸出層節(jié)點g的閾值。
Step4:訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)適應(yīng)度函數(shù)J為:
(13)
BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時初始隨機賦予權(quán)值和閾值,是影響模型有效性和穩(wěn)定性的主要因素。本文設(shè)計DACO-BP算法,將DACO算法獲取最優(yōu)的權(quán)值和閾值,映射到BP神經(jīng)網(wǎng)絡(luò),有利于減少模型預(yù)測的波動,提高模型預(yù)測的有效性和穩(wěn)定性。算法具體步驟如下:
Step1:將MT算法打亂后的樣本數(shù)據(jù)化分為訓(xùn)練集和測試集進行歸一化處理。
(14)
Step2:建立三層神經(jīng)網(wǎng)路拓撲結(jié)構(gòu)e×h×g。
Step3:初始化蟻群算法相關(guān)參數(shù)。
Step4:啟動全部螞蟻進行訓(xùn)練,DACO算法根據(jù)式(5)—式(8)更新信息素濃度。
Step5:重復(fù)Step4,當(dāng)DACO算法誤差小于當(dāng)前誤差或為最大迭代次數(shù),算法跳出循環(huán)轉(zhuǎn)為Step6。
Step6:將DACO算法訓(xùn)練后,獲取最優(yōu)的權(quán)值和閾值集合映射到BP神經(jīng)網(wǎng)絡(luò)。訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)直到滿足BP算法的誤差收斂條件或達到算法最大迭代次數(shù)。
Step7:預(yù)測數(shù)據(jù)進行反歸一化處理,還原數(shù)據(jù)原始形態(tài)。
(15)
DACO-BP算法偽代碼如下:
Initialize ant colony parameters;
Training begins;
while (iterations_num<=iterations_num_max)
if (iterations_num<=N1)
{Pure pheromone growth strategies;}
elseif
{Strategy of hyperbolic dynamic adaptive adjustment of volatilization coefficient;}
end
for i=1:antnum
{Ant i chooses the path based on the
pheromone concentration;}
{Calculate the output error of ant i;}
End
error_min={Find the smallest error
among all ants;}
if (error_min break; end end { Find the optimal weight and threshold corresponding to the smallest error; Use the optimal solution as the initial solution of the neural network; Neural network training; result=The result of neural network training; } 為了驗證動態(tài)自適應(yīng)蟻群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的有效性和穩(wěn)定性,采用平均絕對誤差(MAE)、均方誤差(MSE)、均方根誤差(RMSE)、平均絕對百分比誤差(MAPE)、擬合優(yōu)度(R2)和算法運行時間等6個性能指標(biāo)評估算法的有效性。采用均值(Mean)、方差(Variance)、標(biāo)準(zhǔn)差(Standard)和極差(Range)等4個性能指標(biāo)評估算法的穩(wěn)定性。將動態(tài)自適應(yīng)蟻群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(DACO-BP)與卷積神經(jīng)網(wǎng)絡(luò)CNN、BP神經(jīng)網(wǎng)絡(luò)、粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(PSO-BP)、人工蜂群算法優(yōu)化BP神經(jīng)網(wǎng)路(ABC-BP)、遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(GA-BP)、蟻群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(ACO-BP)、改進蟻群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(IACO-BP)算法的結(jié)果進行實驗對比。為了驗證動態(tài)自適應(yīng)蟻群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的的可信性,通過計算Cole經(jīng)驗公式得出的峰值超壓值與DACO-BP算法預(yù)測的峰值超壓值的相對誤差來評估算法的可信性。 實驗選取的5個精度指標(biāo)MAE、MSE、RMSE、MAPE、R2計算方法如式(16)—式(20)所示。 (16) (17) (18) (19) (20) 實驗選取的4個穩(wěn)定性性能指標(biāo)Mean、Variance、Standard、Range計算方法如式(21)—式(24)所示。 (21) (22) (23) Range=max(ηZ)-min(ηZ) (24) 式(21)—式(24)中:K為實驗仿真次數(shù);ηZ(z=[MSE,MAPE])為每次仿真實驗輸出的誤差結(jié)果。 實驗選取水下聚能裝藥的5個藥柱長徑比(l/d)、6個相對軸向距離(h/d)和6個相對徑向距離(r/d),彈藥結(jié)構(gòu)數(shù)據(jù)共5×6×6=180組,聚能裝藥數(shù)據(jù)如表2所示。 表2 聚能裝藥部分數(shù)據(jù)Table 2 Partial data of shaped charge 由AUTODYN軟件仿真計算的聚能裝藥峰值超壓部分原始數(shù)據(jù)如表3所示。 表3 原始數(shù)據(jù)Table 3 Raw data 梅森旋轉(zhuǎn)算法隨機排序后部分數(shù)據(jù)如表4所示。 表4 隨機排序后部分數(shù)據(jù)Table 4 Partial data after random sorting 表5 隱含層節(jié)點實驗結(jié)果Table 5 Experimental results of hidden layer nodes BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練迭代次數(shù)為1 000,學(xué)習(xí)率lr= 0.1,期望誤差ε=0.001。隱含層激活函數(shù):“tansig”,輸出層激活函數(shù):“purelin”,訓(xùn)練函數(shù):“trainlm”。神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值參數(shù)的維數(shù)為56,設(shè)計每個參數(shù)隨機分配20個值,值在[-1,1]。螞蟻數(shù)量Q=20,ρmax=0.9,ρmin=0.1。信息素初始值C= 1,最大迭代次數(shù)為N=200,其中前N1=50次迭代采用純信息素增長策略,之后采用雙曲線動態(tài)自適應(yīng)調(diào)整揮發(fā)系數(shù)策略。 為了驗證算法的有效性,從精度和速度2個方面來評價算法,對8種智能算法分別運行500次仿真實驗結(jié)果求平均值。如表6所示,DACO-BP算法的MAE、MSE、RMSE、MAPE分別為8.63×107、2.73×1016、1.46×108、19.09,分別比BP算法低44.7%、71.0%、46.7%、42.8%,比ACO-BP算法低3.7%、54.4%、6.4%、10.1%。在8種智能優(yōu)化算法中,DACO-BP算法的精度最高。DACO-BP算法的擬合優(yōu)度R2的值為0.971 9,均高于其他7種算法,模型擬合效果最優(yōu)。在運行時間方面,DACO-BP時間為16.530 s,與ACO-BP算法時間相差不大,比BP算法慢94.1%。DACO-BP算法提升了ACO-BP算法的精度,但與BP算法相比,速度不具有優(yōu)勢。 表6 算法有效性仿真實驗結(jié)果Table 6 Simulation results of algorithm effectiveness 為了驗證算法的穩(wěn)定性,分別對BP算法、ACO-BP算法、DACO-BP算法的MSE、MAPE獲取其均值、方差、標(biāo)準(zhǔn)差和極差并進行穩(wěn)定性對比實驗。如表7所示,DACO-BP的MSE均值為2.73×1016,方差為1.37×1033、標(biāo)準(zhǔn)差為3.70×1016、極差為4.52×1017,分別比BP算法低71.0%、89.0%、66.7%、42.0%,分別比ACO-BP算法低54.4%、99.7%、94.7%、97.1%。DACO-BP的MAPE均值為19.09,方差為49.91,標(biāo)準(zhǔn)差為7.06、極差為114.55,分別比BP算法低42.8%、85.1%、61.5%、14.6%,分別比ACO-BP算法低10.1%、94.7%、77.0%、82.8%。DACO-BP算法的4個穩(wěn)定性指標(biāo)與BP算法、ACO-BP算法相比均顯著減小,穩(wěn)定性較優(yōu)。 表7 算法穩(wěn)定性仿真實驗結(jié)果Table 7 Simulation results of algorithm stability 為了進一步驗證算法的可信性,從測試集中挑選出符合水下爆炸峰值超壓Cole經(jīng)驗公式條件的4組數(shù)據(jù),將Cole經(jīng)驗公式計算的峰值超壓值與DACO-BP模型預(yù)測的峰值超壓值進行對比實驗。如表8所示,Er為Cole經(jīng)驗公式計算的峰值超壓值與DACO-BP模型預(yù)測的峰值超壓值的相對誤差。實驗結(jié)果顯示,4組樣本數(shù)據(jù)的相對誤差均小于13.84%,DACO-BP模型預(yù)測的峰值超壓是可信的。 表8 算法可信性實驗結(jié)果Table 8 Experiment results of algorithm credibility 本文研究了水下聚能裝藥結(jié)構(gòu)參數(shù)與峰值超壓之間的非線性關(guān)系。采用AUTODYN數(shù)值仿真軟件,獲取不同長徑比裝藥的沿軸向與徑向坐標(biāo)分布的沖擊波峰值超壓數(shù)據(jù)?;谘b藥結(jié)構(gòu)參數(shù)得到水下聚能裝藥峰值超壓的預(yù)測模型。利用梅森旋轉(zhuǎn)算法對數(shù)據(jù)進行隨機排序,提升模型的泛化性能。采用BP神經(jīng)網(wǎng)絡(luò)挖掘了峰值超壓數(shù)值與裝藥藥柱長徑比、相對軸向距離、相對徑向距離等結(jié)構(gòu)參數(shù)之間的多變量非線性關(guān)系。構(gòu)建動態(tài)自適應(yīng)蟻群算法DACO解決了傳統(tǒng)蟻群算法易陷入局部最優(yōu)解和收斂速度慢的問題。設(shè)計了DACO-BP算法對水下聚能裝藥峰值超壓進行智能預(yù)測。實驗結(jié)果顯示,DACO-BP算法在有效性實驗、穩(wěn)定性實驗和可信性實驗中獲得較好的效果。DACO-BP的水下聚能裝藥峰值超壓預(yù)測模型的提出,為復(fù)雜的聚能戰(zhàn)斗部峰值超壓預(yù)測提供了有效的算法與理論依據(jù)。4 實驗仿真及結(jié)果分析
4.1 實驗評價指標(biāo)
4.2 實驗數(shù)據(jù)
4.3 實驗參數(shù)設(shè)置
4.4 實驗結(jié)果分析
5 結(jié)論