• 沒有找到結果。

三法則運作方式

第三章 模式構建

4.2 遺傳演算法

4.2.2 三法則運作方式

選擇、交配與突變為 GAs 之三大法則,為求解結果之精確程度與效率高低之 決定因素。以下就Goldgerg (1989)所提出之簡單 GAs(simple GAs; SGAs)為例,簡 單說明此三法則之運作方式:

1. 選擇(Selection)

選擇是依據每一個染色體(Chromosome)之適合度(Fitness)高低,決定其繁衍

子代多寡的一種運算過程,適應度高的物種在下一子代中將被大量複製﹔適應度 低的物種在下一子代中則被淘汰,其中適應程度的量測是運用適應函數(Fitness function)來決定,其中處理方式多以蒙地卡羅轉盤(Monte Carlo wheel)之概念加以 篩選,即每一染色體被選中進行繁衍後代之機率為該染色體之適合度值佔每一染 色體之適合度值總合之比例,如圖4.2所示:

圖 4.2 蒙地卡羅轉盤選擇示意圖

1

( ) ( )

( )

j

j n

j i

P m f m

f m

=

=

(4.2.1)

其中,mj 表第j個染色體,P(mj)表第j 個染色體被選中之機率,f(mi) 表第i 個 染色體之適合度值,n為族群數。

因此,適合度高之染色體被選中,用以產生下一代之機率亦較高,使得較「優 良」之遺傳因子得以流傳與繼承。

2. 交配(crossover)

交配乃是將經過複製過程篩選出之成對染色體以一定機率(交配率)決定是否 進行配對,再經由彼此間所進行之基因交換行為產生子代。以隨機方式產生的0-1 均勻分配(Uniform distribution)亂數值若低於交配率,則進行交配,以新的子代取 代母代。反之,則被挑選的母代不進行交配,直接置入新的族群中。藉由交配機 制,子代可同時具有母代雙方的優良基因,而組成更具適應能力之染色體。其處

方法有三:單點交配(One-point crossover)、雙點交配(Two-point crossover)以及均 勻交配(Uniform crossover)。

交配率的高低會影響母代能否繼續生存於下一世代的機率。交配率愈高,母 代會被強迫以子代取代。交配率愈低,則產生子代的比率則會較低。一般交配率 設定為0.8-0.9間。但如果交配的機制是由兩個母代產生兩個子代時,不一定以子 代取代母代,而是挑選適合度值較高的兩個置回族群,另外兩個加以剔除,則不 必另設交配率。

圖4.3 三種交配方式示意圖 3. 突變(Mutation)

突變乃是針對子代之遺傳基因以一定機率(通常很低),更動某一基因值(0→1 或1→0),以防止染色體於複製及交配過程中,遺漏重要訊息或落入局部最佳解,

亦即預防族群內各染色體之僵化。以隨機方式產生的0-1均勻分配亂數值若低於突 變率,則該子代進行突變。反之,則子代不進行突變,可保留其交配結果的基因 組合。一般而言,突變的處理方式有二:(1)基因突變(Gene mutation),即當產生 之 亂 數 低 於 設 定 之 突 變 率 時 , 即 隨 機 更 動 某 一 基 因 值 ;(2) 移 轉 突 變 (Shift mutation),即變動同一染色體內各基因之位置,而不改變其值。突變率之設定影 響尋優甚鉅,該值過小,將無法發揮突變之功能,可能發生族群僵化現象,反之 將破壞子代繼承母代之優良基因。一般建議設定突變率等於族群數之倒數,或設 定為0.01-0.03間。

(a) 基因突變 (b) 轉移突變 圖4.4 二元變數兩種突變方式示意圖

4.2.3 重要特性

基因演算法與一般傳統之尋優方法最主要有四個不同的特性

1. 機率隨機尋優法(Stochastic search),即以機率作為遺傳法則搜尋與運作之 依 據 , 因 此 較 能 符 合 不 同 類 型 之 最 佳 化 問 題 , 至 於 傳 統 則 以 決 定 性

(deterministic)的方式來產生。

2. 多點尋優法(Multipoint search),即一次對於整個族群進行運算,而不是對 於單一個體進行運算,亦即同時由多個起始點開始搜尋,最後收斂為一點,

如此可避免且減少落入局部最佳解的機率,此項特點是與傳統演算法最大的 相異點。

3. 直接尋優法(Direct search),直接以適合度作為研判染色體之優劣與否之評 估指標,而並不需要其他輔助資訊(如梯度),因此較能避免傳統繁複的數 學運算。

4. 平行尋優法(Parallel search),即各染色體於遺傳法則下之運作係平行且獨 立地進行。

因此,採用GAs求解最佳解時,某些特殊型態之遺傳因子,因較適合環境(適 合度較高者)而得以交配與繁衍,藉以產生更接近最佳解之染色體(即一組可行 解),並以突變方式,減少尋得局部最佳解之可能性。

4.2.4 操作步驟

操作GAs前必須先設計下列操作方式與參數:

1. 設定編碼、解碼方式。編解碼確定時,同時也會確定染色體的長度。

2. 設定族群數。

3. 設定選擇、交配及突變方式。

5. 設定停止條件。停止條件的設定方式有三:

(1) 執行設定的世代數。例如,設定為k 1, 000時停止。k表示第k個世代。

(2) 前 後 世 代 的 最 佳 值 差 異 低 於 一 設 定 的 極 小 值 。 例 如

1 6

( bestk ) ( bestk ) 10

f m + f m 時停止。

(3) 成熟率大於設定值。例如,設定η80%時停止。η為成熟率。此方式 較為常用。

GAs的操作步驟如下:

A. 產生起始族群:利用亂數產生器隨機產生起始族群,以作為演化 的基礎。族群必須事先設定,以n表之。如果已有不錯的起始群,

