【发布时间】:2016-03-30 14:58:51
【问题描述】:
我正在尝试提出一种 ruby 算法,以在定义的限制(边总和)内找到具有最高值(顶点总和)的最佳最短路径。
起点也是终点。
例如找到一条最大值为 20 且总值最高的路径。
这个问题似乎是一个 np 难题,很难找到最佳解决方案。
有没有修改过的dijkstra算法?我尝试使用贪心算法,但它没有给我一个最佳解决方案。并且通过在所有可能的路径上使用蛮力将起作用,但如果节点数量增加,则需要很长时间。
想知道是否有任何算法组合可以用来改进我的解决方案?
谢谢。
【问题讨论】:
-
我不明白,首先你说:'我正在尝试提出一种 ruby 算法,以在定义的限制(边的总和)内找到具有最高值(总和)的最佳最短路径顶点数)”,但随后您说:“找到一条总价值最高的最多 20 个的路径”。在第二个语句中似乎你不关心路径是最短的。那么,您是否想要符合限制(边总和)的最高值(最大顶点总和)的路径?我上面所说的“最佳最短路径”的含义是什么?
标签: ruby graph graph-algorithm shortest-path weighted