范朝冬,章兢,易靈芝
(湘潭大學 信息工程學院,湖南 湘潭 411105)
優(yōu)化問題是科學研究和工程應用中的一個熱點問題,尋求快速、穩(wěn)健、有效的優(yōu)化技術是各行各業(yè)長期探討的課題,其中智能優(yōu)化算法因實現(xiàn)簡單、運算速度快、優(yōu)化效果好,已引起國內(nèi)外學者的廣泛關注。依據(jù)原理的不同,現(xiàn)有的智能優(yōu)化算法大致可分為3類:①基于遺傳進化機制的優(yōu)化算法,如遺傳算法[1]、進化策略[2]、進化規(guī)劃[3]等;②基于生物群體智能的優(yōu)化算法,如微粒群算法[4]、猴群算法[5]、人工蜂群算法[6]等;③基于物理現(xiàn)象或規(guī)律的優(yōu)化算法,如類電磁機制優(yōu)化算法[7]、中心力算法[8]、萬有引力算法[9]等。由于物理學的高度發(fā)展,模擬物理現(xiàn)象或物理規(guī)律的優(yōu)化算法因具有理論來源清晰、算法模型簡單、規(guī)范且尋優(yōu)效果較好等諸多優(yōu)點,正逐漸成為優(yōu)化算法研究的熱點。
鑒于基于物理規(guī)律優(yōu)化算法的諸多優(yōu)點,通過模擬分子機制,筆者于2013年首次提出了分子動理論優(yōu)化算法(KMTOA)并將其應用于函數(shù)優(yōu)化問題[10]。KMTOA能較好地兼顧收斂性和種群多樣性,在快速收斂的同時能盡量避免陷入局部極值,表現(xiàn)出良好的優(yōu)化性能。2014年,筆者將其與斜分 Otsu法相結合以對氧化鋁回轉窯火焰圖像進行分割,取得了理想的分割效果[11]。KMTOA雖然具備良好的優(yōu)化性能,但仍然存在一些不足,如缺乏局部搜索機制,求解精度有待提高;當前最優(yōu)值為局部極值時,算法可能發(fā)生錯誤引導。
協(xié)同進化思想能充分地考慮種群與種群間、種群與環(huán)境間在進化過程中的相互協(xié)調(diào)關系,通過協(xié)同進化以改善各自性能,已成為智能優(yōu)化領域的研究熱點[12,13]。精英通常指種群中適應值較高的個體,這些個體對整個種群的進化起著重要的引導作用[14,15]。慕彩紅等基于M個精英來建立團隊,提出了M-精英協(xié)同進化算法并將其應用于函數(shù)優(yōu)化,取得了較好的效果[16,17]。因此,本文針對KMTOA的不足,提出了一種M-精英協(xié)同進化分子動理論優(yōu)化算法(MECKMTOA,M-elite coevolutionary KMTOA)。該算法采用M個精英代替單個精英來實現(xiàn)引導操作,以減小發(fā)生錯誤性引導的概率;基于學習與協(xié)作機制,精英能學習其他精英的先進知識而對自身進行優(yōu)化搜索,從而提高算法的收斂精度;設計了一種自適應的波動算子,以防止算法陷入按維早熟。實驗結果表明,MECKMTOA不僅具備更好的求解精度和算法穩(wěn)定性,而且能更好地求解高維函數(shù)問題。
在基于群體的優(yōu)化算法中,算法由可行域中的一組隨機點出發(fā),依據(jù)隨機點的目標函數(shù)值,通過一定的搜索策略使其收斂到問題的最優(yōu)解。依據(jù)不同的原理各種算法采用了不同的搜索策略,其中KMTOA是受分子動理論的啟發(fā)而提出的一種全局優(yōu)化算法。該算法將問題的每個解視為一個分子,各分子在當前最優(yōu)分子的吸引或排斥作用下運動而完成搜索過程;為增強算法跳出局部極值的能力,對于不受力的分子,通過模擬分子熱運動而進行隨機擾動?;诜肿酉嗷プ饔煤蜔徇\動機制,KMTOA在搜索過程中能較好地兼顧收斂性和種群多樣性。
設分子總數(shù)為N,問題維數(shù)為D,分子i的位置和質(zhì)量分別為xi和mi,當前最優(yōu)分子的位置和質(zhì)量分別為分別表示分子受當前最優(yōu)分子吸引、排斥和不受力的概率;當分子不受力時,對其進行隨機擾動以增強算法的全局搜索能力。KMTOA可簡要描述如下[10]。
KMTOA僅依靠種群中的當前最優(yōu)分子來實現(xiàn)尋優(yōu)操作,故算法在優(yōu)化過程中易出現(xiàn)圖1所示的情形:當前最優(yōu)分子xBest為一局部極值,其他分子受其引導向該局部極值收斂,從而造成了算法的錯誤收斂。雖然波動算子使算法具有跳出局部極值的能力,但是波動率和變異率都很小,且變異是隨機的,故算法跳出局部極值的過程是艱難而漫長的??梢?,KMTOA僅依靠當前最優(yōu)分子來引導搜索過程,存在一定的片面性。雖然當問題僅含一個極值時,算法效率較高;但是當問題包含多個局部極值時,該機制將嚴重影響算法的效率。
圖1 KMTOA的錯誤性引導
定義 1在算法迭代過程中,如種群中的所有分子均滿足
則稱算法陷入按維早熟。其中,x·j表示種群中所有分子的第j維分量所構成的向量,max(x·j)和min(x·j)分別表示種群中所有分子第j維分量的最大、最小值,ε為一極小量。
由式(6)可知,當算法陷入按維早熟時,種群中的所有分子在某一維上的差異極小。此時,分子在其他維上仍然可能繼續(xù)進化,故算法此時也許尚未發(fā)生真正的早熟,但如任其發(fā)展,則算法極有可能發(fā)生早熟。正是為了區(qū)別于傳統(tǒng)概念上的早熟,本文將其稱為按維早熟。由KMTOA的實現(xiàn)過程可知,當陷入按維早熟時,要使分子在該維上出現(xiàn)差異(即跳出按維早熟)是較為困難的。此外,KMTOA還缺乏局部尋優(yōu)機制,其尋優(yōu)精度有待提高。
在M-精英協(xié)同進化算法中,每個精英團隊的規(guī)模都相等[16,17],這與自然界中優(yōu)勝劣汰的生存法則嚴重不符。自然界中能力強的個體在競爭過程中將處于優(yōu)勢地位,往往占據(jù)更多的資源,能夠繁殖更多后代[18],故其團隊規(guī)模也相對較大。在優(yōu)化過程中,精英的能力越強,則意味著問題的解在其附近的可能性越大。因此,對于能力較強的精英,應組建規(guī)模較大的團隊,以便引導更多分子進行優(yōu)化搜索,這對提高算法效率具有重要意義。基于上述思想,本文設計了一種基于能力的團隊構建算子,將每個精英的能力定義為
其中,M表示精英種群的規(guī)模,xworst和f(xworst)分別表示當前種群中的最差分子及其函數(shù)值。根據(jù)精英能力的定義,其團隊規(guī)??捎嬎闳缦?/p>
其中,Membersi表示精英i所能構建團隊的規(guī)模,Popsize表示種群規(guī)模。可見,精英的目標函數(shù)值越小,其能力越強,能夠組建團隊的規(guī)模就越大,引導分子搜索到最小值的可能性也就越大。
在KMTOA中,由于缺乏相應的局部搜索機制,當求解復雜問題時,其求解精度往往難以令人滿意。對此,當團隊成員屬于精英種群時,基于學習機制設計了一種協(xié)作算子。該算子通過在精英間交換信息以引導精英對其鄰域進行搜索,從而實現(xiàn)局部搜索?;趯W習機制的精英協(xié)作算子定義如下
其中,i≠j,xik表示精英i的第k維分量,N(0,1)為服從標準正態(tài)分布的隨機變量,D為解向量的維數(shù),ui為協(xié)作過程完成后所得到的臨時個體。
得到精英xi的臨時個體ui后,可分別按式(10)、式(11)對精英xi、xj進行更新。
由上式可知,如臨時個體ui對精英xi進行了更新,則ui將不會對xj進行更新,這樣做是為了防止種群快速收斂到同一個值而造成算法早熟。
當用KMTOA求解復雜性問題時,算法可能出現(xiàn)按維早熟。由KMTOA的實現(xiàn)過程可知,當出現(xiàn)按維早熟時,算法主要依靠波動算子來跳出局部極值;但是KMTOA中的波動率和變異率都比較小,這就決定了算法跳出局部極值的可能性較小。對此,本文設計了一種防按維早熟的波動算子,該算子依據(jù)種群在當前維上的差異來對變異率進行計算;如差異較小,則該維變異率較大,以使分子能以較大的概率發(fā)生變異而保持種群多樣性。防按維早熟的變異率計算公式為
當團隊成員xj來自普通種群時,精英xi通過引導操作引導普通分子進行優(yōu)化搜索。在引導過程中,精英分別依據(jù)吸引率Pattraction、排斥率Prepulsion和波動率Pwave來判斷對分子進行何種引導,具體操作如下:①當精英對普通分子進行吸引操作時,按式(1)計算其相應的引力加速度;②當精英對普通分子進行排斥操作時,按式(2)計算其相應的斥力加速度;③當普通分子進行隨機擾動時,分別按式(12)、式(3)計算其相應的變異率和波動加速度。
計算出普通分子的加速度aj后,根據(jù)式(4)計算其速度Vj,并計算其臨時個體Tmp為
根據(jù)臨時個體Tmp,分別按式(14)、式(15)對精英xi和普通分子xj進行更新
由上式可知,只有當臨時個體Tmp比精英xi好時,Tmp才會取代xi而成為新的精英;而無論如何,臨時個體Tmp都會取代xj而成為新的普通分子。這么做一方面能夠避免精英退化,另一方面又能較好地維持普通種群的多樣性。
MECKMTOA的算法流程如圖2所示。
定理1在算法運行過程中,MECKMTOA的種群序列{Xt,t≥ 0 }為有限齊次Markov鏈。
證明 MECKMTOA采用實數(shù)編碼,如設定精度為ε,則解空間S可視為的離散空間,故種群序列有限;由算法過程可知,第t+1代的種群Xt+1僅與其上代種群Xt有關。因此,種群序列為有限齊次的Markov鏈。
圖2 MECKMTOA算法流程
定義2設f為S上的目標函數(shù),f*為全局最優(yōu)值,則最優(yōu)解集s*可表示為
為便于與 KMTOA比較,選擇文獻[10]中的f6~f2015個經(jīng)典測試函數(shù)作為測試對象(記為F1~F15),對MECKMTOA的性能進行測試。測試實驗分為4個部分:第1部分為M取值及相關算子的合理性分析實驗,主要討論M的取值及各算子對算法性能的影響;第2部分為縱向比較實驗,對改進前后算法的性能進行比較,以驗證改進措施的有效性;第3部分為橫向比較實驗,將MECKMTOA與組織進化算法(OEA, organizational evolutionary algorithm)和M-精英協(xié)同進化算法(MECA,M-elite coevolutionary algorithm)等協(xié)同進化算法進行比較;第 4部分為高維及超高維函數(shù)測試實驗,測試MECKMTOA解決高維及超高維問題的能力。所有實驗運行的硬件平臺均為:Intel(R) Celeron(R) 1.50 GHz的CPU,2 GB內(nèi)存,Windows 7操作系統(tǒng),編程語言為Matlab R2011a。
為測試精英數(shù)量M及各算子對 MECKMTOA性能的影響,分別選用F5、F6和F9這3個復雜函數(shù)對MECKMTOA進行測試。為便于后續(xù)與文獻[16]中的MECA和OEA進行比較,MECKMTOA的種群規(guī)模取100,算法的最大迭代次數(shù)取3 000,每種情況下算法均獨立運行50次,實驗結果取50次測試的平均值。
5.1.1M取值分析
為測試精英種群的規(guī)模M對MECKMTOA的影響,首先從種群規(guī)模范圍內(nèi)選取部分值作為M的取值,以確定M的大致取值范圍,然后在該范圍內(nèi)對M的取值做進一步的討論。參照文獻[16],分別取M=3,5,10,15,20, 30,40,50,70,90,對 MECKMTOA的不同結果進行比較以確定M的大致取值范圍。由表1可知:對于函數(shù)F5、F6和F9,當M取值小于10時,算法的優(yōu)化效果較好;當M大于10時,算法的求解結果隨M的增大而越來越差,故M的理想取值應小于10。
為討論M的具體取值,對M=1,2,3,4,5,6,7,8,9,10時,MECKMTOA的不同結果進行了比較,比較結果如表2所示。由表2可知:對于函數(shù)F5、F6和F9,M取4~6的值時算法能取得較好的效果;M過大或過小,都將對算法的性能造成影響;當M取5左右時,MECKMTOA的實驗結果相對較好。
表1 M對MECKMTOA的影響1
表2 M對MECKMTOA的影響2
為分析M取值的合理性,借鑒文獻[19]閾值Q的分析方法,對F1~F15在M分別取1,2,…,10時的不同情況進行測試,并運用最小二乘法對測試結果的均值及其平均標準差進行擬合。擬合結果如下,其擬合曲線分別如圖3和圖4所示。
圖3 M取不同值時,平均適應值擬合曲線
圖4 M取不同值時,平均標準差擬合曲線
擬合結果表明:當M分別取5.170 9和5.026 0時,平均適應值和平均標準差能取得最小值。M過大、過小都會影響算法效果,這是因為M過大,種群過于分散,不利于算法收斂;M過小,則種群多樣性差,易造成欺騙性引導。又因M取值為整數(shù),故在后續(xù)的所有實驗中均取M=5。擬合結果有力地驗證了前文的分析。
5.1.2 相關算子分析
為改善算法的性能,本文設計了基于學習機制的精英協(xié)作算子、基于能力的團隊構建算子及防按維“早熟”的波動算子。為驗證各算子對算法性能的影響,用MECKMTOA1表示MECKMTOA中剔除了精英協(xié)作算子的算法,用MECKMTOA2表示MECKMTOA中固定了團隊規(guī)模的算法,用MECKMTOA3表示MECKMTOA中采用了傳統(tǒng)波動算子的算法,4種算法對函數(shù)F5、F6和F9的測試結果如表3所示。由表3可知,3個算子中基于能力的團隊構建算子對MECKMTOA的影響最小,但因基于能力的團隊構建算子能召集更多的成員對優(yōu)秀分子附近進行搜索,故該算子對提高算法收斂的速度和精度具有一定影響;基于學習機制的精英協(xié)作算子通過在精英間進行交換信息,對精英附近進行搜索,故對提高算法的收斂精度具有重要影響;防按維早熟的波動算子能根據(jù)每維的情況自適應地調(diào)整變異率,能較好地防止算法陷入局部極值,如去掉該算子,則算法的性能將大幅下降。綜合考慮,3個算子能從不同的角度對算法的性能進行改進,故同時采用該3個算子的MECKMTOA最為理想。
表3 各算子對MECKMTOA的影響
表4 MECKMTOA與KMTOA的性能對比
為測試MECKMTOA的性能,將MECKMTOA與 KMTOA進行比較。2種算法的種群規(guī)模均為100,最大迭代次數(shù)均為3 000,吸引率、排斥率、波動率等與文獻[10]中一致,每個算法獨立運行50次,選用 50次結果中的最小值、最大值、平均值和標準差4項指標對算法的性能進行比較,比較結果如表4所示。由表4可知:對于F1等KMTOA能取得最優(yōu)值的函數(shù),MECKMTOA也均能取得最優(yōu)值;對于F2等KMTOA未能取得最優(yōu)值的函數(shù),雖然MECKMTOA也未能取得最優(yōu)值,但是其求解精度具有明顯改善,如對于F2、F14等函數(shù),MECKMTOA的求解精度甚至比KMTOA高幾個數(shù)量級。此外,由比較結果還能看出MECKMTOA幾乎在各項指標上均優(yōu)于KMTOA。
為進一步驗證MECKMTOA的性能,將其與文獻[16]中的MECA和OEA這2種協(xié)同進化算法進行比較。實驗選取本文與文獻[16]所共有的 8個測試函數(shù)作為測試對象,表5為3種算法的比較結果,其中MECA和OEA的數(shù)據(jù)選自文獻[16]。由表5可知:除F5和F9外,MECKMTOA能對所有的函數(shù)求得最優(yōu)值;對于F5,雖然 MECKMTOA未能求得最優(yōu)值,但其求解精度仍比MECA和OEA高1~2個數(shù)量級;在8個測試函數(shù)中,MECKMTOA只有對f14的求解結果比MECA和OEA差。故總體考慮,MECKMTOA在求解精度、算法穩(wěn)定性等方面比MECA和OEA具有更好的效果。
為檢驗 MECKMTOA求解復雜問題的能力以及問題復雜度的增加對算法性能的影響,用MECKMTOA 分別求解高維(維數(shù)為 10~1 000)和超高維(維數(shù)1 000以上)條件下的F10和F13,并將其求解結果與文獻[20]中的免疫記憶克隆規(guī)劃算法(IMCPA, immune memory clonal programming algorithm)及無記憶功能的免疫記憶克隆規(guī)劃算法(nIMCPA)進行比較。算法終止條件為為算法當前的最優(yōu)值,ε為算法的收斂精度。參照文獻[20],對于高維函數(shù),平均函數(shù)評價次數(shù)取算法 10次運行的平均值;對于超高維函數(shù),平均函數(shù)評價次數(shù)取算法 5次運行的平均值;IMCPA和nIMCPA的數(shù)據(jù)選自文獻[20],“—”表示沒有進行該實驗。
由表6可知:與IMCPA和nIMCPA相比,在相同的收斂精度下,MECKMTOA所需的平均函數(shù)評價次數(shù)相對較少;隨著維數(shù)的增加,MECKMTOA、IMCPA和nIMCPA的平均函數(shù)評價次數(shù)均有所增長,但MECKMTOA的平均函數(shù)評價次數(shù)增長的相對緩慢。比較結果表明:MECKMTOA即使在超高維條件下仍能表現(xiàn)出良好的性能,且其性能不隨問題維數(shù)的增加而迅速下降。
表5 MECKMTOA與MECA及OEA的比較
表6 高維及超高維函數(shù)測試結果
針對KMTOA存在的不足,通過引入精英和協(xié)同進化思想,提出了一種M精英協(xié)同分子動理論優(yōu)化算法。該算法采用M個精英,減小了傳統(tǒng)算法發(fā)生錯誤性引導的概率,改善了算法的收斂效率;精英通過協(xié)作算子,學習先進知識以改善自己,提高了算法的收斂精度;防按維早熟的波動算子因能自適應地調(diào)節(jié)波動率,能有效地防止算法發(fā)生早熟。為分析M的取值對算法性能的影響,討論了M的不同取值情況,確定了其大致取值。為驗證各算子的合理性,分析了各算子對算法所造成的影響。與KMTOA的縱向比較表明,MECKMTOA的改進策略是有效的;與MECA和OEA這2種協(xié)同進化算法的橫向比較結果表明,MECKMTOA的協(xié)同引導機制具有明顯優(yōu)勢;對高維及超高維函數(shù)的測試結果表明,MECKMTOA具備求解復雜性問題的能力,且其性能受問題維數(shù)的影響相對較小。綜合考慮,MECKMTOA具備較強的優(yōu)化性能,有望應用于復雜問題的求解,具有重要的理論研究意義和工程應用價值。
[1] LIN C H, CHOY K L, HO G T S, NG T W. A genetic algorithm-based optimization model for supporting green transportation operations[J].Expert Systems with Applications, 2014, 41(7): 3284-3296.
[2] DONG W Y, ZHOU M C. Gaussian classifier-based evolutionary strategy for multimodal optimization[J]. IEEE Transactions on Neural Networks & Learning Systems, 2014, 25(6): 1200-1216.
[3] KHATOD D K, PANT V, SHARMA J. Evolutionary programming based optimal placement of renewable distributed generators[J]. IEEE Transactions on Power Systems, 2013, 28(2): 683-695.
[4] MIRJALILI S, LEWIS A, SADIQ A S. Autonomous particles groups for particle swarm optimization[J]. Arabian Journal for Science and Engineering, 2014, 39(6): 4683-4697.
[5] ZHENG L. An improved monkey algorithm with dynamic adaptation[J].Applied Mathematics and Computation, 2013, 222(1): 645-657.
[6] 張冬麗,唐英干,關新平. 用改進的人工蜂群算法設計AVR系統(tǒng)最優(yōu)分數(shù)階PID控制器[J].自動化學報,2014, 40(5): 973-979.ZHANG D L, TANG Y G, GUAN X P. Optimum design of fractional order pid controller for an avr system using an improved artificial bee colony algorithm[J]. Acta Automatica Sinica, 2014, 40(5): 973-979.
[7] ZHANG C J, LI X Y, GAO L WU Q. An improved electromagnetism-like mechanism algorithm for constrained optimization[J]. Expert Systems with Applications, 2013, 40(14): 5621-5634.
[8] FORMATO R A. Central force optimization with variable initial probes and adaptive decision space[J]. Applied Mathematics and Computation, 2011, 2(17): 8866-8872.
[9] MIRJALILI S, LEWIS A. Adaptive gbest-guided gravitational search algorithm[J]. Neural Computing and Applications, 2014, 25(7):1569-1584.
[10] FAN C D, OUYANG H L, ZHANG Y J,et al. Optimization algorithm based on kinetic-molecular theory[J]. Journal of Central South University, 2013, 20(12): 3504-3512.
[11] 范朝冬, 張英杰, 歐陽紅林等. 基于改進斜分Otsu法的回轉窯火焰圖像分割[J]. 自動化學報, 2014, 40(11): 2480-2489.FAN C D, ZHANG Y J, OUYANG H L,et al. Improved Otsu method based on histogram oblique segmentation for segmentation of rotary kiln flame image[J]. Acta Automatica Sinica, 2014, 40(11):2480-2489.
[12] JIAO L C, WANG H D, SHANG R H,et al. A co-evolutionary multi-objective optimization algorithm based on direction vectors[J]. Information Sciences, 2013, 228(10): 90-112.
[13] LI H C, FANG L. Co-evolutionary algorithm: an efficient approach for bilevel programming problems[J]. Engineering Optimization, 2014,46(3): 361-376.
[14] CHEN P H. Two-level hierarchical approach to unit commitment using expert system and elite PSO[J]. IEEE Transactions on Power Systems,2012, 27(2): 780-789.
[15] YOUSEFIKHOSHBAKHT M, DIDEHVAR F, RAHMATI F. An efficient solution for the vrp by using a hybrid elite ant system[J]. International Journal of Computers Communications & Control, 2014,9(3): 340-347.
[16] 慕彩紅, 焦李成, 劉逸.M-精英協(xié)同進化數(shù)值優(yōu)化算法[J]. 軟件學報, 2009, 20(11): 2925-2938.MU C H, JIAO L C, LIU Y.M-elite coevolutionary algorithm for numerical optimization[J]. Journal of Software, 2009, 20(11): 2925-2938.
[17] 慕彩紅, 焦李成, 劉逸.M-精英協(xié)同進化算法及其在 V-BLAST系統(tǒng)中的應用[J]. 電子與信息學報, 2009, 31(10): 2443-2448.MU C H, JIAO L C, LIU Y.M-elitist evolutionary algorithm and its application to v-blast system[J]. Journal of Electronics & Information Technology, 2009, 31(10): 2443-2448.
[18] 秦進, 李歆. 一種簡單的資源受限的群體演化模型[J]. 復雜系統(tǒng)與復雜性科學, 2009, 6(2): 82-86.QIN J, LI X. A simple model of population evolution with limited resource[J]. Complex Systems and Complexity Science, 2009, 6(2):82-86.
[19] 范朝冬, 歐陽紅林, 肖樂意. 基于空間截面投影的Otsu圖像分割算法[J]. 通信學報, 2014, 35(5): 70-78.FAN C D, OUYANG H L, XIAO L Y. Otsu thresholding method based on projection of cross section for image segmentation[J]. Journal on Communications, 2014, 35(5): 70-78.
[20] 杜海峰, 公茂果, 焦李成等. 用于高維函數(shù)優(yōu)化的免疫記憶克隆規(guī)劃算法[J]. 自然科學進展, 2004, 14(8): 925-933.DU H F, GONG M G, LIAO L C,et al. Immune memory clonal programming algorithm for high dimension function optimization[J].Progress in Natural Science, 2004, 14(8): 925-93.