Algorithm 带附加约束的加权有向多重图的最短路径求解

Algorithm 带附加约束的加权有向多重图的最短路径求解,algorithm,graph,shortest-path,directed-graph,Algorithm,Graph,Shortest Path,Directed Graph,给定一个加权有向多重图,我必须找到起始点u到顶点v之间的最短路径。除了重量,每边都有时间。连接u和v的路径不能超过给定的最长时间。问题是,在使用Djikstra时,最短路径可能需要比限制更多的时间 我的方法是找到u和v之间的所有有效路径,然后最小化权重。但由于其高度复杂性,该方法不实用 有什么想法吗?如果重量足够小 在这种情况下,您可以为每个节点存储在该节点路径上可以获得的所有可能的权重总和。现在,您可以在这个新图形上执行dijsktra,并尝试最小化成对节点(节点、权重和)上的时间 如果时间足

给定一个加权有向多重图,我必须找到起始点u到顶点v之间的最短路径。除了重量,每边都有时间。连接u和v的路径不能超过给定的最长时间。问题是,在使用Djikstra时,最短路径可能需要比限制更多的时间

我的方法是找到u和v之间的所有有效路径,然后最小化权重。但由于其高度复杂性,该方法不实用


有什么想法吗?

如果重量足够小

在这种情况下,您可以为每个节点存储在该节点路径上可以获得的所有可能的权重总和。现在,您可以在这个新图形上执行dijsktra,并尝试最小化成对节点(节点、权重和)上的时间

如果时间足够小

您可以执行与上一个示例中相同的操作,但需要成对执行(节点、时间)

一般问题


一般来说,我担心您所能做的就是尝试所有可能的方法,尝试通过修剪来改进它。

我一直在想,可能有一种方法可以将这两种权重合并为一种。您当前的解决方案有多复杂?这是一个一次性查询,还是会对同一个源或目标重复查询?
Θ(^3)
可以接受吗?我也在考虑一种结合DFS和djikstra的方法来解决上述问题,但我还没有想到任何方法?使用Bellmann-Ford算法来计算所有顶点从
u
的最小时间距离,这将允许您丢弃顶点在给定的时间内无法到达的(以及通过它们的所有路径)。这将大大减少图形的大小。(如果
v
在丢弃集中,您可以说没有解决方案。)