最大流量给出边缘约束

时间:2016-03-29 23:55:32

标签: graph max-flow network-flow ford-fulkerson

嘿所以我有一个图表,例如3个边进入节点,3个边出来,但是如果特定的进入边有容量,我只需要激活出边。例如,如果我们有:

A - > Ñ

B - > Ñ

C - > Ñ

N - > N'#39;

N'#39; - >甲'

N'#39; - > B'

N'#39; - > C'

我只希望流经A'如果A有流动,并流过B'如果B有流等等。

基本上它在边缘A,B,C和I上的容量限制器最初不能限制它们的容量。

如果多次出现这种情况,我如何将此约束添加到最大流量并解决给定图形的最大流量图问题?

编辑:我最后也不能限制他们的能力,因为A',B'和C'稍后在图中使用,所以我不能移动N和N'到最后并迫使合并后的能力减少。

1 个答案:

答案 0 :(得分:0)

如果目标是限制组合流量,将a,b和c保留为n-> n'的容量,则只需将n个节点移动到图表的另一侧即可。换句话说,您可以简单地通过从a,b和c获取流量并将其直接(或通过其素数对)引导到n,然后从n直接(或再次通过n')引导到您的接收器来模拟您的问题。 / p>

编辑:您也可以在a / b / c之前放置n以获得相同的效果。

编辑2:如果您正在讨论ford fulkerson的实现,理论上您可以过滤掉列出扩充路径时不需要的路径。例如,当您的程序识别出可能的扩充路径时,如果它离开流a-> n不等于n' - > a'等等,则不要沿着它扩充。