• 沒有找到結果。

以變化分配島嶼式MOEA/D求解多目標問題

N/A
N/A
Protected

Academic year: 2021

Share "以變化分配島嶼式MOEA/D求解多目標問題"

Copied!
76
0
0

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

全文

(1)國立臺灣師範大學 資訊工程研究所碩士論文. 指導教授: 蔣宗哲. 博士. 以變化分配島嶼式 MOEA/D 求解多目標問題. Multiobjective Optimization using Island-Based MOEA/D with Changing Distribution. 研究生: 中華民國. 李鼎基 撰. 一百零二. 年. 二. 月.

(2) 中文摘要 在日常生活中,我們時常面臨最佳化問題,例如最小化交通的時間與成本, 這兩項目標存在著衝突,此類問題稱為多目標最佳化問題,因應每人需求不同, 會有不同的最佳解。一般解多目標最佳化問題是找出一組最佳解集合,集合中 會有不同的目標取捨方式供使用者挑選,然而解決此類問題是相當耗時的,為 了在有效時間內找出不錯的解,使用演化式演算法是廣受好評的方式。 演化式演算法本身存在著許多可切割平行的要素,因此許多平行架構的演 化式演算法因應而生,本論文嘗試將知名的多目標演化式演算法 MOEA/D 進 行平行化,除了基本的平行要素外,尚有其他因平行化被破壞的 MOEA/D 之 要素需要修補。本論文針對 17 個多目標最佳化問題進行測試,並慢慢調整島嶼 式 MOEA/D,一一討論各要素之影響,最後與 MOEA/D 進行比較成效與差異 性,並且運用 OpenMP 進行平行加速。. 關鍵字:多目標最佳化、演化式演算法、平行化、OpenMP. i.

(3) 誌謝 在碩士班生活過程中,感謝身邊的人支持與幫助,首先感謝我的指導教授 蔣宗哲老師,蔣老師在平日就時常提供許多意見並且指引方向,使得研究能夠 順利進行,並完成論文。 再來感謝口試委員 鄒慶士教授與 陳俊豪教授,能夠抽空參加我的碩士論 文口試,並且提供許多寶貴的意見,使得論文更加完善。 另外感謝實驗室的同學們,感謝裕傑、維新以及弘奇在研究上的陪伴與幫 助。感謝實驗室的學弟們,少文、大維、冠廷、泳陖、仁一及麒安,幫忙分擔 一些事務,使得研究更加順利,並且祝福大家能順利畢業。 最後感謝我的家人,家人給予我許多鼓勵與支持,使我能夠專心研究,順 利完成論文。. ii.

(4) 目錄 中文摘要.......................................................................................................................... i 誌謝................................................................................................................................. ii 目錄................................................................................................................................ iii 附表目錄........................................................................................................................ vi 附圖目錄...................................................................................................................... viii 第一章. 緒論................................................................................................................. 1. 1.1. 研究動機..................................................................................................... 1. 1.2. 背景知識..................................................................................................... 1 1.2.1. 多目標最佳化問題......................................................................... 1. 1.2.2. 演化式演算法................................................................................. 3. 1.3. 研究目的與方法......................................................................................... 5. 第二章. 文獻探討......................................................................................................... 6. 2.1. 平行演化式演算法..................................................................................... 6. 2.2. 平行多目標演化式演算法......................................................................... 8. 2.3. 平行演化式演算法之分配與遷徙策略................................................... 11. 第三章. 變化分配島嶼式 MOEA/D 演算法實現 ................................................... 18. 3.1. MOEA/D 基本流程 .................................................................................. 18 iii.

(5) 3.2. 變化分配島嶼式 MOEA/D ..................................................................... 21 3.2.1. 族群分配與變化分配................................................................... 21. 3.2.2. 變化子族群數量........................................................................... 24. 3.2.3. 遷徙............................................................................................... 25. 3.2.4. 變化分配島嶼式 MOEA/D 流程 ............................................... 26. 第四章. 實驗數據與效能評比................................................................................... 33. 4.1. 測試問題................................................................................................... 33. 4.2. 效能指標................................................................................................... 40. 4.3. 測試環境與參數設定............................................................................... 41. 4.4. 實驗與討論............................................................................................... 42. 第五章. 4.4.1. 族群大小實驗............................................................................... 43. 4.4.2. 族群分配實驗............................................................................... 45. 4.4.3. 遷徙挑選與數量之實驗............................................................... 47. 4.4.4. 遷徙頻率與拓撲之實驗............................................................... 48. 4.4.5. 變化島嶼數量之實驗................................................................... 51. 4.4.6. 變化分配島嶼之實驗................................................................... 53. 4.4.7. 執行時間之實驗........................................................................... 58. 結論與未來發展........................................................................................... 62 iv.

(6) 參考文獻....................................................................................................................... 64. v.

(7) 附表目錄 表 1:多目標最佳化問題........................................................................................... 33 表 2:2 座島嶼族群大小實驗之統計檢定對照表.................................................... 44 表 3:4 座島嶼族群大小實驗之統計檢定對照表.................................................... 44 表 4:8 座島嶼族群大小實驗之統計檢定對照表.................................................... 44 表 5:2 座島嶼族群分配實驗.................................................................................... 46 表 6:4 座島嶼族群分配實驗.................................................................................... 46 表 7:8 座島嶼族群分配實驗.................................................................................... 46 表 8:2 座島嶼的遷徙挑選與數量實驗之統計檢定對照表.................................... 47 表 9:4 座島嶼的遷徙挑選與數量實驗之統計檢定對照表.................................... 48 表 10:8 座島嶼的遷徙挑選與數量實驗之統計檢定對照表.................................. 48 表 11:2 座島嶼遷徙頻率與拓撲實驗之統計檢定對照表 ...................................... 49 表 12:4 座島嶼遷徙頻率與拓撲實驗之統計檢定對照表...................................... 49 表 13:8 座島嶼遷徙頻率與拓撲實驗之統計檢定對照表...................................... 50 表 14:各島嶼數量版本與 MOEA/D 之比較表 ..................................................... 51 表 15:變化島嶼數量版與一般版比較表................................................................. 52 表 16:各變化島嶼數量版本與 MOEA/D 之比較表 ............................................. 53 表 17:鄰居 MOEA/D 與 變化島嶼數量 MOEA/D 及 MOEA/D 之比較表 ... 54 vi.

(8) 表 18:變化分配島嶼式 MOEA/D 與變化島嶼數量 MOEA/D 比較表 ............. 54 表 19:變化分配島嶼式 MOEA/D 與 MOEA/D 比較表 ..................................... 55 表 20:變化分配島嶼式 MOEA/D 修改前後比較表 ............................................. 56 表 21:修改後的變化分配島嶼式 MOEA/D 與 MOEA/D 比較表 ...................... 57 表 22:MOEA/D 執行時間 ....................................................................................... 59 表 23:尚未平行加速的島嶼式 MOEA/D 之執行時間 ......................................... 59 表 24:島嶼式 MOEA/D 之加速度 (𝑆𝑝) 表格 ...................................................... 59 表 25:70 倍目標函式計算的島嶼式 MOEA/D 加速度 (𝑆𝑝) 表格 ..................... 60 表 26:150 倍目標函式計算的島嶼式 MOEA/D 加速度 (𝑆𝑝) 表格 ................... 61 表 27:全域均勻分配法與區域分配法擅長問題表................................................. 63. vii.

(9) 附圖目錄 圖 1:凌越關係............................................................................................................. 2 圖 2:演化式演算法流程圖......................................................................................... 3 圖 3:平行模型............................................................................................................. 6 圖 4:階層模型............................................................................................................. 8 圖 5:島嶼模型示意圖................................................................................................. 9 圖 6:依照處理器數量設定各種凌越角度 (Deb et al., 2003) ................................ 10 圖 7:改變凌越角度的各子族群之凌越關係圖....................................................... 11 圖 8:利用參考點均分目標空間 (Branke et al., 2004)............................................ 11 圖 9:使用分群演算法將解分配至每個子族群 (Streichert et al., 2005)................ 12 圖 10:SASEGASA 重新配置示意圖 (Affenzeller et al., 2004) ............................. 13 圖 11:個體分配示意圖 (Durillo et al., 2011) .......................................................... 15 圖 12:變更 partition 大小示意圖 (Durillo et al., 2011) .......................................... 16 圖 13:pMODE-LD+SS 權重向量分配示意圖 ........................................................ 17 圖 14:MOEA/D 流程圖 ............................................................................................ 19 圖 15:全域均勻分配示意圖..................................................................................... 22 圖 16:區域分配示意圖............................................................................................. 23 圖 17:交配池範圍示意圖......................................................................................... 24 viii.

(10) 圖 18:鄰居關係示意圖............................................................................................. 25 圖 19:階級區分示意圖............................................................................................. 26 圖 20:變化分配島嶼式 MOEA/D 簡易流程圖 ..................................................... 28. ix.

(11) 第一章. 緒論. 研究動機. 1.1. 最佳化問題是日常生活中常見之問題,如最短路徑問題、最小化時間與成 本等,其中最短路徑為單目標問題 (single-objective problem),即最佳化之目標 為單一目標;最小化時間與成本則為多目標問題 (multi-objective problem),即 問題之目標超過一個,且各目標常互相衝突,例如從地點 A 到地點 B,我們可 選擇搭飛機、捷運、高鐵、……等交通方式之組合來達成,通常愈快到達目的 地所花費之成本愈高,反之,愈慢之方式成本則愈低。若要在各目標上進行取 捨,並且找出使用者所期望的解答,給予使用者一組解決方案供其所需來挑選 解答,是個實用並且富挑戰性的議題。. 1.2. 背景知識. 1.2.1. 多目標最佳化問題. 一個多目標最佳化問題可以下列式子來定義: minimize/maximize F(x)  (f1(x),…, fm(x))T subject x  Ω. (1). Ω 代表決策空間 (decision variable space),Rm 代表目標空間 (objective space ),F:Ω → Rm 由 m 個實數目標函式組成。對於最小化問題,假設有兩 1.

(12) 個向量 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 與 D 被解 A 所凌越。. 圖 1:凌越關係. 如果不存在 x   使得 F(x) 凌越 F(x*),則稱此點 x*  . 為柏拉圖最. 佳 (Pareto optimal),或者是非凌越解 (non-dominated solution)。令 PS 表示所 有柏拉圖最佳解的集合,PF 表示所有柏拉圖最佳化之目標向量集合,則 PS 與 PF 之定義式如下: PS  {x*   | ! x  , F(x) dominates F(x*)}. (2). PF  {F(x)  Rm | x  PS}. (3). 2.

