陸秋琴,黃光球
西安建筑科技大學 管理學院,西安 710055
在工程中存在很多具有大量局部最優解的優化問題,而且在很多情況下這些優化問題的目標函數和約束條件的數學表達式沒有限制條件,傳統的優化算法無法求解此類優化問題。目前,求解此類優化問題的方法是群智能優化算法[1]。與傳統優化算法不同,群智能優化算法求解一個優化問題時,采用若干試探解同時進行演化計算,這種“群起而攻之”的方法可求解一些非常困難的優化問題[2]。然而,不存在一種群智能優化算法可求解所有類型的優化問題[3]。在群智能優化算法中,每個試探解被比喻成具有生物特征的個體,一些特殊生物進化場景被轉換成群智能算法的邏輯結構,活躍在該場景中的生物個體之間的相互作用關系被用來構造生物個體的演化算子[4]。
種群動力學[5]是一門反映生物種群相互作用關系的數學理論,種群動力學包含有很多分支,每個分支均有改造成一種群智能算法的潛能。文獻[6]基于Lotka-Volterra 模型構造出了一種特殊種群動力學優化算法,該算法利用3個種群間的相互作用關系即互惠共存關系、競爭關系、捕食-被食關系構建出進化算子,所有算子的演化特性可以確保算法具有全局收斂性。文獻[7]采用種群動力學理論構造出了種群動力學優化(population dynamics-based optimization,PDO)算法。該算法將任意兩種群間的捕食-被食、互利、融合、競爭、突變和選擇等行為用于構造種群的進化策略。文獻[8]基于種群動力學理論提出了一種改進的PDO算法。該算法被用來快速確定井下多點集中涌出礦塵就地消除最佳引導路徑。文獻[9]采用種群動力學中的捕食-被食理論提出了另一種改進的PDO算法,該算法可快速確定井下礦塵收集站、井下風機以及通風構筑物的最佳安裝位置。
微生物培養是利用培養室培養一種或多種微生物種群,微生物培養動力學是研究培養室中在人類控制下微生物種群相互作用、不斷演化的數學理論。微生物培養動力學是種群動力學分支之一[5]。為了利用微生物培養動力學的一些特殊性質來構造出高性能群智能優化算法,本文采用了一種帶時滯影響的混雜食物鏈微生物脈沖培養動力學模型來構造微生物動力學優化算法(microbial dynamics optimization,MDO)。在該算法中,本文采用了與現有種群動力學優化算法不同的設計思路,提出了將微生物培養動力學模型轉化為能求解某些優化問題的一般方法;構造出的算子可以充分反映培養系統中的有毒物質和培養液對微生物種群的影響以及微生物種群之間的相互作用關系,從而體現微生物培養動力學理論的基本思想。MDO 算法能夠全局收斂,對求解維數較高的優化問題具有一定優勢。
假設在微生物培養系統E中生活有N個微生物種群,即P1,P2,…,Pi,…,PN;每個種群不但以E中的培養液為食,而且還以E中的其他K個種群為食。在微生物培養過程中,周期性地向E中注入已調制好的新鮮培養液;與此同時,從E中不斷移除無用的培養液;微生物種群吸收的培養液不會立即就轉化成新的微生物種群,或者說,在從培養液向微生物種群轉化這一過程存在一個時間段;隨著培養液的注入,有害物質也隨之注入。為了調控有害物質對種群的破壞性影響,必須不斷評估種群受到有害物質的危害程度。培養系統的運行可通過對兩個因素進行不同控制來實現:一是培養液中營養物質的濃度S;二是培養液的流量Q。濃度S的變化會引起微生物種群的生長產生變化。
微生物種群Pi的特征可用Pi={fi,1,fi,2,…,fi,n}表示,其中fi,j是Pi的特征j,n是每個種群的特征總數,i=1~N,j=1~n;E中培養液的營養物質濃度對種群Pi的影響體現在對種群Pi的特征的隨機影響上。
假設所要求解的優化模型為:

式中,H為搜索空間;f(X)為目標函數;X為n維解向量,X=(x1,x2,…,xi,…,xn),xi為解分量。在H中任意選擇N個初始解,即H={X1,X2,…,XN},其中Xi=(xi,1,xi,2,…,xi,n),i=1~N;培養系統E與搜索空間H相對應,優化模型的N個初始解與E中的N個微生物種群一一對應,即Xi與Pi一一對應;更精確地說,Xi的變量xi,j與Pi的特征fi,j一一對應。
綜上,初始解與微生物種群是等價概念,以后不再區分。Pi攝入營養后,它的生長狀態會產生變化,將該變化投射到H,等價于初始解Xi從空間位置a轉移到b。一個空間位置稱作一個狀態,用它的下標描述。
假設Pi當前狀態為c,此等價于在H中的位置為Xc。若Pi攝入營養后,從狀態c演變到狀態d,此等價于在H中從位置Xc跳轉到位置Xd。按式(1)計算,若f(Xc)>f(Xd),表明位置Xc比位置Xd要優,則認為Pi強壯。反之,若f(Xc)≤f(Xd),表明位置Xd比位置Xc差,或沒有區別(因f(Xc)=f(Xd)),則認為Pi虛弱。強壯的種群能以較高的幾率不斷生長,而虛弱的種群則有可能不再生長。
Pi的強弱可用微生物生長指數(microbial growth index,MGI)來表示。質量好的解對應具有較高MGI指數的種群,即強壯的種群,質量差的解對應具有較低MGI指數的種群,即虛弱的種群。對于式(1),Pi的MGI指數按下式計算:

在E中,微生物培養的生物智能特征體現在如下幾個方面:
(1)各種群因爭奪培養液而存在相互影響,此類影響會在種群的某些特征間的隨機相互作用上體現出來,此為“競爭的智能特征”。
(2)一個種群以另外一些種群為食,那些被食的種群的某些特征就會融入到該種群的某些特征中,此為“吃的智能特征”。
(3)任一種群的進化是通過不斷向其他強勢種群學習而取得的,此為“學習的智能特征”。
微生物培養的生物智能特征最終以生物演化算子的形式體現出來。所有微生物種群間的相互影響投射到式(1)的H中,就是解向量間存在相互作用。
MDO 算法就是采用此類策略來實現對式(1)全局最優解的求解。
假設在培養系統E中共有N種微生物種群,每個種群既以培養液為食,又以E中L個其他種群為食。此外,有毒物質會毒害所有種群。時期t,種群Pi的濃度為yi(t),yi(t)≥0,i=1~N;培養液以流量Q流入到E中,其中營養物質的濃度為S0。該培養系統具有時滯影響的混雜食物鏈微生物脈沖培養動力學模型[5]如下:
式中,S(t)表示時期t培養液的營養物質濃度;μ0表示種群的相對增長系數;C0表示種群對培養液的消耗率;MS(t)表示時期t種群Pi捕獲到的K個種群的編號的集合;K0、α0、γ0、W0表示與種群生長相關的常數;yi(t)表示時期t種群Pi的濃度;c(t)表示有害物質濃度,c(t)≥0;q0表示每個培養液投放時期輸入的有害物質的數量;r表示種群因有害物質而毒害死亡的減少率,r>0;T表示培養液的投放周期;τ表示培養液向微生物種群轉化的滯后時間;t+為培養液投放時間點;k表示正整數,k≥1。
在時期t,種群Pi的占比ri(t)按下式計算:

種群Pi的占比ri(t)越大,被其他種群捕食的幾率也會越大。記時期t參數C0、Q、K0、S0、α0、μ0、r、γ0、W0、q0的取值分別為為方便計算,將式(3)改為離散遞推形式,即:
若t≠kT,則:

若t=kT,則:

式(5)和式(6)中各參數的含義及其取值限制條件參見表1。

