【发布时间】:2013-08-13 18:06:30
【问题描述】:
我正在研究进化优化,我需要这个项目 旅行商问题的启发式方法。在这种情况下, 遗传算法,我们应用小的突变并希望在某个地方 在路上,事情会变得更好。所以,我正在寻找简单的启发式 用于转换可能导致改进的解决方案。
感谢您的任何建议
【问题讨论】:
标签: genetic-algorithm heuristics traveling-salesman evolutionary-algorithm
我正在研究进化优化,我需要这个项目 旅行商问题的启发式方法。在这种情况下, 遗传算法,我们应用小的突变并希望在某个地方 在路上,事情会变得更好。所以,我正在寻找简单的启发式 用于转换可能导致改进的解决方案。
感谢您的任何建议
【问题讨论】:
标签: genetic-algorithm heuristics traveling-salesman evolutionary-algorithm
我认为您正在寻找游览改进启发式算法,我可以建议您使用 Lin-Kernighan 算法。但是这个算法对你来说可能太难了。因此,您可以研究2-opt 或 3-opt 算法。
【讨论】:
我想推荐的一个参考是R's TSP package。 (即使您不使用 R,也要调查它。) Their vignette on TSP 非常棒,并且有很多基于动态编程的技巧,您可以尝试改进您的 GA 实现。
第 2.4 节 小插曲特别谈到了您可以合并的 Tour construction heuristics。引用自:
最近邻算法:遵循一个非常简单的贪心程序:该算法从包含随机 选择的城市,然后总是添加到游览中的最后一个城市 最近的尚未访问的城市。当所有城市都结束时,算法停止 在巡演中。
这个算法的一个扩展是重复它,每个城市作为 出发点,然后返回找到的最佳游览。这个启发式是 称为重复最近邻。
插入算法。从包含任意城市的游览开始,然后在每个步骤中选择尚未在游览中的城市。这 city 被插入到两个连续城市之间的现有游览中 i 和 j,这样插入成本(即,在 游览的长度)被最小化。当所有城市都结束时,算法停止 在巡演中。
最近插入在每一步中都会选择城市k作为最接近游览城市的城市。
最远的插入在每一步中都会选择城市 k 作为距离游览中任何城市最远的城市。
最便宜的插入在每一步中都会选择城市 k,以使插入新城市的成本最小。
您可以在vignette 中找到更多详细信息和其他技术。
【讨论】: