• 沒有找到結果。

強化親代選擇機制之平行化高目標演化式演算法

N/A
N/A
Protected

Academic year: 2021

Share "強化親代選擇機制之平行化高目標演化式演算法"

Copied!
86
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學 資訊工程研究所碩士論文. 指導教授:. 蔣宗哲. 博士. 強化親代選擇機制之平行化 高目標演化式演算法. A Parallel Many-objective Evolutionary Algorithm with Enhanced Mating Selection Mechanism. 研究生: 中華民國. 陳 102. 少. 文 年. 撰 6. 月.

(2) 中文摘要 當一個最佳化問題的求解目標數為兩個以上時,我們稱其為多目標最佳化問題 (multi-objective optimization problems),若目標數為四或四個以上時,則稱其為高目標 最佳化問題 (many-objective optimization problems)。現實世界的最佳化問題中存在著 許多高目標最佳化問題,傳統的多目標最佳化演算法只適合求解目標數四以下的問題, 設計一個能夠求解高目標最佳化問題的演算法是目前演化式領域中的研究重點。 我們以非凌越性排序基因演算法 (NSGA-III) 為基底,深入觀察該演算法特性, 改善親代選擇機制 (mating selection) 中選取親代的方式,優先改進族群中相對較差的 區域,並搭配鄰域選取 (neighborhood-based selection) 概念,得到不錯的成效;在環 境選擇機制 (environmental selection) 中,我們嘗試同時維持族群在目標空間與決策空 間中的分散度,並使用其他方法替代原本 NSGA-III 演算法的選取機制,雖然成效不 彰,但在實驗中我們觀察到了一些有趣的現象;我們更以島嶼模型 (island model) 將 演算法平行化,透過預先分配給各島嶼屬於邊框權重向量的機制,在維持演算法原本 求解能力的同時,還能加快整體的執行速度。 本論文所提出的各種改進機制可以互相搭配使用,以最佳版本的親代選擇機制配 合平行化機制的狀況下 (ESP-NSGA-III),與原版的 NSGA-III 相比,求解 DTLZ1~4 並改變其問題目標數共 15 個測試問題中,在 Mann Whitney U 統計檢定下,我們的 演算法有著 11 勝 3 和 1 負的優良表現。. 論文關鍵字:高目標、演化式演算法、平行化、親代選擇。. i.

(3) 誌 謝 非常感謝蔣老師在我兩年的研究生涯中,給予各方面的指導與幫助,老師在啟發 式演算法領域中廣博的知識以及獨到的見解,總是能夠引領我思考以及完備研究中的 各項機制。 感謝維新、鼎基、裕傑以及弘奇帶領我熟悉啟發式演算法領域中的基本知識以及 實驗室中的各項人、事、物;感謝大維、冠廷在兩年中一起修課、一起成長、相互砥 礪,有你們的陪伴並且能夠一起順利畢業,真的是太好了;感謝泳陖、仁一、麒安, 在我們準備論文以及口試的時候,能夠幫忙處理各項事物。 感謝父母不管在精神或是經濟上的援助,沒有您們做我最大的後盾,今天我就不 能順利地完成碩士學位。 再次感謝 MHLab 的各位在這兩年中所帶給我的一切。. ii.

(4) 目 錄 中文摘要............................................................................................................................... i 誌 謝.................................................................................................................................... ii 目 錄................................................................................................................................... iii 附表目錄............................................................................................................................... v 附圖目錄............................................................................................................................. vii 第一章 緒論.................................................................................................................... 1 1.1 研究動機.......................................................................................................... 1 1.2 背景知識.......................................................................................................... 1 1.2.1 多目標最佳化問題................................................................................ 1 1.2.2 演化式演算法........................................................................................ 3 1.2.3 平行演化式演算法................................................................................ 4 1.3 研究範疇.......................................................................................................... 6 1.4 第二章 2.1 2.2. 論文架構.......................................................................................................... 7 文獻探討............................................................................................................ 8 求解高目標最佳化問題的難處...................................................................... 8 解決方式........................................................................................................ 10 2.2.1 變更柏拉圖凌越關係.......................................................................... 11 2.2.2 採用不同的劃分階級方式.................................................................. 12 2.2.3 使用不同的分散度維持機制.............................................................. 13 2.2.4 使用指標函式計算適應度.................................................................. 14. 2.2.5 使用純量化函式計算適應度.............................................................. 14 2.2.6 將偏好資訊加入搜尋條件中.............................................................. 15 2.2.7 減少求解目標的數量.......................................................................... 15 第三章 強化親代選擇機制之平行化演算法 ESP-NSGA-III ................................... 17 NSGA-III ....................................................................................................... 17 3.1.1 族群初始化.......................................................................................... 17 3.1.2 環境選擇.............................................................................................. 19 3.1.3 繁殖...................................................................................................... 24 3.1.4 終止條件.............................................................................................. 24 3.2 改進親代選擇機制........................................................................................ 24 3.1. 3.2.1 基於參考點的階層式親代選擇機制 (MS-RPU) .............................. 25 3.2.2 基於參考點的階層式親代選擇機制改進版 (MS-RPW) ................. 25 3.2.3 強化劣勢參考點之親代選擇機制 (MS-WS) .................................... 26 3.2.4 鄰居親代選擇機制 (MS-NB) ............................................................ 28 3.3 改進環境選擇機制........................................................................................ 29 3.3.1 週期式決策空間叢集環境選擇機制 (ES-CL) .................................. 30 iii.

(5) 3.3.2 3.4. 第四章 4.1 4.2 4.3 4.4. 混合式決策空間擁擠距離環境選擇機制 (ES-CD) ......................... 32. 3.3.3 混合式收斂取向環境選擇機制 (ES-GB) ......................................... 33 演算法平行化機制........................................................................................ 34 3.4.1 各種權重向量分配法.......................................................................... 34 3.4.2 保留邊框之權重向量分配法.............................................................. 35 3.4.3 遷徙與取代.......................................................................................... 38 實驗與分析...................................................................................................... 39 測試問題........................................................................................................ 39 效能指標........................................................................................................ 39 參數設定........................................................................................................ 40 改進親代選擇機制........................................................................................ 41 4.4.1 基於參考點的階層式親代選擇機制.................................................. 41 4.4.2 4.4.3. 強化劣勢參考點之親代選擇機制...................................................... 43 鄰居親代選擇機制.............................................................................. 45. 4.4.4 融合式親代選擇機制.......................................................................... 47 4.5 改進環境選擇機制........................................................................................ 51 4.5.1 維持決策空間分散度之環境選擇機制.............................................. 51 4.5.2 混合式收斂取向環境選擇機制.......................................................... 55 4.6 平行化機制.................................................................................................... 56 4.6.1 各子族群之權重向量分配法.............................................................. 56 4.6.2 搭配遷徙功能之平行化演算法.......................................................... 61 4.6.3 搭配改進親代選擇機制之平行化演算法.......................................... 65 4.6.4 演算法平行化後的優勢與缺陷.......................................................... 67 第五章 總結與未來展望.............................................................................................. 73 參考文獻............................................................................................................................. 75. iv.

