侯文姝,陸銘華
(海軍潛艇學(xué)院,山東 青島,266199)
潛艇使用自航式聲誘餌對(duì)抗聲自導(dǎo)魚雷主要在于迅速抉擇對(duì)抗方案,確定潛艇機(jī)動(dòng)規(guī)避的時(shí)機(jī)、潛艇轉(zhuǎn)向角、航速、聲誘餌發(fā)射時(shí)機(jī)、一次轉(zhuǎn)向角、變深航深和二次轉(zhuǎn)向角等參數(shù),從而達(dá)到使魚雷與潛艇距離最大的優(yōu)化目標(biāo)。幾何分析[1]、解析模型[2]、并行算法[3-4]以及遺傳算法[5-7]等方法被用于求解該類問題。孟慶玉等[8]指出如果目標(biāo)隨機(jī)機(jī)動(dòng)或魚雷非直航搜索,由于魚雷和目標(biāo)相互運(yùn)動(dòng)的確定性,使得應(yīng)用解析法比較困難。采用大規(guī)模并行算法則對(duì)硬件要求比較高,在潛艇上實(shí)現(xiàn)難度較大。
粒子群優(yōu)化(particle swarm optimization,PSO)[9]算法是計(jì)算智能領(lǐng)域除了蟻群算法、魚群算法之外的一種群體智能算法[10]。在此基礎(chǔ)上開展的研究也有很多,如Shi 等[11]提出動(dòng)態(tài)調(diào)整慣性權(quán)重策略對(duì)其進(jìn)行改進(jìn),Wang 等[12]引入收縮因子,Niu 等[13]采用自適應(yīng)學(xué)習(xí)策略等。
對(duì)于潛艇使用單個(gè)小口徑自航式聲誘餌防御正在進(jìn)行蛇形搜索聲自導(dǎo)魚雷,使魚雷與潛艇距離最大的問題,采用基于并行計(jì)算的改進(jìn)PSO 算法進(jìn)行優(yōu)化。首先通過分別改變種群粒子數(shù)、迭代次數(shù)和粒子速度的上限以及加速度因子等參數(shù)和種群初始化方法,研究這些因素對(duì)并行計(jì)算PSO算法的影響,然后進(jìn)行算法改進(jìn),使得算法在不增加計(jì)算量的情況下得到更快收斂。
在三維空間中,當(dāng)潛艇接收到魚雷報(bào)警信號(hào)時(shí),聲自導(dǎo)魚雷正在采用主被動(dòng)聯(lián)合自導(dǎo)進(jìn)行蛇行搜索,發(fā)現(xiàn)潛艇或誘餌后立即進(jìn)行尾追機(jī)動(dòng)跟蹤。對(duì)聲誘餌進(jìn)行尾追跟蹤時(shí),一旦潛艇進(jìn)入魚雷對(duì)潛艇的開始識(shí)別距離且在魚雷主被動(dòng)聲自導(dǎo)探測(cè)范圍內(nèi),魚雷棄聲誘餌改為尾追潛艇。魚雷一旦丟失聲誘餌或與聲誘餌接近到一定距離時(shí),識(shí)別出誘餌為假目標(biāo),魚雷進(jìn)行環(huán)形機(jī)動(dòng)搜索潛艇[14]。若環(huán)形機(jī)動(dòng)一圈后未搜索到潛艇,則繼續(xù)進(jìn)行蛇形機(jī)動(dòng)搜索潛艇。
傳播損失TL采用Baker 給出的表面聲道經(jīng)驗(yàn)公式計(jì)算[15];海洋環(huán)境噪聲NL服從Kundson 譜[15];潛艇反射強(qiáng)度TS隨信號(hào)入射方向的變化規(guī)律可以近似表示為蝶形[8];潛艇輻射噪聲強(qiáng)度采用經(jīng)驗(yàn)公式[8]計(jì)算。由于聲誘餌尾部存在盲區(qū)[5],如果目標(biāo)和誘餌同時(shí)進(jìn)入魚雷的自導(dǎo)作用范圍,則魚雷優(yōu)先跟蹤目標(biāo)[5]。魚雷的主被動(dòng)聲自導(dǎo)能否發(fā)現(xiàn)目標(biāo)采用基于聲吶方程的魚雷主動(dòng)檢測(cè)模型和被動(dòng)檢測(cè)模型[7-8]進(jìn)行判別。魚雷接收頻段內(nèi)的魚雷自噪聲隨深度變化[8]。
基于并行計(jì)算的PSO 算法適應(yīng)度值取潛艇聲誘餌防御魚雷仿真結(jié)束時(shí)潛艇與魚雷的距離d,采用四線程并行計(jì)算方法對(duì)一次迭代過程中的多個(gè)粒子適應(yīng)度值進(jìn)行計(jì)算。設(shè)D(D=7)維空間中,由n個(gè)粒子組成的種群為P=(P1,P2,···,Pn),第i個(gè)粒子為向量Pi=(t1,α1,z1,t2,α2,z2,α3)iT,代表第i個(gè)粒子在D維搜索空間中的位置,也代表問題的一個(gè)潛在解[10],其中:t1為潛艇機(jī)動(dòng)規(guī)避的時(shí)機(jī);α1為潛艇轉(zhuǎn)向角;z1為潛艇變深航深;t2為聲誘餌發(fā)射時(shí)機(jī);α2和 α3為聲誘餌一次和二次轉(zhuǎn)向角;z2為聲誘餌變深航深。參數(shù)取值范圍:t1,t2∈[0,tend],z1,z2∈[10,300],α1∈(-180,180],α2,α3∈[-90,90],粒子位置被限制的區(qū)間記為[Pmin,Pmax]。轉(zhuǎn)向角為0 表示不變向,小于0 表示左轉(zhuǎn),大于0 表示右轉(zhuǎn),所有參數(shù)取整。第i個(gè)粒子的速度為Vi=(V1i,V2i,V3i,V4i,V5i,V6i,V7i)T,速度被限制的區(qū)間為[-Vmax,Vmax]。粒子和速度初始化是通過生成取值范圍內(nèi)的隨機(jī)數(shù)取整得到的。第k+1 次迭代中粒子速度更新和位置更新分別為[10]
式中:c1和c2為加速度因子,為非負(fù)的常數(shù);r1和r2為分布在[0,1]區(qū)間內(nèi)的隨機(jī)數(shù)[10];個(gè)體極值是第i個(gè)粒子計(jì)算出的最優(yōu)適應(yīng)度值所對(duì)應(yīng)的粒子位置;群體極值Pgbest是種群中所有粒子搜索到的適應(yīng)度最優(yōu)位置[10]。
假設(shè)潛艇航向?yàn)?0°,航深為80 m;魚雷報(bào)警舷角右舷140°,航向?yàn)?0°,航深為40 m。時(shí)長(zhǎng)tend=7 min,仿真間隔dt=0.1 s。
粒子群迭代次數(shù)50 次,種群粒子數(shù)為60 個(gè),粒子群加速度因子c1和c2均取值為1,粒子速度的上限Vmax=[10,6,20,10,20,10,20]T,種群初始化采用取隨機(jī)數(shù)的方法,1 次仿真中粒子個(gè)體極值的適應(yīng)度值如圖1(a)所示。圖1(a)中,有4 個(gè)粒子表現(xiàn)比較優(yōu)異,適應(yīng)度值大于7 000 m,還有2 個(gè)粒子適應(yīng)度值分別在6 700 m 左右,這些表現(xiàn)優(yōu)異的粒子大多在第20~40 次迭代過程中收斂。
圖1 粒子個(gè)體極值適應(yīng)度值Fig.1 Fitness of individual extreme value of each particle
通過分別改變種群粒子數(shù)、迭代次數(shù)、粒子速度的上限、加速度因子等參數(shù)和種群初始化方法,研究這些因素對(duì)算法的影響。粒子個(gè)體極值的適應(yīng)度值如圖1(b)~(f)所示。其中,圖1(f)采用的種群初始化方法為在一個(gè)可行解附近生成粒子的方法,可行解為[10,6,20,10,20,10,20]T,對(duì)應(yīng)的適應(yīng)度值d=7 348 m。該可行解為圖1(a)最后一次迭代群體極值。
分別采用增加種群粒子數(shù)(圖1(b))、增加迭代次數(shù)(圖1(c))、改變粒子速度上限的方法(圖1(d))使得個(gè)體極值適應(yīng)度值大于7 000 m 的粒子個(gè)數(shù)也有所增加。加速度因子均取值為2(圖1(e))對(duì)結(jié)果影響不大。種群初始化方法改變(圖1(f))后,20 個(gè)粒子在第1 次迭代時(shí)的個(gè)體極值的適應(yīng)度值大于7 000 m,其他粒子在迭代過程中個(gè)體極值的適應(yīng)度值也能逐步增大,到仿真結(jié)束有51 個(gè)粒子適應(yīng)度值大于7 000 m,20 個(gè)粒子大于7 500 m。由于種群初始化方法為在一個(gè)可行解附近生成粒子,因此所有粒子都是在該可行解附近更新位置,達(dá)到了針對(duì)該可行解進(jìn)一步尋優(yōu)的目的。
對(duì)這6 種情況分別進(jìn)行1 000 次仿真,每一次仿真最后一次迭代群體極值的適應(yīng)度值分布如圖2 所示,平均仿真耗時(shí)分別為18.82、39.05、36.16、18.80、18.78 和21.88 s。圖2(a)群體極值的適應(yīng)度值在1 500~7 700 m 范圍內(nèi),主要分布在1 800、3 800 和7 600 m 左右,這說明在1 000 次仿真中,并不是所有仿真最后一次迭代群體極值適應(yīng)度值都能達(dá)到7 000 m,仍然存在粒子無法尋優(yōu)至適應(yīng)度值較大的情況。且根據(jù)分布情況可以看出,圖2(c)和(d)所示群體極值的適應(yīng)度值在7 500 m以上的統(tǒng)計(jì)次數(shù)較多,分別達(dá)到741 和785 次,表現(xiàn)比較優(yōu)秀,圖2(b)所示次之,圖2(e)最差。圖2(f)所示的1 000 次仿真適應(yīng)度值均大于7 500 m,而且出現(xiàn)40 次仿真適應(yīng)度值大于7 700 m 的情況。
圖2 最后一次迭代群體極值適應(yīng)度值分布Fig.2 Distribution of fitness of swarm extreme value in the last iteration
參數(shù)和種群初始化方法的改變對(duì)優(yōu)化結(jié)果的影響主要是: 增大加速度因子沒有改善結(jié)果;增加種群粒子數(shù)和迭代次數(shù)對(duì)仿真結(jié)果有一定的改善,但是計(jì)算量也相應(yīng)增加;擴(kuò)大粒子速度的上限取值對(duì)仿真結(jié)果改善較大;改變種群初始化方法對(duì)仿真結(jié)果改善的最大,絕大多數(shù)粒子都能獲得較大的適應(yīng)度值,而且適應(yīng)度值偏高。因此改進(jìn)的方向主要是: 1) 擴(kuò)大粒子速度的上限;2) 引入在可行解附近生成粒子群的方法。
算法結(jié)構(gòu)改進(jìn)采用引入在可行解附近生成粒子群的方法時(shí),不能直接采用圖1(f)所示在一個(gè)可行解附近生成粒子的種群初始化方法,因?yàn)樵摽尚薪獾墨@取必須建立在一次仿真基礎(chǔ)上,其計(jì)算量時(shí)必須疊加這次仿真,導(dǎo)致仿真耗時(shí)增加近一倍。
在粒子群算法流程[10]基礎(chǔ)上,選擇在迭代過程中獲取可行解并在其附近生成粒子群對(duì)PSO 算法進(jìn)行改進(jìn),基于四線程并行計(jì)算對(duì)潛艇聲誘餌防御魚雷數(shù)學(xué)模型進(jìn)行尋優(yōu)的改進(jìn)PSO 算法流程如圖3 所示,改進(jìn)部分用虛線框表示。在粒子位置被限制的區(qū)間內(nèi)生成隨機(jī)數(shù)并取整獲得初始化種群,計(jì)算初始化種群的粒子適應(yīng)度值,并取最大值對(duì)應(yīng)的粒子位置為群體極值。為了在不大幅增加計(jì)算量的情況下引入在可行解附近生成粒子群的方法,須在迭代過程中獲得可行解。取迭代過程中某一次迭代較優(yōu)的群體極值為可行解。當(dāng)群體極值適應(yīng)度值較大時(shí),群體極值適應(yīng)度值對(duì)應(yīng)的粒子位置為可行解,隨即在群體極值附近生成粒子位置。當(dāng)群體極值適應(yīng)度值較小時(shí),隨機(jī)生成粒子群粒子位置。然后采用式(1)和式(2)粒子速度更新和位置更新,再采用四線程并行計(jì)算粒子適應(yīng)度值,并更新個(gè)體極值和群體極值。
圖3 基于并行計(jì)算的改進(jìn)PSO 算法流程Fig.3 Flowchart of improved PSO algorithm based on parallel computation
圖3 中,當(dāng)?shù)螖?shù)為50 次時(shí),在第20 次迭代開始時(shí)根據(jù)第19 次迭代群體極值是否超過閾值來選擇2 種不同的方法重新生成第19 次迭代所有粒子位置。閾值為4 000 m 是根據(jù)圖2 統(tǒng)計(jì)結(jié)果分布情況選取的,當(dāng)適應(yīng)度值大于4 000 m 時(shí),適應(yīng)度值主要分布在7 600 m 左右。粒子群算法改進(jìn)主要體現(xiàn)在: 第19 次迭代群體極值適應(yīng)度值大于等于4 000 m 時(shí),在第19 次迭代群體極值附近生成粒子群,小于4 000 m 時(shí),隨機(jī)生成粒子群,為
取粒子群迭代次數(shù)50 次,種群粒子數(shù)為60個(gè),粒子群加速度因子c1和c2均取值為1,粒子速度的上限取圖1(d)中采用的Vmax=[20,12,40,20,40,20,40]T,仿真耗時(shí)20.29 s,最后一次迭代群體極值為Pgbest=[0,71,272,0,-90,10,-71]T,得d=7 647 m,潛艇聲誘餌防御魚雷仿真軌跡如圖4 所示。粒子個(gè)體極值的適應(yīng)度值隨迭代次數(shù)的變化情況如圖5 所示,在第20 次迭代時(shí)16 個(gè)粒子適應(yīng)度值大于4 000 m,其中有12 個(gè)粒子適應(yīng)度值大于7 000 m,最后一次迭代時(shí),35 個(gè)粒子適應(yīng)度值大于7 000 m,其中15 個(gè)粒子適應(yīng)度值大于7 500 m,該次仿真粒子群總體明顯優(yōu)于圖1(a)~(e)的情況。第20 次迭代開始粒子適應(yīng)度值部分大幅上升,與圖1(f)中種群初始化時(shí)獲得大量適應(yīng)度值較高粒子的情況相仿,說明在迭代過程中獲取可行解并在其附近生成粒子群的方法對(duì)PSO 算法進(jìn)行改進(jìn)取得成效。
圖4 潛艇聲誘餌防御魚雷仿真軌跡Fig.4 Simulation track of defending torpedo by acoustic decoy of submarine
圖5 改進(jìn)PSO 算法的粒子個(gè)體極值適應(yīng)度值Fig.5 Fitness of individual extreme value of each particle of improved PSO algorithm
對(duì)改進(jìn)PSO 算法進(jìn)行1 000 次仿真,每一次仿真最后一次迭代群體極值的適應(yīng)度值分布如圖6所示,907 次仿真最后一次迭代群體極值的適應(yīng)度值達(dá)到7 000 m 以上,7 500 m 以上的統(tǒng)計(jì)次數(shù)達(dá)到867 次,適應(yīng)度值大于7 500 m 的仿真次數(shù)比改進(jìn)前(圖2(a))提高了95%,高于種群粒子數(shù)為120個(gè)(圖2(c))和擴(kuò)大粒子速度的上限(圖2(d))這2 種情況,接近種群初始化方法為在一個(gè)可行解附近生成粒子(圖2(f))情況,說明算法得到改善。
圖6 改進(jìn)PSO 算法群體極值適應(yīng)度值分布Fig.6 Distribution of fitness of swarm extreme value for improved PSO algorithm
在潛艇聲誘餌防御聲自導(dǎo)魚雷時(shí),為快速得出魚雷與潛艇距離最大化的防御方案,分析了種群粒子數(shù)、迭代次數(shù)、粒子速度的上限、加速度因子和種群初始化方法等因素對(duì)基于并行計(jì)算的PSO算法的影響,確定了算法的改進(jìn)方向主要有: 1) 擴(kuò)大粒子速度的上限;2) 引入在可行解附近生成粒子的方法。改進(jìn)PSO 算法借鑒了在可行解附近生成粒子的方法,在迭代過程中重新生成粒子群。這種方法改善了算法的收斂情況,適應(yīng)度值大于7 500 m 的仿真次數(shù)比改進(jìn)前提高了95%,且沒有增加計(jì)算量,收斂得更快,能夠提升解算效率。
該算法存在的問題是粒子群的多樣性仍受到一定的影響,下一步可以通過增加可行解數(shù)量的方法改進(jìn)種群多樣性的問題。