• 沒有找到結果。

演算法平行化後的優勢與缺陷

第四章 實驗與分析

4.6 平行化機制

4.6.4 演算法平行化後的優勢與缺陷

在使用了保留角的權重向量分配法後,各個子族群保持超平面形狀的能力有 所改善,進而提升了演算法的求解效能,但此機制卻有著明顯的缺陷。由於

NSGA-III 使用參考點牽引族群演化的機制,其族群大小通常都會設定的與參考 點個數差不多,若設定的過大,同一個參考點中需存活複數以上的個體時,這些 個體都會朝著參考點逼近,使得族群整體的分散度下降;若設定的太小,則有機 會不能維持良好的超平面形狀。在我們保留角的分配機制中,各個子族群需預先 保留等同角之權重向量個數的族群大小數,使得在經過此機制分配後的子族群大 小,其總和約莫為 N+3×m×(d-1),N 為未分割時所設定之族群大小,m 為問題 目標數,d 為族群切割數,由於我們在每個子族群中的每個方向上皆保留 3 個 權重向量來形成一個角,因此為 3×m×(d-1)。

以目標數 10 的問題為例,在我們的實驗設定中,未分割時的族群大小為

220,為了在每個子族群中保留角的權重向量,由於程式設定的緣故,我們將族 群大小皆設為偶數,因此子族群大小設定為 78 (參照 4.6.1),使得整體族群大 小成長到 312,所以在同樣的演化代數下,我們保留角的平行化版本需要更多的

68

評估個體次數 (evaluation number),此現象在演化式演算法的領域中是不公平的,

