• 沒有找到結果。

第四章、 實驗

4.1 參數設定

在此節中實驗對不同 UCB 常數、是否使用 RAVE、prior knowledge、

TT、子樹修剪的效率,因為參數的數量較大,先固定使用子樹修剪來進行 4.1-1 的實驗:UCB 常數與 RAVE, 4.1-2 節以 4.1-1 實驗中效率最好的參 數設定,實驗 prior knowledge 與 TT 對於演算法效率的影響,4.1-3 節再依 前兩個子節中最好的參數設定來實驗子樹修剪的重要性。

4.1-1 UCB 常數與 RAVE

以基準問題 Kacem 15x10 [14]為標準進行此實驗,在[4]中作者蒐集了 多篇論文找到的非凌越解集合,其中 15x10 的非凌越解集合有兩組,分別 為(11, 91, 11)與(11, 93, 10),稱為𝐴𝐴∗𝑃𝑃𝑠𝑠𝑠𝑠𝑏𝑏𝑏𝑏𝑃𝑃。

圖 26. 使用 RAVE,不同的 UCB 常數與模擬次數的結果比較

圖 27. 不使用 RAVE,不同的 UCB 常數與模擬次數的結果比較

圖 26 是使用 RAVE,不同的 UCB 常數與模擬次數𝑁𝑁𝑏𝑏𝑠𝑠𝑠𝑠的實驗結果、

圖 27 是不使用 RAVE 的實驗結果,其中前項數字為平均每次演算法得到

的𝐴𝐴𝑃𝑃𝑠𝑠𝑠𝑠𝑏𝑏𝑏𝑏𝑃𝑃有幾組屬於𝐴𝐴𝑃𝑃𝑠𝑠𝑠𝑠𝑏𝑏𝑏𝑏𝑃𝑃∗ ,後項數字為𝐴𝐴𝑃𝑃𝑠𝑠𝑠𝑠𝑏𝑏𝑏𝑏𝑃𝑃∗ 中有幾組非凌越解。

每組設定都跑 50 次取平均值,由上圖可知,使用 RAVE 並且 UCB 常 數設為 0 的時候,不論𝑁𝑁𝑏𝑏𝑠𝑠𝑠𝑠的多寡,平均找到解的數量都較其他參數設定 多(效率較佳),而找到解的數量會隨著𝑁𝑁𝑏𝑏𝑠𝑠𝑠𝑠的增加而變多。𝑁𝑁𝑏𝑏𝑠𝑠𝑠𝑠達到 80000 次時,對於基準問題 15x10,接近每次都可以找到全部的非凌越解(1.86 組)。

以下實驗皆設定使用 RAVE、UCB 常數為 0。

4.1-2 使用 Prior Knowledge、TT 與否

在本子節實驗中固定使用子樹修剪、RAVE、UCB 常數為 0,比較使 用 Prior knowledge、TT 與否的四種組合在 Kacem 等人提出的五個基準問 題[14]:4x5、10x7、8x8、10x10、15x10 的效率比較。

圖 28. 不同演算法對於五個基準問題所找到的非凌越解[4]

圖 29. 𝑁𝑁𝑏𝑏𝑠𝑠𝑠𝑠=30000 時,兩種變異組合的比較

圖 30. 𝑁𝑁𝑏𝑏𝑠𝑠𝑠𝑠=5000 時,兩種變異組合的比較

圖 28 為這五個基準問題目前找到的非凌越解、圖 29、圖 30 分別為

𝑁𝑁𝑏𝑏𝑠𝑠𝑠𝑠設為 30000 與 5000 的平均結果,表示方式如 4.1-1 節,前項數字為平

均每次演算法得到的𝐴𝐴𝑃𝑃𝑠𝑠𝑠𝑠𝑏𝑏𝑏𝑏𝑃𝑃有幾組屬於𝐴𝐴𝑃𝑃𝑠𝑠𝑠𝑠𝑏𝑏𝑏𝑏𝑃𝑃∗ ,後項數字為𝐴𝐴𝑃𝑃𝑠𝑠𝑠𝑠𝑏𝑏𝑏𝑏𝑃𝑃∗ 中有幾 組非凌越解。在較小的基準問題(4x5、10x7、8x8、10x10)中差別較不明顯,

而在 15x10 問題中,可以看到𝑁𝑁𝑏𝑏𝑠𝑠𝑠𝑠 = 30000時,只用 TT 與 TT+prior knowledge 的效率是差不多的,但在𝑁𝑁𝑏𝑏𝑠𝑠𝑠𝑠較小的狀況下,就顯現出 prior knowledge 對效率的影響力,因為 prior knowledge 重複利用了模擬與區域 搜索得到的結果,在模擬次數較少的狀況下,選點會更準確。

圖 31. 不同模擬次數的效能比較(Kacem 4x5)

圖 32. 不同模擬次數的效能比較(Kacem 8x8)

圖 33. 不同模擬次數的效能比較(Kacem 10x10)

圖 34. 不同模擬次數的效能比較(Kacem 15x10)

圖 31、圖 32、圖 33、圖 34 分別是針對 Kacem 等人提出的 4x5、8x8、

10x10、15x10 基準問題,TT 與 prior knowledge 的四種組合在不同模擬次 數下的平均結果,橫軸為模擬次數,縱軸為𝐴𝐴𝑃𝑃𝑠𝑠𝑠𝑠𝑏𝑏𝑏𝑏𝑃𝑃在𝐴𝐴𝑃𝑃𝑠𝑠𝑠𝑠𝑏𝑏𝑏𝑏𝑃𝑃∗ 中的比例。在 較小的基準問題中,TT 的效能較差,但在較大的基準問題如 15x10,有無 prior knowledge 與 TT 就會對效能有極大的影響。

4.1-3 使用子樹修剪與否

在本子節實驗中固定使用 RAVE、prior knowledge、TT、UCB 常數為 0,比較是否使用子樹修剪對演算法的效率影響。

圖 35. 𝑁𝑁𝑏𝑏𝑠𝑠𝑠𝑠= 30000 時,子樹修剪在五個基準問題的比較

圖 36. 𝑁𝑁𝑏𝑏𝑠𝑠𝑠𝑠= 5000 時,子樹修剪在五個基準問題的比較

圖 37. 𝑁𝑁𝑏𝑏𝑠𝑠𝑠𝑠= 2000 時,子樹修剪在五個基準問題的比較

圖 35、圖 36、圖 37 分別為𝑁𝑁𝑏𝑏𝑠𝑠𝑠𝑠等於 30000、5000、2000 的實驗結 果比較,其中 PRUNING是使用子樹修剪的結果、NONE是不使用子樹修剪 的結果,表示方式如 4.1-1 節,前項數字為平均每次演算法得到的𝐴𝐴𝑃𝑃𝑠𝑠𝑠𝑠𝑏𝑏𝑏𝑏𝑃𝑃有

幾組屬於𝐴𝐴𝑃𝑃𝑠𝑠𝑠𝑠𝑏𝑏𝑏𝑏𝑃𝑃∗ ,後項數字為𝐴𝐴𝑃𝑃𝑠𝑠𝑠𝑠𝑏𝑏𝑏𝑏𝑃𝑃∗ 中有幾組非凌越解。可以發現不論模 擬次數的多寡,子樹修剪都可以稍微增進演算法的效率。

相關文件