也可以加以編碼成一染色體置入起始群中。

B. 評估:計算現有族群中每一條染色體的適合度值(Fitness value)。

如果該染色體是不可行解(Infeasible solution),通常會降低其適 合度作為懲罰。

C. 選 擇 : 自 現 有 族 群 中 , 以 選 後 放 回 方 式 (Selection without replacement)重複隨機選擇成對染色體,如符合交配率則進行交 配,產生子代,否則將母代至回族群。

D. 交配:將兩母代利用交配方式以隨機產生的交配點進行交配產生 子代。計算子代的適合度後,置回族群。

E. 突變:隨機改變子代某一基因之值,以避免落入局部解。計算突 變後子代的適合度。

F. 測試停止條件:測試是否符合停止條件。若是則停止,完成尋優,

若否則回至步驟三。

圖4.5 遺傳演算法之流程圖 4.3 永續運輸之營運型雙層數學模型求解演算法 4.3.1 營運型模式上層求解方法

上層的模式為永續運輸指標成本最小化為目標。上層的求解方式係利用 Baoding Liu 所提出的方法,上層利用遺傳演算法來求解多階層並多數下層 (Followers)雙層的數學規劃問題。

上層的目標式為追求興建成本、運輸系統營運成本,以及永續運輸指標等之 成本最小化。決策變數為xi,意為第i 種大眾運輸系統票價(元/旅次)i=1,2,3,4。

i,i

Mink x SC (4.3.1)

首先先確定本模式的編碼方式。因上層的決策變數是要求解各運具的票價,

皆可視為一個整數數學規劃問題,所以利用前列編碼方式中的實數編碼,假設決 策變數的值域介於0 至 999 之間,則可以以連續三個基因代表一決策變數,例如 染色體之基因值為810589286339,代表決策變數依序為 x1=810、x2=589、x3=286、

x4=339。本模式於編碼中所考慮項目為模式所中探討的運具有四種:鐵路、航空、

公路客運以及自用小客車,假設決策變數值域介於 0 至 9999 之間,所以以連續 四個基因代表一決策變數,故染色體的長度為16 個基因。並設定族群數為 100。

選擇的方式為選擇以較多研究使用的蒙地卡羅(Monte Carlo wheel)的概念每一個 染色體佔總適合度值的比例為何,比例較高的為適合度較高,則被選中來產生下 一代的機率較高;交配的方式選擇較常使用的雙點交配(Two-Point Crossover);突 變的方式採用基因突變,即當產生之亂數低於設定之突變率時,即隨機更動某一 基因值。而停止的條件設定為當成熟率大於設定值時,則停止測試,此成熟率設 定為80%。

4.3.2 營運型模式下層求解方法

本節係說明下層模式的求解方法。

下 層的 模式 為 大眾運 輸業 者的利 潤最大 化。 下層的 求解方 式也 係利用 Baoding Liu 所提出的方法,下層因為多個決策單位,固彼此之間有互相影響的關 係,係利用Stackelberg-Nash Equilibrium 來進行求解。

下層的目標式為追求各運輸業者的利潤最大化。

yi

Max x Di× ×Pri− ×y ci i (4.3.2) 下層的決策變數為yj,意即第i 種大眾運輸系統的營運班次(班/日),i=1,2,3。

下層因有多數的決策者,以本模式為例,下層的決策者包含了鐵路之營運 者、航空之營運者以及公路客運之營運者。其追求的應為各自的利潤最大化,但 在追求各自的利潤最大化時,會受到自己的發車班次,以及其他運具發車班次之 影響,故各運具之間有互相影響的關係。求解的方式為:假設鐵路目前為政府所 經營,所以發車班次為固定,再先假設公路客運的班次,為起始的運算值,計算

出在鐵路以及公路客運班次固定的情形,並以追求航空利潤最大的目標下,求出 航空的最佳班次;再以計算出航空的最佳班次值,求出以公路客運的利潤最大的 目標下,最佳的公路客運班次;再以此值重複計算航空的最佳班次,以此方法反 覆計算,直到求出的航空最佳班次與公路客運最佳班次達到一平衡不再改變的狀 態為止。此求解方式及存在著Nash 均衡的關係。

圖4.6 下層求解方式 4.4 永續運輸之規劃型雙層數學模式求解演算法 4.4.1 規劃型模式上層求解方法

本節係說明規劃模型上層模式的求解方法。

上層的模式為運輸系統興建成本、運輸系統營運成本,以及永續運輸指標成 本,皆以追求最小化為目標。

上層的目標式為追求興建成本、運輸系統營運成本,以及永續運輸指標等之 成本最小化。

上層之決策變數有二,第一為 ki,意為第 i 種之運輸系統興建起始年,i=1,2,3;

第二為xi,意為第i 種大眾運輸系統票價(元/旅次),i=1,2,3,4。

因上層的決策變數是要求解各運輸系統的興建年期,以及各運具的票價,皆 可視為一個整數數學規劃問題,所以利用前列編碼方式中的實數編碼,本模式於 編碼中所考慮項目包括:大眾運輸於評估年期之興建年期,此部分的編碼方式為 0 至 9 的整數編碼,「0」為該年不興建任何運輸系統,「1」、「2」以及「3」為興 建第一種運輸系統,「4」、「5」以及「6」為興建第二種運輸系統,「7」、「8」以 及「9」為興建第三種運輸系統,評估年期為 30 年,故此部份之染色體長度為 30 個基因。而模式中探討的運具有四種:鐵路、航空、公路客運以及自用小客車,

假設決策變數值域介於 0 至 9999 之間,所以以連續四個基因代表一決策變數,

假設決策變數值域介於 0 至 9999 之間,所以以連續四個基因代表一決策變數,

相關文件