Table 1 Strategy of taking value for parameters of microbial dynamics model表1 具有微生物培養動力學模型參數的取值策略
表1中,Rand(A,B)表示在區間[A,B]生成一個服從均勻分布的隨機數,A和B為常數,A≤B。
時期t,設當前種群為Pi,特征微生物種群集合的生成策略如下:
(1)產生被食種群集合MS(t)。時期t,種群Pi以另外K個種群為食,即從N-1 個種群中分別以{r1(t),r2(t),…,rN(t)}為概率分布隨機選擇K個種群(但Pi不能被選中),這些種群形成集合MS(t),不妨設MS(t)={i1,i2,…,ik,…,iK},ik為種群的編號,k=1~K。
(2)分別產生30%、20%、10%強壯種群的集合FMt、GMt、HMt。時期t,先從N個種群中隨機選出L個種群,這些種群的MGI指數要比當前種群Pi高30%,形成集合,其中s1,s2,…,sL是這些被選中種群的編號。然后從剩余的N-L個種群中隨機選出L個種群,這些種群的MGI指數比當前種群Pi高20%,形成集合,其中g1,g2,…,gL是這些被選中種群的編號;最后從剩余的N-2L個種群中隨機選出L個種群,這些種群的MGI指數比當前種群Pi高10%,形成集合,其中h1,h2,…,hL是這些被選中種群的編號。
(3)分別產生15%的強壯種群、虛弱種群、普通種群的集合ASt、BSt、CSt。時期t,從N個種群中隨機選出L個強壯種群,其MGI指數要高于當前種群Pi的15%,形成強壯種群集合其中a1,a2,…,aL是這些被選中種群的編號;然后從N個種群中隨機選出L個虛弱種群,其MGI指數要低于當前種群Pi的15%,形成虛弱種群集合,其中b1,b2,…,bL是這些被選中種群的編號;最后從剩余的N-2L個種群中隨機選L個普通種群,其MGI指數與當前種群Pi的MGI指數沒有關系,形成普通種群集合其中c1,c2,…,cL是這些被選中種群的編號。
MDO 算法利用微生物培養動力學模型式(3)來構造演化算子,從而實現培養系統與種群之間以及種群與種群之間的信息交換,進而實現對式(1)的搜索空間H的搜索。
(1)吸收算子。吸收算子描述的是種群Pi與另外K個種群之間的營養供給關系。將集合MS(t)中被食種群的一個隨機選出的特征fs,j,s∈MS(t)傳給當前種群Pi,使種群Pi獲得生長:

式中,xs,j(t)表示時期t種群Ps的特征j的狀態值,即在時期t變量xs,j的取值;vi,j(t+1)表示時期t+1 種群Pi的特征j的狀態值,即在時期t+1變量xi,j的取值;取βs=Rand(-0.95,0.95),ηi=Rand(0.45,0.65)。
(2)攫取算子。攫取算子描述的是一個種群攫取其他種群的優勢特征,從而使其變得強壯。讓FMt、GMt、HMt中的3L個強壯種群的特征fsl,j,sl∈{h1,h2,…,hL;g1,g2,…,gL;s1,s2,…,sL}所對應的優勢狀態值傳給種群Pi的特征fi,j,使Pi變得強壯。假設當前種群為Pi進行優勢攫取的特征為fi,j,則有:

式中,d1、d2、d3,e1、e2、e3,p1、p2、p3分別是從集合FMt、GMt、HMt中隨機選出來的,且滿足d1≠d2≠d3,e1≠e2≠e3,p1≠p2≠p3。
(3)混雜算子。混雜算子描述的是種群與種群之間的相互影響關系。對于當前種群為Pi,讓ASt、BSt、CSt中的3L個種群的特征b1,b2,…,bL;c1,c2,…,cL}所對應的狀態值經混雜融合后傳給種群Pi的特征fi,j,則有:

式中,ρs=Rand(0.75,0.85),λi=Rand(0.65,0.85)。
(4)毒素算子。毒素算子描述的是外部系統中的有毒物質對微生物的毒害作用,該毒害作用能夠在微生物種群之間傳遞。對于當前種群Pi來說,有:

式中,g1、g2、g3是從{1,2,…,N}中隨機選出來的,且滿足g1≠g2≠g3。
(5)生長算子。生長算子的定義如下:

式中,Xi(t)=(xi,1(t),xi,2(t),…,xi,n(t));Vi(t+1)=(vi,1(t+1),vi,2(t+1),…,vi,n(t+1));利用式(2)計算MGI(Vi(t+1))和MGI(Xi(t))。
(S1)初始化:①令t=0,演化時期數G=8 000~60 000,誤差要求ε=10-5~10-10,N=50~500,微生物種群被捕食的最高概率E0=1/1 000~1/100,K=2~10,T=1~10,τ=1~10,L=2~10。②隨機確定{X1(0),X2(0),…,XN(0)},{y1(0),y2(0),…,yN(0)},S(0)。
(S2)執行下列操作:
Fort=0 toG
按式(4)計算r1(t),r2(t),…,rN(t)。
若T不能整除t,則按式(5)計算c(t+1)、S(t+1);若T能整除t,則按式(7)計算c(t+1)、S(t+1)。


