本發(fā)明涉及一種矢量高斯學(xué)習(xí)的粒子群優(yōu)化方法,屬于群體智能優(yōu)化技術(shù)領(lǐng)域。
背景技術(shù):
粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)是在魚群和鳥群等群體捕食行為的啟發(fā)下,由Kennedy和Eberhart提出的一種群體智能優(yōu)化技術(shù)。因其結(jié)構(gòu)簡(jiǎn)單、參數(shù)設(shè)置少、實(shí)現(xiàn)容易等特點(diǎn),提出后就受到學(xué)者的關(guān)注,并在電力系統(tǒng)保護(hù)、無線傳感器網(wǎng)絡(luò)覆蓋、多目標(biāo)問題求解、圖像處理等優(yōu)化領(lǐng)域廣泛應(yīng)用,但PSO算法存在的早熟收斂和局部尋優(yōu)能力差等缺點(diǎn),限制了PSO的實(shí)際應(yīng)用。
高斯學(xué)習(xí)策略(Gaussian Learning,GL)是近年來計(jì)算智能領(lǐng)域內(nèi)出現(xiàn)的一種新技術(shù),該策略的主要特征是在個(gè)體上增加一個(gè)服從高斯分布的隨機(jī)擾動(dòng)項(xiàng),生成個(gè)體的高斯解,同時(shí)計(jì)算并評(píng)估其高斯解,從中選擇較優(yōu)的解作為下一代個(gè)體,擴(kuò)大搜索區(qū)域的范圍,增強(qiáng)算法的全局勘探能力,目前已運(yùn)用于粒子群優(yōu)化算法、和聲搜索算法、人工蜂群算法和細(xì)菌覓食優(yōu)化算法,并取得較好應(yīng)用。但在進(jìn)行高斯學(xué)習(xí)時(shí),粒子的所有維度都進(jìn)行高斯學(xué)習(xí),學(xué)習(xí)的針對(duì)性不強(qiáng),另外,由于都采用一種學(xué)習(xí)策略,粒子性質(zhì)易于趨同,群體多樣性減少,學(xué)習(xí)效果不佳。
技術(shù)實(shí)現(xiàn)要素:
發(fā)明目的:針對(duì)現(xiàn)有技術(shù)中存在的問題,本發(fā)明提供一種矢量高斯學(xué)習(xí)的粒子群優(yōu)化方法(Particle Swarm Optimization based on Vector Gaussian Learning,VGL-PSO)。方法采用矢量高斯學(xué)習(xí)策略生成精英粒子的矢量高斯解,該策略不是對(duì)所有粒子,而是僅對(duì)精英粒子進(jìn)行高斯學(xué)習(xí),同時(shí)在學(xué)習(xí)過程中,粒子學(xué)習(xí)的維度空間逐漸變化,該策略學(xué)習(xí)的針對(duì)性更強(qiáng)、群體的多樣性易于保持。方法在進(jìn)化過程中,通過閾值判斷當(dāng)前算法的進(jìn)化狀態(tài),若算法陷入“早熟”狀態(tài),自適應(yīng)地調(diào)整慣性權(quán)重和采用矢量高斯學(xué)習(xí)策略對(duì)算法進(jìn)行進(jìn)化,避免種群最優(yōu)位置陷入局部最優(yōu)而致使整個(gè)群體出現(xiàn)搜索停滯,增強(qiáng)算法的局部開采能力。相比其他改進(jìn)方法,VGL-PSO算法思路簡(jiǎn)單,實(shí)現(xiàn)容易,仿真實(shí)驗(yàn)結(jié)果表明:VGL-PSO算法逃離局部最優(yōu)的能力強(qiáng),收斂速度快。
技術(shù)方案:一種矢量高斯學(xué)習(xí)的粒子群優(yōu)化方法,包括如下內(nèi)容:
矢量高斯學(xué)習(xí)策略
定義1高斯解(Gaussian Solution,GS),在M維搜索空間中的一個(gè)點(diǎn)(可視為可行解)Xi=(xi1,xi2,…,xiM),其對(duì)應(yīng)的高斯解可定義如下:
其中,為第i個(gè)個(gè)體第j維經(jīng)高斯學(xué)習(xí)后的新位置,xij為第i個(gè)個(gè)體第j維的原有位置,Gauss_random(μ,σ2)為高斯隨機(jī)數(shù)函數(shù),μ和σ2分別為高斯隨機(jī)函數(shù)的均值和方差。
定義2矢量高斯解(Vector Gaussian Solution,VGS),在M維搜索空間中的精英粒子gBest,其對(duì)應(yīng)的矢量高斯解gBest*,可定義如下:
num=Int((1.0-i*1.0/iterNum)*M)+1 (4)
m=rand()%M (5)
其中,M為粒子總維度數(shù);i和iterNum分別表示當(dāng)前迭代次數(shù)和最大迭代次數(shù);num為進(jìn)行矢量高斯學(xué)習(xí)的維度空間大小,隨著迭代次數(shù)的增加,學(xué)習(xí)的維度空間越來越小,直至變成1維;Int()是取整函數(shù);m(0≤m<M-1)為一隨機(jī)整數(shù),表示選擇的是M維中的第m維,且同一次更新選擇的所有num個(gè)維度均不同;Gauss_random(μ,σ2)為高斯隨機(jī)數(shù)函數(shù);gBestm為精英粒子第m維的位置信息。
在矢量高斯學(xué)習(xí)策略中,為平衡粒子的全局探測(cè)能力與局部開發(fā)能力,需對(duì)矢量高斯學(xué)習(xí)的方差進(jìn)行動(dòng)態(tài)調(diào)整,進(jìn)化前期σ2較大,粒子的搜索空間大,算法的全局搜索能力強(qiáng);隨著進(jìn)化的深入,σ2越來越小,粒子的搜索空間變小,算法的局部開發(fā)能力強(qiáng)。其方差調(diào)整策略定義如下:
設(shè)在某一次迭代過程中,矢量高斯學(xué)習(xí)策略選擇的維度空間大小為num(1≤num≤M),選擇的維度數(shù)值分別是j1,j2,…,jnum,其中1≤j1且jnum≤M,則
σ2=gBestmin*r3 (8)
其中:min()函數(shù)為最小值選取函數(shù),r3為[0,0.5]之間的隨機(jī)數(shù),gBestjnum表示精英粒子第jnum維的位置。
同時(shí),我們還根據(jù)算法所處的進(jìn)化狀態(tài)對(duì)算法的慣性權(quán)重w作了相應(yīng)改進(jìn):若算法陷入“早熟”狀態(tài),我們將w設(shè)置為隨算法迭代次數(shù)的增加而減小;反之,我們將w設(shè)置為固定值。公式如下:
其中,w為慣性權(quán)重;tag為種群最優(yōu)位置連續(xù)未更新的次數(shù);limit為判斷算法陷入“早熟”狀態(tài)的閾值。
VGL-PSO算法的具體步驟如下:
1)初始化所有粒子,設(shè)置相關(guān)參數(shù),如:c1,c2,w,tag,limit等。
2)計(jì)算和評(píng)價(jià)粒子適應(yīng)值。
3)判斷種群當(dāng)前的進(jìn)化狀態(tài),若tag≤limit,則視為正常狀態(tài),轉(zhuǎn)入步驟4),否則視為“早熟”狀態(tài),轉(zhuǎn)入步驟5)。
4)采用固定的慣性權(quán)重,利用式(1)和(2)對(duì)粒子速度和位置進(jìn)行更新,同時(shí)更新粒子最優(yōu)位置和全局最優(yōu)位置信息;判斷全局最優(yōu)位置是否有更新,如有更新,設(shè)置tag=0,否則tag++;轉(zhuǎn)入步驟6)。
5)利用式(4)、(5)、(6)、(7)和(8)對(duì)精英粒子進(jìn)行矢量高斯學(xué)習(xí);同時(shí)采用式(9)的線性下降慣性權(quán)重和式(1)和(2)對(duì)粒子進(jìn)行更新,同時(shí)更新粒子最優(yōu)位置和全局最優(yōu)位置信息;判斷全局最優(yōu)位置是否有更新,如有更新,設(shè)置tag=0,否則tag++;轉(zhuǎn)入步驟6)。
6)檢驗(yàn)是否滿足終止條件,若滿足,則停止迭代,輸出全局最優(yōu)位置gBest及其對(duì)應(yīng)的適應(yīng)值,否則轉(zhuǎn)到3)。
附圖說明
圖1為測(cè)試函數(shù)在不同limit下的變化曲線,(a)為單峰函數(shù),(b)為多峰函數(shù);
圖2為單峰函數(shù)的進(jìn)化曲線,(a)為f1函數(shù)進(jìn)化曲線,(b)為f2函數(shù)進(jìn)化曲線,(c)為f3函數(shù)進(jìn)化曲線,(d)為f4函數(shù)進(jìn)化曲線;
圖3為多峰函數(shù)的進(jìn)化曲線,(a)為f5函數(shù)進(jìn)化曲線,(b)為f6函數(shù)進(jìn)化曲線,(c)為f7函數(shù)進(jìn)化曲線,(d)為f8函數(shù)進(jìn)化曲線。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明的各種等價(jià)形式的修改均落于本申請(qǐng)所附權(quán)利要求所限定的范圍。
粒子群優(yōu)化算法是一種模擬生物群體覓食行為,通過個(gè)體之間彼此協(xié)作找尋最優(yōu)解的計(jì)算技術(shù)。設(shè)總數(shù)為N的粒子群體在一個(gè)M維的搜索空間中飛行,第i(i=1,2,...,N)個(gè)粒子的速度和位置分別為:Vi=[vi1,vi2,...,viM]T,Xi=[xi1,xi2,...,xiM]T。對(duì)于第k次迭代,粒子i的位置和速度按照下式進(jìn)行更新:
其中:m=1,2,...,M;w為慣性權(quán)重;c1和c2為學(xué)習(xí)因子;r1和r2為[0,1]之間的隨機(jī)數(shù)。為第k-1次迭代中找到的種群最優(yōu)位置,為第i個(gè)粒子第k-1次迭代時(shí)找到的粒子個(gè)體歷史最優(yōu)位置。
矢量高斯學(xué)習(xí)的粒子群優(yōu)化方法(VGL-PSO),包括如下內(nèi)容:
矢量高斯學(xué)習(xí)策略
定義1高斯解(Gaussian Solution,GS),在M維搜索空間中的一個(gè)點(diǎn)(可視為可行解)Xi=(xi1,xi2,…,xiM),其對(duì)應(yīng)的高斯解可定義如下:
其中,為第i個(gè)個(gè)體第j維經(jīng)高斯學(xué)習(xí)后的新位置,xij為第i個(gè)個(gè)體第j維的原有位置,Gauss_random(μ,σ2)為高斯隨機(jī)數(shù)函數(shù),μ和σ2分別為高斯隨機(jī)函數(shù)的均值和方差。
種群最優(yōu)位置(即精英粒子所在位置)是其它粒子的引領(lǐng)者和學(xué)習(xí)榜樣,其自身沒有榜樣可以學(xué)習(xí)。因此,若精英粒子陷入局部最優(yōu),算法將進(jìn)入“早熟”狀態(tài);另外,粒子群優(yōu)化算法在進(jìn)化過程中,是對(duì)粒子的整個(gè)速度和位置進(jìn)行學(xué)習(xí),這樣做的優(yōu)點(diǎn)是:處理方便、實(shí)現(xiàn)容易,缺點(diǎn)是:在學(xué)習(xí)過程中,將其他粒子的優(yōu)點(diǎn)和缺點(diǎn)都學(xué)習(xí)到,學(xué)習(xí)的針對(duì)性不強(qiáng),學(xué)習(xí)效果不佳。為此,在定義矢量高斯學(xué)習(xí)策略時(shí),為平衡全局探測(cè)能力與局部開發(fā)能力,精英粒子高斯學(xué)習(xí)的維度空間大小隨著進(jìn)化線性遞減。在進(jìn)化前期選取較大的維度空間進(jìn)行學(xué)習(xí),增強(qiáng)算法的探索能力,提高精英粒子搜索全局最優(yōu)位置的概率;隨著迭代的深入,算法需要較小的探索能力和較大的開發(fā)能力,特別是在進(jìn)化后期,可能是因?yàn)槟骋痪S或者某幾維陷入局部最優(yōu),后期選取較小的維度空間進(jìn)行學(xué)習(xí),其它維度上的信息仍然保持不變,這樣能夠最大限度保留精英粒子的優(yōu)勢(shì)信息,幫助算法逃離局部最優(yōu),提高解的精度。
定義2矢量高斯解(Vector Gaussian Solution,VGS),在M維搜索空間中的精英粒子gBest,其對(duì)應(yīng)的矢量高斯解gBest*,可定義如下:
num=Int((1.0-i*1.0/iterNum)*M)+1 (4)
m=rand()%M (5)
其中,M為粒子總維度數(shù);i和iterNum分別表示當(dāng)前迭代次數(shù)和最大迭代次數(shù);num為進(jìn)行矢量高斯學(xué)習(xí)的維度空間大小,隨著迭代次數(shù)的增加,學(xué)習(xí)的維度空間越來越小,直至變成1維;Int()是取整函數(shù);m(0≤m<M-1)為一隨機(jī)整數(shù),表示選擇的是M維中的第m維,且同一次更新選擇的所有num個(gè)維度均不同;Gauss_random(μ,σ2)為高斯隨機(jī)數(shù)函數(shù);gBestm為精英粒子第m維的位置信息。
在矢量高斯學(xué)習(xí)策略中,為平衡粒子的全局探測(cè)能力與局部開發(fā)能力,需對(duì)矢量高斯學(xué)習(xí)的方差進(jìn)行動(dòng)態(tài)調(diào)整,進(jìn)化前期σ2較大,粒子的搜索空間大,算法的全局搜索能力強(qiáng);隨著進(jìn)化的深入,σ2越來越小,粒子的搜索空間變小,算法的局部開發(fā)能力強(qiáng)。其方差調(diào)整策略定義如下:
設(shè)在某一次迭代過程中,矢量高斯學(xué)習(xí)策略選擇的維度空間大小為num(1≤num≤M),選擇的維度數(shù)值分別是j1,j2,…,jnum,其中1≤j1且jnum≤M,則
σ2=gBestmin*r3 (8)
其中:min()函數(shù)為最小值選取函數(shù),r3為[0,0.5]之間的隨機(jī)數(shù),gBestjnum表示精英粒子第jnum維的位置。
同時(shí),我們還根據(jù)算法所處的進(jìn)化狀態(tài)對(duì)算法的慣性權(quán)重w作了相應(yīng)改進(jìn):若算法陷入“早熟”狀態(tài),我們將w設(shè)置為隨算法迭代次數(shù)的增加而減??;反之,我們將w設(shè)置為固定值。公式如下:
其中,w為慣性權(quán)重;tag為種群最優(yōu)位置連續(xù)未更新的次數(shù);limit為判斷算法陷入“早熟”狀態(tài)的閾值。
VGL-PSO算法的具體步驟如下:
1)初始化所有粒子,設(shè)置相關(guān)參數(shù),如:c1,c2,w,tag,limit等。
2)計(jì)算和評(píng)價(jià)粒子適應(yīng)值。
3)判斷種群當(dāng)前的進(jìn)化狀態(tài),若tag≤limit,則視為正常狀態(tài),轉(zhuǎn)入步驟4),否則視為“早熟”狀態(tài),轉(zhuǎn)入步驟5)。
4)采用固定的慣性權(quán)重,利用式(1)和(2)對(duì)粒子速度和位置進(jìn)行更新,同時(shí)更新粒子最優(yōu)位置和全局最優(yōu)位置信息;判斷全局最優(yōu)位置是否有更新,如有更新,設(shè)置tag=0,否則tag++;轉(zhuǎn)入步驟6)。
5)利用式(4)、(5)、(6)、(7)和(8)對(duì)精英粒子進(jìn)行矢量高斯學(xué)習(xí);同時(shí)采用式(9)的線性下降慣性權(quán)重和式(1)和(2)對(duì)粒子進(jìn)行更新,同時(shí)更新粒子最優(yōu)位置和全局最優(yōu)位置信息;判斷全局最優(yōu)位置是否有更新,如有更新,設(shè)置tag=0,否則tag++;轉(zhuǎn)入步驟6)。
6)檢驗(yàn)是否滿足終止條件,若滿足,則停止迭代,輸出全局最優(yōu)位置gBest及其對(duì)應(yīng)的適應(yīng)值,否則轉(zhuǎn)到3)。
仿真實(shí)驗(yàn)
基準(zhǔn)測(cè)試函數(shù)
為了驗(yàn)證VGL-PSO算法的性能,用8個(gè)經(jīng)典測(cè)試函數(shù)來測(cè)試VGL-PSO算法。其中f1~f4是單模態(tài)函數(shù),在給定搜索范圍內(nèi)只有一個(gè)極值點(diǎn),主要檢驗(yàn)算法的收斂速度和尋優(yōu)精度,f5~f8是多模態(tài)函數(shù),在給定搜索范圍內(nèi)有多個(gè)局部極值點(diǎn),主要考察算法的全局搜索能力和逃離局部最優(yōu)能力。
1)Sphere函數(shù)(取值范圍:[-100,100]D,理論最優(yōu)值:0):
2)Schwefel’s P2.22函數(shù)(取值范圍:[-10,10]D,理論最優(yōu)值:0):
3)Quadric函數(shù)(取值范圍:[-100,100]D,理論最優(yōu)值:0):
4)Quadric Noise函數(shù)(取值范圍:[-1.28,1.28]D,理論最優(yōu)值:0):
5)Rastrigin函數(shù)(取值范圍:[-5.12,5.12]D,理論最優(yōu)值:0):
6)Noncontinuous Rastrigin函數(shù)(取值范圍:[-5.12,5.12]D,理論最優(yōu)值:0):
7)Ackley函數(shù)(取值范圍:[-32,32]D,理論最優(yōu)值:0):
8)Generalized Penalized函數(shù)(取值范圍:[-50,50]D,理論最優(yōu)值:0):
算法進(jìn)化狀態(tài)的判斷
VGL-PSO算法通過閾值limit判斷算法當(dāng)前所處的進(jìn)化狀態(tài),并根據(jù)當(dāng)前狀態(tài)自適應(yīng)調(diào)整慣性權(quán)重取值和選擇不同的學(xué)習(xí)策略,因此,閾值limit大小的選取對(duì)算法的性能有重要影響。若limit設(shè)置過大,則粒子不能及時(shí)跳出局部最優(yōu),耗費(fèi)了算法的評(píng)估次數(shù);若limit設(shè)置過小,粒子被強(qiáng)制認(rèn)為陷入局部最優(yōu),影響粒子自身的學(xué)習(xí)。因此,對(duì)于limit值的設(shè)置,我們應(yīng)該慎之又慎,為研究limit取值對(duì)函數(shù)性能的影響,本文在limit取不同值時(shí),分別計(jì)算8個(gè)經(jīng)典復(fù)雜測(cè)試函數(shù)的平均最優(yōu)適應(yīng)值。在粒子規(guī)模為20,粒子維度30的條件下,測(cè)試函數(shù)的平均最優(yōu)適應(yīng)值在不同limit下的變化曲線如圖3所示.
觀察圖1(a)可知,針對(duì)單峰函數(shù),在limit取不同值的情況下,除Quadric Noise函數(shù)變化不明顯外,其它3個(gè)函數(shù)的平均最優(yōu)適應(yīng)值隨limit的變化存在明顯差異,當(dāng)limit取值在[50,150]區(qū)間時(shí),它們平均最優(yōu)適應(yīng)值的對(duì)數(shù)隨limit的增大而增大,算法收斂精度逐漸下降;當(dāng)limit取值大于150時(shí),函數(shù)的曲線幾乎沒有改變,算法收斂精度沒有明顯變化。從圖1(b)可看出,針對(duì)多峰函數(shù)在limit取不同值時(shí),其中只有2個(gè)函數(shù)對(duì)limit的變化較敏感,當(dāng)limit取值在區(qū)間[50,100]時(shí),函數(shù)的平均最優(yōu)適應(yīng)值無明顯變化;但隨著limit取值的增大,函數(shù)的平均最優(yōu)適應(yīng)值精度逐漸減??;當(dāng)limit>150時(shí),函數(shù)的變化曲線趨于平緩,算法收斂精度沒有明顯變化。綜上所述,為了平衡單峰和多峰函數(shù)的性能,將limit的值設(shè)為50是一個(gè)比較理想的選擇。
仿真實(shí)驗(yàn)
為了驗(yàn)證VGL-PSO算法的性能,選取FIPS[1]、HPSO-TVAC[2]、DMS-PSO[3]、CLPSO[4]、APSO[5]和GDPSO[6]等6個(gè)經(jīng)典粒子群優(yōu)化算法進(jìn)行對(duì)比實(shí)驗(yàn)。VGL-PSO算法的種群規(guī)模N=20,評(píng)估次數(shù)200000,學(xué)習(xí)因子c1=c2=2.0,算法進(jìn)化狀態(tài)limit=50,其它算法的參數(shù)設(shè)置參見相關(guān)文獻(xiàn)。
[1]Mendes R,Kennedy J,Neves J.The fully informed particle swarm:Simpler,maybe better[J].IEEE Transaction on Evolutionary Computation,2004,8(3):204–210.
[2]Rathaweera A,Halgamuge S,Watson H.Self-organizing hierarchical particle swarm optimizer with time-varying acceleration coefficients[J].IEEE Transaction on Evolutionary Computation,2004,8(3):240-255.
[3]Liang J J,Suganthan P N.Dynamic multi-swarm particle swarm optimizer[J].Proceedings of IEEE Swarm Intelligence Symposium,2005,8(10):124–129.
[4]Liang J J,Qin A K,Suganthan P N,et al.Comprehensive learning particle swarm optimizer for global optimization of multi-modal function[J].IEEE Transaction on Evolutionary Computation,2006,10(3):281-295.
[5]Zhi-hui Zhan,Jun Zhang,Yun Li,et al.Adaptive Particle Swarm Optimization[J].IEEE Transactions on Systems,Man,and Cybernetics,2009,39(6):1362–1381.
[6]朱德剛,孫輝,趙嘉,等.基于高斯擾動(dòng)的粒子群優(yōu)化算法[J].計(jì)算機(jī)應(yīng)用,2014,34(3):754-759.
表1給出了7種算法在30維時(shí)的尋優(yōu)結(jié)果。表中Mean和Std.Dev分別表示在限定的評(píng)估次數(shù)下算法的平均最優(yōu)適應(yīng)值及標(biāo)準(zhǔn)差,標(biāo)準(zhǔn)差反映了算法的穩(wěn)定性。為了消除算法的隨機(jī)性的影響,算法獨(dú)立運(yùn)行了50次,以最終的平均值作為算法的最后尋優(yōu)結(jié)果。
表1 7種優(yōu)化算法30維實(shí)驗(yàn)對(duì)比結(jié)果
從表1數(shù)據(jù)對(duì)比結(jié)果可知,VGL-PSO算法與其它6種經(jīng)典改進(jìn)算法相比,不論是尋優(yōu)精度,還是穩(wěn)定性都有很大優(yōu)勢(shì)。在單模態(tài)函數(shù)f1、f2和f3上,VGL-PSO算法的收斂精度遠(yuǎn)遠(yuǎn)高于其他算法;在多模態(tài)函數(shù)上,VGL-PSO算法在f5、f6和f7上也有非常好表現(xiàn),特別地,f5和f6函數(shù)是典型的非線性多模態(tài)函數(shù),具有廣泛的搜索空間,復(fù)雜多模態(tài)問題通常被認(rèn)為是優(yōu)化算法很難處理的,一般算法都很難搜索到最優(yōu)位置,而VGL-PSO算法卻能夠很好地搜索到全局最優(yōu)位置,雖然在f8函數(shù)上較GDPSO差,但通過后續(xù)的t檢驗(yàn)可知,兩者之間沒有顯著性差異。
t檢驗(yàn)
為了判斷VGL-PSO算法與其它6種算法的性能是否存在顯著性差異,進(jìn)行t檢驗(yàn)。t檢驗(yàn)的分位數(shù)為單側(cè)0.05,自由度為30,t檢驗(yàn)的臨界值通過查表為1.697。當(dāng)t>1.697時(shí)說明VGL-PSO優(yōu)于其它算法,標(biāo)記為“+”;當(dāng)t<-1.697時(shí)說明VGL-PSO差于其它算法,標(biāo)記為“-”;否則,說明VGL-PSO與其它算法無明顯差異,標(biāo)記為“=”?!皐/t/l”表示VGL-PSO算法與所選算法相比在w個(gè)函數(shù)上優(yōu)于該算法,t個(gè)函數(shù)上無明顯差異,l個(gè)函數(shù)上差于該算法。表2給出了VGL-PSO算法與其它6種算法的t檢驗(yàn)結(jié)果。
表2 VGL-PSO算法與其它6種算法的t檢驗(yàn)結(jié)果
從表2中數(shù)據(jù)可知,VGL-PSO算法與經(jīng)典的CLPSO算法在8個(gè)函數(shù)上的仿真實(shí)驗(yàn)相比,VGL-PSO在所有函數(shù)上都表現(xiàn)出絕對(duì)的優(yōu)勢(shì);與HPSO-TVAC算法比較,除了在f7上無顯著差異外,在其他7個(gè)函數(shù)上VGL-PSO也具有明顯優(yōu)勢(shì);與DMS-PSO算法在8個(gè)函數(shù)的仿真實(shí)驗(yàn)相比,除了在f1和f8上無顯著差異外,在其他6個(gè)函數(shù)上,VGL-PSO算法有著很大的優(yōu)勢(shì);與APSO算法比較,除了在f1、f6和f8上無顯著差異外,在其他5個(gè)函數(shù)上,VGL-PSO算法依然具有很強(qiáng)的優(yōu)勢(shì),同時(shí),VGL-PSO與GDPSO算法相比,也在f3、f4和f6上有明顯的優(yōu)勢(shì)。
算法收斂性能
為了更加直觀的說明本文算法在進(jìn)化過程中的收斂情況,比較VGL-PSO、GDPSO、APSO、CLPSO、DMS-PSO、HPSO-TVAC和FIPS等7種算法在8個(gè)測(cè)試函數(shù)上關(guān)于評(píng)估次數(shù)和適應(yīng)值之間的關(guān)系。圖2-圖3是8個(gè)測(cè)試函數(shù)在30維上的進(jìn)化曲線圖,橫軸為評(píng)估次數(shù),縱軸為適應(yīng)值的對(duì)數(shù)。
由圖2-圖3可知,本發(fā)明提出的VGL-PSO算法,通過采用矢量高斯學(xué)習(xí)策略,給種群最優(yōu)位置的部分維度加上一個(gè)高斯隨機(jī)數(shù),能很好地增強(qiáng)算法逃離局部最優(yōu)的能力和加速算法后期收斂速度。觀察圖2可知,VGL-PSO算法在處理單模態(tài)函數(shù)時(shí),優(yōu)勢(shì)相當(dāng)明顯,其中f1、f2、f3三個(gè)函數(shù)的進(jìn)化曲線幾乎呈直線下降。從圖3可知,VGL-PSO算法在處理復(fù)雜的多模態(tài)函數(shù)時(shí),收斂速度也擁有非常大的優(yōu)勢(shì),特別是f5和f6兩個(gè)函數(shù),在評(píng)估次數(shù)在2萬次左右就可以尋找到最優(yōu)位置,其它幾種算法卻很容易陷入局部最優(yōu),造成收斂速度變慢,甚至停滯不前。