葛 強(qiáng),李玉晶,喬保軍,左憲禹,王更科
(1.河南大學(xué) 數(shù)據(jù)與知識(shí)工程研究所,河南 開(kāi)封 475004;2.河南大學(xué) 河南省大數(shù)據(jù)分析與處理重點(diǎn)實(shí)驗(yàn)室,河南 開(kāi)封 475004;3.中國(guó)科學(xué)院 空天信息創(chuàng)新研究院,北京 100101;4.中國(guó)科學(xué)院 中國(guó)科學(xué)院大學(xué),北京 100101)
生物地理學(xué)優(yōu)化算法是由Simon教授等[1]基于生物地理學(xué)數(shù)學(xué)模型提出的一種群智能優(yōu)化算法。BBO不同于其它群智能優(yōu)化算法之處在于其主要通過(guò)遷移算子來(lái)實(shí)現(xiàn)各個(gè)棲息地之間的資源通信,并通過(guò)變異算子來(lái)提高種群的多樣性。BBO算法在提出之后便得到了國(guó)內(nèi)外智能優(yōu)化算法研究學(xué)者的密切關(guān)注,眾多學(xué)者將其應(yīng)用到實(shí)際工程優(yōu)化問(wèn)題的求解中,如電力系統(tǒng)[2]、圖像處理[3]、模式識(shí)別[4]、排列流水間調(diào)度[5]等。BBO算法的優(yōu)點(diǎn)是收斂速度快、結(jié)構(gòu)簡(jiǎn)單,但尋優(yōu)后期易過(guò)早收斂,陷入局部最優(yōu)。針對(duì)這一缺點(diǎn),眾多學(xué)者從不同的角度改進(jìn)BBO算法來(lái)提高優(yōu)化性能。王雅萍等[6]發(fā)現(xiàn)基于雙曲正切函數(shù)遷移率模型的BBO尋優(yōu)能力更強(qiáng)。鄭夏等[7]引入Fibonacci迭代思想來(lái)消除種群重復(fù)項(xiàng),差分進(jìn)化來(lái)改進(jìn)變異策略。張文輝等[8]提出基于自適應(yīng)遷移算子和差分變異策略的BBO。唐繼勇等[9]提出動(dòng)態(tài)選擇遷入地與自適應(yīng)遷入策略。這些對(duì)BBO算法的改進(jìn)均在某種程度上提升了算法的尋優(yōu)能力,但在收斂精度、收斂速度和穩(wěn)定性上還有很大的提升空間。本文提出的MDEBBO算法采用差分變異策略和自適應(yīng)的局部擾動(dòng)因子作為新的遷移算子,并采用一種基于高斯變異和柯西變異的根據(jù)迭代次數(shù)自調(diào)整的混合變異算子。仿真測(cè)試實(shí)驗(yàn)數(shù)據(jù)顯示,MDEBBO算法在收斂速度和尋優(yōu)精度上的優(yōu)勢(shì)明顯。通過(guò)將MDEBBO算法應(yīng)用到對(duì)Richards模型的參數(shù)估計(jì)上,實(shí)驗(yàn)結(jié)果表明其在參數(shù)估計(jì)方面也有很好的表現(xiàn)力。
生物地理學(xué)是根據(jù)生物有機(jī)體在空間和時(shí)間上的地理分布對(duì)其進(jìn)行研究的學(xué)科,探索了不同地理位置的生態(tài)系統(tǒng)中不同物種的遷移和突變。在BBO算法中,優(yōu)化問(wèn)題的可能解被稱為棲息地(Habitat),每個(gè)棲息地都根據(jù)棲息地適應(yīng)性指數(shù)(habitat suitability index,HSI)進(jìn)行評(píng)估。其中,影響棲息地適應(yīng)性指數(shù)的因素稱為適應(yīng)性指數(shù)變量(suitability index variables,SIVs)。BBO算法被用來(lái)處理實(shí)際工程問(wèn)題時(shí),首先隨機(jī)產(chǎn)生n個(gè)棲息地作為最初解,然后使用遷移操作來(lái)實(shí)現(xiàn)棲息地之間的信息共享,并通過(guò)變異操作來(lái)增加解的多樣性,最后經(jīng)過(guò)多次迭代操作獲取最優(yōu)解。
首先隨機(jī)產(chǎn)生NP個(gè)可以表示為N維向量Hk(k=1,2,…,NP) 的候選個(gè)體,Hk(SIVj)(j=1,2,…,N) 表示為棲息地Hk的第j個(gè)SIV,Hk(SIVj) 初始化如式(1)所示
Hk(SIVj)=H(SIVjmin)+rand(H(SIVjmax)-H(SIVjmin))
(1)
其中,H(SIVjmax) 和H(SIVjmin) 分別為第j維變量的最大、最小限度。
在BBO算法中,棲息地通過(guò)遷移操作與其它棲息地共享信息。一個(gè)HSI值高的棲息地比HSI值低的棲息地容納更多的物種。將棲息地Hk按HSI值以優(yōu)至劣的順序排序,棲息地Hk的物種數(shù)量按式(2)映射獲取
Sk=Smax-k
(2)
其中,Smax為棲息地最多可生存的物種數(shù)量。在BBO中,每個(gè)棲息地都有各自的遷入率λ和遷出率μ,這兩個(gè)參數(shù)控制著物種從一個(gè)棲息地向另一個(gè)棲息地的遷移。如式(3)和式(4)[7]所示,遷入率和遷出率取決于棲息地的物種數(shù)量
(3)
(4)
其中,I、E分別表示最大遷入率、最大遷出率,Sk為棲息地Hk的物種數(shù)量。首先根據(jù)遷入率λk挑選進(jìn)行遷移操作的棲息地,然后對(duì)棲息地Hk的每個(gè)SIV根據(jù)遷出率μk按輪盤(pán)賭選擇法獲取待遷出的棲息地。最后按式(5)[7]完成遷移操作
Hk(SIVj)←Hm(SIVj)
(5)
其中,Hk(SIVj) 和Hm(SIVj) 分別為遷移棲息地和待遷出棲息地的j維分量。在BBO算法中,遷移算子的每次調(diào)用都會(huì)導(dǎo)致單個(gè)SIV從一個(gè)棲息地遷移到另一個(gè)棲息地中[10]。
除了遷移,BBO還具有大多數(shù)進(jìn)化算法所具有的概率特性,在算法的迭代過(guò)程中可能會(huì)發(fā)生突變[11]。變異算子根據(jù)棲息地存在的先驗(yàn)概率隨機(jī)修改棲息地的SIV,其中棲息地Hk的物種概率Pk可由式(6)計(jì)算得出
(6)
通過(guò)對(duì)生物地理學(xué)分析得知,棲息地的突變概率mk和物種概率Pk成反比,棲息地Hk的突變概率mk如式(7)[12]所示
(7)
其中,mmax是棲息地Hk的最大突變概率,Pmax是所有物種概率的最大值。對(duì)于每個(gè)棲息地Hk,若隨機(jī)數(shù)rand不大于該棲息地的突變率mk, 則隨機(jī)選取一個(gè)規(guī)定界限內(nèi)的值來(lái)替換棲息地Hk的某維解變量Hk(SIVj)。 BBO算法流程如圖1所示。
圖1 BBO算法流程
群智能優(yōu)化算法的過(guò)程一般由勘探和開(kāi)發(fā)兩部分組成,勘探就是在全局找到最優(yōu)解可能出現(xiàn)的大致位置的過(guò)程,而開(kāi)發(fā)則是在局部最優(yōu)解附近進(jìn)行精確搜索的過(guò)程[13]。為了增強(qiáng)生物地理學(xué)優(yōu)化算法的優(yōu)化能力并克服該算法不能很好平衡開(kāi)發(fā)能力與局部最優(yōu)解之間的矛盾,本文從遷移率模型、遷移算子、變異算子3個(gè)方面改進(jìn),下面進(jìn)行詳細(xì)介紹。
BBO通過(guò)遷移操作實(shí)現(xiàn)棲息地之間的資源共享,遷入率、遷出率是決定棲息地進(jìn)行遷移操作的主要因素,故不同的遷移率模型會(huì)直接影響該算法的尋優(yōu)能力。文獻(xiàn)[6]介紹了3種新的非線性遷移率模型,并將其應(yīng)用到BBO算法中。實(shí)驗(yàn)結(jié)果表明越傾向于自然法則的模型越能提高算法的性能且基于雙曲正切變體遷移率模型的BBO算法比余弦遷移模型尋優(yōu)能力強(qiáng),其解更接近函數(shù)的全局最小值,故本文選取如圖2所示的雙曲正切變體遷移率模型。
圖2 雙曲正切變型遷移率模型[6]
從圖2可以看出,在雙曲正切變型遷移率模型下,棲息地中物種數(shù)量相對(duì)較少或較多時(shí),遷移率變化較余弦遷移率模型平緩些,當(dāng)該棲息地中的物種數(shù)量增加到一定程度后,遷移率變化速率隨之變快。雙曲正切遷移率模型的遷入、遷出率表達(dá)式分別如式(8)、式(9)所示,其中a為遷移率模型的影響因子,n為棲息地Hk的物種數(shù)量,文獻(xiàn)[6]將其取值為1.1,I和E分別為分別表示最大遷入率、最大遷出率
(8)
(9)
低開(kāi)發(fā)能力和陷入局部最小化可以被認(rèn)為是標(biāo)準(zhǔn)BBO的弱點(diǎn),遷移算子的改進(jìn)是增強(qiáng)算法優(yōu)化能力的最佳方法之一。差分進(jìn)化算法(DE)是一個(gè)優(yōu)秀而強(qiáng)大的進(jìn)化算法,它的一些差異策略提供了出色的全局搜索能力,引起了眾多學(xué)者的廣泛關(guān)注。通過(guò)分析式(5)得知,BBO的遷移算子只是棲息地之間SIV的簡(jiǎn)單替換,這種遷移方式單一,導(dǎo)致進(jìn)化過(guò)程中影響算法的探索性能。在DE的啟發(fā)下,MDEBBO將DE的變異策略引入到遷移算子中,新的遷移算子如式(10)所示。其中,Hbest是當(dāng)代種群中HSI值最優(yōu)的棲息地,Hindex1、Hindex2、Hindex3、Hindex4是從種群中隨機(jī)挑選的4個(gè)棲息地,且滿足index1≠index2≠index3≠index4≠i,F(xiàn)為縮放因子,通常取值為0.5。Hk(SIVj) 的某些信息來(lái)自Hbest, 因此Hk的位置能夠快速移動(dòng)到搜索空間中的最佳位置,而且可從4個(gè)不同的棲息地獲取多樣化信息,增加了種群的多樣性。在迭代后期,BBO算法的種群多樣性會(huì)隨著尋優(yōu)過(guò)程中逐步收斂而減小,且陷入局部極值的可能性增大
Hk(SIVj)=Hbest(SIVj)+F*(Hindex1(SIVj)-Hindex2(SIVj))+F*(Hindex3(SIVj)-Hindex4(SIVj))
(10)
為了進(jìn)一步提高全局收斂精度,避免算法陷入局部極值,本文引入了一個(gè)微擾動(dòng)算子來(lái)優(yōu)化算法的性能。微擾動(dòng)算子如式(11)所示
(11)
其中,σ為微擾動(dòng)算子,Hi為輪盤(pán)賭方式選擇的待遷出棲息地,Gindex為當(dāng)前迭代次數(shù),Gmax為算法的最大迭代次數(shù),rand(0,1) 表示從0到1的隨機(jī)數(shù)。由σ可以得到一個(gè)介于-0.5到0.5之間的隨機(jī)值,將這個(gè)隨機(jī)值作為權(quán)重與Hi和Hk之間的差分值相乘,得到擾動(dòng)值。該策略通過(guò)引入正弦函數(shù)使σ的取值更具靈活性,可以實(shí)現(xiàn)以Hi(SIVj) 為中心的空間的精確搜索,提高算法的查找精度。在滿足BBO遷移規(guī)則的基礎(chǔ)下,添加一個(gè)約束條件(rand<0.2),如果達(dá)到了條件則采用全局搜索能力更強(qiáng)的差分遷移算子(式(10))進(jìn)行尋優(yōu),若不滿足,則采用微擾動(dòng)算子來(lái)進(jìn)行遷移操作(式(11))。改進(jìn)的遷移算子結(jié)合DE的全局搜索和微擾動(dòng)算子的局部搜索,在整體上提高了算法的開(kāi)發(fā)能力,又由于通過(guò)引入正弦函數(shù)得出的微擾動(dòng)因子增加了種群多樣性從而避免算法陷入局部最優(yōu),故能夠很好平衡開(kāi)發(fā)能力與局部最優(yōu)解之間的矛盾。局部擾動(dòng)和差分遷移算子如算法1所示,其中輸入?yún)?shù)Population為種群,NP為種群大小,N為種群維數(shù),λ和μ分別為棲息地的遷入率和遷出率,Pmod為棲息地修改概率;輸出參數(shù)Population為經(jīng)過(guò)遷移操作后的種群。
算法1:遷移算子算法
輸入: (Population,NP,N,λ,μ,Pmod)
輸出: (Population)
(1) fork=1 toNPdo
(2) ifrand>Pmod
(3) continue;
(4) end if
(5) forj=1 toNdo //根據(jù)λ判斷Hk是否發(fā)生遷移操作
(6) ifrand<λthen
(7) ifrand<0.2 then
(8) 通過(guò)式(10)更新Hk(SIVj)
(9) else
(10) //根據(jù)μ選擇待遷出的棲息地Hi
(11) ifrand<μthen
(12) 通過(guò)式(11)更新Hk(SIVj)
(13) end if
(14) end if
(15) end if
(16) end for
(17) end for
BBO算法的突變算子是通過(guò)隨機(jī)選取一個(gè)規(guī)定界限內(nèi)的值來(lái)代替原棲息地的某維解變量。在這種策略下,雖然該算子可以生成不同的解,但現(xiàn)有的良好解很有可能會(huì)被隨機(jī)產(chǎn)生的值破壞而影響算法的收斂速度。為了提高解決方案的質(zhì)量,本文引用進(jìn)化規(guī)劃算法的高斯、柯西變異,將兩種變異算子結(jié)合迭代次數(shù)設(shè)置一種新的自調(diào)整的混合變異算子。高斯分布、柯西分布的概率密度函數(shù)分別如式(12)、式(13)所示
(12)
(13)
其中,μ和σ2分別表示高斯分布的均值和方差,x(x∈R)和t(t>0)都屬于尺度參數(shù)。當(dāng)σ=1,μ=0時(shí)N(0,1)表示標(biāo)準(zhǔn)高斯分布, C(0,1) 表示標(biāo)準(zhǔn)柯西分布。在BBO算法中,高斯、柯西變異就是將一個(gè)服從其分布的隨機(jī)擾動(dòng)項(xiàng)加到棲息地的某一分量上。根據(jù)高斯分布和柯西分布的特點(diǎn),本文引入自調(diào)整混合變異算子,以此來(lái)提升算法的尋優(yōu)速度和精度?;旌献儺愃阕尤缡?14)所示,其中Gindex表示當(dāng)前迭代次數(shù),Gmax表示算法的最大迭代次數(shù)。該策略將迭代次數(shù)作為權(quán)重系數(shù)來(lái)控制高斯變異和柯西變異之間的比例。該變異算子可以隨著進(jìn)化過(guò)程自啟發(fā)的動(dòng)態(tài)更新,在迭代初期,Gindex較小,通過(guò)柯西變異會(huì)獲取大幅度的變異步長(zhǎng),增加了候選解的多樣性,引領(lǐng)候選解快速向全局最優(yōu)解移動(dòng),避免算法陷入局部最優(yōu)解。在迭代后期,Gindex較大,高斯變異杰出的局部探索能力使候選解在局部范圍進(jìn)行精確搜索,提高算法了的尋優(yōu)精度。本文采取的變異策略只對(duì)整個(gè)種群中HSI值較差的后一半棲息地改變其適應(yīng)性指數(shù)變量,以免變異算子破壞迭代周期內(nèi)的較優(yōu)解
(14)
混合變異算子如算法2所示,其中輸入?yún)?shù)Population為種群,NP為種群大小,N為種群維數(shù),mk為棲息地的突變概率;輸出參數(shù)Population為經(jīng)過(guò)變異操作后的種群。
算法2: 混合變異算子
輸入: (Population,NP,N,mk)
輸出: (Population)
(1) //只對(duì)整個(gè)種群中HSI值較差的后一半棲息進(jìn)行突變
(2) fork=NP/2 toNPdo
(3) forj=1 toNdo
(4) ifrand (5) 通過(guò)式 (14) 更新Hk(SIVj) (6) end if (7) end for (8) end for 綜上所述,MDEBBO算法的流程如下: MDEBBO算法步驟: 步驟1 初始化BBO參數(shù):最大物種數(shù)量Smax, 最大遷出率E,最大遷入率I,最大變異概率mmax, 棲息地修改概率Pmod, 最大迭代次數(shù)Gmax, 種群大小NP,候選個(gè)體向量維度N等。隨機(jī)生成NP個(gè)候選個(gè)體,并按式(1)計(jì)算其適應(yīng)性指數(shù)變量SIVs。 步驟2 計(jì)算每個(gè)候選個(gè)體的適應(yīng)性指數(shù)HSI值,并將種群按優(yōu)至劣順序進(jìn)行排序。按式(2)計(jì)算每個(gè)候選個(gè)體可容納的物種數(shù)量S,分別按式(8)、式(9)計(jì)算其遷入率λ和遷出率μ。保留該迭代周期內(nèi)最優(yōu)的兩個(gè)候選個(gè)體作為精英個(gè)體。 步驟3 按算法1的遷移策略進(jìn)行遷移操作。 步驟4 按式(6)計(jì)算候選個(gè)體的物種概率Pk, 按式(7)計(jì)算候選個(gè)體的變異率mk。 按算法2中的變異策略進(jìn)行變異操作。 步驟5 重新計(jì)算候選個(gè)體的HSI值,將其重新進(jìn)行排序。將保存的精英個(gè)體替換本迭代周期內(nèi)最差的兩個(gè)候選個(gè)體。 步驟6 判斷是否達(dá)到終止條件,若是,結(jié)束并輸出最優(yōu)候選個(gè)體;若否,則跳到步驟2。 為了驗(yàn)證MDEBBO算法的尋優(yōu)能力,通過(guò)對(duì)12個(gè)不同復(fù)雜度的基準(zhǔn)函數(shù)進(jìn)行大量的實(shí)驗(yàn)。實(shí)驗(yàn)分為兩個(gè)部分,第一組實(shí)驗(yàn)是MDEBBO算法與經(jīng)典、新型智能優(yōu)化算法的對(duì)比,第二部分選取部分學(xué)者先進(jìn)的改進(jìn)算法與MDEBBO進(jìn)行比較。 在這12個(gè)基準(zhǔn)函數(shù)中,函數(shù)Sphere、Sumsquare、Rosenbrock、Schwefel1.2、Schwefel2.22屬于單峰函數(shù),Step是具有一個(gè)最小值且不連續(xù)階梯函數(shù),Quartic是一個(gè)噪聲四次函數(shù),多用來(lái)測(cè)試收斂速度和尋優(yōu)精度;Ackley、Griewank、Penalty1、Penalty2、Levy是多模函數(shù),其局部最小值隨著維數(shù)的增加呈指數(shù)增長(zhǎng),多被用來(lái)測(cè)試算法避免局部最優(yōu)解的能力以及全局探索性能。這12個(gè)基準(zhǔn)函數(shù)已經(jīng)被廣泛用于不同的優(yōu)化算法中以評(píng)估算法的性能。 在實(shí)驗(yàn)部分,本文所采用的硬件配置:CPU為2.0 GHz,內(nèi)存24 GB的筆記本,實(shí)驗(yàn)所用操作系統(tǒng)為Windows10,編程語(yǔ)言采用MATLAB R2018a。本文中對(duì)算法的參數(shù)設(shè)置為:種群大小NP為50,維數(shù)N為30,棲息地最大變異概率Pmax為0.005,棲息地修改概率Pmod為1,最大遷入率I和最大遷出率E都為1,最大迭代次數(shù)Gmax為1000,精英個(gè)體保留數(shù)為2。ACO中信息啟發(fā)式因子α為1,期望啟發(fā)式因子β為5,局部信息素蒸發(fā)系數(shù)ρ為0.5,全局信息素蒸發(fā)系數(shù)q為0.9,CS中隨機(jī)調(diào)整發(fā)現(xiàn)概率pa為0.25。BBO/DEs選取的是DE/best/2策略,其中F取值為0.5。因?yàn)樗惴ㄟ\(yùn)行存在一些不可控的隨機(jī)因素,所以本文將每個(gè)函數(shù)獨(dú)立運(yùn)行30次來(lái)避免誤差。本文選取最優(yōu)值、平均值以及標(biāo)準(zhǔn)差3項(xiàng)來(lái)評(píng)估算法的性能。其中,最優(yōu)值是算法找到的最優(yōu)解;平均值是算法所有解的平均值,能夠顯示算法的優(yōu)化精度;標(biāo)準(zhǔn)差能夠體現(xiàn)算法的魯棒性。 第一部分選取經(jīng)典算法ACO(蟻群算法)、新型智能優(yōu)化算法CS(布谷鳥(niǎo)搜索算法)、基本BBO和MDEBBO進(jìn)行比較,結(jié)果見(jiàn)表1。其中,字體加粗的是算法結(jié)果中對(duì)應(yīng)的最優(yōu)項(xiàng)。根據(jù)機(jī)器對(duì)雙精度實(shí)數(shù)的取值,精度大于 1e-15 的結(jié)果即被認(rèn)為零[14]。由表1可以看出,MDEBBO算法在單峰、多峰函數(shù)上與其它智能優(yōu)化算法相比,無(wú)論是最優(yōu)值、平均值還是標(biāo)準(zhǔn)差都有很明顯的數(shù)量級(jí)優(yōu)勢(shì),且大部分函數(shù)最優(yōu)解達(dá)到了函數(shù)的理論全局最優(yōu)解0。對(duì)于函數(shù)Step、Schwefel2.22和Ackley,MDEBBO算法達(dá)到了最優(yōu)值、平均值和標(biāo)準(zhǔn)差同時(shí)都為0,這說(shuō)明遷移算子中加入微擾動(dòng)因子,變異算子引入自適應(yīng)混合變異思想可以提高算法的尋優(yōu)精度。算法初始化具有隨機(jī)性且標(biāo)準(zhǔn)差近乎為0,說(shuō)明多次尋優(yōu)結(jié)果的誤差很小,即MDEBBO算法的探索能力優(yōu)勢(shì)明顯,不易陷入局部最優(yōu)。同時(shí),4種算法在不同基準(zhǔn)函數(shù)上的收斂曲線如圖3所示,因?yàn)槠鶈?wèn)題,本文只展示了其中6個(gè)不同類型的測(cè)試函數(shù)收斂圖。收斂圖中的橫坐標(biāo)為迭代周期數(shù),縱坐標(biāo)為最優(yōu)適應(yīng)度函數(shù)值。由圖3中可以看出,其它智能優(yōu)化算法在迭代后期中最優(yōu)值下降速度明顯緩慢,且迭代次數(shù)為200的時(shí)候就有陷入局部最優(yōu)的趨勢(shì)。而MDEBBO算法在迭代前期曲線近乎垂直,顯示了其更強(qiáng)的勘探能力;且在迭代次數(shù)為100左右的時(shí)候就幾乎達(dá)到了全局最優(yōu),展現(xiàn)了其優(yōu)異的開(kāi)發(fā)能力。綜上所述,MDEBBO算法在收斂精度和收斂速度上都較不同智能優(yōu)化算法有很明顯的優(yōu)勢(shì),在滿足卓越開(kāi)發(fā)能力的同時(shí)也避免了算法陷入局部最優(yōu)。 為了進(jìn)一步驗(yàn)證MDEBBO算法的尋優(yōu)能力,第二組實(shí)驗(yàn)是MDEBBO算法與部分學(xué)者先進(jìn)改進(jìn)算法的對(duì)比,對(duì)比算法分別為基于雙曲正切變型遷移率模型的BBO(MBBO)[6]、基于Fibonacci迭代的差分變異BBO(IDEBBO)[7]、基于自適應(yīng)遷移和差分變異的BBO(SDBBO)[8],實(shí)驗(yàn)結(jié)見(jiàn)表2。由表2可看出,MDEBBO算法在最優(yōu)值、平均值與標(biāo)準(zhǔn)差3個(gè)評(píng)價(jià)標(biāo)準(zhǔn)上都較其它3個(gè)改進(jìn)算法有明顯的優(yōu)勢(shì)。對(duì)于全域最小值附近平緩難以尋求最優(yōu)值的病態(tài)二次函數(shù)Rosenbrock,MDEBBO算法的最優(yōu)值結(jié)果比其它算法的求解精度有了一定程度的提升。對(duì)于具有一個(gè)最小值且不連續(xù)階梯函數(shù)Step來(lái)說(shuō),改進(jìn)的IDEBBO算法的最優(yōu)值為0,但MDEBBO的平均值和標(biāo)準(zhǔn)差均為0,這說(shuō)明MDEBBO算法通過(guò)微擾動(dòng)因子、變異算子使算法的收斂精度和穩(wěn)定性有大幅提升。多模函數(shù)常被用來(lái)測(cè)試算法避免局部最優(yōu)解的能力,由表2可看出MDEBBO算法在多模函數(shù)上的尋優(yōu)能力遠(yuǎn)遠(yuǎn)優(yōu)于其它3個(gè)改進(jìn)算法。同時(shí),4種算法在不同基準(zhǔn)函數(shù)上的收斂曲線如圖4所示,MDEBBO算法的尋優(yōu)能力在同類競(jìng)爭(zhēng)力很強(qiáng)的先進(jìn)改進(jìn)算法面前也絲毫不遜色。 表1 不同優(yōu)化算法對(duì)12個(gè)函數(shù)的測(cè)試結(jié)果 圖3 不同優(yōu)化算法對(duì)6個(gè)函數(shù)的收斂曲線 表2 不同改進(jìn)BBO算法對(duì)12個(gè)函數(shù)的測(cè)試結(jié)果 圖4 不同改進(jìn)BBO算法對(duì)6個(gè)函數(shù)的收斂曲線 本節(jié)主要針對(duì)MDEBBO算法與傳統(tǒng)BBO算法的計(jì)算復(fù)雜度進(jìn)行理論分析。在傳統(tǒng)BBO的遷移算子中,滿足遷入率條件后需通過(guò)輪盤(pán)賭方式選擇遷出棲息地,此時(shí)需要平均計(jì)算 (1+N)/2次。而在MDEBBO算法中,遷移算子添加了一個(gè)約束條件,若滿足約束條件則不需要通過(guò)輪盤(pán)賭選擇棲息地,而是通過(guò)DE的變異策略來(lái)進(jìn)行遷移操作。若不滿足約束條件則進(jìn)行輪盤(pán)賭,此時(shí)平均計(jì)算次數(shù)小于等于 (1+N)/2次。MDEBBO算法的差分遷移算子中雖然多了一些判斷步驟,但在數(shù)量級(jí)上并沒(méi)有增加額外的復(fù)雜度。MDEBBO算法與傳統(tǒng)BBO算法的變異算子的循環(huán)步驟一樣,則計(jì)算復(fù)雜度相同。綜上分析可得,MDEBBO算法不僅在收斂速度、精度提高的同時(shí),計(jì)算復(fù)雜度并沒(méi)有增加。 Richards模型是一個(gè)包含4個(gè)參數(shù)的非線性回歸方程,該模型通過(guò)時(shí)間變化來(lái)描述生物的生長(zhǎng)過(guò)程[15]。Richards模型的生長(zhǎng)方程如式(15)所示,其用來(lái)描述生長(zhǎng)過(guò)程中的增長(zhǎng)量 (15) 其中,yt表示谷氨酸菌體在t時(shí)刻的生長(zhǎng)濃度值,α表示該菌體生長(zhǎng)濃度的飽和值,β表示初始生長(zhǎng)濃度的值,γ表示生長(zhǎng)速率參數(shù),t表示時(shí)間間隔,δ描述谷氨酸菌體的生長(zhǎng)曲線。通過(guò)MDEBBO算法對(duì)Richards模型進(jìn)行參數(shù)估計(jì),其中每個(gè)棲息地代表一個(gè)解,棲息地維度為4,即α、β、γ、δ這4個(gè)參數(shù)值。非線性參數(shù)估計(jì)的解決過(guò)程是在模型給定后,通過(guò)實(shí)際觀測(cè)數(shù)據(jù)來(lái)估計(jì)各個(gè)參數(shù)的值。MDEBBO算法中的適應(yīng)度函數(shù)用偏方平方和表示,如式(16)所示。實(shí)際觀測(cè)值yi與預(yù)測(cè)值的差值越小說(shuō)明擬合出來(lái)的函數(shù)越接近實(shí)際的值,即預(yù)測(cè)的參數(shù)越準(zhǔn)確[16] (16) 以預(yù)測(cè)谷氨酸菌體生長(zhǎng)濃度為例,使用MEDBBO算法通過(guò)仿真實(shí)驗(yàn),計(jì)算出Richards模型中的參數(shù)α、β、γ、δ分別為0.8985、5.2206、0.6309、3.4197。由MDEBBO算法估算不同時(shí)刻谷氨酸菌體生長(zhǎng)濃度與實(shí)際觀測(cè)值之間的差值的平方和為0.009 091 1,這個(gè)值越小代表算法擬合的生長(zhǎng)曲線越好,參數(shù)估計(jì)得越有效。圖5表示的為由MDEBBO算法對(duì)Richards模型擬合的谷氨酸菌體生長(zhǎng)曲線。從圖中可以看出隨著時(shí)間的增長(zhǎng),擬合的曲線與實(shí)際觀測(cè)值之間的誤差越來(lái)越小,表明了MDEBBO算法對(duì)參數(shù)估計(jì)的有效性和適用性。 圖5 擬合的谷氨酸菌體生長(zhǎng)曲線 為驗(yàn)證MDEBBO算法對(duì)Richards模型參數(shù)估計(jì)的適用性,本文選取多個(gè)算法和MDEBBO算法進(jìn)行對(duì)比。將各個(gè)算法分別獲取的谷氨酸菌體生長(zhǎng)濃度預(yù)測(cè)值與實(shí)際觀測(cè)值比較分析,實(shí)驗(yàn)結(jié)果見(jiàn)表3。其中對(duì)比算法包括粒子群優(yōu)化算法(PSO)、遺傳算法(GA)和變步長(zhǎng)果蠅優(yōu)化算法(VS-FOA)算法。表3中實(shí)際觀測(cè)值和對(duì)比算法的預(yù)測(cè)數(shù)據(jù)均來(lái)自文獻(xiàn)[15]。 表3 谷氨酸菌體生長(zhǎng)濃度的實(shí)際觀測(cè)值與不同算法的預(yù)測(cè)值 同時(shí),本文將均方根誤差(RMSE)、決定系數(shù)(R2)以及平均誤差(MAE)作為評(píng)價(jià)指標(biāo)來(lái)驗(yàn)證MDEBBO算法的有效性,其分別如式(17)~式(19)[17]所示 (17) (18) (19) 表4 不同算法基于不同評(píng)價(jià)指標(biāo)的對(duì)比 由表4可看出MEDBBO在3個(gè)評(píng)價(jià)指標(biāo)下的值更具優(yōu)勢(shì),其預(yù)測(cè)精度、擬合優(yōu)度、預(yù)測(cè)質(zhì)量都較對(duì)比算法更高。這說(shuō)明采用MDEBBO對(duì)Richards模型參數(shù)估計(jì)來(lái)預(yù)測(cè)谷氨酸菌體生長(zhǎng)濃度更具有效性。 生物地理學(xué)優(yōu)化算法作為一種新型的群智能優(yōu)化算法,其全局搜索能力與避免早熟的性能方面仍有很大的進(jìn)步空間。本文提出的MDEBBO算法通過(guò)在遷移階段將差分變異算子和自適應(yīng)的局部擾動(dòng)操作結(jié)合形成新的遷移算子,增強(qiáng)了算法的全局探索能力;且通過(guò)高斯變異和柯西變異的混合變異算子來(lái)提高算法的開(kāi)發(fā)性能和避免算法陷入局部最優(yōu)解的能力。實(shí)驗(yàn)結(jié)果表明,MDEBBO較對(duì)比算法在收斂速度、尋優(yōu)精度和穩(wěn)定性3個(gè)方面都有很大程度上的提升。同時(shí),通過(guò)仿真驗(yàn)證MDEBBO算法對(duì)Richards模型參數(shù)估計(jì)的適用性,對(duì)非線性模型的參數(shù)估計(jì)提供了一種新的方法。在接下來(lái)的工作中,重點(diǎn)是將BBO算法應(yīng)用到對(duì)地觀測(cè)衛(wèi)星任務(wù)調(diào)度實(shí)際工程領(lǐng)域中并通過(guò)改進(jìn)該算法來(lái)解決其全局優(yōu)化問(wèn)題。2.4 MDEBBO總流程
3 仿真實(shí)驗(yàn)與結(jié)果分析
3.1 測(cè)試函數(shù)與參數(shù)設(shè)置
3.2 與不同智能優(yōu)化算法的比較
3.3 與不同改進(jìn)BBO算法的比較
3.4 算法復(fù)雜度分析
4 Richards模型的參數(shù)估計(jì)
5 結(jié)束語(yǔ)