问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

TSP--旅行家问题

发布网友 发布时间:2023-03-31 00:58

我来回答

1个回答

热心网友 时间:2023-11-07 10:58

假设旅行家要旅行n个城市,要求每个城市经历且只经历一次然后回到出发城市,并要求所走的路程最短

假设有矩阵C,储存的数据是两个顶点之间的距离,TSP问题采用贪心策略:从任意的城市出发,每次在没有到过的城市中选择最近的一个,直到经过了所有的城市,最后回到出发城市。

#include<bits/stdc++.h>

using namespace std;

//TSP问题 --假设旅行家要旅行n个城市,要求每个城市经历且只经历一次然后回到出发城市,并要求所走的路程最短

const int n=5;

const int MAX=10000;

int TSP(int arc[n][n],int w)// arc[n][n]是一个矩阵,表示两个点之间的距离 ,w是起始顶点的下标

{

int edgeNum=0,TSPLength=0;//边的数量 最小路径的值

/*

min用来保存矩阵中每一行数据的最小值

u用来保存每一行矩阵

v用来保存每一列矩阵

*/

int min,u,v;

int flag[n]={0};      //未加入最短路径的顶点,初始值都为1

u=w;//u的初始值为w

flag[w]=1;//w加入最短路径

while (edgeNum<n-1)            //边数=顶点数-1

{

min=100;      //每次循环都让min=100

  for(int j=0;j<n;j++)  //求当前行的最小值 即arc[u]的最小值

  {

if((flag[j]==0)&&(arc[u][j]!=0)&&arc[u][j]<min) {        //未加入最小路径  arc[u][j]!=0

v=j; //v是最小值所在的列

min=arc[u][j]; //min是最小值

}

  }

  TSPLength+=arc[u][v];//计算最小路径

  flag[v]=1;//加入的顶点标记为1

  edgeNum++;

  cout<<u<<"-->"<<v<<endl;//输出经过的路径

  u=v;//下一次从顶点v出发

}

cout<<v<<"-->"<<w;//回到起点

return (TSPLength+arc[u][w]);

}

int main()

{

int arc[n][n]={

{MAX,3,3,2,6},

{3,MAX,7,3,2},

{3,7,MAX,2,5},

{2,3,2,MAX,3},

{6,2,5,3,MAX},

};

int length=TSP(arc,0) ;

cout<<endl<<length;

return 0;

}

此问题用贪心求的结果不是最优解,而是局部最优解,因为本题的最短路径是13,路线是1->2->5->4->3->1
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
14岁每天做多少蹲起和提踵不影响长高 每天晚上提踵来练弹跳会影响长高吗? 提踵和练肌肉会不会长不高? 提踵(抬脚跟)训练会影响长个吗 求高人指点 提踵 会不会影响身高的增长? 我现在15岁 提踵有利于长高吗 提踵影响长高吗 win10可不可以玩盗版的中2,帝战,拿战 沧州蓝海光伏设备有限公司怎么样? 为什麽女巫要骑扫帚不骑板凳。。。 汽车服务行业包括哪些方面? 上海:灵活就业人员如何办退休手续? 福州马尾银河湾装修怎么样 在上海办退休的条件 福州马尾区的房子可以买吗? 如何在上海办理退休 马尾尚郡房好? 形容&quot;秋天的荷花&quot;的词语有哪些? 有没有可以自动识别手机号或者QQ号是否绑定的软件? 企业所得税应纳税所得额如何确定? 冬虫夏草水泡过虫身应该有弹性吗 吃鸡炫酷准星怎么设置免费下载安装手机版 FCA贸易术语下出口商的风险与防范 渤海信用卡黑户能过吗 渤海银行信用卡没有秒过是不是就拒了? 渤海银行南京分行放款审核好不好 铁观音是越新越好吗?麻烦告诉我 应用化工专升本考高数几 福建专升本理工2跨理工1是考高等数学吗 _专升本高数一和高数二有什么区别吗? Norco自行车多少钱 猛古士自行车是哪三个字? norco自行车怎么样,山地车质量如何防滑吗 norco自行车杀人蜂价格? 天热了,想去游泳馆里游泳,这个需要提前准备保险吗 海边游泳淹死保险公司怎么赔??专业人士进 下列不属于极短期人身意外伤害保险的是A旅游保险B住宿旅客人身意外伤害保险c游泳池人身意外伤害保险 在游泳馆摔伤可否要求赔偿 高职怎么样 LED电子拼接屏怎么日常清洁? 高帧速摄像头工艺要求 电脑摄像头太高怎么办 剐蹭事故处理流程是什么 GT 740M超频后频率上不去甚至比默频还低 请问神舟k570N笔记本显卡gt 740M 64位宽的显卡怎么样?专业术语听不懂。我想知道玩游戏行 处理器 英特尔 第三代酷睿 i5-3230M @ 2.60GHz 双核 显卡NVIDIA GeForce GT 740M ( 2 GB &#47; 华硕 ) 常宁市湘水水务公司何时接管水松供水有限责任公司 松山湖的自来水的水源在哪里 水龙头是紧开水还是松水 松原市怎么才能24小时供水