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