(6) 附表目錄 表 表 表 表 表 表 表 表 表. 1:多目標最佳化問題……………………………………………………………………………………………….40 2:Deb & Jain 的實驗設定 [8]…………………………………………………………………………………41 3:各問題演化代數設定 [8]……………………………………………………………………………………..41 4:NSGA-III 與兩種階層式親代選擇機制之 IGD 效能……………………………………….42 5:NSGA-III 與兩種階層式親代選擇機制比較之統計檢定結果…………………………..42 6:強化劣勢參考點親代選擇機制之 IGD 效能………………………………………………………43 7:NSGA-III 與強化劣勢參考點親代選擇機制相比較之統計檢定結果………………..44 8:鄰居親代選擇機制之 IGD 效能…………………………………………………………………………46 9:NSGA-III 與鄰居親代選擇機制相比較之統計檢定結果……………………………………47. 表 10:融合強化劣勢參考點與鄰居親代選擇機制之 IGD 效能…………………………………48 表 11:融合強化劣勢參考點與鄰居親代選擇機制之統計檢定結果……………………………49 表 12:階層式與鄰居親代選擇機制融合之 IGD 效能……………………………………………….50 表 表 表 表 表 表 表 表. 13:NSGA-III 與各種融合式親代選擇機制相比較之統計檢定結果………………………51 14:週期式決策空間叢集環境選擇機制之 IGD 效能……………………………………………52 15:週期式決策空間叢集環境選擇機制之統計檢定結果………………………………………53 16:混合式決策空間擁擠距離環境選擇機制之 IGD 效能……………………………………53 17:NSGA-III 與決策空間環境選擇機制之統計檢定結果…………………………………….54 18:NSGA-III、ES-GB 與隨機選取相比較之統計檢定結果……………………………………55 19:混合式收斂取向環境選擇機制與隨機選取之 IGD 效能…………………………………56 20:各種切割法之族群大小設定(族群切割數為 4)……………………………………………..57. 表 表 表 表 表 表 表 表 表 表. 21:NSGA-III 與三種保留角分配法相比較之統計檢定結果………………………………….57 22:依序分配法與搭配兩種保留邊框分配法之 IGD 效能…………………………………….58 23:依序整批分配法與搭配兩種保留邊框分配法之 IGD 效能…………………………….59 24:隨機分配法與搭配兩種保留邊框分配法之 IGD 效能…………………………………….60 25:依序整批保留角分配法搭配以 K 值控制遷徙之 IGD 效能………………………….62 26:依序整批保留角分配法搭配以 L 值控制遷徙之 IGD 效能………………….……….63 27:NSGA-III 與依序整批保留角分配法搭配遷徙相比較之統計檢定結果………….64 28:使用各種 L 值的遷徙功能之統計檢定結果…………………………………………………….64 29:搭配改進親代選擇機制的平行化版本之 IGD 效能 (K=80)……………………………66 30:NSGA-III 與搭配改進親代選擇機制的平行化版本相比較之統計檢定結果. (K=80).……………………………………………………….......................................................................67 表 31:經調整後之平行化版本各問題演化代數設定…………………………………………………..68 表 32:調降演化代數之搭配改進親代選擇機制的平行化版本 IGD 效能 (K=80)……68 表 33:NSGA-III 與調降演化代數搭配改進親代選擇機制平行化版本之統計檢定結果 (K=80)…….………………………………………………….......................................................................69 v.

(7) 表 34:NSGA-III 與兩種調整演化代數之平行化版本的各問題 20 run 執行時間 (s)(K=80)….……………………………………………………..........................................................70 表 35:與 NSGA-III 執行時間相同之平行化版本各問題演化代數設定……………………71 表 36:加長演化代數之搭配改進親代選擇機制的平行化版本 IGD 效能(K=80)........71 表 37:NSGA-III 與加長演化代數搭配改進親代選擇機制平行化版本之統計檢定結果 (K=80)………………………………………………………........................................................................72. vi.

(8) 附圖目錄 圖 圖 圖 圖 圖 圖 圖 圖 圖. 1:凌越關係示意圖………………………………………………………................................................2 2:演化式演算法流程圖………………………………………………………........................................3 3:平行模型………………………………………………………............................................................5 4:不同的凌越關係比較………………………………………………………......................................11 5:兩個解在五個目標值上的大小………………………………………………………......................12 6:NSGA-III 演算法流程………………………………………………………....................................18 7:階層與選擇………………………………………………………......................................................20 8:使用 ASF 尋找極端解………………………………………………………...................................21 9:超平面與投影 (Deb 與 Jain [8])…………………………………………………………................22. 圖 10:參考點與投影點 (Deb 與 Jain [8])…………………………………………………………............22 圖 11:使用 ASF 函式使得各參考點區域中存活個體往參考點逼近之示意圖………….30 圖 12:使用 ASF 函式不一定能保證收斂度之示意圖………………………………………………..30 圖 圖 圖 圖 圖 圖 圖. 13:依序分配法………………………………………………………....................................................34 14:依序整批分配法………………………………………………………............................................35 15:依序整批分配法求解 DTLZ1 之結果……………………………………………………………...36 16:第四個子族群演化過程示意圖……………………………………………………………...............36 17:保留頂點之依序整批分配法求解 DTLZ1 之結果…………………………………………..37 18:保留角之依序整批分配法求解 DTLZ1 之結果……………………………………………….37 19:保留邊之依序整批分配法求解 DTLZ1 之結果……………………………………………….38. vii.

(9) 第一章 緒論 研究動機. 1.1. 在演化式計算的領域中,多目標演化式最佳化 (evolutionary multiobjective optimization, EMO) 為現今最熱門的研究議題之一。而現存有名的多目標最佳化 演算法,大多都能在解決求解目標數為二 (bi-objective) 的問題時得到不錯的成 效,但當問題的目標數上升時,這些演算法的效能往往有著下降的趨勢。 當一個多目標最佳化問題的目標數為四或四個以上時,我們稱其為高目標最 佳化問題 (many-objective optimization problems) [1]。考慮到現實世界中的最佳化 問題大多屬於高目標最佳化問題,例如通用航空飛機設計問題 (general aviation aircraft design problem) [2]、水源管理問題 (water resource management problem) [3] 以及機械加工問題 (Machining Problem) [3],且在求解這些問題時,所需的 計算資源也較大,而耗費太多時間,因此設計一個能夠快速求解高目標最佳化問 題的演算法已成了一項研究重點。. 1.2. 背景知識. 1.2.1. 多目標最佳化問題. 一個多目標最佳化問題可以下式定義: Minimize/Maximize F(x) = (f1(x), ..., fm(x))T Subject to x   1. (1).

(10) Ω 代表決策空間 (decision space),Rm 代表目標空間域 (objective space),F: Ω → Rm 由 m 個實數目標函式組成。在求解最小化的問題時,令 u = (u1, u2, ..., um),v = (v1, v2, ..., vm) 為兩個屬於 Rm 的向量,假如對所有的 i = 1, ... , m 使 得 ui ≤ vi,而且至少存在一個 j 屬於 {1, ... , m} 使得 uj < vj,我們可稱 u 凌越 (dominate) v。以圖 1 為例,空心點 A 與實心點 B 與 C 各為目標空間內一點, 在最小化問題中,空心點 A 凌越灰色斜線區域內所有的解,即實心點 B 與 C 皆被空心點 A 給凌越。如果不存在 x   使得 F(x) 凌越 F(x*),則稱此點 x*  為柏拉圖最佳 (pareto optimal)。令 PS 表示所有柏拉圖最佳解的集合,PF 表 示所有柏拉圖最佳化之目標向量集合,則 PS 與 PF 之定義式如下: PS = {x*   | ! x  , F(x) dominates F(x*)}. (2). PF = {F(x)  Rm | x  PS}. (3). f2. B. C. A. f1 圖 1:凌越關係示意圖. 2.

(11) 1.2.2. 演化式演算法. 在求解多目標最佳化的問題時,我們常常無法在有限的時間裡使用一套完全 精準的演算法找到最佳解,而演化式演算法則能幫助我們在有限的時間內找到一 組相對好的最佳解。演化式演算法是一種模擬自然界生物演化過程的搜尋演算法, 在演算法中,族群中的每個個體即為所欲求解問題的一個解,而每個個體皆有屬 於自己的基因序列 (依照不同的問題給定特定的編碼),透過個體間的交配 (crossover) 、 突 變 (mutation) 來 產 生 含 有 新 序 列 的 子 代 , 再 經 過 環 境 選 擇 (environmental selection) 保留優良的個體,反覆執行以達成求解多目標最佳化問 題的目的。演化式演算法的流程如下圖 2 所示:. 初始化族群. 評估族群. 繁殖. 累加演化代數. 停止?. 是. 否. 圖 2:演化式演算法流程圖. 初始化族群 (Population Initialization): 最常見的方式是以隨機的方式產生個體 (解) 來將族群填滿,或是使用與 問題相關的經驗法則來產生品質較好的起始解 (相對於隨機的方式來說) ,再 者可使用區域搜尋 (local search) 一段時間後所得到的解來當作起始解。 評估族群 (Population Evaluation): 為了判別族群中每個個體的優劣,我們會給予個體各自的適應度 (fitness) , 當問題為單目標問題時,我們可以直接使用每個解的目標值來當作適應度,但當 3. 結束.