(13) 解多目標最佳化問題就是要找出所有的非凌越解 PF,但由於 PF 相當龐 大,要找出整個 PF 是相當困難的,難以在有限時間內使用精確演算法 (exact algorithms) 來尋找最佳解。因此,需要一個在有限時間內能夠找出近似 PF 的 演算法。. 1.2.2. 演化式演算法. 演化式演算法即是一種能在有限時間內找出近似 PF 的演算法,其藉由模 擬自然界生物演化過程,逐漸搜尋逼近 PF。演化式演算法的族群是由一群個 體(解)所構成,每個個體都有自己的基因序列(依照問題以給予特殊形式之 編碼),接著藉由個體間的交配 (crossover)、個體之突變 (mutation) 來改變基 因序列並產生新的個體,再來運用天擇 (environmental selection) 將較優之個體 留下,以此反覆執行,慢慢搜尋最佳解。下圖為演化式演算法的簡易流程圖:. 圖 2:演化式演算法流程圖 3.

(14) 初始化族群 (Population Initialization):. 基本上是使用隨機的方式產生個體(解) ,直到將整個族群填滿為止。依照 問題的不同,會有不同的決策變數 (decision variable) 個數與範圍,以及不同的 基因序列編碼方式,常見的編碼有二進制 (binary code) 與實數 (real code),具 體做法為依照決策變數之範圍隨機產生出一定數量的決策變數,以產生單一個 體,再以此產生出整個族群。. 評估族群 (Population Evaluation):. 為了評估族群中個體之優劣,每個個體皆有自己的適應度 (fitness),基本 上會先計算出每個個體之目標值,再利用目標值計算出適應度,然而計算適應 度的方式有很多種,常見的有凌越關係如 NSGA-II (Deb et al., 2002) 和合併函 式如 MOEA/D (Zhang & Li, 2007)等等。. 繁殖 (Reproduction):. 簡而言之就是產生下一代,先選擇親代 (mating selection),再經過個體間 之交配 (crossover)、個體突變 (mutation),產生出新的子代,最後經過天擇 (environmental selection) 挑選能夠存活下來之個體當作下一代。在親代選擇方 面,通常擁有高適應度之個體有較高的機會被選到,希望能夠藉此產生出好的 子 代 , 常 見的 有 競 爭法 (tournament) (Horn & Nafpliotis, 1993) 與 輪 盤法 4.

(15) (roulette wheel) (Goldberg, 1989)。交配是以兩個親代產生出一個以上的子代; 突變則是對個體本身進行基因序列之變更。然而交配與突變會依照問題與編碼 方式而有所不同,例如二進制編碼的有單點交配 (1-point crossover)、翻轉突變 (flip mutation) 等;實數編碼的有 simulated binary crossover (SBX) (Deb & Agrawal, 1995)、polynomial mutation (Deb & Goyal, 1996) 等。天擇會依照演算 法策略來決定下一代之存活者,最簡單的方式為成代替換 (generational),也就 是產生出的子代直接成為下一代之族群;另外還有依照適應度排序,使適應度 高之個體能夠存活。有些演算法會在天擇之後加入區域搜尋法 (local search), 以加強搜尋至區域最佳解。. 1.3. 研究目的與方法 演化式演算法在很多部分都可切割,方便修改成為平行演算法,本論文將. 修改 MOEA/D-DE (Li & Zhang, 2009) 為平行多目標演化式演算法,期望平行 加速縮短時間,並且維持演算法效能。 本論文將演算法加入平行要素,定期以全域均勻分配法或區域分配法切割 族群成為許多子族群,使子族群各自進行演化,並定期進行交流,以維持住求 解品質,最後與 MOEA/D-DE 比較,並且運用 OpenMP (Chapman et al., 2007) 進行平行加速,以觀察變化分配島嶼式 MOEA/D 成效。 5.

(16) 文獻探討. 第二章. 在解最佳化問題時,若搜尋空間廣大且最佳解難以找到,所花費的計算時間 就會相當大,除了發明或改良演算法增進速度與效能外,尚可運用平行的方法來 減少所花費的時間。再者,演化式演算法為族群式的搜尋機制,本身即存在許多 部份可以進行平行化來加速,甚至可運用平行之架構切割族群來增進演算法之成 效。. 2.1. 平行演化式演算法 Cantú-Paz (1998) 將主要的平行模型分為三大類,分別為全域單一族群主. 從 模 型 (global single-population master-slave GAs) 、 單 一 族 群 微 粒 模 型 (single-population fine-grained GAs) 與 多 族 群 粗 粒 模 型 (multiple-population coarse-grained GAs),如圖 3 所示。. (a). (b) 圖 3:平行模型. 6. (c).

(17) 「全域單一族群主從模型」通常有一主處理器 (master) 與許多子處理器 (slaves),主處理器掌管整個演算法之運作,子處理器則是負責可以獨立進行之部 分,如評估個體,如圖 3 (a) 所示。一般而言,此模型是採用同步之方式,即主 處理器會等所有子處理器送回評估結束之個體才會進行下一代之演化,因此不會 改變演算法之本質,只是單純為了加速效能。不過也有非同步的方式,運作方式 當然會與循序式演算法不同。 「單一族群微粒模型」亦為單一族群之模型,其將族群中的個體排成網格狀 (如圖 3 (b)),每個個體可與其相鄰之個體進行交配演化,但不能與其他未相鄰 之個體交配。此模型之每一個體由一個處理器負責,因此需要大量的處理器才能 使用,故很少人採用此模型。. 除了上述的單一族群之模型, 「多族群粗粒模型」為多族群之模型(如圖 3 (c)),此法將族群分成許多子族群 (sub-population),每個子族群可獨自演化, 感覺就像是獨立的島嶼,因此又稱為島嶼模型 (island model)。每個子族群(島 嶼)會以特定之方式連結,如環狀、網狀等,當每個子族群演化一段時間或到 達指定之代數時,則會進行遷徙 (migration),遷徙時會選擇一至多個個體複製 到鄰近連結之子族群並取代目標子族群之解,藉由遷徙達到子族群間互相交流, 防止陷入區域最佳解。此模型可由島嶼連接方式、選擇遷徙個體、遷徙的取代 對象等方針上做變化,因此也受許多人歡迎。. 7.

(18) 將上述之三種主要模型任意做階層式的組合,稱為「階層模型(hierarchical parallel GAs)」。圖 4 (a) 為全域單一族群主從模型與多族群粗粒模型之組合, 演算法上為多族群粗粒模型,搭配全域單一族群主從模型來加速,處理計算量 大的問題加速性能較佳;圖 4 (b) 則為兩階層的多族群粗粒模型,低階層的島 嶼有較高的頻率進行遷徙,高階層之島嶼遷徙頻率則較低,由於複雜度高,因 此很少人使用。. (a). (b) 圖 4:階層模型. 2.2. 平行多目標演化式演算法 前面敘述了常見的平行模型,在這一節則介紹一些關於如何運用平行演化式. 演算法解多目標最佳化問題。. Durillo 等人 (2008) 提出三種全域單一族群主從模型將 NSGA-II (Deb et al., 2002) 平行化,第一種為同步化的版本,主處理器會一次產生足夠數量之個 體並傳送至子處理器去評估,當所有個體評估完送回來時,即進行階級區分 8.

(19) (ranking) 與天擇完成一代之演化;第二種為非同步之成代替換的 NSGA-II,主 處理器會依照子處理器之數量產生相同數量之個體並送去評估,當有子處理器 送回個體並閒置時,主處理器會立刻產生新的個體送去評估,直至評估完的個 體數到達一定個數,即刻完成階級區分與天擇,並不會等待未評估完之個體; 最後一種為非同步穩態機制的版本,與第二版本類似,差在只要主處理器接收 到一個評估好的個體,就會進行階級區分與天擇。 Xiao 與 Armstrong (2003) 提出一特別的島嶼模型,如圖 5 所示,圖中將 三目標問題以七個島嶼之模型來解,島嶼上的數字表示此島嶼欲最佳化之目標, 每個島嶼最佳化部分或全部目標,使得解的多樣性較佳,再者藉由解的遷徙分 享彼此優良的解,以避免陷入區域最佳解,並且能夠演化出更優良的解。其實 驗結果顯示,島嶼間有互相交流之模型優於孤立之島嶼模型,且島嶼種類愈多 與連接愈多島嶼之成效較佳。. 圖 5:島嶼模型示意圖 9.

(20) 除了專注於某些目標去搜尋外,另外也有論文探討切割目標空間,期望每 個子族群致力於某區域之演化。例如 Deb 等人 (2003) 採用改變凌越角度的方 式,讓每個子族群(處理器)搭配不同的凌越角度去演化 (如圖 6) ,圖 7 的 (a) 與 (b) 分別為不同子族群的解 A 與解 B 之凌越關係圖,原本互相不凌越 的解,藉由改變凌越角度使圖 7 中白色的點被凌越,因此各個子族群(處理器) 在目標空間某區域之解較容易存活,以達到各個子族群(處理器)去搜尋不同 區域之成效;Branke 等人 (2004) 則是先將目標空間正規化 (normalize),再以 最大值當作參考點 (reference point) 位置均分目標空間,如圖 8 中參考點將目 標空間切成三等份,然而當目標空間為三維以上時,則需訂出平面來均分目標 空間,此種方法較難去訂出高維度問題之切法。. 圖 6:依照處理器數量設定各種凌越角度 (Deb et al., 2003). 10.

(21) (a). (b). 圖 7:改變凌越角度的各子族群之凌越關係圖. 圖 8:利用參考點均分目標空間 (Branke et al., 2004). 2.3. 平行演化式演算法之分配與遷徙策略 在多族群粗粒模型中,可在許多方面進行變化,例如:個體之分配、遷徙時. 機等等。一般我們只是隨機將個體分配至子族群中,設置固定的代數當作遷徙之 時機,以下介紹之文獻針對個體分配與遷徙的策略進行討論。 Streichert 等人 (2005) 認為上述 Branke 等人 (2004) 以參考點切割目標空 間之方法未考量問題本身之結構,問題在目標空間之解的分布可能部分密集或稀 11.

(22) 疏,因此均分目標空間可能某些區域解特別多,某些區域解特別少,故採用分群 演算法,將解依照目標空間或決策空間之分布分成 k 群,其中 k 代表子族群數量, 如圖 9 所示。此方法對於高維度問題也能輕易分群,不須想辦法切割空間。其實 驗結果顯示對於 ZDT1–3 問題 (Zitzler et al., 2000) 解得沒有很好,當子族群數 量愈高,其成效有下降之趨勢,我們可推測距離相近之解一起演化不一定能增進 演化效果,有時可能需要較遠的解一起演化出好的解。. 圖 9:使用分群演算法將解分配至每個子族群 (Streichert et al., 2005). 在 Affenzeller 與 Anwagner (2004) 提出的 SASEGASA 中,一開始有 n 個子族群各自演化,在過程中若偵測到收斂或到達演化代數即停止此子族群之 演化,等到所有子族群皆停止演化時,會將子族群數量變為 n − 1 個,並進行 重新分配個體至子族群重新演化(如圖 10),以此達成循環,直至最後合併成 一個子族群演化結束時才終止。此機制可節省計算資源去搜尋未收斂區域,並 且提供了新的遷徙時機之方法。. 12.

