段艷明,肖輝輝,譚黔林,趙翠芹
(河池學(xué)院 大數(shù)據(jù)與計(jì)算機(jī)學(xué)院,河池 546300)
學(xué)者Yang 受顯花植物繁殖機(jī)理的啟發(fā),提出了一種名為花授粉算法(flower pollination algorithm,FPA)[1]的智能優(yōu)化算法.該算法仿生原理簡單、參數(shù)較少、易調(diào)節(jié),運(yùn)用轉(zhuǎn)換概率參數(shù)p好地解決了探測和開采之間的平衡問題.當(dāng)前,FPA 算法主要在函數(shù)(包括無約束函數(shù)和約束函數(shù))優(yōu)化、能源、通信等應(yīng)用領(lǐng)域得到了廣泛運(yùn)用,其具體應(yīng)用如下:
(1)函數(shù)優(yōu)化領(lǐng)域
函數(shù)優(yōu)化是屬于連續(xù)優(yōu)化問題,可分為無約束函數(shù)優(yōu)化和帶約束的函數(shù)優(yōu)化.郭慶等[2]分析了FPA 算法在求解多模態(tài)優(yōu)化問題時(shí)存在的不足,分別利用模擬退火和單純形法思想對(duì)FPA 算法的全局搜索和局部搜索進(jìn)行了改進(jìn)了,設(shè)計(jì)出一種新的FPA 算法框架;最后,利用改進(jìn)算法對(duì)多種類型的測試函數(shù)進(jìn)行求解,并與對(duì)比算法進(jìn)行了對(duì)比分析,實(shí)驗(yàn)結(jié)果說明改進(jìn)算法是一種具有良好競爭力的新算法.
(2)能源領(lǐng)域
能源是一個(gè)國家的經(jīng)濟(jì)命脈,如何提高能源的利用率是一個(gè)熱點(diǎn)的研究話題.為此,眾多學(xué)者運(yùn)用元啟發(fā)式算法來解決該問題,并取得不錯(cuò)的效果.如用FPA算法對(duì)能量流管理[3]、能源交易市場單價(jià)預(yù)測[4]、電力調(diào)度[5]等問題進(jìn)行優(yōu)化求解,并獲得較好的結(jié)果.
(3)通信領(lǐng)域
Rajeswari 等[6]把鮑威爾法引入到花授粉算法中,并用改進(jìn)的花授粉算法解決傳感網(wǎng)最小能量傳播問題,實(shí)驗(yàn)結(jié)果表明新算法與對(duì)比算法相比,更適合解決此類優(yōu)化問題.
雖然該算法在眾多領(lǐng)域中得到了廣泛應(yīng)用,但該算法與其他智能算法一樣,也存在一些不足,如算法演化后期計(jì)算速度慢、容易早熟,尋優(yōu)精度不高,魯棒性差等缺陷,導(dǎo)致其在解決大量復(fù)雜優(yōu)化問題時(shí)獲得的結(jié)果不盡人意.為了克服這些算法存在上述的不足,提高其收斂能力,當(dāng)前眾多學(xué)者依據(jù)各種智能算法的特征和優(yōu)缺點(diǎn),運(yùn)用了諸多的策略和方法對(duì)其進(jìn)行了改進(jìn),構(gòu)建了許多優(yōu)化能力更強(qiáng)的新算法模型,使得大量的工程優(yōu)化問題得到更好的解決.
Zhou 等[7]在FPA 算法的勘探部分融入精英反向?qū)W習(xí)策略的組合探測搜索機(jī)制,以增加個(gè)體之間的差異性,擴(kuò)展算法的探索領(lǐng)域; 在算法的開發(fā)部分加入貪婪搜索機(jī)制構(gòu)造新的局部搜索策略,以提高算法的開采能力; 同時(shí)對(duì)參數(shù)p運(yùn)用了動(dòng)態(tài)調(diào)整策略.實(shí)驗(yàn)結(jié)果表明改進(jìn)算法的尋優(yōu)能力得到了一定提升.一方面,該算法利用精英所具有的豐富信息,可有效提升算法的性能; 另一方面,在該算法演化過程中,由于精英起著重要作用,將引導(dǎo)種群快速向最優(yōu)解靠近,因此,若精英一旦陷入局部極值,則導(dǎo)致整個(gè)種群停滯進(jìn)化,易造成算法陷入“早熟”問題.
Abdel-Raouf 等[8]把particle swarm optimization(PSO)算法融合到FPA 算法中,即把PSO 算法優(yōu)化后的種群作為FPA 算法的初始解,同時(shí)通過混沌映射對(duì)算法的參數(shù)進(jìn)行調(diào)節(jié),這使算法解的質(zhì)量得到了改善,但該算法由于缺乏增加種群多樣性機(jī)制,使其在演化中種群的多樣性不能得到較好的保持,易陷入局部最優(yōu).Lenin 等[9]先對(duì)和聲算法增加混沌策略進(jìn)行改進(jìn),再把其優(yōu)化后的種群作為花授粉算法的初始解,提高算法初始解的質(zhì)量,提升了算法的尋優(yōu)性能,但其同樣存在文獻(xiàn)[8]的不足.
Tawhid 等[10]利用鯨魚優(yōu)化算法的搜索獵物策略和攻擊獵物方法替換了FPA 算法的全局搜索策略,構(gòu)建了一種新的混合算法whale optimization algorithm and flower pollination algorithm (WOFPA),其性能與對(duì)比算法相比,得到了一定程度的提升,但該算法增加了較多的參數(shù),降低了算法的靈活性,同時(shí)新算法只在低維上驗(yàn)證了其性能的優(yōu)越性,沒有在高維得到驗(yàn)證,使其缺少了說服力.
Draa[11]對(duì)FPA 算法進(jìn)行了定性、定量分析及其改進(jìn).首先,從改進(jìn)的FPA 算法文獻(xiàn)中所利用的測試函數(shù)、實(shí)驗(yàn)驗(yàn)證方式及傳統(tǒng)FPA 算法參數(shù)值的設(shè)置3 個(gè)方面進(jìn)行了詳細(xì)的定性分析; 其次,依據(jù)定性分析的結(jié)果,作者對(duì)參數(shù)p的值設(shè)置進(jìn)行了較全面的實(shí)驗(yàn)對(duì)比分析,分析結(jié)果表明當(dāng)p的值取0.2 時(shí),該算法的尋優(yōu)能力獲得最佳; 最后,根據(jù)上述的定性分析和定量分析實(shí)驗(yàn),作者把反向?qū)W習(xí)方法引入到該算法中以達(dá)到提高其尋優(yōu)能力,優(yōu)化結(jié)果說明該改進(jìn)策略是行之有效的.但是,反向?qū)W習(xí)機(jī)制對(duì)算法的改善還是很有限的,其原因在于學(xué)習(xí)機(jī)制過于簡單,不能很好地提取和利用較劣粒子所隱含的有益信息[12]; 同時(shí)在進(jìn)化后期,大部分反向點(diǎn)及原點(diǎn)都集中到小范圍區(qū)域,使反向點(diǎn)的適應(yīng)度值并不比原值較優(yōu),所以在演化后期試圖通過反向的方式很難跳出當(dāng)前的極值區(qū)域[13],其依然不能解決算法陷入局部最優(yōu)、收斂精度低的問題.另外,在該算法中是以一定概率采用反向?qū)W習(xí)策略,擴(kuò)大了算法的隨機(jī)性,從而減緩了其收斂速度.
綜上所述,目前的一些改進(jìn)方法對(duì)FPA 算法的優(yōu)化能力起到了一定的提升作用,但這些方法沒有對(duì)種群個(gè)體之間的信息進(jìn)行有效利用,造成種群的多樣性在演化過程中不能較好地保持,使算法易“早熟”,影響了其全局優(yōu)化能力; 同時(shí),當(dāng)前改進(jìn)的FPA 算法在對(duì)多模態(tài)等復(fù)雜問題進(jìn)行求解時(shí),其求解精度、穩(wěn)定性及求解速度等方面還有較大的提升空間,且有些改進(jìn)措施增加了算法的時(shí)間復(fù)雜度,降低了算法的靈活性,另外一些改進(jìn)策略對(duì)基本的FPA 算法原有的仿生原理做了相應(yīng)的修改.
為了解決在提高算法的收斂速度、解的質(zhì)量的同時(shí)防止算法“早熟”的問題,本文構(gòu)建了一種把改進(jìn)的教與學(xué)優(yōu)化算法[14]中的教與學(xué)思想及動(dòng)態(tài)高斯變異融入到花授粉算法中的改進(jìn)算法(teaching learning Gauss flower pollination algorithm,TLGFPA).
TLGFPA 算法的基本思想: 首先,根據(jù)總迭代次數(shù)與當(dāng)前迭代次數(shù)的關(guān)系對(duì)教與學(xué)優(yōu)化算法中的教學(xué)因子進(jìn)行改進(jìn),并把改進(jìn)的教機(jī)制作用于花授粉算法中的全局尋優(yōu)部分,充分利用最優(yōu)個(gè)體(教師)與其他個(gè)體(學(xué)生或?qū)W員)間的促進(jìn)作用來提高算法的收斂速度;其次,把教與學(xué)優(yōu)化算法中的學(xué)機(jī)制作用于花授粉算法中的局部尋優(yōu)部分,通過個(gè)體(學(xué)生或?qū)W員)之間的相互學(xué)習(xí)來保持種群的多樣性,提高其求解精度; 最后,在教與學(xué)優(yōu)化算法的教階段的進(jìn)化過程中,由于超級(jí)個(gè)體(教師)不斷吸引其他普通個(gè)體(學(xué)生),使得種群個(gè)體之間的差異性不能到較好的保持,從而易造成算法“早熟”,因此,在進(jìn)化過程中需要判斷算法是否陷入“早熟”進(jìn)行處理,若“早熟”,則利用動(dòng)態(tài)高斯變異策略對(duì)種群的中間個(gè)體進(jìn)行擾動(dòng),增加種群個(gè)體之間的差異性,防止算法過早收斂.
首先,通過對(duì)16 個(gè)經(jīng)典的優(yōu)化問題進(jìn)行求解,求解結(jié)果顯示新算法與FPA 算法相比,其優(yōu)化能力得到了較顯著提升; 其次,選擇了3 種FPA 改進(jìn)算法進(jìn)行了對(duì)比實(shí)驗(yàn),對(duì)比分析結(jié)果顯示新算法的性能總體上要好于對(duì)比算法,顯示出較好的競爭力.最后,運(yùn)用TLGFPA 算法對(duì)伸縮繩應(yīng)用問題進(jìn)行求解,同樣也得到了較好的優(yōu)化結(jié)果,進(jìn)一步驗(yàn)證了TLGFPA 算法的有效性和可行性.
本文的創(chuàng)新工作主要包括:
(1)為了解決教學(xué)機(jī)制容易導(dǎo)致教與學(xué)算法“早熟”問題,本文對(duì)該算法的教學(xué)因子進(jìn)行改進(jìn),使其隨著迭代的進(jìn)行而動(dòng)態(tài)調(diào)整,能夠較好地解決其的勘探和開采能力平衡問題.
(2)把改進(jìn)的教機(jī)制作用于花授粉算法中的全局尋優(yōu)部分,充分運(yùn)用最優(yōu)個(gè)體(教師)與其他個(gè)體(學(xué)生或?qū)W員)間的促進(jìn)作用來提升算法的搜索速度; 同時(shí)把教與學(xué)優(yōu)化算法中的學(xué)機(jī)制作用于花授粉算法中的局部尋優(yōu)部分,通過種群個(gè)體之間的相互交流學(xué)習(xí)來維持種群的多樣性,改進(jìn)其求解精度.
(3)在算法中融入了動(dòng)態(tài)高斯變異策略來提高種群個(gè)體之間的差異性,防止算法“早熟”而導(dǎo)致整個(gè)種群進(jìn)化陷入停滯狀態(tài).
本文第2 節(jié)對(duì)FPA 算法進(jìn)行了簡單描述; 第3 節(jié)對(duì)教與學(xué)優(yōu)化算法、改進(jìn)的教與學(xué)優(yōu)化算法、動(dòng)態(tài)高斯變異機(jī)制、TLGFPA 算法以及該算法的時(shí)間復(fù)雜度進(jìn)行了闡述; 第4 節(jié)進(jìn)行實(shí)驗(yàn)評(píng)測; 第5 節(jié)對(duì)本文的研究工作進(jìn)行歸納,并對(duì)今后的研究方向進(jìn)行展望.
該算法的仿生原理是對(duì)花朵植物繁殖過程(異花和自花授粉)的模擬,花朵植物的異花授粉過程是通過昆蟲等方式來實(shí)現(xiàn)授粉繁殖,具有萊維飛行的特征,FPA 算法的全局搜索策略模擬了該過程,這使其具有良好的全局優(yōu)化能力,花朵植物的自花授粉是通過同株上的花朵自行傳粉繁殖,傳播距離非常小,這個(gè)過程對(duì)應(yīng)于FPA 算法的局部搜索過程.同時(shí),該算法運(yùn)用參數(shù)p來解決其的勘探和開采能力平衡問題,這使其具有較好的全局尋優(yōu)能力.為了利用該算法更好地解決一系列實(shí)踐中復(fù)雜的優(yōu)化問題,還必須對(duì)其設(shè)定4 條約定,其詳情見文獻(xiàn)[1].依據(jù)上述思路,學(xué)者Yang[1]利用以下公式對(duì)其實(shí)現(xiàn)了數(shù)學(xué)模型化.
FPA 算法的探索機(jī)制(全局搜索策略)是采用式(1)進(jìn)行模型化:
其中,,表示算法進(jìn)化中第t、t+1 代對(duì)應(yīng)的解,g*表示種群中的最優(yōu)個(gè)體,γ是對(duì)步長進(jìn)行控制的伸縮因子,L(λ)表示種群個(gè)體的Lévy 步長,其值運(yùn)用式(2)計(jì)算:
其中,λ取值1.5,G(λ)表示Gamma 函數(shù),s的值通過式(3)計(jì)算得到:
其中,μ~N(0,σ2),V~N(0,1),σ2的值采用式(4)計(jì)算:
FPA 算法的種群個(gè)體采用式(5)實(shí)現(xiàn)開發(fā)搜索(局部搜索):
其中,ε∈[0,1]上產(chǎn)生的隨機(jī)數(shù),xtj,xtk是隨機(jī)選擇的不同于xti的兩個(gè)不同的種群個(gè)體.
受教與學(xué)的啟發(fā),Rao 等[14]設(shè)計(jì)了一種名為教與學(xué)優(yōu)化算法(TLBO),該算法模擬了教師的教學(xué)過程及學(xué)生之間的相互學(xué)習(xí)和交流的過程.該算法的種群個(gè)體分為教師和學(xué)生兩類,教師是超級(jí)個(gè)體,學(xué)生是普通個(gè)體,其所學(xué)科目數(shù)對(duì)應(yīng)問題的維數(shù).TLBO 算法把進(jìn)化過程分為“教學(xué)”與“學(xué)習(xí)”兩個(gè)時(shí)段,在“教學(xué)時(shí)段”是普通個(gè)體(學(xué)生)向最優(yōu)個(gè)體(教師)不斷學(xué)習(xí)的過程,從而達(dá)到提升學(xué)生的成績,同時(shí)結(jié)合了種群均值的作用,能有效地融合最優(yōu)個(gè)體與普通個(gè)體的相互促進(jìn)作用; 在“學(xué)習(xí)時(shí)段”,隨機(jī)選取兩個(gè)種群個(gè)體,并比較其優(yōu)劣,劣者向優(yōu)者學(xué)習(xí).
教與學(xué)優(yōu)化算法的具體實(shí)施過程如下.
Step 1.對(duì)算法種群(班級(jí))個(gè)體的位置利用式(6)進(jìn)行隨機(jī)初始化:
其中,和分別為解空間自變量xi的上界和下界,D為解空間的維數(shù),rand(0,1)∈(0,1)之間的任意數(shù).
Step 2.教學(xué)時(shí)段.每個(gè)普通個(gè)體(學(xué)生)通過最優(yōu)個(gè)體(教師)和學(xué)生平均值之間的差異來向教師(最優(yōu)個(gè)體)學(xué)習(xí),首先求解當(dāng)前種群每一維的平均值xmean,再利用式(7)計(jì)算教師與學(xué)生的差異,最后利用式(8)實(shí)現(xiàn)位置更新,即完成教的過程:
其中,xteacher是種群中的超級(jí)個(gè)體,s=rand(0,1)為學(xué)習(xí)步長,tf=round(1+rand(0,1))為教學(xué)因子.
Step 3.對(duì)普通個(gè)體(學(xué)生)位置進(jìn)行更新.每個(gè)學(xué)生依據(jù)學(xué)習(xí)的效果決定對(duì)當(dāng)前的位置是否更新,若優(yōu)對(duì)其當(dāng)前位置進(jìn)行更新,否則保留其原有位置.
Step 4.學(xué)習(xí)時(shí)段.對(duì)種群中每個(gè)普通個(gè)體(學(xué)生)xi,隨機(jī)選取其學(xué)習(xí)對(duì)象xj(i≠j)進(jìn)行學(xué)習(xí),通過計(jì)算兩者間的目標(biāo)函數(shù)適應(yīng)度值來進(jìn)行調(diào)整位置,即利用式(9)來進(jìn)行學(xué)生間的學(xué)習(xí):
其中,f(xi)和f(xj)分別表示個(gè)體xi和xj的目標(biāo)函數(shù)適應(yīng)度值,s=rand(0,1)為學(xué)習(xí)步長.
Step 5.對(duì)普通個(gè)體(學(xué)生)位置進(jìn)行更新.每個(gè)學(xué)生依據(jù)學(xué)習(xí)的效果決定對(duì)當(dāng)前的位置是否替換,若優(yōu),替換,反之保留原有位置.
Step 6.對(duì)算法的演化條件進(jìn)行判斷,如條件成立,則優(yōu)化結(jié)束,并輸出算法的最優(yōu)值和其對(duì)應(yīng)的最優(yōu)解,否則進(jìn)化繼續(xù)并轉(zhuǎn)Step 2.
高斯分布是一類重要的概率分布函數(shù),在眾多領(lǐng)域得到廣泛應(yīng)用,其計(jì)算公式如式(10):
其中,σ、μ為分別表示為方差為1 和均值為0.
動(dòng)態(tài)高斯變異的思想是給原有個(gè)體增加一個(gè)擾動(dòng)項(xiàng),其具體形式如下:
其中,m=(Max_iter-t)/Max_iter,即m∈(1,0]為遞減變量;xi表示為算法在進(jìn)化代數(shù)為t時(shí)個(gè)體i所對(duì)應(yīng)的狀態(tài);N(0,1)是服從高斯分布的一個(gè)任意向量;Max_iter表示算法的最大進(jìn)化代數(shù),t表示為算法當(dāng)前進(jìn)化的代數(shù).
動(dòng)態(tài)高斯變異機(jī)制能在一定程度上增加了種群個(gè)體之間的差異性,能使個(gè)體有效跳出局部極值進(jìn)行全局搜索,同時(shí)提高收斂速度.
3.3.1 TLBO 算法存在的問題
根據(jù)第3.1 節(jié)可知,TLBO 算法主要由“教學(xué)時(shí)段”和“學(xué)習(xí)時(shí)段”兩個(gè)核心部分構(gòu)成,但由于該算法的搜索機(jī)制存在以下問題,使其優(yōu)化能力受到一定的影響:
問題1.在TLBO 算法的教學(xué)時(shí)段,教學(xué)因子tf左右著學(xué)生個(gè)體與教師個(gè)體的差異,tf的大小決定著算法在該階段的搜索能力,tf越小,則搜索能力越強(qiáng).但從基本TLBO 算法的教學(xué)因子的計(jì)算公式可知,其值隨機(jī)地在[1,2]中取值,沒有考慮到隨算法的進(jìn)化而相應(yīng)地調(diào)整該值,從而使教學(xué)階段易陷入兩種極端的狀況,學(xué)生要么學(xué)得很好,要么學(xué)得很差,但在實(shí)際的教學(xué)過程中,學(xué)生個(gè)體是以任何概率從教師處學(xué)到知識(shí).而且,在教學(xué)前期,學(xué)生個(gè)體與教師個(gè)體的差距是較大的,到教學(xué)后期,學(xué)生個(gè)體與教師個(gè)體的差距就會(huì)不斷縮小.
問題2: 從TLBO 算法的教學(xué)階段可知,通過普通個(gè)體(學(xué)生)之間小范圍的相互交流學(xué)習(xí)來提升各自的成績,這使種群個(gè)體之間的差異性能夠得到較好的保持,從而保證了算法的持續(xù)全局尋優(yōu)能力.但是,在TLBO 算法的教學(xué)階段,每個(gè)學(xué)生(個(gè)體)都向教師(最優(yōu)個(gè)體)學(xué)習(xí),雖然能快速提高搜索速度,但更易導(dǎo)致種群陷入局部最優(yōu).
3.3.2 對(duì)TLBO 算法進(jìn)行改進(jìn)
(1)對(duì)TLBO 算法的教學(xué)因子tf進(jìn)行改進(jìn)
針對(duì)第1 個(gè)問題,本文對(duì)教學(xué)因子tf做了改進(jìn),使其隨著迭代的進(jìn)行而線性遞減,把教學(xué)因子tf的計(jì)算公式修改為:
其中,tfmin是tf取的最小值,tfmax是tf取的最大值,N_iter、t分別表示為算法的最大進(jìn)化代數(shù)和當(dāng)前進(jìn)化的代數(shù).
從式(12)中可以看出,tf的值在算法進(jìn)化的前期取值較大,這有利于學(xué)生的學(xué)習(xí)速度和學(xué)習(xí)能力的提高,從而達(dá)到提升算法的勘探能力,提高算法的尋優(yōu)速度; 在算法進(jìn)化的后期,學(xué)生的學(xué)習(xí)速度和學(xué)習(xí)能力顯著下降,教學(xué)因子tf的值變小,有利于提高算法的開采能力,促進(jìn)種群個(gè)體向理論解靠近,提高解的精度.
(2)融入動(dòng)態(tài)高斯變異機(jī)制
針對(duì)問題2,本文把高斯變異機(jī)制融入到TLGFPA算法中,從而進(jìn)一步改善算法的優(yōu)化能力.這是因?yàn)門LGFPA 算法的全局授粉部分引入了TLBO 算法的教機(jī)制,而TLBO 算法的教階段在進(jìn)化過程中,由于超級(jí)個(gè)體(教師)不斷吸引其他普通個(gè)體(學(xué)生),使得種群個(gè)體在進(jìn)化過程容易同化,從而易造成算法陷入局部最優(yōu).為此,在進(jìn)化過程中需要對(duì)算法是否陷入“早熟”進(jìn)行判斷,若“早熟”,則利用動(dòng)態(tài)高斯變異策略對(duì)種群的中間個(gè)體進(jìn)行擾動(dòng),增加種群個(gè)體之間的差異性,防止算法過早收斂.
從式(1)可知,FPA 算法采用了Lévy 策略使其具有良好的勘探能力,但該策略也使其求解精度較低及收斂速度慢; 而其局部搜索部分利用了差分進(jìn)化(DE)思想,這使其在解決高維復(fù)雜的優(yōu)化問題時(shí),性能比較差; 同時(shí),跟其他群智能算法類似,該算法在演化的后期,隨著種群多樣性的減少,算法容易早熟.然而該算法運(yùn)用轉(zhuǎn)化概率參數(shù)p來平衡該算法的勘探和開采能力.“教與學(xué)”優(yōu)化算法(TLBO)是最近提出的一種新群智能算法,根據(jù)其仿生機(jī)理,其具有極強(qiáng)的收斂能力且求解速度快、精度高優(yōu)點(diǎn),但該算法的教階段使算法易陷入早熟,且其“探索”與“開采”能力之間的平衡問題沒得到較好的處理.依據(jù)兩種算法的結(jié)構(gòu)及特性,把TLBO 算法引入到花授粉算法中,使其取長補(bǔ)短,提高算法的性能.鑒于此,本文提出了融合教與學(xué)優(yōu)化策略的動(dòng)態(tài)變異花授粉算法TLGFPA,先根據(jù)總迭代次數(shù)與當(dāng)前迭代次數(shù)的關(guān)系對(duì)教與學(xué)優(yōu)化算法中的教學(xué)因子進(jìn)行改進(jìn),接著把改進(jìn)的教機(jī)制作用于花授粉算法中的全局尋優(yōu)部分,充分利用最優(yōu)個(gè)體與其他個(gè)體間的促進(jìn)作用來提高算法的搜索速度; 同時(shí)把教與學(xué)優(yōu)化算法中的學(xué)機(jī)制作用于花授粉算法中的局部尋優(yōu)部分,通過種群個(gè)體之間的相互交流學(xué)習(xí)來維系種群的多樣性,提高其計(jì)算精度; 最后,如果適應(yīng)度值連續(xù)迭代3 次沒有改進(jìn)或改進(jìn)很小,則對(duì)進(jìn)入下一代的中間種群個(gè)體進(jìn)行動(dòng)態(tài)高斯變異,增強(qiáng)種群的多樣性,避免過早收斂.通過融合多種策略,提高算法的尋優(yōu)性能.
TLGFPA 算法的偽代碼如算法1 所示,其中,n為種群規(guī)模,p是算法的全局搜索和局部搜索之間的轉(zhuǎn)換概率,N_iter是算法的最大進(jìn)化代數(shù),ε∈[0,1]的任意數(shù),fmin為種群個(gè)體中的最優(yōu)值,g*為最優(yōu)解,fitness 為函數(shù)適應(yīng)度值,xi為種群的第i個(gè)體.
算法1.TLGFPA 算法偽代碼1.初始化所有參數(shù)2.for i=1: n 3.隨機(jī)產(chǎn)生 n 個(gè)個(gè)體 {xi | i=1,2,…,n};4.計(jì)算每個(gè)個(gè)體或每個(gè)解的適應(yīng)度值;5.end 6.計(jì)算當(dāng)前種群的最優(yōu)值7.找出當(dāng)前種群最優(yōu)值對(duì)應(yīng)的最優(yōu)解;8.% TLGFPA 算法開始迭代9.for t=1: N_iter (總的迭代次數(shù))do 10.for i=1: n do 11.if p>rand(0,1)then 12./*全局尋優(yōu)*/13.根據(jù)式(10)計(jì)算 tf 的值;14.計(jì)算種群個(gè)體的平均值 Solmean;15.根據(jù)式(7)計(jì)算 dif 值;
16.根據(jù)式(1)和式(8)產(chǎn)生一個(gè)新的候選解;xt+1 i xt+1 i 17.對(duì) 進(jìn)行越界判斷18.else 19./* 局部尋優(yōu)*/xtj xtk 20.隨機(jī)產(chǎn)生兩個(gè)個(gè)體 和 ;xt+1 i 21.根據(jù)式(9)產(chǎn)生一個(gè)新的候選解;xt+1 i 22.對(duì) 進(jìn)行越界判斷23.end 24.找出當(dāng)前種群的最優(yōu)值和其對(duì)應(yīng)的最優(yōu)解fun(xt+1 i))25.if (t>=3 && abs((-))<δ)|| (t>=3 && abs((-))=0)26.高斯變異xt+1 i fun(xti))fin(xti fun(xt+1 i 27.對(duì) 進(jìn)行越界判斷28.找出當(dāng)前種群的最優(yōu)值和其對(duì)應(yīng)的最優(yōu)解29.end 30.end 31.end
TLGFPA 算法的實(shí)現(xiàn)過程如下.
步驟1.對(duì)TLGFPA 算法的種群規(guī)模n,全局和局部搜索轉(zhuǎn)換參數(shù)p,最大進(jìn)化代數(shù)N_iter,問題規(guī)模D,教學(xué)因子的最大值tfmax,教學(xué)因子的最小值tfmin,分別進(jìn)行賦值.
步驟2.對(duì)算法的種群進(jìn)行初始化,求解每個(gè)解的值,并記錄所有值中的最小值或最大值和其相應(yīng)的解.
步驟3.若p>rand(0,1),利用式(12)計(jì)算教學(xué)因子tf的值.
步驟4.計(jì)算種群的平均位置Solmean.
步驟5.運(yùn)用式(7)計(jì)算最優(yōu)花朵與種群的差異dif.
步驟6.利用式(1)、式(8)對(duì)花朵個(gè)體的位置進(jìn)行更新,并對(duì)新產(chǎn)生的解是否超出解的范圍進(jìn)行處理.
步驟7.如果p<rand(0,1),根據(jù)式(9)對(duì)花朵個(gè)體的位置進(jìn)行更新,并對(duì)新產(chǎn)生的解是否超出解的范圍進(jìn)行處理.
步驟8.對(duì)步驟6 或步驟7 產(chǎn)生的新個(gè)體進(jìn)行求解,并更新fmin和g*.
步驟9.如果連續(xù)3 次,適應(yīng)度值沒變或變化很小,則執(zhí)行步驟10,否則跳到步驟11.
步驟10.對(duì)種群中間個(gè)體進(jìn)行動(dòng)態(tài)高斯變異.
步驟11.如進(jìn)化代數(shù)大于閾值N_iter,則進(jìn)化結(jié)束,并輸出所有解中的最優(yōu)解和其相應(yīng)的適應(yīng)度值,否則,轉(zhuǎn)步驟3 繼續(xù)進(jìn)化.
改進(jìn)措施對(duì)算法性能的提升是否可行,主要從兩個(gè)方面來衡量: (1)改進(jìn)策略能較好地改善算法的性能;(2)改進(jìn)算法的靈活性要好,且算法的時(shí)間復(fù)雜度值要小.算法的時(shí)間復(fù)雜度與其進(jìn)化代數(shù)成正比例.倘若f(x)為求解的問題,D為求解問題的規(guī)模,則依據(jù)算法時(shí)間復(fù)雜度的求解原則和FPA 算法的優(yōu)化機(jī)理,FPA算法的時(shí)間復(fù)雜度表示為:T(FPA)=O(D+f(D)).從TLGFPA 算法的具體實(shí)現(xiàn)過程可知,步驟3-步驟7 和步驟9 是新算法添加的步驟,即包括計(jì)算教學(xué)因子tf、計(jì)算種群的平均位置Solmean、計(jì)算最優(yōu)花朵與種群的差異dif、更新花朵個(gè)體的位置和動(dòng)態(tài)高斯變異.依據(jù)上述公式的闡述和時(shí)間復(fù)雜度的求解規(guī)則,則可推導(dǎo)出TLGFPA 的時(shí)間復(fù)雜度表示為:T(TLGFPA)=T(FPA)+T(計(jì)算教學(xué)因子)+T(計(jì)算種群的平均位置)+T(計(jì)算最優(yōu)花朵與種群的差異)+T(更新花朵個(gè)體的位置)+T(高斯變異)=O(D+f(D))+T(1)+T(1)+O(D+f(D))+O(D+f(D))+O(D+f(D))=O(D+f(D)).從上述對(duì)改進(jìn)算法的時(shí)間復(fù)雜度理論分析結(jié)果可知,改進(jìn)算法與FPA 算法相比,其時(shí)間復(fù)雜度基本相同.
為了驗(yàn)證本文算法的可行性和有效性,本節(jié)選用4 類共16 個(gè)非常具有代表性的測試函數(shù)進(jìn)行實(shí)驗(yàn),其具體詳情見表1.本節(jié)實(shí)驗(yàn)除了與FPA 算法比較外,還與人工蜂群(artificial bee colony,ABC)算法[15]、動(dòng)態(tài)領(lǐng)域?qū)W習(xí)粒子群(dynamic neighborhood learning particle swarm optimizer,DNLPSO)算法[16]、TLBO 算法、基于教與學(xué)的花授粉算法(teaching learning flower pollination algorithm,TLFPA)進(jìn)行比較.實(shí)驗(yàn)中所有參數(shù)的具體設(shè)定為: 種群規(guī)模n=30,最大進(jìn)化代數(shù)MaxN_iter=5000,FPA、TLFPA 和TLGFPA 三種算法的p的值都取0.2; DNLPSO 算法的其他參數(shù)值來自文獻(xiàn)[16]; ABC 算法中,limit=100.
表1 本文使用的實(shí)驗(yàn)測試函數(shù)
4.1.1 固定迭代次數(shù)的性能比較
為了驗(yàn)證本文算法的有效性,佐證其收斂精度(解的質(zhì)量)的優(yōu)越性,且能較好地防止陷入局部最優(yōu),所有算法在每個(gè)求解問題上都獨(dú)自執(zhí)行30 次,求解出其對(duì)應(yīng)的Mean error (尋優(yōu)均值偏差)、St.dev (標(biāo)準(zhǔn)方差)值,并為了判定TLGFPA 算法與其余5 種對(duì)比算法尋優(yōu)性能是否存在顯著性差異,利用非參數(shù)統(tǒng)計(jì)檢驗(yàn)(α=0.05 的Wilcoxon 檢驗(yàn))分別對(duì)16 個(gè)函數(shù)的實(shí)驗(yàn)結(jié)果進(jìn)行統(tǒng)計(jì)分析,其分析結(jié)果見表2,其中符號(hào)“?”,“≈”,“?”分別說明TLGFPA 算法的尋優(yōu)精度遜于、相當(dāng)于和高于其余算法,“w/t/l”符號(hào)分別說明TLGFPA算法與對(duì)比算法對(duì)比,在求解問題上,有w個(gè)的優(yōu)化結(jié)果好于比較算法,有t個(gè)的尋優(yōu)結(jié)果與比較算法相當(dāng),有l(wèi)個(gè)的優(yōu)化效果劣于比較算法.
表2 在固定進(jìn)化代數(shù)下算法的尋優(yōu)能力對(duì)比(D=30,4,2)
對(duì)表2 分析獲得,TLGFPA 算法與ABC,DNLPSO,TLBO,FPA 及TLFPA 算法相比,有8 個(gè)函數(shù)能找到理論最優(yōu)值,3 個(gè)函數(shù)找的值接近理論值.與TLFPA 算法相比,只有在函數(shù)F07 上,尋優(yōu)均值偏差要劣于對(duì)比算法,說明加入“動(dòng)態(tài)高斯變異”策略,能使算法避免陷入局部最優(yōu),提高了算法的收斂精度,同時(shí)也提升了算法的魯棒性.與ABC,DNLPSO,TLBO 及FPA 算法比較,在16 個(gè)函數(shù)上,分別有12、15、14、15 個(gè)函數(shù)的尋優(yōu)均值偏差要好于對(duì)比算法,這說明TLGFPA 算法的優(yōu)化精度明顯優(yōu)于對(duì)比的算法,驗(yàn)證了本文提出的新算法是可行有效的,達(dá)到了改進(jìn)的目的.
為了佐證新算法在高維函數(shù)上的優(yōu)化能力同樣表現(xiàn)出色,表3 列出了6 種算法在14 個(gè)函數(shù)上D=100 的優(yōu)化結(jié)果,并對(duì)實(shí)驗(yàn)結(jié)果從數(shù)學(xué)角度進(jìn)行統(tǒng)計(jì)分析.從表3 可以獲得,TLGFPA 算法有7 個(gè)函數(shù)能找到理論最優(yōu)值,2 個(gè)函數(shù)找的值無限接近理論值,與TLFPA 算法相比,只有函數(shù)F03 和F07 的尋優(yōu)均值偏差要遜于該算法,與其余4 種算法對(duì)比,本文算法的求解精度優(yōu)勢較顯著.
表3 6 種算法在固定迭代次數(shù)下的尋優(yōu)性能比較(D=100)
綜上所述,本文提出的新算法在4 類不同求解問題上的尋優(yōu)能力與對(duì)比算法相比,其優(yōu)化能力要優(yōu)于對(duì)比算法,也說明本文算法能較好地解決“早熟”問題.
4.1.2 固定尋優(yōu)精度的性能對(duì)比
為了比較TLGFPA 算法的穩(wěn)定性和尋優(yōu)速度,在尋優(yōu)精度固定下,檢驗(yàn)其收斂速度和魯棒性的優(yōu)越性,其實(shí)驗(yàn)結(jié)果如表4 所示.本節(jié)所有算法在每一個(gè)求解問題上都設(shè)置了一個(gè)固定的尋優(yōu)精度邊界值,若算法收斂到上述設(shè)定的閾值(邊界值)且進(jìn)化代數(shù)已大于一定的代數(shù)(本文設(shè)置為3 000),則斷定該算法對(duì)該求解問題尋優(yōu)失敗; 其他參數(shù)設(shè)置同上,對(duì)比算法在每個(gè)求解問題上獨(dú)立執(zhí)行30 次; 計(jì)算出SR(執(zhí)行成功率,執(zhí)行成功率=算法找到求解精度邊界值所需要的代數(shù)/算法總的執(zhí)行代數(shù))值和mean_iter(平均進(jìn)化代數(shù))值,對(duì)比算法的SR越大且mean_iter越小,其性能越優(yōu),表4 中符號(hào)“NA”表示對(duì)比算法尋優(yōu)受挫,最好結(jié)果用加粗突出顯示.從表4 中可獲得,FPA 算法只有在2 個(gè)求解問題上的尋優(yōu)成功率達(dá)到100%,其余都是0,對(duì)于函數(shù)F05,所有算法都尋優(yōu)失敗,這是由于該函數(shù)的特殊屬性,使得很多群智能算法很難找到其全局極小值.TLGFPA 算法和TLFPA 算法在16 個(gè)函數(shù)上,都有11 個(gè)函數(shù)的尋優(yōu)成功率是100%,但是TLGFPA 算法在這11 個(gè)函數(shù)上的平均收斂迭代次數(shù)都小于TLFPA算法,尤其在函數(shù)F01、F15、F16 上,TLGFPA 算法的平均收斂迭代次數(shù)比TLFPA 算法小1 個(gè)數(shù)量級(jí),這說明加入“動(dòng)態(tài)高斯變異”機(jī)制,能有效提高算法的收斂速度.與其余4 種算法相比,TLGFPA 算法的mean_iter和SR值明顯好于對(duì)比算法,說明TLGFPA 算法的求解速度和穩(wěn)定性要優(yōu)于比較算法.
由表4 可知,FPA 算法的總的平均尋優(yōu)成功率只有12.5%,通過在FPA 算法中引入新的策略,TLFPA和TLGFPA 算法的尋優(yōu)成功率得到大幅度提升,其中TLGFPA 算法的尋優(yōu)成功率為65%,是6 種算法中最高的,說明TLGFPA 算法的穩(wěn)定性最強(qiáng).
表4 6 種算法的尋優(yōu)成功率、平均迭代次數(shù)比較
4.1.3 Friedman 與Wilcoxon 檢驗(yàn)
為了更客觀評(píng)價(jià)對(duì)比算法的綜合優(yōu)化能力,本節(jié)從數(shù)學(xué)統(tǒng)計(jì)的角度(非參數(shù)Friedman 統(tǒng)計(jì)檢驗(yàn))進(jìn)行對(duì)比實(shí)驗(yàn),其對(duì)比結(jié)果見表5 和表6 所示,分別是所有算法在16 個(gè)函數(shù)(維數(shù)D=30,函數(shù)F13、F14 的維數(shù)分別為4 和2)和14 個(gè)函數(shù)(維數(shù)D=100)上的Friedman的檢驗(yàn)結(jié)果,從表5 和表6 可以看出,TLGFPA 算法不管在低維還是在高維上,總體性能最好,則進(jìn)一步說明改進(jìn)的算法是有效的.
表5 對(duì)比算法在16 個(gè)函數(shù)上的Friedman’s test (D=30,4,2)
表6 對(duì)比算法在14 個(gè)函數(shù)上的Friedman’s test (D=100)
為了更深入地對(duì)算法的優(yōu)化能力進(jìn)行綜合評(píng)價(jià)比較,運(yùn)用a=0.05 的Wilcoxon 檢驗(yàn)分析,其對(duì)比分析結(jié)果見表7 和表8,從兩個(gè)表中獲得,TLGFPA 算法與ABC,DNLPSO,TLBO 和FPA 算法之間的優(yōu)化性能的差于性比較顯著,與TLFPA 顯著性差異要弱一些,但也小于0.05.這表明改進(jìn)策略對(duì)提升FPA 算法的尋優(yōu)性能是可行有效的.
表7 對(duì)比算法在16 個(gè)函數(shù)上的Wilcoxon’s test (D=30,4,2)
表8 對(duì)比算法在14 個(gè)函數(shù)上的Wilcoxon’s test (D=100)
4.1.4 尋優(yōu)性能對(duì)比分析圖
為了更直觀地表明TLGFPA 算法的整體尋優(yōu)性能優(yōu)于其余對(duì)比算法,本文畫出了部分求解問題上的算法求解過程曲線圖,具體見圖1.從圖1 可知,TLGFPA算法與其他5 種對(duì)比算法相比,其優(yōu)化能力明顯好于其他算法,其經(jīng)過少量的進(jìn)化代數(shù)就能找到理論最優(yōu)值或接近理論上的最優(yōu)值; 在F06 和F16 求解問題上,TLGFPA 算法和TLFPA 算法的優(yōu)化能力旗鼓相當(dāng),但明顯好于其余對(duì)比算法,在F05 和F11 函數(shù)上,TLGFPA算法的求解精度要劣于ABC 算法,但比其他對(duì)比算法好; 對(duì)于函數(shù)F07,TLGFPA 算法要劣于TLBO,FPA和TLFPA 算法,但略好于其他2 種對(duì)比算法.這說明TLGFPA 的優(yōu)化過程得到提速,尋優(yōu)精度得到提高.
圖1 6 種算法的適應(yīng)度值收斂曲線
同時(shí),為了進(jìn)一步深入地說明TLGFPA 算法在求解問題過程中的魯棒性和解的質(zhì)量優(yōu)于FPA 等對(duì)比算法,本文也畫出了對(duì)比算法在部分求解問題上執(zhí)行30 次的優(yōu)化結(jié)果變化對(duì)比圖和所有算法在求解問題上的方差對(duì)比分析圖,具體分別見圖2 和圖3.可見在這4 類函數(shù)上,TLGFPA 算法的求解精度、穩(wěn)定性要好于DNLPSO,ABC,TLBO 和FPA 對(duì)比算法,而略好于TLFPA 算法.這進(jìn)一步顯示改進(jìn)算法在求解精度、穩(wěn)定性上都得到了較好的提升.
圖2 6 種算法在部分函數(shù)上的最優(yōu)適應(yīng)度值比較圖
圖3 6 種算法的全局最優(yōu)值方差分析
綜上所述,TLGFPA 算法的優(yōu)化能力表現(xiàn)比較突出,驗(yàn)證了本文改進(jìn)算法的可行性和有效性,也證明了加入動(dòng)態(tài)高斯變異的有效性.
為了測試TLGFPA 算法與現(xiàn)有改進(jìn)的FPA 算法在性能上是否具有不錯(cuò)的競爭力,本節(jié)選用3 種改進(jìn)的FPA 算法進(jìn)行對(duì)比,分別是改進(jìn)的花授粉算法(modified flower pollination algorithm,MFPA)[11]、基于廣義反向?qū)W習(xí)的改進(jìn)花授粉算法(modified genera-lised oppsition-based flower pollination algorithm,MGOFPA)[11]及基于精英反向?qū)W習(xí)的花授粉算法(elite oppositionbased flower pollination algorithm,EOFPA)[7],為了更好突出本文算法的優(yōu)勢,在迭代次數(shù)較少(最大迭代次數(shù)為500)的情況下比較4 種算法的尋優(yōu)性能.其中,對(duì)于TLGFPA 算法除迭代次數(shù)外,其余實(shí)驗(yàn)參數(shù)和求解問題同第4.1 節(jié); 對(duì)于MFPA、MGOFPA 和EOFPA 算法的參數(shù)p取相同的值0.8、種群規(guī)模n=30 和進(jìn)化代數(shù)不同于相關(guān)文獻(xiàn)外,其他參數(shù)取自相關(guān)文獻(xiàn)中,為了避免實(shí)驗(yàn)的偶然性誤差,每種對(duì)比算法在其每個(gè)求解問題上都單獨(dú)執(zhí)行30 次,各種對(duì)比算法的優(yōu)化結(jié)果如表9所示.
從表9 可知,改進(jìn)算法在所有求解問題上的優(yōu)化能力明顯好于MFPA 算法; 與MGOFPA算法相比,TLGFPA算法的尋優(yōu)能力在93.75%的求解問題上要優(yōu); EOFPA和TLGFPA 算法相比,TLGFPA算法在7 個(gè)求解問題上的優(yōu)化能力要比EOFPA 算法優(yōu),尤其是在F02 求解問題上,TLGFPA算法能找到理論上的最優(yōu)解,兩種算法在4 個(gè)求解問題(F06、F08、F14 及F15)上的優(yōu)化能力旗鼓相當(dāng),而TLGFPA 算法在剩余5 個(gè)求解問題上的尋優(yōu)能力要遜色于EOFPA算法.
為了更直觀地說明TLGFPA算法的優(yōu)化性能好于其余對(duì)比算法,本文畫出了對(duì)比算法在部分求解問題上的收斂過程曲線圖,具體見圖4.從圖4 可看出,本文算法的求解速度在7 個(gè)函數(shù)上是4 種算法中最快的.借助表9 中“?”的數(shù)學(xué)統(tǒng)計(jì)結(jié)果和圖4 的收斂曲線可以看出,TLGFPA 算法的性能總體上要優(yōu)于其他改進(jìn)算法,顯示出較好的競爭力.
圖4 4 種改進(jìn)的FPA 算法收斂曲線圖
表9 4 種改進(jìn)算法的尋優(yōu)性能對(duì)比
為了驗(yàn)證新算法在應(yīng)用優(yōu)化問題上的尋優(yōu)性能,檢驗(yàn)其可行性和有效性,本文選用伸縮繩應(yīng)用問題進(jìn)行測試.
4.3.1 伸縮繩問題的描述
在滿足x1(d)、x2(D)和x3(P)三個(gè)約束條件下使設(shè)計(jì)的繩最輕,其中d、D及P分別表示為“線的直徑”“平均卷的直徑”及“卷數(shù)”.該問題利用式(13)對(duì)其進(jìn)行數(shù)學(xué)模型化,其對(duì)應(yīng)的結(jié)構(gòu)如圖5 所示.
圖5 伸縮繩的結(jié)構(gòu)圖
4.3.2 實(shí)驗(yàn)結(jié)果及對(duì)比分析
為了進(jìn)一步佐證本文算法是否行之有效,本節(jié)利用TLGFPA 算法對(duì)上述伸縮繩設(shè)計(jì)問題進(jìn)行求解,并與文獻(xiàn)協(xié)同進(jìn)化差分進(jìn)化算法(co-evolutionary differential evolution,CDE)[17],一種基于可行性規(guī)則的混合粒子群約束優(yōu)化(hybrid particle swarm optimization with a feasibility-based rule for constrained optimization,HPSO)[18],加速自適應(yīng)權(quán)重模型(accelerating adaptive trade-off model,AATM)[19],社會(huì)和文化算法(society and civilization algorithm,SCA)[20],精英教學(xué)優(yōu)化算法(elitist teaching-learning-based optimization,ETLBO)[21],
反饋精英教學(xué)優(yōu)化算法(feedback elitist teachinglearning-based optimization,FETLBO)[22],基于精英反向?qū)W習(xí)的花授粉算法(elite opposition-based flower pollination algorithm,EOFPA)[7]求解結(jié)果進(jìn)行比較.本節(jié)的實(shí)驗(yàn)參數(shù)分別設(shè)置為: 種群規(guī)模都為25,進(jìn)化代數(shù)為2 000,其余參數(shù)設(shè)置同第4.1 節(jié),實(shí)驗(yàn)結(jié)果如表10 所示.從表10 可以看出TLGFPA 算法對(duì)伸縮繩問題的優(yōu)化效果要優(yōu)于其他5 種算法,這表明本文的改進(jìn)策略是可行和有效的.
表10 8 種算法對(duì)伸縮繩優(yōu)化問題的求解結(jié)果
為了進(jìn)一步解決花授粉算法的優(yōu)化能力還不太理想的問題,本文提出了先對(duì)教與學(xué)優(yōu)化算法中的教學(xué)因子進(jìn)行改進(jìn),再把改進(jìn)的教與學(xué)優(yōu)化機(jī)制和動(dòng)態(tài)高斯變異融入到花授粉算法中的混合算法(TLGFPA).首先,通過對(duì)16 個(gè)無約束函數(shù)的仿真實(shí)驗(yàn)顯示新算法能夠較好地解決“早熟”問題,有效地提升了FPA 算法的求解精度和求解速度等性能.其次,選擇了3 種FPA改進(jìn)算法進(jìn)行了對(duì)比實(shí)驗(yàn),對(duì)比分析結(jié)果顯示TLGFPA算法的性能總體上要優(yōu)于其他改進(jìn)算法,顯示出較好的競爭力.最后,用TLGFPA 算法求解伸縮繩應(yīng)用優(yōu)化問題,實(shí)驗(yàn)結(jié)果進(jìn)一步驗(yàn)證了本文算法在解決應(yīng)用問題時(shí),也比FPA 算法和其他對(duì)比算法具有更好的優(yōu)化能力.
雖然本文算法性能還不錯(cuò),但在解決大規(guī)模優(yōu)化問題時(shí),其優(yōu)化能力還有待提高,后續(xù)將針對(duì)此問題進(jìn)一步研究.在今后的研究工作中,可以嘗試?yán)酶倪M(jìn)差分進(jìn)化算法的思路來對(duì)其局部搜索部分進(jìn)行改進(jìn),增強(qiáng)其開發(fā)能力.因?yàn)槠渚植克阉鞑糠质遣捎昧藗鹘y(tǒng)差分進(jìn)化算法的思想,在優(yōu)化復(fù)雜多維的優(yōu)化問題時(shí),性能較差.同時(shí),將其應(yīng)用領(lǐng)域進(jìn)一步地進(jìn)行推廣,如解決動(dòng)態(tài)組合優(yōu)化問題.其次,目前“二進(jìn)制的花授粉算法”研究很少,如何將二進(jìn)制的花授粉算法運(yùn)用到軟件工程、大數(shù)據(jù)、量子計(jì)算等領(lǐng)域?qū)⑹侵档醚芯康膯栴}.