一个差分约束问题是一个线性规划问题,只不过只有一个限制条件。
Ax≤B。
而在A矩阵中每一行只存在一个1和一个-1,其他全为0。
我们可以将这个问题转换为一个图论问题。
对于这样的问题,我们进行建图,如果存在一个xi−xj≤a,则建立一条从xj到xi的边,边的权重为a。
另外新建一个节点x0,它指向所有的原有未知数节点,权重大小都为0。
这个图被称为约束图。
最终求x0到其他所有节点的最短路,得出的最短路径的长度就是每个未知数的一个可行解。
当存在包含负环时,无解。
接下来用w表示边的权重,δ表示最短路,由于δ(v0,vj)≤δ(v0,vi)+w(vi,vj),这是由于右式是一条可行路径,因此最短路小于等于可行路径。因此,δ(v0,vj)−delta(v0,vi)≤ w(vi,vj),符合差分约束条件。