(23) 圖 10:SASEGASA 重新配置示意圖 (Affenzeller et al., 2004). PSFGA (de Toro Negro et al., 2004) 為 SFGA (de Toro Negro et al., 2003) 之 平行版本演算法,此演算法有一主程序與 n 個子程序,主程序會先依照某一目 標值將個體做排序,再將所有個體分配並送往子程序,接著子程序負責執行 SFGA,當所有子程序都到達最大演化代數時,則會將個體送回主程序,之後 主程序會將所有個體行程之族群執行 SFGA,然後以下一個目標值排序,再度 重新分配至子程序進行 SFGA,此動作稱為一個世代 (epoch),當到達最大演 化世代時終止。其實驗顯示在相同的時間內,PSFGA 優於 SFGA。另外,當 13.

(24) 主程序沒有執行 SFGA 僅作分配之速度較快,但效果較差;相對於有在主程序 執行 SFGA,雖然速度較慢,但有較佳之效果。 Durillo 等人 (2011) 提出了一種分散式方法去平行 MOEA/D-DE (Li & Zhang, 2009)。MOEA/D-DE 源自於 MOEA/D (Zhang & Li, 2007),MOEA/D 最 重 要 的 概 念 就 是 分 解 (decomposition) , 將 多 目 標 問 題 簡 化 成 許 多 子 問 題 (sub-problems),作者有介紹三種方式,其中最重要的是柴比雪夫法 (Tchebycheff approach) (Miettinen, 1999),其式子如下: minimize 𝑔𝑡𝑒 (𝒙|𝝀, 𝒛∗ ) = max1≤𝑖≤𝑚 {𝜆𝑖 |𝑓𝑖 (𝒙) − 𝑧𝑖∗ |} subject to x  . (4). ∗ )T 𝒛∗ = (𝑧1∗ , … , 𝑧𝑚 為參考點,z𝑖∗ = min{𝑓𝑖 (𝒙)|𝒙 ∈ Ω} (最小化問題) ,i 1,...,. m,參考點為目前所發現之最佳目標值,𝝀 = (𝜆1 , … , 𝜆𝑚 ) 為一組權重值,𝜆𝑖 ≥ 0 且 ∑𝑚 𝑖=1 𝜆𝑖 = 1,i 1,..., m,此方法為的是讓族群中的個體能從各方向去逼近參 考點。另外,MOEA/D 會去定義鄰居 (neighborhood),是採用上述之權重向量 以歐基里德距離計算其距離,較近的為鄰居,演化過程中可與鄰居交配出新的 子代,新的個體若優於自己或鄰居便可取代。 Durillo 等人將整個族群切成幾個區域 (partition),分配方式為將權重向量 的其中一權重進行排序,依次順序將相近之權重向量之個體分配在同一區域 (如圖 11),讓每個區域各自獨立演化,鄰居即各個區域內部所有個體。由於 14.

(25) 有些子問題容易有些困難,此篇論文還採用了 MOEA/D-DRA (Zhang et al., 2009) 之方法去偵測各個區域是否有明顯演進,並發展出兩種方式去防止陷入 區域最佳解,其中方法二以調整區域大小之方式,將沒有明顯演進之區域的大 小變大,其餘之區域則會變小 (如圖 12) ,藉由此變化,使得尚未收斂之區域 能夠快速收斂,陷入區域最佳之區域能夠繼續演化。其實驗結果顯示區域如果 切太多,演算法之成效會下降。. 圖 11:個體分配示意圖 (Durillo et al., 2011). 15.

(26) 圖 12:變更 partition 大小示意圖 (Durillo et al., 2011). 在 Arias Montaño 等人 (2010a) 所提出的 MODE-LD+SS 中,也使用了柴 比雪夫法,此演算法用於天擇中,讓各個方向的最佳解從親代與子代找出。其 平行版本 pMODE-LD+SS (Arias Montaño et al., 2010b),在遷徙策略方面,採用 了隨機選擇成對的島嶼,使成對的島嶼隨機挑選個體進行雙向之遷徙,遷徙採 用複製個體到目標島嶼,取代則是與天擇相同,只要能在某方向勝出,即取代 該個體。然而其提出了兩種版本,值得注意的是第二種版本,每個島嶼的權重 向量集合為均勻分布且不相同,但每個島嶼皆有極端方向的權重(如圖 13), 使各島嶼能搜尋整個 PF,並擁有些微差距之方向來演化,其實驗顯示與 MODE-LD+SS 接近,並且有一定的加速效果。. 16.

(27) 圖 13:pMODE-LD+SS 權重向量分配示意圖. 另外 Araujo 與 Merelo (2011) 提出了關於島嶼模型之遷徙方針,特別針對 遷徙時該選取哪個個體進行討論。當一島嶼準備進行遷徙時,此時目標島嶼會 傳送一個體代表目標島嶼之長相,此島嶼則會從優良的解個體中,挑選最不像 之個體來遷徙過去,然而要在一個島嶼中選出一個體代表整個島嶼之長相是很 困難的,此論文提供了兩種方式,第一種為使用最佳之個體,第二種則為目標 島嶼之平均長相。其實驗結果顯示採用平均長相之個體當作代表較佳,然而以 最佳個體也是一種選擇。. 17.

(28) 第三章. 變化分配島嶼式 MOEA/D 演算 法實現. 本章節會先介紹 MOEA/D 的基本流程,再介紹本論文如何將 MOEA/D 平行化,並維持 MOEA/D 該有的成效。. MOEA/D 基本流程. 3.1. MOEA/D 在演化過程中,會保留下列資訊: . 族群 N 個個體 𝒙𝟏 ,…, 𝒙𝑵 Ω,𝒙𝒊 表示第 i 個子問題的解. . 𝐹𝑉 1 ,…, 𝐹𝑉 𝑁 ,𝐹𝑉 𝑖 = 𝐹(𝒙𝒊 ),i  1,…, N,也就是目標向量. . 參考點 𝒛 = (𝑧1 , … , 𝑧𝑚 )T ,𝑧𝑖 表示目前找到過最好的第 i 個目標值 (𝑓𝑖 ). 演算法的輸入資訊: . 多目標最佳化問題資訊. . 終止條件. . N:子問題個數,也就是整個族群大小. . 𝝀𝟏 ,…, 𝝀𝑵 :N 組分散的權重值. . T:每個子問題的個體交配池大小(鄰居數量). . :表示親代由個體交配池(鄰居)挑選的機率 18.

(29) . 𝑛𝑟 :每個子代最多可以取代其他個體之數量. 演算法的輸出資訊: . 一組逼近 PF 的解集合 {𝐹(𝒙𝟏 ), … , 𝐹(𝒙𝑵 )}. 演算法流程圖如下:. Step 1:初始化  產生鄰居  產生並評估個體  初始化參考點  初始化個體交配池. Step 2:更新 每個個體都執行下列工作:  選擇交配池  繁殖  更新參考點  更新族群. Step 3:若到達終止條件,則輸出結果,否則回到 Step 2 圖 14:MOEA/D 流程圖. 19.

(30) 演算法詳細流程如下: Step 1. 初始化. Step 1.1. 每個子問題利用權重向量彼此計算其歐基里德距離,然後取 T 個 𝟏. 𝑻. 最靠近的子問題,用 𝐵(𝑖) = {𝑖 1 , … , 𝑖 𝑇 } 來表示,i  1,…, N,𝝀𝒊 ,…, 𝝀𝒊 表 示 T 個最靠近 𝝀𝒊 之權重向量。 Step 1.2. 從決策空間隨機產生初始族群 𝒙𝟏 ,…, 𝒙𝑵 ,然後計算每個個體之. 目標值 𝑭𝑽𝒊 = 𝐹(𝒙𝒊 )。 Step 1.3 Step 2. 設定參考點 𝒛 = (𝑧1 , … , 𝑧𝑚 )T ,𝑧𝑗 = min1≤𝑖≤𝑁 𝑓𝑗 (𝒙𝒊 )。. 更新. For i  1,…, N,do Step 2.1. 選擇交配池:從 [0, 1] 區間裡隨機產生一個數 rand,交配池用 P. 表示: 𝑃={ Step 2.2. 𝐵(𝑖) if 𝑟𝑎𝑛𝑑 < 𝛿, {1, … , 𝑁} otherwise.. 繁殖:先設定一個 index 𝑟1 = 𝑖,再從 P 裡隨機取兩個 index 𝑟2、. 𝑟3,然後將 𝒙𝒓𝟏、𝒙𝒓𝟐、𝒙𝒓𝟑 使用 DE 運算產生子代 ý,ý 再根據突變機率 𝑝𝑚 產 生新的子代 y。 Step 2.3. 修復:如果子代 y 超過我們所設定的決策空間範圍,則在合法範. 圍裡隨機取一個值來取代超過的值。 20.

(31) Step 2.4. 更新參考點 z: For each j  1,…, m, if 𝑧𝑗 > 𝑓𝑗 (𝒚), then set. 𝑧𝑗 = 𝑓𝑗 (𝒚)。 Step 2.5. 更新族群:設定變數 c  0,然後執行下列工作:. 1) 若 𝑐 = 𝑛𝑟 或 P 為空,則輪到下一個體執行 Step 2.1,否則從 P 中隨機 選擇 index j。 2) 若 𝑔(𝒚|𝝀𝒋 , 𝒛) ≤ 𝑔(𝒙𝒋 |𝝀𝒋 , 𝒛),則 y 取代 𝒙𝒋 ,𝐹𝑉𝑗 = 𝐹(𝒚),c  c  1。 3) 從 P 集合裡移除 j,執行 1)。 Step 3. 終止條件:若達到終止條件,則輸出集合{𝐹(𝒙𝟏 ), … , 𝐹(𝒙𝑵 )},否則執行 Step 2。. 變化分配島嶼式 MOEA/D. 3.2. 本節將介紹島嶼式 MOEA/D 各個要素,包含族群分配、變化島嶼數量、 遷徙等,並且利用這些要素維持住演算法成效。. 3.2.1. 族群分配與變化分配. MOEA/D 是以鄰近權重向量分配在一起為基礎,在兩目標最佳化問題中, 我們可輕易使用一個目標權重來排序,依照順序來一一分配個體,但是當目標 為三個以上,就難以使用單一目標排序來定義相鄰。提到以距離遠近來分群, 21.

