繁体   English   中英

在完整的无向加权图中找到哈密顿路径 vs 哈密顿回路

[英]Finding Hamiltonian path vs Hamiltonian circuit in a complete undirected weighted graph

我有一个带有权重的完整图(调整矩阵)。 我已经建立了一个解决方案,用于使用分支定界在此图中找到最小汉密尔顿回路(旅行商问题)。 我现在一直在寻找具有给定起点和终点节点的最佳汉密尔顿路径。 如果没有给定的开始和结束节点,最好的解决方案是哈密顿回路——回路中最长的边。

除了简单的蛮力寻找具有给定起始和结束节点的最佳汉密尔顿路径之外,我想不出其他解决方案。 请提供一些有关如何处理此问题的指示。

给定的开始节点和结束节点等价于结束节点和开始节点之间的有向边必须是 TSP 旅行的一部分的约束。

所以你可以简单地改变你的邻接矩阵:

  • 将所需结束节点的所有传出边设置为无限权重,除了到起始节点的边
  • 将所有传入边缘到所需的起始节点设置为无限权重,除了来自结束节点的边缘
  • 还将从开始节点到结束节点的边设置为无限权重(以确保您不会得到相反的解决方案,如果您的邻接矩阵不对称,这可能会有所不同)

这与您的实现使用的分支方法非常相似。

给每条边的权重添加一个大常数,除了给定的开始和结束节点之间的一条,它应该设置为零。 常数可以选择为N*maxweight ,其中 N 是顶点数, maxweight是最大边权重。 这保证了给定的边将包含在电路中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM