何新佳,馬中亮,代淑蘭
(中北大學環境與安全工程學院,太原 030051)
火炮設計需要以內彈道計算為基礎,在火炮內彈道計算中,火藥裝填條件以及膛內構造諸元的改變都會使內彈道的計算結果大不相同。火炮武器系統的內彈道設計是整個系統設計的核心,其先進性是衡量火炮武器系統先進性的主要指標,因此內彈道優化設計成了火炮武器系統優化設計的關鍵。對于加農炮來說,身管長,射程遠,彈道低伸,因此追求其最大速度往往作為設計者考慮的首要目標,然而,當彈丸離開炮口后,膛內火藥氣體仍然具有較高的壓力,并以很高的速度向外噴出,導致炮口壓力較高,為了盡量降低這種有害的影響,必須對其炮口壓力進行限制。在衡量火炮內彈道性能的指標中,彈道效率往往作為一個重要指標來考慮。因此在火炮內彈道性能多目標優化過程中,實現多個目標的均衡就成為一個重要的問題。
近年來,出現了很多典型的多目標優化算法,如NSGA-II、NSGA-III及MOEA/D等,這些算法采用的基本思想主要包括基于Pareto占優關系的MOEA算法和基于分解機制的MOEA算法等,其中,基于Pareto占優機制的原理對于處理低維多目標問題效果較好,可以得到分布更加均勻的Pareto最優解。
蝙蝠算法是受蝙蝠回聲定位的特性啟發而提出的新算法,相比于遺傳算法和粒子群算法等,蝙蝠算法參數設置較少,收斂速度更快和求解精度更高,具有很大的應用潛能,因此文中結合Pareto占優機制,采用多目標蝙蝠算法對加農炮內彈道性能進行多目標優化,所得結果可為設計者根據實際需求提供相應的優化方案,并提高內彈道性能及發射安全性。
內彈道數學模型是彈丸在膛內運動過程的簡化數學描述。對于100 mm加農炮,建立的基于管狀發射藥的內彈道模型如下:

(1)

文中所研究的加農炮原始數據可以參考文獻[1]。利用原始數據,采用四階龍格-庫塔法對加農炮內彈道方程組進行數值求解,得到的膛壓和彈丸速度曲線如圖1所示。由圖1知,曲線符合一般內彈道曲線的特征,很好地再現了火炮膛內的壓力變化及彈丸的運動規律。

圖1 膛壓和彈丸速度曲線
取特殊點值與火炮射擊實驗數據進行比較,如表1所示。由表1可得,計算數據與實驗值吻合較好,說明采用的加農炮內彈道數學模型可以準確描述彈丸在火炮膛內的運動規律,因此可以用來對加農炮的內彈道性能進行多目標優化研究。

表1 計算值與實驗值的比較
蝙蝠算法主要模擬了蝙蝠通過回聲定位系統來尋找食物的行為。每一個蝙蝠有4個屬性,當前位置、當前速度、回聲頻率以及回聲響度。蝙蝠算法中每只蝙蝠有2種行為:1)更新頻率,更新位置;2)隨機飛行。蝙蝠算法的假設如下:
1)全部蝙蝠都使用回聲定位來感知距離,并且都可以判斷出是食物還是障礙物。
2)響度從一個正值變化到最小值。
3)頻率在[,]范圍內,對應的波長在[,]范圍內。
4)蝙蝠在一定位置以一定速度隨機飛行,且可以自動調整發射脈沖頻率或波長,并根據相對距離調整脈沖發射頻率。
對于第一種行為,每只蝙蝠在速度更新之前會先隨機更新其超聲波頻率:
+1=(,)
(2)
式中:和分別為頻率的最小值和最大值;為0到1之間均勻分布的隨機數;為當前迭代次數。
每只蝙蝠依據自身當前速度和當前位置與最優位置間的距離來更新其速度:
+1=++1(-)
(3)
式中,為蝙蝠在當前空間中的最優位置。
和粒子群算法一樣,每只蝙蝠會進行位置的更新:
+1=++1
(4)
對于蝙蝠的第二種行為,蝙蝠會隨機選取某個數,如果該數大于蝙蝠的脈沖頻率,蝙蝠就會選擇隨機飛行,其描述隨機行為的公式為:
=+
(5)
式中:代表搜索后的蝙蝠生成的新的解;代表搜索之前的最優解;是[-1,1]內的隨機數;為該代的所有蝙蝠的響度的平均值。
位置更新完成后,蝙蝠會比較當前位置與之前位置的優劣,如果新位置更好,則飛行到新的位置,否則停留在原處,在飛行到新位置的同時,蝙蝠會更新自己的響度和脈沖發射率:
=
(6)
+1=(1-e-)
(7)
式中,,為常數。
在多目標函數優化問題中,目標函數之間是相互沖突的,只能進行折中處理,盡可能的都達到最優。在單目標優化問題中,可以通過大于或者小于這樣的簡單關系對可行解中的解進行評價,但在多目標優化問題中,由于多個目標函數的存在,只能得到折中解,因此需要引入Pareto最優的概念來對折中解進行評價。

