呂柏權(quán) 張靜靜 李占培 劉廷章
粒子群優(yōu)化算法 (Partical swarm optimization,PSO)是由Kennedy等[1]提出的一種基于群體智能的隨機(jī)優(yōu)化方法,為改善標(biāo)準(zhǔn)PSO算法在處理復(fù)雜多峰搜索問題時的全局尋優(yōu)能力,學(xué)者們對此進(jìn)行深入地研究和分析,呂強(qiáng)等設(shè)計(jì)粒子行為相應(yīng)地改善了算法的尋優(yōu)能力[2];Wang等提出了用拉丁矩陣設(shè)計(jì)粒子初始分布[3];Lu等提出了使用控制理論設(shè)計(jì)粒子群結(jié)構(gòu)的新方法[4].從PSO算法[2?5]不難看出:PSO的目標(biāo)函數(shù)作為評價函數(shù)參與調(diào)節(jié)目標(biāo)函數(shù)變量的過程.從控制理論角度看, PSO算法相當(dāng)于控制器,而目標(biāo)函數(shù)相當(dāng)于控制對象,PSO算法解優(yōu)化問題可以看成控制系統(tǒng)解優(yōu)化問題.這為PSO算法開辟新的發(fā)展空間.一些學(xué)者已開始控制系統(tǒng)用于優(yōu)化問題的研究,Ustundag用簡單的模糊邏輯控制器解決單反饋控制系統(tǒng)的一維優(yōu)化問題[6],Jaewook等用兩個階段方法解決有少數(shù)局部極小值的全局優(yōu)化問題[7],Nader等提出了一類空間分布系統(tǒng)用于解決帶線性不等式約束的大型多參數(shù)二次規(guī)劃問題[8].Angelia和Ion用下降方法構(gòu)造不同的神經(jīng)網(wǎng)絡(luò)解決簡單的約束優(yōu)化問題[9?10].但這些方法仍無法應(yīng)用于復(fù)雜的全局最優(yōu)化問題[11?13].我們知道:對用于優(yōu)化的控制系統(tǒng),影響其輸出的最重要的因素是控制器和控制對象(目標(biāo)函數(shù)).本文結(jié)合PSO算法設(shè)計(jì)了新模糊控制器,它可以使每個粒子具有不同的規(guī)則分布,其模糊規(guī)則提高算法的全局搜索能力與局部搜索能力,改善PSO的早熟收斂缺陷;在不影響控制對象全局最優(yōu)解的條件下,提出了一種變換函數(shù)對其進(jìn)行簡化,減少尋優(yōu)過程陷入局部極小值的可能;構(gòu)造的新填充函數(shù)能使尋優(yōu)過程很好地跳出局部極小點(diǎn)至比它更小的點(diǎn)處[14?15].本文提出的基于變換函數(shù)與填充函數(shù)的模糊粒子群優(yōu)化算法在保持粒子群算法簡單,收斂速度快等特點(diǎn)的同時,有效地解決了陷入局部t最優(yōu)的缺點(diǎn),測試函數(shù)驗(yàn)證了該算法的有效性.
本文考慮的優(yōu)化問題為
這里f(x)為可導(dǎo)連續(xù)函數(shù).
問題(1)的單回路控制系統(tǒng)如圖1所示,其中f(x)為被控對象,R為常數(shù)輸入.這里采用T(a,b,x)改變目標(biāo)函數(shù)的表現(xiàn)形式而不改變目標(biāo)函數(shù)的極值點(diǎn)位置,使目標(biāo)函數(shù)的最優(yōu)值與局部極小值拉開差距,減少計(jì)算過程陷入局部最優(yōu)的可能,使尋優(yōu)問題變得快速簡單.變換函數(shù)的引入必須保證目標(biāo)函數(shù)變換前后的極值點(diǎn)位置不變.
圖1 單回路控制系統(tǒng)Fig.1 The single loop control system
本文中反饋?zhàn)儞Q為T(a,b,x) =a(x?其為可導(dǎo)連續(xù)函數(shù). 目標(biāo)函數(shù)的極值點(diǎn)為0的解,而變換后的函數(shù)為T[f(x)] =它的極值點(diǎn)是的解.
從圖2可以看出,b=0時,變換函數(shù)T(a,b,x)在零點(diǎn)附近基本成正比,而遠(yuǎn)離零點(diǎn)的區(qū)域變換函數(shù)的值趨于1.當(dāng)變換函數(shù)作用于目標(biāo)函數(shù)時,其作用前和作用后的目標(biāo)函數(shù)曲線在零附近形狀變化不大,而目標(biāo)函數(shù)值遠(yuǎn)離零的目標(biāo)函數(shù)曲線趨于1,其形狀變化大,呈水平狀.這樣只要關(guān)注由變換得到的新目標(biāo)函數(shù)在零附近的全局最小點(diǎn)即可,從而減少計(jì)算過程陷入局部極小點(diǎn)的可能;且a越大,有效搜索范圍越小;反之,a越小,有效搜索范圍越大.以一維目標(biāo)函數(shù)為例講述變換函數(shù)參數(shù)b的作用:由圖2可知,當(dāng)a=1時,如果變換函數(shù)的自變量大于10,則變換函數(shù)值趨于1,因此其自變量有效變化區(qū)間為[—10,10].如圖3所示,當(dāng)b=0時,的直線li與f(x)有兩個交點(diǎn),此時的有效搜索范圍應(yīng)為Δi,而當(dāng)b=1時,T[f(x)]=(f(x)?即f(x)=11的直線lj與f(x)有兩個交點(diǎn),此時的有效搜索范圍應(yīng)為Δj,由圖3可知:Δi<Δj,即對于變換函數(shù)當(dāng)a固定時,b越大,有效搜索范圍Δj越大;反之,b越小,有效搜索范圍Δi越小.
圖2 變換函數(shù)圖Fig.2 Transformation function curve
圖3 目標(biāo)函數(shù)平面示意圖Fig.3 Objective function diagram
當(dāng)取a=1,b=0,則T(a,b,x)=T(1,0,x)=變換前后的對比如圖4和5所示,其中圖4(a)和5(a)為表1中的F4函數(shù)和F11函數(shù),可以看出它們有很多局部極值點(diǎn),計(jì)算過程很容易陷入局部極值點(diǎn);而圖4(b)和5(b)為對應(yīng)T變換后T[f(x)]圖,可以看出原函數(shù)中很多局部極值被削減,而變換后最優(yōu)值更好地突顯出來,使計(jì)算過程更快速高效的找到最優(yōu)值.所以變換函數(shù)用于反饋環(huán)節(jié),減少算法陷入局部極值點(diǎn)的可能性.
圖4 F4變換前后的曲線圖即F4和T(1,0,F4)Fig.4 The curves of F4 before and after transformation:F4 and T(1,0,F4)
圖5 F11變換前后的曲線圖即F11和T(1,0,F11)Fig.5 The stereogram of F11 before and after transformation:F11 and T(1,0,F11)
圖6 多回路模糊控制系統(tǒng)框圖Fig.6 A multi-loop distributed fuzzy control system
基于上述單回路控制系統(tǒng),我們可得多回路模糊控制系統(tǒng)如圖6所示,一個子系統(tǒng)相當(dāng)于一個粒子,FNN1,···,FNNm為模糊控制器區(qū)別于m個不同的隸屬度函數(shù),同時體現(xiàn)系統(tǒng)的全局搜索能力與局部搜索能力,f(x)為目標(biāo)函數(shù),Best(f(x))為子系統(tǒng)的最優(yōu)值(局部最優(yōu)值),各個子系統(tǒng)共享所有子系統(tǒng)的最優(yōu)值,根據(jù)共享信息迅速調(diào)整該子系統(tǒng)的尋優(yōu)方向,min(f(x))為整個系統(tǒng)的最優(yōu)值(全局最優(yōu)值).以T變換后的函數(shù)值作為反饋.
在標(biāo)準(zhǔn) PSO 算法中,假設(shè)在一個n維的問題空間中,包含m個粒子,每個粒子作為搜索空間中待優(yōu)化問題的一個可行解,通過粒子之間的協(xié)作與競爭來尋找問題的最優(yōu)解. 在第t次迭代中,第σ個粒子的當(dāng)前位置表示為xσ(t)=(xσ1(t),xσ2(t),···,xσn(t)),當(dāng)前速度表示為vσ(t)=(vσ1(t),vσ2(t),···,vσn(t)),σ= 1,2,···,m.在每次迭代中,粒子個體搜索到的最好位置為pσ(t)=(pσ1(t),pσ2(t),···,pσn(t)),稱為個體最優(yōu);群體中所有粒子搜索到的最好位置為pg(t)=(pg1(t),pg2(t),···,pgn(t)),稱為全局最優(yōu).優(yōu)化問題的過程可看作粒子不斷更新的過程,每個粒子根據(jù)式(3)以當(dāng)前速度、個體最優(yōu)和全局最優(yōu)來調(diào)整自己的飛行速度和方向,進(jìn)化方程如下:
其中,r1、r2為[0,1]上的隨機(jī)數(shù);c1、c2為學(xué)習(xí)因子是一常數(shù),表示粒子受自身及全局的影響程度,調(diào)節(jié)向個體最優(yōu)和全局最優(yōu)方向飛行的最大移動步長.式(3)中的第一部分稱為動量部分,表示粒子對當(dāng)前自身運(yùn)動狀態(tài)的信任程度,ω稱為慣性權(quán)重,一般取[0.4,0.9]之間的數(shù)[1?5],使其依據(jù)自身速度進(jìn)行慣性運(yùn)動;第二部分稱為個體認(rèn)知部分,引導(dǎo)粒子飛向自身的最好位置;第三部分稱為社會認(rèn)知部分,表示粒子間的信息共享與相互協(xié)作,它引導(dǎo)粒子飛向群體中的最好位置.這三個部分之間的相互平衡和制約決定了算法的主要搜索性能.
因?yàn)閭鹘y(tǒng)PSO在全局極值pg或個體極值pσ得到局部最優(yōu)解時,粒子群不會在解空間中再次進(jìn)行搜索,而且其他粒子將迅速向局部最優(yōu)解靠攏,所以使算法容易出現(xiàn)過早收斂導(dǎo)致不能得到最優(yōu)解.又因?yàn)閭鹘y(tǒng)PSO的全局搜索模式相對單一,僅僅使用全局極值點(diǎn)的信息,而沒有加入其他的參考信息,這樣不利于種群多樣性且阻礙算法擴(kuò)大搜索的范圍.
我們知道如果粒子數(shù)足夠多,并且每個粒子的初始位置分布完全分散,則可以通過式(3)獲得目標(biāo)函數(shù)的全局最優(yōu)解,但它需要大量的CPU時間.為了克服這個問題,我們必須減少粒子的個數(shù),使有限粒子的初始位置盡可能分離.因?yàn)槟:龥Q策通常具有分布特征,所以它可以使每個粒子具有規(guī)則的分布.基于此本文利用模糊控制器中所使用的模糊規(guī)則改進(jìn)粒子群算法,提高算法的全局搜索能力與局部搜索能力,改善早熟收斂缺陷.根據(jù)Takagi??Sugeno模糊模型,本文模糊控制系統(tǒng)的模糊規(guī)則采用如下:表示第σ個模糊子系統(tǒng)的第l個模糊規(guī)則,Nσ表示第σ個模糊子系統(tǒng)的模糊規(guī)則數(shù),p表示第σ個模糊子系統(tǒng)的模糊變量數(shù),xσbest是第σ個模糊子系統(tǒng)的最好位置向量f(xσbest)=mint≥t1f(xσ(t)),即是PSO中的pσ,xallbest是所有模糊子系統(tǒng)的最好位置向量即是PSO中的pg,根據(jù)PSO算法[3?4],xσ(t)是第σ個模糊子系統(tǒng)粒子的當(dāng)前位置,ω0,ω1,ω2,ω3與ω4是第σ個模糊子系統(tǒng)的調(diào)整參數(shù),其中ω0,ω1,ω2分別代表第σ個模糊子系統(tǒng)的變量xσ的零階項(xiàng)系數(shù),一階項(xiàng)系數(shù),變化差的系數(shù),這相當(dāng)于PI控制器系數(shù);而ω3與ω4是相當(dāng)于PSO系數(shù).r1和r2是[0,1]范圍內(nèi)的隨機(jī)數(shù),也就是說,第σ個模糊子系統(tǒng)相當(dāng)于PI控制和PSO的結(jié)合.采用加權(quán)平均法去模糊化,第σ個模糊子系統(tǒng)的全局模型可描述為
圖7 不同寬度的隸屬度函數(shù)Fig.7 The membership functions with diあerent width
圖8 多回路控制系統(tǒng)關(guān)系圖Fig.8 The relationship with all subsystems
由此可知對于m個模糊控制子系統(tǒng),只需要設(shè)置變換函數(shù)的參數(shù)a的值就可以改變隸屬度函數(shù)的寬度區(qū)間,即aσil>aσjl,則σi<σj.此時設(shè)置m個模糊控制子系統(tǒng)就是設(shè)置a為m行矩陣,ai的值越大,第i個子系統(tǒng)隸屬度函數(shù)的寬度區(qū)間越窄,該模糊控制子系統(tǒng)的局部搜索能力越強(qiáng),精度越高;相反,aj的值越小,第j個子系統(tǒng)隸屬度函數(shù)的寬度區(qū)間越寬,該模糊子系統(tǒng)的全局搜索能力越強(qiáng),搜索范圍越大.當(dāng)離散步長取一個非常小的正數(shù)時,式(5)離散化描述如下:
這里η4是離散步長,一個非常小的正數(shù).式(6)的參數(shù)ω0,ω1,ω2,ω3和ω4修正如下:
其中,σ=1,2,···,m;l=1,2,···,Nσ;η1,η2,是很小的正數(shù);m是子系統(tǒng)個數(shù).
收斂性分析:構(gòu)造一個 Lyapunov 函數(shù)gσ(t)=L+f(xσ(t))+0.5η2‖xσ(t)?xallbest‖2≥0,f(xσ(t))+L≥0,L=0.
把式(5)和式(7)代入上式得:
當(dāng)然變換函數(shù)的參數(shù)a和b在迭代中,可由下式修正.
其中,η3是很小的正數(shù).
上述算法改善了粒子群的全局搜索能力,但也有陷入局部極值點(diǎn)的可能性.為此,構(gòu)造一個填充函數(shù)使其跳出局部極值點(diǎn)至更小的點(diǎn),從而繼續(xù)迭代搜索直到全局最優(yōu)值.
填充函數(shù)法的主要思想是:如果已經(jīng)找到了一個局部極小點(diǎn)x1,但它不是全局最小點(diǎn),我們可以在x1處構(gòu)造一個填充函數(shù)使迭代點(diǎn)列離開x1所在的谷域,找到更好的點(diǎn)x2(即x2處的目標(biāo)函數(shù)值比x1處的目標(biāo)函數(shù)值更小),然后以x2為初始點(diǎn)極小化原問題找到更優(yōu)的極小點(diǎn).
如圖9所示,根據(jù)目標(biāo)函數(shù)F(x)的一個已知極小點(diǎn)x1構(gòu)造一個函數(shù)P(x),稱為填充函數(shù),它在x1處取得極大值,而在任何比x1的盆域B1高的盆域中沒有極小點(diǎn)或鞍點(diǎn),但在某個比x1的盆域低的盆域中有一個極小點(diǎn)或鞍點(diǎn)x?,然后以x?作為初始點(diǎn)去極小化F(x),并找到F(x)的一個新的極小點(diǎn)x2,使得F(x2)≤F(x1),用x2代替x1,重復(fù)上述過程,直到找到F(x)的全局極小點(diǎn)[14?15].
常用的填充函數(shù)有以下幾種:
這里r,ρ以及a是計(jì)算過程中需要調(diào)整的參數(shù),第一個填充函數(shù)為雙參數(shù),調(diào)節(jié)起來比較麻煩、費(fèi)時,最后一個為單參數(shù),可是只有當(dāng)a很大時,才能成為x1處的填充函數(shù),由于參數(shù)a在指數(shù)上,當(dāng)a很大時,計(jì)算性能不理想.作者構(gòu)造了一種新的填充函數(shù):
該填充函數(shù)是無參的,節(jié)約冗長的計(jì)算步驟及調(diào)整參數(shù)的時間,提高算法的效率.
圖9 填充函數(shù)示意圖Fig.9 Graph of the fi lled function
以下說明P(x,x1)滿足填充函數(shù)的條件:
1)如果x1是f(x)的一個已知的局部最小點(diǎn),則x1是P(x,x1)的一個嚴(yán)格的局部最大點(diǎn).
證明.設(shè)B1是f(x)在局部最小點(diǎn)x1的一個S型盆域,即對任意x∈B1有f(x)≥f(x1),則這表明x1是P(x,x1)的一個嚴(yán)格的局部最大點(diǎn).
2)如果x1是f(x)的一個已知的局部最小點(diǎn),且x∈S1={x|f(x)≥f(x1),x/=x1},則P(x,x1)在S1域內(nèi)無固定點(diǎn)或者最小點(diǎn).
證明. 因?yàn)閯t當(dāng)f(x)>f(x1)和x/=x1,有?p(x,x1)=如果d(x)=x?x1和x/=x1,則因此d(x)是對于任意x∈S1,P(x,x1)的一個速降方向.當(dāng)f(y)=f(x1),有則對于滿足‖x?x1‖>‖y?x1‖和‖x2?x1‖<‖y?x1‖的任意x,x2∈S1,有因此,p(x,x1)在S1域內(nèi)無穩(wěn)定點(diǎn)或者最小點(diǎn).
3)如果x1是f(x)的一個已知的局部最小點(diǎn),對于任意x2∈?,x2/=x1,如果f(x2)≥f(x1),則x2是P(x,x1)的一個連續(xù)點(diǎn),或者x2是P(x,x1)的一個下半連續(xù)點(diǎn).
證明.因?yàn)閤1是f(x)的B1盆域內(nèi)的一個局部最小點(diǎn),所以對于任意x∈B1,有f(x2)≥0=P(x1,x1). 因此,P(x,x1)在x1點(diǎn)是連續(xù)的. 如果f(x2)/=f(x1)且x2/=x1,即f(x2)<f(x1)或f(x2)>f(x1),則p(x2,x1)=這樣存在一個鄰域N(x2,δ),δ>0使對于任意x∈N(x2,δ), limx→x1P(x,x1)=P(x2,x1),即P(x,x1)在點(diǎn)x2是連續(xù)的.如果f(x2)=f(x1)且x2/=x1,則因此x2是P(x,x1)的一個下半連續(xù)點(diǎn).
4)如果x1是f(x)的一個已知的局部最小點(diǎn),x2是滿足f(x2)<f(x1)的另一個與x1鄰近的局部最小點(diǎn),則存在一點(diǎn)x′∈S2={x,f(x)<f(x1),x∈?}使得P(x,x1)最小,且它在x1和x′′的連接線上(x′′屬于x2某一個鄰域).
證明.已知局部最小點(diǎn)x2滿足f(x2)<f(x1),則對于局部極小點(diǎn)x1,存在S型盆域B1,存在x3∈B1滿足x3<x1,f(x3)>f(x1),則有由式(3)證明知,則存在一點(diǎn)x′∈S2={x,f(x)<f(x1),x∈?}使得P(x,x1)最小,且它在x1和x′的連接線上(x′′屬于x2某一個鄰域).
5)如果x1是f(x)的一個已知的局部最小點(diǎn),d是滿足dT(x?x1)>0的一個方向,如果f(x)>f(x1),則d是P(x,x1)在點(diǎn)x1的一個速降方向.
證明.因?yàn)閒(x)>f(x1),dT(x?x1)>0,則因此d是P(x,x1)在點(diǎn)x1的一個速降方向.
由上述式(1)~式(5)的論述證明函數(shù)P(x,x1)滿足構(gòu)造函數(shù)的條件,可以作為構(gòu)造函數(shù)使用.令d=?η?P(x)(1+‖x?x1‖)2‖x?x1‖,其中η>0,x1是f(x)的一個已知的局部極小值點(diǎn),x/=x1.
因此d=?η?P(x)(1+‖x?x1‖)2‖x?x1‖是P(x,x1)在x1點(diǎn)的一個速降方向,在d方向上具有擴(kuò)散性,能夠擴(kuò)散到搜索范圍內(nèi)的所有點(diǎn),所以填充函數(shù)的迭代公式為
FPSO-TF(Fuzzy partical swarm optimization based on fi lled function and transformation function)算法流程如圖10所示,具體步驟如下:
圖10 FPSO-TF算法流程圖Fig.10 Flowchart of FPSO-TF algorithm
步驟1.給出變量Xn×m,系統(tǒng)輸入R,模糊規(guī)則數(shù)Nσ,變換函數(shù)的參數(shù)a,學(xué)習(xí)系數(shù)η1,η2,η3,η4的初值,算法最大迭代次數(shù)MN,進(jìn)入填充函數(shù)的最大次數(shù)TT,在填充函數(shù)中變量迭代的最大次FMN,以及填充函數(shù)迭代參數(shù)d1(0<d1<1E?5),d2(0<d2<1),d3(1<d3),d4(0<d4<1),d5(1<d5);令L=0,j=0,k=1;
步驟 2.令h(x)=f(x),由模糊粒子群迭代式 (6)更新Xn×m,使j=j+1,并計(jì)算f(x)=[f1,f2,···,fm](fσ(x)=Tσ(f(x)),σ= 1,2,···,m);如果fσ<fσbest(σ=1,2,···,m),則xσbest=xσ,fσbest=fσ;如果fσbest<fallbest(σ= 1,2,···,m),則xallbest=xσbest,fallbest=fσbest;
步驟3.如果|hσ(x)?fσ(x)|<d1,k≤FMN且fσ(x)≥fallbest,則進(jìn)入填充函數(shù)循環(huán)迭代:k=k+1,xσ(i,k)=xσ(i,k)+d2(rand(1)?0.5)exp(d3(k?1)/FMN),σ=1,2,···m;i= 1,2,···,n,xσ(i,k)=xσ(i,k)+d4(rand(1)+ 1)exp(d5(k?1)/FMN)(xσ(i,k)?xallbest),并計(jì)算f(x)=[f1,f2,···,fm](fσ(x)=Tσ(f(x)),σ= 1,2,···,m);如果fσ<fσbest(σ=1,2,···,m),則xσbest=xσ,fσbest=fσ;如果fσbest<fallbest(σ= 1,2,···,m),則xallbest=xσbest,fallbest=fσbest;轉(zhuǎn)至步驟3;否則,若k>FMN,則L=L+1,轉(zhuǎn)至步驟4;若|hσ(x)?fσ(x)|>d1或fσ<fallbest,轉(zhuǎn)至步驟4;
步驟4.根據(jù)式(7)更新參數(shù)ω0,ω1,ω2,ω3,ω4;如果j>MN或L>TT,則輸出fallbest(xallbest),算法結(jié)束;否則,轉(zhuǎn)至步驟2.
為了測試FPSO-TF算法的尋優(yōu)能力,本文主要從兩個方面來考核算法的性能:1)更高維函數(shù)測試;2)均值與方差. 本文選取了近年來文獻(xiàn)給出的各種改進(jìn)優(yōu)化算法作為對比算法,用來作為評估本論文給出的算法性能的參照.這里表1給出了用于測試的15個基準(zhǔn)函數(shù),表2給出了15個測試函數(shù)初值,其中變量x的初值是在可行域內(nèi)隨機(jī)產(chǎn)生的,而參數(shù)ω0,ω1,ω2,ω3,ω4由式(7)得到.a矩陣為m×Nσ的矩陣,Nσ表示第σ個模糊子系統(tǒng)的模糊規(guī)則數(shù),初值如下:
表1 測試函數(shù)Table 1 Test functions
模糊子系統(tǒng)個數(shù)m=5,對不同的例子Nσ可以不同,如F1,Nσ=6,而F2,Nσ=5.當(dāng)a=1,b= 0,x=6,變換函數(shù)這表明當(dāng)|x|>6,T(aσl,bσl,f)的變化非常小,為了防止變換函數(shù)重疊,變換函數(shù)的參數(shù)bσl的初值由下式給出.采用本文提出的基于變換函數(shù)與填充函數(shù)的模糊粒子群優(yōu)化算法對上述15個基準(zhǔn)函數(shù)進(jìn)行測試,按算法步驟在Matlab中編程仿真,每個函數(shù)運(yùn)行30次,統(tǒng)計(jì)結(jié)果如下:表3給出了每個函數(shù)運(yùn)行30次中的平均值,最好尋優(yōu)結(jié)果,最壞尋優(yōu)結(jié)果,95%置信區(qū)間,成功率和運(yùn)行時間.這里成功率定義為N/30,其中N是運(yùn)行結(jié)果滿足|fi?fmin|<SA的次數(shù),fi為第i次運(yùn)行結(jié)果,fmin為被測函數(shù)的實(shí)際最優(yōu)值.從中可以看出運(yùn)行每一次都能搜索到最優(yōu)值,運(yùn)行30次的成功率為100%;尋優(yōu)結(jié)果精度高,誤差小,并且除F11外平均尋優(yōu)時間短.體現(xiàn)了FPSO-TF算法的高效性.
表2 參數(shù)初值Table 2 The initial values of the parameters
表3 仿真結(jié)果Table 3 Results of simulation
當(dāng)函數(shù)的維數(shù)增加時,也就增加了問題的復(fù)雜性.為了進(jìn)一步考察FPSO-TF算法的更高維尋優(yōu)能力,使函數(shù)維數(shù)從30增至60,觀察該算法的尋優(yōu)收斂魯棒性.設(shè)置測試函數(shù)F1~F15的維數(shù)分別為n=30,n=40,n=50,n=60,且參數(shù)都使用維數(shù)n=30的.每個函數(shù)的尋優(yōu)收斂曲線如圖11所示,對于測試函數(shù)F1~F8,F13~F15隨著維數(shù)從30增至60,其尋優(yōu)曲線依然能收斂至足夠精度的極值點(diǎn),驗(yàn)證了該算法解決某些更高維多峰尋優(yōu)問題的魯棒性;雖然其他測試函數(shù)對于更高維沒有表現(xiàn)出很好的收斂精度,但是對于30維均能收斂至高精度的極值點(diǎn).這表明該算法很好地改善了傳統(tǒng)粒子群算法的早熟收斂問題,同時驗(yàn)證了該算法的高效性.測試函數(shù)F7,F13的尋優(yōu)曲線在收斂過程中均出現(xiàn)階梯型平臺,說明尋優(yōu)過程陷入局部極小值點(diǎn),此時體現(xiàn)了填充函數(shù)的有效性,使計(jì)算過程跳出局部極小值點(diǎn)繼續(xù)尋優(yōu)迭代至更小的極值點(diǎn).并且大部分測試函數(shù)均能在較短時間內(nèi)收斂至高精度的極值點(diǎn),體現(xiàn)了提出的多回路模糊控制系統(tǒng)全局搜索和局部搜索能力.
表4給出了在一定精度內(nèi)FPSO-TF算法與各種比較算法的均值與方差.這些指標(biāo)反映了算法的優(yōu)化能力強(qiáng)弱.其中對比的算法來源于文獻(xiàn)[5]的各種PSO算法,參與對比的測試函數(shù)均采用30維,運(yùn)行25次得到均值與方差.
表4 與現(xiàn)有算法的結(jié)果比較Table 4 Comparison with other algorithms
從表4可以看出,雖然仿真設(shè)定子系統(tǒng)個數(shù)為5個遠(yuǎn)比文獻(xiàn)[5]所用的少,但對于F2、F7,F13用FPSO-TF算法獲得的平均值與誤差均比其他比較算法更小,體現(xiàn)了該算法的高效性;對于F1、F3、F12、F14、F15用FPSO-TF算法獲得的平均值等于其他比較算法中的最優(yōu)結(jié)果,誤差與之相等甚至更小;只有F8的平均值比OGA/Q的差,仍然比其他算法結(jié)果的精度高.
表 4 也對這些算法按均值排序,最終順序?yàn)?FPSO-TF、OGA/Q、JADECMAES、FEP、OLPSO-L、OLPSO-G.同時表4也給出了顯著性水平為0.05,FPSO-TF和比較算法之間的t-test計(jì)算結(jié)果,當(dāng)t-test為負(fù)時,意味著在均值和方差方面,FPSO-TF好于其他比較算法;反之亦然.
圖11 (a)F1,(b)F2,(c)F3,(d)F4,(e)F5,(f)F6(這里曲線在每次迭代時都加78.33233140745),(g)F7,(h)F8,(i) F9,(j)F10,(k)F11,(l)F12(這里曲線在每次迭代時都加0.000381827),(m)F13,(n)F14和(o)F15的收斂曲線Fig.11 Convergence progress of the FPSO-TF on(a)F1,(b)F2,(c)F3,(d)F4,(e)F5,(f)F6(where curves are obtained by subtracting 78.33233140745 from the true value of F6 for each iteration),(g)F7,(h)F8,(i)F9,(j)F10,(k) F11,(l)F12(where curves are obtained by subtracting 0.000381827 from the true value of F12 for each iteration),(m) F13,(n)F14 and(o)F15
本文結(jié)合粒子群優(yōu)化算法與模糊控制系統(tǒng),并采用變換函數(shù)與填充函數(shù),提出了基于變換函數(shù)與填充函數(shù)的模糊粒子群優(yōu)化算法(FPSO-TF).該算法通過設(shè)置m個不同寬度區(qū)間的的隸屬度函數(shù)生成了m個模糊控制系統(tǒng),從而控制粒子的搜索范圍,使粒子更好地進(jìn)行全局搜索和局部搜索,提高搜索效率與精度.同時,填充函數(shù)的引入使算法陷入局部極值點(diǎn)問題得到解決.最后的仿真結(jié)果與現(xiàn)有算法的比較結(jié)果表明該算法的有效性.
1 Kennedy J,Eberhart R.Particle swarm optimization.In: Proceedings of the 1995 IEEE International Conference on Neural Network.Perth,Australia:IEEE,1995.1942?1948
2 LvQiang,Liu Shi-Rong,Qiu Xue-Na.Design and realization ofparticle swarm optimization based on pheromone mechanism.Acta Automatica Sinica,2009, 35(11):1410?1419 (呂強(qiáng),劉士榮,邱雪娜.基于信息素機(jī)制的粒子群優(yōu)化算法的設(shè)計(jì)與實(shí)現(xiàn).自動化學(xué)報(bào),2009,35(11):1410?1419)
3 Wang Y P,Dang C Y.An evolutionary algorithm for global optimization based on level-set evolution and Latin squares.IEEE Transactions on Evolutionary Computation,2007, 11(5):579?595
4 Lu B Q,Gao G Q,Lu Z Y.The block diagram method for designing the particle swarm optimization algorithm.Journal of Global Optimization,2012,52(4):689?710
5 Zhan Z H,Zhang J,Li Y,Shi Y H.Orthogonal learning particle swarm optimization.IEEE Transactions on Evolutionary Computation,2011,15(6):832?847
6 Ustundag B,Eksin I,Bir A.A new approach to global optimization using a closed loop control system with fuzzy logic controller.Advances in Engineering Software,2002,33(6): 309?318
7 Lee J,Chiang H D.A dynamical trajectory-based methodology for systematically computing multiple optimal solutions of general nonlinear programming problems.IEEE Transactions on Automatic Control,2004,49(6):888?889
8 MoteeN,JadbabaieA.Distributed multi-parametric quadratic programming.IEEE Transactions on Automatic Control,2009,54(10):2279?2289
9 Nedic A.Asynchronous broadcast-based convex optimization over a network.IEEE Transactions on Automatic Control,2011,56(6):1337?1351
10 Necoara I.Random coordinate descent algorithms for multiagent convex optimization over networks.IEEE Transactions on Automatic Control,2013,58(8):2001?2012
11 Li Bao-Lei,Shi Xin-Ling,Gou Chang-Xing,Lv Dan-Ju,An Zhen-Zhou,Zhang Yu-Feng.Multivariant optimization algorithm and its convergence analysis.Acta Automatica Sinica, 2015,41(5):949?959 (李寶磊,施心陵,茍常興,呂丹桔,安鎮(zhèn)宙,張榆鋒.多元優(yōu)化算法及其收斂性分析.自動化學(xué)報(bào),2015,41(5):949?959)
12 Lu Zhi-Jun,An Jun-Xiu,Wang Peng.Partition-based MQHOA for multimodal optimization.Acta Automatica Sinica,2016,42(2):235?245 (陸志君,安俊秀,王鵬.基于劃分的多尺度量子諧振子算法多峰優(yōu)化.自動化學(xué)報(bào),2016,42(2):235?245)
13 Chen Zhen-Xing,Yan Xuan-Hui,Wu Kun-An,Bai Meng. Many-objective optimization integrating open angle based congestion control strategy.Acta Automatica Sinica,2015, 41(6):1145?1158 (陳振興,嚴(yán)宣輝,吳坤安,白猛.融合張角擁擠控制策略的高維多目標(biāo)優(yōu)化.自動化學(xué)報(bào),2015,41(6):1145?1158)
14 Ma S Z,Yang Y J,Liu H Q.A parameter free fi lled function for unconstrained global optimization.Applied Mathematics and Computation,2010,215(10):3610?3619
15 Gao C L,Yang Y J,Han B S.A new class of fi lled functions with one parameter for global optimization.Computers& Mathematics with Applications,2011,62(6):2393?2403