董建剛,王新寬
摘? 要: 為了提高陣列綜合收斂速度,實現目標函數局部最優,分析了現有的遺傳算法存在的不足,提出了一種應用于線性陣列綜合的改進遺傳算法。該算法根據現有算法對實數編碼搜索能力不強,容易陷于局部最優解的缺陷,提出了能夠增強個體尋優范圍的搜索方案,以跳出局部最優解,是解決問題的有效途徑。仿真結果表明,改進后的算法能夠使目標函數迅速跳出局部最優解,收斂速度至少增加了2~10倍。
關鍵詞: 遺傳算法; 陣列綜合; 局部最優; 收斂速度
中圖分類號: TN955?34??????????????????????? 文獻標識碼: A??????????????????????? 文章編號: 1004?373X(2014)23?0062?04
Abstract: In order to improve the convergence speed and the target array synthesis function of local optimum, the deficiencies of the existing genetic algorithm are analyzed, and a modified genetic algorithm for synthesis of linear arrays is proposed in this paper because the existing genetic algorithm is easy to occur the local convergence when it conducts the synthesis of linear arrays. A search scheme to enhance the scope of individual search program so as to jump out of the local optimal solution is proposed in consideration of the problems that the existing algorithms are not strong in real?coded search capability and is easy to trap in the local optima solution. It′s an effective way to solve the problem. Simulation results show that the modified algorithm can make the object function jump out of local optimum solution rapidly, and the convergence speed is substantially increased by at least 2~10 times, comparing with the origin method.
Keywords: genetic algorithm; array synthesis; local optimum; convergence speed
0? 引? 言
陣列綜合是通過設計天線陣元的激勵電流幅度、相位和陣元位置等來實現要求的方向圖,其本質是一個非線性優化問題。遺傳算法是模擬生物在自然界中的遺傳和變異而形成的一種全局優化算法[1],廣泛地應用于天線陣綜合問題[2?7]。
在遺傳算法中,交叉算子和變異算子是產生新個體的原因,其中交叉算子的好壞對算法的搜索能力和收斂速度有著關鍵性的影響。因此,尋找優異的交叉算子,改善遺傳算法的局部搜索能力,是保證算法快速收斂的重要途徑。本文在已有的用于陣列天線綜合的遺傳算法[8]基礎上,引入了一種改進的交叉算子,并結合電流振幅的擴展操作對已有算法進行改進,以實現線性陣列天線方向圖的快速綜合。仿真結果表明,與已有算法相比,改進后的算法能夠有效避免早熟現象,較大程度地降低了天線方向圖的最大旁瓣電平;并且,算法的收斂速度至少提高了2~10倍。
1? 線陣綜合基本理論
對于一個陣元數為[N,]陣元各向同性的線性陣列,若不考慮陣元之間的耦合,其遠場方向圖為[9?10]:
[E(?)=n=0N-1Inexp[j(nψ+δn)]]?? (1)
式中:[In]和[δn]分別為第[n]個陣元的激勵幅度和相位;[ψ=kdcos(φ),][d]是陣元間距,[k]是波數,[φ]是從陣列軸線算起的掃描角。假定[N]為偶數,相位、振幅均對稱分布,則有:
[In=IN-n-1,δn=δN-n-1] (2)
[E(?)=n=0N2-1In{exp[j(nψ+δn)]+exp(j[(N-n-1)ψ+δN-n-1])}]? (3)
利用歐拉公式,把式(3)中的實部和虛部分別結合起來,再采用三角函數的和差化積公式得到:
[E(?)=2n=0N/2-1IncosN-2n-12ψexpjN-12ψ+δn+δN-n-12]? (4)
考慮一個陣元相位為零的邊射陣,可以將式(4)表示成以分貝表示的歸一化陣列方向圖:
[F1(?)=20lg n=0N/2-1IncosN-2n-12kdcos?n=0N/2-1In]? (5)
同樣,若陣元因子為[sin?,]電流振幅不變,僅考慮相位變化,則可得到以分貝表示的唯相位分布的陣列方向圖:
[F2(?)=20lg sin?n=0N/2-1exp(jδn)cosN-2n-12ψn=0N/2-1exp(jδn)] (6)
最大旁瓣電平[MSLL]表示為:
[MSLL=max{Fm(?)?∈S}] (7)
式中:[max]為求最大值的函數;[m∈]{1,2};[S]表示方向圖的旁瓣區域。如果希望[MSLL]接近某一數值[SLVL]的同時,在[Nn]個方向[?i]([i=1,2,…,Nn])能產生電平為[NLVL]的零陷,則目標函數可以表示為:
[f=αMSLL-SLVL+βmax{Fm(?i)}-NLVL, i=1,2,…,Nn]? (8)
式中:[α,][β]分別為權系數,這里取[α=0.8,][β=0.2。]由式(8)可知,目標函數越小,越接近最優解,目標函數為0 dB時,達到期望的結果。
2? 基于實數編碼的改進遺傳算法
2.1? 文獻中的算法步驟[8]
(1) 編碼方式:采用實數編碼方式,直接將待求變量依次排列構成染色體;
(2) 選擇算子:采用基于排序的選擇機制,并定義序號[i]對應的染色體[Vi]被選中的概率[pi]如式(9)所示,使得序號越小,染色體越優。種群規模選為50,然后通過輪盤賭法選擇染色體。
[pi=1popsize+α(gen)popsize+1-2ipopsize(popsize+1)] (9)
(3) 交叉算子:設[ρ]為(0,1)中的隨機數,隨機配對的兩個父代個體為[V1,][V2,]則子代個體[V′1,][V′2]為:
[V′1=ρV1+(1-ρ)V2V′2=ρV2+(1-ρ)V1] (10)
如果兩個子代屬于可行集, 則用它們替換其父代;否則, 重新產生新的隨機數[ρ,]重復式(10)的操作, 直到得到可行的后代或循環到給定的次數為止。為了防止參與交叉的染色體相同,采用避同交叉方式。
(4) 變異算子:以變異概率[pm]隨機地選擇待變異的個體基因[V′i,]然后在[Rn]中隨機選擇變異方向[D,] 給定一正數[M,]按下式進行變異操作,產生的變異基因[V″i]為:
[V″i=V′i+M?D] (11)
式中[M]的選取如式(12)所示[8]:
[M=fiavg? f1-genmaxgen] (12)
根據式(11),如果[V″i]屬于可行集, 則用它替代[V′i;]否則,置[M]為[0~M]之間的隨機數,重新進行變異,直到滿足可行集或達到給定的循環次數為止。然后采取精英策略,把迄今為止的最佳個體保留下來作為進化結束時的最佳結果。
2.2? 對現有算法的改進及理論分析
由于現有算法的實數編碼搜索能力不強,容易陷于局部最優解。因此,尋求能夠增強個體尋優范圍的搜索方案,跳出局部最優解,是解決問題的有效途徑?;诖怂枷?,本文對上述算法做了如下改進:
(1) 交叉算子的改進,對式(10)進行變形:
[V′1=ρ(V1-V2)+V2V′2=ρ(V2-V1)+V1] (13)
根據式(13),令[Δv=ρ(V1-V2)。]若[(V1-V2)]趨近于零,或者[ρ]趨近于零,或者[ρ]和[(V1-V2)]都是一個比零稍大的小量,這三種情況都能造成[Δv≈0],從而[V′1≈V2,][V′2≈V1,]使得產生的子代個體幾乎和父代相同,進而無法產生新的個體,或者產生的新個體和父代個體性狀過于相似,不利于進化。為了解決這個問題,可以嘗試擴大隨機數[ρ]的取值范圍,以期使得[Δv]能以更小的概率趨向于零值。設定[ρ]取分段不連續區間上的均勻隨機數,表示為:
[ρ=3.8?rand, gen<;Max gen22.6?rand, Max gen2≤gen<;2?Max gen31.8?rand, gen≥2?Max gen3 ] (14)
式中:[rand]代表(0,1)之間均勻分布的隨機數;gen為當前進化代數;[Max gen]為最大進化代數。當產生的子代個體超出染色體的可行集時,子代就取原來父代的值。
從式(14)可以看出,當進化代數較小時,隨機數范圍取大一些有助于擴大搜索范圍,避免陷入局部最優解;當進化代數較大時,個體之間的差異相對減小,適當縮小隨機數范圍以加快收斂。
(2) 對振幅的擴大操作:通常進行陣列方向圖優化時,習慣將電流激勵幅度設定為(0,1)范圍內的隨機數。從式(5)可以看出,電流振幅同時增大或縮小N倍,陣列方向圖不變。在本文的計算中,振幅的初始取值范圍仍然設定在(0,1)之間,但在優化過程中,將振幅范圍擴大至(0,20)之間的隨機數,最終輸出結果時再將振幅除以擴大的倍數20即可。這樣做的好處是擴展了變異操作中個體的搜索范圍。具體的分析如下:
若個體中的某一基因位[x]滿足[x∈](0,1),根據式(11),令[Δx=M?D,]若[x]滿足變異條件,則有:
[x=x+Δx] (15)
假定[x=0.9,][Δx]=0.2,則[x]值超出可行集,根據本文的算法,需要重置[M]值以得到新的[Δx]值。若經過一定次數的迭代后,[Δx]的值仍然大于0.1,比如[Δx]=0.15,造成[x]的值仍然超出可行集,則放棄變異。然而,如果把[x]的初值范圍擴大20倍,則此次變異的基因[x]相應的擴大至18.0,經過變異操作,[x]取得新值18.2,滿足可行集(0,20),最終得到的染色體需要再縮小20倍,得到[x]=0.91,滿足[x∈](0,1)的要求。由此可見,振幅擴大一定的倍數后,在原來變異操作中超出可行集的部分基因位會重新進入可行集,從而擴大了變異算子的尋優范圍,有利于跳出局部最優值。
3? 仿真結果及分析
設定陣列單元數[N=20,]陣列間距[d=λ2,]方向圖主瓣波束寬度為[20°],各陣元的初始電流幅度滿足[In∈](0,1),[n=0,1,2,…,N2-1。]
例1:令SLVL=-35 dB,NLVL=-80 dB,方向圖在70°方向生成一個零點,為了和文獻[8]中的參數符合,這里取[In∈](0,10)。計算得到的最大旁瓣電平為-34.998 dB,零點深度為-80.00 dB,結果如圖1(a)所示。圖中虛線是文獻[8]中的結果,實線是改進后的算法得到的結果。圖1(b)描述了使用改進后算法計算得到的目標函數值的進化情況。從圖中可以看出,改進后的算法只需要280代的進化,就達到了期望值,而文獻[8]中的算法則需要大約580代的進化。并且,在主瓣和第一副瓣相同的情況下,前者比后者所得到的方向圖次級旁瓣電平更低。
例2:令SLVL=-40 dB,NLVL=-90 dB,方向圖在64°,70°和76°三個方向形成零點,計算結果如圖2(a)所示。其中虛線代表文獻[8]中的算法得到的結果,實線代表改進后的算法得到的結果。可以看出,利用文獻[8]中的算法經過20 000代進化后陷入局部最優值,此后進化基本停止,既使進化到80 000代,目標函數仍無法跳出局部最優值。而改進后的算法只需進化到7 500代就基本達到了要求,綜合得到的最大旁瓣電平為-38.85 dB,最高零陷為-89.99 dB。圖2(b)給出了4種情況下目標函數值的進化曲線,分別為:
① 文獻中的方法;
② 僅改進振幅的操作,把振幅范圍從(0,1)擴展至(0,20);
③ 僅改進交叉算子;
④ 本文改進的算法,也就是既改進交叉算子,又把振幅范圍擴展至(0,20)。
從圖2(b)中可以看出,①~③三種情況下分別進化到20 000代、28 000代、5 000代后,均陷入局部最優值。而④情況下只需要7 500代就進化到了期望值。比較這四種情形可以看出,前兩種情況下目標函數在偏離目標值很遠的地方陷入無法收斂的狀況;第三種情況雖然比前兩種情況改善了許多,但距離目標值仍然較遠,無法收斂;第四種情況則實現了目標函數值的快速收斂,并且所得到的天線方向圖的旁瓣電平有了很大的降低。因此,可以看出,僅采用擴大振幅的操作來加速收斂所起到的作用很小,而采用改進的交叉算子后則效果明顯。如果兩者同時采用,目標函數則會迅速收斂到期望的結果。
<;E:\2014年23期\2014年23期\Image\15t1.tif>;
圖1 改進前后的歸一化陣列方向圖及
目標函數值的進化曲線圖
例3:令SLVL=-38 dB,NLVL=-85 dB,方向圖在23.5°,36.4°,43.4°,50.4°,55°,64.8°,69.8°,75.6°八個方向形成零點,計算結果如圖3所示。圖3(a)中虛線代表采用文獻[8]中的算法得到的結果,實線代表改進后的算法得到的結果。可以看出,利用文獻[8]中的算法經過41 300代進化后陷入局部最優值,之后進化基本停止,既使進化到80 000代,仍無法跳出局部最優值,得到的結果遠沒有達到目標要求。而改進后的算法只需進化到4 900代就達到了要求,綜合得到的最大旁瓣電平為-37.92 dB,最高零陷為-85.00 dB。
同例2中的分析一樣,從圖3(b)可以看出,①,②情況下分別進化到41 340代、40 840代后,進化基本停止,既使進化到80 000代,仍無法跳出局部最優值。③ 情況下收斂緩慢,進化到80 000代時,目標函數值為1.77 dB,已經接近目標值0 dB。④ 情況下只需要4 900代就達到了要求。通過比較可以看出,僅采用擴大振幅的操作來加速收斂所起到的作用較小,而采用改進的交叉算子則效果明顯。如果既擴大振幅范圍,又改進交叉算子,則可以使得目標函數迅速收斂到期望的結果。
<;E:\2014年23期\2014年23期\Image\15t2.tif>;
圖2 改進前后的歸一化方向圖及目標函數值的進化曲線圖
<;E:\2014年23期\2014年23期\Image\15t3.tif>;
圖3 改進前后的歸一化方向圖及目標函數值的進化曲線圖
為了進一步探求改進算法的適用性,利用式(6)優化了唯相位分布的、非各向同性陣元的線陣方向圖,假定在64°,70°方向形成零陷,結果如圖4所示。由于相位擴大操作會改變函數值,因此,這里僅改進了交叉算子。圖4中虛線代表文獻[11]中的結果,實線代表本文算法得到的優化結果。從圖4(a)可以看出,運用改進后的算法得到的方向圖的最大旁瓣為-15.01 dB,最高零陷為-54.76 dB,比文獻[11]中分別低2.53 dB、4.96 dB,并且主瓣波束寬度幾乎沒有變化。從圖4(b)可以看出,利用改進后的算法,僅需要850代進化就達到了要求,因此本文算法同樣可高效地應用于陣列天線方向圖的唯相位綜合上。
<;E:\2014年23期\2014年23期\Image\15t4.tif>;
圖4 改進前后的歸一化方向圖及目標函數值的進化曲線圖
4? 結? 語
本文利用一種改進的遺傳算法分別進行線性陣列天線方向圖的唯振幅和唯相位綜合,數值仿真結果表明該算法能夠很好地克服原來算法的早熟現象,并使算法的收斂速度提高了2~10倍以上,表明本文算法是一種較為高效的陣列方向圖綜合算法。
參考文獻
[1] 周明,孫樹棟.遺傳算法原理及應用[M].北京:國防工業出版社,1999.
[2] 梁宇宏,陳星,溫劍,等.改進遺傳算法應用于超低副瓣天線陣的綜合設計[J].微波學報,2010,26(4):47?50.
[3] 楊麗娜,丁君,郭陳江,等.基于遺傳算法的陣列天線方向圖綜合技術[J].微波學報,2005,21(2):38?41.
[4] 葉正華,謝勇,鄭金華.一種改進的基于實數編碼的遺傳算法[J].湘潭大學自然科學學報,2002,24(3):32?35.
[5] RADIOM S, ALIAKBARIAN H, VANDENBOSCH G, et al. A simple real?coded compact genetic algorithm and its application to antenna optimization [C]// Proceedings of Microwave conference. [S.l.]: APMC, 2007: 36?41.
[6] HERRERA Francisco, LOZANO Manuel. Gradual distributed real?coded genetic algorithms [J]. IEEE transactions on evolutionary computation, 2000, 4(1): 43?62.
[7] MARCANO Díógenes, DUR?N Filinto. Synthesis of antenna arrays using genetic algorithms [J]. IEEE Antennas and Propagation Magazine, 2011, 42(3):12?20.
[8] 馬云輝.陣列天線的遺傳算法綜合[J].電波科學學報,2001,16(2):172?176.
[9] LIAO Wen?pin, CHU Fu?lai. Array pattern synthesis with null steering using genetic algorithm by controlling only the current amplitudes [J]. International Journal of Electronics, 1999, 86(4): 445?457.
[10] LIAO Wen?pin, CHU Fu?lai.? Application of genetic algorithms to phase?only null steering of linear arrays [J] Electromagnetics, 1997, 17: 171?183.
[11] 馬云輝.基于遺傳算法的唯相位控制方向圖零點生成[J].微波學報,2001,17(2):41?46.
[2] 梁宇宏,陳星,溫劍,等.改進遺傳算法應用于超低副瓣天線陣的綜合設計[J].微波學報,2010,26(4):47?50.
[3] 楊麗娜,丁君,郭陳江,等.基于遺傳算法的陣列天線方向圖綜合技術[J].微波學報,2005,21(2):38?41.
[4] 葉正華,謝勇,鄭金華.一種改進的基于實數編碼的遺傳算法[J].湘潭大學自然科學學報,2002,24(3):32?35.
[5] RADIOM S, ALIAKBARIAN H, VANDENBOSCH G, et al. A simple real?coded compact genetic algorithm and its application to antenna optimization [C]// Proceedings of Microwave conference. [S.l.]: APMC, 2007: 36?41.
[6] HERRERA Francisco, LOZANO Manuel. Gradual distributed real?coded genetic algorithms [J]. IEEE transactions on evolutionary computation, 2000, 4(1): 43?62.
[7] MARCANO Díógenes, DUR?N Filinto. Synthesis of antenna arrays using genetic algorithms [J]. IEEE Antennas and Propagation Magazine, 2011, 42(3):12?20.
[8] 馬云輝.陣列天線的遺傳算法綜合[J].電波科學學報,2001,16(2):172?176.
[9] LIAO Wen?pin, CHU Fu?lai. Array pattern synthesis with null steering using genetic algorithm by controlling only the current amplitudes [J]. International Journal of Electronics, 1999, 86(4): 445?457.
[10] LIAO Wen?pin, CHU Fu?lai.? Application of genetic algorithms to phase?only null steering of linear arrays [J] Electromagnetics, 1997, 17: 171?183.
[11] 馬云輝.基于遺傳算法的唯相位控制方向圖零點生成[J].微波學報,2001,17(2):41?46.
[2] 梁宇宏,陳星,溫劍,等.改進遺傳算法應用于超低副瓣天線陣的綜合設計[J].微波學報,2010,26(4):47?50.
[3] 楊麗娜,丁君,郭陳江,等.基于遺傳算法的陣列天線方向圖綜合技術[J].微波學報,2005,21(2):38?41.
[4] 葉正華,謝勇,鄭金華.一種改進的基于實數編碼的遺傳算法[J].湘潭大學自然科學學報,2002,24(3):32?35.
[5] RADIOM S, ALIAKBARIAN H, VANDENBOSCH G, et al. A simple real?coded compact genetic algorithm and its application to antenna optimization [C]// Proceedings of Microwave conference. [S.l.]: APMC, 2007: 36?41.
[6] HERRERA Francisco, LOZANO Manuel. Gradual distributed real?coded genetic algorithms [J]. IEEE transactions on evolutionary computation, 2000, 4(1): 43?62.
[7] MARCANO Díógenes, DUR?N Filinto. Synthesis of antenna arrays using genetic algorithms [J]. IEEE Antennas and Propagation Magazine, 2011, 42(3):12?20.
[8] 馬云輝.陣列天線的遺傳算法綜合[J].電波科學學報,2001,16(2):172?176.
[9] LIAO Wen?pin, CHU Fu?lai. Array pattern synthesis with null steering using genetic algorithm by controlling only the current amplitudes [J]. International Journal of Electronics, 1999, 86(4): 445?457.
[10] LIAO Wen?pin, CHU Fu?lai.? Application of genetic algorithms to phase?only null steering of linear arrays [J] Electromagnetics, 1997, 17: 171?183.
[11] 馬云輝.基于遺傳算法的唯相位控制方向圖零點生成[J].微波學報,2001,17(2):41?46.