最短路径线性规划

时间:2017-03-26 14:11:21

标签: shortest-path linear-programming

我陷入了第4页https://courses.engr.illinois.edu/cs498dl1/sp2015/notes/26-lp.pdf的最大化d_t点。 我绝对不能遵循作者的论点

  

这些放松约束意味着在任何可行的解决方案中,d_v   是最短的从s到v的最短路径距离   与直觉相反,我们正确地最大化了目标函数   计算最短路径!

我们正在寻找最短的路径,但为什么我们要为max d_t而烦恼?

1 个答案:

答案 0 :(得分:1)

想象一下两个直接连接的顶点st之间的最短路径的简单情况,没有任何其他边或顶点。 LP归结为:

maximize   d_t
subject to d_s = 0
           d_t − d_s ≤ l_st for every edge s -> t

最大化d_t的唯一方法是将其设置为从st的最短路径 - 在这种情况下是两者之间的边缘。这是因为第二个约束d_t ≤ l_st禁止任何更大的值,即从st的任何更长的路径。

现在,这个想法可以转移到st不是相邻顶点的一般情况:将d变量视为{{1}的所有相邻顶点的最短路径{1}}。然后,与t有关的约束确定必须选择哪些边缘来定义总体最短路径。它会对平等感到满意,而d_t的任何较高值都会违反这些约束中的至少一个。