代码以TSPLIB的berlin52为例进行求解,berlin52有52座城市,其坐标数据可从github上下载
算法设计步骤
- 解空间—-所有城市排列组合
- 目标函数—-城市路径总长度
- 新解产生—–随机二变换法+三变换法
- 目标函数差—–变换前与变换后函数值的差
- Metropolis接受准则
%time:2016/8/31
%author:zsou
%模拟退火算法求解tsp问题
clear;
clc;
[A,X,Y]=textread('berllin52.txt','%d%f%f',52,'headerlines',0);
%距离矩阵52*52(任意两个节点可达)
amount=52;