差分進化演算法是2023年raincr stom和kenneth price為求解切比雪夫多項式(以遞迴方式定義的一系列正交多項式序列)提出的。
流程:
設定引數->初始化種群->計算種群的適度值->變異(判斷取值範圍)->交叉->(計算實驗向量的適度值)選擇;plot做二維圖(代數和每代最優解);
變異策略:
常用的5種,分別是rand/1、rand/2、best/1、best/2、current-to-rand/1其中current-to-rand/1採用的是算術交叉,不使用交叉因子cr,rand/1較為常用。
上下限的判斷:
個體的分量(即不同維度的值)必須在給定的上下限內才有意義,若超出上限或者低於下限有不同的方法,①把超出上限或者低於下限的分量賦值於上限或者下限;②重新初始化賦值;③違反的分量設定為違反的邊界和父個體[2]的相應分量的中間;④其餘方法見不同**中原碼的方式;
交叉方式:
常用二項式交叉和指數交叉,交叉本質上是個體維度的交叉,即不同維度的值是否更換。
貪婪選擇:
選擇採用「貪婪」的方式進行選擇,比較實驗向量和目標向量的適度值的大小,根據單目標取相對於問題較好的向量替換原來種群中的個體並記錄當前適度值,這裡的向量表示個體,值得一提的是,每次迭代迴圈後新種群總是優於原種群或者與其相等。
自2023年提出de,並且在此後的相關進化演算法的比賽中de都展現出了明顯的優勢並激起了國內外研究人員的興趣,de中種群規模(np)、變異因子、交叉因子是其關鍵,研究人員希望de適用於不同的問題;
a:在控制引數上的改進大體分為三種:
(2)自適應的引數控制:利用進化搜尋的反饋來動態的調整引數,例如jde、jade、sade。
b:在變異策略上的改進:
標準de的策略有5種,研究人員結合開發和搜尋並考慮到隨機性的問題給定了5種通用的策略,除此之外,國內外的研究人員根據進化過程中的搜尋方向以及反饋的資訊來改進策略,值得一提的是,結合pso中個體的歷史最佳來提出的策略使de的收斂速度更快了(jade),這不失為一種思考的方向,在自適應上的成功案例已經足夠多的情況下,不久,研究人員們提出了集(池)的概念,即把幾種策略和幾種自適應引數分別做成兩個集合,針對不同的問題(收斂精度)或者在不同的代數(收斂速度)間改變策略和自適應引數,例如sade、epsde、code這三種策略均是使用集合的概念來對de進行改進,在策略函式上也表現出優勢或者具有競爭力。
改進的方向:(np(5d,10d)、f(0.4,0.9)、cr在0.0和1.0附近)
①對自適應的np進行考慮,參考code中[17];對集合進行改進,在code中3中引數的選擇是隨機的,**中作者做了確定性的引數設定和自適應的引數設定,對於自適應的引數設定,可以進行嘗試其他的自適應策略,也可以把jade中f和cr的自適應測加進去測試效果;
②根據de的性質考慮到收斂速度、收斂精度和魯棒性等特性提出新的變異策略和自適應引數控制。
③在多策略上下功夫,對於單目標的不同類函式通過可以通過分析特性以及之前一些較好的**(sade)等上下手。
差分進化演算法
差分進化演算法在 1997 年日本召開的第一屆國際進化優化計算競賽 iceo 表現突出,已成為進化演算法 ea 的乙個重要分支,很多學者開始研究 de 演算法,並取得了大量成果 2006年 cec 國際會議將其作為專題討論,由此可見 de 演算法已成為學者的研究熱點,具有很大的發展空間.每個個體的優...
差分進化演算法
最近在學習演化演算法 evolutionary algorithm 粒子群演算法和遺傳演算法已經很熟悉了,而差分進化演算法我還沒認真研究過,趁著暑期實訓的機會打算把差分進化演算法做個總結,最後再將這三種演算法做個比較。差分進化演算法是演化演算法的一種,它的思想和遺傳演算法比較像,演算法分為以下幾個流...
差分進化演算法
差分進化演算法是一種全域性最優化的演算法,隨機搜尋,通過引數向量集的隨機擾動實現平行計算,本身輸入遺傳類演算法,借用了一種n m的演算法有點,損失函式有d個引數,他用d 1個頂點的多面體定義目前的搜尋空間,每個頂點 由乙個d維引數向量表示,計算損失函式,區域性最優方法,引入退火的概念,從向量集中獲取...