【发布时间】:2011-12-20 11:43:20
【问题描述】:
我正在尝试使用 Dijkstra 和 A Star 算法(在有向 NetworkX 图中)计算 2 点之间的最短路径。
目前它工作正常,我可以看到计算出的路径,但我想找到一种限制某些路径的方法。
例如,如果我们有以下节点:
节点 = [1,2,3,4]
这些边缘:
边 = ( (1,2),(2,3),(3,4) )
有没有办法阻止/限制 1 -> 2 -> 3 但仍然 允许 2 -> 3 & 1 -> 2。
这意味着:
可以从 1 移动到 2
可以从 2 到 3
不能直接或间接地从 1 移动到 3 ..(即限制 1->2->3 路径)。
这可以在 NetworkX 中实现吗?如果不是,Python 中是否有另一个图形库可以实现这一点?
谢谢。
【问题讨论】:
-
我不知道这是否可以在 NetworkX 中完成,但一个(概念上)简单的方法是监视节点 1,如果使用它,则完全删除节点 3。
标签: python routing path-finding networkx