遺傳算法(GA)簡介及應用——非常適合小白

1.概念

  遺傳算法( Genetic Algorithm )是受生物進化學說和遺傳學說的啓發發展起來的。生物在進化的過程中:不斷繁殖、生存競爭、適者生存、遺傳和變異。
1)涉及
  遺傳算法涉及生物進化學說和遺傳學說中最重要的幾個概念:基因重組、基因突變、染色體變異

2)研究對象
  研究各種非線性(哪怕是沒有明確的函數關係的系統)、多變量、多目標、複雜的自適應系統問題。

3)基本特徵
●漸進式搜索
●能得到全局最優解(交換和突變操作產生新個體)
●根據問題特性確定輸入輸出,不關心輸入與輸出之間的聯繫(所以可以求解沒有明確函數關係的問題)

4)改進方向

●編碼技術和程序表達技術的改進。
●複製、交換、突變等遺傳操作的改進。
●適應度的表達和計算的改進。
●尋求其它有效遺傳算子,防止近緣雜交、過早收斂。

2.基本運算過程

1)編碼與解碼

  要便於計算機處理

十進制碼 二進制碼
優點 無需解碼 變異時取反(唯一)
缺點 突變的可能性太多(9種) 需要解碼,加大運算量
適用 變量多、數字大、粗選階段 變量少、取值少、精選階段
其他編碼方法 格雷碼 浮點數編碼 符號編碼 多參數級聯編碼 多參數交叉編碼
定義 對連續函數進行局部空間搜索 使用決策變量的真實值 編碼值取自無數值含義、只有代碼含義的符號集 多個變量分別編碼,按順序連接在一起 多個變量分別編碼,將起主要作用的碼集中在一起,然後按順序連接
適用 相比於2進制碼快,相比於10進制碼精確 多維、高精度要求的連續函數優化 旅行商、營銷商、機器人設計問題 多變量尋優時,讓每個變量都有交叉的可能

二進制碼又分爲直接二進制碼(有符號位和小數點)、間接二進制碼(沒有符號位和小數點)

2)適應度函數與評估

  通過適應度函數可以評價個體的優劣,並確定是否輸出目前最優解,或者繼續循環。
  適應度函數確定方法:對個體編碼串解碼後,可得到個體值;由個體真值可求出個體的目標函數值;由最優化問題的類型,由目標函數值按一定的轉換規則可求出個體的適應度。
3)複製
  選取哪些個體進行復制可以用等差、等比、輪盤賭的方法來決定。

4)交叉
  個體基因發生“交叉”的概率爲50%~80%,可以上下浮動。
  交叉中有三個隨機:個體隨機、概率可調、編碼位置隨機。

5)變異
  個體基因發生“變異”的概率爲0.1%~1%,可以上下浮動
  變異中有三個隨機:個體隨機、哪位變異隨機、變異幾位隨機。

6)終止條件
  遺傳算法的終止條件有以下三種:

  • 循環次數
  • 當目標函數有最優目標值時,可採用控制偏差的方式實現終止。
  • 檢查適應度的變化。如,最後兩次迭代,種羣適應度沒有太大變化,即可停止。

3.遺傳算子

  遺傳算法中涉及的算子有:選擇算子、交叉算子、複製算子、變異算子、重排序算子(選擇之前按適應度進行排序)。

4.一道例題

例題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章