我有一个带有权重的完整图表(Adj。矩阵)。我已经建立了一个解决方案,用于使用分支和界限在该图中找到最小哈密顿电路(旅行商问题)。我现在停留在寻找具有给定开始和结束节点的最佳哈密顿路径。如果没有给定的起点和终点节点,最好的解决方案就是哈密顿电路 - 电路中最长的边缘。
除了简单的强制要求找到具有给定开始和结束节点的最佳哈密顿路径之外,我想不出解决方案。请提供一些指导,说明如何解决此问题。
答案 0 :(得分:1)
给定的起始节点和结束节点等效于终端节点和起始节点之间的有向边必须是TSP巡视的一部分的约束。
所以你可以简单地改变你的邻接矩阵:
这与您的实现使用的分支方法非常相似。
答案 1 :(得分:0)
将一个大常量添加到除了给定起始节点和结束节点之间的每个边的权重之外,应该将其设置为零。常量可以选择为N*maxweight
,其中N是顶点数,maxweight
是最大边权重。这可以保证给定的边沿将包含在电路中。