differential evolution

差分進化算法(differential evolution)

基本介紹

  • 中文名:差分進化算法
  • 外文名:differential evolution
差分進化算法(差異進化算法,微分進化算法,英語:Differential Evolution)是一種用於最佳化問題的後設啟發式算法。本質上說,它是一種基於實數編碼的具有保優思想的貪婪遺傳算法
差分進化算法類似遺傳算法,包含變異,交叉操作,淘汰機制,而差分進化算法與遺傳算法不同之處,在於變異的部分是隨選兩個解成員變數的差異,經過伸縮後加入當前解成員的變數上,因此差分進化算法無須使用機率分布產生下一代解成員。
差分進化算法的起源,根據學術調查研究最早可追溯至1995年由Storn與Price所作的技術報告。1996年5月,差分進化算法在國際電機電子工程師學會演化計算研討會(Conference on evolutionary computation)公開發表。
1997年,Storn與Price在全域最佳化國際學術期刊(Journal of global optimization)發表了差分進化算法。
算法的原理採用對個體進行方向擾動,以達到對個體的函式值進行下降的目的,同其他進化算法一樣,差分進化算法不利用函式的梯度信息,因此對函式的可導性甚至連續性沒有要求,適用性很強。同時,算法與粒子群最佳化有相通之處,但因為差分進化算法在一定程度上考慮了多變數間的相關性,因此相較於粒子群最佳化在變數耦合問題上有很大的優勢。由於差分進化算法在連續域最佳化問題的優勢已獲得廣泛套用,並引發進化算法研究領域的熱潮。算法的實現參考實現代碼部分

相關詞條

熱門詞條

聯絡我們