• 沒有找到結果。

遺傳演算法的基礎架構

二、 文獻回顧

2.2 遺傳演算法

2.2.1 遺傳演算法的基礎架構

遺傳演算法自 John Holland 於 1975 年開始發展後 [Holland 1975],便逐漸在各 領域被廣泛應用(例如限制性或非限制性最佳化、排程與排序、交通運輸規劃、可靠 度最佳化、人工智慧等等) [Goldberg 1989] [Gen and Cheng 1997]。其主要的理論基 礎來自於達爾文的進化論「物競天擇,適者生存」,生物初代母體面對環境的條件狀 況會使適應力較好的個體存活下來,並且有機會能繁衍下一代。若將演化過程應用至 問題求解,經由各代之間進行交配與突變個過程將可協助搜尋到近似最佳解甚至為最 佳解。

一般遺傳演算法的主要步驟包括了(1)編碼 (2)初始化 (3)設定適存值 (4)複製與 選取 (5)交配 (6)突變:

1.編碼(coding)

遺傳演算法會針對問題的特性將可能解進行編碼,一般常見編碼方式包括二進 位編碼(Binary)、實數編碼(Real number)及順序(Order)性質編碼方式。

2.初始化(initialization)

初始化主要就是根據編碼的形式,以隨機方式產生 n 個基因字串的起始解(即 初代母體),作為後續世代繁衍的基礎,一般是自可能解中隨機選取產生。起始解的 優劣將對於子代的繁衍收斂有相當大的影響,若產生的起始解愈好,則愈容易找到最 佳解。

3.設定適存值(evaluation)

適存值(fitness)係用以判定該個體的優劣,作為尋找最佳解的依據。適存值愈 高的解代表具備較優良的基因,未來繁衍保留下來的機率將相對較高。

4.複製與選取(reproduction and selection)

遺傳演算法中的複製與選取則是依據達爾文「適者生存,不適者淘汰」的原理 而進行的。個體複製繁殖的機制依選取方式有所不同,一般常見的選取方式為俄羅斯 輪盤法(Roulette wheel selection),其主要觀念就是當將母代各染色體之適存值依照 比率計算後,則可繪成一個圓形輪盤用以隨機射選。如此,適存值大的染色體將會比 較容易被射選中。

5.交配(crossover)

交配的主要觀念就是提供一個機制能使訊息得以交換。遺傳演算法模仿自然生 物的交配過程,使兩個可能解的染色體字串互換,以產生出兩組新的染色體字串。一 般單倍體遺傳演算法的交配方式包括單點式交配(one-point crossover)、雙點式交配

(two-point crossover)、機會均等式交配(uniform crossover)。一般經由交配的過 能將有可能使得能演算搜尋到最佳解的時間減少。

6.突變(mutation)

遺傳演算法模仿自然生物的突變行為。讓可能解的交配繁殖過程中有某一機率 的可能性發生基因的隨機改變。突變行為能避免求解空間的收斂過於快速(premature convergence)而導致落於局部最佳解。但是,若突變的機率過大時,則會使求解空間 波動幅度過大無法收斂。

7.求解曲線的收斂

倍體或多倍體結構 [Dumitrescu, Lazzerini, Jain, Dumitrescu 2000],例如人類的基因是 雙倍體結構(diploidy),共有 23 組。事實上,多倍體的基因結構在自然界的生物中 是相當常見的,包括雙倍體、三倍體(triploid)等。圖 3 為單倍體、多倍體及複合式 染色體(multiple chromosome)的示意圖。單倍體基因結構一般僅作為表現生物型態

(例如膚色)的用途,多倍體基因結構則可視為數個單倍體基因的組合。

下來。又例如,大腸桿菌處於有乳糖的環境裡,調節基因便指揮大腸桿菌產生三種酵 素以吸收分解乳糖。

(1)單倍體

圖 3 單倍體、多倍體及複合式染色體示意圖 [Wu 2002]

雙倍體

三倍體 四倍體

複合式單倍體 複合式雙倍體

(2)多倍體

(3)複合式染色體

根據上述的多倍體基因結構特性,一般可應用在解決多種狀態或多組參數的複 雜問題。Collingwood 等人透過尋找問題最佳解的過程,比較分析多倍體與單倍體遺 傳演算法的成效差異,發現多倍體基因結構由於保留了更多的資訊,對於相同的問題 比單倍體遺傳演算法有更大的機會可以找到較好的解 [Collingwood, Corne, and Ross 1996]。

目前已有許多應用多倍體遺傳演算法建構求解模型的相關研究。例如,吳明達 與孫春在多倍體基因結構應用在 membership functions’ structure 以建構出幾種典型模 糊模式的模糊值域(fuzzy dominance) [Wu and Sun 2002] [Wu 2002]。該研究發展了 一結構調適的模型,並將傳統的單倍體遺傳演算法延伸為多倍體。結構調適模型主要

2.3 模擬分析與遺傳演算法之整合

模擬分析與遺傳演算法的整合模式已在各領域中陸續被提出應用,主因是這些 整合模式在找尋最佳方案時能有良好的成效。以營建工程方面為例,Cheng 與 Feng 整合了模擬分析軟體 CYCLONE 與遺傳演算法,發展了 GACOST 系統 [Cheng and Feng 2003] [Cheng, Feng and Hsu 2006]。該研究設計一組基因長度為模擬分析網路中 待命資源(Queues)數量的染色體,而每個基因編碼值即是待命資源的可使用量。每 一條染色體皆能由模擬分析過程得知專案的資源使用效益,再經由遺傳演算法不斷繁 衍子代,為營建工程使用資源尋找較佳的配置管理組合,提供工程管理者一個施工效 益分析與最佳化的輔助工具。

另外,Marzouk 與 Moselhi 整合模擬分析與遺傳演算法建構一個估算開挖工程時 程與成本的系統 [Marzouk and Moselhi 2002]。該研究以染色體來描述一組開挖工程 機具隊,每個基因編碼即代表各種不同的機具設備的數量。染色體所描述的機具組合 透過模擬分析可得知開挖工程所需的時程與成本,再經由遺傳演算法尋求效益較佳的 工程機具組合。

遊憩區開發專案與其他應用問題的比較可知,相同之處在於兩者皆存在許多不 確定因素,許多數據呈現機率分佈型態(例如門票收入);不同之處在於以間接求解 的方式來規劃開發專案的進度排程。因此,本研究有別於其它研究之處係以作業的執 行價值作為開發時序的準據,並不直接將每項開發作業的開始與結束時間編寫在基因 編碼中,取而代之的是在各單位時間中各項開發作業被執行的優先值。此外,各單位 時間的作業優先值各自成為一條染色體,所有單位時間的作業優先值組合成多倍體基 因結構,比其它研究僅以單條染色體(單倍體基因)更具有結構化的表達。