• 沒有找到結果。

第二章 文獻探討

2.2 解決方式

在 2000 年左右,靠著簡易計算的凌越關係以及各種維持解之多樣性的機制,

演化式演算法在處理多目標最佳化問題中佔有了一席之地,但近年來考量到現實 世界中的最佳化問題,其目標數通常都不只是學術用最佳化問題中的兩、三個而 已,為了配合只能在這些小目標數問題中表現出眾的的演算法,往往只能靠著將 問題簡化的方式來解決問題。因此如何處理高目標最佳化問題已成了一項趨勢,

許多人也紛紛朝不同的方向嘗試了各種方法,Ishibuchi 等人 [1] 將其歸納地相 當完整,以下將一一介紹這些方法:

(一) 變更柏拉圖凌越關係 (Modification of Pareto Dominance) (二) 採用不同的劃分階級方式 (Introduction of Different Ranks) (三) 採用不同的分散度維持機制 (Diversity Management) (四) 使用指標函式計算適應度 (Use of Indicator Functions) (五) 使用純量化函式計算適應度 (Use of Scalarizing Functions) (六) 將偏好資訊加入搜尋條件中 (Use of Preference Information) (七) 減少求解目標的數量 (Reduction of the Number of Objectives)

11

2.2.1 變更柏拉圖凌越關係

Sato 等人 [9] 為了提升演算法中個體往柏拉圖前緣逼近的搜尋能力,並克 服求解高目標問題時族群內非凌越解過多的狀況,提出了一種修改過的凌越關係,

可明顯地提升 NSGA-II 在求解高目標最佳化問題時的效能,圖 4(a) 表示原本的 凌越關係,而在圖 4(b) 中,他們增加了凌越關係中的角度大小,透過這項機制,

使得各個解間更容易產生凌越關係,以減少族群內非凌越解的個數,從而增進演 算法中選擇機制的能力。在文中也有提到,凌越關係的角度大小與所求問題的目 標數呈正相關,目標數越大時,所使用的凌越角度應隨之增加才行。

但使用此方法也存在其缺點,當改變凌越角度而能增強向柏拉圖前緣逼近之 能力的同時,卻也降低了族群中解的多樣性 (diversity of solutions),以圖 4(b) 來 說,點 B 的凌越面積就較點 A 與 C 還來的大,也就是此方法較趨向於往中間 發展,而忽略了邊緣的解,使得族群有集中的趨勢,使得分散度下降。

(a):原始的凌越關係

圖 4:不同的凌越關係比較

(b):變更後的凌越關係

f

1: Minimize

f

2

: Mi n im iz e

0

B C A

f

1: Minimize

f

2

: Mi n im iz e

0 B

C A

12

2.2.2 採用不同的劃分階級方式

在眾多新穎劃分階級的方式中,最簡單的為 Drechsler 等人 [10] 所提出一 套名為喜好關係 (favour) 的劃分階級方式,不同於以往一般單純比較凌越關係 的劃分方法,喜好關係採取比較兩個個體間,誰相較於另外一個解贏的目標數較 多,則給予其較好的階級。但此種劃分方式也存在其缺點,如圖 5 所示,以最 大化問題來說,解 A 在目標 f1、f4 以及 f5 上勝過解 B,因此依照喜好關係的規 則,解 A 會被給予較好的階級,但其實解 A 在 f2 與 f3 這兩個目標上,與解 B 是有著很大的一段差距的。因此 Sülflow 等人 [17] 提出了一套改進版的喜好關 係,除了比較較好的目標值數目之外,目標值間的差距也要列入考量,在此方法 下,解 B 是有可能贏過解 A 的,但差值影響的範圍多大,要如何設定?這又是 另外一門學問,使得此法使用不易。

Corne 與 Knowles [18] 提出,在比較多種階級劃分的方法後,表現效能最 好的是平均階級劃分法 (average ranking method),假設最佳化問題有 k 個目標 值,則每個解的各個目標值皆會各自比較、排序給予對應的階級,意旨每個解各

f

1

f

2

f

3

f

4

f

5

f

1

f

2

f

3

f

4

f

5

圖 5:兩個解在五個目標值上的大小

(a):解 A (b):解 B

13

自會有 r1, r2,…, rk 共 k 個階級值,將其相加並且除以 k 得平均數後,即為代表 該解的階級值。此法雖然不須多去設定各種參數,且較前述兩種階級劃分法更為 明確,但在計算資源的要求上也較大。

Garza-Fabre 等人 [19] 則提出了 Global Detriment(GD)、Profit(PF) 以及 Distance To The Best Known Solution(GB) 等藉由計算族群中個體間的歐幾里得 距離 (Euclidean distance) 來給予階級的方法,無論目標數如何增加,其階級劃 分率 (階級數/族群大小),幾乎都可以維持在 1.0,且求解時的收斂度相當不錯。

使用加強版的階級劃分法雖然能增加演算法往 PF 逼近的選擇能力,但劃 分得太細時,族群極容易朝著某個已找到最小值的方向逼近,整體的分散度急速 下降。

2.2.3 使用不同的分散度維持機制

