2. 文獻探討
2.7. 預測法之探討
2.7.3. 演化策略法
2.7.3.1.演化策略法之特色
根據吳子逢(2003)的彙整了解,演化策略是一個有效的最佳化搜尋方法,它具 有下述的優點:
1. 多點搜尋容易維持條件限制下合理的解;
2. 變數為實數型有利於連續型變數問題直接設計;
3. 容易加入啟發性 (heuristic) 知識;
4. 有能力找到全域近似最佳解 (global near-optimum);演化策略在每一迭代 中只有針對現有的解產生若干個突變運算,係採用高斯分布隨機產生再測 試 (generate and test) 的方法產生新解。
演化策略(Evolutionary Strategy, ES)是於 1964 年德國人 Rechenberg 為了解決流體 力學中模型控制問題而發展出的方法。演化策略法基本上屬於人工智慧(Artificial Intelligence , AI)領域中的一種,是模擬達爾文提出的「物競天擇,適者生存」的進化 論(evolutionism)為基礎的最佳化模型。
因為GA 為主要演化式演算法的基本型,大部分演化式計算模型都是由 GA 加
45
強、延伸而來的,ES 與 GA 最大不同之處在於 ES 中個體的染色體是以實數所表現,
而非如遺傳演算法一般,以位元為基本單位,利用實數表示染色體可避免在合適度評 估時做數值轉換。
最早的ES 為隨機搜尋只有突變與選擇機制並不包含重組,稱為「1+1演化策 略」( (1+1)-ES, 單成員的 ES,運算過程透過一個父代解經由突變機制(利用平均值為 0,標準差為 s)產生一個下一子代,接著透過適應函數比較父代與子代,在進行下代 演化)。隨後發展了族群式演化策略,((μ+λ)演化策略 和(μ,λ)演化策略),並加 入新的演化運算元-重組機制(recombination),使控制演化的策略參數隨著各單元一 同演化。此兩種不同 ES 主要差異為(μ+λ)-ES, μ個父代產生λ的子代,且從這μ+
λ個解中挑選最佳的μ個為父,再進行下一代運算;而 (μ,λ)-ES, μ個父代中產生 λ>μ個子代後,並只考慮新產生的子代,選出最佳μ個做為父代,再進行下一代運 算)。ES 至此奠定雛型。
一般演化策略的重要機制包含:編碼型式 (representation) 與適應函式(fitness function) 、重組 (recombination) 、突變 (mutation) 與選擇 (selection),以下針對這 些機制作一概述。
2.7.3.2.編碼與適應函式
演化策略的應用多半在於連續函數問題的最佳解設計上,須先將問題編碼成 Rn
XG∈
形 式 , 其 中 n 為 問 題 變 數 個 數 , 接 著 給 定 目 標 函 式 (object function) f :Rn →R , 且 適 應 函 式 (fitness function) Φ 原 則 與 目 標 函 式 一 致
( )
aG = f(xG)Φ , 其中xG 為aG
組成之一,即aG =(x1,x2,...,xn,
α
1,α
2,...α
m),x為變數α 為 策略參數,(α 是問題變數的標準差以作為突變機制的依據)α 個數1≤m≤n。當在做 問題描述時必須定義清楚,之後我們才可以利用適應函式Φ 作為演化依據。
假設我們針對 n 個實數變數進行計問題為佳化設計,第一部主要是進行變數編碼
(
x x x xn)
xG∈ 1, 2, 3,...,
,接著給定目標函式 f(xG)∈R,接著設定策略參數α ,最後組成適 應函式Φ
(
x1,x2,x3,...,xn,α
1,α
2,α
3,...,α
n)
。46
2.7.3.3.重組(recombination)
當演化策略法為(μ+λ)-ES 和(μ,λ)-ES 會多出重組步驟與 GA 步驟中的交配相 同,主要是為了讓父代個體染色體互相交換有用的資訊,使子代染色體獲得更高的合 適度,以改善父代染色體。除了目標變數進行重組運算外,策略參數也可隨著各單元 一 同 演 化 。 演 化 策 略 有 許 多 種 重 組 方 式 , 一 般 可 以 分 為 離 散 型 及 中 間 產 物 型 (intermediate) ,運算方法如下所式:
z 離散型式
從父代中集合中選取兩組解,p1{10,20,30,40,50}與 p2{12,24,28,44,48},接下透過 離散重組式{1,1,2,2,1}(選擇子代解變數繼承的對象,1 代表由 p1 選取 2 代表由 p2 選 取),產出子代{10,20,28,44,50},如下圖所示:
圖 2-14離散重組示意圖
z 中間產物型(intermediate)
中間產物主要是利用加權平均的概念運算,如下圖中中間產物運算子
{0.4,0.3,0.6,0.6,.5}意味著新子代的各個變數的解是經由父代依比例產生;child 中的第一 個變數11.2 即是10×0.4+12×
(
1−0.4)
計算求得。47
圖 2-15 中間產物形示意圖
2.7.3.4.突變
在演化策略法中,若各子代來自於父母的基因組合時,染色體的內容即是問題的可 能解,可避免個體在合適度評估時做數值轉換,但只進行重組運算時無法產生差異度較 大的子代,容易陷入區域最佳解(local solution)中,透過突變機制可使目標變數達到最佳 化,策略參數也可透過突變獲得效率最高的演化參數。
突變公式如下:
( ) ( )
(
0,1 0,1)
exp '
' i N N
i =
σ
⋅τ
⋅ +τ
⋅σ
i=1,2,3,...,nσ , . (0,1)'
' x N
xj = j +σj j =1,2,3,...,n
其中,
σ
i為父代中第i 個策略參數,σ
i'為子代中第i 個策略參數,而xj
為父代中第j 個目標變數,x'j為子代中第j 個目標變數 2 −1
= n
τ
全域學習率(global learning rate),n=目標變數個數' = 2n−1
τ
區域學習率(local learning rate),n=目標變數個數2.7.3.5. 選擇與終止
選擇機制在演化策略中方式是決定論的 (deterministic) ,可以分為((μ+λ)演化策 略 和(μ,λ)演化策略),主要差異在主要分別在於(μ+λ)ES 中,在於父代經過重組 與突變後產生λ個子代,之後再進行適性函數評估時,會將父代與子代(μ+λ)同時進
48
行考慮選出μ個為下一代的父集合;(μ,λ)ES 則是在評估時只考慮λ個子代,之後選 出μ個為下一代的父代;演化流程如圖 2-16 所示。
在正常運作下,要中止演化,通常有下列方式,視資料與問題複雜度設定之。常見 的方法有1.直接設定演化代數;2.設定演化時間;3.設定每代合適性之差異程度,當差 異小到預設值時即停止。
產生初代母體族群
由母體中挑選父代執行 重組運算,產生子代
進行子代突變
適應函數評估值選擇下 一世代父解
是否達到演 化終止條件
最佳解 否
是
圖 2-16 演化流程圖
針對文獻探討確認的預測方法和程序,於下一章節依此建構本計畫針對完整運籌環 境下,需求方與實體運輸方協同運輸網絡配置模型進行建模程序。
49