• 沒有找到結果。

傳統基因演算法與粒子群演算法的相異之處

2.7 基因演算法與 GPPSO 比較

2.7.3 傳統基因演算法與粒子群演算法的相異之處

首先,基因演算法中的選擇(selection)是適者生存的概念,保留最好的染色 體,粒子群演算法沒有這樣的操作,每個粒子一直存在,粒子的位置依據之前 的位置改變。其二,基因演算法的交配,隨機選取親代,互換兩親代的基因,

粒子群演算法粒子間不互換特性,但是互相分享資訊,粒子群演算法中粒子的 影響來自自己的最好解,跟區域或全域最好解,被影響的因素不是來自隨機的。

其三,粒子群演算法會記憶個體的最好解,提供粒子群的搜尋方向。

基因演算法的初始化方式為,將要解決問題的參數編碼為染色體,每一染 色體即為解空間的一個潛在解,基因演算法的染色體對應粒子群演算法的粒

子,相異於粒子群演算法的初始解,基因演算法的初始化編碼可以適用於binary

及實數問題,粒子群演算法因初始化的關係較適合解實數問題。

三、提出 GPPSO 方法論 3.1 想法起源

在不同領域的應用範圍求解最佳化問題,通常會根據應用的內容,挑選合適 的演算法,加上對應用問題的相關背景知識進行演算法的調校及修正。如何發展 一種通用型的演算法,在個領域範圍上都有不錯的效能表現,是最初的想法。不 同領域中,遇到的問題可能有,求解問題有交互作用,多個區域解以及要解大參 數的問題,針對可能遇到的問題,在演算法中加入可以解決的機制,挑選使用粒 子群演算法,加入三種不同機制,期能達到成為一通用型的粒子群演算法。

首先,粒子群演算法初始化為在解空間中隨機產生初始粒子族群,使用初始 解開始演算法計算,如果能在初始化時,使用直交實驗,有系統的求出初步最佳 解,對正確解的搜尋有縮短時間的幫助。其次,粒子群演算法的缺點有容易掉入 局部最佳解(local optima)的問題,且針對搜尋空間大、大參數(large search space) 的問題時,不容易找到最佳解。Local search 機制,可以針對單獨粒子操作,當 粒子位置不是區域最佳解時,使用local search,可以在鄰近區域內找到區域最佳 解,且粒子的位置改變,不需與粒子群分享訊息,可以增加粒子間的變異度,增 加粒子間的變異度可以提高搜尋效能,改善整體搜尋時間。最後,針對大參數時,

對單點粒子進行智慧型粒子移動機制,利用直交表的系統推理得到較佳的下一個 粒子位置,可以減低成本,達到更好的搜尋目的。

有別於標準的PSO,擬加入 ODE 機制求初始粒子族群,並使用 IMM 針對

大參數問題,期望IMM 中有系統的推理,可以更有效的找出潛在最佳解,最後

為了達到general-purpose 的目標,對於可能的參數群,加以利用 ODE 去產生參 數的最佳組合,提供一組預設的演算法參數。

3.2 理論基礎

粒子群演算法有搜尋結果不夠穩定以及收歛速度不快的特性,初始化使用隨

機方式產生初始點,在搜尋空間中隨機選擇初始點,產生的問題可能有,初始化 的點對解空間取樣不夠均勻。取樣不均勻需要花費較高的成本找到最佳解,隨機 因素可能產生演算法不夠穩定,也可能產生搜尋效果不夠好的結果。初始點的位 置,影響搜尋速度跟搜尋結果。

使用直交表進行初始粒子位置的選取,採用直交表進行取點動作,透過直交 表的有效直交實驗,對解空間均勻取點,減少因為隨機初始化產生的不穩定。初 始化時,有效且公平的選擇初始點,將粒子群體導向最佳解方向,期望達到穩定,

快速收歛的目標。

使用直交表得到初始解的概略方式為,對解空間分析後,設定直交表使用的 水準數,直交表使用的水準數即為對解空間的分割數,得到直交表後,針對每一

個解進行計算,取得評估值,對所有的解取最好的前N 個解,N 為粒子群演算法

的粒子數目,使用這些粒子最為演算法的初始粒子族群。直交表初始化可以減少 隨機初始化的不確定因素。直交表特性可以保證均勻取點,雖然隨機也是強調均 勻撒點,使用直交表可以更有系統的得到初步的最佳解。直交表的水準數,也關 係到直交初始化的效能。水準數太少不夠均勻,甚至可能掉在局部最佳解(local optima),水準數太多則經濟效益不佳。以平均有系統的選擇初始點,可以減少每 個點的搜尋空間,加快演化收斂速度,期望解決求解不穩定的問題。

使用直交表協助產生初始解,採用多水準的直交表,因多水準的直交表可以 將解空間分割成多個等分,如只使用兩水準直交表,雖然評估的次數較少,但得 到的精確度卻大幅降低。如解空間大的時候,只對解空間取兩點來考慮,喪失使 用直交表均勻取點的特性,也沒有辦法確實得到較佳的初始解。

當粒子位置不是local optima 時,使用 local search 可以在鄰近區域找到比目 前更好的解。很多研究指出,維持粒子間的變異度可以提升粒子群演算法的效 能,一個有效的方式為在粒子群演算法中加入突變的操作,local search 可以改變 粒子的位置,維持粒子間高的變異度,也不影響其他的粒子,local search 類似突 變操作的功能,可以維持粒子間的變異度,防止演算法過早收斂。

