标号算法

下去求用网覆盖最大流和最小割的标号算法:
预先决定本人有向图G =(V,E),图边为传递,有两边各有本人重,管道流量限度局限。预先决定本人源和汇T,如今假说本人源在s。,有本人蓄积的T.,从s到t最大的流量是多少?。这执意同样的人的用网覆盖流成绩。=mathematics作图是:
设G =(V,E)是本人流媒体用网覆盖,设c(u, v)>=0 从u到v的管道的流量最大值。设s为源,T排列击中要害任一组数字或文字。G的流是本人有或起作用f V×V →R,同时适合以下三个表示特性的:
1. 满足的限度局限:关于所某个 u,v ∈ V, 请f(u), v) <= c(u, v)
2. 斜整齐:关于所某个 u,v ∈ V, 请f(u), v) = – f(v, u)
3. 出席的会议:关于所某个 u ∈ V – {s, t},西格玛光机必要条件, v) = 0;v∈V
f(u,V)高尚的从包装u到v的用网覆盖流量,它可以是正视的或负面的。流 f 该值被限界为:
|f| =   ∑  f(s, v)
v∈V
和弦基音有流量的总和。
最大流成绩是要找到本人预先决定的流用网覆盖的最大流。用网覆盖流成绩可以归结为一类特别的里程标。
求最大流的根本办法是Ford-Fulkerson,有很好的东西办法来发生,其根本思惟是从本人切实可行的流开端,找到本人流量可以经过P,继修剪F P,触球找到新的切实可行的的流可以变得更好他。,这么反复直到流行最大流量。。它是寻觅最小费最大流,可以证明患有精神病,万一f是包括v(f)流的流击中要害最低消费本钱。,p是下去改善的,可以改善最小花钱的东西方法f的方法。,在修剪F P,f'is切实可行的的长处V(f)在有切实可行的的FL的最小费流。这么,当f是最大流,他是最小费最大流的必要条件。
留意交通B单位本钱每边(我,j)≥0,因而,F = 0流的最小费流0,这无不可以
从f=0找到最小费最大流。普通的,让已知F是交通V最小费流(F),剩的成绩是多少找到的最小本钱。朕将在每个弧的原始用网覆盖中这么做。相当两种标的目的相反的弧形。:
1。前向弧,C和B本钱不变式的才能,F的流量是0;
2。后向弧,C的才能0,本钱- B,F的流量是0;
每个顶峰设置本人决定因素CT,源点到方法的顶峰和本钱说。万一朕加法运算F的本钱最小,可以借款路途的工夫,路途各顶峰的ct值相关于其它IM最小。。任何时分寻觅本钱最低消费的时分可以变得更好路途垄断,源CT为0,CT的及其他顶峰 2。
让本钱相当交际本钱的流,当初始f=0,则cost=0,朕可以借款F的最小本钱方法,经过本钱 ← cost + ∑B(e)*d, (朝内的e∈P,D P可以借款积聚流量交际费概括)
加法运算的数额。显然,计算最小费最大流时,本钱将相当流量最大的交际本钱。
最低消费本钱的张开乔治英国数学家和逻辑学家变量扣球另一套可以借款,搜索用网覆盖击中要害每本人顶峰
,万一扣球=真的可以变得更好路途也可以张开,还需求重行搜索用网覆盖击中要害顶峰;Otherwise, the minimum fee
一种改善的方法的运用已被发现的人或已被发现的人的最大流量。
上面是本人伪加密算法:
cost  ← 0;
repeat
变得更好路途空;
0值源ct的改善路途;
repeat
break  ← false;
for u ←1 to N do
begin
所某个弧从你的辨析;
if (的流量可改善)and(源点至U有入口)and(u的ct值本钱 < V的CT值) then
begin
break  ← true;
V的CT值 u的ct值本钱;
V进入可改善路经并为之标号;
end if
end for
until break=false
if 汇点已标号 then
begin
从恢复点流改善方法;
cost ← cost + Sigma B(E)×D(E = P,D是本人改善的P量);
end if
until 汇点未标号;
可见,上述的的算法和求最大流的Edmonds-Karp标号算法简直俱,鉴于这两个算法用于搜索的延伸最早搜索加强,例如,复杂的事物是同样的人的,是O(VE),朝内的V是包装的数量,E是边数。

发表评论