何新佳,馬中亮,代淑蘭
(中北大學(xué)環(huán)境與安全工程學(xué)院,太原 030051)
高射炮是一種從地面對(duì)空中目標(biāo)進(jìn)行射擊的火炮,這類空中目標(biāo)包括飛機(jī),飛行器等。由于高射炮具有初速大、炮身長(zhǎng)、射程遠(yuǎn)、射擊精度高等特點(diǎn),在現(xiàn)代戰(zhàn)爭(zhēng)中發(fā)揮了巨大作用。隨著空中目標(biāo)飛行速度的急劇增加,高射炮的絕對(duì)裝載火藥量由幾十克發(fā)展到上千克,其射擊速度得到了成倍的提高,但是隨著裝藥量的增加,火炮膛內(nèi)壓力也會(huì)隨之增加,考慮到炮管材料受到高溫、高壓條件下的制約,導(dǎo)致火炮身管材料強(qiáng)度的發(fā)展跟不上火炮需求的發(fā)展。因此,有必要對(duì)高射炮的裝填參數(shù)進(jìn)行優(yōu)化,使其在不超過(guò)膛內(nèi)最大壓力的情況下來(lái)提高高射炮的炮口速度。
近年來(lái),隨著優(yōu)化理論的發(fā)展,許多優(yōu)化算法在各個(gè)領(lǐng)域都得到了應(yīng)用。例如近年來(lái)報(bào)道了很多關(guān)于利用遺傳算法在內(nèi)彈道性能優(yōu)化方面的應(yīng)用。然而遺傳算法的局部搜索能力較差,導(dǎo)致實(shí)際過(guò)程中運(yùn)算比較耗時(shí),且容易產(chǎn)生早熟收斂的問(wèn)題。相比遺傳算法,人工魚(yú)群算法具備良好的全局尋優(yōu)能力,能夠快速跳出局部最優(yōu)解,對(duì)初值的要求不高,且具備并行處理能力。因此,本文中在滿足最大膛壓的約束條件下,采用人工魚(yú)群算法對(duì)高射炮的內(nèi)彈道性能進(jìn)行優(yōu)化,該優(yōu)化結(jié)果可為今后相關(guān)領(lǐng)域的應(yīng)用提供一定的借鑒意義。
人工魚(yú)群算法根據(jù)魚(yú)類的活動(dòng)特點(diǎn),提出了一種基于動(dòng)物行為的尋優(yōu)模式。人工魚(yú)總會(huì)朝著水域中營(yíng)養(yǎng)物質(zhì)多的地方游動(dòng),根據(jù)這一特點(diǎn)來(lái)模擬其聚群、追尾、覓食行為。人工魚(yú)個(gè)體通過(guò)對(duì)這些行為的評(píng)價(jià),選擇一種最優(yōu)的行為方式并執(zhí)行,以移動(dòng)到食物濃度更高的位置,由此實(shí)現(xiàn)全局尋優(yōu)。人工魚(yú)群算法在運(yùn)行過(guò)程中,其聚群行為和追尾行為同時(shí)發(fā)生,當(dāng)發(fā)現(xiàn)聚群對(duì)象和追尾對(duì)象附近擁擠度過(guò)大時(shí),人工魚(yú)就會(huì)進(jìn)行覓食行為,在覓食行為過(guò)程中,如果未發(fā)現(xiàn)比自身目標(biāo)函數(shù)更高的個(gè)體,則人工魚(yú)會(huì)按步長(zhǎng)Step 隨機(jī)前進(jìn)。最后對(duì)人工魚(yú)追尾行為和聚群行為得到的目標(biāo)函數(shù)進(jìn)行比較,若目標(biāo)函數(shù)為求最大值,則選擇目標(biāo)函數(shù)最大的個(gè)體作為下一代的個(gè)體。人工魚(yú)個(gè)體的狀態(tài)可以用向量={,,…,x}來(lái)表示,其中,x(=1,2,…,)為欲尋優(yōu)的變量;假設(shè)人工魚(yú)當(dāng)前位置的食物濃度為(),其中,為目標(biāo)函數(shù)值;Visual 為人工魚(yú)的視野范圍;d=||X-X||為人工魚(yú)個(gè)體之間的距離;Step為人工魚(yú)的前進(jìn)步長(zhǎng);為人工魚(yú)擁擠度因子;Try_number 為人工魚(yú)嘗試次數(shù)。詳細(xì)的人工魚(yú)的行為描述如下。
人工魚(yú)的覓食行為是指人工魚(yú)會(huì)向著食物濃度大的地方游動(dòng)的一種行為。假設(shè)人工魚(yú)當(dāng)前狀態(tài)為X,在其感知范圍內(nèi)隨機(jī)選擇某個(gè)狀態(tài)X
如果在求最大值問(wèn)題中,Y<Y,則向X方向前進(jìn)一步(對(duì)于極小值問(wèn)題,同理)
否則,再隨機(jī)重新選擇狀態(tài)X,考察是否滿足前進(jìn)條件,如果反復(fù)嘗試Try_number 次后,仍沒(méi)有滿足前進(jìn)條件,則隨機(jī)向前移動(dòng)一步,進(jìn)而使當(dāng)前狀態(tài)到達(dá)一個(gè)新的狀態(tài)。
人工魚(yú)的隨機(jī)行為指的是人工魚(yú)隨機(jī)選擇一個(gè)狀態(tài),再向該方向前進(jìn),實(shí)際上,隨機(jī)行為是覓食行為的一個(gè)缺省行為。人工魚(yú)的隨機(jī)行為可以保證該算法具備跳出局部最優(yōu)值的能力,從而更好地找到全局最優(yōu)解。
相比于其他種類的優(yōu)化算法,人工魚(yú)群算法可采用多個(gè)人工魚(yú)并行進(jìn)行尋優(yōu),有利于提高其尋優(yōu)速度,且該算法對(duì)初值參數(shù)并不敏感,其具備的隨機(jī)行為可確保具備跳出局部極值的能力。具體流程如圖1 所示。
圖1 人工魚(yú)群算法流程
本文采用四階龍格-庫(kù)塔法對(duì)上述57 mm 高射炮進(jìn)行數(shù)值計(jì)算,所用到的高射炮的裝填參數(shù)及結(jié)構(gòu)諸元如表1 所示。
表1 57 mm 高射炮原始數(shù)據(jù)表
在上述裝填參數(shù)及結(jié)構(gòu)諸元下,對(duì)57 mm 高射炮內(nèi)彈道模型進(jìn)行數(shù)值求解,得到的最大膛壓和炮彈初速如下頁(yè)表2 所示。由表2 可知,計(jì)算得到的最大膛壓和炮口初速與靶場(chǎng)實(shí)驗(yàn)結(jié)果的一致性較好,證明該模型可以比較準(zhǔn)確地描述火炮膛內(nèi)的彈道參量變化情況,即可以采用上述內(nèi)彈道模型為理論基礎(chǔ)對(duì)高射炮內(nèi)彈道性能進(jìn)行優(yōu)化。
表2 實(shí)驗(yàn)結(jié)果與計(jì)算結(jié)果的比較
為了盡量加快該算法的收斂速度,且保證收斂過(guò)程的穩(wěn)定性,設(shè)定人工魚(yú)群算法的基本參數(shù)如表3 所示。
表3 人工魚(yú)群算法基本參數(shù)
利用上述人工魚(yú)群算法對(duì)高射炮內(nèi)彈道性能進(jìn)行優(yōu)化,其優(yōu)化結(jié)果如圖2 所示,從圖中可以看出,在迭代進(jìn)行到第32 次時(shí),速度值趨于定值,為1 013.36 m/s,此時(shí)最大膛壓為335.97 MPa,其值在最大膛壓的約束條件范圍內(nèi)。
圖2 目標(biāo)函數(shù)隨迭代次數(shù)的變化曲線
圖3 裝藥量隨迭代次數(shù)的變化曲線
圖4 1/2 火藥弧厚隨迭代次數(shù)的變化曲線
為了驗(yàn)證魚(yú)群算法的穩(wěn)定性,進(jìn)行了6 次獨(dú)立的優(yōu)化過(guò)程。如表4 所示,優(yōu)化結(jié)果之間都不相同,這是由于人工魚(yú)個(gè)體的隨機(jī)行為造成的,但是優(yōu)化結(jié)果之間差異很小,且均優(yōu)于初始方案,優(yōu)化變量取值均在約束范圍內(nèi),滿足設(shè)計(jì)要求。
表4 優(yōu)化結(jié)果
為了更好地比較初始方案和優(yōu)化方案的差異,現(xiàn)取表3 中第6 組數(shù)據(jù)與初始方案進(jìn)行比較,得到的膛壓和膛壓差曲線分別如下頁(yè)圖5(a)和圖5(b)所示,得到的速度和速度差曲線分別如圖6(a)和圖6(b)所示。由于優(yōu)化方案中裝藥量高于初始方案的裝藥量,裝藥量越大,火藥能量釋放越多,導(dǎo)致在圖5(a)中優(yōu)化方案的最大膛壓值大于初始方案的最大膛壓值,由于優(yōu)化方案中火藥弧厚低于初始方案的火藥弧厚,當(dāng)火藥弧厚越小時(shí),火藥燃燒時(shí)間越短,能量釋放相對(duì)較快,導(dǎo)致在圖6(b)中,在同一時(shí)間內(nèi)優(yōu)化方案的速度一直高于初始方案中的速度,相比初始方案,優(yōu)化方案中的炮口初速提高了大約16 m/s,這進(jìn)一步說(shuō)明了人工魚(yú)群算法在高射炮內(nèi)彈道性能優(yōu)化中的適用性及可行性。
圖5 不同方案的壓力曲線
圖6 不同方案的速度曲線
本文依據(jù)人工魚(yú)群算法對(duì)初始參數(shù)的設(shè)置要求不高,全局尋優(yōu)能力強(qiáng),收斂穩(wěn)定性好的特點(diǎn),將該優(yōu)化算法應(yīng)用于高射炮的內(nèi)彈道性能優(yōu)化,在滿足內(nèi)彈道設(shè)計(jì)指標(biāo)的前提下,優(yōu)化方案的彈丸速度從初始方案中的997.5 m/s 提高到了1 013.36 m/s,優(yōu)化效果顯著。最后為了驗(yàn)證人工魚(yú)群算法的收斂穩(wěn)定性和適用性,進(jìn)行了6 次獨(dú)立的優(yōu)化過(guò)程,得到的優(yōu)化結(jié)果之間差異很小,且都優(yōu)于初始方案。優(yōu)化結(jié)果說(shuō)明本文采用的人工魚(yú)群算法對(duì)高射炮的內(nèi)彈道性能優(yōu)化具有一定的實(shí)用價(jià)值,可以為今后的裝藥優(yōu)化設(shè)計(jì)提供理論指導(dǎo)。由于本文建立的高射炮經(jīng)典內(nèi)彈道數(shù)學(xué)模型相對(duì)簡(jiǎn)單,因此,該目標(biāo)函數(shù)很快就趨于定值,然而對(duì)于一些復(fù)雜裝藥的新型火炮,其內(nèi)彈道模型較為復(fù)雜,在應(yīng)用該人工魚(yú)群算法進(jìn)行優(yōu)化時(shí),勢(shì)必會(huì)使所求問(wèn)題的目標(biāo)函數(shù)的收斂速度變得緩慢,甚至?xí)霈F(xiàn)振蕩現(xiàn)象,如何提升該算法的收斂速度以及抑制振蕩現(xiàn)象,將是筆者未來(lái)研究的主要內(nèi)容。