vs v1 v3 v4 v2 vt 8,8 5,5 2,2 8,1 7,1 9,9 6,3 6,0 5,4 3,0 vs v1 v3 v4 v2 vt 8,8 5,5 2,2 8,1 7,1 9,9 6,3 6,0 5,4 3,0 (-, ∞) 寻找增广链 利用标号法得不出流f 3 的增广链,因此,f 3 是给定网络的最大流,流值为10。 令S={vs},则 是最小割。 Ford — Fulkerson 算法 Step0 先给网络赋一个初始0流f 0; 给vs标(-,+∞) Step1 寻找流f 的增广链(1.1) 如果所有标号点已经检查且汇点未标号,转Step3; (1.2) 找一个已标号但未检查的点vi 做如下检查: 对每个弧e=(vi , vk ) ,如果vk 未标号且 )} ( ) ( ), ( min{ ) ( e f e c i l k l - = 则给vk标号(+ vi ,l(k)),其中 Ford — Fulkerson 算法 对每个 弧e=(vk , vi ) ,如果vk 未标号且 则给v k标号(- vi ,l(k)),其中 )} ( ), ( min{ ) ( e f i l k l = Step2 增广网络流 从源点vs开始依据标号构造增广链P,并调整流值, 标号的正负表示增加或减
原创力文档

文档评论(0)