周 蓉,李 俊,王 浩
1.武漢科技大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,武漢430065
2.智能信息處理與實時工業(yè)系統(tǒng)湖北省重點實驗室,武漢430065
粒子群[1](Particle Swarm Optimization,PSO)算法,又稱粒子群優(yōu)化算法或鳥群覓食算法,是由Kennedy和Eberhart 等提出的一種新型進化算法,該算法通過追隨當前搜索到的最優(yōu)解來尋找全局最優(yōu)。由于該算法有實現(xiàn)容易、收斂快等優(yōu)點,近年來被廣泛應(yīng)用于諸多領(lǐng)域,如醫(yī)學(xué)[2]、圖像處理、特征選擇[3]等,并取得了較好的效果。但存在易早熟收斂[4-6]、算法后期收斂較慢等問題,近年來,眾多學(xué)者對其不足,提出了一些相應(yīng)的改進策略。
針對PSO存在的不足,研究人員做出了不同的改進措施,其改進主要體現(xiàn)在全局搜索性能和局部搜索性能兩方面。為了提高全局搜索能力[4-5,7],文獻[4]針對基本灰狼優(yōu)化算法在搜索過程中不是線性搜索的問題,提出了一種基于預(yù)先規(guī)律變化的收斂因子,使得其在迭代前期,具有較大的收斂因子,增強其全局搜索能力,在迭代后期,即從比自己較優(yōu)的粒子群體中隨機選取一個個體進行學(xué)習(xí),通過這種方式在提高粒子的搜索能力同時增強開采能力,但該算法本身的等級制度限制了其全局搜索的能力,該文獻雖然對其進行了改進,但是其仍然存在易陷入局部最優(yōu)的情況;文獻[5]針對SLPSO 算法收斂速度慢等問題,將社會學(xué)習(xí)運用到粒子搜索的過程中,并利用選擇交叉反向機制,提高種群的多樣性以及算法的全局搜索能力,但該算法在面對混合函數(shù)優(yōu)化問題時,其收斂效果不佳,易陷入局部最優(yōu);文獻[7]對粒子群算法的速度項引入動態(tài)的慣性權(quán)重,即根據(jù)迭代過程及粒子的運動情況對其慣性權(quán)重進行線性或非線性的調(diào)整,模糊自適應(yīng)方法在一定程度上可以提高算法的收斂精度,但這種方式犧牲了收斂速度。在提高局部搜索能力[8-10]方面,文獻[8]將細菌覓食優(yōu)化算法中的趨化算子嵌入到算法中,趨化算子的功能主要是其具有較強的局部搜索能力,與PSO算法本身所具有的全局搜索能力互補,從而提高算法的尋優(yōu)效果,該算法雖然在收斂性方面有了提高,但是在復(fù)雜情況下還是會出現(xiàn)搜索停滯的情況,即會陷入局部最優(yōu)。為了平衡算法的全局搜索和局部搜索性能[6,11-15];文獻[6]采用多種搜索策略,對種群中的所有個體采用反向?qū)W習(xí)策略,增強算法的全局搜索性能,并對種群中部分較差個體分別采用柯西變異,對部分較好個體差分進化變異,從而增強算法的局部開采能力,且其收斂速度較快,該搜索策略的穩(wěn)定性不夠,在較為復(fù)雜的環(huán)境中,存在易陷入局部最優(yōu)的情況;文獻[11]通對種群分布和粒子適應(yīng)度值的評估,采用實時進化狀態(tài)估計方法,將其狀態(tài)分為四種狀態(tài),并根據(jù)不同狀態(tài)調(diào)整其各項參數(shù),提高算法的搜索效率和收斂速度,據(jù)該文獻的實驗數(shù)據(jù)表明,其在某些優(yōu)化問題中出現(xiàn)不收斂的情況,即該算法的穩(wěn)定性較差;文獻[12]根據(jù)單一的學(xué)習(xí)方式可能導(dǎo)致粒子的搜索陷入局部最優(yōu)這個問題提出了一種自學(xué)習(xí)的策略,每個粒子都采用四種搜索策略來處理空間的不同搜索情況,避免其陷入局部最優(yōu)的情況;文獻[13]提出一種多策略融合的搜索機制,采用禁忌探測機制遍歷整個搜索空間跳出局部最優(yōu),并利用局部學(xué)習(xí)策略提高算法的收斂精度,達到平衡全局搜索和局部搜索的目的。
上述的文獻中采用各種方式針對基本PSO 算法進行改進,且在一定程度上提高了算法的搜索性能,但其存在具有易陷入局部最優(yōu)和收斂速度較慢等問題。為了進一步提高算法的性能,本文以HPSO[6]為基礎(chǔ),提出一種基于灰狼優(yōu)化的反向?qū)W習(xí)粒子群算法(Particle Swarm Optimization with Grey Wolf Optimization and Reverse Learning,HGPSO)。首先,對每個種群個體采用反向?qū)W習(xí)策略[16-18],增強粒子的多樣性,提高算法的全局搜索能力;同時,利用改進的灰狼優(yōu)化算法提高算法的局部搜索性能;最后,采用一種新型學(xué)習(xí)方式,合理利用所有粒子的信息,從而提高算法的搜索性能。
PSO算法是一種群體智能隨機搜索算法,對于一個D 維的優(yōu)化問題而言,群體中的每個粒子可表述為一個可行解。在整個算法執(zhí)行的過程中,其個體最優(yōu)解和全局最優(yōu)解均被用來引導(dǎo)粒子的位置和速度更新。假設(shè)當前種群的規(guī)模為N,維度為D,則粒子X 的位置可以表示為Xi=( xi1,xi2,…,xid,…,xiD),其中xid表示粒子X 在第i 維的第d 個分量;而粒子X 的速度可以表示為Vi=(vi1,vi2,…,vid,…,viD),其中vid表示當前粒子的第i 維的第d 個分量的速度,粒子的速度更新公式和位置更新公式如下:
其中,vid(t+1)和xid(t+1)分別為粒子i 在第t+1 代的速度和位置。ω 為慣性權(quán)重,c1和c2表示社會學(xué)習(xí)系數(shù),r1和r2是[0,1]間均勻分布的隨機數(shù)。
灰狼優(yōu)化(Grey Wolf Optimiztion,GWO)算法[19]是一種新型的群體智能優(yōu)化算法,它模擬的是自然界中灰狼群體的社會等級機制和捕獵行為。在灰狼群體中,具有嚴格的社會等級體制。其中,α 狼是最高級別的灰狼,β 狼是α 狼的下屬灰狼,而δ 狼則是β 狼的下屬狼,則δ 狼要服從α 狼和β 狼的命令,等級最低的灰狼稱為τ 狼?;依轻鳙C主要分為追蹤、包圍和攻擊三個階段。假設(shè)灰狼種群規(guī)模為N,搜索空間為D 維,第i 只灰狼的位置可表示為Xi=( xi1,xi2,…,xid,…,xiD)。
在包圍操作中,其過程可以用數(shù)學(xué)描述如下:
其中Xp表示獵物的位置,X(t)表示的是第t 代時灰狼的位置,A 和C 為系數(shù)向量,r1和r2為[0,1]的隨機數(shù),a 為控制參數(shù)。A 和C 的更新公式為:
在灰狼優(yōu)化算法中,種群中的粒子位置更新由Xα、Xβ和Xδ引導(dǎo),其數(shù)學(xué)描述為:
本文根據(jù)PSO 算法的在搜索方式,其學(xué)習(xí)的對象是當前的全局最優(yōu)解和當前個體的個體最優(yōu)解,即在其搜索過程中存在全局搜索能力差和收斂精度低等問題。針對基本PSO 存在的問題,首先利用反向?qū)W習(xí)策略(Opposition-Based Learning,OBL),通過提高種群的多樣性,擴大種群的搜索范圍,并對其慣性權(quán)重采用貝塔分布進行擾動,從而提高算法全局搜索的能力;其次為了進一步提高算法的局部搜索能力,根據(jù)GWO 算法的搜索方式可以看出,其尋優(yōu)過程主要是圍繞著最優(yōu)解進行的,即在當前最優(yōu)解的周圍進行搜索,采用貝塔分布對其位置分布按照搜索前后期要求進行擾動,以提高算法的收斂精度和收斂速度。最后在每次迭代完成后,對兩種搜索策略的結(jié)果進行重組,實現(xiàn)信息的交互,取其部分解作為下一代種群個體,通過這兩種搜索策略達到平衡算法全局搜索和局部搜索的效果。
在反向?qū)W習(xí)搜索方式中,對于最優(yōu)粒子在迭代前期采用隨機反向?qū)W習(xí),提高種群的多樣性,擴大種群的搜索范圍,而在迭代后期,采用交叉反向?qū)W習(xí)機制,根據(jù)隨機概率,選擇一般反向?qū)W習(xí)或最優(yōu)解隨機交叉反向?qū)W習(xí),且最優(yōu)解隨機交叉反向?qū)W習(xí)的概率由迭代次數(shù)控制,根據(jù)算法迭代后期的特點,提高算法的收斂速度;對于其非最優(yōu)粒子,采用一種新型的非最優(yōu)社會學(xué)習(xí)方式,在比自己優(yōu)秀的粒子中隨機選取一個更優(yōu)粒子進行學(xué)習(xí),提高當前粒子自身的搜索性能,避免其因為只學(xué)習(xí)最優(yōu)粒子而限制其開采能力,降低收斂速度。在改進的灰狼優(yōu)化算法中,根據(jù)適應(yīng)度值選取全局中的三個最優(yōu)解,作為算法搜索過程的引導(dǎo)者,在迭代前期幫助條算法的收斂速度,而在后期則提高算法的局部搜索能力,提高算法的求解精度。
PSO中的慣性權(quán)重ω 和GWO中的收斂因子a 是算法中的重要參數(shù),其變化影響著算法的收斂速度及搜索性能,因此,本文引入貝塔分布(Beta Distribution)[20]。對其慣性權(quán)重和收斂因子進行擾動,使其分布更加合理。貝塔分布是滿足二項分布和伯努利分布的密度函數(shù),其分布在[0,1]之間。貝塔函數(shù)公式和概率分布函數(shù)為:
其概率密度函數(shù)如圖1 所示,當參數(shù)b1和b2取不同值時,其分布情況不同。當b1=b2=1 時,貝塔分布屬于均勻的狀態(tài);當b1<b2時,其函數(shù)靠左傾斜;當b1>b2時其函數(shù)靠右偏斜。
圖1 貝塔分布概率密度函數(shù)圖像
在PSO 算法中,慣性權(quán)重ω 在平衡算法的收斂速度和全局搜索能力方面有著重要的作用,研究表明,較大的慣性權(quán)重ω 可以提高種群的多樣性,而較小的慣性權(quán)重ω 則可以提高算法的局部開采能力。參考文獻[20-23]對慣性權(quán)重進行處理,其中趙志剛等[21]提出隨機慣性權(quán)重,利用隨機分布的方法控制慣性權(quán)重的變化,其生成公式為如下:
其中,ωmin和ωmax分別為慣性權(quán)重的最大值和最小值。
隨機慣性權(quán)重是一種非線性的減小ω 的優(yōu)化策略,利用隨機變量的隨機性調(diào)整慣性權(quán)重,第三項中的rand()是正態(tài)分布的隨機數(shù),與σ 結(jié)合來控制權(quán)重向期望權(quán)重方向進行移動,提高算法的搜索效率,但是在搜索后期,所有粒子都像最優(yōu)解靠近,忽略了種群的多樣性,使其收斂速度變慢,且有可能陷入局部最優(yōu)的情況。針對以上的問題,本文提出一種新型的權(quán)重更新策略,該策略引入余弦函數(shù)和貝塔分布來引導(dǎo)慣性權(quán)重的非線性變化,其更新公式為:
其中,余弦函數(shù)的引入可以在一定程度上改善算法易陷入早熟的問題,同時可以提高算法的搜索效率。貝塔分布的引入主要是利用其隨機性,提高算法后期的收斂速度和種群多樣性。相關(guān)實驗[24]表明,在給定的實驗條件下,貝塔分布的性能與高斯分布和柯西分布相當,但在某些情況下,貝塔分布的性能甚至優(yōu)于高斯分布和柯西分布。式中的ωmin和ωmax分別為慣性權(quán)重的最大值和最小值,這兩項用來控制權(quán)重的取值范圍為[0.4,0.9],相關(guān)實驗表明,慣性權(quán)重在此范圍內(nèi)時能夠使得算法取得更好的尋優(yōu)性能。σ 為慣性權(quán)重的調(diào)整因子,與貝塔分布融合后控制慣性權(quán)重ω 的偏移程度,使得其更好地提高算法的收斂速度和全局搜索能力。
針對PSO易陷入局部最優(yōu)這一問題,本文嵌入改進的GWO 算法。在智能優(yōu)化算法中,適應(yīng)度函數(shù)值是衡量當前粒子位置是否最優(yōu)的唯一標準,在粒子更新中起著至關(guān)重要的作用。從文獻[25-26]對GWO算法的優(yōu)化可知,在GWO算法中的收斂因子a 控制著參數(shù)A 和C的變化,而|A|>1 時,進行全局搜索,即擴大搜索范圍,增強其全局性;當|A|<1 時,進行局部搜索,即縮小搜索范圍,提高局部搜索性能,但在此過程中其收斂速度較慢。由基本灰狼優(yōu)化算法可知,線性遞減的收斂因子a并不能體現(xiàn)算法的最優(yōu)搜索性能,所以本文引入余弦定理改變收斂因子的遞減方式,并引入貝塔分布對其進行擾動,提高算法的搜索性能,其公式為:
其中,t 表示當前迭代次數(shù),Miter表示最大迭代次數(shù),貝塔分布的b1和b2的詳細介紹見3.2節(jié)。
HGPSO的算法具體實現(xiàn)步驟如下:
步驟1初始化種群規(guī)模N、種群維度D、最大迭代次數(shù)Miter、種群粒子的初始位置X、初始化參數(shù)學(xué)習(xí)因子c1和c2、慣性權(quán)重ω 等參數(shù)。
步驟2計算種群的適應(yīng)度值,并將種群按照適應(yīng)度值進行升序排序,求適應(yīng)度值最優(yōu)的三個個體將其粒子位置保存在X1、X2和X3中,并更新個體最優(yōu)解pbest和全局最優(yōu)解gbest。
步驟3對于最優(yōu)粒子,在迭代前期,若隨機數(shù)r5≤0.5,則采用隨機交叉反向?qū)W習(xí),否則采用隨機最優(yōu)解交叉反向?qū)W習(xí);迭代后期采用一般反向?qū)W習(xí)。
步驟4對其非最優(yōu)粒子采用非最優(yōu)社會學(xué)習(xí)策略,并保存更新的X 的值為Xnew1。
步驟5按照公式(15)更新a,按照公式(5)和(6)分別更新A 和C,根據(jù)公(10)更新X1、X2和X3的值,根據(jù)公式(15)更新X 的值,并保存更新的X 的值為Xnew2,合并Xnew1和Xnew2為Xnew。
步驟6更新適應(yīng)度函數(shù)值,將其排序取前50%為新的種群個體,并更新個體最優(yōu)解pbest、全局最優(yōu)解gbest、X1、X2和X3。
步驟7判斷是否滿足終止條件,若滿足則返回全局最優(yōu)適應(yīng)度值;否則返回步驟3進行循環(huán)迭代。
為了驗證本文算法的適用性、有效性和高效性,選擇CEC2017[27-28]中的29 個標準測試函數(shù),與基本PSO、基本GWO、CPPSO[5]、HPSO[6]進行實驗對比。其函數(shù)具體定義如表1所示。
表1 CEC2017測試函數(shù)
表中f1、f3 為單峰函數(shù),f4~f10 為簡單多峰函數(shù),f11~f20 為混合函數(shù),f21~f30 為復(fù)合函數(shù)。其中函數(shù)f2 由于其不穩(wěn)定性,在此將不對其進行實驗。
4.2.1 基本參數(shù)
HGPSO 算法的各項參數(shù)設(shè)置為:種群規(guī)模N 為90,低維度D 為30,最大的迭代次數(shù)Miter為3 000,高維度D 為100,最大迭代次數(shù)Miter為5 000,學(xué)習(xí)因子c1和c2均為1.496 2,數(shù)據(jù)的取值范圍為[-100,100]。在動態(tài)調(diào)整慣性權(quán)重中,文獻[28]表明,當ωmin和ωmax分別為0.4和0.9時可以加快算法的收斂速度。通過實驗證明,慣性權(quán)重在此范圍內(nèi)的實驗效果是最好。實驗環(huán)境為:Intel?Core?i5-5200U CPU@2.20 GHz,RAM 8.00 GB,Windows 10 操作系統(tǒng),MATLAB 2016a。
4.2.2 慣性權(quán)重
在PSO算法中,慣性權(quán)重的調(diào)整可以提高算法的收斂效果,在本文提出了一種引用余弦函數(shù)和貝塔分布的慣性權(quán)重,在這里與隨機慣性權(quán)重進行對比。其實驗對比如表2所示,其中HGPSO_rand算法表示采用公式(13)的改進的HGPSO算法。
表2 慣性權(quán)重對比
從表1中可以看出,在相同的測試環(huán)境下本文提出的權(quán)重更新策略的求解精度比隨機慣性權(quán)重的求解精度要高。
4.2.3 參數(shù)b1 和b2 選取
在慣性權(quán)重中融入貝塔分布,利用其隨機性調(diào)整慣性權(quán)重,使其向期望權(quán)重的方向進化,從而提高算法的搜索性能。本文根據(jù)貝塔分布的函數(shù)分布情況,設(shè)置以下幾組參數(shù),并對其進行實驗對比,其實驗結(jié)果如表3所示。從表3的數(shù)據(jù)可以看出,當貝塔分布的參數(shù)b1為1,b2為2 時,其實驗效果最好,所以在本文中,參數(shù)b1和b2的取值分別為1和2。
表3 貝塔分布參數(shù)b1、b2 對比
為了避免隨機性和偶然性對實驗結(jié)果造成的影響,此次實驗中都對每個算法在低高維30 維和中高維100維上分別獨立運行30 次,不同維度的選擇是為了增加尋優(yōu)難度,以便于驗證HGPSO 算法在處理各種復(fù)雜問題時的能力,統(tǒng)計各函數(shù)的適應(yīng)度平均值和方差,其實驗結(jié)果如表4、表5和圖2所示。其中,表4給出了HGPSO算法與其他四種對比算法在維度為30 上的實驗數(shù)據(jù),表5 給出了五種算法在維度為100 時的實驗數(shù)據(jù),在表中,加粗的部分表示同一函數(shù)上的平均適應(yīng)度最優(yōu)解和方差最優(yōu)解。圖2 是各個算法隨機選取一次實驗的收斂曲線,表現(xiàn)各算法在各函數(shù)中的收斂情況,由于篇幅有限,在這里僅選取部分具有代表性的函數(shù)的收斂曲線。
4.3.1 求解精度
從表4中的實驗數(shù)據(jù)中可以看出,HGPSO算法在單峰函數(shù)和復(fù)合函數(shù)中的收斂效果和求解精度明顯優(yōu)于四種對比算法,在部分簡單多峰函數(shù)中好于其他優(yōu)化算法。其中,HGPSO算法在單峰函數(shù)f 1 上的相比于其他算法而言,取得了一定的優(yōu)化效果,且取得了較高的穩(wěn)定性和收斂精度;在簡單多峰函數(shù)f 5、f 7 和f 8 上其收斂情況明顯優(yōu)于對比算法,在f 6 上其收斂效果與CPPSO 算法差距較小,但其穩(wěn)定性明顯優(yōu)于CPPSO 算法,而基本PSO 算法在此類函數(shù)上陷入了局部最優(yōu);針對混合函數(shù),HGPSO算法的收斂情況較差,而HPSO算法的收斂精度及穩(wěn)定性明顯優(yōu)于其他四種算法;對于復(fù)雜函數(shù),HGPSO算法在函數(shù)f 21、f 22、f 23、f 24、f 26、f 28 和f 29 上的優(yōu)化效果明顯優(yōu)于對比算法,且其穩(wěn)定性較高。
表4 算法在29個CEC_2017函數(shù)上的平均值(D=30)
從表5的實驗數(shù)據(jù)中可以看出,HGPSO算法在簡單多峰函數(shù)f 5 和f 9 上的收斂精度和穩(wěn)定性明顯優(yōu)于其對比算法,且在f 7 和f 8 上的收斂精度較高,穩(wěn)定性較好;對于混合函數(shù),HGPSO 算法的收斂性能較好,但其穩(wěn)定性較差,其中在函數(shù)f 15、f 16、f 17、f 19 上的收斂性能明顯好于其對比算法;在復(fù)雜函數(shù)f 21、f 22、f 23、f 24、f 29 和f 30 中,算法的穩(wěn)定性較好,且其收斂情況相比于其他算法有顯著提高。
從表4和表5中可以看出,HGPSO算法在各函數(shù)上均有一定程度的提高,其在簡單多峰函數(shù)和復(fù)雜函數(shù)上的收斂情況對比于其他優(yōu)化算法有顯著的優(yōu)勢。
4.3.2 收斂過程
為了直觀地觀察算法在各測試函數(shù)上的收斂情況,各算法在各函數(shù)上的收斂過程如圖2 所示。但由于篇幅有限,在此僅隨機選取具有代表性的函數(shù)實驗圖進行分析。
圖2(a)~(c)展示的是五種算法在低維情況下的收斂過程。其中,函數(shù)f 5 是簡單多峰函數(shù),從圖中可以看出HGPSO 算法不僅比其他算法的收斂性更好,在后期其搜索性能更優(yōu),因而取得了精度更高的值;函數(shù)f 16是混合函數(shù),從圖中可以看出其收斂效果較其他算法更好,且其精度更高;函數(shù)f 23 是復(fù)雜函數(shù),從圖中可以看出在函數(shù)f 23 中收斂精度與其他算法相當?shù)涞氖諗?/p>
速度更快。綜合來看,在低維情況下,HGPSO算法在簡單多峰函數(shù)和混合函數(shù)中具有更好的收斂情況和更高的求解精度。
表5 算法在29個CEC_2017函數(shù)上的平均值及方差(D=100)
圖2 幾種算法在六個函數(shù)中的收斂曲線
圖2(d)~(f)展示的是六種算法在高維情況下的收斂過程。其中,函數(shù)f 5 是簡單多峰函數(shù),從圖中可以看出前期HGPSO 算法的收斂速度較快,且其在后期其搜索性能更優(yōu),因而取得了精度更高的值;函數(shù)f 16 是混合函數(shù),從圖中可以看出再迭代前期其收斂效果與其他算法相當,但在迭代后期收斂效果較強,即其精度更高;復(fù)雜函數(shù)f 22 的收斂效果較其他函數(shù)更優(yōu),且其收斂精度較高。綜合來看,HGPSO 算法在低維和高維函的情況下,在簡單多峰函數(shù)和混合函數(shù)中具有更好的收斂情況和更高的求解精度。
為了體現(xiàn)GWO 在本文提出的算法中的搜索性能,通過跟蹤全局最優(yōu)解在算法收斂過程中的位置更新變化過程,體現(xiàn)其收斂性能。在此,選擇測試函數(shù)f 5 進行實驗,全局最優(yōu)解xbest 的位置更新過程如圖3所示。為了更好地表現(xiàn)出其位置更新過程,在此設(shè)置維度為2。實驗結(jié)果表明,當?shù)螖?shù)為300 時已經(jīng)取到最優(yōu)解,即在此設(shè)置最大迭代次數(shù)為300,其他參數(shù)與4.2節(jié)設(shè)置的參數(shù)一致。
圖3 最優(yōu)解的位置更新變化過程(f5)
從圖3中的位置分布可以看出,在最優(yōu)解附近的密度較高,即其局部搜索能力較強,所以其算法的求解精度較高。
4.3.3 算法復(fù)雜度分析
根據(jù)基本PSO算法的執(zhí)行流程可以看出,算法的時間度主要分為粒子的初始化部分和速度和位置更新部分,其時間復(fù)雜度為O(N×D)。從HGPSO 算法的流程描述中可看出,HGPSO算法主要包括:(1)初始化部分,初始化種群大小N、種群維度D、速度、位置、計算適應(yīng)度值,該部分的時間復(fù)雜度都為O(N×D);(2)迭代部分,隨機最優(yōu)交叉反向?qū)W習(xí)的時間復(fù)雜度為O(N),一般反向?qū)W習(xí)和隨機交叉反向?qū)W習(xí)的時間復(fù)雜度均為O(N×D),改進的灰狼優(yōu)化算法的時間復(fù)雜度為O(N×D),即迭代部分的時間復(fù)雜度為O(Miter(N×D))。因此,HGPSO時間復(fù)雜度為O(N×D)+O(Miter(N×D))。通過對比可以看出,相比于基本PSO算法,HGPSO算法的復(fù)雜度較高,但是其求解精度和穩(wěn)定性相比于其基本PSO算法要更好。
本文針對PSO存在的易陷入局部最優(yōu)、求解精度較低等問題,提出一種基于灰狼優(yōu)化的反向?qū)W習(xí)粒子群算法,首先通過將反向?qū)W習(xí)策略增加粒子的多樣性,擴大其搜索空間,避免其陷入局部最優(yōu);同時采用改進的灰狼優(yōu)化算法的粒子群算法,提高算法的局部搜索性能和收斂精度。利用兩種不同的搜索策略,平衡算法的搜索性能并提高其收斂精度。通過仿真實驗表明,本文改進的算法在簡單多峰函數(shù)和復(fù)雜函數(shù)中,具有較快的收斂速度和較高的尋優(yōu)精度。根據(jù)這兩類函數(shù)具有一個全局最優(yōu)解和多個局部最優(yōu)解的特點,本文采用全局搜索能力較強的反向?qū)W習(xí)搜索和局部搜索性能較強的灰狼搜索方式,合理利用所有粒子信息,平衡全局和局部搜索能力,避免其陷入局部最優(yōu),提高求解精度。未來的研究將進一步提升其搜索性能,并將其用于實際應(yīng)用的優(yōu)化。