每个边缘具有距离和重量的单源最短路径

时间:2016-02-01 15:15:39

标签: algorithm computer-science graph-theory shortest-path

假设存在无向图,并且连接任意两个节点的每个边具有两个权重(即距离和成本)。我想获得最短路径,但也要确保我不会超出一定的成本。

如果我超过了成本,我尝试实施Djikstra并简单地回溯(因为没有更好的术语),直到我遍历整个图表。但是,我正在寻找比这更快的解决方案。我还尝试使用一个函数,根据边缘的距离和成本创建一个权重,但我认为这不会返回最优解。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我们可以将原始图表中的图表与E边缘和V顶点(E,V)转换为另一个图(E, V'),每个节点v'xy位于{{ 1}}是从开始到节点V'的最小距离,费用为x

因此,从起始节点0开始,假设我们以距离a和成本b前往节点1,现在,我们有距离矩阵:

y

因此,这个问题成为正常的最短路径问题。

答案 1 :(得分:-1)

取成本和距离的加权平均值并将其作为参数。

说平均值,p=w*cost+(1-w)*distance

现在根据您的成本限制选择w。

现在在任何最短路径算法中都可以比较p。