(12) 問題為多目標問題時,考慮到各目標間可能存有衝突,因此也衍生出了許多計算 適應度的方式。常見的方式有凌越關係 [4]、合併函式 [5] 等等。 繁殖 (Reproduciton): 此步驟旨在產生下一代的方式,首先會先選擇親代 (mating selection),再來 經過親代間的交配、個體突變來產生子代,而經由環境選擇後存活下來的個體, 則當作下一代繼續演化。在親代選擇方面,常見的有根據適應度高低分配選取機 率的輪盤法 (roulette wheel) 以及隨機挑選多個個體,再以其中適應度最佳者為 親代的競爭法 (tournament)。交配與突變則依照不同的編碼方式與問題而有著各 種方式,如編碼方式為二進制編碼時,常用的交配方式有單點交配 (1-point crossover) 與雙點交配 (2-point crossover),而突變則有翻轉突變 (flip mutation); 若 為 實數編碼,交配可用 simulated binary crossover (SBX) [6],突變則為 polynomial mutation [6]。常見的天擇機制有成代替換 (generational)、穩態機制 (steady-state) 等。有些演算法會在以上機制完成後加入區域搜尋來加強解的品 質。. 1.2.3. 平行演化式演算法. Cantú-Paz [7]. 將常見的平行演化式演算法分為三大類,分別為全域單一族. 群主從模型 (global single-population master-slave GAs)、單一族群微粒模型 (single-population fine-grained GAs) 以及多族群粗粒模型 (multiple-populaiton coarse-grained GAs)。 4.

(13) Master. … Slaves (b). (a). (c). 圖 3: 平行模型. 在「全域單一族群主從模型」中,通常有一個負責管理演算法運作的主處理 器 (master) 以及多個可獨立運作用以執行演算法中各動作的子處理器 (slaves), 當此模型運行時,主處理器會分派可同時運算的工作給各個子處理器去同步執行, 例如演化式演算法中的評估個體,此機制不需交換個體間的情報即可進行計算; 主處理器會等待所有子處理器完成計算後才會繼續進行下一個步驟,因此並不改 變演算法的本質,通常以加速計算為訴求。 「單一族群微粒模型」則以一個處理器來負責一個個體,並將個體排成網格 狀,每個個體皆可與相鄰的個體進行交配繁殖,但不可與其他未相鄰的個體交 配。 「多族群粗粒模型」與上述兩種單一族群的模型不同,為多族群模型。此模 型將族群分成多個子族群 (sub-population),各個子族群可以獨立演化,就如同 獨立的島嶼般,因此也稱為島嶼模型 (island model),各島嶼間可透過特定的連 結方式來聯絡,將各自具有代表性的解做遷徙 (migration),防止各島嶼陷入區域 最佳解。而透過不同的族群切割方式、島嶼間的連結方式,以及選擇用來作為遷 徙的解,使得此模型的變化相當大,因此也廣受人們喜愛。 5.

(14) 研究範疇. 1.3. NSGA-II 演算法 [4] 是多目標演化式領域中最具代表性的演算法之一,原 作者 Deb 與 Jain [8] 在 2012 年底提出用以求解高目標最佳化問題的改進版 NSGA-II 演算法 (NSGA-III),並獲得不錯的成效。我們的研究是以 NSGA-III 演 算法為基礎,改進該演算法中多個環節,以其能夠加強演算法的求解能力與執行 速度。 NSGA-III 演算法將預先設定好的權重向量 (weight vectors) 投影至族群形 成的超平面上得到參考點 (reference points),再使用這些點作為挑選存活個體的 依據,以維持整體族群的分散度,在求解高目標最佳化問題時表現非常優異。但 該演算法的親代選擇機制為個體取向的挑選方法,隨機選取個體後再比較彼此間 的好壞,本論文所提出的改進機制則是先選取參考點,再去選取屬於該參考點的 個體做為親代,以加強參考點在親代選擇機制中的重要性,為一參考點取向的挑 選方法。我們提出了各種選取參考點的方式,其中一些機制還能分辨出族群中哪 些區域的個體相對於其他個體為差,需優先改善,經由實驗證明,我們所提出的 親代選擇機制與原版相比,在求解高目標最佳化問題時有著相當明顯的進步。 我們以島嶼模型將演算法平行化,使用保留邊框的權重向量分配法,給予各 島嶼不同的權重向量各自演化,並搭配遷徙以及我們所提出的改進親代選擇機制, 不僅能夠加強演算法的求解能力,還能加快整體的執行速度。. 6.

(15) 論文架構. 1.4. 在本論文接下來的篇幅中,我們會在第二章探討近年來演化式領域的學者們 嘗試了哪些方法來求解高目標最佳化問題;第三章先介紹我們所使用的基底演算 法 NSGA-III 之詳細流程,接著談到本論文所提出的改進親代選擇機制、改進環 境選擇機制以及平行化;在第四章中則是透過詳盡的實驗,佐證我們所提出的各 項改進機制能有效地加強演算法的求解能力以及執行速度,第五章則為本論文做 總結。. 7.

(16) 第二章 文獻探討 2.1. 求解高目標最佳化問題的難處 Ishibuchi 等人 [1] 提到,使用常見的凌越關係演化式演算法 (如 NSGA-II). 來求解高目標最佳化問題時,會遇到許多困難,例如: (一) 演算法的搜尋能力下降 (二) 近似柏拉圖前緣的解之數量呈指數成長 (三) 難以呈現近似柏拉圖前緣內的解 鑒於目標數的上升,族群內的各個個體之間,難以存在顯著的凌越關係。以 常被用作討論的 NSGA-II [4] 來說,在該演算法中,適應度的計算方式是依照 各解間的凌越關係來劃分等級或階級 (rank),沒有被其他解凌越的解為階級 1, 而剩下的解再互相去比較凌越關係,再依此劃分為階級 2,以此類推,而階級越 小的解,其適應度就越高;但在求解高目標最佳化問題時,隨著目標數的上升, 各目標間更容易產生衝突,例如在車輛路由的問題中,當求解目標只有距離與時 間時,只要試圖找出最短路徑,時間通常可以跟著減少,問題即能迎刃而解;但 若加入車輛數以及顧客服務時間時,就沒有一個簡單且明確的方向來縮小各項目 標值。回到 NSGA-II 的演算法中,當此種狀況發生時,族群內階級的劃分就不 是那麼的明確,可能整個族群內的個體皆無凌越關係而同屬於階級 1,導致無法 判斷個體間的優劣,使得演算法的搜尋能力下降。常見改進的方法有改變凌越關 係的角度 [9],以減少族群內非凌越解的數量,或是依照某些條件再給予同階級 8.

(17) 內的解不同的適應度 [10]。總的來說,即是在凌越關係下,想辦法能夠辨別個 體間的好壞。 再者,使用其他計算適應度的方式來替代掉凌越關係,例如使用評斷演算法 好壞的指標函式來計算適應度的指標演化式演算法 (indicator-based evolutionary algorithms, IBEAs) [11],如使用 hypervolume 的 SMS-EMOA [12],或是使用多 個純量化函式 (scalarizing functions) 來計算的 MOEA/D [5]。 而第二項困難點 (近似柏拉圖前緣的解之數量呈指數成長) ,可使用一些含 有與使用者互動功能的演算法來解決 [13]。使用者可以選擇偏愛哪些目標或是 方向 (preference information),供給演算法參考做為搜尋的方向,使得族群內的 個體能夠朝著某個特定的柏拉圖前緣區塊逼近,以克服需要大量的解才能近似完 整柏拉圖前緣的問題。Ishibuchi 等人 [14] 嘗試使用個體數量大的族群來分別實 作 NSGA-II 與 MOEA/D 以求解高目標問題,在實驗設定上,每個問題皆以三 種族群大小分別實驗,但其停止機制皆為評估同樣數量的解,也就是說小族群的 演化代數較長,而大族群的則較短,在此種設定下,NSGA-II 的表現會隨著族 群大小上升而下降,而 MOEA/D 則沒有顯著的改變,顯示在處理大族群問題時, MOEA/D 是較有效率的。 最直接用以解決柏拉圖前緣可視性的方法則是減少求解目標的數目 [15][16],當目標數增多時,有些目標間可能是存有相依性的,例如目標 A 的數 值增加時,目標 B 也會跟著增加,減少時亦然。當然減少目標數的方法同樣也 9.

