• 沒有找到結果。

第二章 相關理論與文獻回顧

2.3 遺傳演算法

自從John Holland 於 1975 年提出遺傳演算法(Genetic algorithms)後,就經常被 廣泛應用於工程及數學上最佳化的問題。遺傳演算法為演化式演算法(Evolutionary algorithms)中最為著名也是應用最多的演算法,其建立在達爾文所提之物競天擇、

適者生存的進化論定律,透過將欲求解問題予以編碼形成染色體,再經過自然演 化過程如擇優、交配、突變等過程,使得適應力較佳的子代得以保留母代優良基 因,並存活下來繼續演化下一代,直至演化結束,求的近似最佳解。根據 Chang

〔13〕的研究,認為遺傳演算法有以下優缺點:

1. 優點:

(1). 將求解問題予以編碼,透過對串列單元運作,達到跳脫搜尋空間的 限制。

(2). 可以在搜尋空間以多點方式搜尋,較可避免因單點搜尋陷入局部最 佳解(local optimum)。

(3). 利用適合度函數作為判斷的依據,可簡化許多複雜的計算和推導。

(4). 應用隨機搜尋的方式,適合各類不同最佳化問題。

2. 缺點:

(5). 根據複雜情形不同的問題,需採用不同的運算子,否則將影響搜尋 速度。

(6). 不同於有些演算法可避免相同點的搜尋,因此會有重複搜尋的情 形,而導致運作時間增加。

以上的優點,可以讓我們在傳統的最佳化方法遭遇瓶頸時,額外提供一個可 供操作的替代優選法。除此之外從 Pernkopf 等〔14〕及 Haupt 等〔15〕研究中亦 可證實遺傳演算法有以下特點:

1. 可同時優選連續問題與不連續問題 2. 可擴張處理多參數問題

3. 具有平行搜尋能力

4. 優選結果提供一組最佳解,而非單一解

5. 演化作用於編碼後的染色體,因此不受參數連續性的影響 6. 演化過程無需求取目標函數的導函數

7. 具有可操作性

8. 有相當高的機率求得全域最佳解

9. 遺傳演算法基於機率演化規則,而非定率法則

10. 對於非線性的優選問題,演化機制可有效跳脫局部最佳解

圖 9 遺傳演算法流程

以下針對的遺傳演算法演算流程作一簡要說明:

1. 定義求解參數編碼:

將求解問題依據實體變數範圍與精度,以遺傳演算法染色體最常使用的 二進位方式編碼或者依據特殊需求利用實數及符號方式編碼。

2. 產生初始染色體母代:

遺傳演算法一般而言並不需要有良好的起始解因此可利用隨機方 式產生初始染色體群集,但若考量後續演化的效率,則可採用根據資 料分佈參生染色體群集。

3. 染色體適應值:

為了描述達爾文進化論中的「天擇」,遺傳演算法可以利用染色體適應值 或適應函數來衡量與目標之間的差異,以便於演化過程判斷染色體的優劣。

適應函數的設計通常依據問題的要求而有不同考量,因此對於多目標問題主 要方式如Pareto-based 方式及 non-Pareto 的方式,都有若干尚待解決問題,所

以基本上仍應視問題本身彈性運用具有適當搜尋效果與速度的適應函數。

4. 染色體複製:

為仿傚生物界的無性繁殖,由母代中挑選個體,以保留較佳的染色體並 避免過度集中挑選,確保適當的收斂效率及多樣性參與演化,因此依照前述 適應值,將染色體族群以下列方式進行選取後複製:

(1). 輪盤法(roulette Wheel Method):

其方法為依照染色體適應值佔族群適應值總數的比重作為選取的範 圍,並以隨機值判斷選取染色體,就如同射飛鏢至輪盤上,輪盤所 佔面積較大者,有較高機率被選取,如 Holland〔16〕,以染色體適 應值與被選取的期望值成正比所發展而來,因為較為簡易而常被使 用。

(2). 排序選取法(rank selection):

對於染色體適應值差異過大而導致過早收斂的情形,排序選取法不 同於輪盤法參考的比重方式,而以染色體適應值優先序位佔族群數 目的比重作為選取的範圍,最後再配合輪盤法的方式選取,但因為 增加排序過程而有降低演算效率的情形。

(3). 比較選取法(Tournament selection):

對於最小值、涵蓋負值值域以及染色體適應值差異過大之問題,比 較選取法有較佳的適用性,其方式有如自然界競爭模式,係由母代 中隨機挑選預定數目的染色體,再選取其中適應性最佳的染色體,

又稱為競爭選取法。

(4). 菁英政策(elitism strategy):

雖然上述選取法適應性較高的染色體,有較高的機率被選取,但不 保證一定被選取,導致族群最佳解可能在演化過程逐漸變差,因此 由 Goldberg〔17〕提出,保留數個適應性最佳的染色體,直接進入 下一代,以便提高最佳解的收斂速度。

5. 染色體交配:

在演化的過程中,為了能進一步產生適應性更高的染色體,由類似生物 界的有性生殖,將兩條染色體進行重組,重組後的結果可由後續的演化,逐 漸產生更佳的成果,以達成進化的目的。常用的交配機制有:

(1). 單點交配(single point):

為利用一隨機值與交配率決定是兩染色體是否交配或直接複製,再 由另一隨機值決定兩染色體基因位置交換切斷點,為最簡易交配方 式,如圖(灰白交界處為切斷點)。

1 1 1 1 0 0 0 0 (2). 雙點或多點交配(two point or multi-point):

為利用一隨機值與交配率決定是兩染色體是否交配或直接複製,再 由兩隨機值決定兩染色體基因位置交換切段起點與切段終點,為最

常用交配方式,如圖(灰白交界處為切斷點)。

綜合Beasley, Bull, and Martin〔18〕與Spears and De Jong, 〔19〕研究顯示 雙點交配優於單點交配,而當族群染色體適合度接近收斂時單點交配表現才

遺傳演算法的演算效率主要受到族群大小(population size)、交配機率(crossover rate)及突變機率(mutation rate)的影響,其影響情形為族群大小影響演化最後效能及 遺傳演算法效能,而交配機率及突變機率分別影響各該機制發生的頻率,在進行 各參數設定時,只要針對問題本身的特性作適度調整,基本上能達到令人滿意的 演算效率,就目前的研究顯示,GA是一種具有效率且穩健的最佳化技術,其理論 基礎源至於Holland的型基理論(Schema theorem),以下就該理論簡要說明:

設一變數x之染色體長度為6位數,而其型基則可為如下幾種:

其中*為任意 1 或 0,而型基可將變數與函數對應空間切割如圖所示:

10 型基與函數空間切割

這些基型H 有兩個性質可以描述分別是固定值數的位數 O(H)與固定位數間距 的幅長δ(H),假設某一 t 世代群體中的基型數目為 m(H,t),則 t+1 世代的基型數 目為:

( )

( , 1) ( , ) f H m H t m H t

f

   (13)

其中f 為整個族群的平均適應值,f(H)為含有基型個體集合的平均適應值,而

( ) /

f H f 比率決定了基型由 t 世代到 t+1 世代的繁衍數目,好的基型會滿足

( )

f H f因此可令f H( ) f c f 代入 2-11 式可得,

m H t ( ,   1) m H t ( , ) (1   c )

(14) 其中c 是一個常數,另考慮 t 世代是從第 0 代開始,則型基數目為:

m H t ( ,  1 )  m H t ( , )   ( 1

t (15)

c )

一個好的型基會使得c>0,則基型數目 m(H,t)呈現指數型成長,使得適應值較 佳的型基會越來越多。若考慮交配的影響,一個含有基型且長度為 L 的染色體,

被切斷的機率為( ) / (H L1),而維持的機率為1( ) / (H L1),再加上考慮交配 機率 PC,則生存的機率為:

1 ( )

( 1)

s c

P P H L

  

 (16) 將上式代入15 式可得:

( ) ( )

( , 1) ( , ) 1

( 1)

c

f H H

m H t m H t P

f L

 

        (17)

若考慮突變Pm的影響,則位數O(H)不會被影響的機率為(1-Pm)O(H),又因通常

相關文件