宋 鈺,石立寶
電力系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室深圳研究室(清華大學(xué)深圳國(guó)際研究生院),廣東 深圳 518055
布谷鳥算法(Cuckoo Search algorithm,CS)是由學(xué)者Yang X S 和Deb S 于2009 年提出的一種智能優(yōu)化算法,算法提出的靈感來源于自然界布谷鳥的寄生性育雛行為[1]。相比于其他智能優(yōu)化算法,CS具有控制參數(shù)少、算法易實(shí)現(xiàn)、尋優(yōu)路徑優(yōu)以及全局搜索能力強(qiáng)的優(yōu)點(diǎn)[2],近年來被廣泛應(yīng)用于優(yōu)化[3-4]、預(yù)測(cè)[5-6]以及圖像去噪[7]等領(lǐng)域。學(xué)者們針對(duì)布谷鳥算法展開了系統(tǒng)而深入的研究。文獻(xiàn)[8]通過馬爾科夫鏈模型證明了布谷鳥算法的收斂性。為克服布谷鳥算法后期收斂速度變慢、搜索能力降低的缺點(diǎn),一些學(xué)者提出將布谷鳥算法與其他智能優(yōu)化算法相結(jié)合,充分利用兩種算法的優(yōu)點(diǎn)以獲得更佳的求解效果[9-11]。另外一些學(xué)者則致力于提升布谷鳥算法本身的性能。2011 年Valian E 等人提出了一種基于自適應(yīng)機(jī)制的布谷鳥算法,通過動(dòng)態(tài)改變布谷鳥算法中的參數(shù)提高了算法的局部和全局搜索能力,進(jìn)而提升了算法的計(jì)算精度和收斂速度[12]。此后,國(guó)內(nèi)外學(xué)者分別提出了多種動(dòng)態(tài)改變布谷鳥算法參數(shù)的自適應(yīng)機(jī)制。其中,部分研究依據(jù)當(dāng)前迭代次數(shù)來改變?cè)摯蔚懈鲄?shù)的大小[12-14],另一些研究則依據(jù)每次迭代中各解的好壞來改變本次迭代中各解相應(yīng)的參數(shù)[15-17]。這些研究在一定程度都取得了較好的改進(jìn)效果。
本文首先簡(jiǎn)述了布谷鳥算法的基本原理。為了進(jìn)一步提高布谷鳥算法的計(jì)算精度和收斂速度,本文在已有研究成果基礎(chǔ)上提出了一種新的自適應(yīng)布谷鳥算法。該算法可依據(jù)解的好壞來控制其發(fā)現(xiàn)概率的大小,并在運(yùn)算初期依據(jù)迭代次數(shù)、解的好壞、種群規(guī)模和總迭代次數(shù)動(dòng)態(tài)改變步長(zhǎng),在運(yùn)算后期,不考慮迭代次數(shù)、種群規(guī)模的影響,僅依據(jù)解的好壞動(dòng)態(tài)改變步長(zhǎng)。最后,本文利用仿真實(shí)驗(yàn)對(duì)比了所提算法與其他算法的求解效果,證明了所提算法的優(yōu)越性。
布谷鳥算法的靈感源于布谷鳥的育雛行為。一些布谷鳥會(huì)將自己的蛋產(chǎn)入云雀、黃鶯等宿主鳥的巢中,讓它們代替自己育雛。由于布谷鳥蛋與宿主鳥蛋外表相似,往往不易被宿主鳥發(fā)現(xiàn)。當(dāng)宿主鳥沒有發(fā)現(xiàn)布谷鳥蛋時(shí),它會(huì)同時(shí)孵化布谷鳥蛋和自己的蛋。由于布谷鳥蛋的孵化時(shí)間短于宿主鳥蛋,先孵化的布谷鳥幼雛本能地破壞鳥巢中的其他鳥蛋以獲取更多的資源。當(dāng)宿主鳥發(fā)現(xiàn)布谷鳥蛋時(shí),它會(huì)拋出布谷鳥蛋或放棄整個(gè)鳥巢并選擇其他地方重新筑巢。為了簡(jiǎn)化和模擬布谷鳥的育雛行為,學(xué)者Yang X S 和Deb S 提出了以下三條理想規(guī)則。
規(guī)則1每只布谷鳥每次只產(chǎn)一個(gè)蛋,并隨機(jī)選擇一個(gè)寄生巢來放置。
規(guī)則2在隨機(jī)選擇的一組寄生巢中,最好的寄生巢會(huì)被保留到下一代。
規(guī)則3可利用的寄生巢的數(shù)量是一定的,布谷鳥蛋被宿主鳥發(fā)現(xiàn)的概率為Pa。
此外,研究表明自然界中許多動(dòng)物的覓食路徑可以用 Lévy 飛行描述。Lévy 飛行是服從 Lévy 分布的隨機(jī)搜索路徑,由頻繁出現(xiàn)的短步長(zhǎng)和偶爾出現(xiàn)的長(zhǎng)步長(zhǎng)組成。在布谷鳥算法中,學(xué)者Yang X S 和Deb S 利用Lévy 飛行描述布谷鳥的飛行軌跡并更新鳥巢的位置。Lévy 飛行中大量的短步長(zhǎng)有利于布谷鳥算法局部尋優(yōu),可以提高算法的搜索精度,同時(shí)少量的長(zhǎng)步長(zhǎng)可以擴(kuò)大算法的搜索范圍,有助于算法跳出局部最優(yōu)。
將布谷鳥、宿主鳥巢以及布谷鳥蛋均看作解,則從自然界布谷鳥行為中抽象出布谷鳥算法的主要步驟為:
步驟1初始化各參數(shù),隨機(jī)生成一組初始解并計(jì)算它們的適應(yīng)度。
步驟2通過Lévy飛行對(duì)解進(jìn)行更新,如式(1)所示:
式中,xi(t)和xi(t+1)分別為第t次和t+1 次迭代時(shí)的第i個(gè)解,α是步長(zhǎng)參數(shù),Levy(β)代表遵循Lévy 飛行的隨機(jī)步長(zhǎng)。
步驟3比較新解的適應(yīng)度值和舊解的適應(yīng)度值,若新解的適應(yīng)度值優(yōu)于舊解的適應(yīng)度值,則用新解替換舊解。
步驟4根據(jù)發(fā)現(xiàn)概率丟棄部分解,然后隨機(jī)偏好游走生成同樣多的解來代替被丟棄的解,如式(2)所示:xi(t+1)=xi(t)+r?Heaviside(Pa-ε)?(xk(t)-xj(t))(2)式中,r和ε為[0,1]區(qū)間內(nèi)正態(tài)分布的隨機(jī)數(shù),Heaviside(u) 表示階躍函數(shù),Pa為發(fā)現(xiàn)概率,xk(t) 和xj(t)為第t次迭代時(shí)的兩個(gè)隨機(jī)解。
步驟5計(jì)算通過步驟2至步驟4產(chǎn)生的新一代的解的適應(yīng)度值并挑選出最優(yōu)解。
步驟6重復(fù)步驟2至步驟5,直到達(dá)到最大迭代次數(shù)。
在布谷鳥算法中,參數(shù)α控制每次迭代的步長(zhǎng)δ(即變異量),并且α越大,步長(zhǎng)δ越大。發(fā)現(xiàn)概率Pa控制產(chǎn)生新解的概率,并且Pa越大,產(chǎn)生新解的概率越大。而步長(zhǎng)和產(chǎn)生新解的概率越大,每次迭代的搜索范圍就越大,算法的全局尋優(yōu)能力就越強(qiáng),收斂速度也就越快。但隨著搜索規(guī)模的擴(kuò)大,算法的局部尋優(yōu)能力會(huì)下降,算法的搜索精度也會(huì)下降。與之相反地,α和Pa越小,每次迭代的搜索范圍就越小,全局尋優(yōu)能力就越差,收斂速度也就越慢,但算法的局部尋優(yōu)能力會(huì)增強(qiáng),搜索精度也會(huì)提高。針對(duì)不同的優(yōu)化問題,應(yīng)選取適當(dāng)?shù)摩梁蚉a以同時(shí)獲取較快的收斂速度與較高的搜索精度。然而目前并沒有一種系統(tǒng)的方法來確定α和Pa。此外,還應(yīng)在較差解附近用較大的α和Pa全局尋優(yōu)以提高收斂速度,用較小的α和Pa在較好解的附近局部尋優(yōu)以提高搜索精度。而在傳統(tǒng)的布谷鳥算法中,α和Pa為定值,不能根據(jù)解的好壞進(jìn)行動(dòng)態(tài)調(diào)整。針對(duì)以上問題,本文在文獻(xiàn)[14-16]的基礎(chǔ)上提出了步長(zhǎng)δ和發(fā)現(xiàn)概率Pa的動(dòng)態(tài)調(diào)整機(jī)制,令δ和Pa隨著解的好壞、迭代次數(shù)的大小而自發(fā)地朝著合適的方向變化。
假設(shè)優(yōu)化問題的目標(biāo)為求解函數(shù)最小值,xmin(t)和xmax(t)分別表示第t次迭代時(shí)的最優(yōu)解和最差解,它們對(duì)應(yīng)的適應(yīng)度值分別為fmin(t)和fmax(t),即第t次迭代時(shí)求解出的最小和最大適應(yīng)度。則對(duì)于最差解xmax(t),其步長(zhǎng)δmax(t)應(yīng)為一個(gè)很大的值。受到文獻(xiàn)[18]思想的啟發(fā),δmax(t)可采用如下方式確定:
上述解的更新過程如圖1 所示,其中a和b點(diǎn)分別代表。
圖1 解的更新過程
而對(duì)于最優(yōu)解xmin(t),其步長(zhǎng)δmin(t)應(yīng)為一個(gè)很小的值。此外,隨著迭代次數(shù)的增加,xmin(t)應(yīng)逐漸趨于最全局優(yōu)解,相應(yīng)地,其步長(zhǎng)δmin(t)也應(yīng)逐漸趨于一個(gè)很小的值。同時(shí),當(dāng)?shù)螖?shù)很大時(shí),種群規(guī)模對(duì)于求解結(jié)果的影響較小。綜合考慮這些因素,提出采用如下表達(dá)式來確定δmin(t)的第k個(gè)分量δmin,k(t):
式中,p為種群規(guī)模。經(jīng)過大量實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)其指數(shù)取2.5時(shí)效果最好。
由于種群規(guī)模最小為1,因此在任何一次迭代時(shí),δmin,k(t)都小于,不存在變異后解超出約束范圍的情況。此外,智能優(yōu)化算法的求解精度和穩(wěn)定程度會(huì)隨著種群規(guī)模和迭代次數(shù)的增加而提高,但種群規(guī)模和迭代次數(shù)的增加會(huì)導(dǎo)致運(yùn)算時(shí)間和規(guī)模的擴(kuò)大,同時(shí)種群規(guī)模和迭代次數(shù)的不同取值也可能對(duì)優(yōu)化結(jié)果造成較大影響。而在式(4)的機(jī)制下,δmin,k(t)會(huì)隨著種群規(guī)模和迭代次數(shù)的增加而減小,這將制約種群規(guī)模和迭代次數(shù)增加對(duì)優(yōu)化結(jié)果的正面影響,進(jìn)而減小種群規(guī)模和迭代次數(shù)的不同取值對(duì)優(yōu)化結(jié)果造成的影響。
而對(duì)于第t次迭代時(shí)的第i個(gè)解xi(t),它的步長(zhǎng)δi(t)應(yīng)位于區(qū)間[δmax(t),δmin(t)]內(nèi),并且它對(duì)應(yīng)的適應(yīng)度fi(t)越大,δi(t)就應(yīng)該越大。鑒于此,本文采用指數(shù)形式來描述δi,k(t)和fi(t)的關(guān)系,即有:
式中,δi,k(t)為步長(zhǎng)δi(t)的第k個(gè)分量,ai,k(t)和bi,k(t)分別為相應(yīng)的系數(shù)。當(dāng)xi,k(t)在區(qū)間內(nèi)時(shí)取-,反之取+。結(jié)合式(3)與(4),可得到:
解得ai,k(t)和bi,k(t)分別為:
在以上提出的步長(zhǎng)動(dòng)態(tài)調(diào)整機(jī)制下,在算法運(yùn)行的初期,迭代次數(shù)較小時(shí),由于各解對(duì)應(yīng)的適應(yīng)度差值較大,根據(jù)式(5)和式(7)可知,此時(shí)算法的步長(zhǎng)較大,算法的全局搜索能力較強(qiáng),收斂速度較快。而到了算法運(yùn)行的后期,大多數(shù)解對(duì)應(yīng)的適應(yīng)度會(huì)趨近最小適應(yīng)度,根據(jù)式(5)和式(7)可知,此時(shí)步長(zhǎng)δi,k(t)會(huì)趨近式(4)。由于該式的分母中存在t+p2.5,在算法運(yùn)行后期迭代次數(shù)t很大時(shí),搜索步長(zhǎng)δi,k(t)會(huì)急劇減小,導(dǎo)致算法的全局搜索能力和收斂速度下降,甚至還可能使算法陷入局部最優(yōu)。為解決這個(gè)問題,本文在算法運(yùn)行前期使用式(5)來控制步長(zhǎng),在算法運(yùn)行后期引入一種不考慮種群規(guī)模和迭代次數(shù)的自適應(yīng)機(jī)制來控制步長(zhǎng),其基本原理如式(8)和式(9)所示:
式中,為第二種自適應(yīng)機(jī)制下第t次迭代時(shí)第i個(gè)解的步長(zhǎng)參數(shù)分別為第二種自適應(yīng)機(jī)制下步長(zhǎng)參數(shù)的最大值和最小值,為第二種自適應(yīng)機(jī)制下的步長(zhǎng),xi,k(t)是第t次迭代時(shí)第i個(gè)解的第k個(gè)分量,‖xi(t)-xmin(t)‖為xi(t)與xmin(t)之間的距離,dmax(t)為最優(yōu)解和其他解距離的最大值。
當(dāng)解越接近最優(yōu)解時(shí),其‖xi(t)-xmin(t)‖和(xi,k(t)-xmin,k(t))的值越小,由式(8)和式(9)可知,其搜索步長(zhǎng)也越小,有利于在最優(yōu)解附近局部尋優(yōu);反之,當(dāng)個(gè)體距離最優(yōu)位置越遠(yuǎn)時(shí),其‖xi(t)-xmin(t)‖和(xi,k(t)-xmin,k(t))的值越大,相應(yīng)搜索步長(zhǎng)也越大,有利于差的解跳出當(dāng)前的不利位置。因此該自適應(yīng)機(jī)制可以提高算法的全局尋優(yōu)和局部尋優(yōu)能力。此外,式(9)還通過引入Lévy飛行避免使算法陷入局部最優(yōu)。
將上述兩種步長(zhǎng)動(dòng)態(tài)調(diào)整策略相結(jié)合,可使算法在避免陷入局部最優(yōu)的同時(shí)獲得較快的收斂速度和較高的搜索精度。結(jié)合后的步長(zhǎng)動(dòng)態(tài)調(diào)整機(jī)制為:
式中,T為轉(zhuǎn)折代數(shù),大量實(shí)驗(yàn)的結(jié)果表明,T取50~150之間的值時(shí)優(yōu)化效果最佳。
本文采用文獻(xiàn)[16]所提出的自適應(yīng)機(jī)制來描述發(fā)現(xiàn)概率,如式(11)所示:
式中,pa,i(t)為第t次迭代時(shí)第i個(gè)解的發(fā)現(xiàn)概率,pa,max和pa,min分別為發(fā)現(xiàn)概率的最大值和最小值。當(dāng)某個(gè)解對(duì)應(yīng)的適應(yīng)度接近最小適應(yīng)度時(shí),其發(fā)現(xiàn)概率接近最小值,說明它不容易被拋棄;反之,當(dāng)個(gè)體的適應(yīng)度與最小適應(yīng)度相差很大時(shí),其發(fā)現(xiàn)概率接近最大值,說明它容易被拋棄。這有利于好的解被留下而壞的解被替換,從而可以加速算法的收斂速度。
參數(shù)動(dòng)態(tài)調(diào)整的自適應(yīng)布谷鳥算法流程圖如圖2所示。
圖2 參數(shù)動(dòng)態(tài)調(diào)整的自適應(yīng)布谷鳥算法流程圖
相應(yīng)的偽代碼為:
1.Initialize a population withnsolutionsxi( 1),i=1,2,…,n
2.For all solutions do
3.Calculate fitness value byFi(1)=f(xi(1))
4.End for
5.While iteration numbert<max iteration number
6.Calculate mutation step size by formula(10)
7.Generate new solutions according to mutation step size
8.Calculate fitness values of new solutions by
11.End if
12.Calculate discovery rate by formula(11)
13.Abandon some solutions according to discovery rate and generate new solutions to replace them by formula(2)
14.Calculate the fitness values of all solutions and pick out the best solution
15.Iteration numbert=t+1
16.End while
為驗(yàn)證所提出的自適應(yīng)布谷鳥算法的有效性,本文選取表1所示的10個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)進(jìn)行仿真分析,并對(duì)比常規(guī)布谷鳥算法(以下記為CS)、文獻(xiàn)[12]、[13]、[15]、[16]提出的改進(jìn)的布谷鳥算法(以下分別記為ICS1、ICS2、ICS3 和ICS4)、粒子群算法(以下記為PSO)以及本文提出的參數(shù)動(dòng)態(tài)調(diào)整的自適應(yīng)布谷鳥算法(以下記為ACS)的測(cè)試結(jié)果。各算法的參數(shù)設(shè)置分別如表2和表3所示。其中,ACS的最優(yōu)參數(shù)設(shè)置通過大量實(shí)驗(yàn)獲得,其余各算法分別依照文獻(xiàn)[12]、[13]、[15]、[16]設(shè)置參數(shù)。實(shí)驗(yàn)的測(cè)試平臺(tái)為Matlab?環(huán)境,所用計(jì)算機(jī)硬件配置為(Intel?Core?i5-5200U)2.2 GHz,內(nèi)存為4 GB。
表1 測(cè)試函數(shù)
表2 各種布谷鳥算法參數(shù)設(shè)置
表3 粒子群算法參數(shù)設(shè)置
針對(duì)不同測(cè)試函數(shù),各算法獨(dú)立運(yùn)行100 次,得到的實(shí)驗(yàn)結(jié)果如表4 所示。其中,f1為單峰函數(shù),但由于它在全局最小值附近函數(shù)值變化極為緩慢,因此常被用于評(píng)價(jià)算法的后期搜索性能。從100 次實(shí)驗(yàn)結(jié)果的最大值、最小值、平均值以及達(dá)到目標(biāo)值的次數(shù)可以看出,ACS 的求解精度較 CS、ICS 以及 PSO 有大幅提高。同時(shí),ACS 求解結(jié)果的方差遠(yuǎn)遠(yuǎn)小于其余算法,說明ACS的求解結(jié)果更加穩(wěn)定。f2是一個(gè)復(fù)雜的多峰函數(shù),擁有無數(shù)的局部極小值和局部最大值,常導(dǎo)致算法在求解時(shí)陷入局部最優(yōu)??梢钥吹?,雖然ACS 的求解精度和穩(wěn)定性遠(yuǎn)遠(yuǎn)高于其他算法,但在求解后期卻陷入了局部最優(yōu)值4.44E?15。f3是典型的非線性多模態(tài)函數(shù),搜索空間大并擁有許多局部極小點(diǎn),通常被認(rèn)為是智能優(yōu)化算法很難求解的復(fù)雜問題。雖然從100 次實(shí)驗(yàn)結(jié)果的平均值和最大值來看,ACS的求解精度只是略微優(yōu)于其他算法,但ACS達(dá)到目標(biāo)值1E?05的次數(shù)更多,并且能夠在其余算法的最好求解結(jié)果達(dá)不到1E?05 時(shí)搜索到全局最優(yōu)解0,這說明ACS 的求解能力高于其余算法。與此類似,同樣f4也是一個(gè)典型的非線性多模態(tài)函數(shù)。它的局部極小值的個(gè)數(shù)與問題的維數(shù)成正比,且函數(shù)峰谷起伏不定,因此也很難求解出全局最優(yōu)值。可以看到,雖然ACS的100次實(shí)驗(yàn)結(jié)果均值和方差都與其他算法的結(jié)果相差不大,但ACS 可以搜索到全局最優(yōu)解0,并且有更大的概率達(dá)到目標(biāo)值。f5的全局最小值位于一個(gè)拋物線形的山谷中,由于山谷內(nèi)函數(shù)值變化很小,很難求解出全局最優(yōu)值,常被用于評(píng)價(jià)算法的搜索能力??梢钥闯?,ACS在求解這個(gè)問題時(shí)的求解精度和穩(wěn)定性都遠(yuǎn)遠(yuǎn)高于其余算法,說明ACS 的搜索能力很強(qiáng)。f6是一個(gè)復(fù)雜的二維函數(shù),擁有無數(shù)個(gè)局部極小值并具有強(qiáng)烈振蕩的特征,是評(píng)價(jià)算法收斂性和搜索能力的經(jīng)典函數(shù)??梢詮?00次實(shí)驗(yàn)結(jié)果的最大值看出,ICS1、ICS2、ICS3、ICS4 以及 PSO 均在求解時(shí)陷入了局部最優(yōu)值9.71E?03,而ACS 則避開了該值。同時(shí),ACS可以搜索到全局最優(yōu)值0,并且求解結(jié)果的最大值、平均值、方差以及達(dá)到目標(biāo)值的次數(shù)均遠(yuǎn)遠(yuǎn)超過了其他算法。說明ACS 具有很強(qiáng)的收斂性和搜索能力。f7、f8和f9均為復(fù)雜多峰值函數(shù),擁有許多局部極小值點(diǎn)??梢钥吹?,ACS 的求解結(jié)果的最值、平均值以及穩(wěn)定性均優(yōu)于其他算法,并且ACS 大多數(shù)時(shí)候總能達(dá)到目標(biāo)值。f10為一單峰函數(shù),常被用于檢測(cè)算法的尋優(yōu)能力??梢钥吹剑珹CS的求解精度和穩(wěn)定性均遠(yuǎn)遠(yuǎn)優(yōu)于其他算法,說明ACS的尋優(yōu)能力很強(qiáng)。
表4 多種算法的計(jì)算結(jié)果
各算法求解10 個(gè)標(biāo)準(zhǔn)函數(shù)的收斂曲線分別如圖3至圖12所示??梢钥吹?,在求解初期,多數(shù)時(shí)候ACS的收斂速度雖然小于PSO 的,但大于其余算法。而PSO到了求解后期會(huì)陷入局部最優(yōu),ACS 除去在求解f2時(shí)陷入了局部最優(yōu),其余情況下都能在求解后期依然保持很快的收斂速度。
圖3 f1 的收斂曲線
圖4 f2 的收斂曲線
圖5 f3 的收斂曲線
圖6 f4 的收斂曲線
圖7 f5 的收斂曲線
圖8 f6 的收斂曲線
圖9 f7 的收斂曲線
圖10 f8 的收斂曲線
圖11 f9 的收斂曲線
圖12 f10 的收斂曲線
CS和ACS求解各函數(shù)所需的時(shí)間如表4中平均運(yùn)行時(shí)間所示。可以看到,CS 與ACS 求解各函數(shù)的運(yùn)行時(shí)間都很短,說明兩種算法的運(yùn)行速度均很快。此外,ACS求解各問題所需的時(shí)間略大于CS的求解時(shí)間。這是由于ACS 在CS 的基礎(chǔ)上增加了自適應(yīng)機(jī)制,使得ACS 的計(jì)算復(fù)雜度有一定的提高,導(dǎo)致ACS 求解優(yōu)化問題所需的時(shí)間有所變長(zhǎng)。需要說明的是,本文所提出的自適應(yīng)機(jī)制僅需簡(jiǎn)單的代數(shù)運(yùn)算即可實(shí)現(xiàn),不會(huì)對(duì)算法造成很大的運(yùn)算負(fù)擔(dān)。
綜上所述,相較于其他各算法,ACS 具有更高的計(jì)算精度和穩(wěn)定性,收斂速度更快,不易陷入局部最優(yōu)。此外,所提出的自適應(yīng)機(jī)制在一定程度上沒有給ACS增加運(yùn)算負(fù)擔(dān)。
本文簡(jiǎn)述了布谷鳥算法的基本原理。在前人研究基礎(chǔ)上,本文提出了一種基于參數(shù)動(dòng)態(tài)調(diào)整機(jī)制的自適應(yīng)布谷鳥算法。所提出算法會(huì)依據(jù)解的好壞動(dòng)態(tài)改變發(fā)現(xiàn)概率的大小,并在運(yùn)算前期和后期分別利用兩種自適應(yīng)機(jī)制控制步長(zhǎng)動(dòng)態(tài)變化。通過對(duì)比該算法與其他算法求解10 個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)的結(jié)果,可知本文所提算法計(jì)算復(fù)雜性較低,并且在計(jì)算精度、穩(wěn)定性以及收斂速度上均具有一定的優(yōu)勢(shì)。