(18) 可以用來解決前兩個困難點,但若目標間無存在此種相依性時,此法當然就不可 行了,因此使用上也受到問題種類的限制。 而當目標數上升的同時,常常也伴隨著更多計算時間上的需求,因此我們研 究的目標是找到一個能夠快速且有效求解高目標最佳化的演化式演算法。. 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) 10.

(19) 2.2.1. 變更柏拉圖凌越關係. Sato 等人 [9] 為了提升演算法中個體往柏拉圖前緣逼近的搜尋能力,並克 服求解高目標問題時族群內非凌越解過多的狀況,提出了一種修改過的凌越關係, 可明顯地提升 NSGA-II 在求解高目標最佳化問題時的效能,圖 4(a) 表示原本的 凌越關係,而在圖 4(b) 中,他們增加了凌越關係中的角度大小,透過這項機制, 使得各個解間更容易產生凌越關係,以減少族群內非凌越解的個數,從而增進演 算法中選擇機制的能力。在文中也有提到,凌越關係的角度大小與所求問題的目. 0. f2: Minimize. f2: Minimize. 標數呈正相關,目標數越大時,所使用的凌越角度應隨之增加才行。. A B. C. A B C. 0. f1: Minimize. f1: Minimize (b):變更後的凌越關係. (a):原始的凌越關係. 圖 4:不同的凌越關係比較. 但使用此方法也存在其缺點,當改變凌越角度而能增強向柏拉圖前緣逼近之 能力的同時,卻也降低了族群中解的多樣性 (diversity of solutions),以圖 4(b) 來 說,點 B 的凌越面積就較點 A 與 C 還來的大,也就是此方法較趨向於往中間 發展,而忽略了邊緣的解,使得族群有集中的趨勢,使得分散度下降。. 11.

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

(21) 自會有 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 的表現較為優 良。使用族群中個體間的距離關係做為分散度維持機制的依據,雖然能在一定程 度上保持族群的多樣性,但並不能夠保證族群能在演化後期於目標空間中分布的 非常均勻。 13.

(22) 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 個適應度,而最後個體所呈現出來的適應度 14.

(23) 則來自此 k 個適應度的加總或是平均值。. 2.2.6. 將偏好資訊加入搜尋條件中. 由於在求解高目標最佳化問題時,所需近似整段柏拉圖前緣的解之數量會呈 指數成長,因此讓族群專注搜尋使用者偏好的區域是一種辦法。Deb 與 Sundar [13] 將偏好資訊轉化為參考點融入 NSGA-II 演算法中,於族群內劃分完階級後, 以各解與參考點間的距離替代掉擁擠距離,當作在比較階級之後,區分個體優劣 的依據。Thiele 等人 [24] 則是將相同的概念帶入到 IBEAs 之中。. 2.2.7. 減少求解目標的數量. 若我們能把高目標問題簡化為二或三目標問題時,所有在求解高目標問題時 遇到的困難都能迎刃而解。Deb 與 Saxena [15] 提出一套演算法框架,先將高目 標問題經過一小段演化式演算法求解後,再將該結果透過數學運算式求出哪些目 標是冗餘而可去除的,重複這兩個步驟直到目標數降為二或是無法再刪去目標數 後,再執行一次演化代數較長的演化式演算法來求解。而 Brockhoff 與 Zitzler [16] 則是希望能在一次的演化式演算法中達到減少目標數的動作,演算法執行 時會紀錄近幾代各解的目標值,當發現其中有目標值變動的幅度不大甚至沒有改 變時,即將該目標刪除。但經過減少目標數後所得到的非凌越解,其中可能會含 有不可行的解 (infeasible solutions) ,需要一些後續動作來做修復。. 15.

(24) 總的來說,增進演化中選擇能力的方法 (變更凌越關係、加強階級劃分), 可使得族群逼近柏拉圖前緣,但卻伴隨著多樣性下降的缺點;使用指標函式能給 予個體準確的適應度,但當目標數上升時所需的計算資源又太過龐大;選擇計算 資源少的純量化函式,在求解問題時要將函式內各項參數調到合適的值又需耗下 許多功夫;在演算法中加入偏好資訊,可讓演算法專心在特定區域搜尋,但依舊 無法完整地解決問題;減少目標數雖然能讓問題趨向簡單,但若遇到無法減少的 問題,此法也不可行。 在 2012 年,Deb 與 Jain [8] 提出了一套改進版的 NSGA-II (NSGA-III) 來 處理高目標最佳化問題,替代掉原本的擁擠距離運算,使用族群內個體所形成的 超平面 (hyper-plane) 來劃分參考點,以維持族群的分散程度,並收到不錯的成 效。本論文即是以此為基礎發展,並將該演算法中各個環節使用不同的方法改進, 以期能夠加強演算法求解高目標最佳化問題的能力。. 16.

(25) 第三章 強化親代選擇機制之平行化 演算法 ESP-NSGA-III 本章節會先介紹 NSGA-III 的基本流程,接著再說明本論文如何改進此演算 法,以期望能夠在求解高目標最佳化問題時,能夠得到更好的求解成效。. 3.1. NSGA-III 在參數設定方面,相較於原版的 NSGA-II,NSGA-III 只多了一個參數切割. 數 p (number of divisions) 需要多加以設定,以下為相關的參數設定: 族群大小 N (population size) 交配機率 pc (crossover rate) 交配指數 ƞc (SBX crossover index) 突變機率 pm (mutation rate) 突變指數 ƞm (polynomial mutation index) 切割數 p (number of divisions) 終止條件 (stopping criterion) 接著將介紹演算法的基本流程,整體的演算法流程如圖 6 所示。. 3.1.1. 族群初始化. 在族群初始化方面,使用的方法因求解的問題而異,沒有特定的限制,最簡 單的方法則為隨機產生 N 個個體以填滿族群大小即可。 17.

(26) 族群初始化. 評估族群. 繁殖 選擇親代 親代交配 個體突變. 評估族群與環境選擇 計算個體目標值. 計算族群內階層 超平面與參考點 選擇存活個體. 否 終止?. 是 演算法終止. 圖 6:NSGA-III 演算法流程. 18.

(27) 3.1.2. 環境選擇. 在 NSGA-III 中,繁殖會使用到環境選擇中的一些資訊,因此這邊先介紹環 境選擇的機制。 在 NSGA-II 中,族群所繁殖的子族群數量為 N,也就是親代與子族群所組 成的混合族群,其族群大小為 2N,我們首先會評估此混合族群中各項個體的各 個目標值,並依照這些目標值來判斷個體間的凌越關係,給予族群中的各個個體 各自的階級,接著按照此階級順序來決定哪些個體能存活至下一代,階級越好的 個體則有越高的優先權可以存活,直到填滿下一代的族群大小 N 為止,當然, 在此機制下,最後被選到以填滿族群的階層,受到下一代族群大小的限制,沒有 辦法整個階層內的個體皆能存活,因此此階層內的個體必須互相比較擁擠距離, 而擁擠距離大的個體則會被選入,直到填滿族群大小 N 為止。 整理之後可列出以下的步驟: (1) 計算個體的目標值。 (2) 計算個體的階層。 (3) 階層較好的個體優先存活至下一代。 (4) 遇到不能完整存活至下一代的階層,則計算該階層中個體的擁擠距離, 以該值作為存活順序的依據,直到填滿下一代的族群大小為止。 在 NSGA-III 中,與原版的差異只在步驟 (4) 的部分,NSGA-III 使用了超 平面與參考點的機制替換掉擁擠距離,以下將詳述 NSGA-III 之環境選擇過程。 19.

(28) 假設在第 t 個演化世代 (generation),族群為 Pt,而產生的子代為 Qt,兩 者的混合族群為 R, t 大小為 2N,經過上述 (1) 與 (2) 的步驟後,可以得到 Rt 中 含有 r1,r2,…rk,…,ru 共 u 個階層,假設第 k 個階層是正好橫跨或恰好填滿下一 代族群 Pt+1 大小 N 的階層,如圖 7 所示。. r1 r2 … rk …. Pt (size N). Qt (size N). N. ru 圖 7:階層與選擇. 接著評判 rk 中哪些解可存活到下一代的方式就是與原版相異的部分,首先 由 r1,r2,…rk 組成一族群 St (N ≤ | St | ≤ 2N),並執行下列步驟: (一) 建構超平面 (Creation of hyper-plane) 假設問題有 M 個目標,因此每個個體各自會有 f1, f2, …, fM 共 M 個目標值, 利用 St ,我們可以找到一個含有族群中各目標最小值的理想點 (ideal point) z* = (f*1, f*2, …, f*M) ,接著再將 St 中的全部個體對 z* 做正規化,得到 fi'(x) = fi(x) - f*i 最 後 再 對 經 過 目 標 值 被 正 規 化 的 St 以 ASF 函 式 (achievement scalarizing function, ASF) 找出族群中在各個目標方向上的極端解 (extreme solution),並以此 M 個極端點形成一個超平面。此超平面由於是以族群內個體 20.

(29) 分布的狀況來決定的,因此在每一個演化世代皆有可能變換,從而調適族群在目 標空間中的分散程度。 ASF(x, w) = maxMi=1 fi' (x) / wi, for x ∈ St.. (4). 在計算此 ASF 函式時,若其中的權重向量 wi 之值等於零,我們會將其替 換成 10-6,否則當分母代入零時,會造成計算上的困擾。此 ASF 函式,其用意 在於計算個體與此 w 方向的靠近程度。以三目標問題為例,我們將代入三組 w 值 (1, 10-6, 10-6)、(10-6, 1, 10-6) 以及 (10-6, 10-6, 1),分別代表 X、Y 與 Z 這三 軸的方向,找出族群在正規化後的座標系中,最靠近這三個軸的個體,假設圖 8 為已正規化後的目標空間,使用此機制後可找出最靠近三軸的極端解為點 A、 點 C 以及點 D。. f3 D f2 C B A. f1. 圖 8:使用 ASF 尋找極端解. (二) 依據超平面上的參考點評估族群分散程度 建構完超平面後,先將 St 中各點往理想點的方向投影在此平面上,如圖 9 所示。分割數 p 決定在此超平面上,每個邊要被分割為幾段。依照數學的重複 21.

(30) 組合概念,我們可以得到此超平面上會有 H 個平均散布的參考點,如圖 10 所 示。 (M+p−1)!. H 的計算方法為 (M+p−1 ) = (M−1)!(p)!,M 為問題的目標數個數。由於各個參 p 考點皆是以一個 M 元的方向向量投影至超平面上所形成的,wi = (wi1, wi2, …, 1. 2. p. wiM),i = 1, …, H,且 ∑M j=1 wij =1,又 wij 的值取決於 p 的大小,wij ∈ {0, p , p , …, p}, 所有的參考點則為此種狀況下的所有可能的組合,故可視為 M-1 件相同物與 p 件相同物的相同物排列。. 圖 9:超平面與投影 (Deb & Jain [8]). 圖 10:參考點與投影點 (Deb & Jain [8]). 22.

(31) 對於每個參考點,都會有一組與其距離最近的投影點集,假設 St 在空間中 分布的非常均勻,我們可以假定每個參考點的理想投影點集大小應為 ρideal = N/H, 而欠乏值 deficient = ρideal - ρactual 的大小即可代表此參考點區塊的貧瘠程度 (ρactual 為該參考點的實際投影點集數量) 。 為了保持族群的多樣性,NSGA-III 在計算完各參考點的欠乏值後,會優先 選擇該值最高的參考點 (若有多個參考點的欠乏值相同,則隨機選取其一) ,而 在此參考點的投影點集中,階層屬於 rk 的個體,將會互相比較彼此之間對於此 參考點的 ASF 值,此值最小的個體則可存活至下一代 Pt+1 (與原版的 NSGA-II 相同,優先權較 rk 高的階層皆早已確定可存活至下一代),而被選擇到的參考 點,其欠乏值會減 1,接著再重複此選取機制,直到填滿 Pt+1 為止。 整個 NSGA-III 評估族群與環境選擇的流程大致如下: (1) 依照問題給予親代與子代的混合族群中每個個體對應的目標值。 (2) 將個體依照目標值間的凌越關係劃分階層。 (3) 階層較好的個體可以優先存活至下一代,直到遇到不能完整存活至下一 代的階層為止。 (4) 將步驟 (3) 所提到的階層與較其好的階層中的所有個體融合至一新的 混合族群 St。 (5) 繪製 St 所構成的超平面,將事先建構好的權重向量以及 St 中的個體投 影至該超平面上,並將這些投影點做叢集 (clustering)。 23.

(32) (6) 步驟 (3) 所提到之階層中的個體,依 (5) 之叢集結果做為存活順序的依 據,個體間先比較欠乏值,再比較 ASF 值,直到填滿下一代的族群大小為止。. 3.1.3. 繁殖. 在親代交配與個體變異中,NSGA-III 與原版的 NSGA-II 並無不同,皆是 使用 SBX 與 polynomial mutation。而在親代選擇中,則是先在族群中隨機挑選 個體,再使用競爭法來挑選親代,個體間的比較方式為: (1) 優先選擇階層較好的個體 (2) 若階層相同,則選擇所屬參考點之欠乏值較高的個體。 (3) 若欠乏值相同,則計算個體對於各自參考點的 ASF,並選擇 ASF 值較 小的個體。. 3.1.4. 終止條件. 在終止條件的設定上沒有特定限制,可設定一固定的演化代數或是達到某一 評估個體的數量即停止,一般會與相比較的演算法使用相同設定,以示公平。. 3.2. 改進親代選擇機制 在 NSGA-III 中,隨機選擇兩個個體後再使用競爭法來選擇親代,但此方法. 對於族群分布中,個體數量多的區域較為有利,因為各個個體被選擇到的機率是 相同的,而個體數量多的區域,表示該區域的個體數量佔總族群數量的比重較重, 因此該區域有個體被選擇到的機率相對於其他區域高。. 24.

(33) 3.2.1. 基於參考點的階層式親代選擇機制 (MS-RPU). 為了改善上述的隨機選取機制,我們融合 NSGA-III 中超平面與參考點的概 念至新版親代選擇機制中。首先,為了確保各參考點所代表的區域被選擇的機率 均為相等,給予各參考點相同的選取機率,也就是 1/H,在選擇完參考點後再去 選擇此參考點投影點集中的個體,重複一次之後使用競爭法選擇較優的個體。 此機制流程如下: (1) 隨機選取一個參考點。 (2) 隨機選取 (1) 所挑選之參考點之投影點集中一個個體。 (3) 重複步驟 (2) 一次後,使用競爭法比較所選取的兩個個體之優劣,較好 的個體則被選為親代。 在此機制中,與原版的選擇機制相異,族群中的個體被選擇到的機率不為相 等,以期讓各參考點所代表的區域皆有相同機率參與繁殖。 我們將此機制稱為 Reference Point with Uniform probability Mating Selection, 簡稱為 MS-RPU。. 3.2.2. 基於參考點的階層式親代選擇機制改進版 (MS-RPW). 為了加強族群的分散度,我們改進 3.2.1 中所提到的親代選擇機制。假設在 經過交配後所產生的子代,其在目標空間上的分布,會與親代相近,因此,當一 區域的個體數量較其他區域少時,我們應該加強此區域參與繁殖的機會。. 25.

(34) 與 3.2.1 所提到的方法相同,此改進版同為一階層式的選取方式,先選擇完 參考點,再選取此參考點的投影點集中的個體。而為了加強個體數量較少的區域 被選擇到的機率,我們使用輪盤法,給予欠乏值高的參考點較大的被選取機率, 再依據此機率選擇參考點,之後則再隨機選取該參考點之投影點集中的個體。 此機制流程如下: (1) 使用輪盤法給予欠乏值高的參考點較大的被選取機率。 (2) 依照 (1) 所制定之機率選取一個參考點。 (3) 隨機選取 (2) 所挑選之參考點之投影點集中一個個體。 (4) 重複步驟 (3) 一次後,使用競爭法比較所選取的兩個個體之優劣,較好 的個體則被選為親代。 我們將此機制稱為 Reference Point with roulette Wheel Mating Selection,簡 稱為 MS-RPW。. 3.2.3. 強化劣勢參考點之親代選擇機制 (MS-WS). 在 3.2.1 與 3.2.2 的機制中,我們使用各參考點的投影點集中之個體數量來 判斷各區域的分散程度,但當族群演化至一定代數時,族群的分散程度漸趨均勻, 各投影點集的個體數事實上並不會有所差異,此時該機制就會退化成原本 NSGA-III 的隨機選取機制,因此,我們需要使用其他的方法來判斷各區域間的 優劣程度。. 26.

(35) NSGA-III 使用 ASF 做為評判個體是否靠近該參考點方向的依據,因此我 們使用此機制來評斷各參考點所代表區域之個體分布相較於整個族群的好壞。首 先,計算各參考點的投影點集中之個體在該參考點方向上的 ASF 值,並選取最 小值來代表該參考點,若有投影點集中並無存在任何個體,則此參考點之最小 ASF 值以 0 做代表。接著將各參考點的最小 ASF 值相加後取平均數,得到 ave_ASF,若某個參考點的最小 ASF 值大於此平均值,我們則視此區域的個體 分布較整體族群差,需要優先改善,因此我們將只會選擇這些較差區域中的個體 做為親代,透過密集地交配來強化這些區域的發展。 此機制流程如下: (1) 計算各參考點投影點集中的個體與其參考點方向之 ASF 值。 (2) 將所有參考點的最小 ASF 值加總平均。 (3) 各參考點之最小 ASF 值若大於 (2) 所計算的平均值,則視為較差的參 考點。 (4) 隨機選擇一個 (3) 所分類出的較差參考點,再隨機選擇該投影點集中的 一個個體。 (5) 重複 (4) 一次,再使用競爭法選出親代。 我們將此機制稱為 Weak region-based Mating Selection,簡稱為 MS-WS。. 27.

(36) 3.2.4. 鄰居親代選擇機制 (MS-NB). Ishibuchi 等人 [25] 提出,將目標空間中較為相近的個體互相交配,能夠加 強演算法的搜尋能力;在 NSGA-III 中,原本的親代隨機選取機制並不能保證兩 親代在目標空間中距離的遠近,因此我們嘗試在 NSGA-III 加入親代鄰居選擇的 概念。 在鄰居親代選擇機制裡,第一個親代的選擇方式沒有嚴格限定,可使用原本 NSGA-III 的隨機選擇機制,或是 3.2.1~3.2.3 中所提出的任何方法。而在選完第 一個親代之後,為了能讓此個體能與目標空間中相近的個體做交配,我們選取此 個體所屬的參考點在目標空間中與其歐幾里得距離最近的另外 T 個參考點的投 影點集中之個體做為可能的交配對象,與 3.2.1 中的方法相同,隨機選取此 T 個 參考點之一,再隨機選擇該參考點之投影點集中的個體做為第二個親代。 此鄰居選取機制可保證兩親代個體在目標空間中的距離相近,但在 NSGA-III 中使用此機制時,有可能發生選完第一個親代後,其鄰近的 T 個參 考點之投影點集中皆無個體的狀況,此時我們則回歸原本選取第一個親代的機制, 來選擇第二個親代個體。 此機制流程如下: (1) 不限方法選擇第一個親代。 (2) 隨機挑選第一個親代所屬參考點之最近的 T 個參考點之一。 (3) 隨機選擇 (2) 所選取參考點的投影點集中一個個體做為第二個親代。 28.

(37) 我們稱此機制為 Neighborhood-Based Mating Selection,簡稱為 MS-NB。 3.2.1~3.2.3 中各方法與鄰居親代選擇機制並無衝突,可以合併使用,我們將 會在第四章的實驗中一併測試各種組合間的求解效能。. 3.3. 改進環境選擇機制 除了加強親代選擇機制的挑選能力,我們試圖在環境選擇機制中能有一些突. 破。除了保持族群在目標空間中的分散度之外,我們嘗試維持族群在決策空間中 的分布,透過此項機制,或許能夠加強演算法在目標空間中的表現。 在 NSGA-III 中,各參考點的投影點集中的個體使用 ASF 值做為環境選擇 的存活順序,當族群在目標空間中的分布非常均勻,也就是每個參考點只需選擇 各投影點集中的一個個體存活時,此方法相當具有牽引力,因為最靠近該參考點 方向的個體能夠優先存活。但當族群分布不均,某些參考點需選擇兩個甚至三個 個體存活時,此方法反而會造成各參考點所代表的區域中,個體分布過於往參考 點集中的狀況,如圖 11 所示,區域 R 為一個參考點的投影點集,點 A 為該 區域中第一個存活的個體,我們假設其恰好座落在該區域的參考點上,若 R 需 要再存活一個個體時,使用 ASF 做為比較依據的情況下,點 B 會成為此區域 第二個存活的個體,但事實上,選擇點 C 存活對於整個族群的分布來說較為有 利。再者,使用 ASF 做為存活依據時,此法雖然能選取與參考點方向較近的個 體,但可能發生該個體在其投影點集中,收歛度與其他個體有段差異,但卻能優 先存活的狀況,如圖 12 所示,點 A 為參考點,線段 L 表示該參考點的方向, 29.

(38) 使用 ASF 做為存活依據時,點 B 會優先存活,但實際上不管是點 C 或是點 D, 其收歛度都較點 B 來的好。. R C. f3. B. A. f2. f1. 圖 11: 使用 ASF 函式使得各參考點區域中存活個體往參考點逼近之示意圖. L B. D C. A. 圖 12: 使用 ASF 函式不一定能保證收歛度之示意圖. 以下我們將提出一些環境選擇機制,加入到 NSGA-III 中,以期能加強演算 法的求解能力。. 3.3.1. 週期式決策空間叢集環境選擇機制 (ES-CL). 為了不影響原本 NSGA-III 在目標空間中的分散度機制,且又能維持住族群 在決策空間中的分散程度,我們首先提出週期式的選擇機制,也就是每 K 代做 一次此機制,剩下的 K-1 代則維持原本 NSGA-III 的環境選擇機制,此機制 30.

(39) 參考自 Garza-Fabre 等人 [26] 提出的 CEGA。 假設在第 t 代時啟用我們的選擇機制,親代 Pt 繁殖後產生子代 Qt,兩者 融合後的 Rt 在經過階層劃分後得到用以環境選擇的 St (定義參見 P.20) ,到此 皆與原本的 NSGA-III 無異。為了維持族群在決策空間中的分散度,我們將此 St 中的各個個體先各自劃分為一個叢集,接著計算各叢集間在決策空間中的歐幾里 得距離,並將距離最近的兩個叢集合併,重複此機制直到叢集的個數等於下一代 Pt+1 的族群大小為止,若叢集中的個體數量大於 1 時,則計算兩叢集中所有個 體配對的距離之後再取平均值,當作這兩個叢集的距離。要注意的是,在計算歐 幾里得距離前,得先確認各個決策變數 (decision variables) 的 scale 是否相同, 為了確保各變數間都維持相同的重要性,需要將不同 scale 的變數做正規化。 當做完合併使得叢集的數目下降至下一代 Pt+1 的族群大小時,我們將從各 個叢集中各取一個個體來填滿 Pt+1。由於叢集機制的緣故,族群在決策空間中的 分布已受到保障,而在挑選各叢集中哪一個個體可存活至下一代時,為了能夠辨 別叢集中個體間在目標空間上的優劣,我們使用 Garza-Fabre 等人 [19] 所提出 的與最佳解距離 (distance to the best known solution, GB) 作為評判的依據。 2. * GBi =√∑M j=1 (fij − z j ) , for i ∈ St.. (5). GB 計算各個體在目標空間中與理想點間的歐幾里得距離,此值越小的個體, 與理想點的距離越近,我們視其收斂程度較好。因此在挑選各叢集可存活至下一 代的個體時,我們選擇 GB 值在該叢集中最小的個體做為此叢集的生存者。 31.

(40) 整個週期式決策空間叢集環境選擇機制的流程大致如下: (1) 計算各叢集在決策空間中的距離,並將最相近的兩叢集合併,直到叢集 的個數等於下一代的族群大小為止。 (2) 計算各個個體在目標空間中的 GB 值。 (3) 挑選各叢集中 GB 值最小的個體存活至下一代。 我們稱此機制為 Clustering on decision space Environmental Selection,簡稱 為 ES-CL。. 3.3.2. 混合式決策空間擁擠距離環境選擇機制 (ES-CD). 在上述 3.3.1 裡執行該機制的演化世代中,並不能保證族群在目標空間中的 分散程度,且演算法的效能會受到該週期參數的影響,造成使用者在設定上的困 擾,因此我們提出在原本 NSGA-III 的參考點分散度維持機制中,加入族群在決 策空間中的分散度維持機制。 原本 NSGA-III 在挑選各參考點的投影點集中哪個個體可以優先存活時,是 使用 ASF 值做為評判的依據,而我們認為,在比較 ASF 值之前,族群在目標 空間中的分散程度已由於參考點的叢集機制而受到一定程度的保障,因此我們嘗 試替換掉原本的 ASF 選取機制,改成比較投影點集中各個體在決策空間中的擁 擠距離做為存活順序的依據。此將擁擠距離套用在決策空間中的機制,參考自 Deb 與 Tiwari [20] 提出的 Omni-optimizer。透過此機制,我們希望能夠同時保 持族群在目標空間與決策空間中的分散程度,以增強演算法的求解能力。 32.

(41) 我 們 稱 此 機 制 為 Crowding Distance on decision space Environmental Selection,簡稱為 ES-CD。. 3.3.3. 混合式收斂取向環境選擇機制 (ES-GB). 我們嘗試將 3.3.1 中提到的 GB 與原本的 ASF 機制混合使用,以加強族群 的收斂程度。首先計算 St 中各個體與其所屬參考點的 ASF 值,並將其相加取 平均值。當個體間需比較存活順序時,若兩者的 ASF 值皆小於該平均值,我們 視其都已足夠靠近該參考點方向,因此在此情況下, GB 值較小者優先存活; 當至少一者的 ASF 大於該平均值時,則 ASF 值較小者優先存活。 此機制流程如下: (1) 計算 St 中各個體與其所屬參考點之 ASF 值,並將所有求得的 ASF 值 加總平均。 (2) 當同一個投影點集中之個體需比較彼此的存活順序時,若兩者之 ASF 值皆小於 (1) 中所計算的平均值,則比較兩者之 GB 值,較小者優先存活。 (3) 延續步驟 (2),若其中一者之 ASF 值大於等於平均值,則 ASF 值較小 者優先存活。 我們稱此機制為 distance to the best known solution(GB) Environmental Selection,簡稱為 ES-GB。 在第四章的實驗中,我們將比較 NSGA-III 使用原本的 ASF 機制、ES-GB 以及隨機選取這三者間的求解能力之優劣。 33.

(42) 演算法平行化機制. 3.4. NSGA-III 使用經權重向量投影至超平面上的參考點來牽引族群在目標空間 中的分布狀況,我們以島嶼模型將演算法平行化,嘗試各種不同的權重向量切割 方式,使得各個子族群能夠朝著不同方向演化,並藉由適度地遷徙來強化各子族 群的發展,希望能在不降低演算法求解效能的同時,還能加快演算法的執行時 間。. 各種權重向量分配法. 3.4.1. 我們嘗試了三種簡易的切割方法來決定各個子族群的權重向量: (一) 依序分配法 (Iterative Distribution, P-ID) (圖 13) (二) 依序整批分配法 (Iterative Clustering Distribution, P-ICD) (圖 14) (三) 隨機分配法 (Random Distribution, P-RD). sub_1.txt sub_2.txt sub_3.txt sub_4.txt 0.5 0.4 0.3 0.2 0.1 0 0 0.1. 0 0.1. 0.2 0.2. 0.3. 0.3. 0.4. 0.4 0.5 0.5. 圖 13:依序分配法. 34.

(43) sub_1.txt sub_2.txt sub_3.txt sub_4.txt 0.5 0.4 0.3 0.2 0.1 0 0 0.1. 0 0.1. 0.2 0.2. 0.3. 0.3. 0.4. 0.4 0.5 0.5. 圖 14:依序整批分配法. 3.4.2. 保留邊框之權重向量分配法. 圖 15 為使用依序整批分配法求解 DTLZ1 問題的柏拉圖前緣,以第四個子 族群為例,該子族群被分配到的權重向量如圖 14 所示,分布於空間中的左下角, 由於 NSGA-III 於環境選擇挑選存活的個體時,較靠近權重向量所投影出之參考 點的個體會優先存活 (參考圖 16(a)、16(b)) ,而 NSGA-III 的超平面機制仰賴 族群在目標空間中的分布狀況,當每代存活的個體分布往左下角收縮時,下一代 的超平面也會跟著收縮 (參考圖 16(c)、16(d)) ,使得最後的近似柏拉圖前緣沒 辦法求得原本所希望的分布狀況。 因此我們嘗試了三種方法來保持各子族群在演化時的超平面形狀,分別為保 留各目標方向上極端的點、角以及邊的權重向量,圖 17~19 為使用此三種方法 配合依序整批分配法求解 DTLZ1 問題的柏拉圖前緣。. 35.

(44) sub_1.txt sub_2.txt sub_3.txt sub_4.txt 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1. 0. 0.1. 0.2 0.2. 0.3. 0.3 0.4. 0.4. 0.5. 0.5. 0.6 0.6. 圖 15:依序整批分配法求解 DTLZ1 之結果. f3. f3. f1. f2. f1. f2. (a):族群形成之超平面. (b):存活的個體. f3. f3. f2. f1. f2. (c):存活個體形成之正規化座標軸. (d):存活個體形成之超平面. 圖 16:第四個子族群演化過程示意圖. 36. f1.

(45) 如圖 17 所示,保留了頂點後,已能保持子族群在空間中的分布狀況,而保 留了角以及邊,族群的分布狀況越來越好,但每個子族群的預設權重向量數目跟 著提升,且此數值也會隨著目標數增加,因此我們最後決定使用保留角的機制做 為我們的權重向量分配方式,每個子族群所需預先配置的權重向量數目為 3×m, m 為求解目標個數。. sub_1.txt sub_2.txt sub_3.txt sub_4.txt 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0. 0.1. 0.2 0.2. 0.3 0.3. 0.4. 0.4 0.5. 0.5 0.6 0.6. 圖 17:保留頂點之依序整批分配法求解 DTLZ1 之結果. sub_1.txt sub_2.txt sub_3.txt sub_4.txt 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0. 0.1. 0.2 0.2. 0.3 0.3. 0.4. 0.4 0.5. 0.5 0.6 0.6. 圖 18:保留角之依序整批分配法求解 DTLZ1 之結果. 37.

