实现可视化tsp遍历城市问题(用ege实现可视化)

本文介绍了使用模拟退火算法解决旅行商问题(TSP),通过可视化展示算法过程。虽然TSP无法通过贪心策略解决,但模拟退火能以较高概率找到接近全局最优解的路径。代码细节展示了算法迭代过程,将其比喻为定向购买彩票,以较低复杂度获得较好结果。
摘要由CSDN通过智能技术生成

在这里插入图片描述
在这里插入图片描述
这个题目我用的模拟退火实现的,我们来观察这道题,这道题目显然是用贪心不行的,它没有多项式级别的解答,复杂度是:
在这里插入图片描述
模拟退火的核心是允许否定掉当前的最优解而选出并不是最优解的答案并且继续迭代,施瓦辛格说过要想攀登到另一座山,必须要从当前的山上下来,(放弃当前最优解,从而寻找可能的更优解)当然了,也有可能当前的山(山其实就是局部最优解)也有可能是全局最优解。
在这里插入图片描述

看一看代码的详细细节:

#define SHOW_CONSOLE
#include<bits/stdc++.h>
#include<graphics.h>
#define MAX_CITY_NUM 34
#define T0 2000
#define T 1e-5//温度最低截至到这个温度
#define ALPHA 0.98//每次的迭代参数
#define L 20000//初始温度
#define Pi 3.141592653589793238462643383
#define R 6371.004
using namespace std ;
int citys[50];
int ge_count;
map<string,int>ma={
   {
   "北京",0}, {
   "天津",1}, {
   "上海",2},{
   "重庆",3},{
   "石家庄",4},
{
   "太原",5},{
   "西安",6}, {
   "济南",7},{
   "郑州",8},{
   "沈阳",9},{
   "长春",10},
{
   "哈尔滨",11}, {
   "南京",12},{
   "杭州",13},{
   "合肥",14},{
   "南昌",15},{
   "福州",16},
{
   "武汉",17}, {
   "长沙",18},{
   "成都",19},{
   "贵阳",20},{
   "昆明",21},{
   "广州",22},
{
   "海口",23}, {
   "兰州",24},{
   "西宁",25},{
   "台北",26},{
   "呼和浩特",27},{
   "乌鲁木齐",28},
{
   "拉萨",29}, {
   "南宁",30},{
   "银川",31},{
   "香港",32},{
   "澳门",33}};
char ss[50][50]={
   "北京","天津","上海","重庆","石家庄","太原","西安","济南","郑州","沈阳","长春","哈尔滨","南京","杭州","合肥","南昌","福州","武汉","长沙","成都","贵阳","昆明","广州","海口","兰州","西宁","台北","呼和浩特","乌鲁木齐","拉萨","南宁","银川","香港","澳门"};
map<double ,string>ma2;
typedef pair<double,double>pii;
typedef pair<int,int>pii2; 
map<double ,pii>pos;//实际坐标
map<int,pii2>pos2;//图上的相对坐标
using namespace std;
typedef struct path{
   
	int route[MAX_CITY_NUM];
	double dis=0;
}path;
//path里边有当前迭代过程的最有路径和最优距离
double w[MAX_CITY_NUM][MAX_CITY_NUM];
int num;
double s = 0;
path p0;
void Init_pos()//初始化距离
{
   
	pos[0]={
   3639,1315};
	pos[1]={
   3712,1399};
	pos[2]={
   4177,2244};
	pos[3]={
   2769,2492
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值