因此我們調降平行化版本的演化代數 (P-ICD_A-M+WS_70%+NB_T%_ffe),使得 其評估個體次數與 NSGA-III 的相近(在我們的遷徙機制中,需將遷徙的個體合

P-ICD_A-M+WS_70%+NB_10%_ffe P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_30%_ffe P-ICD_A-M+WS_70%+NB_40%_ffe

0.00422984 0.000814267 0.000719787 0.000799433

0.000841611 0.000172277 0.000125167 0.000176646

0.00553385 0.000488281 0.000714027 0.000709915

DTLZ1 5

P-ICD_A-M+WS_70%+NB_10%_ffe P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_30%_ffe P-ICD_A-M+WS_70%+NB_40%_ffe

0.00019545 0.000128509 0.000145608 0.000174673

9.55068e-005 6.90493e-005 9.70299e-005 0.000123213

9.17115e-005 6.70814e-005 3.99471e-005 4.02841e-005

DTLZ1 8

P-ICD_A-M+WS_70%+NB_10%_ffe P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_30%_ffe P-ICD_A-M+WS_70%+NB_40%_ffe

5.20254e-005 7.06281e-005 0.000103661 0.000133151

2.71973e-005 4.60992e-005 7.6641e-005 0.000110631

3.3044e-005 1.73686e-005

1.6952e-005 2.83417e-005

DTLZ1 10

P-ICD_A-M+WS_70%+NB_10%_ffe P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_30%_ffe P-ICD_A-M+WS_70%+NB_40%_ffe

6.46252e-005 3.87993e-005 5.30152e-005 8.40489e-005

1.75261e-005 1.10968e-005 1.11024e-005 1.67958e-005

4.00989e-005 2.39859e-005 5.19478e-005 6.73451e-005

DTLZ2 3

P-ICD_A-M+WS_70%+NB_10%_ffe P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_30%_ffe P-ICD_A-M+WS_70%+NB_40%_ffe

0.00189851 0.00130412 0.00195442 0.00261206

0.00111053 0.000776964 0.000602595 0.00070475

0.000498147 0.000328668 0.00139328

0.0014195

DTLZ2 5

P-ICD_A-M+WS_70%+NB_10%_ffe P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_30%_ffe P-ICD_A-M+WS_70%+NB_40%_ffe

0.00147508 0.00123882 0.00223839 0.00253496

0.000571962 0.000500637 0.000585195 0.000845713

0.00120705 0.00116872 0.00291595 0.00199293 DTLZ2 8 P-ICD_A-M+WS_70%+NB_10%_ffe

P-ICD_A-M+WS_70%+NB_20%_ffe

0.0070576 0.0080005

0.000108743 0.00311293

0.00448318 0.00354132

69

P-ICD_A-M+WS_70%+NB_30%_ffe P-ICD_A-M+WS_70%+NB_40%_ffe

0.00393428 0.00444128

0.000329338 0.000780674

0.0020759 0.00257927

DTLZ2 10

P-ICD_A-M+WS_70%+NB_10%_ffe P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_30%_ffe P-ICD_A-M+WS_70%+NB_40%_ffe

0.00258165 0.000341503 0.000416004 0.000674601

9.50844e-005 8.03752e-005 0.000109604 0.000157286

0.00202373 0.000676612 0.000847192 0.00102013

DTLZ3 3

P-ICD_A-M+WS_70%+NB_10%_ffe P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_30%_ffe P-ICD_A-M+WS_70%+NB_40%_ffe

0.00510659 0.00400452 0.00374132 0.00630677

0.00247066 0.000738733

0.0011775 0.000898556

0.00251398 0.00658327 0.0048351 0.0131333

DTLZ3 5

P-ICD_A-M+WS_70%+NB_10%_ffe P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_30%_ffe P-ICD_A-M+WS_70%+NB_40%_ffe

0.000257771 0.000190784 0.000255692 0.00039433

0.000147749 0.000124394 0.00016366 0.000183947

9.88416e-005 3.95157e-005 4.9152e-005 0.000343515

DTLZ3 8

P-ICD_A-M+WS_70%+NB_10%_ffe P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_30%_ffe P-ICD_A-M+WS_70%+NB_40%_ffe

0.00133836 0.00418946 0.00293804 0.00320809

4.91206e-005 0.000112703 0.000191493 0.000408536

0.00187039 0.00335164 0.00190934 0.00201253

DTLZ3 10

P-ICD_A-M+WS_70%+NB_10%_ffe P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_30%_ffe P-ICD_A-M+WS_70%+NB_40%_ffe

0.000960695 0.00038305 0.000140509 0.000480039

3.96408e-005 3.76193e-005 4.98134e-005 6.73148e-005

0.0012586 0.000656213 0.000183729 0.000839612

DTLZ4 3

P-ICD_A-M+WS_70%+NB_10%_ffe P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_30%_ffe P-ICD_A-M+WS_70%+NB_40%_ffe

0.0591412 0.0767602 0.101483 0.0556406

0.00131411 0.000827659

0.00107607 0.00109811

0.0480008 0.0773948 0.118099 0.0570104

DTLZ4 5

P-ICD_A-M+WS_70%+NB_10%_ffe P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_30%_ffe P-ICD_A-M+WS_70%+NB_40%_ffe

0.00535596 0.000607529

0.0247384 0.000523976

0.000349419 0.000129481 0.000209101 0.000234997

0.0178284 0.000920768

0.0838556 0.000511282

DTLZ4 8

P-ICD_A-M+WS_70%+NB_10%_ffe P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_30%_ffe P-ICD_A-M+WS_70%+NB_40%_ffe

6.95042e-005 8.41847e-005 0.000112228 0.000139449

5.27667e-005 6.37754e-005 8.36012e-005 8.61393e-005

1.18068e-005 1.59482e-005 1.69195e-005 2.77897e-005

表 33:NSGA-III 與調降演化代數搭配改進親代選擇機制平行化版本之統計檢定結果 (K=80)

NSGA-III 10%_ffe 20%_ffe 30%_ffe 40%_ffe

NSGA-III 7+5- 8+7- 6+7- 9+5-

70

NSGA-III 演算法中,劃分族群階層的非凌越排序 (non-dominated sorting) 之時間複雜度為 O(mN2),其中 N 為族群大小,m 為目標數;搜尋族群中極端 解以繪製超平面的時間複雜度為 O(Nm2);在將權重向量及個體投影至超平面上 後,需判斷各個個體屬於哪一個參考點的投影點集,其時間複雜度為 O(HNm),

H 為參考點個數;整體的時間複雜度為 O(mN

2),主要還是受制於非凌越排序。

因此當使用我們的平行化版本,將族群分割為子族群後,縱使各個子族群為依序 式執行,整體的執行時間應該還是會大幅下降才是。

表 34 為 NSGA-III 與子族群為依序式執行的搭配改進親代選擇之平行化 版本,測試各個問題各 20 次後的總執行時間,我們發現當評估個體次數相近時

(P-ICD_A-M+WS_70%+NB_20%_ffe),我們的平行化版本縱使各個子族群不為同 步執行,其程式的執行速度依舊較 NSGA-III 還快,其加速度為 2 倍以上。因 此我們嘗試將平行化版本的演化代數加長,直到其執行時間與 NSGA-III 相同為 止 (P-ICD_A-M+WS_70%+NB_20%_time),再來評判相同執行時間下,兩者的 求解效能差異,各個問題的演化代數設定請參照表 35。

表 34:NSGA-III 與兩種調整演化代數之平行化版本的各問題 20 run 執行時間(s) (K=80)

問題 目標數 演算法 執行時間

DTLZ1 3

NSGA-III

P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_20%_time

31.519 16.176 31.513

DTLZ1 5

NSGA-III

P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_20%_time

130.746 64.361 130.684

DTLZ1 8

NSGA-III

P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_20%_time

1541.79 598.999 1509.36

DTLZ1 10 NSGA-III

P-ICD_A-M+WS_70%+NB_20%_ffe

1603.89 774.633

71

P-ICD_A-M+WS_70%+NB_20%_time 1584.87

DTLZ2 3

NSGA-III

P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_20%_time

31.761 16.735 31.893

DTLZ2 5

NSGA-III

P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_20%_time

143.237 70.736 144.964

DTLZ2 8

NSGA-III

P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_20%_time

2428.67 933.862 2419.22

DTLZ2 10

NSGA-III

P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_20%_time

1484.85 723.005 1432.35

DTLZ3 3

NSGA-III

P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_20%_time

42.328 21.871 42.726

DTLZ3 5

NSGA-III

P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_20%_time

270.224 131.514 269.167

DTLZ3 8

NSGA-III

P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_20%_time

2828.09 1093.48 2739.09

DTLZ3 10

NSGA-III

P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_20%_time

1977.2 1028.99 1975.48

DTLZ4 3

NSGA-III

P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_20%_time

69.544 38.987 69.803

DTLZ4 5

NSGA-III

P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_20%_time

317.492 154.021 312.027

DTLZ4 8

NSGA-III

P-ICD_A-M+WS_70%+NB_20%_ffe P-ICD_A-M+WS_70%+NB_20%_time

3568.46 1196.97 3614.59

表 35:與 NSGA-III 執行時間相同之平行化版本各問題演化代數設定

DTLZ1 3 P-ICD_A-M+WS_70%+NB_20%_time 0.000226028 1.67069e-005 0.000345834 DTLZ1 5 P-ICD_A-M+WS_70%+NB_20%_time 2.77359e-005 1.05577e-005 2.291e-005 DTLZ1 8 P-ICD_A-M+WS_70%+NB_20%_time 3.34286e-005 5.79823e-006 3.13925e-005 DTLZ1 10 P-ICD_A-M+WS_70%+NB_20%_time 5.48942e-005 7.89437e-006 3.88618e-005 DTLZ2 3 P-ICD_A-M+WS_70%+NB_20%_time 0.000877617 0.000184629 0.00163851 DTLZ2 5 P-ICD_A-M+WS_70%+NB_20%_time 0.000192816 0.000131003 3.69796e-005 DTLZ2 8 P-ICD_A-M+WS_70%+NB_20%_time 0.00111385 3.78585e-005 0.00141951 DTLZ2 10 P-ICD_A-M+WS_70%+NB_20%_time 3.54679e-005 2.76069e-005 4.2778e-006 DTLZ3 3 P-ICD_A-M+WS_70%+NB_20%_time 0.00129127 0.000127778 0.00146292 DTLZ3 5 P-ICD_A-M+WS_70%+NB_20%_time 6.22059e-005 4.44175e-005 1.86767e-005 DTLZ3 8 P-ICD_A-M+WS_70%+NB_20%_time 0.000919766 6.75259e-005 0.000750041 DTLZ3 10 P-ICD_A-M+WS_70%+NB_20%_time 0.000491382 1.23484e-005 0.000353585 DTLZ4 3 P-ICD_A-M+WS_70%+NB_20%_time 0.0299581 0.000134213 0.0382388 DTLZ4 5 P-ICD_A-M+WS_70%+NB_20%_time 0.000359512 6.98471e-005 0.000421818 DTLZ4 8 P-ICD_A-M+WS_70%+NB_20%_time 6.3943e-005 2.4533e-005 7.89407e-005

72

表 36 為加長演化代數之平行化版本的 IGD 效能,除了演化代數以外的各 項參數設定與此節初的版本相同,表 37 為此版本與 NSGA-III 以及使用同樣親 代選擇機制但無平行化版本相比較的統計檢定結果,平行化版本與 NSGA-III 相 比,從原本同樣演化代數時的 9+2- 變為 11+1-,與 MS-WS_80%+NB_10% 相 比則從 0+9- 變為 5+6-,延長演化代數確實能夠增強演算法的求解能力。

表 37:NSGA-III 與加長演化代數搭配改進親代選擇機制平行化版本之統計檢定結果 (K=80)

NSGA-III MS-WS_80%+NB_10% P-M+MS_time

NSGA-III 0+12- 1+11-

MS-WS_80%+NB_10% 12+0- 6+5-

P-ICD_A-M+WS_70%+NB_20%_time 11+1- 5+6-

73