資源描述:
《模擬退火算法解決TSP問題-代碼.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、模擬退火算法解決TSP問題一、算法說明:模擬退火算法求解TSP問題的流程框圖如圖所示二、結(jié)果分析藍(lán)色字表示輸出結(jié)果運行時間表示算法復(fù)雜度1)數(shù)據(jù)集一:模式城市數(shù)量為5時輸入模式城市數(shù)量5為了方便查看,數(shù)據(jù)和結(jié)果保存在文件中<<<<鄰接矩陣保存在文件模擬退火算法-隨機產(chǎn)生數(shù)據(jù).txt中<<<<訪問順序保存在文件模擬退火算法-結(jié)果數(shù)據(jù).txt中模擬節(jié)點個數(shù)5運行時間:10ms鄰接矩陣0157208110594936575909082204990075813682750訪問節(jié)點順序352412)數(shù)據(jù)集二:模式城市數(shù)量為10時輸入模式城市數(shù)量10為了方便查看,數(shù)
2、據(jù)和結(jié)果保存在文件中<<<<鄰接矩陣保存在文件模擬退火算法-隨機產(chǎn)生數(shù)據(jù).txt中<<<<訪問順序保存在文件模擬退火算法-結(jié)果數(shù)據(jù).txt中模擬節(jié)點個數(shù)10運行時間:15ms鄰接矩陣015720815949369082107518867152312105775037161799451312018370238545861618186162017674636759711738170617980524952995467610318873363145584679310969390213613680889605482101617527393540訪問節(jié)點順序176
3、108294533)數(shù)據(jù)集三:模式城市數(shù)量為20時輸入模式城市數(shù)量20為了方便查看,數(shù)據(jù)和結(jié)果保存在文件中<<<<鄰接矩陣保存在文件模擬退火算法-隨機產(chǎn)生數(shù)據(jù).txt中<<<<訪問順序保存在文件模擬退火算法-結(jié)果數(shù)據(jù).txt中模擬節(jié)點個數(shù)20運行時間:17ms鄰接矩陣01572081594936908275188671523121037161017994513123854586161176746367617957170805231887396935415472486227885100100209980062402730843381068729228285
4、9698145526208473492175474695751260397461585913314084037162343805299753518665077049188277337051169515917031438976916883627330491651082592019824816517341295790389684212316820697672481337844526743825493375439559690119592553548388532467558543847801520761102898307457207684401861151046
5、5291197295280518949958654208661476895997082489298510846366218413127117247757531481355308984075329429341552678621235431637357446375074847160753146229260188518448579966327402615172367828396697734382058219484260818522107852874506941528576684297115810125637611005961716296732845413346
6、0185120216791006958708857434640201215757225620訪問節(jié)點順序1912206175181521339101684141117代碼:#include#include#include#include#include#include#include#include#include#defineMAX10000#defineINF#defineE0.//迭代誤差#d
7、efineL20000//迭代次數(shù)#defineAT0.999//降溫系數(shù)#defineT1//初始溫度usingnamespacestd;structelement{//用來排序的數(shù)據(jù)結(jié)構(gòu)intdata;//數(shù)據(jù)intindex;//序號};inttsp(intd[][MAX],intn,doublee,intl,doubleat,doublet,ints0[]);//利用模擬退火算法求解最短路徑intcmp(constvoid*a,constvoid*b);//升序排列voidrand_of_n(inta[],intn);//產(chǎn)生1-n的隨機排列并存
8、到a[]中intrandom(intm,intn);intdis[MAX][MA