• 沒有找到結果。

常見啟發式最佳化演算法

第二章 文獻回顧

2.2 工程最佳化問題型態與演算法

2.3.1 常見啟發式最佳化演算法

啟發式演算法與一般數值最佳化演算法最大不同在於求解方式 為有系統的多次隨機搜尋直到達目標條件為止,而非以計算導數值方 式搜尋求解。啟發概念即套用於隨機搜尋模式中,並非毫無頭緒的隨 機組合;而啟發顧名思義就是對於人事物現象之觀察有所啟示,繼而 學以致用。

這類方法最大優點是:求解效果佳,且相對於傳統求解最佳化法 上,較不受限於初始參數值如何明確給定的問題,並以隨機方式搜索 得到的解較靈活、較能跳脫局部解情形,因此也不用記錄求解過程大 量函數導數資料,應用範圍也較廣。以下簡單介紹一些常見的啟發式 最佳化演算法:遺傳演算法、模擬退火法、禁忌搜尋法、螞蟻族群

演算法(Ant Colony Optimization,ACO)、粒子群法(Particle Swarm Optimization,PSO)、和弦搜尋演算法。

1. 遺傳演算法

又稱基因演算法,由 Holland 在 1975 年以達爾文進化論的「物 競天擇,適者生存」所發展的一種搜尋演算法。模擬生物過程對 環境的適應能力,適應力高者,表示生存能力強,因此遺傳給下 一代的機率相對較大。

搜尋策略:先將變數進行編碼(Encoding),以二位元或實數 方式表示成染色體和基因的形式;隨機產生一組初始族群

(Population);並評估初始族群中,由不同染色體組成所代表的個 體,即求函數值,並有各別被選取的機率大小;接著運用遺傳演 算法三個運算元,進行基因的選擇(Selection)與複製

(Reproduction)、交配(Crossover)和突變(Mutation),產生下一代新 的一組族群以改善當前的族群;重復更新直到達目標為止。

方法特性:無法直接應用求解,因為要先進行編碼程序;一 次搜尋一組解,因此也要儲存整組解的資料;實際應用需要評估 的變數量很多;較適合離散變數問題;應用上比較不受限。

2. 模擬退火法

主要是 Kirkpatrick 等人在 1983 年提出,以 Metropolis 等人 在 1953 年以蒙地卡羅的統計機率觀念,模擬分子在高溫狀態下,

逐漸冷卻的行為。

搜尋策略:物質在固定高溫、高能量狀態下,分子隨機散佈 在範圍空間中移動,並選擇分子變數之初始值;接著在初始點附 近找出一個新設計點目標值,判斷新設計值是否小於當前值,若 是的話就取代當前值,否則就以隨機亂數判斷是否接受此”上坡”

之設計值,其中,此接受的機率會隨溫度越低而越小,以期達到 收斂之目的;再來判斷是否有足夠搜尋長度,此步驟是模擬物質 緩慢降溫時,能有足夠時間讓分子找到較低的能量狀態;重覆直 到達預設的最低溫為止。

方法特性:比傳統最佳化法能跳出局部解,是因為允許搜尋 過程也可接受目標值較高的設計點,不過,全域性搜群能力不健 全;考慮當前狀態進行搜尋;要先決定起始點;應用上要評估的 點很多,且對於複雜問題所需要電腦計算時間較久;退火時程的 設定問題需要去嘗試決定。

3. 禁忌搜尋法

Glover,1986 年以模仿記憶方式所發展的一種最佳化演算法。

記憶之前搜尋結果以避免陷入局部解,也稱輔助式啟發性演算 法。

搜尋策略:其求解過程與 SA 類似,先選取一起始點;接著 在起始點附近,搜尋不在短期記憶之禁忌列表(Tabu List)中的下 一個設計移動點,除非滿足期望法則(Aspiration Criteria)規則,就 可取消此限制移動;然後比較此新設計值是否比當前設計值好,

若有則取代之,否則就繼續搜尋;直到滿足終止條件止。

方法特性:要決定一起始點;短期記憶量越大,越不會陷入 局部解,相對地,要儲存整個記憶列表的容量也會隨之變大;利 用長期記憶提升搜尋的多樣化,不過全域性搜尋能力尚不足;應 用上,特別適用工程管理方面問題。

4. 螞蟻族群演算法

Dorigo 等人於 1991 年由觀察螞蟻群覓食移動行為所發展的 一種演算法。

搜尋策略:螞蟻搬運食物回程時,會分泌一種荷爾蒙的費洛 蒙(Pheromone),且荷爾蒙濃度會隨時間消散蒸發;因此,其他螞 蟻可依不同濃度大小之路徑機率,去隨機選擇所要行走的路徑,

並在搬運食物回程時一樣分泌費洛蒙;依此方式重覆至最後,可 發現幾乎所有螞蟻都走同一條接近最短路徑,主要是因路徑越短,

所需行走時間越少,相對的費洛蒙殘留濃度會較大。

方法特性:適用問題規模廣,於小型問題可在短時間得相近 之最佳解,而大型問題則比其他演算法更能得較好的解;用於不 同問題型態有不同效能,特別適用於路線規劃方面問題;此外,

費洛蒙表示最佳解收斂的關鍵影響因子,因此在使用上表達的優 劣,決定是否能搜尋成功的關鍵。

