我有一个有向无环图,需要找到资源约束的最短路径。我的约束是所选路径必须具有消耗的最小数量的设置资源。资源约束的最短路径
目前我使用Yen's K Shortest Path algorithm计算K最短路径,然后只接受那些满足我的约束。这里的问题在于猜测K,就好像它被错误地选择一样,可能没有找到可行的路径。
我发现很多这方面的文献,this提供了一个很好的概述,我认为。然而,我很难理解它,并找到一个能够实现的简洁算法(我正在使用Python,但是任何明确的算法思想都很棒)。
我知道这个问题是NP-Complete,因此我对任何好的近似算法以及确切的方法感兴趣。
任何人都有什么好的建议?
你能解释一下资源约束是什么意思吗?如果这些限制具有特定的格式,似乎这个问题不会是NP难的。 – templatetypedef 2011-12-30 20:55:09
我不仅试图找到最短的路径,而是一条满足约束条件的路径(现在只有一条是我正在工作,但可能在将来会更多)。这是最小限制。 图中的每个节点N对总资源计数N_x贡献x。 要使路径有效,对于路径中的所有N,sum(N_x)> = Min。 – steven 2011-12-31 11:22:33
您的概览链接对我无效,但您是否尝试过Eppstein的k-最短路径算法?它不需要预先限制k,而是逐个生成最短路径,并且可以简单地继续生成它们,直到找到满足约束条件的路径。 – han 2011-12-31 14:59:45