旅行商问题(Traveling Salesman Problem,TSP)是一个经典的组合优化问题,它需要找到一条最短路径,使得一名旅行商能够访问一系列城市并回到起始城市,同时经过每个城市恰好一次。由于TSP是一个NP困难问题,寻找最优解的时间复杂度会随着城市数量的增加而指数增长。在解决TSP的过程中,模拟退火算法是一种常用的启发式算法,它能够在合理的时间内找到近似最优解。
模拟退火算法受到固体物质退火过程的启发,通过模拟原子在退火过程中的行为来搜索问题的解空间。算法的基本思想是从一个随机生成的解开始,在搜索过程中接受一定概率的劣解,并逐步降低这个概率,以便在解空间中跳出局部最优解并逼近全局最优解。
下面是使用MATLAB实现模拟退火算法解决旅行商问题的示例代码:
% 城市坐标
cities = [0 0; 1