差分進化演算法

2021-10-10 18:01:04 字數 1006 閱讀 7630

是一種基於差分變異模式的進化演算法,在每一代的演算法迭代過程中,對於當前群體的每乙個個體,首先選擇兩個互不相同的個體,相減計算差分向量,差分向量乘以乙個縮放因子f,再隨機選擇第三個個體相加等到變異個體,變異個體經過與目標個體的交叉和選擇操作生成乙個新的進入下一代。

圖1   de演算法

公式一:  xi表示種群中的每乙個個體,群體規模為n (一般表示成n個d維向量)

公式二:xi=(xi(1),xi(2),xi(3),⋯xi(d) ) xi是實數向量,d是目標問題的決策變數個數

公式三:vi=xr1+f×(xr2-xr3) xr1,xr2,xr3是當前群體中的三個隨機個體。

f是縮放因子(變異運算元)0群體初始化,de演算法中一般表示為n個d維度的向量,d就是目標問題的決策變數個數,也就是問題的維數。初始化是在搜尋空間內隨機均勻生成n個d維向量構成的初始種群

變異操作,是乙個生成新個體的過程。隨機選擇三個互不相同的個體進行變異操作生成新的個體,縮放因子f為負值時代表個體交換了位置,不影響演算法功能,而且變異公式有好多種,文件裡面的是最經典常用有效的方式之一

交叉操作,交叉操作就是生成乙個新的種群的過程。從目標個體和變異個體中選擇出乙個新的種群,均勻隨機數保證個體不是全部來自目標個體。交叉概率控制那些決策變數採用變異值。

選擇操作,對變異得到的新種群中的每乙個個體進行貪心選擇,得到乙個新的種群,進入下一次的演算法迭代過程。

基於統計學習的引數適應和隨機化引數適應都只是適應策略,自適應策略一般是將演算法引數放入個體編碼中與決策變數一同進化。

差分進化演算法

差分進化演算法在 1997 年日本召開的第一屆國際進化優化計算競賽 iceo 表現突出,已成為進化演算法 ea 的乙個重要分支,很多學者開始研究 de 演算法,並取得了大量成果 2006年 cec 國際會議將其作為專題討論,由此可見 de 演算法已成為學者的研究熱點,具有很大的發展空間.每個個體的優...

差分進化演算法

最近在學習演化演算法 evolutionary algorithm 粒子群演算法和遺傳演算法已經很熟悉了,而差分進化演算法我還沒認真研究過,趁著暑期實訓的機會打算把差分進化演算法做個總結,最後再將這三種演算法做個比較。差分進化演算法是演化演算法的一種,它的思想和遺傳演算法比較像,演算法分為以下幾個流...

差分進化演算法

差分進化演算法是一種全域性最優化的演算法,隨機搜尋,通過引數向量集的隨機擾動實現平行計算,本身輸入遺傳類演算法,借用了一種n m的演算法有點,損失函式有d個引數,他用d 1個頂點的多面體定義目前的搜尋空間,每個頂點 由乙個d維引數向量表示,計算損失函式,區域性最優方法,引入退火的概念,從向量集中獲取...