(32) 可以想到分群演算法 k-means,不過 k-means 演算法會因起始質心 (centroid) 的 問題,造成分群有誤;而且我們想以均勻分配權重向量之個體且各子族群個體 數量相同,就必須要計算各群之距離以分配至適當的子族群,並將個體數量過 多的群分給鄰近個體較少的群。這些步驟會降低效能且分群效果可能也不佳, 因此打算使用較簡單能夠輕易近似均勻分配的方法。. 圖 15:全域均勻分配示意圖. 前面提到兩目標問題是以單一目標權重來排序,我們以此推廣為使用一個 優先目標次序來排序,若較優先的目標值相同時,則運用次優先目標值進行比 較,以此類推。在初始化時,先隨機出一個目標排序的優先順序,然後依照此 優先順序來排序權重向量,將第一個個體分配給子族群 1,第二個給子族群 2, 依此類推(圖 15),使得每個子族群擁有近似均勻分布的權重向量,即為各子 22.

(33) 族群全域搜尋各方向之方法,我們將此法稱為全域均勻分配法,此分配法與 pMODE-LD+SS (Arias Montaño et al., 2010b) 類似,不過 pMODE-LD+SS 的各 子族群皆擁有極端權重向量之個體,期望加強極端目標解之搜尋;另外一種方 式則是仿照將距離近的解分配在一起之文獻 (Streichert et al., 2005) (Durillo et al., 2011),Streichert 等人 (2005) 所提出之方法是利用分群演算法將距離近的 解分配在同一子族群;Durillo 等人 (2011) 的方法則是運用權重向量,將距離 近的權重向量個體分配在一起;本論文的方法則是一開始每個子族群就依照順 序,一次分配到一定數量的個體,使每個子族群專注於區域方向的搜尋,我們 稱為區域分配法,如圖 16 所示。因此我們依此排序來達到近似分群之效果, 不需要繁複的計算。. 圖 16:區域分配示意圖. 23.

(34) 本論文主要採用區域分配法來進行族群分配,當以區域分配法進行演化時, 各個子族群的交配池範圍都被限制在子族群內(圖 17 (b)) ,與 MOEA/D 的交 配池範圍(圖 17 (a))有相當大的差距,因此加入全域均勻分配法,光這樣還 是不足,因為交配池依然高機率受到鄰居的限制,為了加強與距離遠的解繁殖 的機會,在全域均勻分配子族群時,解除高機率選擇整個鄰居作為交配池的限 制,使各個解與子族群中任意解均有相同機率進行繁殖。. (a). (b) 圖 17:交配池範圍示意圖. 3.2.2. 變化子族群數量. 圖 18 為鄰居關係示意圖,虛線圓圈為空心圓的鄰居範圍,不同形狀之圖 示為不同島嶼的解,圖 18 (a) 為 MOEA/D 的鄰居關係圖,與圖 18 (b) 兩座島 嶼區域分配的 MOEA/D 比較,可觀察出權重向量邊緣解的鄰居關係遭到切斷。 24.

(35) 為了讓邊緣解能夠與隔壁子族群邊緣解進行繁殖,在遷徙之前,將子族群數量 增加(減少)1,再進行重新分配(如圖 18 (b) (c)) ,由於切斷點的不同使得原 本在不同子族群之解有機會在相同子族群中,使能夠對該區域方向進行演化。. (a). (b). (c). 圖 18:鄰居關係示意圖. 3.2.3. 遷徙. 遷徙是島嶼模型很重要的要素,包含遷徙拓撲 (topology)、遷徙時機、遷 徙數量以及如何挑選遷徙之解與該取代哪個解。遷徙拓撲為各子族群的遷徙的 連結關係,代表該子族群之解可以遷徙至其連結之子族群;遷徙時機為何時應 該進行遷徙的動作,本論文採用每 𝑚𝑓 代進行一次遷徙;遷徙數量為遷徙發生 時所挑選解之數量,數量太多可能會造成各個子族群的解都被很強勢的解所取 代,使得多樣性下降,太少也可能造成無法幫助各子族群演化,因此需要好好 設定;在挑選遷徙之解方面,採用挑選菁英解,使用 NSGA-II (Deb et al., 2002) 的階級區分 (如圖 19) 找出菁英解,再從前幾名好的解隨機挑選,藉此帶動其 他子族群;取代則採用與 MOEA/D 之取代方式相同,不過至多取代 1 個。 25.

(36) 圖 19:階級區分示意圖. 3.2.4. 變化分配島嶼式 MOEA/D 流程. 變化分配島嶼式 MOEA/D 在演化過程中,會保留下列資訊: . 𝑛𝑖𝑠𝑙𝑎𝑛𝑑𝑠 :目前子族群數量. . 族群 N 個個體 𝒙𝟏 ,…, 𝒙𝑵 Ω. . 𝑖𝑠𝑙𝑎𝑛𝑑𝑠 𝑖 每個子族群個體有 ni 個個體𝒙𝒊𝟏 ,…, 𝒙𝒊𝒏 Ω,∑𝑖=1 𝑛 =𝑁. . 𝐹𝑉 1 ,…, 𝐹𝑉 𝑁 ,𝐹𝑉 𝑖 = 𝐹(𝒙𝒊 ),i  1,…, N,也就是目標向量. . 在子族群中目標向量以𝐹𝑉 𝑖1 ,…, 𝐹𝑉 𝑖𝑛 表示,𝐹𝑉 𝑖𝑗 = 𝐹(𝒙𝒊𝒋 ),i  1,…,. 𝒊. 𝑛. 𝑖. 𝑛𝑖𝑠𝑙𝑎𝑛𝑑𝑠 ,j  1,…,ni . 參考點 𝒛 = (𝑧1 , … , 𝑧𝑚 )T,𝑧𝑖 表示目前找到過最好的第 i 個目標值 (𝑓𝑖 ), 另外各子族群擁有自己的區域參考點 𝒛𝒊 ,i  1,…, 𝑛𝑖𝑠𝑙𝑎𝑛𝑑𝑠. . c:表示目前親代由個體交配池(鄰居)挑選的機率 26.

(37) 演算法的輸入資訊: . 多目標最佳化問題資訊. . 終止條件. . N:子問題個數,也就是整個族群大小. . 𝝀𝟏 ,…, 𝝀𝑵 :N 組分散的權重值;然而 𝝀𝒊𝒋 表示第 i 個子族群的第 j 個解的權重向量. . T:每個個體的交配池大小(鄰居數量). . :表示使用區域分配法與其親代由個體交配池(鄰居)挑選的機率. . 𝑛𝑟 :每個子代最多可以取代其他個體之數量. . 𝑁𝑖𝑠𝑙𝑎𝑛𝑑𝑠 :子族群初始數量. . 𝑚𝑟 :遷徙者之數量比例,遷徙數量 𝑛𝑚𝑖𝑔𝑟𝑎𝑡𝑖𝑜𝑛 為 𝑚𝑟 𝑁⁄𝑛𝑖𝑠𝑙𝑎𝑛𝑑𝑠. . 𝑚𝑓 :遷徙頻率,每 𝑚𝑓 代執行一次遷徙. 演算法的輸出資訊: . 一組逼近 PF 的解集合 {𝐹(𝒙𝟏 ), … , 𝐹(𝒙𝑵 )}. 27.

(38) 變化分配島嶼式 MOEA/D 簡易主流程如下:. 初始化. 子族群初始化. 遷徙. 子族群初始化 是 , 更新. 並 變 更. 否. 島. 否 遷徙?. 停止?. 嶼 數 量. 是. 結束. 圖 20:變化分配島嶼式 MOEA/D 簡易流程圖. 28.

(39) 詳細的變化分配島嶼式 MOEA/D 的步驟如下: Step 1. 初始化. Step 1.1. 從決策空間隨機產生初始族群 𝒙𝟏 ,…, 𝒙𝑵 ,然後計算每個個體之. 目標向量 𝐹𝑉 𝑖 = 𝐹(𝒙𝒊 )。 Step 1.2. 用下列式子來設定參考點 𝒛 = (𝑧1 , … , 𝑧𝑚 )𝑇,𝑧𝑗 = min1≤𝑖≤𝑁 𝑓𝑗 (𝒙𝒊 ),. 並複製至各子族群之區域參考點。 Step 1.3. 依照問題目標個數隨機產生出優先次序,作為分配子族群之依. 據。 Step 2. 子族群初始化. Step 2.1. 分配子族群:從 [0, 1] 區間裡隨機產生一個數 rand,若 rand  . 則採用區域分配法進行分配,並設定 c  ;否則使用全域均勻分配法,設 定 c  0。 Step 2.2. 各子族群 i 之每個解 j 利用權重向量彼此計算其歐基里德距離, 𝟏. 然後取 T 個最靠近的解,用 𝐵(𝑗) = {𝑗 1 , … , 𝑗 𝑇 } 來表示,j  1,…, ni,𝝀𝒊𝒋 ,…, 𝑻. 𝝀𝒊𝒋 表示 T 個最靠近 𝝀𝒊𝒋 之權重向量。 Step 2.3. 若尚未開始進行演化則跳至 Step 4。. 29.

(40) Step 3. 遷徙. Step 3.1. 各子族群進行階級區分直到目前所挑出的階級之解的數量達到. 𝑛𝑚𝑖𝑔𝑟𝑎𝑡𝑖𝑜𝑛 為止,再從中隨機挑選 𝑛𝑚𝑖𝑔𝑟𝑎𝑡𝑖𝑜𝑛 個解複製至各自的暫存區。 Step 3.2. 各子族群依照遷徙拓撲,將暫存區的 𝑛𝑚𝑖𝑔𝑟𝑎𝑡𝑖𝑜𝑛 個解循序地對各. 目標子族群進行取代,詳細如下: For each 子族群,do For each 目標子族群 R,do For i  1,…, 𝑛𝑚𝑖𝑔𝑟𝑎𝑡𝑖𝑜𝑛 ,do 假設遷徙個體為 𝒔𝒊 ,然後執行下列工作: 1) 若目標子族群所有的解皆無法取代,則輪到下一個體進行取代 工作,否則從 R 中隨機選擇目標個體 𝒕𝒋,令其權重向量為 𝝀𝒋 。 2) 若 𝑔(𝒔𝒊 |𝝀𝒋 , 𝒛) ≤ 𝑔(𝒕𝒋 |𝝀𝒋 , 𝒛),則 𝒔𝒊 取代 𝒕𝒋 ,並輪到下一個體 進行取代工作。. 30.

