差分约束和最短路径
差分约束系统
(1)在一个差分约束系统中,线性规划矩阵A的每一行包括一个1和一个-1,其它所有项皆为0。由Ax≤b给出的约束条件形式上是m个涉及n个变量的差额限制条件(difference constraints),每个约束条件是以下简单的线性不等关系:。其中1≤i,j≤n,i≠j,并且1≤k≤m。
(2)一个满足下列条件的5维向量x=(x i )的问题:
上述矩阵与下面的8个差分约束条件的变量x1,x2,x3,x4,x5的取值问题等价:
问题可能的答案有:x=(-5,-3,0,-1,-4)、 x’=(0,2,5,4,1)等多组可行解。可以发现这两个答案有着一定的关联关系。x’ 中的每个元素对应的比x中的每个元素大5。
(3)给出一个简答的引理
设向量x=(x1,x2......xn)为差分约束系统Ax≤b的一个解,设d为任意常数,则x+d = (x1+d, x2+d......xn+d)也是该差分约束系统的一个解
约束图
(1)在一个Ax≤b的差分约束系统中,将m╳n的矩阵A看成是一张有n个结点和m条边构成的图的邻接矩阵的转置。对于i=1,2,…,n,图中的每个结点v i 对应n个未知变量x i 中的一个,图中的每条有向边对应m个不等式中的一个。
(2)对给定的差分约束系统Ax≤b,其对应的约束图是一个带权重的有向图G=(V,E),这里
说明:
a.结点集合:约束图中引入一个额外的结点v0,从其出发可以达到其他所有结点。因此结点集合V由代表每个变量xi的结点vi和额外的结点v0组成。
b.边集合:边集合E包含代表每个差分约束的边,同时包含v0到其他所有结点的边(v0,vi),i=1,2,…,n。
c.边的权重:如果xj-xi≤bk是一个差分约束条件,则边(vi,vj)的权重为ω(vi,vj) = bk,而从v0出发到其他结点的边的权重为0。
(4)如图所示是上述例子的约束图。每个结点的vi中的数值是σ(v0, vi)的值,该系统的一个可行解是x=(-5,-3,0,-1,-4)
(5)给出一个定理:
给定差分约束系统Ax≤b,设G=(V,E)是该差分约束系统所对应的约束图。
a. 如果图G不包含权重为负值的回路,则是该系统的一个可行解。
b. 如果图G包含权重为负值的回路,则该系统没有可行解.
(6)求解差分约束系统
上述定理可以得到,使用Bellman-ford算法来求解差分约束系统。因为约束图中包含从源结点v0到所有其他结点的边,任何权重为负值的环路都可以从结点v0到达。如果Bellman-ford返回True值,则最短路径权重给出差分约束系统的一个可行解。繁殖,如果Bellman-ford返回FALSE,则差分约束系统没有可行解。