?∈(1,2,3,…,),()≤()∧?∈(1,2,3,…,),()≤()
(8)
式中,為子目標函數的個數。

3)Pareto最優解集和前沿面。全部Pareto最優解的集合稱為Pareto最優解集,對應的目標函數的集合稱為Pareto前沿面。
在采用的多目標蝙蝠算法中,首先使用加權法將所有目標函數轉化為一個目標函數,其轉化公式為:

(9)
式中,權重向量是通過均勻分布產生的一組隨機數,因此可以保證Pareto前沿面的多樣性較好。然后與蝙蝠算法一樣,對每只蝙蝠進行速度和位置的更新,以及響度和脈沖發射率的更新。
為了提高種群的搜索性能,在該多目標蝙蝠算法中,采用Pareto占優機制得到前沿面,通過前沿面得到的解集構成最優解的集合,該最優解的集合即為子目標函數折中解的集合。
對于加農炮內彈道性能多目標優化問題,首先應該建立優化設計數學模型,并選取目標函數、約束條件、優化設計變量以及合理的優化設計方法等,然后通過建立的數學模型計算出目標變量值,最后利用優化設計模型得到目標變量的最優解。考慮到加農炮本身的作戰特點、發射安全性和火藥能量利用率等,文中將最大彈丸初速、最小炮口壓力以及最大彈道效率作為待優化的目標。設計變量選擇對內彈道性能影響較大的1/2火藥弧厚、裝藥量及藥室容積,考慮到發射安全性以及發射藥燃燒的完全性等,將膛內最大壓力和火藥相對燃燒結束點作為約束條件。基于上述要求,得到的加農炮內彈道多目標優化模型為:

(10)
式中,為彈道效率,定義為:

(11)
其中,=-1,為絕熱指數。
為火藥相對燃燒結束位置,定義為:

(12)
式中:為彈丸行程長;為火藥燃燒結束位置。
將上述多目標蝙蝠算法與加農炮內彈道性能優化相結合,得到基于多目標蝙蝠算法的加農炮內彈道性能優化過程:
步驟1:設置初始參數,對蝙蝠種群位置進行初始化。
步驟2:基于3個目標函數,利用Pareto占優機制得到Pareto最優解集,并將炮口速度、炮口壓力和彈道效率作為需要求解的目標函數,然后調用加農炮內彈道程序計算各個子目標函數值。
步驟3:依據式(3)和式(4)對蝙蝠進行速度和位置的更新,將更新后的個體位置與歷史最優個體進行比較,選擇將目標函數值最優的個體位置作為當前種群的最優位置。
步驟4:生成0~1之間正態分布的隨機數,如果>,則參考式(5)選取一個新位置,否則蝙蝠隨機產生一個新位置。
步驟5:假設蝙蝠個體當前位置優于種群當前位置,且滿足<,則將步驟4產生的新位置作為種群的最優位置,否則將作為更新后的種群最優位置。
步驟6:若當前迭代次數大于最大迭代次數,則輸出最優位置,否則返回步驟2。
步驟7:根據步驟6得到的最優位置,輸出Pareto最優解集,進而得到一系列優化后的炮口初速值、炮口壓力值和彈道效率值。
對于多目標蝙蝠算法,參考文獻[15],設置種群規模為150,算法最大迭代次數為300,響度從1減小到0,響度衰減系數為0.9,脈沖頻率在0~1之間變化。
利用多目標蝙蝠算法對該加農炮內彈道性能進行多目標優化,圖2顯示了在不同迭代次數下的子目標的變化趨勢,圖3為優化設計變量在不同迭代次數下的變化。由圖2和圖3可以看出:隨著迭代次數增加,無論是子目標函數,還是優化設計變量,都得到了顯著的改善。

