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