查找原始目标与路径长度约束之间的所有路径

时间:2016-09-14 21:46:50

标签: python-2.7 networkx

我正在使用python 2.7和networkx。

我有一个非常大的网络,我需要找到原点和目的地之间的所有路径(不仅是最短的路径)。由于我的网络很大,我想加快一些限制,例如路径长度,成本等。

我正在使用networkx。我不想使用all_simple_paths,因为对于all_simple_paths,我必须根据路径长度(路径中的节点数)或路径成本(基于弧成本)过滤所有路径。过滤所有路径对于大型网络来说非常昂贵。

我真的很感激任何帮助。

1 个答案:

答案 0 :(得分:0)

这取决于您正在寻找的路径。

首先,最短路径为您提供长度约束的最低边界c_min。然后给定长度约束c>=c_min,对于每个节点n,您知道从开始到此节点的最短路径P_s_n和距离c_n。选择满足c_n <c的节点。然后,您可以通过从P_s_n到目标的任何路径任意扩展n,这将满足您的长度约束。