一、摘要
TSP问题是指给定平面上N个点及每点的坐标,求一条路径,遍历所有的点并回到起点,使这条路径长度最小。TSP问题是一个组合优化问题。该问题可以被证明具有NPC计算复杂性。因此,任何能使该问题的求解得以简化的方法,都将受到高度的评价和关注。
遗传算法是人工智能方法的一种,用于求解各种传统方法不方便求解或耗时很长的问题。下面给出遗传算法求解TSP问题的步骤。在传统遗传算法求解TSP的基础上,提出了一种新的编码方式,并且讨论了一种优化方法的可行性。
本次实验的程序首先在matlab上验证了基本的算法,然而由于matlab运行较慢,故又移植到C++平台上,经过测试,实验结果良好。
二、算法实现
遗传算法的实现主要包括编码、选择、交叉、编译、将个体放入新种群这么几个步骤,经过很多代的编译求解,以逼近最优解。下面讨论每一个步骤的实现,其中编码方式是我在考虑了传统编码方式不利于计算的缺点下,重新设计的一种全新的编码方式。
编码
在传统TSP问题中,编码可以直接采用二进制编码或自然编码的形式,比如直接把城市转化成(2,5,4,1,3,6)的形式,表示从2到5到4到1到

本文介绍如何利用遗传算法解决旅行商问题(TSP),提出了一种新的编码方式以避免传统编码导致的冲突,并详细阐述了算法实现过程,包括编码、选择、交叉和变异等步骤。实验结果显示,优化的遗传算法在解决20个城市TSP问题时表现出更好的性能。程序在matlab和C++平台上均得到了验证。
最低0.47元/天 解锁文章
2056

被折叠的 条评论
为什么被折叠?



