5

这是一个项目,我被要求为旅行商优化问题以及哈密顿路径或循环决策问题实施启发式算法。我不需要实施本身的帮助,但对我的前进方向有疑问。

我已经有一个基于遗传算法的 TSP 启发式算法:它假设一个完整的图,从一组随机解作为总体,并努力改进几代人的总体。我也可以用它来解决哈密顿路径或循环问题吗?而不是优化以获得最短路径,我只想检查是否有路径。

现在任何完整的图都将有一条哈密顿路径,因此 TSP 启发式必须扩展到任何图。如果两个城市之间没有路径,这可以通过将边设置为某个无穷大值来完成,并返回第一条有效的哈密顿路径。

这是处理它的正确方法吗?或者我应该对哈密顿路径使用不同的启发式方法?我主要关心的是它是否是一种可行的方法,因为我可以肯定 TSP 优化是有效的(因为你从解决方案开始并改进它们),但如果哈密顿路径决定器会在固定代数中找到任何路径,则不是。

我认为最好的方法是自己测试它,但我受到时间的限制,并认为在沿着这条路线走之前我会问......(我可以为哈密顿路径找到不同的启发式)

4

2 回答 2

8

不知道你有没有得到这个答案。简单的技巧是添加一个与所有其他点的距离为零的虚拟点。解决 TSP 并摆脱虚拟点 - 剩下的是哈密顿路径。简单的 !

于 2010-01-28T16:04:58.277 回答
4

两者都是 NP 完全问题,因此根据定义,您可以转换输入并使用相同的算法;-)

但基本的想法应该有效。当然,您可能需要更改新路径的生成和成功标准。

编辑:顺便说一句:有一个随机算法的建议: http ://en.wikipedia.org/wiki/Hamiltonian_path_problem

于 2009-06-04T15:52:32.473 回答