認識多種群遺傳演算法

2021-07-03 10:56:57 字數 632 閱讀 9783

多種群遺傳演算法是自己寫**用的智慧型演算法,遺傳演算法的高階版。

其流程圖如下:

其中sga即為普通的標準遺傳演算法,可見多種群遺傳演算法中展開的多種群由不同控制引數的sga來保持種群的差異化。

控制引數為交叉概率p

c和變異概率p

m,其值決定了演算法全域性搜尋和區域性搜尋能力的均衡,可按下式計算:

式中:p

co,p

mo分別為初始交叉概率和變異概率; g為種群數目;c,m為交叉、變異操作的區間長度;f

rand

為產生隨機數的函式。經過充分研究得出一般在[0.7,0.9]區間內隨機產生。一般在[0.001, 0.05]區間內隨機產生。

移民運算元和人工選擇運算元:設定移民運算元,即以源種群中的最優個體代替目標種群中的最差個體,達到多種群協同進化的目的。人工選擇運算元的功能是選出各種群中的最優個體,並將其放入精華種群加以儲存,保證各種群產生的最優個體不被破壞和丟失。

mpga依據精華種群來決定演算法終止。

遺傳演算法(1) 初步認識

最近學習了遺傳演算法,嘗試著把它按照理解寫下來。對於遺傳演算法從名字上就可以看出來是和生物有關的東西,可以認為是和生物進化有關係,在生物進化裡面又有一句話叫 物競天擇,適者生存。也就是說受環境的影響,最終會留下那些能適應環境的生物。如果從生物學裡面進行考慮可能會涉及到 一堆的概念名詞,如 染色體,個...

python遺傳演算法 Python 遺傳演算法實現

關於遺傳演算法 遺傳演算法是仿照自然界中生物進化而產生的一類優化演算法。個人感覺遺傳演算法簡單粗暴,適應性廣。關於遺傳演算法的介紹網上有很多了,這裡按照我自己的理解簡單概括一下。編碼解碼,將待優化的引數編碼為dna序列,最簡單直接的為二進位制編碼 即有兩種鹼基的dna鏈 生成隨機初代 選擇,適應度 ...

遺傳演算法 python 簡書 遺傳演算法

優化的演算法有很多種,從最基本的梯度下降法到現在的一些啟發式演算法,如遺傳演算法 ga 差分演化演算法 de 粒子群演算法 pso 和人工蜂群演算法 abc 舉乙個例子,遺傳演算法和梯度下降 梯度下降和遺傳演算法都是優化演算法,而梯度下降只是其中最基礎的那乙個,它依靠梯度與方向導數的關係計算出最優值...