原模擬退火算法解決TSP問(wèn)題c++源程序

原模擬退火算法解決TSP問(wèn)題c++源程序

ID:40723743

大?。?5.00 KB

頁(yè)數(shù):6頁(yè)

時(shí)間:2019-08-06

原模擬退火算法解決TSP問(wèn)題c++源程序_第1頁(yè)
原模擬退火算法解決TSP問(wèn)題c++源程序_第2頁(yè)
原模擬退火算法解決TSP問(wèn)題c++源程序_第3頁(yè)
原模擬退火算法解決TSP問(wèn)題c++源程序_第4頁(yè)
原模擬退火算法解決TSP問(wèn)題c++源程序_第5頁(yè)
資源描述:

《原模擬退火算法解決TSP問(wèn)題c++源程序》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、模擬退火算法解決TSP問(wèn)題源程序(C++)/*********************************************************************模擬退火算法解決TSP問(wèn)題*********************************************************************//*********************************************************************輸入格式(城市坐標(biāo).in):第行:1個(gè)整數(shù)N,表示城市的數(shù)量第..N+1行:每行有個(gè)

2、空格分開(kāi)的整數(shù)x,y,第i+1行的x,y表示城市i的坐標(biāo)***********************************************************************/#include#include#includeusingnamespacestd;constintMAXN=501;//最大城市數(shù)constdoubleINIT_T=2000;//初始溫度constdoubleRATE=0.95;//溫度衰減率constdoubleFINAL_T=1E-10;//終止溫度constin

3、tIN_LOOP=13000;//內(nèi)層循環(huán)次數(shù)constintOUT_LOOP=2000;//外層循環(huán)次數(shù)constintP_LIMIT=10000;//概率選擇次數(shù)structpath{//定義路徑結(jié)構(gòu)類(lèi)型intCity[MAXN];//依次遍歷的城市的序號(hào)doubleLength;//所有城市的路徑總長(zhǎng)度};intN;//城市數(shù)量doubleD[MAXN][MAXN];//任意兩個(gè)城市之間的距離pathbestpath;//最優(yōu)的遍歷路徑inlinedoubledist(intx1,inty1,intx2,inty2)//計(jì)算兩點(diǎn)之間的距離{returnsqrt

4、(double((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)));}inlinedoubletotaldist(pathp)//計(jì)算遍歷路徑P的總長(zhǎng)度{inti;doublecost=0;for(i=1;i

5、果輸出.out","w",stdout);scanf("%d",&N);for(i=1;i<=N;i++)scanf("%d%d",&C[i][0],&C[i][1]);for(i=1;i

6、gned)time(NULL));}/************************************************************產(chǎn)生新路徑方法*************************************************************/pathgetnext(pathp)//新解產(chǎn)生函數(shù){intx,y;pathret;ret=p;do{x=rand()%N+1;y=rand()%N+1;}while(x==y);swap(ret.City[x],ret.City[y]);//交換兩城市之間位置順序ret.L

7、ength=totaldist(ret);returnret;}/****************************************************************退火和降溫過(guò)程******************************************************************/voidsa(){doubleT;//溫度pathnewpath,curpath;//當(dāng)前路徑和新路徑inti,P_t=0,A_t=0;doubledelta;T=INIT_T;//賦值初始溫度curpath=bestpath

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。