在双重加权有向图中找到路径

时间:2019-03-27 14:04:38

标签: graph path-finding


我必须在图形中找到一条路径,该路径应满足非常复杂的规则。 我认为此问题与“查找两个节点之间的所有路径”有关,但是我不确定。

有没有针对此问题的有效关键字或算法?


规则是: 该图是有向图,它有两个权重。一个是距离,另一个是成本。

输入形式如下: (顶点数(V),边缘数(E),允许的总距离(D)) 接下来的E行是这样的: (起始节点,结束节点,成本,距离)

如果我支付x $(费用),那么我可以获得比x $便宜的优势。 另外,我只能走D英里。

起始顶点索引始终为0

我要做的就是找到从开始节点到结束节点的“最便宜”路径。

ex)
5 6 4->(顶点数,边数,允许的总距离)
0 1 2 1->(开始节点,结束节点,成本,距离)
1 4 3 4
1 3 1 1
3 2 3 1
2 4 2 1
0 4 5 3


在这种情况下,我必须找到从0到4的最便宜路径。

可能的路径是这样的:
0 1 4 / cost:5,dist:5
0 1 3 2 4 / cost:3,dist:4
0 4 // cost:5,dist:3


答案是0 1 3 2 4,因为这条路线的成本最便宜(3 $)并且满足允许的总距离(4 <= 4)。


我试图通过找到两个节点之间的所有路径,计算所有路径的长度和成本并对它们进行排序来解决此问题。
我使用this算法来查找所有路径..但​​是它花费O(n!)为时已晚..

有没有针对此问题的有效关键字或算法?

0 个答案:

没有答案