胥涯杰, 鮮 勇, 李邦杰
(火箭軍工程大學(xué)作戰(zhàn)保障學(xué)院,西安 710000)
在確定導(dǎo)彈總體參數(shù)的過(guò)程中,在滿(mǎn)足任務(wù)需求的條件下,需要對(duì)導(dǎo)彈的發(fā)動(dòng)機(jī)質(zhì)量、飛行程序角等進(jìn)行設(shè)計(jì),各參數(shù)的協(xié)同優(yōu)化對(duì)提升武器性能和確保任務(wù)可行性具有重大意義[1]。由于優(yōu)化理論的逐漸完善,導(dǎo)彈總體參數(shù)設(shè)計(jì)方法也不斷成熟,其中,文獻(xiàn)[2-4]利用多學(xué)科優(yōu)化思想對(duì)導(dǎo)彈進(jìn)行設(shè)計(jì)與優(yōu)化,該思想對(duì)由多個(gè)復(fù)雜系統(tǒng)構(gòu)成的總體設(shè)計(jì)工作有很好的指導(dǎo)作用,但是多學(xué)科優(yōu)化設(shè)計(jì)方法復(fù)雜,而且還有在導(dǎo)彈概念階段使用困難的問(wèn)題;周偉等[5]利用改進(jìn)粒子群、吳春暉等[6]采取改進(jìn)多目標(biāo)布谷鳥(niǎo)以及陳江寧等[7]將遺傳算法與Powell算法組合,他們均利用優(yōu)化搜索算法對(duì)此類(lèi)多參數(shù)優(yōu)化問(wèn)題進(jìn)行求解,這類(lèi)數(shù)值優(yōu)化算法及其改進(jìn)方法具有概念清晰、設(shè)計(jì)靈活的特點(diǎn),能在一定程度上簡(jiǎn)化設(shè)計(jì)難度,但要得到滿(mǎn)足約束的可行解,必須通過(guò)設(shè)置大量迭代的環(huán)節(jié)實(shí)現(xiàn),因此存在設(shè)計(jì)效率不高的缺點(diǎn)。
由于遺傳算法在多參數(shù)優(yōu)化中具有較好的并行搜索和全局搜索能力[8-9],通常被應(yīng)用于多參數(shù)優(yōu)化問(wèn)題。文獻(xiàn)[10]闡述了遺傳算法在飛航導(dǎo)彈設(shè)計(jì)上具有處理復(fù)雜非線(xiàn)性問(wèn)題的優(yōu)點(diǎn),但遺傳算法需要對(duì)每一代種群中所有個(gè)體都進(jìn)行適應(yīng)度的計(jì)算,而導(dǎo)彈總體設(shè)計(jì)中的適應(yīng)度函數(shù)往往比較復(fù)雜,因此遺傳算法的搜索效率較低。為了提高設(shè)計(jì)效率,本文在用遺傳算法的尋優(yōu)過(guò)程中,將訓(xùn)練好的網(wǎng)絡(luò)模型代替?zhèn)鹘y(tǒng)彈道積分的過(guò)程,借此計(jì)算各組參數(shù)下的適應(yīng)度,提高了遺傳算法的計(jì)算效率。
設(shè)計(jì)目標(biāo)是通過(guò)對(duì)飛行程序角參數(shù)的調(diào)整,尋找滿(mǎn)足700 km射程下的最小發(fā)動(dòng)機(jī)質(zhì)量。
本文中的質(zhì)量按照一級(jí)導(dǎo)彈模型進(jìn)行估算,導(dǎo)彈總質(zhì)量M由有效載荷Ma和發(fā)動(dòng)機(jī)質(zhì)量Mb組成,即
M=Ma+Mb。
(1)
發(fā)動(dòng)機(jī)質(zhì)量Mb又由推進(jìn)劑質(zhì)量MT和結(jié)構(gòu)質(zhì)量MJ構(gòu)成,即
MT=Mb×l
(2)
式中,l是發(fā)動(dòng)機(jī)的裝填比系數(shù)。
發(fā)動(dòng)機(jī)真空額定推力為
P0=M×g0×xpm
(3)
式中:g0是地表重力加速度;xpm是發(fā)動(dòng)機(jī)的推重比常數(shù)。
秒耗量為
(4)
式中,Isp 0是發(fā)動(dòng)機(jī)真空比沖。
為了方便研究,將地球簡(jiǎn)化為靜止的勻質(zhì)圓球體,且導(dǎo)彈只在射面內(nèi)運(yùn)動(dòng)。大氣環(huán)境采用美國(guó)1976大氣模型。
基于以上假設(shè),導(dǎo)彈的質(zhì)心運(yùn)動(dòng)模型為
(5)
(6)
式中,φ為導(dǎo)彈俯仰角。
(7)
(8)
式中,α為導(dǎo)彈攻角。
式(7)中,X,Y分別為阻力和升力
(9)
(10)
式中,P是當(dāng)前發(fā)動(dòng)機(jī)的實(shí)際推力
P=0.995×(P0+SaPk)
(11)
式中:0.995為考慮控制力機(jī)構(gòu)及控制損失后的推力比率;Pk為導(dǎo)彈飛行高度處的大氣壓強(qiáng);Sa為發(fā)動(dòng)機(jī)噴管出口截面積。
式(5)中,gx,gy表達(dá)式為
(12)
式中,R為當(dāng)前地心矢徑
(13)
由于彈道導(dǎo)彈在發(fā)動(dòng)機(jī)關(guān)機(jī)之后,自由段僅受地球引力,再入段僅受地球引力和再入阻力,導(dǎo)彈落點(diǎn)僅與關(guān)機(jī)點(diǎn)時(shí)刻的運(yùn)動(dòng)狀態(tài)有關(guān),進(jìn)而得到導(dǎo)彈發(fā)射點(diǎn)到落點(diǎn)的距離,即為導(dǎo)彈的射程。因此,需要通過(guò)對(duì)導(dǎo)彈在主動(dòng)段中飛行程序角的設(shè)計(jì)得到在滿(mǎn)足射程下的關(guān)機(jī)狀態(tài)。
1.4.1 垂直起飛段
垂直起飛段,φ=90°。垂直起飛時(shí)間由經(jīng)驗(yàn)公式確定,即
(14)
1.4.2 亞音速程序轉(zhuǎn)彎段
在亞音速程序轉(zhuǎn)彎段
φ=α1(t)+θ
(15)
式中:α1=-4αmax1ea1(t1-t)(1-ea1(t1-t)),αmax1為該轉(zhuǎn)彎段最大攻角的絕對(duì)值,考慮最大法向過(guò)載和姿態(tài)控制系統(tǒng)能力,其值小于5°,a1是控制轉(zhuǎn)彎快慢的常數(shù);θ為彈道傾角,根據(jù)當(dāng)前飛行速度計(jì)算
(16)
亞音速程序轉(zhuǎn)彎時(shí)間是從垂直起飛段結(jié)束時(shí)刻到導(dǎo)彈飛行馬赫數(shù)達(dá)到0.8為止。
1.4.3 跨音速段
在跨音速段
φ=θ。
(17)
為了保持導(dǎo)彈在跨音速段的穩(wěn)定,要求攻角為0°,跨音速段時(shí)間是從亞音速程序轉(zhuǎn)彎段結(jié)束時(shí)刻到導(dǎo)彈飛行馬赫數(shù)達(dá)到1為止。
1.4.4 第二次程序轉(zhuǎn)彎段
在第二次程序轉(zhuǎn)彎段
φ=α2(t)+θ
(18)
式中,α2=-4αmax2ea2(t3-t)(1-ea2(t3-t))。第二次程序轉(zhuǎn)彎時(shí)間是從跨音速段結(jié)束時(shí)刻到發(fā)動(dòng)機(jī)關(guān)機(jī)前5 s為止。
1.4.5 定程序飛行段
飛行程序角保持上一段不變,定程序飛行段時(shí)間是從第二次程序轉(zhuǎn)彎段到發(fā)動(dòng)機(jī)關(guān)機(jī)為止。
考慮最大法向過(guò)載和姿態(tài)控制系統(tǒng)能力,αmax1和αmax2的最大值分別是5°和10°;考慮導(dǎo)彈結(jié)構(gòu)的承受能力,要求主動(dòng)段的最大法向過(guò)載小于0.1g。
通過(guò)上文的飛行程序角模型研究發(fā)現(xiàn),對(duì)飛行程序角的優(yōu)化過(guò)程即是對(duì)a1,a2,αmax1和αmax2這4個(gè)參數(shù)的確定過(guò)程,在導(dǎo)彈發(fā)動(dòng)機(jī)性能、有效載荷、結(jié)構(gòu)參數(shù)確定的情況下,優(yōu)化目的就是尋找滿(mǎn)足射程條件下的最小發(fā)動(dòng)機(jī)質(zhì)量。
在尋找最優(yōu)飛行程序角時(shí)使用遺傳算法,尋找在固定質(zhì)量下射程最遠(yuǎn)的最優(yōu)飛行程序角;在尋找滿(mǎn)足射程的最小質(zhì)量時(shí),其中一種方法是將質(zhì)量放入遺傳算法中作為其中一個(gè)變量,這種做法雖然尋找速度較快,但是由于遺傳算法的局部搜索能力較差[11],無(wú)法確定在每個(gè)質(zhì)量下的飛行程序角參數(shù)遍歷較為全面,無(wú)法保證充分地發(fā)揮該質(zhì)量下導(dǎo)彈的性能,因此,在這種條件下得到的結(jié)果不能確定是最優(yōu)的。如果想要實(shí)現(xiàn)對(duì)每個(gè)確定質(zhì)量下的飛行程序角參數(shù)的充分試探,需要將質(zhì)量從遺傳算法中剝離開(kāi)來(lái),然后對(duì)每個(gè)確定質(zhì)量下的飛行程序角用遺傳算法尋優(yōu),再判斷是否滿(mǎn)足射程條件,滿(mǎn)足則減小質(zhì)量,不滿(mǎn)足則增加質(zhì)量,通過(guò)迭代計(jì)算達(dá)到要求下的最佳質(zhì)量。
BP神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的非線(xiàn)性擬合能力[12],用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)代替遺傳算法中計(jì)算適應(yīng)度函數(shù)需要進(jìn)行的彈道積分過(guò)程,這樣將大大提高遺傳算法的搜索效率??傮w優(yōu)化流程如圖1所示。
圖1 優(yōu)化流程Fig.1 The process of optimization
將Mb,a1,a2,αmax1和αmax2作為神經(jīng)網(wǎng)絡(luò)的輸入,將射程作為神經(jīng)網(wǎng)絡(luò)的輸出。根據(jù)實(shí)際條件與經(jīng)驗(yàn)分析,令Mb在5000~10 000 kg范圍,a1在0~1范圍,a2在0~2范圍,αmax1在0°~5°范圍,αmax2在0°~10°范圍,將這5個(gè)參數(shù)在各自區(qū)間內(nèi)隨機(jī)組合,通過(guò)彈道程序積分計(jì)算每種組合下的射程,構(gòu)成15 000組標(biāo)準(zhǔn)樣本。
設(shè)置3個(gè)隱藏層,節(jié)點(diǎn)數(shù)分別為10,8,5,加上輸入、輸出參數(shù)分別是5和1,可以得到BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖2所示。
圖2 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Structure of neural network
隱藏層均采用對(duì)數(shù)激活函數(shù)logsig,輸出層采用線(xiàn)性激活函數(shù)purelin。將輸入和輸出數(shù)據(jù)進(jìn)行歸一化處理,保留歸一化結(jié)構(gòu)用于神經(jīng)網(wǎng)絡(luò)輸出后的反歸一化。
對(duì)這樣的中型BP神經(jīng)網(wǎng)絡(luò)采用收斂速度最快的Levenberg-Marquardt算法[13],訓(xùn)練時(shí)采用均方誤差(Mean Squared Error,MSE)作為模型的損失函數(shù),訓(xùn)練次數(shù)為2000。
首先設(shè)置發(fā)動(dòng)機(jī)質(zhì)量的初值Mb=8000 kg,將遺傳算法的種群數(shù)目設(shè)置為200,遺傳代數(shù)設(shè)置為20,通過(guò)射程的快速計(jì)算判斷在此演變過(guò)程中的射程是否滿(mǎn)足要求,如果滿(mǎn)足則減小發(fā)動(dòng)機(jī)質(zhì)量Mb=Mb/1.1,否則增加發(fā)動(dòng)機(jī)的質(zhì)量Mb=Mb×1.05,直至找到剛好滿(mǎn)足射程指標(biāo)的發(fā)動(dòng)機(jī)質(zhì)量。
尋找出的發(fā)動(dòng)機(jī)質(zhì)量以及此質(zhì)量對(duì)應(yīng)的飛行程序角參數(shù)就是總體參數(shù)的優(yōu)化結(jié)果。
對(duì)彈道擬合的訓(xùn)練過(guò)程中訓(xùn)練誤差收斂情況如圖3所示。
圖3 誤差收斂速度Fig.3 Convergence speed of error
使用600個(gè)標(biāo)準(zhǔn)樣本對(duì)模型進(jìn)行測(cè)試,其模型的測(cè)試誤差結(jié)果如圖4所示。
圖4 測(cè)試誤差Fig.4 Test error
測(cè)試誤差的平均誤差為270.999 5 m,標(biāo)準(zhǔn)差為259.419 9 m,最大誤差為1 327.644 3 m。
在該總體參數(shù)的設(shè)計(jì)過(guò)程中,主要是判斷射程能否達(dá)到指標(biāo),計(jì)算過(guò)程中達(dá)到千米級(jí)的精度即可,因此這樣的測(cè)試結(jié)果是滿(mǎn)足要求的。
為觀(guān)察在不同參數(shù)下的彈道特性,選取在參數(shù)為Mb=6 626.59 kg,αmax1=3.720°,αmax2=8.600°,a1=0.253,a2=0.026條件下與尋找得到的最優(yōu)參數(shù)下的彈道進(jìn)行對(duì)比。圖5是兩者的飛行程序角變化對(duì)比,圖6是兩者飛行彈道的對(duì)比。通過(guò)對(duì)比發(fā)現(xiàn),飛行程序所控制的導(dǎo)彈轉(zhuǎn)彎角度的大小和快慢對(duì)射程的影響十分明顯。
圖5 時(shí)間-攻角Fig.5 Time vs angle of attack
圖6 射程-高度Fig.6 Range vs height
BP神經(jīng)網(wǎng)絡(luò)對(duì)彈道射程計(jì)算過(guò)程擬合完成后,大大降低了計(jì)算的復(fù)雜度。通過(guò)對(duì)比,在單個(gè)i7-9750H CPU(2.60 GHz)下,給定同樣初值計(jì)算100次射程,彈道積分計(jì)算用時(shí)為13.492 s,用訓(xùn)練出來(lái)的BP神經(jīng)網(wǎng)絡(luò)代替遺傳算法中適應(yīng)度函數(shù)的彈道積分過(guò)程的方法用時(shí)僅為1.435 s,可以看出,改進(jìn)后的遺傳算法速度大大提高。
在種群規(guī)模為100、變異概率為0.05、遺傳代數(shù)為200的情況下,通過(guò)遺傳算法得到滿(mǎn)足要求的最小質(zhì)量為7 252.46 kg。
將訓(xùn)練出來(lái)的BP神經(jīng)網(wǎng)絡(luò)代替用彈道積分計(jì)算遺傳算法中適應(yīng)度函數(shù)的過(guò)程,得到的目標(biāo)優(yōu)化質(zhì)量為6 626.59 kg。這說(shuō)明將質(zhì)量的優(yōu)化從飛行程序角參數(shù)的尋找過(guò)程中剝離出來(lái)的方法,能有效減小遺傳算法局部搜索能力弱帶來(lái)的影響,提升算法的搜索能力。其優(yōu)化過(guò)程部分?jǐn)?shù)據(jù)記錄如表1所示。
表1 優(yōu)化過(guò)程數(shù)據(jù)Table 1 Data of the optimization process
續(xù)表
最后選取Mb=6 626.59 kg,αmax1=3.820°,αmax2=8.800°,a1=0.164,a2=0.039作為滿(mǎn)足射程700 km時(shí)的最小質(zhì)量和對(duì)應(yīng)的最佳飛行程序角參數(shù)。
本文利用BP神經(jīng)網(wǎng)絡(luò)強(qiáng)大的非線(xiàn)性擬合能力對(duì)彈道射程的計(jì)算進(jìn)行擬合,能實(shí)現(xiàn)在給定質(zhì)量和飛行程序角的條件下對(duì)射程進(jìn)行快速計(jì)算,結(jié)合遺傳算法,將此應(yīng)用于適應(yīng)度函數(shù)的計(jì)算。實(shí)驗(yàn)結(jié)果表明,此改進(jìn)方法大大提高了遺傳算法的搜索速度,為此類(lèi)問(wèn)題的解決提供了一種新的思路;同時(shí),用迭代質(zhì)量的方法降低了遺傳算法局部搜索能力差帶來(lái)的不良影響,對(duì)每個(gè)質(zhì)量下的最大射程進(jìn)行了充分挖掘,進(jìn)一步優(yōu)化了滿(mǎn)足射程下的發(fā)動(dòng)機(jī)質(zhì)量。