圖2 子目標優化進程

圖3 設計變量優化進程
選擇炮口初速、炮口壓力和彈道效率這3個子目標,然后考察解集的分布以及子目標之間的關系,如圖4所示。圖4(a)描述了炮口初速和炮口壓力之間的關系,由圖可以看出,炮口初速隨著炮口壓力的增加而增加,且目標之間的相關性很高。圖4(b)和圖4(c)分別給出了彈道效率和炮口初速的關系以及彈道效率和炮口壓力之間的關系,其中,彈道效率與炮口初速以及彈道效率與炮口壓力之間存在著一定的負相關關系。原因在于,由彈道效率的公式可知,主裝藥量與彈道效率有最直接的關系,當主裝藥量增加時,彈道效率會減小,而隨著主裝藥量的增加,火藥釋放的能量就更多,對彈丸做的功就變多,而無論是炮口初速還是炮口壓力都會隨著裝藥量的增加而增加,因此可以得到上述的結論。

圖4 子目標函數之間的關系
為了考察設計變量對目標函數的影響,圖5、圖6和圖7分別給出了不同設計變量對炮口速度、炮口壓力和彈道效率的影響,圖中也顯示了給定目標函數的不同變量的可行域。例如,圖5(a)、圖5(b)和圖5(c)顯示了管狀藥弧厚、藥室容積和裝藥量3個變量兩兩之間對炮口初速的影響,由圖5知,為了盡可能獲得較大的炮口初速,需要將藥室容積控制在8.2~8.5 dm,將1/2管狀藥弧厚控制在0.85~0.90 mm,將裝藥量控制在5.6~6.0 kg。

圖5 優化設計變量對炮口初速的影響


圖6 優化設計變量對炮口壓力的影響

圖7 優化設計變量對彈道效率的影響
對于火炮設計者來說,在實際應用中,通常考慮的是盡可能獲得較大的炮口初速和較小的炮口壓力,基于此,選擇圖4(a)中的一些特殊點,如圖8所示。其中,點為多目標優化方案下的最大炮口初速點,點為綜合考慮炮口初速和炮口壓力下選擇的較為合適的點。

圖8 炮口壓力和炮口初速關系圖
選擇基于點下的優化方案,并與初始方案進行比較,如表2所示。

表2 優化方案與初始方案的比較
基于上述方案,得到的膛壓和初速隨時間的變化曲線如圖9和圖10所示。

圖9 p-t曲線

圖10 v-t曲線
由圖9和圖10可知,多目標優化方案下得到的炮口初速更大,但該方案下得到的炮口壓力也大,這進一步說明了在多目標函數優化問題中,幾個目標函數是相互沖突的,一般不會出現所有目標函數都達到各自最優的情況,然而由圖9和圖10可以得到,多目標優化方案改善了-曲線的梯度,并推遲了最大壓力點的出現,因此該多目標優化方案明顯提升了內彈道性能以及提高了發射安全性。
采用多目標蝙蝠算法對加農炮內彈道性能進行了多目標優化,通過選擇將炮口初速、炮口壓力和彈道效率作為擬優化的子目標,對該加農炮內彈道性能進行了真正的多目標優化,所得優化結果為一系列的Pareto最優解,可供火炮設計者根據需要進行選擇。然后考察了不同設計變量對火炮內彈道性能的影響及各自目標函數下優化設計變量的可行域。然而,由于目標函數之間相互沖突,因此只能進行折中處理,但從多目標優化方案與初始方案的比較來看,得到的多目標優化方案明顯提升了內彈道性能及火炮發射安全性,因此可以為今后加農炮的裝藥優化和提高加農炮發射安全性等提供一定的技術指導。