(41) Step 4. 更新. Step 4.1. 各子族群各自進行演化:. For i  1,…, 𝑛𝑖𝑠𝑙𝑎𝑛𝑑𝑠 ,do For j  1,…, ni,do Step 4.1.1. 選擇交配池:從 [0, 1] 區間裡隨機產生一個數 rand,交配. 池用 P 表示: P={ Step 4.1.2. B(j) if rand < δc , i {1, … , n } otherwise.. 繁殖:先設定一個 index 𝑟1 = 𝑗,再從 P 裡隨機取兩個. index 𝑟2 、𝑟3 ,然後將 𝒙𝒊𝒓𝟏 、𝒙𝒊𝒓𝟐 、𝒙𝒊𝒓𝟑 使用 DE 運算產生子代 ý,ý 再根 據突變機率 𝑝𝑚 產生新的子代 y。 Step 4.1.3. 修復:如果子代 y 超過我們所設定的決策空間範圍,則在合. 法範圍裡隨機取一個值來取代超過的值。 Step 4.1.4. 更新區域參考點 zi:For each k  1,…, m, if 𝑧𝑘𝑖 > 𝑓𝑘 (𝒚), then. set 𝑧𝑘𝑖 = 𝑓𝑘 (𝒚)。 Step 4.1.5. 更新子族群:設定變數 c  0,然後執行下列工作:. 1) 若 𝑐 = 𝑛𝑟 或 P 為空,則輪到下一個體執行 Step 4.1.1,否則從 P 中 隨機選擇 index k。 2) 若 g(𝒚|𝝀𝒊𝒌 , 𝒛𝒊 ) ≤ g(𝒙𝒊𝒌 |𝝀𝒊𝒌 , 𝒛𝒊 ),則 y 取代 x ik,𝐹𝑉 𝑖𝑘 = F(y),c  c1。 31.

(42) 3) 從 P 集合裡移除 k,執行 1)。 Step 4.2. 更新參考點 z:. For i  1,…, 𝑛𝑖𝑠𝑙𝑎𝑛𝑑𝑠 ,do For each j  1,…, m,do if 𝑧𝑗 > 𝑧𝑗𝑖 , then set 𝑧𝑗 = 𝑧𝑗𝑖 。 For i  1,…, 𝑛𝑖𝑠𝑙𝑎𝑛𝑑𝑠 ,𝒛𝒊 = 𝒛。 Step 5. 終止條件. Step 5.1. 若達到演化終止條件,則輸出結果。. Step 5.2. 若達到遷徙條件,則先變更島嶼數量,然後跳至 Step 2;否則回. 到 Step 4 繼續演化。島嶼數量變更方法為當 𝑛𝑖𝑠𝑙𝑎𝑛𝑑𝑠 與 𝑁𝑖𝑠𝑙𝑎𝑛𝑑𝑠 相等時, 設定𝑛𝑖𝑠𝑙𝑎𝑛𝑑𝑠 = 𝑁𝑖𝑠𝑙𝑎𝑛𝑑𝑠 + 1,否則 𝑛𝑖𝑠𝑙𝑎𝑛𝑑𝑠 = 𝑁𝑖𝑠𝑙𝑎𝑛𝑑𝑠 。. 32.

(43) 實驗數據與效能評比. 第四章. 本章會先介紹測試問題、效能指標與實驗環境,然後呈現島嶼式 MOEA/D 調整基本平行要素之實驗,之後探討加入變化島嶼數量與變化分配機制的實驗, 最後比較變化分配島嶼式 MOEA/D 與 MOEA/D,並運用 OpenMP (Chapman et al., 2007) 進行平行加速實驗。. 測試問題. 4.1. 本論文採用 DTLZ1–2 (Zhang & Li, 2007)、F1–9 (Li & Zhang, 2009) 與 UF1–10 (Zhang et al., 2008) 等 17 個多目標最佳化問題來進行測試,如下表:. 表 1:多目標最佳化問題 問題. 多目標函式. F1. f1 =x1 +. 數值範圍. 3(j−2) 2 2 ∑ (xj − x1 0.5(1.0 + n−2 ) ) |J1 | j∈J1. f2 =1 − √x1 +. [0,1]n. 3(j−2) 2 2 ∑ (xj − x1 0.5(1.0 + n−2 ) ) |J2 | j∈J2. n=30. where J1 ={ j | j is odd and 2 ≤ j ≤ n} and J2 ={ j | j is even and 2 ≤ j ≤ n} 2 jπ 2 ∑ (xj − sin (6πx1 + ) ) |J1 | n j∈J1. F2. f1 =x1 +. (UF1). f2 =1 − √x1 +. [0,1]×[−1,1]n−1. 2 jπ 2 ∑ (xj − sin (6πx1 + ) ) |J2 | j∈J2 n. where J1 ={ j | j is odd and 2 ≤ j ≤ n} and J2 ={ j | j is even and 2 ≤ j ≤ n} 33. n=30.

