国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

遺傳算法python版

2020-02-22 23:29:09
字體:
供稿:網(wǎng)友

本文實(shí)例為大家分享了python遺傳算法的具體代碼,供大家參考,具體內(nèi)容如下

1、基本概念

遺傳算法(GA)是最早由美國Holland教授提出的一種基于自然界的“適者生存,優(yōu)勝劣汰”基本法則的智能搜索算法。該法則很好地詮釋了生物進(jìn)化的自然選擇過程。遺傳算法也是借鑒該基本法則,通過基于種群的思想,將問題的解通過編碼的方式轉(zhuǎn)化為種群中的個體,并讓這些個體不斷地通過選擇、交叉和變異算子模擬生物的進(jìn)化過程,然后利用“優(yōu)勝劣汰”法則選擇種群中適應(yīng)性較強(qiáng)的個體構(gòu)成子種群,然后讓子種群重復(fù)類似的進(jìn)化過程,直到找到問題的最優(yōu)解或者到達(dá)一定的進(jìn)化(運(yùn)算)時間。

Ga算法中的幾個重要名詞概念。

個體(染色體):自然界中一個個體(染色體)代表一個生物,在GA算法中,個體(染色體)代表了具體問題的一個解。

基因:在GA算法中,基因代表了具體問題解的一個決策變量,問題解和染色體中基因的對應(yīng)關(guān)系如下所示:

種群:多個個體即組成一個種群。GA算法中,一個問題的多組解即構(gòu)成了問題的解的種群。

2、主要步驟

GA算法的基本步驟如下:

Step 1. 種群初始化。選擇一種編碼方案然后在解空間內(nèi)通過隨機(jī)生成的方式初始化一定數(shù)量的個體構(gòu)成GA的種群。

Step 2. 評估種群。利用啟發(fā)式算法對種群中的個體(矩形件的排入順序)生成排樣圖并依此計(jì)算個體的適應(yīng)函數(shù)值(利用率),然后保存當(dāng)前種群中的最優(yōu)個體作為搜索到的最優(yōu)解。

Step 3. 選擇操作。根據(jù)種群中個體的適應(yīng)度的大小,通過輪盤賭或者期望值方法,將適應(yīng)度高的個體從當(dāng)前種群中選擇出來。

Step 4. 交叉操作。將上一步驟選擇的個體,用一定的概率閥值Pc控制是否利用單點(diǎn)交叉、多點(diǎn)交叉或者其他交叉方式生成新的交叉?zhèn)€體。

Step 5. 變異操作。用一定的概率閥值Pm控制是否對個體的部分基因執(zhí)行單點(diǎn)變異或多點(diǎn)變異。

Step 6. 終止判斷。若滿足終止條件,則終止算法,否則返回Step 2。

流程圖如下所示:

3、主要操作介紹

3.1 種群初始化

種群的初始化和具體的問題有關(guān)。比如一個問題有n

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 凌云县| 扬中市| 香格里拉县| 滦南县| 远安县| 宜川县| 岱山县| 鲁甸县| 屏东市| 耒阳市| 革吉县| 龙胜| 叶城县| 依兰县| 淮安市| 大同市| 治多县| 曲松县| 梁山县| 彰化市| 辰溪县| 鹿泉市| 甘德县| 都兰县| 汤原县| 思茅市| 永康市| 鄂托克前旗| 隆化县| 游戏| 阜平县| 彭水| 新平| 永德县| 沅江市| 七台河市| 田阳县| 怀安县| 延津县| 曲水县| 广东省|