天天看點

1.1智能優化算法—遺傳算法(GA)

遺傳算法是 20世紀從60年代開始 , 密切根大學教授Holland開始研究自然和人工系統的自适應行為,在1975年出版的專著中闡述了遺傳算法(GA)的理論和方法。算法理論基礎

生物在其進化過程中,多以群體形式存在,遵循達爾文的“自然選擇,适着生存”的法則。遺傳和變異是決定生物進化的内在因素。其中,遺傳能使生物的性狀不斷地傳送給後代,是以保持了物種的特性:變異能夠使生物的性狀發生改變,進而适應新的環境而不斷地向前發展。人們正是通過對環境選擇、基因交叉和變異這一生物演化疊代過程的模仿,才提出了能夠用于求解最優化問題的強魯棒性和自适應性的遺傳算法。生物遺傳和進化的規律有

  • 生物的所有遺傳資訊都包含在其染色體中,染色體決定了生物的性狀。染色體是由基因及其有規律的排列所構成的。
  • 生物的繁殖過程是由其基因的複制過程來完成的。同源染色體的交叉或變異會産生新的物種,使生物呈現新的性狀。
  • 對環境适應能力強的基因或染色體,比适應能力差的基因或染色體有更多的機會遺傳到下一代。

02

算法流程

遺傳算法通過使用群體搜尋技術,對目前群體施加選擇、交叉、變異等一系列遺傳操作,進而産生出新一代的群體,并逐漸使群體進化到包含或接近最優解的狀态。

遺傳編碼

遺傳算法不能直接處理問題空間的決策變量,必須轉換或由基因按一定結構組成的染色體,是以就有了編碼操作;反之将編碼空間向問題空間的映射稱為譯碼。如下圖所示:

1.1智能優化算法—遺傳算法(GA)

圖1 編碼和譯碼示圖

種群初始化

種群初始化最常用的兩種方法:一種是随機産生數值的方法,它适用于對問題的解無預知的情況;另一種則是根據一些經驗知識求出最初需滿足要求的解,接着在滿足這些解中再随機地選取樣本。

适應度函數

适應度函數是指用來評價個體的值,其适應度值越大的個體越符合算法要求,還會直接影響遺傳算法的收斂速度以及能否找到全局最優解,是以适應度函數至關重要。

選擇政策

選擇政策的原理是基于達爾文的自然選擇學說,是将遺傳搜尋引導到搜尋空間中有前途的區域。通常采用的選擇方法有輪盤賭法、随機采樣法和确定性選擇法等。

交叉算子

交叉是指把兩個父代個體的部分結構加以替換生成新個體的操作,這樣可以提高搜尋力。目前最常用的配對政策是随機配對,即将群體中的個體以随機方式兩兩配對,交叉操作是在配對個體之間進行的。

變異算子

變異就是将染色體編碼串中的某些基因替換。它是遺傳算法中不可缺少的部分,目的就是改善遺傳算法的局部搜尋能力,維持群體的多樣性,防止出現早熟現象。

03

流程圖及僞代碼

遺傳算法流程圖,如圖1所示:

1.1智能優化算法—遺傳算法(GA)

圖1 遺傳算法流程圖

遺傳算法僞代碼,如下:

1.1智能優化算法—遺傳算法(GA)

04

參考文獻

[1]Bremermann.H.J… Optimization Through Evolution and Recombination.in Self-Organizing Systems,Yovits,M.C.,Jacobi.G.T.and Goldstine,G.D… Eds.,Spartan Books.1962,93-106.

[2]Holland J H.Outline for a logical theory of adaptive systems[J].Journal of the ACM,1962,9(3):297-314.

繼續閱讀