鄭 夏,馬 良
(上海理工大學 管理學院,上海 200093)
目前的智能優(yōu)化算法已開始大量用于解決工程優(yōu)化問題,其基本思想是通過對自然界生物規(guī)律的研究來構(gòu)建仿生群算法.近年來,廣泛應用到工程和科研領(lǐng)域的仿生算法有:遺傳算法(Genetic Algorithm,GA)[1]、螞蟻算法(Ant Colony Optimization,ACO)[2]、粒子群算法(Particle Swarm Optimization,PSO)[3]、果蠅優(yōu)化算法(Fruit fly Optimization,FOA)[4]等.生物地理學優(yōu)化算法(biogeography-based optimization,BBO)是Simon[5]在2008年提出的一種新的基于生物遷移規(guī)律的全局優(yōu)化仿生算法,可以應用于一些較為復雜的工程優(yōu)化問題中.因此,對BBO算法的理論和應用研究具有重要的學術(shù)和工程價值.
BBO算法的基本思想不同于其他智能優(yōu)化算法,其信息的相互流通是由各個棲息地之間的物種的遷移來完成,信息的共享以及棲息地適應性的不斷提高均是由遷移過程中適當?shù)卣{(diào)整遷入率和遷出率、遷移策略、遷移時間間隔、遷移拓撲結(jié)構(gòu)來實現(xiàn)的,進而得到求解問題的最優(yōu)解.在進化過程中的原始種群(指棲息地)不會消失,種群適應度通過種群的遷移來提高,反過來種群的遷移率大小又由種群的適應度來決定,這是BBO算法最大的特點,因此其結(jié)構(gòu)簡單且效率較高.但是,由于受種群棲息地影響,算法在搜索過程中容易陷入局部最優(yōu),且變異算子可能會影響算法的收斂速度.由此,一些改進的BBO算法陸續(xù)被提出用于改善其算法性能.文獻[6]總結(jié)了BBO算法的理論分析、改進的BBO算法及混合算法的應用.文獻[7]通過改進的動態(tài)選擇遷出地來優(yōu)化遷入策略,增強了算法的全局搜索能力.文獻[8]為了增強算法搜索解的能力,進一步提高收斂速度和精度,提出了一種混合遷移策略.文獻[9]通過測試函數(shù)表明了所提出的的6種新的生物遷移策略有效提高了算法性能.文獻[10]為提高算法在特定問題上的性能提出一種Markov精英選擇策略.綜上所述,大多數(shù)改進BBO算法性能的提高均是通過改進遷移算子來實現(xiàn).
差分進化算法是一種從隨機群體開始進行選擇、雜交、變異操作的隨機并行直接搜索算法,在種群不斷迭代的過程中通過淘汰劣質(zhì)個體,保留適應度值較高的優(yōu)良個體來逐步逼近最優(yōu)解,該算法原理簡單,控制參數(shù)較少,是一種性能優(yōu)異,魯棒性強,收斂速度較快的全局優(yōu)化算法.近些年已有不少關(guān)于差分進化算法的研究[11-15].本文在基本BBO算法的主要流程上,首先通過基于Fibonacci數(shù)列的迭代思想消除種群內(nèi)部的重復性來提高種群精度提出了一種改進的IBBO算法,然后在此基礎上引入全局搜索能力較強的差分進化算法來改進IBBO算法中的變異算子,提出一種改進的IDEBBO算法,最后針對8個基準測試函數(shù)以及與FOA、DE、基本BBO算法、IBBO算法進行實驗比較,結(jié)果表明,IDEBBO算法的收斂效果最好.
生物種群“棲息地”[5],適宜度指數(shù)(HSI,Habitat Suitability Index)隨棲息地的不同而不同,其如何影響棲息地的種群遷移和分布是由棲息地的遷入率和遷出率來描述的:當棲息地承載的種群數(shù)量較大時HSI相對較高,但是隨著該地種群遷入的增多,所能容納的種群量趨于飽和,則遷出率隨之增高,部分種群會向鄰近棲息地遷移以增加種群個體擁有的單位資源,原棲息地的遷入率隨之下降;當棲息地承載的種群數(shù)量較少時HSI相對較低,遷入率也由于該地種群數(shù)量稀疏而增高,棲息地適宜度的向量(SIV,Suitable Index Vector)是由與HSI有關(guān)的特征變量包括:生物多樣性、地質(zhì)多樣性、氣候多樣性、植被多樣性和降雨量等因素形成的,其中,SIVs(Suitable Index Variables)是指具體的每一個適宜度變量.由此可知,HSI會隨著與其成正比的由于新種群的遷入所引起的生物多樣性的提高而提高,但若HSI仍然較低時會引起該棲息地的種群最終趨于滅絕或遷移于別的棲息地.可以看出,當棲息地的HSI較低時所引起的生物種群的動態(tài)變化比HSI較高時更加復雜.
遷移是一種概率性運算,通過分享不同遷移方案之間的特性來修改每一個方案Hi.遷移運算的思想是基于生物地理學中的遷移概念,表明了種群在不同棲息地之間的移動.方案Hi表示向棲息地遷入,其相對應的遷入率為λi.方案Hj表示從棲息地遷出,其相對應的遷出率為μj,Hi(SIVw)表示棲息地Hi的第w個SIV.由此可知,一個棲息地方案被選為遷入或遷出的概率依賴于它的遷入率λi或遷出率μj.因此遷移過程可以表示為:
Hi(SIVw)←Hj(SIVw)
(1)
遷入率λi,遷出率μj和一個棲息地種群之間的平衡關(guān)系如圖1[10]所示.正如所提到的,較高HSI棲息地方案的特點是傾向于遷出到較低HSI棲息地方案.通過種群的漸增,遷入率減小,遷出率增大的現(xiàn)象.圖中E和I分別代表遷出率和遷入率的最大值,Smax表示一個棲息地所能承載的種群最大值,S0表示遷入率和遷出率相等的平衡點.雖然該圖中遷入和遷出為線性表示,需要時它們也可以用其他曲線來表示.應注意的是,E和I通常設值為1.公式(1)表明一個遷移策略的特征或SIV和另一個遷移策略的特征或SIV之間是如何在遷移過程中進行調(diào)整的.策略的一個SIV表示其一個特征并且被當做一個搜索變量使用.
圖1 BBO算法中種群遷移模型Fig.1 Species migration model in the BBO algorithm
因此,一組所有可能的適宜度變量SIVs被看作一個遷移策略的搜索空間.
為每一個遷移方案Hj計算完適宜度指數(shù)HSI后,可用公式(2)和公式(3)分別來評估遷入率λi和遷出率μj,即這兩個比率是該遷移方案的適應度函數(shù)或HSI.由于根據(jù)生物地理學知識,一個有較高HSI的遷移方案中的SIVs趨向于向較低HSI遷移方案中遷移,這是因為,較高HSI的遷移方案中有較高的遷出率μj,較低的遷入率λi,較低HSI的遷移方案中有較高的遷入率λi,較低的遷出率μj.
(2)
(3)
公式(2)和公式(3)中,ki代表根據(jù)它們的HSIs對所有棲息地進行分類后的第i個棲息地的等級,n代表種群的規(guī)模.由此可知,由于更多的HSI代表了更好的遷移方案,更多的ki代表了這個更好的遷移方案.因此,第一個遷移方案是最壞的,第n個方案是最好的.另一個需要計算的參數(shù)是在棲息地中存在S個種群的可能性,用Ps來表示.由于對時間t到t+Δt之間的變化過程進行建模,以下三個狀態(tài)中會有一個發(fā)生,因此該參數(shù)由公式(4)得到:
Ps(t+Δt)=Ps(t)(1-λsΔt-μsΔt)+
Ps-1λs-1Δt+Ps+1μs+1Δt
(4)
1)在時間t有S個種群,且在時間t到t+Δt之間無種群再遷入或遷出.
2)在時間t有S-1個種群,且在時間t到t+Δt之間只有一個種群的遷入.
3)在時間t有S+1個種群,且在時間t到t+Δt之間只有一個種群的遷出.
(5)
(6)
由上可知,遷移操作已完成.
BBO算法中,突變是一種概率運算符,它用于根據(jù)其存在的先驗概率Pi來修改遷移方案中一個或多個隨機選擇的SIV,該算法中,根據(jù)求解概率Pi計算出突變概率mi如公式(7)所示,因此,突變概率和求解概率是成比例的.
(7)
其中,mmax是突變率的最大值,Pi為棲息地包含i個種群的概率,Pmax=max(Pk).突變操作可以由公式(8)表示.
Hi(SIVw)←lbw+rand*(ubw-lbw)
(8)
其中,Hi表示突變棲息地,ubw和lbw分別是指該棲息地第w個SIV的上、下邊界值.
基本BBO算法在優(yōu)化高維復雜問題過程中,若最優(yōu)個體陷入了局部最優(yōu)解,整個種群會因此進入早熟收斂,從而降低了優(yōu)化效率和求解精度.因此可首先通過Fibonacci數(shù)列的迭代消除種群內(nèi)部重復性個體來提高求解精度,從而對BBO算法進行改進,得到IBBO算法,然后再引入全局搜索能力較強的差分進化算法來改進IBBO算法中的變異算子,得到一種改進型的IDEBBO算法.
3.1.1 消除重復性設計思想
Fibonacci數(shù)列的遞歸思想中產(chǎn)生的大量重復計算,重復計算會消耗算法執(zhí)行的有效時間,如求解F(n),必須先計算F(n-1)和F(n-2),計算F(n-1)和F(n-2),又必須先計算F(n-3)和F(n-4)…以此類推,直至必須先計算F(1)和F(0),然后逆推得到F(n-1)和F(n-2)的結(jié)果,從而得到F(n)要計算很多重復的值,在時間上造成了很大的浪費算法的時間復雜度隨著N的增大呈現(xiàn)指數(shù)增長,時間的復雜度為O(2^n),即2的n次方.重復計算會導致種群內(nèi)部出現(xiàn)相同的SIV個體,即冗余的相同值,占用有效的存儲空間,導致算法空間復雜度增大.
Fibonacci數(shù)列的迭代思想中算法的時間復雜度與n成正比,從(n>2)開始計算,用變量的舊值遞推新值,如F(n)=F(n-1)+F(n-2),F(n-1)=F(n-2),F(n-2)=F(n),則算法的時間復雜度為O(n),是不斷地用變量的舊值遞推新值的過程,從而達到消除種群內(nèi)部重復性SIV個體的目的,提高了算法求解精度.因此引入Fibonacci數(shù)列的迭代思想可以減小算法的時間復雜度和空間復雜度.
3.1.2 IBBO設計核心操作
Step 1.遷移操作
令N表示種群規(guī)模,d表示維度的數(shù)量,rand表示0到1之間均勻分布的隨機實數(shù),若rand<λi,根據(jù)遷出率用輪盤賭的方式選擇一個遷出棲息地Hj,執(zhí)行公式(1)來更新Hi(SIVw).
Step 2.突變操作
令N表示種群規(guī)模,d表示維度的數(shù)量,rand表示0到1之間均勻分布的隨機實數(shù),執(zhí)行公式(7)計算變異率mi,若rand Step 3.消除重復性個體操作 若將所有遷入棲息地的SIVs根據(jù)HSI排序的序列記作s1,將所有遷出棲息地的SIVs根據(jù)HSI排序的序列記作s2.則最后為消除種群內(nèi)部重復性個體,需對isequal(s1,s2)進行判斷,若滿足則重新賦值后的遷出棲息地種群表示為: w1=ceil(s2*rand) (9) Hj(SIVw1)=(1-rand)*min(s1)+rand*max(s2) (10) min(s1)=max(s2) (11) max(s2)=Hj(SIVw1) (12) 式中w1指棲息地中第w1個SIV.該賦值在循環(huán)過程中,充分利用了不斷用舊值遞推新值得過程,使得算法效率增高.對相同的種群個體,根據(jù)Fibonacci數(shù)列的迭代思想重新賦值,執(zhí)行公式(9)~公式(12),從而消除重復SIV個體,提高求解精度. 3.1.3 IBBO算法偽碼 如表1所示為IBBO偽代碼. 表1 IBBO偽代碼 算法1.IBBO算法Steps:1.Parameterseeting:E=1,I=1,mmax=1,Pop.size=50,Num.itera-tion=2002.Initialization:Generatinghabitatsassizeaspopulationsize3.Populationevaluation:evaluationhabitats4.SortthepopulationaccordingtotheHSIofthehabitatsincreasingly5.fori=1:Num.iteration6. Calculateλi,μi,Pi&miaccordingtohabitat′srank7. forj=1:Pop.size8. GenerateRand∈[0,1]9. IfRand<=λi10. Hi(SIV)=ChooseahabitatrandomlythroughaRoulettgewheelofμ(μ1,μ2,…,μn)11. ExecutemigrationoperatorHi(SIVw)←Hj(SIVw)12. Else13. Thehabitatskeepsunchanged14. Endif15. GenerateRand∈[0,1]16. IfRand<=mi17. Executemutationoperator18. RecodethesamepopulationbasedontheiterativethroughtofFibonaccisequence18. Else19. Thehabitatkeepsunchanged20. Endif21. Endfor22.Calculateλi,μi,Pi&miaccordingtohabitat′srank23.Endfor 3.2.1 差分變異算子設計思想 差分進化DE是一種魯棒性較強的進化算法[12],通過使用當前種群的距離和方向信息來指引進一步搜索,其差分操作提供了較強的全局搜索能力.因此根據(jù)該思想改進IBBO算法的變異算子為更高效的差分變異操作.如公式(13)所示: Hi(SIVw)←Hi(SIVw)+δ*(Hbest(SIVw)- Hi(SIVw)+Hx(SIVw)-Hy(SIVw)) (13) 其中,Hx,Hy(x,y∈[1,n]且x≠y≠i)表示隨機選擇的兩個棲息地.權(quán)重δ為0和1之間均勻分布的隨機實數(shù),Hbest為當前迭代中HSI最好的棲息地.由上式可知,突變操作棲息地Hi的SIV受其自身和其它三個不同棲息地影響.通過Hbest與Hi之間和Hx與Hy之間的差分運算,得到兩個差分值,將這兩個差分值乘權(quán)重系數(shù)δ,并將獲得權(quán)重的兩個差分值加到Hi(SIVw),因此Hi(SIVw)可以接受更加多樣的信息來增加種群多樣性.另外,由于多樣化信息的一部分來自于Hbest,因此更加有利于Hi在搜索空間中向Hbest移動. 與BBO算法中原始的突變操作對比發(fā)現(xiàn),改進后的差分變異操作提高了全局搜索能力,并且可以在搜索空間中引導突變操作向當前最好的棲息地移動,一定程度上預v 防了較為優(yōu)的遷移方案被破壞的情況. 3.2.2 IDEBBO算法偽碼 如表2所示為IDEBBO算法之差分變異操作. 表2 IDEBBO算法之差分變異操作 算法2.IDEBBO算法之差分變異操作Steps:1.GeneratetheinitialpopulationPop.size=50,Num.iteration=2002.Initialization:Generatinghabitatsassizeaspopulationsize3.Populationevaluation:evaluationhabitats4.SortthepopulationaccordingtotheHSIofthehabitatsincreasingly5.fori=1:Num.iteration6. Calculateλi,μi,Pi&miaccordingtohabitat′srank7. PerformEq.(7)tocalculatethemutationratemi8. forw=1toddo9. ifrand 上述算法在Matlab2016b中進行編程并作計算實驗,采用8個經(jīng)典的測試函數(shù)進行仿真測試.通過與FOA、DE、基本BBO算法、IBBO算法的對比驗證,表明本文改進算法IDEBBO的高效性.由于智能優(yōu)化算法的思想是模擬生物進化過程且具有一定的隨機性.因此實驗分別運行算法各20次來降低隨機因素干擾,取其平均值來比較算法尋優(yōu)精度及算法效率. 由于暫無嚴格標準的理論依據(jù)來規(guī)范BBO算法中涉及的參數(shù)設置,且考慮到對比的公平性,對比算法均須采用一致的參數(shù)設置,因此,本文經(jīng)反復多次實驗所得經(jīng)驗值來設置算法的參數(shù)如下:棲息地的最大遷入率I和最大遷出率E均設置為1,棲息地SIVs的最小遷入率和最大遷入率為0和1,最大遷移率pmodify設置為1,精英個數(shù)為3,最大變異率C為0.2,差分因子δ為0.6. 8個標準測試函數(shù)的表達式、搜索空間及理論最優(yōu)值如表3所示(其中,x′表示該函數(shù)在搜索空間里取得最優(yōu)值的位置不唯一): 表中函數(shù)f1是多個余弦波調(diào)制成的多峰函數(shù),函數(shù)f2是單極值單峰函數(shù),函數(shù)f3和f5均為搜索空間里分布大量局部極值且較容易陷入局部最優(yōu)的多峰多極值函數(shù),f4函數(shù)是取值區(qū)間趨于平坦且較難搜索到全局最優(yōu)值的病態(tài)單峰二次函數(shù),f6函數(shù)是具有強烈的震蕩性且較難找到全局最優(yōu)值的復雜二維函數(shù),f7函數(shù)在其搜索區(qū)間里有若干局部極小值和3個全局最優(yōu)值,f8是為使優(yōu)化很難找到最優(yōu)值而特意設計了許多個虛假局部最低值的函數(shù).綜上,8個函數(shù)均為適合檢驗算法全局搜索能力和跳出局部最優(yōu)避免早熟之收斂能力的復雜非線性經(jīng)典測試函數(shù). 表3 標準測試函數(shù) 函數(shù)名函數(shù)表達式維度探索空間理論最優(yōu)值Ackleyf1(x)=20+e-20exp(-151n∑ni=1x2i)-exp(1n∑ni=1cos(2πxi))30[-30,30]f1(0,…,0)=0Spheref2(x)=∑ni=1x2i30[-100,100]f2(0,…,0)=0Griewankf3(x)=14000∑Di=1(x2i)-ΠDi=1cos(xii)+130[-600,600]f3(0,…,0)=0Rosenbrockf4(x)=∑D-1i=1[100(xi+1-x2i)2+(xi-1)2]30[-100,100]f4(0,…,0)=0Rastriginf5(x)=∑ni=1(x2i-10cos(2πxi)+10)30[-5.12,5.12]f5(0,…,0)=0Schafferf6(x)=sin2x21+x22-0.5[1+0.001(x21+x22)]2-0.52[-100,100]f6(0,0)=-1Braninf7(x)=(x2-54π2x21+5πx1-6)2+10(1-18π)cos(x1)+1030[-5,15]f7(x′)=0.3979Schwefelf8(x)=418.9829×D-∑Di=1xisin(|xi|1/2)30[-500,500]f8(420.96,…,490.96)=0 分別用FOA、DE、基本BBO算法、IBBO算法和IDEBBO算法對上述選取的8個標準測試函數(shù)進行優(yōu)化比較,且各運行5個算法20次來降低隨機因素干擾,所得到的最優(yōu)值、最差值、均值、標準差比較如表4所示. 由表4可知,IDEBBO算法對8個標準函數(shù)的測試結(jié)果包括最優(yōu)值、最差值、均值、標準差均比較明顯的優(yōu)于IBBO等其它算法. 表4 測試函數(shù)結(jié)果對比 Table 4 Result comparison of test functions 函數(shù)最優(yōu)值最差值均值標準差FOADEBBOIBBOIDEBBOFOADEBBOIBBOIDEBBOFOADEBBOIBBOIDEBBOFOADEBBOIBBOIDEBBOF12.8473E+002.0032E+006.0792E+001.9292E+006.2900E-022.6472E+012.2827E+012.0318E+012.0282E+012.0333E+019.6620E+008.3382E+009.1308E+007.4331E+005.1128E+005.9815E+005.4149E+003.2467E+004.8016E+005.5378E+00F22.6947E+022.3637E+002.2606E+021.5329E+025.0610E-018.4237E+046.5807E+046.2431E+045.0575E+044.4461E+045.2041E+034.0372E+033.2533E+032.9291E+032.4385E+031.3728E+041.0500E+048.2591E+037.5396E+037.7741E+03F35.5384E+005.0254E+005.0292E+007.5940E-011.2200E-018.0047E+027.0037E+026.93R8E+026.0152E+027.3135E+021.0563E+026.2950E+013.2960E+012.8885E+013.9325E+011.8708E+021.4469E+029.0917E+018.6226E+011.1865E+02F43.2954E+022.0043E+021.1758E+029.9397E+002.3713E+001.0289E+049.0034E+038.0950E+031.7537E+047.8124E+031.6438E+031.0989E+032.6122E+021.6212E+024.8448E+012.7098E+032.2734E+038.2594E+021.3675E+035.6025E+02F53.1656E+012.9489E+013.8788E+012.853RE+011.3253E+015.1347E+025.0910E+025.0919E+025.1076E+024.9547E+029.1816E+018.2549E+017.8055E+017.89903+017.2417E+019.5803E+01P8.8272E+017.7635E+018.4454E+011.0203E+02F63.7400E-022.4300E-022.9000E-026.2000E-032.5000E-034.1880E-013.9480E-014.0770E-012.1950E-013.1590E-011.4140E-017.2400E-026.0800E-025.4100E-027.9000E-031.0580E-015.6700E-023.9300E-024.8000E-023.4900E-02F74.5320E-013.9800E-013.9800E-013.9790E-013.8760E-013.0373E+002.8434E+006.4820E-012.0417E+002.9884E+005.2830E-014.5790E-014.5370E-014.2660E-014.2810E-013.1430E-012.9590E-015.9600E-022.0010E-012.5970E-01F8-8.3048E+01-8.3613E+01-8.3561E+01-8.3790E+01-1.0455E+02-6.5037E+01-8.0047E+01-6.7020E+01-8.0297E+01-8.0655E+01-8.2456E+01-8.3204E+01-8.3335E+01-8.3620E+01-8.6598E+011.9026E+016.8435E+001.6569E+012.7817E+007.2788E+01 4.3.1 函數(shù)收斂曲線對比 由于篇幅限制,以下僅列出具代表性的函數(shù)F1、F5、F6、F7、F8分別被三種算法優(yōu)化所得的迭代曲線對比如圖2至圖6所示. 圖2 F1函數(shù)收斂對比曲線圖Fig.2 Convergence curve of F1 函數(shù)F1和F3均為搜索區(qū)間里分布有大量局部極值的高維多峰函數(shù),如圖2所示,IDEBBO算法尋優(yōu)精度均較為明顯地優(yōu)于IBBO等其他四種算法.函數(shù)F2是尋優(yōu)難度較小的單峰函數(shù),改進后的IDEBBO在迭代接近50代時找到優(yōu)于其他算法的最優(yōu)值. 圖3 F5函數(shù)收斂對比曲線圖Fig.3 Convergence curve of F5 函數(shù)F4由于本身是一個病態(tài)二次函數(shù),其仿真圖形中的全局最優(yōu)值位置在一個類似狹長的甬道,容易使算法在尋優(yōu)過程中陷入局部最優(yōu),IDEBBO算法會跳出停s滯過程的局部最優(yōu)且優(yōu)化精度較另外四者高.如圖3所示,函數(shù)F5是一種具有較多局部峰值的多峰函數(shù),可用于驗證算法跳出局部最優(yōu)的能力,IDEBBO算法設計時融合了全局和局部的搜索能力,增強的種群多樣性有助于算法跳出迭代初期的局部最優(yōu),進而搜索到全局最優(yōu).如圖4、圖5所示,函數(shù)F6、F7由于維度較低,五種算法均能搜索到最優(yōu)值,對F6表現(xiàn)出的尋優(yōu)性FOA較低.另外四個較優(yōu).對F7表現(xiàn)出的尋優(yōu)性大致相似,IDEBBO稍優(yōu)于另外四個. 圖4 F6函數(shù)收斂對比曲線圖Fig.4 Convergence curve of F6 圖5 F7函數(shù)收斂對比曲線圖Fig.5 Convergence curve of F7 如圖6所示,函數(shù)F8的收斂曲線表明了IDEBBO優(yōu)化所得最優(yōu)值最接近最優(yōu)解. 4.3.2 算法效率對比 如圖7所示為三種算法效率對比,結(jié)合表4及收斂曲線圖可知,由于IDEBBO算法中加入基于Fibonacci數(shù)列的迭代思想和基于差分思想改進的變異算子,一定程度上影響算法效率,但IDEBBO算法的尋優(yōu)精度整體上均高于其它四種算法,符合算法改進的宗旨,即保證算法效率不被嚴重影響的前提下,提高算法的尋優(yōu)精度. 圖6 F8函數(shù)收斂對比曲線圖Fig.6 Convergence curve of F8 圖7 算法效率對比Fig.7 Efficiency comparison 針對基本BBO算法在求解高維復雜問題時求解精度低,收斂速度慢且易陷入局部極值等問題,本文提出了一種改進的IDEBBO算法,首先基于Fibonacci數(shù)列的迭代思想消除種群內(nèi)部的重復性來提高種群精度,設計一種改進的IBBO算法,然后在此基礎上引入全局搜索能力較強的差分進化算法中的差分進化思想來改進IDBBO算法中的變異算子,產(chǎn)生新型差分進化變異算子,給出改進的IDEDBBO算法.最后通過對8個經(jīng)典測試函數(shù)的仿真測試對比,實驗結(jié)果表明了IDEBBO算法在對函數(shù)進行優(yōu)化時跳出局部極值的尋優(yōu)性能、收斂能力等方面均顯著優(yōu)于BBO等其它四種算法,可用于解決實際工程應用中多目標或非線性等一系列復雜函數(shù)的優(yōu)化問題.
Table 1 Pseudocode for the IBBO algorithm3.2 IDEBBO算法設計
Table 2 Differential mutation operation of IDEBBO4 實驗與仿真
4.1 實驗參數(shù)設置
4.2 標準測試函數(shù)
Table 3 Standard test function4.3 實驗結(jié)果分析
5 結(jié)束語