数学建模模拟退化算法TSP
模拟退火的计算过程分为
- 对于模型求解最小值或者最大值,首先得建立一个函数关系式,然后在定义域范围内随机生成一个初始解x0
- 在初始解附近生成另外一个解x_new,并保证新解也要在定义域内部
- 确定什么情况下新解可以替代旧解
- 重复上述过程N次,得到最优解
单元TSP问题描述
一个旅行商必须访问n个城市,这个城市是个完全图,旅行商需要恰好访问所有城市一次,并且回到最终的城市,城市与城市之间有一个旅行费用,旅行商希望总费用最小
基本概念 无向图:任意两个顶点构成的偶对是无序的 完全图:任意两个顶点之间都有方向互为相反的两条弧边相连接 图的表示:邻接矩阵adjacency matrix 邻接表adjacency list
下面利用算法计算来自数据共享网站的TSP求解过程,可视化显示未作出来
The Traveling Salesman Problemwww.math.uwaterloo.ca/tsp/index.html
1 |
|
- 第一步,生成随机解
1 |
|
- 由于路径距离的计算之后多次用到,于是可以另写成一个tsp_result.m的文件,用来专门计算距离
1 |
|
- 第二步,生成新解
1 |
|
- 旅行商问题生成新解的方式和之前求解函数问题不一样,因为TSP的解可以看作是39个点的顺序,因此可以用“交换法”或者“移位法”或者“倒置法”,在实际计算过程中可以综合三种方法
1 |
|
- 第三步,确定是否交换
1 |
|
- 第四步,输出结果
1 |
|
添加图片注释,不超过 140 字(可选)
新建一个figure画出散点图可能效果会好一点
数学建模模拟退化算法TSP
https://blog.tjdata.site/posts/b9de85a7.html