5. 粒子群法

由 Kennedy 和 Eberhart 在 1995 年提出,同 GA 一樣以群體 為基礎所發展的一種最佳化演算法,不過,並不考慮交配和突變 運算元。模擬鳥群或魚群在空間中覓食的社會行為。

搜尋策略:將個體視為粒子,一開始隨機產生各粒子的初始 位置和初始速度;計算出表示各粒子適應力的函數值;接著每顆 粒子會依本身經驗與直覺,在範圍空間內移動至覺得較佳的位置,

即產生修正的速度與對應位置,比較函數值是否比當前好;當群 體中有更佳的函數值時,粒子之間會相互溝通,並引導各粒子漸 漸地往當前所謂的全體最佳解移動;依此方式不斷產生新的位置 和速度直到滿足終止條件為止。

方法特性:考慮當前解的資訊;適用領域相當廣,大多情況 下比 GA 收斂快;各粒子擁有各自的記憶與判斷力;屬於區域與 全域共同評估的搜尋法。

6. 和弦搜尋演算法

2001 年由 Geem 等人所提出發表,為一種啟發式演算法進化 版,發展至今已有 10 年之久。此方法模擬音樂家們使用不同樂 器一起即興演奏下,每位音樂家各自記憶所彈奏的曲調,並藉由 每次合奏後來調音,因此,經過數次的即興演奏後所演奏的音樂 會越來越和諧、越美妙,依此種方式產生的最佳演奏概念來求解,

稱和弦搜尋演算法,如圖 2.4。

   

圖 2.4 HS 模擬與設計變數對照圖(Lee & Geem,2005)

Geem (2010)說明最先進的 HS 演算法架主要分成 7 大步驟:

步驟 1: 問題公式化(problem formulation) 步驟 2: 參數設定(algorithm parameter setting)

步驟 3: 隨機產生初始記憶(random tuning for memory initialization)

步驟 4: 改善和弦: 隨機選取、考慮記憶與調音 (harmony improvisation : random selection, memory consideration, and pitch

adjustment)

步驟 5: 記憶更新(memory update)

步驟 6: 滿足終止目標(performing termination) 步驟 7: 終曲(cadenza)

一開始將問題以數學模式表示,即公式化;接著給定參數值 或相關參數設定後;以完全隨機模式產生一組解(和弦)作為初始 和弦記憶向量(HM),以上(步驟 1~3)歸類為問題的初始化;接下 來(步驟 4~6)為問題的搜尋方式,考慮參數機率(HMCR、PAR、

bw)關係後隨機產生一個解(和弦);此新產生的和弦若是比 HM 中任一個好,則剔除最差者並取代之;接著一直重複步驟 4、5 直至達終止目標為止。步驟 7 類似樂曲接近結尾的一段裝飾奏,

將最佳解(和弦)再做一次演奏或修飾後來收尾。演算法完整流程 表示如圖 2.5。其中,和弦搜尋演算法所使用的主要參數有兩個:

和弦記憶比率(Harmony Memory Considering Rate,HMCR)與調整 比率(Pitch Adjusting Rate,PAR),並以兩者參數關係來改善最佳 化搜尋,如圖 2.6。

方法特性:離散、連續或不連續變數均能使用;不用給定初 始值;較不受區域性限制;原理簡單,使用容易;搜尋解的量不 會因變數量增加而大幅度上升。

圖 2.5 和弦搜尋最佳化演算法流程圖(Lee & Geem,2005)

圖 2.6 新和弦產生之概念(修自 Lee 和 Geem,2005)

Lee 和 Geem (2005)將啟發式演算法依模擬自然現象的不同而分

符並一同演奏才會產生最和諧音律的調音概念。主要設計參數:

和弦記憶比率和調音比率。

3. 物質提煉過程:模擬粒子高溫隨時間冷卻達平衡狀態。如:模 擬退火,物質若在高溫熔化時,其分子排列方式為隨機分散,

以降溫過程控制分子排列的一種物理現象。

(SA)

(TS) (HS)

(GA)

(PS) PMBGA

…等

圖 2.7 啟發式最佳化演算法依模擬現象不同分類

啟發式最佳化演算法除了上述的方法外,尚有許多其他演算法,

如:Bee Algorithms(BA)、Firefly Algorithms(FA)…等,而這些方法共 同的求解概念可以簡單分為兩種:第一種是在問題模式的範圍內隨機 搜尋,滿足全域性的搜尋;第二種為在下次迭代中,會考慮先前比較 好的結果,達到最佳求解的收斂效果。

Yang (2009) 提到 Meta-heuristic 是 Heuristic 的進化版,主要組 成元素: Intensification 與 Diversification 比較如表 2.3。而此兩元素權 重對於求解的優劣效率有相當重要性。整理幾個常見的最佳化演算方 法(SA、ACO、PSO、FA、HS) 比較 Intensification 與 Diversification 之主控參數與說明如表 2.4。

表 2.3 Intensification 與 Diversification 之比較

比較 譯 喻 域 解 率

Intensification 加強版 開發 局部 收斂 快 Diversification 多樣化 探測 整體 發散 慢

表 2.4 Intensification 與 Diversification 主控參數與 5 個演算法說明 控制參數 Intensification Diversification SA 溫度 趨近設定低溫 高溫高能狀態