在一个差分约束系统(system of difference constraints)中,线性规划矩阵A的每一行包含一个1和一个-1,A的其他所有元素都为0。因此,由Ax≤b给出的约束条件是m个差分约束集合,其中包含n个未知量,对应的线性规划矩阵A为m行n列。每个约束条件为如下形式的简单线性不等式:xj-xi≤bk。其中1≤i,j≤n,1≤k≤m。
建立约束图:数与图的结合
可以发现约束条件这个不等式和图的单源最短路径算法中的松弛操作极为类似,这样,上述问题可以转换成n个结点m条边的有向图(图不一定连通),其中n个结点分别为n个未知数,m条有向边分别代表m个约束条件,对于条件 xj - xi <= k; 对应着弧<xi,xj>的权值为k。
另外,为保证图的连通,在图中引入附加节点vs使图中每个顶点vi都能从vs可达,并设弧<vs,vi>的权w<vs,vi>=0。Bellman-Ford可以不用,因为它本身就是对所有点都松弛。但SPFA必须要加。