• 大小: 5.35MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-17
  • 语言: C/C++
  • 标签: 蚁群算法  TSP  代码  C++  

资源简介

C++利用蚁群算法,求解TSP问题。含代码,可用VC2010打开。

资源截图

代码片段和文件信息

//#include“ComHeadFile.h“
#include“Graph.h“

Graph::Graph()
{
vexnum=arcnum=0;

for(int i=0;i for(int j=0;j arcs[i][j].value=0;

for(int i=0;i visited[i]=0;
}

int Graph::FindNum(string c)         //根据名字找到节点编号
{
int num;
for(num=0;num {
if(c==vex[num])
break;
}

if(num else return -1;
}

void Graph::CreatGraph()
{
int xy;                      //临时坐标
ifstream inFile(“graph.txt“);
string c;
vexnum=0;
arcnum=0;
if(inFile.fail()) {cout<<“Fail to open file“<
inFile.seekg(0Lios::beg);
getline(inFilec);
if(c==“DG“) kind=DG;
else if(c==“AG“) kind=AG;
else if(c==“DN“) kind=DN;
else if(c==“AN“) kind=AN;
inFile>>vexnum;
inFile>>arcnum;

for(int i=0;i {
inFile>>x;
inFile>>y;
if(kind==DG||kind==AG) arcs[x][y].value=1;
else  inFile>>arcs[x][y].value;
if (kind==DG||kind==DN) 
{
arcs[y][x].value=arcs[x][y].value;
arcs[x][y].Pass=arcs[y][x].Pass=0;
arcs[x][y].Element=arcs[y][x].Element=ORGINAL_ELEMENT;
}
}

inFile.get();
for(int i=0;i {
getline(inFilec);
vex[i]=c;

}

inFile.close();
}

void Graph::PrintGraph()
{
cout<<“Graph Kind:“< cout<<“Vex Num“< cout<<“Arc Num“<
for(int i=0;i {
for(int j=0;j {
cout< }
cout< }

for(int i=0;i {
cout<<“No “< }
}

void Graph::InsertVex(string c)               //插入节点
{

}
void Graph::DeleteVex(int v)               //删除结点
{
 
}

//void Graph::InsertArc(int vint wint i=1)     //增加弧v->w 无向则同时增加w->v 无权则权值为1 
//void Graph::DeleteArc(int vint w)

void Graph::DFSTraverse(int v)
{
stack dfs;
dfs.push(v);

while(dfs.size())
{
int tmp=dfs.top();
if(!visited[tmp])
{
visit(thistmp);
visited[tmp]=1;
}
dfs.pop();
for(int i=vexnum-1;i>=0;i--)
{
if(arcs[tmp][i].value)
if(!visited[i])
{
dfs.push(i);

}
}
}
    for(int i=0;i visited[i]=0;


}

void Graph::BFSTraverse(int v)
{
queue bfs;
bfs.push(v);
visited[v]=1;
while(bfs.size())
{
int tmp=bfs.front();
visit(thistmp);

bfs.pop();
for(int i=0;i {
if(arcs[tmp][i].value)
if(!visited[i])
{
bfs.push(i);
visited[i]=1;
}
}
}
    for(int i=0;i visited[i]=0;

}

void Graph::ShortestPath_DIJ(int v/*int *pathint *distance*/)
{

int pathNow=v;                   //现在走到哪里去了==
bool *done=new bool[vexnum];                            //标记是否找到
int *path=new int[vexnum];
int *distance=new int[vexnum];

for(int i=0;i {
path[i]=v;
done[i]=0;
distance[i]=(arcs[v][i].value==0)?INT_MAX:arcs[v][i].value;
}

distance[v]=0;
done[v

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-06-13 22:54  TSP\
     目录           0  2013-06-13 22:54  TSP\ALL_tsp\
     文件        1296  2013-06-04 18:16  TSP\ALL_tsp\a280.opt.tour
     文件         589  1995-04-27 23:09  TSP\ALL_tsp\a280.opt.tour.gz
     文件        1331  1995-04-27 23:08  TSP\ALL_tsp\a280.tsp.gz
     文件        9548  1994-04-28 18:43  TSP\ALL_tsp\ali535.tsp
     文件        4202  1995-04-27 23:08  TSP\ALL_tsp\ali535.tsp.gz
     文件         211  1995-04-27 23:09  TSP\ALL_tsp\att48.opt.tour.gz
     文件         480  1995-04-27 23:08  TSP\ALL_tsp\att48.tsp.gz
     文件        3617  1995-04-27 23:08  TSP\ALL_tsp\att532.tsp.gz
     文件         181  1995-04-27 23:09  TSP\ALL_tsp\bayg29.opt.tour.gz
     文件        1196  1995-04-27 23:08  TSP\ALL_tsp\bayg29.tsp.gz
     文件         179  1995-04-27 23:09  TSP\ALL_tsp\bays29.opt.tour.gz
     文件        1941  1995-04-27 23:08  TSP\ALL_tsp\bays29.tsp.gz
     文件         192  1995-04-27 23:09  TSP\ALL_tsp\berlin52.opt.tour.gz
     文件         472  1995-04-27 23:08  TSP\ALL_tsp\berlin52.tsp.gz
     文件         991  1995-04-27 23:08  TSP\ALL_tsp\bier127.tsp.gz
     文件        3947  1995-04-27 23:08  TSP\ALL_tsp\brazil58.tsp.gz
     文件       92153  1995-04-27 23:08  TSP\ALL_tsp\brd14051.tsp.gz
     文件         403  1995-04-27 23:09  TSP\ALL_tsp\brg180.opt.tour.gz
     文件        4443  1995-04-27 23:08  TSP\ALL_tsp\brg180.tsp.gz
     文件         307  1995-04-27 23:08  TSP\ALL_tsp\burma14.tsp.gz
     文件         325  1995-04-27 23:09  TSP\ALL_tsp\ch130.opt.tour.gz
     文件        2475  1995-04-27 23:08  TSP\ALL_tsp\ch130.tsp.gz
     文件         366  1995-04-27 23:09  TSP\ALL_tsp\ch150.opt.tour.gz
     文件        2847  1995-04-27 23:08  TSP\ALL_tsp\ch150.tsp.gz
     文件        5705  1995-04-27 23:08  TSP\ALL_tsp\d1291.tsp.gz
     文件      110191  1995-06-20 21:34  TSP\ALL_tsp\d15112.tsp.gz
     文件        7922  1995-04-27 23:08  TSP\ALL_tsp\d1655.tsp.gz
     文件      122371  1995-04-27 23:09  TSP\ALL_tsp\d18512.tsp.gz
     文件        1215  1995-04-27 23:09  TSP\ALL_tsp\d198.tsp.gz
............此处省略174个文件信息

评论

共有 条评论