最短路径线性规划

Shortest path linear programming

我卡在第 4 页 https://courses.engr.illinois.edu/cs498dl1/sp2015/notes/26-lp.pdf 的最大化 d_t 点。 绝对不能听作者的说法

These relaxation constraints imply that in any feasible solution, d_v is atmost the shortest path distance from s to v .Thus, somewhat counterintuitively,we are correctly maximizing the objective function to compute the shortest path!

我们正在寻找最短路径,但为什么要寻找最大值 d_t?

想象一下两个直接相连的顶点 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 变量视为到所有相邻顶点的最短路径t 个。然后与 d_t 相关的约束决定了必须选择这些边中的哪一条来定义整体最短路径。它将对相等感到满意,而 d_t 的任何更高值将至少违反这些约束之一。