假设我们从1到5,最短的路线是1-4-3-5 (总计: 60公里)。

我们可以使用迪克斯特拉算法来做到这一点。
现在的问题是,由于交通堵塞或其他因素,最短的路线并不总是最快的。
例如:
所以也许我们可以在1-4-5号公路上行驶,因为没有交通堵塞/事故,所以我们可以在5点到达。
这是一般的想法,我还没有想过更多的细节。
有什么算法可以解决这个问题吗?
发布于 2011-12-19 19:58:17
既然你把交通拥堵带入了画面,小心不要被布雷斯悖论抓住。如果每个人都选择了最优路径,那么每个人的出行时间就会变得更糟。
发布于 2011-12-19 16:42:36
是: Dijkstra
Dijkstra也同样适用于这种情况。
你只是用时间而不是距离作为每一个弧线的重量。
发布于 2011-12-19 16:42:48
是。Dijkstra的算法将解决这个问题。
在您的情况下的问题是,您自动假定最短的路径等于距离,而实际上,它更恰当地等同于走一条路线的成本。
如果一条路径有一个路障,那么它的代价应该更高,而且算法仍然适用。
https://softwareengineering.stackexchange.com/questions/125966
复制相似问题