一種基于動態(tài)變異策略的群體全局優(yōu)化方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種智能優(yōu)化、計算機應(yīng)用領(lǐng)域,尤其涉及的是,一種基于動態(tài)變異策 略的群體全局優(yōu)化方法。
【背景技術(shù)】
[0002] 全局優(yōu)化作為最優(yōu)化學(xué)科領(lǐng)域中一個獨立的學(xué)科分支,已成為人們研究實際問題 時進行建模和分析的重要手段之一。在科學(xué)、經(jīng)濟和工程設(shè)計中,如生物信息學(xué)、機械設(shè)計、 化學(xué)工程設(shè)計和控制、環(huán)境工程、以及圖形處理等,許多進展都依賴于計算相應(yīng)的優(yōu)化問題 的全局最優(yōu)解的數(shù)值技術(shù)。同時,隨著工程優(yōu)化問題的日趨復(fù)雜,優(yōu)化問題的目標函數(shù)的性 態(tài)也變得越來越復(fù)雜,通常是不連續(xù)、不可微、高度非線性的,沒有明確的解析表達式,且具 有多個峰值、多目標的特征。因此,解決常規(guī)的優(yōu)化問題已成為計算機科學(xué)和優(yōu)化領(lǐng)域的一 個挑戰(zhàn)性課題。
[0003] 進化算法作為全局優(yōu)化的一個分支,是基于自然選擇和自然遺傳等生物進化機制 的一種搜索算法,已成功地用于求解各種優(yōu)化問題。典型的進化算法有差分進化算法(DE)、 遺傳算法(GA)、進化策略(ES)、進化規(guī)劃(EP)以及粒子群算法(PSO)等,這些算法不需要 導(dǎo)數(shù)信息,對函數(shù)的性態(tài)沒有要求,而且適用范圍廣、魯棒性強。Storn和Price提出的差 分進化算法作為一種隨機性算法,已經(jīng)被證明是進化算法中簡單而最高效的算法,在很多 領(lǐng)域得到了廣泛應(yīng)用。DE算法通過群體內(nèi)個體間的合作與競爭產(chǎn)生的群體智能指導(dǎo)優(yōu)化搜 索,具有算法通用,不依賴于問題信息,原理簡單,易于實現(xiàn),記憶個體最優(yōu)解和種群內(nèi)信息 共享以及較強的全局收斂能力等特點。因此,DE算法在電力系統(tǒng)、通信、化工、光學(xué)及機械 工程等領(lǐng)域的廣泛應(yīng)用中展現(xiàn)出了其獨特的優(yōu)勢,但在理論和應(yīng)用中也暴露出諸多不足和 缺陷:(1)貪婪選擇策略加快了算法的收斂速度,但是也使其極易陷入局部最優(yōu)而降低可 靠性;(2)求解時需要大量的函數(shù)評價次數(shù)而導(dǎo)致計算代價較高;(3)全局探測能力較強, 但是局部搜索能力較弱,后期收斂速度較慢。
[0004] 為了提高DE算法的性能,Ali等通過在DE算法的變異過程加入錦標賽機制提 出一種改進DE算法(DERL),同時在選擇環(huán)節(jié)引入反射和收縮算子提出另一種改進DE算 法(DELB),從而降低算法的計算代價。Bhattacharya等提出一種基于生物地理學(xué)優(yōu)化算 法(BBO)的混合DE算法(DE/BB0),利用BBO算法的迀移操作來指導(dǎo)DE算法變異產(chǎn)生新個 體,即對較優(yōu)個體進行保存,從而通過較差個體接受較優(yōu)個體的新特性的方式使得當前種 群得到充分探測,以提高算法的全局搜索能力,同時加快算法的收斂速度。Cai等提出一種 基于近鄰信息和方向信息的差分進化算法(NDi-DE),在變異過程中,利用個體的近鄰信息 選擇父代個體,同時利用一種包含方向的變異策略自適應(yīng)的獲取近鄰個體的方向信息,從 而在搜索過程中,不僅能夠快速的定位極小值區(qū)域,加快算法的收斂速度,而且能夠防止個 體落入無效區(qū)域。Wang等提出一種具有復(fù)合新個體生成策略和控制參數(shù)的差分進化算法 (CoDE),在算法中分別設(shè)置一個策略池和一個參數(shù)池,通過策略池中不同的生成策略與參 數(shù)池中不同的控制參數(shù)隨機組合來競爭產(chǎn)生新個體,從而改善DE算法的性能。上述改進算 法取得了一定的效果,但是對于實際應(yīng)用中的一些大規(guī)模優(yōu)化問題,由于其目標函數(shù)曲面 極其粗糙復(fù)雜,因此,對于上述改進算法,計算代價和收斂速度仍然是算法的瓶頸所在,而 且也極容易出現(xiàn)早熟收斂。
[0005]因此,現(xiàn)有的基于群體進化算法的全局優(yōu)化方法在計算代價和收斂速度方面存在 著缺陷,需要改進。
【發(fā)明內(nèi)容】
[0006] 為了克服現(xiàn)有的基于群體進化算法的全局優(yōu)化方法計算代價較高和收斂速度較 慢的不足,本發(fā)明提出一種計算代價較低、收斂速度快的基于動態(tài)變異策略的群體全局優(yōu) 化方法。
[0007] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
[0008] -種基于動態(tài)變異策略的群體全局優(yōu)化方法,所述方法包括以下步驟:
[0009] 1)初始化:設(shè)置種群規(guī)模NP,初始交叉概率Cr,初始增益常數(shù)F ;
[0010] 2)隨機生成初始種群P= {^?丨...,產(chǎn)8},并計算出各個體的目標函數(shù)值,其 中,進化代數(shù)g = 〇, X1丨i = 1,2,…,Np表示第g代種群中的第i個個體;
[0011] 3)根據(jù)公式⑴計算出初始種群中各個體之間的平均距離dinitlal;
[0012]
(1)
[0013] 其中,表示第g代種群中第i個個體X μ的第j維元素,表示第g代種群中 第k個個體X k>g的第j維元素,N為問題維數(shù),N P為種群規(guī)模;
[0014] 4)根據(jù)公式⑴計算出當前種群中各個體之間的平均距離daTC;
[0015] 5)對種群中的每個個體根據(jù)式(2)進行變異:
[0016]
[0017] 其中,j = 1,2,…,N,N為問題維數(shù),g為進化代數(shù),a,b,c e {1,2,...,NP}, a辛b辛c #i,i為當前目標個體的索引,為第g代種群中第i個目標個體的變異個體 的第j維元素,;fg、@氣分別為第g代種群中第a、b、c個個體的第j維元素,為 當前第g代種群中的最優(yōu)個體的第j維元素,F(xiàn)表示增益常數(shù),F(xiàn) = N(0. 5, 0. 3),N(0. 5, 0. 3) 表不均值為0. 5,標準偏差為0. 3的正態(tài)分布隨機數(shù);
[0018] 6)根據(jù)公式(3)對每個變異個體進行交叉生成新個體trial1>g:
[0019]
[0020] 其中,j = 1,2,···,Ν,〖Γ/α/ρ表示第g代種群中第i個目標個體對應(yīng)的新個體 trials的第j維元素,randb(0, 1)表示為隨機產(chǎn)生0到1之間的小數(shù),rnbr(j)表示隨機 產(chǎn)生1到N之間的整數(shù),C/表示第g代中第i個個體的交叉概率,可根據(jù)公式(4)求得;
[0021]
[0022] 其中,C^f1表示第g+Ι進化代數(shù)中第i個目標個體的交叉概率,N(0. 5, 0. 1)表示 生成均值為〇. 5,標準偏差為0. 1的正態(tài)分布隨機數(shù);公式(4)表明,如果第g代的交叉概 率C/產(chǎn)生的新個體優(yōu)于目標個體,則在第g+Ι代時保持交叉概率不變,否則重新生成;
[0023] 7)根據(jù)公式(5)對每個新個體進行種群更新:
,公式(5)表明,如果新個體優(yōu)于目標個體,則新個體替換目標個體,否則 保持目標個體不變;
[0026] 8)判斷是否滿足終止條件,如果滿足,則保存結(jié)果并退出,否則返回步驟4)。
[0027] 進一步,所述步驟8)中,終止條件為函數(shù)評價次數(shù)。當然,也可以為其他終止條 件。
[0028] 本發(fā)明的技術(shù)構(gòu)思為:首先,計算出初始種群中各個體之間的初始平均距離,并根 據(jù)初始平均距離將整個進化算法分為三個階段;然后,在進化過程中根據(jù)當前種群個體的 擁擠程度,即各個體之間的平均距離判斷算法所處的階段,從而對每個階段使用不同的變 異策略來產(chǎn)生新個體;其次,對參數(shù)使用自適應(yīng)調(diào)整策略;通過以上設(shè)計,從整體上降低算 法的計算代價,并加快算法的收斂速度。
[0029] 本發(fā)明的有益效果表現(xiàn)在:根據(jù)個體的平均距離來判斷算法所處的階段,對各階 段采用合適的變異策略來產(chǎn)生新個體,同時采用參數(shù)自適應(yīng)機制,從而降低算法的計算代 價,同時加快算法的收斂速度。
【附圖說明】
[0030] 圖1是基于動態(tài)變異策略的群體全局優(yōu)化方法的基本流程圖。
[0031] 圖2是階段性動態(tài)變異策略的群體全局優(yōu)化方法對30維Ackley優(yōu)化求解時的平 均收斂曲線圖。
【具體實施方式】
[0032] 下面結(jié)合附圖對本發(fā)明作進一步描述。
[0033] 參照圖1~圖2,一種基于動態(tài)變異策略的群體全局優(yōu)化方法,包括以下步驟:
[0034] 1)初始化:設(shè)置種群規(guī)模NP,初始交叉概率Cr,初始增益常數(shù)F ;
[0035] 2)隨機生成初始種群P= {^?丨...,產(chǎn)8},并計算出各個體的目標函數(shù)值,其 中,進化代數(shù)g = 0, X1丨i = 1,2, ···,Np表示第g代種群中的第i個個體;
[0036] 3)根據(jù)公式⑴計算出初始種群中各個體之間的平均距離dinitlal;
[0037]
[0038] 其中,表示第g代種群中第?個個體X w的第·?維元素,表示第g代種群 中第k個個體X 的第j維元素,N為問題維數(shù),Np為種群規(guī)模;
[0039] 4)根據(jù)公式(1)計算出當前種群中各個體之間的平均距離daTC;
[0040] 5)對種群中的每個個體根據(jù)式⑵進行變異:
[0041]
[0042] 其中,j = 1,2,…,N,N為問