(44) 表 1:多目標最佳化問題(續) 問題. 多目標函式. F3. f1 =x1 +. 數值範圍. 2 jπ 2 ∑ (xj − 0.8x1 cos (6πx1 + ) ) |J1 | n j∈J1. f2 =1 − √x1 +. 2 jπ 2 ∑ (xj − 0.8x1 cos (6πx1 + ) ) |J2 | j∈J2 n. [0,1]×[−1,1]n−1. n=30. where J1 ={ j | j is odd and 2 ≤ j ≤ n} and J2 ={ j | j is even and 2 ≤ j ≤ n}. F4. 𝑗𝜋 2 6𝜋𝑥1 + 2 𝑛 )) f1 =x1 + ∑ (𝑥𝑗 − cos ( |J1 | 3 j∈J1 2 jπ 2 f2 =1 − √x1 + ∑ (xj − 0.8x1 cos (6πx1 + )) |J2 | j∈J2 n. [0,1]×[−1,1]n−1. n=30. where J1 ={ j | j is odd and 2 ≤ j ≤ n} and J2 ={ j | j is even and 2 ≤ j ≤ n}. F5. f1 =x1 +. 2 ∑ {xj |J1 | j∈J1 − [0.3x1 cos (24πx1 +. (UF2) f2 =1 − √x1 +. [0,1]×[−1,1]n−1 4jπ jπ 2 ) +0.6x1 ] cos (6πx1 + ) } n n. 2 ∑ {x |J2 | j∈J2 j − [0.3x1 cos (24πx1 +. 4jπ jπ 2 ) +0.6x1 ] cos (6πx1 + ) } n n. where J1 ={ j | j is odd and 2 ≤ j ≤ n} and J2 ={ j | j is even and 2 ≤ j ≤ n}. 34. n=30.

(45) 表 1:多目標最佳化問題(續) 問題. 多目標函式. 數值範圍. F6. f1 = cos (0.5x1 π) cos (0.5x2 π) +. 2 jπ 2 ∑ (xj − 2x2 sin (2πx1 + ) ) |J1 | n j∈J1. [0,1]2 ×[−2,2]n−2. (UF8). f2 = cos (0.5x1 π) cos (0.5x2 π) +. 2 jπ 2 ∑ (xj − 2x2 sin (2πx1 + ) ) |J2 | n j∈J2. n=10. f3 = sin (0.5x1 π) +. 2 jπ 2 ∑ (xj − 2x2 sin (2πx1 + ) ) |J3 | j∈J3 n. where J1 ={ j | 3 ≤ j ≤ n, and j − 1 is a multiplication of 3} and J2 ={ j | 3 ≤ j ≤ n, and j − 2 is a multiplication of 3} and J3 ={ j | 3 ≤ j ≤ n, and j is a multiplication of 3}. F7. f1 =x1 +. 2 ∑ (4yi 2 − cos(8yi π) +1.0) |J1 | j∈J1. f2 =1 − √x1 +. [0,1]n. 2 ∑ (4y 2 − cos(8yi π) +1.0) |J2 | j∈J2 i. n=10. where J1 ={ j | j is odd and 2 ≤ j ≤ n} and J2 ={ j | j is even and 2 ≤ j ≤ n}. and yi =xj − x1. 0.5(1.0+. 3(j−2) ) n−2. , j=2,…,n. 20yj π 2 (4 ∑ yi 2 − 2 ∏ cos ( ) +2) |J1 | j∈J1 j∈J1 √j. F8. f1 =x1 +. (UF3). f2 =1 − √x1 +. 20yj π 2 (4 ∑ yi 2 − 2 ∏ cos ( ) +2) |J2 | j∈J2 j∈J2 √j. where J1 ={ j | j is odd and 2 ≤ j ≤ n} and J2 ={ j | j is even and 2 ≤ j ≤ n}. and yi =xj − x1. 0.5(1.0+. 3(j−2) ) n−2. , j=2,…,n. 35. [0,1]n. n=10.

(46) 表 1:多目標最佳化問題(續) 問題. 多目標函式. F9. f1 =x1 +. 數值範圍. 2 jπ 2 ∑ (xj − sin (6πx1 + ) ) |J1 | n j∈J1. f2 =1 − x1 2 +. [0,1]×[−1,1]n−1. 2 jπ 2 ∑ (xj − sin (6πx1 + ) ) |J2 | j∈J2 n. n=30. where J1 ={ j | j is odd and 2 ≤ j ≤ n} and J2 ={ j | j is even and 2 ≤ j ≤ n}. DTLZ1. f1 =(1+g(x))x1 x2. [0,1]n. f2 =(1+g(x))x1 (1 − x2 ). n=10. f3 =(1+g(x))(1 − x1 ) n. where g(x) =100(n − 2)+100 ∑ {(xi − 0.5)2 i=3. − cos (20π(xi − 0.5)) }. DTLZ2. f1 =(1+g(x)) cos (. x1 π x2 π ) cos ( ) 2 2. f2 =(1+g(x)) cos ( f3 =(1+g(x)) sin (. [0,1]2 ×[−2,2]n−2. x1 π x2 π ) sin ( ) 2 2. n=10. x1 π ) 2 n. where g(x)= ∑ xi 2 i=3. 36.

(47) 表 1:多目標最佳化問題(續) 問題. 多目標函式. UF4. f1 =x1 +. 數值範圍. 2 ∑ h(yj ) |J1 | j∈J1. f2 =1 − x1 2 +. [0,1]×[−2,2]n−1. 2 ∑ h(y ) |J2 | j∈J2 j. n=30. jπ yi =xj − sin (6πx1 + ) ,j=2,…,n n h(t)=. |t| 1+e2|t|. where J1 ={ j | j is odd and 2 ≤ j ≤ n} and J2 ={ j | j is even and 2 ≤ j ≤ n}. UF5. f1 =x1 +(. 1 2 +ε)|sin (2Nπx1 )|+ ∑ h(y ) |J1 | j∈J1 j 2N. f2 =1 − x1 2 +(. 1 2 +ε)|sin (2Nπx1 )|+ ∑ h(y ) |J2 | j∈J2 j 2N. jπ yi =xj − sin (6πx1 + ) ,j=2,…,n n h(t)=2t2 − cos(4πt)+1 where J1 ={ j | j is odd and 2 ≤ j ≤ n} and J2 ={ j | j is even and 2 ≤ j ≤ n}. 37. [0,1]×[−1,1]n−1. n=30.

(48) 表 1:多目標最佳化問題(續) 問題. 多目標函式. 數值範圍. UF6. f1 =x1 +max{0,2(. 1 +ε) sin (2Nπx1 )} + 2N. [0,1]×[−1,1]n−1. 20yj π 2 (4 ∑ yi 2 − 2 ∏ cos ( ) +2) |J1 | j∈J1 j∈J1 √j f2 =1 − x1 2 +max{0,2(. n=30. 1 +ε) sin (2Nπx1 )} + 2N. 20yj π 2 (4 ∑ yi 2 − 2 ∏ cos ( ) +2) |J2 | j∈J1 j∈J1 √j jπ yi =xj − sin (6πx1 + ) ,j=2,…,n n where J1 ={ j | j is odd and 2 ≤ j ≤ n} and J2 ={ j | j is even and 2 ≤ j ≤ n}. UF7. 5 f1 = √ x1 +. 2 ∑ y2 |J1 | j∈J1 j. 5 f2 =1 − √ x1 +. [0,1]×[−1,1]n−1. 2 ∑ yj 2 |J2 | j∈J2. n=30. jπ yi =xj − sin (6πx1 + ) ,j=2,…,n n where J1 ={ j | j is odd and 2 ≤ j ≤ n} and J2 ={ j | j is even and 2 ≤ j ≤ n}. 38.

(49) 表 1:多目標最佳化問題(續) 問題. 多目標函式. 數值範圍. UF9. f1 =0.5[max{0,(1+ε)(1 − 4(2x1 − 1)2 )}+2x1 ]x2 +. [0,1]2 ×[−2,2]n−2. 2 jπ 2 ∑ (xj − 2x2 sin (2πx1 + ) ) |J1 | j∈J1 n. n=30. f2 =0.5[max{0,(1+ε)(1 − 4(2x1 − 1)2 )} − 2x1 +2]x2 + 2 jπ 2 ∑ (xj − 2x2 sin (2πx1 + ) ) |J2 | j∈J2 n 2 jπ 2 f3 =1 − x2 + ∑ (x − 2x2 sin (2πx1 + ) ) |J3 | j∈J3 j n ε=0.1 where J1 ={ j | 3 ≤ j ≤ n, and j − 1 is a multiplication of 3} and J2 ={ j | 3 ≤ j ≤ n, and j − 2 is a multiplication of 3} and J3 ={ j | 3 ≤ j ≤ n, and j is a multiplication of 3}. UF10. f1 = cos (0.5x1 π) cos (0.5x2 π) +. 2 ∑ (4yi 2 − cos(8yi π) +1.0) |J1 | j∈J1. [0,1]2 ×[−2,2]n−2. f2 = cos (0.5x1 π) sin (0.5x2 π) +. 2 ∑ (4y 2 − cos(8yi π) +1.0) |J2 | j∈J1 i. n=30. f3 = sin (0.5x1 π) +. 2 ∑ (4y 2 − cos(8yi π) +1.0) |J3 | j∈J1 i. jπ yj =xj − 2x2 sin (2πx1 + ) ,j=3,…,n n where J1 ={ j | 3 ≤ j ≤ n, and j − 1 is a multiplication of 3} and J2 ={ j | 3 ≤ j ≤ n, and j − 2 is a multiplication of 3} and J3 ={ j | 3 ≤ j ≤ n, and j is a multiplication of 3}. 39.

(50) 4.2. 效能指標 為了評估實驗結果的優劣,我們採用 inverted generational distance (IGD). (Zitzler et al., 2003),並且使用 Mann-Whitney U 統計檢定來確認實驗結果是否有 顯著差異。IGD 的式子如下:. IGD(P* ,P)=. ∑. d(v,P) v∈P* *. (5). |P |. P 為演算法求得的近似最佳解集合,P* 則為均勻分布在 PF 的解集合, d(v, P) 表示 v 到集合 P 各點中歐基里德距離的最短距離,若 IGD(P*, P) 值 小的話,則表示演算法所求出的最佳解集合具有好的收斂性 (convergence) 與 多樣性 (diversity)。 另外為了計算平行化的加速效果,我們採用了加速度 (speed-up) 的評估方法。 令我們有 p 個處理器,T 與 Tp 分別為循序式與平行演算法的執行時間,則加速 度 Sp 可以下式表示: 𝑇. 𝑆p = 𝑇. (6). 𝑝. 40.

(51) 4.3. 測試環境與參數設定 本論文之演算法皆使用 C++來實作,作業系統為 Windows 7,CPU 為 Intel. Core i7-950 (4 個核心,8 個執行緒),記憶體大小為 6GB,編譯環境則為 Microsoft Visual Studio 2010。MOEA/D-DE 參數設定與原論文設定相同 (Li & Zhang, 2009),如下: 1. DE 控制變數 CR  1.0 與 F  0.5,polynomial mutation 分布變數 η = 20、 突變機率 pm = 1/n,n 為決策變數個數。 2. 終止條件為演化代數 500 代。 3. 權重向量個數與族群個體個數相同,在 MOEA/D 中,是以一個整數 H 0 1. 𝐻. 來控制,所有個體的權重向量 𝝀𝟏 ,…, 𝝀𝑵 皆取值於{𝐻 , 𝐻 , … , 𝐻},且每 𝐻+𝑚−1 組向量總合為 1,即∑𝑚 ,m 表 i=1 𝜆𝑖 = 1,所以族群大小為𝑁 = 𝐶𝑚−1. 示問題目標個數。兩目標問題將 H 設定為 299 即為族群大小為 300; 三目標問題設為 33,族群大小則為 595。 4. 個體鄰居個數 T  20,選擇鄰居為交配池的機率 δ = 0.9,每個突變產 生的子代最多可以取代族群個體的數量 nr = 2。. 41.

(52) 4.4. 實驗與討論 本節將探討島嶼式 MOEA/D 對各種參數進行實驗,觀察何種參數較優,. 並討論其原因,最後再與 MOEA/D 進行比較。本輪文之實驗皆對 17 個多目標 最佳化問題執行 20 次,實驗表格中的 IGD 數值為 20 次實驗之平均值,另外 針對 IGD 的結果使用 Mann-Whitney U 統計檢定,Mann-Whitney U 統計檢定 將兩組數據之大小排階級 (Rank),並計算各組數據之階級總和,進而計算出統 計數值 (p-value),與單純使用標準差是不同的,Mann-Whitney U 統計檢定運 用數據之階級來評斷兩組數據是否真的有顯著差異,可避免一些例外結果之影 響。其顯著標準設定為 0.05,若統計數值小於 0.05 則表示兩組實驗數據有顯著 差異,否則表示兩組數據並無顯著差異,其對照表格以左側演算法為主, 「xy」 表示統計檢定檢結果為 x 個問題較優,y 個問題較劣。島嶼式 MOEA/D 最初 並未增減島嶼數量與一定機率重新分配,以下為剛開始實驗之參數: 1. 族群分配僅採用全域均勻分配法。 2. 遷徙拓撲為每座島嶼互相連結。 3. 遷徙時隨機挑選遷徙者,𝑚𝑟 = 0.2, 𝑚𝑓 = 10。 4. 終止條件由 MOEA/D 的演化 500 代換算成運算目標值次數,兩目標問 題為 150000 次,三目標問題為 297500。 5. 實驗對三種島嶼數量實行,分別為 2、4、8。. 42.

(53) 4.4.1. 族群大小實驗. 由於島嶼式 MOEA/D 會切割族群,可能會影響族群的演化能力,因此對 五組族群大小來進行實驗,觀察是否能靠增加族群大小,減少演化代數來提升 演進效果,以下為五組族群大小設定: 1. S1:兩目標問題族群大小為 300 ( H = 299 )、三目標問題大小為 595 ( H = 33 ) 2. S2:兩目標問題族群大小為 600 ( H = 599 )、三目標問題大小為 1176 ( H = 47 ) 3. S3:兩目標問題族群大小為 900 ( H = 899 )、三目標問題大小為 1770 ( H = 58 ) 4. S4:兩目標問題族群大小為 1200 ( H = 1199 )、三目標問題大小為 2346 ( H = 67 ) 5. S5:兩目標問題族群大小為 1500 ( H = 1499 )、三目標問題大小為 3003 ( H = 76 ). 43.

(54) 如表 2、表 3、表 4 所示,可觀察出增加族群大小換取演化代數是有一定 的效果,單一子族群太小會影響其演化能力,進而導致最後成果不好;然而, 族群大小太大,所減少的演化代數太多,結果依然較差。. 表 2:2 座島嶼族群大小實驗之統計檢定對照表 S1 S1. S2. S3. S4. S5. 49. 58. 47. 76. 46. 66. 76. 63-. 94. S2. 94. S3. 85. 64. S4. 74. 66. 36. S5. 67. 67. 49. 62 26. 表 3:4 座島嶼族群大小實驗之統計檢定對照表 S1 S1. S2. S3. S4. S5. 211. 211. 211. 510. 25. 46. 64. 44. 83. S2. 112. S3. 112. 52. S4. 112. 64. 44. S5. 105. 46. 38. 73 37. 表 4:8 座島嶼族群大小實驗之統計檢定對照表 S1 S1. S2. S3. S4. S5. 214. 213. 313. 311. 39. 39. 49. 36. 58. S2. 142. S3. 132. 93. S4. 133. 93. 63. S5. 113. 94. 85. 44. 43 34.

(55) 2 座島嶼實驗為 S3 最佳,8 座島嶼則是 S4,然而在 4 座島嶼實驗,S3 與 S4 不易選擇何者較優,因此嘗試加總各個優劣的問題個數,S3 為 2811,S4 為 2813,S3 的劣勢問題較少,故選擇它。下節實驗 2、4、8 座島嶼所使用的族 群大小分別為 S3、S3 與 S4。. 4.4.2. 族群分配實驗. 本節呈現全域均勻分配法與區域分配法之實驗結果比較(表 5、表 6、表 7), 粗體表示經過統計檢定認可之較優結果,可觀察出在各個島嶼數量實驗中,兩 種方法各有優劣,表示在某些問題上不可單單依靠權重向量相近的解來繁殖, 尚需求距離較遠的解來產出不一樣的解,增進子代多樣性,以跳脫區域最佳解。 仔細觀察表中數據,全域均勻分配法在 F2、F3、F5、UF7 等問題較優,區 域分配法則是 F1、F6、DTLZ2 等問題較好。考慮到島嶼數量為 2 時,兩者差 異會較小,故特別觀察島嶼數量為 4 與 8 的數據,在 F7、F8 等兩個問題上是 全域分配法表現較好,在 DTLZ1、UF9、UF10 等問題則是區域分配法解得較 好,尤其 DTLZ1 問題兩者差異甚大,區域分配法勝過全域均勻分配法很多, 除此之外 MOEA/D 本身就注重與鄰近權重向量之解一起演化,因此在下一節 之實驗選擇使用區域分配法。. 45.

(56) 表 5:2 座島嶼族群分配實驗 問題 全域均勻分配 區域分配 F1 0.00064 0.00058 F2 0.02262 0.00763 F3 0.02355 0.00803 F4 0.01455 0.02213 F5 0.01666 0.01162 F6 0.01768 0.01657 F7 0.00160 0.00116 F8 0.05756 0.04029 F9 0.00074 0.00065 DTLZ1 0.05993 0.23398 DTLZ2 0.01526 0.01503 UF4 0.06391 0.06453 UF5 0.51964 0.53377 UF6 0.12543 0.17099 UF7 0.01743 0.00691 UF9 0.04028 0.04961 UF10 0.69691 0.68740. 問題 F1 F2 F3 F4 F5 F6 F7 F8 F9 DTLZ1 DTLZ2 UF4 UF5 UF6 UF7 UF9 UF10. 表 6:4 座島嶼族群分配實驗 問題 全域均勻分配 區域分配 F1 0.00081 0.00065 F2 0.03225 0.00952 F3 0.02221 0.00949 F4 0.01232 0.02087 F5 0.01996 0.01264 F6 0.01995 0.01662 F7 0.00114 0.00313 F8 0.06143 0.04803 F9 0.00130 0.00135 DTLZ1 0.19508 0.02663 DTLZ2 0.01545 0.01506 UF4 0.06847 0.06782 UF5 0.52170 0.58230 UF6 0.13348 0.16299 UF7 0.01499 0.01013 UF9 0.04676 0.03512 UF10 0.75248 0.68446. 表 7:8 座島嶼族群分配實驗 全域均勻分配 區域分配 0.00111 0.00092 0.04097 0.01640 0.02606 0.01271 0.01901 0.02598 0.01814 0.01456 0.02106 0.01506 0.05664 0.00200 0.10033 0.05437 0.00239 0.00263 1.29196 0.33743 0.01415 0.01345 0.06574 0.06669 0.54776 0.58257 0.20652 0.17927 0.02523 0.01428 0.05368 0.03815 0.86793 0.78850. 46.

(57) 4.4.3. 遷徙挑選與數量之實驗. 本節將呈現遷徙的挑選方式與數量差異會有何種成果(如表 8、表 9、表 10) ,r 表示隨機挑選,R 則是使用階級區分並挑選前幾名的解,後面的數字為 遷徙數量 𝑚𝑟 ,none 表示未使用遷徙。 首先從表中可觀察出有定期遷徙明顯優於未使用遷徙之版本,然後仔細比 較各遷徙版本的優劣,2 與 4 座島嶼的優劣問題數較少,較難分出勝負,然而 在 8 座島嶼的比較中,雖然 R0.2 的較優問題數目較多,但是與其他版本獲勝 數不如 R0.5,故在下節實驗的各島嶼將統一使用 R0.5 的參數設定。. 表 8:2 座島嶼的遷徙挑選與數量實驗之統計檢定對照表 r0.1 r0.1. r0.2. r0.3. r0.4. r0.5. R0.1. R0.2. R0.3. R0.4. R0.5. none. 00. 00. 00. 00. 00. 01. 00. 01. 02. 40. 00. 01. 00. 00. 00. 01. 01. 02. 31. 00. 01. 00. 00. 00. 01. 01. 30. 00. 00. 00. 00. 00. 00. 50. 20. 01. 00. 01. 02. 41. 01. 01. 01. 01. 40. 00. 00. 01. 40. 00. 00. 31. 01. 50. r0.2. 00. r0.3. 00. 00. r0.4. 00. 10. 00. r0.5. 00. 00. 10. 00. R0.1. 00. 00. 00. 00. 02. R0.2. 10. 00. 00. 00. 10. 10. R0.3. 00. 10. 00. 00. 00. 10. 00. R0.4. 10. 10. 10. 00. 10. 10. 00. 00. R0.5. 20. 20. 10. 00. 20. 10. 10. 00. 10. none. 04. 13. 03. 05. 14. 04. 04. 13. 05. 47. 60 06.

(58) 表 9:4 座島嶼的遷徙挑選與數量實驗之統計檢定對照表 r0.1 r0.1. r0.2. r0.3. r0.4. r0.5. R0.1. R0.2. R0.3. R0.4. R0.5. none. 00. 00. 10. 00. 10. 02. 01. 02. 01. 9+0. 00. 00. 00. 00. 01. 12. 01. 01. 8+0. 10. 00. 00. 01. 02. 01. 01. 8+0. 00. 00. 00. 00. 02. 01. 8+0. 00. 20. 00. 11. 11. 9+0. 01. 01. 01. 01. 8+0. 00. 01. 01. 8+0. 00. 00. 10+0. 00. 9+0. r0.2. 00. r0.3. 00. 00. r0.4. 01. 00. 01. r0.5. 00. 00. 00. 00. R0.1. 01. 00. 00. 00. 00. R0.2. 20. 10. 10. 00. 02. 10. R0.3. 10. 21. 20. 00. 00. 10. 00. R0.4. 20. 10. 10. 20. 11. 10. 10. 00. R0.5. 10. 10. 10. 10. 11. 10. 10. 00. 00. none. 09. 08. 08. 08. 09. 08. 08. 010. 09. 9+0 09. 表 10:8 座島嶼的遷徙挑選與數量實驗之統計檢定對照表 r0.1 r0.1. r0.2. r0.3. r0.4. r0.5. R0.1. R0.2. R0.3. R0.4. R0.5. none. 00. 01. 02. 04. 03. 05. 04. 03. 03. 90. 00. 10. 10. 10. 03. 01. 11. 01. 120. 00. 00. 01. 03. 01. 02. 01. 110. 00. 00. 02. 01. 01. 01. 110. 00. 01. 01. 01. 01. 100. 01. 01. 01. 01. 110. 00. 11. 11. 120. 00. 01. 110. 00. 110. r0.2. 00. r0.3. 10. 00. r0.4. 20. 01. 00. r0.5. 40. 01. 00. 00. R0.1. 30. 01. 10. 00. 00. R0.2. 50. 30. 30. 20. 10. 10. R0.3. 40. 10. 10. 10. 10. 10. 00. R0.4. 30. 11. 20. 10. 10. 10. 11. 00. R0.5. 30. 10. 10. 10. 10. 10. 11. 10. 00. none. 09. 012. 011. 011. 010. 011. 012. 011. 011. 4.4.4. 110 011. 遷徙頻率與拓撲之實驗. 本節實驗測試遷徙頻率與拓撲之影響(如表 11、表 12、表 13),實驗所 用遷徙頻率為每 1、5、10、15、20 代進行一次,A 表示所有島嶼皆相連結之 拓撲,R 則為環狀拓撲,之後所接的數字代表 𝑚𝑓 ,另外 2 座島嶼之實驗,兩 種拓撲是相同的,故表 11 只有一種拓撲。 48.

(59) 從表格中可觀察出普遍都是 𝑚𝑓 為 1 或 5 較優,因此時常執行遷徙有助於 演化;然而在 4 座島嶼實驗中,從贏過其他版本數來看,A5 是全勝的,再來是 R5 與 R1,A1 與其他版本不是打平就是輸,可推測頻繁進行遷徙與大量取代 其他島嶼之個體造成多樣性下降影響了演化成效;不過在 8 座島嶼實驗的 A1, 贏的版本數量與 A5 相同,且較佳的是 R1 與 R5,可猜想島嶼數量增加,各 島嶼的演化能力較弱,更加需要頻繁地進行遷徙,來推進演化,不過不能使用 高取代的拓撲連結,因此表 14 使用 R1 來與 MOEA/D 來進行比較。. 表 11:2 座島嶼遷徙頻率與拓撲實驗之統計檢定對照表 A1 A1. A5. A10. A15. A20. 43. 41. 53. 51. 20. 30. 40. 00. 00. A5. 34. A10. 14. 02. A15. 35. 03. 00. A20. 15. 04. 00. 00 00. 表 12:4 座島嶼遷徙頻率與拓撲實驗之統計檢定對照表 A1 A1. A5. A10. A15. A20. R1. R5. R10. R15. R20. 26. 56. 66. 77. 10. 45. 66. 66. 57. 10. 30. 50. 43. 10. 10. 40. 20. 10. 10. 47. 11. 00. 10. 20. 10. 48. 02. 01. 00. 01. 56. 04. 03. 01. 00. 34. 53. 74. 75. 20. 50. 31. 10. 21. A5. 62. A10. 65. 01. A15. 66. 03. 01. A20. 77. 05. 01. 01. R1. 01. 34. 74. 84. 65. R5. 54. 01. 11. 20. 40. 43. R10. 66. 01. 00. 10. 30. 35. 02. R15. 66. 04. 01. 00. 10. 47. 05. 01. R20. 75. 02. 02. 10. 00. 57. 13. 12. 49. 10 01.

(60) 表 13:8 座島嶼遷徙頻率與拓撲實驗之統計檢定對照表 A1 A1. A5. A10. A15. A20. R1. R5. R10. R15. R20. 43. 93. 55. 65. 01. 45. 64. 74. 65. 40. 32. 50. 26. 11. 40. 61. 61. 20. 30. 39. 02. 10. 20. 30. 0+0. 47. 14. 12. 11. 10. 48. 15. 03. 01. 00. 73. 93. 83. 103. 31. 40. 51. 30. 40. A5. 34. A10. 39. 04. A15. 55. 23. 02. A20. 56. 05. 03. 00. R1. 10. 62. 93. 74. 84. R5. 54. 11. 20. 41. 51. 37. R10. 46. 04. 01. 21. 30. 39. 13. R15. 47. 16. 02. 11. 10. 38. 04. 03. R20. 56. 16. 03. 01. 00. 310. 15. 04. 10 01. 表 14 為以本節不錯的版本與 MOEA/D 進行比較,R1 前面的數字表示島 嶼數量,表格中括號內的符號則為統計檢定結果,() 表示與 MOEA/D 無顯著 差異,() 與 () 則分別為優或劣於 MOEA/D。2、4、8 座島嶼與 MOEA/D 問 題數優劣數量分別為「65」、「77」、「97」,優劣關係數量差異並不大, 因此在下一節嘗試加入新的機制。. 50.

(61) 問題 F1 F2 F3 F4 F5 F6 F7 F8 F9 DTLZ1 DTLZ2 UF4 UF5 UF6 UF7 UF9 UF10. 4.4.5. 表 14:各島嶼數量版本與 MOEA/D 之比較表 MOEA/D 2_R1 4_R1 0.00130 0.00058 () 0.00061 () 0.00330 0.01991 () 0.02396 () 0.01338 0.02990 () 0.04320 () 0.01687 0.02838 () 0.03477 () 0.01499 0.01665 () 0.03376 () 0.02851 0.01661 () 0.01674 () 0.00132 0.00084 () 0.00140 () 0.00512 0.06041 () 0.03705 () 0.00136 0.00055 () 0.00091 () 0.02256 0.01323 () 0.01391 () 0.02698 0.01505 () 0.01512 () 0.06898 0.06664 () 0.06664 () 0.44608 0.44386 () 0.45351 () 0.23398 0.25405 () 0.24381 () 0.00627 0.01067 () 0.01436 () 0.09824 0.09476 () 0.10796 () 0.47288 0.44605 () 0.42695 (). 8_R1 0.00074 () 0.03452 () 0.03671 () 0.03720 () 0.03347 () 0.01493 () 0.01827 () 0.08208 () 0.00130 () 0.01447 () 0.01359 () 0.06572 () 0.39613 () 0.14688 () 0.01420 () 0.08058 () 0.41619 (). 變化島嶼數量之實驗. 在前一節實驗中,島嶼式. MOEA/D 與 MOEA/D 在問題數量的優劣關係. 呈現打平,考慮到 MOEA/D 進行族群切割後子族群的邊緣解之鄰居就遭到切 斷,無法與另一端子族群邊緣解進行繁殖,因此加入變化島嶼數量的機制。表 15 為加入變化島嶼數量機制與前一節版本的相近島嶼數量之比較,C1 表示變化 島嶼數量的版本,R1 則是前一節的版本,粗體表示經過統計檢定驗證較佳之 數據,結果顯示加入變化島嶼機制後,少部分問題有些許變好。. 51.

(62) 表 15:變化島嶼數量版與一般版比較表 問題. 2_C1. 2_R1. 4_C1. 4_R1. 7_C1. 8_R1. F1. 0.00055. 0.00058. 0.00059. 0.00061. 0.00070. 0.00074. F2. 0.01795. 0.01991. 0.02408. 0.02396. 0.02727. 0.03452. F3. 0.03062. 0.02990. 0.04619. 0.04320. 0.03170. 0.03671. F4. 0.03369. 0.02838. 0.04255. 0.03477. 0.03621. 0.03720. F5. 0.02113. 0.01665. 0.02804. 0.03376. 0.03919. 0.03347. F6. 0.01680. 0.01661. 0.01685. 0.01674. 0.01512. 0.01493. F7. 0.00074. 0.00084. 0.00330. 0.00140. 0.01383. 0.01827. F8. 0.03118. 0.06041. 0.03752. 0.03705. 0.06041. 0.08208. F9. 0.00060. 0.00055. 0.00073. 0.00091. 0.00103. 0.00130. DTLZ1. 0.01349. 0.01323. 0.01421. 0.01391. 0.01419. 0.01447. DTLZ2. 0.01508. 0.01505. 0.01512. 0.01512. 0.01353. 0.01359. UF4. 0.06558. 0.06664. 0.06660. 0.06664. 0.06532. 0.06572. UF5. 0.49930. 0.44386. 0.43725. 0.45351. 0.41905. 0.39613. UF6. 0.21491. 0.25405. 0.16348. 0.24381. 0.14052. 0.14688. UF7. 0.00987. 0.01067. 0.01305. 0.01436. 0.01389. 0.01420. UF9. 0.09798. 0.09476. 0.09244. 0.10796. 0.07935. 0.08058. UF10. 0.43973. 0.44605. 0.43084. 0.42695. 0.44425. 0.41619. 表 16 為變化島嶼數量版本與 MOEA/D 的比較表,其問題優劣數量分別 為「86」、「67」、「76」,仍然與 MOEA/D 差異不大,可見此機制影響 力仍然不大,在下一節中將介紹島嶼式 MOEA/D 與 MOEA/D 關鍵的不同。. 52.

(63) 問題 F1 F2 F3 F4 F5 F6 F7 F8 F9 DTLZ1 DTLZ2 UF4 UF5 UF6 UF7 UF9 UF10. 4.4.6. 表 16:各變化島嶼數量版本與 MOEA/D 之比較表 MOEA/D 2_C1 4_C1 0.00130 0.00055 () 0.00059 () 0.00330 0.01795 () 0.02408 () 0.01338 0.03062 () 0.04619 () 0.01687 0.03369 () 0.04255 () 0.01499 0.02113 () 0.02804 () 0.02851 0.01680 () 0.01685 () 0.00132 0.00074 () 0.00330 () 0.00512 0.03118 () 0.03752 () 0.00136 0.00060 () 0.00073 () 0.02256 0.01349 () 0.01421 () 0.02698 0.01508 () 0.01512 () 0.06898 0.06558 () 0.06660 () 0.44608 0.49930 () 0.43725 () 0.23398 0.21491 () 0.16348 () 0.00627 0.00987 () 0.01305 () 0.09824 0.09798 () 0.09244 () 0.47288 0.43973 () 0.43084 (). 7_C1 0.00070 () 0.02727 () 0.03170 () 0.03621 () 0.03919 () 0.01512 () 0.01383 () 0.06041 () 0.00103 () 0.01419 () 0.01353 () 0.06532 () 0.41905 () 0.14052 () 0.01389 () 0.07935 () 0.44425 (). 變化分配島嶼之實驗. 在前面幾節的實驗中,總是無法明顯勝過 MOEA/D,因此回顧 MOEA/D 演算法,可察覺 MOEA/D 在決定交配池時,有一定機率選擇整個族群,但在 島嶼式 MOEA/D 只能限制在子族群的範圍內,無法與權重向量距離較遠的解 進 行 繁 殖 , 因 此 另 外 實 驗 全 部 採 用 鄰 居 當 作 交 配 池 的 MOEA/D ( 以 MOEA/D_N 表示),結果如表 17,明顯地 MOEA/D_N 缺乏與距離較遠之解 進行繁殖產生出不一樣的解,故難以跳出區域最佳解。. 53.

(64) 表 17:鄰居 MOEA/D MOEA/D_N 問題 F1 0.00142 F2 0.02257 F3 0.03877 F4 0.03373 F5 0.03703 F6 0.02840 F7 0.00428 F8 0.03241 F9 0.00143 DTLZ1 0.02293 DTLZ2 0.02699 UF4 0.07601 UF5 0.49869 UF6 0.26831 UF7 0.01193 UF9 0.07052 UF10 0.49251. 與 變化島嶼數量 MOEA/D 及 MOEA/D 之比較表 MOEA/D 2_C1 4_C1 7_C1 0.00130 () 0.00055 () 0.00059 () 0.00070 () 0.00330 () 0.01795 () 0.02408 () 0.02727 () 0.01338 () 0.03062 () 0.04619 () 0.03170 () 0.01687 () 0.03369 () 0.04255 () 0.03621 () 0.01499 () 0.02113 () 0.02804 () 0.03919 () 0.02851 () 0.01680 () 0.01685 () 0.01512 () 0.00132 () 0.00074 () 0.00330 () 0.01383 () 0.00512 () 0.03118 () 0.03752 () 0.06041 () 0.00136 () 0.00060 () 0.00073 () 0.00103 () 0.02256 () 0.01349 () 0.01421 () 0.01419 () 0.02698 () 0.01508 () 0.01512 () 0.01353 () 0.06898 () 0.06558 () 0.06660 () 0.06532 () 0.44608 () 0.49930 () 0.43725 () 0.41905 () 0.23398 () 0.21491 () 0.16348 () 0.14052 () 0.00627 () 0.00987 () 0.01305 () 0.01389 () 0.09824 () 0.09798 () 0.09244 () 0.07935 () 0.47288 () 0.43973 () 0.43084 () 0.44425 (). 表 18:變化分配島嶼式 MOEA/D 與變化島嶼數量 MOEA/D 比較表 問題. 2_GL_T1. 2_C1. 4_GL_T1. 4_C1. 7_GL_T1. 7_C1. F1. 0.00052. 0.00055. 0.00054. 0.00059. 0.00054. 0.00070. F2. 0.01053. 0.01795. 0.01361. 0.02408. 0.01448. 0.02727. F3. 0.02146. 0.03062. 0.02024. 0.04619. 0.03127. 0.03170. F4. 0.03583. 0.03369. 0.03621. 0.04255. 0.02660. 0.03621. F5. 0.01943. 0.02113. 0.02793. 0.02804. 0.02060. 0.03919. F6. 0.01672. 0.01680. 0.01691. 0.01685. 0.01496. 0.01512. F7. 0.00163. 0.00074. 0.00099. 0.00330. 0.00961. 0.01383. F8. 0.03414. 0.03118. 0.03250. 0.03752. 0.03568. 0.06041. F9. 0.00053. 0.00060. 0.00056. 0.00073. 0.00068. 0.00103. DTLZ1. 0.01380. 0.01349. 0.01365. 0.01421. 0.01318. 0.01419. DTLZ2. 0.01515. 0.01508. 0.01518. 0.01512. 0.01356. 0.01353. UF4. 0.06434. 0.06558. 0.06527. 0.06660. 0.06462. 0.06532. UF5. 0.45245. 0.49930. 0.46382. 0.43725. 0.47607. 0.41905. UF6. 0.23513. 0.21491. 0.26149. 0.16348. 0.17856. 0.14052. UF7. 0.00852. 0.00987. 0.01135. 0.01305. 0.01080. 0.01389. UF9. 0.11874. 0.09798. 0.08932. 0.09244. 0.06649. 0.07935. UF10. 0.43364. 0.43973. 0.43724. 0.43084. 0.43570. 0.44425. 54.

參考文獻

Outline

相關文件

並以較淺易的方式進行評估,為學生建立學習成就感。整體而言,大多數政治演變的課題,會以概覽式課題的方法處理,即教師

如圖,已知平面上不共線 A、B、D 三點,小明利用尺規作 圖找出另一點 C,使得四邊形 ABCD

如圖,已知平面上不共線 A、B、D 三點,小明利用尺規作 圖找出另一點 C,使得四邊形 ABCD

為上圖座標的意涵進行說明。橫軸是 D-R 原因度,縱軸是 D+R 中心度。當 D+R 越 大且 D-R

針對 WPAN 802.15.3 系統之適應性柵狀碼調變/解調,我們以此 DSP/FPGA 硬體實現與模擬測試平台進行效能模擬、以及硬體電路設計、實現與測試,其測 試平台如圖 5.1、圖

近年,教育改革強調多元化的㈻習模式和「促進㈻習的評估」 ,從而發

建議多協助學生進 行運用工具實作的 機會,亦可嘗試將 部分概念以圖像化 (如流程圖、太陽 圖等)的形式呈現

由於此,遂使觀音轉向女神趨近,性質為之一變,成為守護航海平 安之神而被祀奉於海中之島嶼。 10