粒子群演算法解large 問題時,效果不佳。OPSO 可解 large 問題,OPSO 對 每一個粒子均進行直交實驗,花費成本很高。改良針對一個最好的粒子作智慧型 粒子移動機制,可以降低成本,達到更好的搜尋目的。

為達到general-purpose 的目的,將影響粒子群演算法搜尋效果的參數當成直 交表因素,帶入直交表,經由直交實驗,得到最好的一組預設參數。評估函數使 用代表型函數,最後評估值為所有測試函數的評估值總和。目前使用的參數有,

初始化直交表的水準數、最大的粒子移動速度以及慣性權重(W)。挑選參數的原 因,初始化直交表的水準數影響評估次數,也影響初始化取點的密度。粒子群演 算法對最大的粒子移動速度敏感,當最大速度過大時,每次速度的改變都會超過 預估可能下一個較好解的範圍,演算法會趨近random search,當最大速度過小 時,每次移動的範圍太小,容易成為local search。慣性權重維持區域搜尋與全域 搜尋的平衡。

3.3 GPPSO 之設計 3.3.1 GPPSO 流程

GPPSO 的流程如下,

1. 使用直交表得到粒子初始解 2. 標準 PSO 流程

3. local search 機制

4. modified IMM,如粒子總數為 30,將粒子排序之後,找最好的前 10 個 particle 進行直交實驗

圖 3.1 GPPSO 流程

3.3.2 由直交實驗求出 GPPSO 參數

為達到general-purpose 目的,本方法先要設定參數值,包括使用直交表 初始化的直交表參數:水準數(level)、慣性權重(w)及粒子移動最大速度。粒 子群演算法的參數,影響搜尋效能,期望能找出一組通用的參數,在一般通 用的問題上,都有不錯的效能。使用三因素,三水準直交表,進行獨立實驗

二十五次。選取參數分別為初始化直交表水準數,最大速度及W。初始化直

交表水準數三水準分別為,5,11,13。最大速度,三水準分別為,3,5,7。

W,三水準分別為,0.3,0.5,0.7,使用上述參數,帶入三乘三的直交表,有 九次直交實驗,取得最後平均最佳的一組參數,當作預設的參數。

3.3.3 GPPSO 的方法全貌敘述 3.3.3.1 直交表初始化

GPPSO 方法擺脫傳統 PSO 方法用隨機取點當作初始解,操作直交表方 法更有效率取得較好的初始解,直交表方法的觀念是從解域中所有可能的解 (possible solution points)去排出少數且獨立的潛在解去做最佳解的評估比較,

以其中最好的解,當作初始解,使用直交表求初始解步驟如下,

1. 建構直交表。直交表因素數為問題的維度(dimension),直交表水準數為對 解範圍要切割密度,如水準數為三,將解範圍切割成等分,取三個代表點,

分別代表水準一、水準二及水準三。

2. 依據直交表初始化,如水準數為一時,選取第一個等分的代表點。得到所 有粒子位置後,帶入評估函數,求得評估值,依據評估值及直交表,導出推 理解。根據評估值排名,取前N 個作為演算法初始值。N 為原始 swarm 的 particle 數目。

3.3.3.2 Local search

Local search 目的為探索更好的潛在解,並提供更大的變異度,步驟如 下,

1. 步驟一:選定一個移動方向 ,得到新的位置 2. 步驟二:取得新位置的評估值

3. 步驟三:檢查評估值是否有比原始解的評估值好,如是,則往同一方向繼 續進行,如否,則朝其他方向搜尋

停止條件,設定local search 可執行的最大步數,超過此最大步數即停止,如 朝多個方向搜尋失敗,即跳出local search 步驟。

GPPSO 中的 local search 機制,只使用最好的粒子進行 local search,可 提供好的效能,也可節省評估次數。

d xil + d = xil+1

3.3.3.3 智慧型粒子移動機制

Novel Orthogonal Particle Swarm Optimization 中針對所有 particle 作智慧 型粒子移動機制,因為智慧型粒子移動機制需要評估成本很高,所以需降低 particle 數量,adopted PSO 中採用針對最好的前幾個 particle 做智慧型粒子移 動機制,降低評估成本也可以求得很好的效果。

取得目前最好的兩個particle 當作直交實驗的來源,帶進直交表中,求得 最好的結果,如果結果優於原始最好的particle,進行取代最好的 particle。

3.4 GPPSO 與基因演算法的操作對應

基本的粒子群演算法,沒有選擇,交配,突變的機制,經由計算得到下一個 最佳解位置,如何維持粒子間的變異度,為很多研究的目標,本篇論文中,提出 local search 跟 IMM,維持粒子間變異度,對照基因演算法的突變跟交配機制。

GPPSO 加入 local search 機制,local search 在粒子附近搜尋,找出更好的 解,增加粒子間的變異度,模擬基因演算法的突變機制,增加個體間的變異度,

小幅度的變化,試圖找出更好的解。

GPPSO 加入 IMM 機制,可對應基因演算法的交配機制,交配產生不同的 個體,評估個別個體的評估值,挑選好的取代原親代,IMM 經由直交表產生不

GPPSO 加入 IMM 機制,可對應基因演算法的交配機制,交配產生不同的 個體,評估個別個體的評估值,挑選好的取代原親代,IMM 經由直交表產生不

相關文件