2.6.1 時間復雜度分析
MDO算法的時間復雜度計算過程如表2所示。

Table 2 Computation table of time complexity in MDO表2 MDO算法的時間復雜度計算表
2.6.2 MDO算法的收斂性分析
(1)Markov特性。從MDO算法的各算子的定義式(9)~式(12)知,時期t+1 任一新解的計算僅涉及該解在時期t時的狀態,而與該解在時期t以前是如何演變到時期t時的狀態的歷程無關,表明MDO 算法的演變過程具有Markov特性。
(2)“步步不差”特性。從生長算子的定義式(13)知,時期t+1 任一種群的MGI指數永遠不會低于其在時期t時的MGI指數,即MDO 算法的演變過程具有“步步不差”特性。
依據文獻[10]可知,滿足上述兩個特性的MDO算法具有全局收斂性,其相關證明可參見文獻[10],本文不再贅述。
CEC2013[11]是國際上通用智能優化算法測試包,其中包括有28 個經過精心設計的基準函數優化問題。本文選用其中的15個基準函數優化問題來測試MDO算法的性能,如表3所示。
表3 中,O是n維向量,其值可隨機產生。本文用MDO算法去求解表3中的15個函數優化問題,其參數是N=200,n=50,G=107,ε=10-7,E0=1/200,K=3,T=4,τ=3,L=3。與MDO算法進行比較的7種智能優化算法均選自國際著名期刊近期刊登的知名算法,這些算法如表4 所示,即RCGA(real-coded genetic algorithm)[12]、DASA(differential ant-stigmergy algorithm)[13]、NP-PSO(non-parametric particle swarm optimization)[14]、MpBBO(metropolis biogeographybased optimization)[15]、Copt-aiNet(artificial immune networks for combination optimization)[16]、SLADE(symmetric Latin-based adaptive differential evolution)[16]和GRABC(grab artificial bee colony algorithm)[17]。這7種算法的終止運行條件為:進化代數G=107或者最優解誤差ε=10-7。
針對每個基準函數優化問題,上述8種算法分別獨立運行51 次,以尋找全局最優目標函數。表5~表7 給出了每種算法所求得的最優目標函數值的平均值偏差、中值偏差、標準差、適應度評價次數。8種算法求解每個基準函數的性能排名是這些算法基于最優目標函數值的平均值偏差和適應度評價次數進行的排名;最終排名是基于8 種算法求解15 個基準函數所得的排名總積分而進行的排名。
非參數弗里德曼檢驗[19-20]是基于MDO算法所得的最佳結果與7 種被比較算法所獲得的最佳結果之間進行的非參數檢驗,以確定MDO 算法產生的結果是否與7 種被比較算法所獲得的結果有統計上的不同。弗里德曼檢驗的結果顯示在表8 中,其中Significance=1 表示MDO 算法的性能與被比較算法具有99%的統計學差異,Significance=0 表示MDO算法的性能與被比較算法的性能沒有顯著差異。在表8中,Significance=1的案例數和Significance=0 的案例數分別表示MDO算法與7種被比較算法顯著不同和幾乎相同的求解基準函數優化問題的數目。

Table 3 15 benchmark function optimization problems表3 15個基準函數優化問題

Table 4 Parameters setting of compared intelligent optimization algorithms表4 參與比較的智能優化算法的參數設置
從表5~表7 可以看出MDO、RCGA、DASA、NPPSO、MpBBO、Copt-aiNet、SLADE和GRABC按平均最優目標函數值精度的排序如下:
MDO>SLADE>Copt-aiNet>NP-PSO>
DASA>RCGA=GRABC>MpBBO
從表8 可以知道,MDO 算法求解15 個基準函數優化問題的顯著性案例總數為88,明顯大于不顯著性案例總數17,表明MDO 算法的性能明顯優于7 種被比較的算法。
圖1(a)~(f)說明MDO、RCGA、DASA、NP-PSO、MpBBO、Copt-aiNet、SLADE、GRABC 算法求解表3所示的6 個典型基準函數優化問題F3、F5、F14、F19、F26、F28 時的樣本收斂曲線,圖中水平和垂直軸采用對數刻度。從表5~表7可以看出,當MDO算法求解這6個優化問題時,均能以很高的精度發現全局最優解。綜合看來,MDO 算法的綜合性能要優于7種被比較算法,表明其求解精度高且計算速度快。
穿透能力和擴展能力用于描述MDO 算法在求解過程中陷入局部最優解陷阱后從陷阱逃逸并以一定精度收斂到全局最優解的能力。穿透能力用于描述MDO 算法在求解優化問題時或者快速從陷阱逃逸,或者快速收斂到全局最優解的能力;而擴展能力用于描述MDO 算法在求解優化問題時或者試探性跳出局部最優解陷阱,或者試探性提升最優解精度的能力。MDO算法的穿透和擴展能力可以通過微生物種群的行為來描述。當一個種群進行搜索時,其狀態可以分為穿透狀態和擴展狀態。一個種群每次只能停留在一個狀態:要么停留在穿透狀態,要么停留在擴展狀態。為了強調種群進入局部最優解陷阱的行為,將擴展狀態再分為兩個狀態,一個稱為膨脹狀態,另一個稱為粘滯狀態。

Table 5 Optimal solutions of all algorithms when solving unimodal benchmark functions表5 所有算法求解單峰基準函數時所得的最優解
當種群進行搜索時,如果種群的當前位置長期保持不變,認為種群已經陷入粘滯狀態。兩種情況可能會導致粘滯狀態:一種是種群陷入局部最優解陷阱;另一種情況是種群的當前位置不能被其他種群拋出的信息更新。
當所有種群陷入粘滯狀態時,搜索將自動停止,全局最優解將永遠保持不變。另一方面,如果一些優化問題具有很高的條件數,那么當種群容易陷入粘滯狀態時,提高全局最優解的精度總是困難的。
當MDO算法求解優化問題時,若穿透狀態總是占優,則意味著搜索或者快速從陷阱逃逸,或者快速接近全局最優解,因此更高的穿透能力對于MDO算法是一件好事;若膨脹狀態總是占優,則意味著搜索或者正在試探性跳出局部最優解陷阱,或者正在試探性提升當前最優解的精度,但可能耗費巨大的計算時間,因此算法的膨脹能力應該受到一定程度的控制;若粘滯狀態占優,則意味著搜索幾乎停止,因此必須完全避免粘滯狀態。
穿透和擴展能力的評估可以基于四種收斂曲線:(1)任意種群的收斂曲線,跟蹤任意一個種群搜索最優解的行為;(2)最佳種群的收斂曲線,其跟蹤最佳種群搜索最優解的行為;(3)所有種群的平均收斂曲線,其跟蹤所有種群在搜索最優解時的平均行為;(4)最佳收斂曲線,其跟蹤所有種群在搜索過程中發現當前最優解的行為。
任意種群的收斂曲線可能會造成巨大的計算負擔和計算機內存,因為在生態系統中有許多種群;此外,種群的行為太隨機以至于無法控制它們。最佳種群的收斂曲線難以掌握,因為最佳種群可能隨時間而變化。所有種群的平均收斂曲線與任意種群的收斂曲線相似,不僅可能造成巨大的計算負擔和計算機內存,而且可以提高不良種群的MGI值,并壓縮優良種群的MGI值。最佳收斂曲線可以在四條收斂曲線之間產生最小的計算負擔和計算機內存,而且曲線不是關注任何單個種群,而是關注由所有種群產生的最佳行為。

Table 6 Optimal solutions of all algorithms when solving multimodal benchmark functions表6 所有算法求解多峰基準函數時所得的最優解
MDO算法的穿透和擴展能力評價是基于最優收斂曲線的,是一種簡單、直觀的方法來判斷MDO 算法的穿透和擴展能力。
假設圖2是MDO算法求解某個最優化問題時的最佳收斂曲線,C點是演化的起始位置,對應的最佳目標函數值為F0,CPU 時間t=0;當演化到達時間t=t1時,當前最佳位置處于A,對應于最佳目標函數值是F1;當進化到達時間t=t2時,當前最佳位置處于B,對應的最佳目標函數值是F2。種群的穿透和擴展能力可以通過直線AB的斜率來識別,因此有:

Table 7 Optimal solutions of all algorithms when solving composite benchmark functions表7 所有算法求解復合基準函數時所得的最優解

顯然,若直線AB越陡,則穿透能力越高;若直線AB從陡峭向緩傾斜演變,則膨脹能力從好變壞,特別是當slope(t1)接近0時,膨脹能力變差,可能出現粘滯狀態。因此,必須定義兩個門限值λPs和λEs來說明這些情況:使用λPs來區分穿透狀態(penetration state)和膨脹狀態(expansion state),使用λEs來區分膨脹狀態和粘滯狀態(sticky state)。
(1)若slope(t1)>λPs,則意味著某些種群停留在穿透狀態。
(2)若λEs (3)若slope(t1)≤λEs,則意味著大多數種群有進入粘滯狀態的趨勢,演化可能停止。 現在考慮種群在時間區間[tA,tB]中的穿透和擴展能力。讓CountPs(tA,tB)表示在區間[tA,tB],tA≤t≤tB滿足slope(t)>λPs的位置數;CountEs(tA,tB)表示在區間[tA,tB]滿足λEs CountPs(tA,tB)=Count(i|slope(t)>λPs,tA≤t CountEs(tA,tB)=Count(i|λEs≤slope(t)≤λPs,tA≤t CountSs(tA,tB)=Count(i|slope(t)<λEs,tA≤t 其中,Count()是計算滿足給定條件的位置的函數。 定義在時間間隔[tA,tB]內的穿透與膨脹協調度的測量方法如下: Table 8 Comparison of Friedman test results(α=0.01)表8 Friedman檢驗結果比較(α=0.01) 其中,CPs/Es(tA,tB)稱為穿透-膨脹協調系數。 于是,有: (1)如CPs/Es(tA,tB)>CPs,則意味著搜索在時間間隔[tA,tB]內處于穿透占優狀態。 (2)若CPs/Es(tA,tB)≤CPs,則意味著搜索在時間間隔[tA,tB]內處于膨脹占優狀態。 類似地,可以定義在時間間隔[tA,tB]內的膨脹和粘滯之間的協調度的測量方法如下: 這里CEs/Ss(tA,tB)稱為膨脹-粘滯協調系數。 于是,有: (1)如果CEs/Ss(tA,tB)>CEs,則意味著搜索在時間間隔[tA,tB]內處于膨脹占優狀態。 (2)如果CEs/Ss(tA,tB)≤CEs,則意味著搜索在時間間隔[tA,tB]內處于粘滯占優狀態。 選擇Michalewicz 函數來說明MDO 算法的穿透能力和擴展能力。Michalewicz函數的形式為: 該函數具有如表9 所示的特性。Michalewicz 函數有n!個局部極值點,當n=80 時,其局部極值點有7.156 9×10118個,因此該函數極難求得最優解。 圖3展示了MDO算法在時間間隔[0,694]中求解Michalewicz函數時的穿透、膨脹和粘滯狀態的分布,計算參數為n=80,E0=0.005,K=3,T=4,τ=3,L=3,N=200,G=80 000。從圖3可以看到,當MDO算法求 解Michalewicz 函數時,CountPs(0,694)=103,CountEs(0,694)=297,CountSS(0,694)=40,需要23.41%的時間來進行穿透,67.50%進行膨脹,只有9.09%的概率落入粘滯狀態。 圖4 展示了當MDO 算法求解Michalewicz 函數時,在時間間隔[0,694]中出現的穿透、膨脹和粘滯狀態的數目。從圖4 可以看出,當MDO 算法求解Michalewicz函數時,穿透和膨脹狀態從0到250 s交替出現,但穿透狀態從0到250 s總是占優;在250 s到350 s之間,只有膨脹狀態發生;在350 s 之后,膨脹和粘滯狀態交替出現,但出現粘滯狀態的概率增加,膨脹狀態總是在350 s之后占優。這意味著穿透和膨脹從0到250 s依次進行;在250 s到350 s之間,搜索接近全局最優,僅需要進行膨脹;當搜索進行了350 s 時,粘滯狀態偶爾開始出現。 Fig.1 Convergence curves of all algorithms when solving 6 benchmark functions圖1 所有算法求解6個基準函數時的收斂曲線 圖5 展示了當MDO 算法求解Michalewicz 函數時,在時間間隔[0,694]中的穿透和膨脹之間的協調性。從圖5可以看出,當MDO算法求解Michalewicz函數時,穿透狀態從0到250 s占優;當t=250 s 時,穿透狀態占優,達到最大值;250 s 后,穿透狀態占優開始減少;相反,膨脹狀態出現的概率開始增加。該結論與從圖4所得到的結論一致。 圖6 展示了當MDO 算法求解Michalewicz 函數時,時間間隔[0,694]中的膨脹和粘滯之間的協調性。從圖6可以看出,當MDO算法求解Michalewicz函數時,當t=350 s 時,膨脹狀態占優達到最大值,之后,占優狀態出現次數開始減小。相反,粘滯狀態出現的次數開始增加,但粘滯狀態出現的次數總是不占優勢。 Fig.2 Evaluation of penetration and expansion capacity of MDO algorithm圖2 MDO算法的穿透和擴展能力評價 Table 9 Characteristics of benchmark function F3 and Michalewicz function表9 基準函數F3 和Michalewicz函數的特征 Fig.3 Distribution of penetration,expansion and viscosity(ε=1.0E-11,λPs=1.0,λEs=1.0E-10)圖3 穿透、膨脹和粘滯狀態分布(ε=1.0E-11,λPs=1.0,λEs=1.0E-10) Fig.4 Number of times of penetration,expansion and viscous state(λPs=1.0,λEs=10-10)圖4 穿透、膨脹和粘滯狀態出現次數(λPs=1.0,λEs=10-10) Fig.5 Variation of coordination coefficient of penetration and expansion with time(CPs=1.0)圖5 穿透-膨脹協調系數隨時間的變化規律(CPs=1.0) 從以上分析可知,當MDO算法求解帶海量局部最優解優化問題和帶高條件數優化問題時均表現出很好全局尋優能力,且其局部尋優能力和全局尋優能力的平衡性把控得較好。 本文基于帶時滯影響的混雜食物鏈微生物培養動力學理論提出了一種具有全局收斂性的新型優化算法,與其他典型群智能算法相比,MDO算法具有如下特點: Fig.6 Variation of coordination coefficient of expansion and viscosity with time(CEs=1.0)圖6 膨脹-粘滯協調系數隨時間的變化規律(CEs=1.0) (1)吸收算子、攫取算子、混雜算子和毒素算子可增加其搜索能力。 (2)采用隨機方法確定各算子中的相關參數,既大幅減少了參數輸入個數,又使模型更能表達實際情況。 (3)算法所涉及的微生物培養過程充分體現了多種微生物種群的濃度、培養液投放量及其營養物質濃度、培養液定期投放量中含有的有毒物質濃度、培養液投放周期、培養液向微生物轉化的滯后時間等參數的復雜變化情況。 (4)所有算子是通過利用具有時滯影響的混雜食物鏈微生物脈沖培養動力學理論以及微生物種群間的相互作用關系來進行構造的,不需要與求解的優化問題相關。因此,MDO算法具有很好的普適性。 (5)培養液及其所含有的有毒物質的濃度的脈沖增加會導致試探解從一個狀態突然轉移到另外一個狀態,這種性質有利于使搜索跳出局部最優陷阱。 (6)算法考慮到了微生物種群培養過程中外界因素的不連續間斷介入的現象。 (7)算法所涉及的微生物種群之間的相互作用豐富多彩,體現了培養系統中微生物種群間的復雜捕食-被食關系和競爭關系。 (8)算法體現了微生物培養動力學模型中各參數的復雜變化情況。 (9)在進行迭代計算時,算法每次只處理每個種群特征數的1/1 000~1/100,從而使時間復雜度大幅降低。因此,MDO算法適于求解高維優化問題。 MDO算法的下一步改進方向如下: (1)利用微生物培養動力學模型優化MDO算法的相關參數,使得這些參數設置更合理。 (2)深入研究吸收算子、攫取算子、混雜算子和毒素算子的動態特征。 (3)深入研究微生物種群的動態特征。


4.2 穿透與擴展能力分析







5 結束語
