




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一種適用于求解旅行商問題的新型算法性能分析_蟻群算法 論文導讀::本文將重點討論該算法在求解中小規模旅行商問題時的性能。本文給出的二點組合算法就是一種環路改造算法。與經典的蟻群算法相比相比。 關鍵詞:旅行商問題,二點組合算法,蟻群算法 1 引言 解旅行商問題(TravelingSalesman Problem,TSP)是一個著名的NP-Hard問題,由于該問題的實際模型在路徑、網絡、分配等優化問題中有著廣泛的應用,故長期以來吸引著許多領域的研究人員采用各種方法對它進行求解1-2。它可以簡單描述為:給出一
2、條遍歷給定的若干個城市中所有城市的最短路徑3。目前,研究TSP問題主要采用啟發式算法,環路改進算法就是一類典型的啟發式算法,即通過比較目標解和局部最優解的優劣而逐步改變解4-5。 本文給出的二點組合算法就是一種環路改造算法,其步驟是選取一條合法漢密爾頓環路,作為目標解,任取兩個頂點刪除與之相關的邊,形成2至4個環路片斷,對這些環路片斷進行排列組合,嘗試尋找更優的解替換目標解6。重復上述步驟,直到選定環路任意兩點蟻群算法,目標解都無法進一步優化。與經典的蟻群算法相比相比,時間復雜度相等,但計算效率和計算誤差性能皆優于后者7-8。本文將重點討論該算法在求解中小規模旅行商問題時的性能,從而說明新算法
3、的實用性。 2 二點組合算法性能分析 本節將以實際測試結果從多個不同側面分析二點組合算法的時間復雜度、計算效率、計算誤差等性能,測試全部采用隨機起始環路進行計算,以保證試驗性能不受初始環路的影響免費論文網。 2.1 實測數據的要求和環境 (1) 測試環境:聯想開天4600 (CUP P4 1.7G,內存 256M)安裝Window XP 2002操作系統。 (2) 測試內容:利用TSP-LIB中的數據實例,采用EUC_2D地圖格式,結點范圍為50-500,地圖數量為40。 (3) 測試方法: 對40組不同地圖,運行二點組合算法1000次(部分運行10000次),保留最好結果,稱為最小解。距陣值
4、為四舍五入求整。 (4) 誤差計算方法:所有地圖均提供通過證明的最佳解。 誤差=(最小解-最佳解)/最佳解 2.2 計算精度分析 使用二點組合算法,對30組規模不同的TSP問題求解結果,最小解為計算1000次的結果,最優解目前已證明的最優解,計算時間的單位為毫秒,計算結果如表1所示。 結點數量與誤差之間的關系如圖1所示。根據圖1可知,結點數量和誤差不存在嚴格的正比關系。 如地圖TS225,擁有頂點225個,計算誤差為0%,而地圖EIL101擁有頂點101個,誤差卻為1.6%。但是從整體趨勢來看,頂點數量越大,獲得誤差也可能越大。 表1 二點組合算法結果表 &
5、#160; No. 地圖名 結點 最小解 最優解 誤差
6、160; 耗時(ms) 1 EIL51 51 427
7、160; 426 0.23% 2640 2 BERLIN52
8、0;52 7542 7542 0.00% 3046 3 &
9、#160; ST70 70 675 675 0.00% 4969
10、0; 4 PR76 76 108159 108159
11、160; 0.00% 6594 5 EIL76 76
12、160; 540 538 0.37% 5562 6 RD100
13、0; 100 7944 7910 0.43% 11141 &
14、#160; 7 KROE100 100 22079 22068 0.05%
15、0; 11141 8 KROD100 100 21439
16、 21294 0.68% 11000 9 KROC100
17、 100 20749 20749 0.00% 11281 &
18、#160; 10 KROB100 100 22199 22141 0.26%
19、60; 10843 11 KROA100 100 21282
20、0; 21282 0.00% 11531 12 EIL101 101&
21、#160; 639 629 1.59% 10203 13
22、 LIN105 105 14379 14379 0.00% 13640&
23、#160; 14 PR107 107 44303 44303
24、0; 0.00% 13812 15 PR124 124 &
25、#160; 59030 59030 0.00% 20671 16
26、160;BIER127 127 118822 118282 0.46% 19375
27、 17 CH130 130 6199 6110
28、; 1.46% 19453 18 PR136 136 98178
29、60; 96772 1.45% 21578 19 PR144
30、0; 144 58537 58537 0.00% 30000
31、; 20 CH150 150 6592 6528 0.98%
32、; 26188 21 PR152 152 73840
33、160; 73682 0.21% 32750 22 U159
34、0;159 42080 42080 0.00% 33250 23
35、160; D198 198 15862 15780 0.52%
36、0;54922 24 KROB200 200 30300 29437
37、 2.93% 48750 25 KROA200 200 &
38、#160; 29924 29368 1.89% 50078 26
39、160; TS225 225 126643 126643 0.00% 67843
40、160; 27 TSP225 225 4018 3916
41、 2.60% 64625 28 PR226 226
42、60;80571 80369 0.25% 78234 29 GIL262
43、0; 262 2433 2378 2.31% 90375 &
44、#160; 30 PR264 264 49696 49135 1.14%
45、; 105140 結點數量-誤差統計結果如表2所示。由表 2明確看出,隨著頂點數量的增加蟻群算法,二點組合算法的誤差將會有小幅度增加。頂點數在1-100范圍內,平均誤差為千分之一;頂點數在100-200范圍內,平均誤差為1%,頂點數在200-300范圍內,平均誤差為1.7%,所以可以得到結論:二點組合算法在平面地圖頂點300以下,計算1000次就可以得到較好結果。 圖1 結點數量-誤差 表2 結點數量-誤差
46、; 按頂點數分段 測試樣本數 平均誤差 1-100 11
47、; 0.18% 101-200 16 0.95% 201-300 &
48、#160; 7 1.73% 301-400 2 3.33%
49、; 400-500 4 2.89% 合計 40
50、0; 1.19% 2.3 時間復雜度分析 根據表2繪制圖2,由此圖可以看出,隨著地圖頂點數的增加,消耗的時間也在增加。圖中柱型圖為消耗時間,曲線為頂點平方輔助線,由圖可知,程序消耗時間隨頂點增長速度比頂點平方輔助線增長速度略快一些。說明,單次運行二點組合算法的時間復雜度大于免費論文網。 算法的時間復雜度證明: 根據二點組合算法的描述,可以知道,該算法在計算過程中,實際上就是給定一條隨機漢密爾頓環路,不停修改其頂點連接次序,直至滿足取任意兩點都無法進行新的組合,得到更小解。 分析:(1) N點任取兩點,根據排列組合公式,需要N
51、×(N-1)次,所以時間復雜度為; (2) 同地圖假設有兩條不同“漢密爾頓環路”,以按頂點交換進行相互轉化,至多需要調整多少次?即使各個頂點的位置均不同,也僅需要N次。 結合上述分析和實驗結果,估算“二點組合算法”的“時間復雜度”略大于。 圖2 結點數量-誤差 2.4 樣本和誤差關系 取地圖TS255蟻群算法,將1000次計算結果,當作樣本繪制圖3進行分析。 圖3 樣本-誤差 由圖3可以看出,任意種子值得到的誤差在0%-13%之間,同時可以看出任意種子值和計算誤差無必然聯系,也就是說使用二點組合算法進行運算,僅運算一次就求出最優解的可能性不大,運算次數越多,可能獲得最優解的概率越大。
52、同時也證明二點組合算法,因對解限制了嚴格的條件,所以求得解的誤差本身就是在一定范圍的。 繼續以TS255做分析,取各階段誤差在1000次計算中命中次數繪制圖4,同時取各階段誤差在10000次計算中命中次數繪制圖5,分析兩圖可以得之,二點組合算法每次運算可能得到的誤差分布并不是均勻的,而是呈現出正態分布的趨勢,說明隨著數據規模的增加,其最優解的求難難度也增大。 圖4 樣本數量-誤差 圖5 大樣本數量-誤差 3 算法性能比較 3.1 與蟻群算法的比較 由于在經典算法中,對中小規模的計算,蟻群算法的精度和效率較高,所以對二點組合算法和蟻群算法進行了誤差、時間同機比較。測試結果如表3所示。 蟻群算法中
53、參數:螞蟻數10,計算代數1000。 經過比較可以看出,二點組合算法的平均誤差僅有0.76%,而蟻群算法的平均誤差為21.95%,計算速度同比提高8倍。所有地圖中二點組合算法的結果都比蟻群算法消耗時間短,精度高。 表3 二點組合算法與蟻群算法 地圖名 最優解 二點組合算法
54、60; 蟻群算法 最小解 誤差 耗時 最小解
55、 誤差 耗時 BERLIN52 7542 7542 0.00%
56、0; 3046 8078 7.11% 33156 PR76
57、; 108159 108159 0.00% 6594 121696 12
58、.52% 60328 RD100 7910 7944 0.43%
59、160; 11141 9339 18.07% 97813 EIL101
60、; 629 639 1.59% 10203 790 25.60%
61、0; 101797 CH130 6110 6199 1.46%
62、60; 19453 7476 22.36% 153719 CH150
63、 6528 6592 0.98% 26188 7584 16.18%
64、160; 203531 U159 42080 42080 0.00%
65、 33250 51119 21.48% 227483 D198
66、60; 15780 15862 0.52% 54922 19539 23.82%
67、160; 323766 TS225 126643 126643 0.00%
68、60; 67843 164338 29.76% 436812 TSP225
69、60; 3916 4018 2.60% 64625 5584 42.59%
70、; 450823 平均誤差 0.76% 21.95%
71、; 3.2 最優解對比分析 最優解:經過證明的圖中具有最小長度的漢密爾頓環路。以KROC100為例,最優解為20749。 利用二點組合算法計算20次蟻群算法,最小解21152,誤差為1.94%。 (1:21152,2:21788,3:22139,4:21790,5:22213,6:21428,7:21757,8:21906,9:22424,10:21912,11:21470,12:21758,13:23599,14:21436,15:21886,16:
72、22676,17:21917,18:21677,19:22399,20:22231) 將這20次的解,全部繪制一張網格,如圖6所示,可以發現雖然最優解20次沒有計算出來,但是最優解的所有邊均在這張網格中免費論文網。 圖6網格圖 繼續對網格分析,發現網格每條邊被重新繪制的次數不同,最多被繪制了20次,表示在20次二點組合算法中,每個解均含有該邊。可以發現明顯的規律,被繪制的次數越多,代表是最優解的概率越大,本例中,被繪制超過17次以上邊有65條,全部是最優解,占最優解的65%。詳細情況請看表4。 根據圖6可以分析出,該例中,僅需要計算20次,就可以將最優解邊固定在221條邊的范圍內,甚至可以直接
73、確定一半的最優解所包含的邊。為進一步改進算法奠定了基礎。(100個頂點的無向圖,總包含邊數為4950條,每個解含100條邊) 表4 最優解概率 繪制次數 邊數 最優解邊數 概率
74、0; 20 34 34 100.00% 19
75、; 13 13 100.00% 18 10 &
76、#160; 10 100.00% 17 5 5 100.00%
77、0; 16 7 6 85.71% 15
78、160; 4 4 100.00% 14 1 &
79、#160; 1 100.00% 13 5 4
80、80.00% 12 9 7 77.78% &
81、#160; 11 5 3 60.00% 10 3
82、0; 2 66.67% 9 4 1
83、; 25.00% 8 5 1 20.00% 7 4 1 25.00%
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年普通高等學校招生全國統一考試數學模擬試題(五)(含答案)
- 鐵路旅客運輸服務鐵路客運列車服務工作課件
- 投資房購房合同
- 鐵路超限超重貨物運輸電報鐵路超限超重貨物確認電報的識讀
- 提速道岔轉轍機調整信號工程施工課件
- 瀝青防水改色施工方案
- 中國書法文化課件
- 中華傳統文化課件教學
- 餐飲投資合同
- 東南大學基礎工程課件
- 2025屆上海市浦東新區高三二模英語試卷(含答案)
- 【MOOC】航空燃氣渦輪發動機結構設計-北京航空航天大學 中國大學慕課MOOC答案
- 公文易錯“白”字例析
- 征信查詢委托書(共4篇)
- 新蘇教版六年級下冊科學綜合測試卷(單元+期中+期末)
- 國開經濟學(本)1-14章練習試題及答案
- 個人財產申報表
- golf高爾夫介紹課件
- 中國古代文學史(二)正式課件
- 物業管理服務品質檢查表
- 動火安全作業票填寫模板2022年更新
評論
0/150
提交評論