第四章 實驗與分析
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%_ffe0.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-