模拟退火算法

969 阅读1分钟

用模拟退火算法解决TSP问题

问题描述

TSP(traveling salesman problem, 旅行商问题)可描述为:已知n个城市互相之间的距离,某一旅行商从某个城市出发访问每个城市一次且仅一次,最后回到出发城市,如何安排使其所走路线最短。

算法

  • 步骤一:初始化参数。初始温度T、结束温度Tend、降温速率q以及链长L

  • 步骤二:随机生成初始解。

  • 步骤三:计算每个温度下的迭代次数。

  • 步骤四:由解产生L个新解,通过Metropolis准则判断是否接受新解。Metropolis准则如下:( df是路径差)

  • 步骤五:记录该温度下的最优解,然后降温,回到步骤三,直到达到结束温度。

遗传算法和模拟退火算法结合

用遗传算法代替模拟退火算法中每个温度下生成新解的部分。具体流程如下: