1. 程式人生 > >遺傳演算法與差分進化演算法總結比較

遺傳演算法與差分進化演算法總結比較

遺傳演算法

遺傳演算法的基本原理:

遺傳演算法是一種基於生物進化原理構想出來的搜尋最優解的仿生演算法,它是模擬基因重 組與進化的自然過程,把待解決問題的引數編成二進位制碼或十進位制碼(也可編成其他進位制碼)即基因,若干基因組成一個染色體(個體),許多染色體進化類似於自然選擇、配對交叉和變異的運算,經過多次重複迭代(即世代遺傳)直到得到最後的優化結果。

遺傳演算法的求解步驟:

(1)編碼:定義編碼和染色體表示
(2)初始化種群:生成初始群體P(0),種群規模的設定
(3)適應度值評價檢測:譯碼後代入適應度函式
(4)遺傳操作:對群體P(t)進行選擇、交叉、變異運算得到新一代群體P(t+1)
(5)終止條件判斷:根據終止準則(如最大代數)判斷是否終止運算,若不滿足,繼續進

行遺傳操作。

遺傳演算法的流程圖:


DE演算法(差分進化演算法)

DE演算法的基本原理:
DE演算法開始於一個隨機選擇的初始種群,主要過程包括變異、交叉和選擇三個步驟。基本思想是從某一組隨機產生的初始種群開始,隨機選擇兩個不同的個體向量相減產生差分向量,將差分向量賦予權值後與第三個隨機選擇的個體向量相加,產生變異向量。然後將變異向量與預先確定的父代個體向量按一定的規則交叉產生試驗向量。若試驗向量的適應度值優於父代個體的向量的適應度值,則選用試驗的向量進入下一代,否則保留父代個體向量。通過不斷的進化,保留優勝的個體,引導搜尋過程向最優解逼近。


DE演算法的求解步驟:
(1)基本引數的設定,包括NP, F, CR
(2)初始化種群
(3)計算種群適應度值
(4)終止條件不滿足時,進行迴圈,依次執行變異、交叉、選擇運算,直到終止運算。


DE演算法的流程圖: