資源簡介
用枚舉法實現的旅行售貨員問題 NP問題 可以處理有向圖的矩陣

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
#define?n?12
using?namespace?std;
typedef?vector?VEC;
int?array[n+1];
int?remeber[n+1];
int?c[n][n];
int?minvalue(int?a[]int?ver)//將排列后的路線計算出相應的距離temp
{
int?temp=0;
int?x;
int?y;
for(int?i=0;i {
int?j;
j=i+1;
x=a[i]-1;
y=a[j]-1;
temp+=c[x][y];
}
return?temp;
}
int?main()?
{???
clock_t?startfinish;
start=clock();//開始計算時間
cout<<“開始計時“<
int?fvalue;
ifstream???Fin;
Fin.open(“tsp.txt“);
for?(int?i=0;i {
for(int?j=0;j {
?Fin>>fvalue;
?c[i][j]=fvalue;
}
}
//輸出圖的矩陣
cout<<“路線長度的矩陣表示如下0表示無限大“< ???????for(int?m=0;m cout< for(int?k=0;k cout<<“?“< }
}
cout< ????int?arr[n-1];
for(int?j=0;j {
arr[j]=j+2;
}
????VEC?ivec(arrarr+n-1);
VEC::iterator?h;
????sort(ivec.begin()ivec.end());
int?mvalue=1000;
?do
????{?
int?i=1;
array[0]=1;
array[n]=1;
for(h=ivec.begin();h!=ivec.end();h++i++)
{??
array[i]=*h;
}
????int?r;
????????r=minvalue(arrayn+1);
if(r {
mvalue=r;
for(int?k=0;k {
remeber[k]=array[k];
}
}
????}while(next_permutation(ivec.begin()ivec.end()));//用next_permutation函數實現所有城市之間的全排列,列舉出所有可能的路線
????cout<<“用窮舉法計算旅行售貨員的問題的最短路徑是“< for(int?l=0;l {
cout< }
cout< finish=clock();//結束計算時間
cout< ?
return?0;
}?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????577591??2011-05-10?23:25??MYTSP\Debug\MYTSP.exe
?????文件?????827708??2011-05-10?23:25??MYTSP\Debug\MYtsp.ilk
?????文件?????372509??2011-05-10?23:25??MYTSP\Debug\MYtsp.obj
?????文件????2909020??2011-05-10?21:11??MYTSP\Debug\MYtsp.pch
?????文件????1156096??2011-05-10?23:25??MYTSP\Debug\MYTSP.pdb
?????文件??????91136??2011-05-10?23:25??MYTSP\Debug\vc60.idb
?????文件?????135168??2011-05-10?23:25??MYTSP\Debug\vc60.pdb
?????文件???????1753??2011-05-10?23:28??MYTSP\MYtsp.cpp
?????文件???????3389??2011-05-10?13:28??MYTSP\MYtsp.dsp
?????文件????????516??2011-05-10?13:59??MYTSP\MYtsp.dsw
?????文件??????41984??2011-05-10?23:28??MYTSP\MYtsp.ncb
?????文件??????53760??2011-05-10?23:28??MYTSP\MYtsp.opt
?????文件????????747??2011-05-10?23:25??MYTSP\MYtsp.plg
?????文件????????128??2011-05-10?21:11??MYTSP\mytsp.txt
?????文件????????392??2011-05-10?21:18??MYTSP\tsp.txt
?????目錄??????????0??2011-05-10?23:25??MYTSP\Debug
?????目錄??????????0??2011-05-10?23:28??MYTSP
-----------?---------??----------?-----??----
??????????????6171897????????????????????17
- 上一篇:樓盤信息管理系統
- 下一篇:VC6.0 多國語言切換(DLL版本,包含DLL項目)
評論
共有 條評論