用MATLAB语言编写tsp问题程序并仿真求解遍历34座城市最短路径。
1模拟退火首先从某个初始候选解开始,当温度大于0时执行循环。
2.在循环中通过随机扰动产生一个新的解,然后求得新解和原解之间的能量差,如果差小于0,则采用新解作为当前解。
3.如果差大于0,则采用一个当前温度与能量差成比例的概率来选择是否接受新解。温度越低,接受的概率越小,差值越大,同样接受概率越小。是否接受的概率用此公式计算:p=exp(-ΔE/T)。这里ΔE为新解与原解的差,T为当前的温度。由于温度随迭代次数逐渐降低,因此获得一个较差的解的概率较小。
1