王鑫,陳欣,李繼廣
(南京航空航天大學 自動化學院,江蘇 南京 211106)
摘要:粒子群算法對系統的依賴程度低,不要求被優化函數具有可微、可導、連續的特性。應用理論推導的方法,證明了粒子群算法在多極值目標函數下的全局收斂和局部收斂的條件,并且分析了粒子群算法中各參數對算法局部收斂速度、全局收斂能力的影響。本文主要貢獻包括:分析發現粒子初始位置均勻分布可以提高算法的全局收斂能力;提出最大值的方法決定算法局部收斂速度,該函數不隨權重系數單調遞減;最后,將基于粒子群算法應用于流體矢量裝置控制器上,仿真結果驗證了該設計方法的有效性。
中圖分類號:V249文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.10.006
引用格式:王鑫,陳欣,李繼廣.粒子群算法研究及其在流體矢量裝置控制上的應用[J].微型機與應用,2017,36(10):18-22.
0引言
粒子群(PSO)算法是一種基于智能的隨機全局優化算法,其算法思想來源于動物行為學和社會心理學,是對生物社會系統的模擬[1]。該算法不要求被優化函數具有可微、可導、連續等條件[2],且具有思想直觀、實現簡單、執行效率高等優點,固而受到相關研究領域的關注[3]。
對于多極點目標函數的搜索問題,粒子群算法存在容易陷入局部極值點的情況。為了克服該缺點,帶審斂因子的變鄰域粒子群方法[4]、基于局部搜索與混介多樣性策略的多目標粒子群算法[5]和一種動態改變慣性權重的自適方案[68]先后被提出來以簡化算法,提高算法的運行效率;粒子群算法和蟻群算法相結合,基于粒子群算法的多目標文化算法和一種基于自適應慣性權重的混沌粒子群算法大大提高了算法的搜索能力[9]。這些研究主要依據經驗和仿真實驗,但是對算法機理及各參數對算法收斂性影響的理論分析證明方面的研究則較少。雖然在理論上,對簡化系統條件下應用線性系統分析了單個粒子的收斂問題,但是對算法的全局搜索能力、隨機性、動態特性的影響的研究分析較少[10]。
流體矢量噴管相比于機械式矢量噴管具有結構簡單、質量輕、成本低、可靠性高等優點。相比于機械矢量噴管,流體矢量噴管質量減少24%~80%,發動機推質比提高7%~12%,成本和維護費用降低37%~53%。同時由于該噴管幾何形狀固定,消除了運動部件的縫隙,可以減小雷達散射截面,提高飛機的隱身性能[1112]。流體矢量技術可以作為新型控制舵面,為飛翼無人機控制提供了新的思路,是解決該問題的有效途徑之一。
本文應用理論方法證明,分析了粒子群算法中各參數對算法局部收斂速度、全局收斂能力的影響,給出了多極值目標函數下算法獲得全局最優解的有效途徑和加速局部收斂的條件,并應用本文得到的結論,給出了算法各參數的選取策略。最后,應用粒子群算法設計了流體矢量裝置控制器,仿真結果驗證了該粒子群算法設計應用的有效性。
1粒子群算法的分析和提出
1.1影響局部收斂條件分析
經典粒子群算法的更新方程為:
vid=ωvid+c1rand()(Pid-xid)+c2rand()(Pgd-xid)
xid=xid+vid(1)
為了理論推導方便,本文把粒子群算法的更新方程表示成以下更具普遍意義的形式:
v(t)=ωv(t-1)+φ1(p(t-1)-P)+φ2(pg-x(t-1))
x(t)=x(t-1)+v(t)(2)
算法的更新準則為:
iff(x(t))<f(P),ThenP=x(t)
iff(P)<f(Pg),ThenPg=P(3)
為分析參數對算法局部搜索能力的影響,對粒子群算法做如下假設:
(1)目標函數f(x)為單峰函數,搜索空間S為有界凸集。即目標函數f(x)在搜索空間S內滿足:
f((1-a)x1+ax2)<max(f(x1),f(x2))
x1,x2∈Sa∈(0,1)(4)
(2)f(Pg)≤f(p(t))始終成立。pg為群體最優值,P(t)為第t次迭代時的個體最優值。隨迭代次數t的變化,P(t),Pg(t)的動態變化規律為:
P(t+1)=x(t),f(x(t))≥f(p(t))
P(t),f(x(t))<f(p(t))(5)
Pg(t+1)=Pg(t),f(p(t))≥f(pg(t))
P(t),f(P(t))<f(pg(t))(6)
因為優化問題的搜索空間S是有限的,目標函數f(x)在搜索空間S中存在最優解,P(t),Pg(t)∈S,所以f(P(t))與f(Pg(t))存在下界。
令limt→∞f(P(t))=f*P,limt→∞f(Pg(t))=f*g,則有:limt→∞P(t)=Sf*P={xf(x)=f*P,x∈S}
limt→∞Pg(t)=Sf*g={xf(x)=f*g,x∈S}
由式(2)和(3)知,limt→∞P(t)和limt→∞Pg(t)不會分別在以上兩個集合的值上直接移動,而是集合中的某一固定值。所以,limt→∞P(t)和limt→∞Pg(t)存在。
該結論說明,隨著迭代次數的增加,f(P(t))與f(Pg(t))將逐步趨近于某一固定值,而P(t)與Pg(t)也將趨于穩定。也即隨著迭代次數的增加,粒子群算法的隨機性將減弱,P(t)與Pg(t)將趨于固定。這是個重要的結論,是下文推導的基礎。
由于P(t)與Pg(t)將趨于固定,令limt→∞P(t)=P*,limt→∞Pg (t) = P*g ,則有:
limt→∞x(t)=limt→∞(1-a)P(t)+aPg(t)=(1-a)P*+aP*g(7)
下面推導粒子群算法各參數對算法局部搜索能力的影響。
隨著迭代次數的增加,P(t)與Pg(t)將趨于固定,這里假設算法搜索后期P(t)與Pg(t)為固值,即P(t)=P與Pg(t)=Pg。
令φ=φ1+φ2,根據式(2)消去相關項,可得如下差分方程:
x(t+1)=(1+ω-φ)x(t)-ωx(t-1)+
φ1P+φ2Pg(8)
上式用矩陣形式表示為:
由方程(12)知,算法收斂的充分必要條件是max(α,β)<1,且max(α,β)越小,算法的收斂速度越快。
由算法的收斂條件max(α,β)<1以及特征根可以確定各參數的取值范圍。求解不等式可得,保證算法收斂的各參數應滿足:
ω<1
(1+ω-φ)2<4ω (13)
由此可得,粒子群算法局部收斂條件是:
0<ω<1
0<φ<4
ω>0.5φ-1(14)
1.2全局收斂的條件
粒子群算法是一種具有全局搜索能力的啟發式算法。大量的實驗證明,粒子群算法的收斂具有一定的隨機性。粒子群算法所謂的收斂只是收斂到最優值Pg附近,即在迭代一定次數后,粒子只能在最優值Pg附近探索最好點。因此,本文所討論的算法收斂指的是算法收斂于最優值附近的能力。
為了分析算法的全局搜索能力,這里對其做如下定義:對于多峰值目標函數,粒子群算法的全局搜索能力是算法搜索最優單峰的能力。根據該定義,粒子群算法的全局搜索能力是指算法的迭代初始階段搜索目標函數可行區域內的眾多峰值中的最優峰值,并使得粒子向最優峰值附近聚集以達到局部搜索加快收斂的目的。
差分方程(12)描述了算法的運動狀態,上文的推導得出了算法收斂條件和收斂快慢的決定條件。但是要確定算法最后的收斂值還需要確定差分方程(12)中三個系數k1,k2,k3。對于多峰目標區域,上述系數并不是常數,確定各組系數是困難的甚至是不可能的。因此,對算法做如下假設:
(1)為了使所有峰值附近同等地具有一定數量的粒子,初始狀態粒子應盡可能地均勻分布在整個目標區域;
(2)迭代初始階段,各粒子向其附近的峰值聚集;
(3)當更優的峰值出現時,粒子具有一定的能力向該峰值區域運動。
根據假設(1),對目標函數峰值附近鄰域進行劃分得到不同的區域。在不同的區域內,粒子的運動等同于單峰目標搜索過程。
根據算法初始化條件,令區域j內的粒子初始位置為xj0,初始速度為vj0,則有:
這里a=φj1φj1+φj2為隨機數。
對于多峰目標函數,最優的Pg總是存在,且是固定的。當粒子以limt→∞x(t)=(1-a)Pj+aPjg向各自區域的最優值Pjg聚集時,由于隨機數a=φj1φj1+φj2的存在,一部分粒子將跳出其所在的區域向max(Pjg)所在區域運動,并聚集到該區域繼續接下來的運動。此時,若粒子具有足夠的跳轉速度,則可完成該粒子所在區域的轉移過程,實現粒子向更優區域聚集的目的。隨著該過程不斷重復,所有的粒子都將聚集到最優值Pg所在的區域。此時,多峰目標函數搜索過程退化為單峰目標函數搜索過程。即最終將收斂于最優值Pg附近,算法是收斂的。
1.3參數對收斂速度的影響分析
從上文算法全局收斂的條件可知,為提高算法的全局搜索能力,算法應滿足:(1)為了使粒子能夠聚集到最優峰值Pg附近,初始時刻應使所有峰值附近均勻地具有一定數量的粒子。這就要求初始狀態粒子應盡可能地均勻分布在整個目標區域;(2)在迭代過程中,當次優峰值出現時,粒子應有足夠的速度聚集到該峰值附近。這要求算法具有較大的慣性系數。從上文算法局部收斂的條件可知,為提高算法的收斂速度,應使max(α,β)盡可能地小,其中α,β由式(11)確定。由于式(11)較復雜,這里固定φ值,研究max(α,β)隨權重系數變化的情況,如圖1所示。
由圖1可知,max(α,β)值并不是隨權重系數的大小線性變化,而是存在一個極小值,并且該極小值隨φ值的增大而增大。因此,為了提高算法的全局搜索能力,隨機數φ1、φ2應盡可能地均勻分布;搜索的開始階段權重系數應盡可能地大;為了提高算法的收斂速度,搜索的后半階段權重系數應根據φ值盡可能地使得max(α,β)值取到極小值。為了協調算法全局搜索能力和局部收斂速度,使慣性系數隨著迭代次數的增加逐漸減小是一種有效的途徑。并且,最好是上凸函數的遞減關系。
1.4初始分布的影響
從前文的推導可知,粒子的初始分布在一定程度上決定著算法的全局搜索能力。在實際應用中,除了采用rands()函數產生隨機分布粒子外,最常用的方法是采用混沌映射產生均勻粒子分布。
應用rands()函數對粒子位置進行初始化,粒子在可行域內的分布可能并不均衡,這將對算法的全局搜索能力產生不利的影響。混沌序列具有混沌運動的遍歷性、隨機性等特性,能在一定范圍內按自身的規律不重復地遍歷所有狀態。因此,應用混沌序列對算法粒子進行位置初始化設置更具優勢。
混沌模型中最具代表性的是Logistic映射和立方映射。其中,Logistic映射為:
y(n+1)=γy(n)(1-y(n))
0≤y(n)≤1,3.56≤γ≤4
其中,γ為控制量,當γ=4時,系統完全處于混沌狀態。
立方映射的表達式為:
y(n+1)=4y(n)3-3y(n))
-1≤y(n)≤1
只要迭代的初始值不為零,立方映射的混沌效應就會發生。
2流體矢量裝置控制
2.1流體矢量裝置特性分析和建模
流體矢量裝置通過調節次流的流速,控制主流的矢量角可以提高飛機的升力,增大飛機失速迎角,達到飛翼無人機機動控制的目的。
次流流速是影響裝置矢量角度偏轉的重要因素,CFD計算結果如圖2所示。可以看出矢量角度隨次流流速的增加而增加。當次流流速較小時,矢量角變化量很大,類似于裝置的開關效應。但是,當次流速度大于20 m/s之后,主流的矢量角隨次流流速的增加而增加,且具有較好的線性關系。
除二次流流速外,影響主流矢量角的因素還包括二次流吸入量(進氣口面積S)、主流能量(這里用落壓比NPR表示)。根據試驗計算結果,FTV裝置的數學模型為:
δ=ε1sin(v/η1),0<v≤V1
ε2Slog(η2NPR)v,V1<v≤V2
ε3,v≥V3
2.2流體矢量裝置控制
由于流體矢量裝置的矢量角度對參數變化敏感,這里設計了粒子群自適應控制器。系統控制結構如圖3所示。
圖3系統控制結構
由于矢量角的測量存在誤差,因此以次流流速為主反饋信號,矢量角信號作為輔助信號,主流矢量角的控制律為:
2.3仿真驗證
為了提高算法的全局搜索能力和收斂速度,如圖3所示的補償器采用混沌函數對粒子初值進行初始化,公式如下:
其數值仿真結果如圖4所示,由圖可知采用基于粒子群算法的流體矢量控制算法在系統不確定和有干擾情況下,具有跟蹤輸入信號的能力。
3結論
本文應用理論推導的方法,證明了粒子群算法在多極值目標函數下的全局收斂和局部收斂的條件,分析了粒子群算法中各參數對算法局部收斂速度、全局收斂能力的影響。根據推導過程,為了提高算法的全局搜索能力,隨機數φ1,φ2應盡可能地均勻分布;搜索的開始階段權重系數應盡可能地大。為了提高算法的收斂速度,搜索的后半階段權重系數應根據φ值盡可能使得max(α,β)值取到極小值。為了協調算法全局搜索能力和局部收斂速度,使慣性系數隨著迭代次數的增加逐漸減小是一種有效的途徑,且最好是上凸函數的遞減關系。對比分析了五種權重系數的選取方式及三種粒子位置初始化方式的影響。最后,應用粒子群算法設計了流體矢量裝置控制器,仿真結果驗證了該設計方法的有效性。
參考文獻
[1] 沈顯君.自適應粒子群優化算法及其應用[M].北京:清華大學出版社,2015.
[2] KENNEDY J, SPEARS W. Matching algorithms to problems:an experimental test of the particle swarm and some genetic algorithms on the multimodal problem generator[C]. Proceedings of IEEE International Conference(CEC1998),Anchorage,Alaska,USA,1998:78-83.
[3] 劉建華,劉建偉. 基于粒子群算法的城市單交叉口信號控制[J].系統工程,2007, 25(7):83-89.
[4] 范成禮,邢清華,范海雄,等. 帶審斂因子的變鄰域粒子群算法[J].控制與決策,2014,29(4): 696-701.
[5] 賈樹晉,杜斌,岳恒.基于局部搜索與混合多樣性策略的多目標粒子群算法[J].控制與決策, 2012,27(6):813-819.
[6] 張頂學,關治洪,劉新芝.一種動態改變慣性權重的自適應粒子群算法[J]. 控制與決策,2008,23(11):1253-1258.
[7] 陳樂庚,胡銳.粒子群算法求解具有機器靈活性的FFSP[J].微機型與應用,2015,34(21):13-20.
[8] 李鋒.粒子群離散算法在無線傳感網絡中的應用[J], 微機型與應用,2014,33(12):53-55,60.
[9] 周燕,劉培玉,趙靜,等.基于自適應慣性權重的混沌粒子群算法[J].山東大學學報(理學版),2012,47(3);27-32.
[10] POLI R, KENNEDY J, BLACKWELL T. Particle swarm optimization an overview[J]. Swarm Intelligence,2007, 1(1): 33-57.
[11] SADIQ M U. Performance analysis and flowfield characterization of secondary injection thrust vector control(SITVC) for a 2DCD nozzle[D]. Los Angeles:University of Southern California,2007.
[12] 王猛杰,額日其太,王強.激波矢量控制噴管落壓比影響矢量性能及分離區控制數值模擬[J].航空動力學學報,2015,30(3):527-538.