(46) sub_1.txt sub_2.txt sub_3.txt sub_4.txt 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0. 0.1. 0.2 0.2. 0.3 0.3. 0.4. 0.4 0.5. 0.5 0.6 0.6. 圖 19:保留邊之依序整批分配法求解 DTLZ1 之結果. 3.4.3. 遷徙與取代. 由於在 NSGA-III 中,族群所繪製的超平面會影響權重向量投影後參考點在 空間中的座標以及環境選擇的挑選狀況,因此在我們認為,在保留角的分配機制 中,屬於角的參考點之個體的好壞會影響到整個族群的演化方向。我們以各個子 族群中,代表角的參考點之個體做為遷徙與取代的對象。在達到預先設定的遷徙 代數時,將各個子族群中此類的個體合併成一個新的子族群,此新子族群的權重 向量只包含各個方向上的角之向量,演化一代之後,再將與各角參考點 ASF 值 最小的個體替換掉各子族群中對應方向上的個體,以完成遷徙的動作。. 38.

(47) 第四章 實驗與分析 4.1. 測試問題 我們測試 DTLZ1-4 [27] 四個多目標最佳化問題,並改變其目標的數量,來. 觀測演算法在不同目標數上的求解品質,表 1 為各問題的目標函式。 在 DTLZ 問題中,問題的決策變數個數與 |XM| (一般稱為 k 值) 值有 關,其公式為 n = k + m-1,n 為決策變數個數,m 為問題的目標數,在一般的 實驗設定中,都是固定 k 值,而讓 n 隨著目標數 m 上升而跟著成長。 在我們的實驗中,將 DTLZ1 與 DTLZ3 這兩個問題的 k 值固定為 5, DTLZ2 與 DTLZ4 的 k 值固定為 10 [26]。. 4.2. 效能指標 為了評估實驗結果的好壞,我們使用 inverted generational distance (IGD),. 來評估演算法所求出的解集合之收斂程度與分散度,評估時所使用的柏拉圖前緣, 則是將與實驗設定相同數量的權重向量投影至問題的解平面上而得。 將兩個演算法的 IGD 效能相比較時,則使用 Mann Whitney U 統計檢定來 判斷兩者間是否存在顯著差異,統計檢定的 α 值設為 0.05。 IGD(P* , P)=. ∑. d(v,P) v∈P* * |P |. 39. (6).

(48) 表 1:多目標最佳化問題 問題 DTLZ1. 多目標函式 1. Minimize f1 (X)= x1 x2 …xM−1 (1+g(XM )), 2 1. Minimize f2 (X)= x1 x2 …(1 − xM−1 )(1+g(XM )), 2 … 1 Minimize fM−1 (X)= x1 (1 − x2 )(1+g(XM )), 1. DTLZ2. DTLZ3. DTLZ4. 4.3. 2. Minimize fM (X)= (1 − x1 )(1+g(XM )), 2 subject to 0 ≤ xi ≤ 1, for i = 1, 2, …, n. g(XM )=100[|XM |+ ∑xi ∈XM (xi − 0.5)2 − cos (20π(xi − 0.5))]. Minimize f1 (X)=(1+g(XM )) cos(x1 π/2)…cos(xM−2 π/2) cos(xM−1 π/2), Minimize f2 (X)=(1+g(XM )) cos(x1 π/2)…cos(xM−2 π/2) sin(xM−1 π/2), Minimize f3 (X)=(1+g(XM )) cos(x1 π/2)…sin(xM−2 π/2), … Minimize fM (X)=(1+g(XM )) sin(x1 π/2), subject to 0 ≤ xi ≤ 1, for i = 1, 2, …, n. g(XM )= ∑xi ∈XM (xi − 0.5)2 . Minimize f1 (X)=(1+g(XM )) cos(x1 π/2)…cos(xM−2 π/2) cos(xM−1 π/2), Minimize f2 (X)=(1+g(XM )) cos(x1 π/2)…cos(xM−2 π/2) sin(xM−1 π/2), Minimize f3 (X)=(1+g(XM )) cos(x1 π/2)…sin(xM−2 π/2), … Minimize fM (X)=(1+g(XM )) sin(x1 π/2), subject to 0 ≤ xi ≤ 1, for i = 1, 2, …, n. g(XM )=100[|XM |+ ∑xi ∈XM (xi − 0.5)2 − cos (20π(xi − 0.5))]. Minimize f1 (X)=(1+g(XM )) cos(xα1 π/2)…cos(xαM−2 π/2) cos(xαM−1 π/2), Minimize f2 (X)=(1+g(XM )) cos(xα1 π/2)…cos(xαM−2 π/2) sin(xαM−1 π/2), Minimize f3 (X)=(1+g(XM )) cos(xα1 π/2)…sin(xαM−2 π/2), … Minimize fM (X)=(1+g(XM )) sin(xα1 π/2), subject to 0 ≤ xi ≤ 1, for i = 1, 2, …, n. g(XM )= ∑xi ∈XM (xi − 0.5)2 .. 參數設定 本論文實驗中所使用的演算法皆使用 C++ 實作而成,電腦配備的作業系統. 為 Windows 7-64 位元,CPU 為 Intel Core i5-2500,記憶體大小為 6GB,編譯 環境則為 Microsoft Visual Studio 2010。演算法基礎參數設定如下,各演算法皆 使用相同設定: 交配機率 pc 設為 1.0,突變機率 pm 設為 1/n,n 為決策變數之個數。ƞc 與 ƞm 皆設為 20。族群大小 N、參考點數 H 以及演算法演化代數皆使用跟 Deb 與 Jain [8] 相同的實驗設定,該論文中 DTLZ4 問題只測試了目標數 3、5 以及 8, 如表 2 與 3 所示。各演算法於每個問題皆重複測試 20 次。 40.

(49) 表 2:Deb & Jain 的實驗設定 [8] 目標數 切割數 參考點數 族群大小. 3 12 91 92. 5 5 126 128. 8 4 330 332. 10 3 220 220. 表 3:各問題演化代數設定 [8] 目標數 DTLZ1 演化代數 DTLZ2 演化代數 DTLZ3 演化代數 DTLZ4 演化代數. 3 750 750 1000 1500. 5 1500 1500 3000 3000. 8 2500 3500 4500 4000. 4.4. 改進親代選擇機制. 4.4.1. 基於參考點的階層式親代選擇機制. 10 5000 4000 6000. 在此節我們將比較 NSGA-III 與兩種階層式親代選擇機制的效能差異,表 4 表示三種演算法的解集合經由 IGD 評估的求解效能,表格中依序為平均值、最 小值以及標準差,各項目最佳值將以粗體標示;表 5 顯示三種演算法在共計 15 個問題中 IGD 的 Mann Whitney U 統計結果。 依照表 4 與 5 的結果,可以發現我們所提出的兩種階層式親代選擇機制, 對於 NSGA-III 的求解能力並無太大的改善,這是由於在 Deb 與 Jain [8] 的參 數設定下,參考點的個數與族群大小相差不大,當族群中的個體在超平面中分散 漸趨均勻,每個參考點的投影點集之個體數皆會相等於 1,此時我們的階層式選 取機制與 NSGA-III 原本所使用的隨機選取機制,這兩者間就不會存在差異,而 且經由實驗發現,在我們總計 15 個測試問題中,每個參考點皆能分到一個個體 的時間點相當早,大約是每個測試問題所設定之演化世代的 5%~10% 左右而已, 41.

參考文獻

相關文件

Large data: if solving linear systems is needed, use iterative (e.g., CG) instead of direct methods Feature correlation: methods working on some variables at a time (e.g.,

比較不同 文化、藝 術家、時 代的形式 選擇與表 現角度的 關係 辨識不同. 文化、藝 術家、時 代的形式 選擇有何

Efficient training relies on designing optimization algorithms by incorporating the problem structure Many issues about multi-core and distributed linear classification still need to

Usually the goal of classification is to minimize the number of errors Therefore, many classification methods solve optimization problems.. We will discuss a topic called

表5-7 PHLX 之標準化全球外匯選擇權

Hope theory: A member of the positive psychology family. Lopez (Eds.), Handbook of positive

[1] F. Goldfarb, Second-order cone programming, Math. Alzalg, M.Pirhaji, Elliptic cone optimization and prime-dual path-following algorithms, Optimization. Terlaky, Notes on duality

Taking second-order cone optimization and complementarity problems for example, there have proposed many ef- fective solution methods, including the interior point methods [1, 2, 3,