第 4 章 仿水流優化演算法求解系統及範例驗證
4.2 系統驗證分析
4.2.2 WFA4SP 演算成效分析
經分流方法比較後,本研究以WFA4SP 選用 LRI 分流移步法與典型 GA 進 行求解比較。WFA4SP 演算參數為初始質量 50、每股水流最大分支數 5、匯流相 似度0.8、蒸發率 0.1、總水流數上限 15、降水飽和度 0.9。參數設定經初步測試 此種組合較佳,總水流數上限不宜過高,以免匯流作業耗費過多時間。GA 的交 配法採用Greedy Subtour Crossover (GSX)及 Greedy Crossover (GX)兩種針對物件 排序優化問題特別設計的演化模式。使用的遺傳演算參數為機體數50、交配率 0.9,及突變率 0.05。求解時以 WFA4SP 及 GA 演化過程呼叫目標函式次數達設 定的上限為停止條件。
其中GX 法屬啟發式交配法,在進行交配時會參照 TSP 的距離成本矩陣,
使交配結果能確實收到改善成效,而GSX 法則無。一般而言,求解 TSP 時,有 參照距離成本矩陣的演算法收斂速度較快。因演化過程中會確實往較小的距離成 本搜尋,而使收斂效果較好。
表4-2 展示 WFA4SP 及 GA 在相同目標函式呼叫次數上限下的求解結果。圖 4-6 是使用 WFA4SP 的 LRI 分流移步法,和 GA 的 GSX 法和 GX 法求解結果比 較。圖4-7 是三者求解 att48 的目標函數收斂狀況的比較。
表4-2. WFA4SP 及 GA 在相同目標函式呼叫次數下的求解結果 best route length
oliver30 GA/GSX 451.249 23.994 6.209 228860 300000 00:07.7 (424.869) GA/GX 433.730 4.043 2.086 142300 300000 00:11.5 WFA/LRI 424.869 0.000 0.000 91016 300007 00:41.3 att48 GA/GSX 13066.600 2288.697 22.945 424335 500000 00:17.5 (10628) GA/GX 11141.000 150.974 4.827 263000 500000 00:32.9 WFA/LRI 10801.700 108.175 1.634 404843 500006 02:39.3 eil51 GA/GSX 467.750 12.800 8.783 474170 500000 00:18.8 (429.983) GA/GX 441.974 4.178 2.789 300995 500000 00:35.5 WFA/LRI 437.514 6.216 1.751 319586 500006 03:03.8 berlin52 GA/GSX 9630.601 1214.505 27.653 460065 600000 00:22.2 (7544.366) GA/GX 7822.641 179.959 3.689 348355 600000 00:44.1 WFA/LRI 7939.425 325.311 5.236 354041 600008 03:38.4 rat99 GA/GSX 1447.342 45.163 19.516 965760 1000000 01:16.2 (1211) GA/GX 1345.736 38.216 11.126 778625 1000000 03:15.4 WFA/LRI 1315.104 31.138 8.597 931878 1000007 19:48.6 kroA100 GA/GSX 26060.961 2284.442 22.436 903285 1000000 01:17.3 (21285.44) GA/GX 23801.746 604.894 11.822 679060 1000000 03:25.4 WFA/LRI 22895.703 374.968 7.565 866265 1000007 20:14.7 a280 GA/GSX 3787.505 127.577 46.418 2976805 3000000 19:05.5 (2586.77) GA/GX 3850.712 150.151 48.862 2498335 3000000 1:15:05.6 WFA/LRI 3624.971 126.290 40.135 2983878 3000005 7:10:06.3
圖4-6. WFA4SP 和 GA 在相同目標函式呼叫次數下的求解結果比較
圖4-7. WFA4SP 和 GA 求解 att48 的收斂狀況
由表4-2 及圖 4-6 可知,在相同目標函式呼叫次數下,WFA4SP 明顯優於 GSX 法。而和 GX 法比較,除 berlin52 外都是 WFA4SP 勝出。但 WFA4SP 的演 算步驟較GA 繁複,求解所需時間較 GSX 法和 GX 法為長。雖然求解所花費的 時間與程式實作的效能優劣有很大關連,且在迭代演化的啟發式演算法尤其顯著,
為求比較的公允性,再使用相同求解時間為停止條件比較三者的求解效能。結果
0.0 5.0 10.0 15.0 20.0 25.0 30.0 35.0 40.0 45.0 50.0
oliver30 att48 eil51 berlin52 rat99 kroA100 a280
Benchmark s
Error Percentage GA/GSX GA/GX W FA4SP/LRI
10000 15000 20000 25000 30000 35000 40000 45000 50000
0 50000 100000 150000 200000 250000 300000 350000 400000 450000 500000 Route Length
Function Calls WFA4SP/LRI GA/GSX GA/GX
如表4-3 和圖 4-8 所示。圖 4-9 以 att48 為例,展示 WFA4SP 和 GA 求解的收斂 best route length
oliver30 GA/GSX 429.924 5.086 1.190 1161755 3953895 01:00.0 (424.869) GA/GX 428.150 2.506 0.772 1127965 2126850 01:00.0 WFA/LRI 426.650 5.630 0.419 66444 435100 01:00.0 att48 GA/GSX 11113.900 122.693 4.572 5423105 9496345 04:00.0 (10628) GA/GX 10747.100 78.818 1.121 2244505 4285885 04:00.0 WFA/LRI 10813.400 86.879 1.744 468073 752920 04:00.0 eil51 GA/GSX 450.734 11.340 4.826 10202290 13419705 06:00.0 (429.983) GA/GX 431.622 1.800 0.381 3056195 5589720 06:00.0 WFA/LRI 440.482 4.455 2.442 631768 999931 06:00.0 berlin52 GA/GSX 8129.031 184.773 7.750 4248645 13170265 06:00.0 (7544.366) GA/GX 7546.739 2.503 0.031 3227610 5463955 06:00.0 WFA/LRI 7797.022 239.221 3.349 391575 976430 06:00.0 rat99 GA/GSX 1349.895 27.182 11.469 6565885 17646335 20:00.0 (1211) GA/GX 1278.993 21.463 5.615 4159720 6374400 20:00.0 WFA/LRI 1326.858 31.463 9.567 913920 1004379 20:00.0 kroA100 GA/GSX 22998.512 788.200 8.048 13020330 26321845 30:00.0 (21285.44) GA/GX 22719.948 494.920 6.739 2645505 4066830 30:00.0 WFA/LRI 22260.656 444.075 4.582 1225228 1472473 30:00.0 a280 GA/GSX 2943.696 52.496 13.798 46001455 64906395 07:00:00.0 (2586.77) GA/GX 3428.205 100.337 32.528 9285615 20157835 07:00:00.0 WFA/LRI 3570.921 122.952 38.046 2891865 2930572 07:00:00.0
圖4-8. WFA4SP 及 GA 在相同求解時間下的求解結果
圖4-9. WFA4SP 和 GA 求解 att48 以求解時間為基的收斂狀況
由表4-3 和圖 4-8 來看,雖然 WFA4SP 在大型問題上的成效不如 GA,但所 使用的目標函數求解次數較GA 少,因此找到較佳解的機率較小。為探究 WFA4SP 耗時的原因,分別計算各作業流程所耗的時間,列於表4-4。
0.0 5.0 10.0 15.0 20.0 25.0 30.0 35.0 40.0
oliver30 att48 eil51 berlin52 rat99 kroA100 a280
Benchmark s
Error Percentage GA/GSX GA/GX W FA4SP/LRI
10000 15000 20000 25000 30000 35000 40000 45000 50000
0 0.5 1 1.5 2 2.5 3 3.5 4
Route Length
Computation Time (minute) WFA4SP/LRI GA/GSX GA/GX
表4-4. WFA4SP 各作業流程所耗時間
Computation Time (m:s) Percentage (%)
Total Splitting Merge Evaporation Precipitation Splitting Merge Evaporation Precipitation oliver30 00:41.3 00:01.9 00:39.2 00:00.0 00:00.1 4.57% 94.95% 0.10% 0.17%
att48 02:39.3 00:05.3 02:33.7 00:00.1 00:00.1 3.33% 96.47% 0.04% 0.07%
eil51 03:03.8 00:05.8 02:57.6 00:00.1 00:00.1 3.18% 96.64% 0.03% 0.08%
berlin52 03:38.4 00:06.9 03:31.2 00:00.1 00:00.2 3.14% 96.69% 0.03% 0.07%
rat99 19:48.6 00:22.7 19:25.1 00:00.1 00:00.3 1.91% 98.02% 0.01% 0.03%
kroA100 20:14.7 00:23.2 19:50.8 00:00.1 00:00.3 1.91% 98.03% 0.01% 0.03%
a280 7:10:06.3 03:26.5 7:05:48.2 00:00.2 0:00:00.4 0.80% 98.94% 0.00% 0.00%
由表4-4 可看出,WFA4SP 的求解時間大部份都耗在匯流作業上。再深究其 因,推測是匯流時計算相似度會使求解時間增長。統計計算相似度所耗的時間如 表4-5。
表4-5. 匯流作業耗時分析
Merge Computation Time
Similarity Computation
Time Percentage
oliver30 00:39.2 00:38.7 98.56%
att48 02:33.7 02:32.7 99.34%
eil51 02:57.6 02:56.5 99.36%
berlin52 03:31.2 03:29.9 99.36%
rat99 19:25.1 19:21.8 99.72%
kroA100 19:50.8 19:47.7 99.74%
a280 7:05:48.2 7:05:04.8 99.83%
由表4-5 可看出,匯流作業流程中計算兩序列的相似度會佔用大部份的時間。
因計算相似度需分別計算正向循環序列和反轉的循環數列,因此時間複雜度會隨 維度呈二次成長,亦即複雜度為
O ( ) q
2 。所以在求解大維度問題時,WFA4SP 的 求解時間會大幅增加,使得在同樣求解時間內呼叫目標函數求解次數較少,導致 嘗試的解搜尋個數太少,因此較不易求得較佳解。由於計算序列相似度的目的是區別兩解序列是否需合併,因此只需判斷兩序 列的相似度是否大於設定的合併相似度底限β 。換言之,若兩序列的不相似度大 於
1 −
β 則不需合併。所以兩序列E和 S 進行循環比對時,需比對S和S的反轉序列R個別的循環路徑集合 Sˆ 和 Rˆ ,而其中
Sˆ 或
kRˆ 與
k E比對時,只要不相同的座 best route lengtholiver30 Original 424.869 0.000 0.000 91016 300007 00:41.3 (424.869) Improved 424.869 0.000 0.000 99235 300004 00:19.7 att48 Original 10801.700 108.175 1.634 404843 500006 02:39.3 (10628) Improved 10889.500 145.276 2.460 298741 500004 01:10.8 eil51 Original 437.514 6.216 1.751 319586 500006 03:03.8 (429.983) Improved 443.929 5.251 3.243 343709 500007 01:19.3 berlin52 Original 7939.425 325.311 5.236 354041 600008 03:38.4 (7544.366) Improved 7925.156 174.369 5.047 303501 600008 01:37.7 rat99 Original 1315.104 31.138 8.597 931878 1000007 19:48.6 (1211) Improved 1328.678 27.638 9.717 873797 1000007 07:53.8 kroA100 Original 22895.703 374.968 7.565 866265 1000007 20:14.7 (21285.44) Improved 22566.228 469.902 6.017 909217 1000005 08:01.2 a280 Original 3624.971 126.290 40.135 2983878 3000005 7:10:06.3 (2586.77) Improved 3397.736 153.247 31.351 2975954 3000009 2:36:23.2
E
表4-7. 改進後的相似比對法和原計算法所耗時間比較
Benchmark Similarity Computation Improvement Percentage (%) of Improved over Original Original Improved
oliver30 00:39.2 00:16.4 58.304%
att48 02:33.7 01:00.0 60.983%
eil51 02:57.6 01:07.7 61.876%
berlin52 03:31.2 01:23.7 60.363%
rat99 19:25.1 07:07.6 63.297%
kroA100 19:50.8 07:13.4 63.607%
a280 7:05:48.2 2:26:36.8 65.568%
由表4-6 和表 4-7 可看出,改進後的相似度計算法不影響原本的求解品質,
並且可有降低求解時間。但求解時間仍較GA 為長。
4.3 小結
本章展示本研究所開發的WFA4SP 排序優化問題求解系統,並以此系統測 試TSPLIB 的標竿問題,驗證本研究所提出的三種分流移步模式。分析結果顯示,
LRI 模式求解 TSP 的效能最好。再以 LRI 模式,與 GA 以 GSX 法和 GX 法兩種 交配法共同測試七個標竿問題,以目標函數呼叫次數與共同求解時間為兩種停止 條件分別求解。在共同目標式呼叫次數下,WFA4SP 的 LRI 模式得到的結果皆 較GA 的兩種交配法優秀。但因 WFA4SP 的搜尋方法較為繁複,因此在共同求 解時間下演化的次數較少。原因在於WFA4SP 的匯流作業流程中,須反覆比對 序列的相似度,因此所耗時間會隨問題大小以平方增加。經改進後,求解時間可 大幅減少。