王亞萍 段國榮
摘 要 差分進(jìn)化算法是一種全局優(yōu)化性能好,魯棒性好,容易實(shí)現(xiàn)的新型智能優(yōu)化算法。本研究描述了差分進(jìn)化算法的基本原理,分析其優(yōu)缺點(diǎn),并利用無約束優(yōu)化函數(shù)對差分進(jìn)化算法進(jìn)行測試,為差分進(jìn)化算法的進(jìn)一步改進(jìn)指出方向。
關(guān)鍵詞 差分進(jìn)化 無約束優(yōu)化
0引言
差分進(jìn)化算法(DE算法)是一種基于種群差異的進(jìn)化方法。DE算法利用群體內(nèi)各個體之間的競爭與合作開啟群體智能模式便于進(jìn)行優(yōu)化搜索。DE算法保留了種群的全局搜索能力,利用實(shí)數(shù)編碼、簡單的變異、交叉、選擇操作和一對一的競爭生存方式,從而簡化了進(jìn)化操作。DE算法特有的進(jìn)化操作使其收斂性較強(qiáng)和魯棒性較好,適合解決一些較復(fù)雜的函數(shù)優(yōu)化問題。DE算法本質(zhì)上是一種基于實(shí)數(shù)編碼的具有保優(yōu)思想的智能優(yōu)化算法。該算法編程簡單,容易實(shí)現(xiàn),全局優(yōu)化性能好,在測試函數(shù)的仿真實(shí)驗(yàn)中表現(xiàn)優(yōu)異。近年來,DE算法成為智能優(yōu)化算法研究中的熱點(diǎn)之一。
1算法的基本原理
基本的DE是基于候選方案種群的算法,在整個搜索空間中進(jìn)行搜索,通過使用簡單的數(shù)學(xué)公式對種群中的現(xiàn)有方案進(jìn)行組合實(shí)現(xiàn)。如果新的方案有所改進(jìn),則被接受,否則被丟棄。重復(fù)這一過程直到找到滿意的解決方案。
設(shè)是最小適應(yīng)度函數(shù),適應(yīng)度函數(shù)以實(shí)數(shù)向量的形式選取一個候選方案作為參數(shù),給出一個實(shí)數(shù)值作為候選方案的輸出適應(yīng)值。
·在搜索空間中隨機(jī)地初始化所有的個體。
·重復(fù)如下操作直到滿足終止條件。
對于種群中的所有個體:
(1)隨機(jī)地從種群中選擇彼此不同的三個個體,和;
(2)隨機(jī)地選擇一個索引。其中是被優(yōu)化問題的維數(shù);
(3)通過對每一個進(jìn)行如下的迭代計算,則所有可能的新個體生成一個隨機(jī)數(shù);
(4)如果或者,,否則;
(5)如果,然后在種群中使用改進(jìn)的替換原來的,否則不變;
(6)選擇具有最小適應(yīng)度值的作為搜索結(jié)果。
2算法步驟
2.1初始化
DE利用個維數(shù)為的實(shí)數(shù)值當(dāng)做每一代種群的參數(shù)向量,每個個體可以表示為: (1)
其中:種群中的序列;進(jìn)化代數(shù);種群規(guī)模。在最小化的過程中始終保持不變。
2.2變異
對于每個目標(biāo)向量基本的差分進(jìn)化算法的變異向量如下產(chǎn)生:
(2)
其中,隨機(jī)選擇的三個序號,和互不相同,且,和與目標(biāo)向量序號也應(yīng)不同,所以必須滿足。變異算子是一個實(shí)常數(shù)因數(shù),具有控制偏差變量的放大作用。
2.3交叉
為了增加干擾性參數(shù)向量的多樣化,我們引入了交叉操作。
2.4選擇
為了確定試驗(yàn)向量是否可以成為下一代成員,DE按照貪婪準(zhǔn)則將試驗(yàn)向量和當(dāng)前種群中的目標(biāo)向量進(jìn)行比較,如果要目標(biāo)函數(shù)最小化,那么具有較小目標(biāo)函數(shù)值的向量將會在下一代種群中出現(xiàn),則下代種群中的所有個體都比當(dāng)前種群中的對應(yīng)個體更好。
2.5邊界條件的處理
在邊界約束條件問題中,一定要確保產(chǎn)生新個體的參數(shù)值位于問題的可行域中。其中一個簡單的方法是用不符合邊界約束條件的新個體將可行域中隨機(jī)產(chǎn)生的參數(shù)向量來代替。
3算法分析
通過對函數(shù)進(jìn)行DE算法仿真測試,實(shí)驗(yàn)結(jié)果表明:目標(biāo)函數(shù)的極值可以達(dá)到理論極值,DE算法可以有效解決無約束函數(shù)優(yōu)化問題。將DE算法用于解決實(shí)際應(yīng)用問題,使其得到充分的應(yīng)用。
作者簡介:王亞萍,在讀碩士研究生,主要從事計算流體力學(xué)的研究;段國榮,在讀碩士研究生,主要從事地下水的研究。
參考研究獻(xiàn)
[1] 汪慎文,丁立新,張文生,郭肇祿,謝承旺.差分進(jìn)化算法研究進(jìn)展[J].武漢大學(xué)學(xué)報(理學(xué)版),2014,60(04):283-292.
[2] 呼忠權(quán).差分進(jìn)化算法的優(yōu)化及其應(yīng)用研究[D].秦皇島:燕山大學(xué),2013.
[3] 楊啟文,蔡亮,薛云燦.差分進(jìn)化算法綜述[J].模式識別與人工智能,2008,21(04):506-513.
[4] 吳亮紅.差分進(jìn)化算法及應(yīng)用研究[D].長沙:湖南大學(xué),2007.
[5] 張慶科.粒子群優(yōu)化算法及差分進(jìn)行算法研究[D].濟(jì)南:山東大學(xué),2017.
[6] 徐斌.基于差分進(jìn)化算法的多目標(biāo)優(yōu)化方法研究及其應(yīng)用[D].上海:華東理工大學(xué),2013.