差分约束和最短路径

差分约束系统   

  (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,则差分约束系统没有可行解。

猜你喜欢

转载自www.cnblogs.com/fsmly/p/10225756.html