源代码阅读之模拟退火算法(基于蒙特卡洛的模拟退火算法)(对核心代码进行详细注释)
阅读代码源自: https://www.cnblogs.com/ranjiewen/p/6084052.html 已对核心代码进行详细注释(这段代码真的超级棒,是针对旅行商问题的模拟退火算法(基于蒙特卡洛算法)求解) #include <iostream>//哈密顿路(所有点都走一次) #include <string.h> #include <stdlib.h>//取随机数时用到 #include <algorithm>//包含swap函数 (个人觉得可以去除,然后编一个交换函数,hhh) #include <stdio.h> #include <time.h>//取随机值时需要使用 #include <math.h>//exp()函数 #define N 30 //城市数量 #define T 3000 //初始温度 #define EPS 1e-8 //终止温度 #define DELTA 0.98 //温度衰减率 #define LIMIT 1000 //概率选择上限 #define OLOOP 20 //外循环次数 #define ILOOP 100 //内循环次数 using namespace std; //定义路线结构体 struct Path { int citys[N]; double len; }; //定义城市点坐标 struct Point {