Deb 與 Tiwari [20] 在 2006 年提出,在 NSGA-II 演算法原本用以維持族 群分散度的擁擠距離 (crowding distance) 中,除了計算族群在目標空間中的距離 外,還加入了計算決策空間中距離的機制。Köppen 與 Yoshida [21] 嘗試將

NSGA-II 演算法的擁擠距離機制替換成其他維持族群分散度的方法,以期能夠 增強演算法的求解能力,在他們提出的四種方法中,ε-dominance 的表現較為優 良。使用族群中個體間的距離關係做為分散度維持機制的依據,雖然能在一定程 度上保持族群的多樣性,但並不能夠保證族群能在演化後期於目標空間中分布的 非常均勻。

14

2.2.4 使用指標函式計算適應度

Zitzler 與 Künzli [11] 提出一套使用指標函式做為計算適應度方式的演化 式演算法框架 (IBEAs),鑒於研究者常常使用指標函式的結果來評斷一組演算法 所找出的非凌越解之好壞,直接使用指標函式來計算適應度看來是可行的,而最 常被用在 IBEAs 中的指標函式為 hypervolume。Wargner 等人 [22] 比較了

NSGA-II、SPEA2 與 SMS-EMOA 三者在求解高目標最佳化問題時的差異,由 於 SMS-EMOA 不是使用凌越關係來計算個體適應度,因此當目標數上升時,

演算法的搜尋能力並不會下降,但其中還是存有一些缺點,計算 hypervolume 原 本就不算是一件簡單的事,而要在演算法執行的過程中大量重複運算,當目標數 增加時,其需求的計算資源會變得相當吃重,所以如何將 hypervolume 的計算 方法簡化一直是 IBEAs 的重要課題。

2.2.5 使用純量化函式計算適應度

使用純量化函式計算適應度,最大的優點就是非常的快速,例如以各目標的 加權總合 (weighted sum) 做為適應度,即使目標數目相當的多,計算時間也不 會太長,但是各目標的加權值需要如何設定,才能使得演算法的效率提升,卻又 因不同的問題而異,因此 Hughes [23] 提出一套融合多個純量化函式來計算單一 個體適應度的方法,並使用一套變動式的權重向量產生法。假設有 k 個純量化 函式,則族群中每個個體皆會分別被此 k 個函式計算一次適應度,也就是經過 計算後,每個個體皆會各自擁有 k 個適應度,而最後個體所呈現出來的適應度

15

則來自此 k 個適應度的加總或是平均值。

2.2.6 將偏好資訊加入搜尋條件中

由於在求解高目標最佳化問題時,所需近似整段柏拉圖前緣的解之數量會呈 指數成長,因此讓族群專注搜尋使用者偏好的區域是一種辦法。Deb 與 Sundar

[13] 將偏好資訊轉化為參考點融入 NSGA-II 演算法中,於族群內劃分完階級後,

以各解與參考點間的距離替代掉擁擠距離,當作在比較階級之後,區分個體優劣 的依據。Thiele 等人 [24] 則是將相同的概念帶入到 IBEAs 之中。

2.2.7 減少求解目標的數量

若我們能把高目標問題簡化為二或三目標問題時,所有在求解高目標問題時 遇到的困難都能迎刃而解。Deb 與 Saxena [15] 提出一套演算法框架,先將高目 標問題經過一小段演化式演算法求解後,再將該結果透過數學運算式求出哪些目 標是冗餘而可去除的,重複這兩個步驟直到目標數降為二或是無法再刪去目標數 後,再執行一次演化代數較長的演化式演算法來求解。而 Brockhoff 與 Zitzler

[16] 則是希望能在一次的演化式演算法中達到減少目標數的動作,演算法執行 時會紀錄近幾代各解的目標值,當發現其中有目標值變動的幅度不大甚至沒有改 變時,即將該目標刪除。但經過減少目標數後所得到的非凌越解,其中可能會含 有不可行的解 (infeasible solutions) ,需要一些後續動作來做修復。

16

總的來說,增進演化中選擇能力的方法 (變更凌越關係、加強階級劃分),

可使得族群逼近柏拉圖前緣,但卻伴隨著多樣性下降的缺點;使用指標函式能給 予個體準確的適應度,但當目標數上升時所需的計算資源又太過龐大;選擇計算 資源少的純量化函式,在求解問題時要將函式內各項參數調到合適的值又需耗下 許多功夫;在演算法中加入偏好資訊,可讓演算法專心在特定區域搜尋,但依舊 無法完整地解決問題;減少目標數雖然能讓問題趨向簡單,但若遇到無法減少的 問題,此法也不可行。

在 2012 年,Deb 與 Jain [8] 提出了一套改進版的 NSGA-II (NSGA-III) 來 處理高目標最佳化問題,替代掉原本的擁擠距離運算,使用族群內個體所形成的 超平面 (hyper-plane) 來劃分參考點,以維持族群的分散程度,並收到不錯的成 效。本論文即是以此為基礎發展,並將該演算法中各個環節使用不同的方法改進,

以期能夠加強演算法求解高目標最佳化問題的能力。

17

第三章 強化親代選擇機制之平行化