1、15.082 和 6.855J,圈消除算法,2,最小代价流问题,1,2,4,3,5,10, $4,20, $1,20, $2,25, $2,25, $5,20, $6,30, $7,25,0,0,0,-25,3,初始容量和可行流,1,2,4,3,5,10,10,20,20,20,10,25,5,25,15,20,0,30,25,25,0,0,0,-25,通过解决最大流,可以找到可行流.,4,在剩余网络上的容量,1,2,4,3,5,10,20,20,5,25,10,10,15,5,20,10,5,在剩余网络上的代价,1,2,4,3,5,2,2,6,7,-7,-5,-2,-2,-1,-4,5,寻找
2、负代价圈,如果存在一个的话.,6,环绕圈发送流,沿着负代价圈发送流.,1,2,4,3,5,20,25,15,这个圈的容量是15.,形成下一个剩余网络.,7,在剩余网络上的容量,1,2,4,3,5,10,20,5,20,10,10,25,5,20,10,15,8,在剩余网络上的代价,1,2,4,3,5,2,2,6,7,-7,-2,-2,-1,-4,-6,寻找负代价圈,如果存在一个的话.,5,9,环绕圈发送流,1,2,4,3,5,沿着负代价圈发送流.,圈的容量是10.,形成下一个剩余网络.,20,20,10,10,在剩余网络上的容量,1,2,4,3,5,10,10,5,20,10,20,25,15
3、,10,15,10,11,在剩余网络中的代价,1,2,4,3,5,1,2,2,5,6,7,-7,-6,-2,-1,-4,寻找负代价圈,如果存在一个的话.,12,环绕圈发送流,1,2,4,3,5,沿着负代价圈发送流.,这个圈的容量是 5.,形成下一个剩余网络.,10,5,10,20,13,在剩余网络上的容量,1,2,4,3,5,5,10,25,5,15,25,15,10,20,10,5,5,14,在剩余网络中的代价,1,2,4,3,5,1,2,2,7,-7,-6,-2,-1,-4,4,-2,5,寻找负代价圈,如果存在一个的话.,15,环绕圈发送流,沿着负代价圈发送流.,这个圈的容量是 5.,形成
4、下一个剩余网络.,1,2,4,3,5,10,10,5,16,在剩余网络上的容量,1,2,4,3,5,5,15,25,5,20,25,20,5,20,5,5,17,在剩余网络中的代价,1,2,4,3,5,1,2,2,7,-7,-6,-2,-1,-4,4,5,寻找负代价圈,如果存在一个的话.,没有负代价圈. 但是证明是什么?,18,在剩余网络中计算最短距离,1,2,4,3,5,1,2,2,7,-7,-6,-2,-1,-4,4,5,令 d(j) 是从结点 1到结点 j的最短路径距离.,下一步 令 p(j) = -d(j),0,7,11,12,10,计算cp,19,在剩余网络中的即约代价,1,2,4,3,5,0,7,11,12,10,0,0,2,0,-0,4,0,0,0,0,1,在G(x*) 中对最优流的即约代价都是非负的.,