上下界网络流
模型
给定一个网络,一个加权的有向图G,其中的每条边都有一个容量上界C。其中的两点:S只有出度没有入度,T只有入度没有出度。求S到T最大可以流过的流量,这是最大流的模型。
且满足以下条件:
- 容量限制:每条边的流量\(0\leq f\leq C\)
- 流量平衡:任意一个点i,\(\sum\limits_{(u,i)\in E}f(u,i) = \sum\limits_{(i,v)\in E}f(i,v)\)
那么f是G的一个可行流。最大流即满足容量限制的最大的流。
如果在网络中,每条边增加一个流量下界B,这就是有上下界限制的网络流的模型了。
那么有上下界限制的网络流也是满足两个条件:
- 容量限制:每条边的流量\(B\leq f\leq C\)
- 流量平衡:任意一个点i,\(\sum\limits_{(u,i)\in E}f(u,i) = \sum\limits_{(i,v)\in E}f(i,v)\)
有上下界限制的网络流一般分为三类:
- 无源汇有上下界可行流
- 有源汇有上下界最大流
- 有源汇有上下界最小流
下面分别阐述其求法
预备知识
B(u,v): u->v的流量下界
C(u,v): u->v的流量上界
f(u,v): u->v的流量
无源汇上下界可行流
顾名思义,无源汇上下界可行流:没有源点S,汇点T。在网络中求可行流或者指出不存在。
对于这个问题,不好处理,但是如果我们去掉流量下界限制B,那么就是最大流的模型了,问题就可以解决了。
直接去掉B是不对的。我们规定初始流:每条边先流过B的流量。但是初始流可能会不满足流量平衡。即可能存在:\(\sum\limits_{(u,i)\in E}B(u,i) \neq \sum\limits_{(i,v)\in E}B(i,v)\)
那么我们加上一个\(g\)(附加流)是其满足流量平衡。
\(\sum\limits_{(u,i)\in E}B(u,i)+g(u,i) = \sum\limits_{(i,v)\in E}B(i,v)+g(i,v)-----(1)\)
\(B + g\) 也就是实际的流量\(f\)。
此时我们去掉了流量下界限制B,那么网络中每条边的容量上界限也要减去,即新网络图中每条边的流量上界限制为$C‘ = C - B $,下界限制0。
用最大流求解:
将(1)式移项:
\(\sum\limits_{(u,i)\in E}B(u,i)-\sum\limits_{(i,v) \in E}B(i,v) = \sum\limits_{(i,v)\in E}g(i,v) - \sum\limits_{(u,i)\in E}g(u,i)\)
令\(M(i) = \sum\limits_{(u,i)\in E}B(u,i)-\sum\limits_{(i,v) \in E}B(i,v)\)
原式:
\(M(i) = \sum\limits_{(i,v)\in E}g(i,v) - \sum\limits_{(u,i)\in E}g(u,i)\)
M(i)是已知的,i点的流入的下界之和减流出的下界之和。
1、如果\(M(i) \geq 0\)
\(\sum\limits_{(i,v)\in E}g(i,v) = \sum\limits_{(u,i)\in E}g(u,i)+ M(i)\)
那么我们发现附加流中流出的需要比流入的多M(i)才可以达到流量平衡,那么这些流从哪来呢。建一个源点SS,建一条从SS到i的边,容量为\(M(i)\)。
2、如果\(M(i) \leq 0\)
\(\sum\limits_{(i,v)\in E}g(i,v) - M(i) = \sum\limits_{(u,i)\in E}g(u,i)\)
同理,发现附加流中流入的需要比流出的多M(i)才可以达到流量平衡。建议汇点TT,建一条从i到TT点边,容量\(-M(i)\),容量也就变成正的了。
建图完毕。从SS到TT跑一遍最大流即可。原图中存在解的条件是:每条从SS连出的边与连向TT的边都需要满流。
问题:为什么从SS连出的边与连向TT的边满流后才存在解,不满流就不存在解?
设从SS连出的边其中一条指向a,容量M。思考连这条边是因为a的B中流出的大于流入的。如果这条边未满流(假设流量是M‘),那么:B1(流入的) + M‘ < B2(流出的)。a点不满足流量平衡,不存在解。
更直观的放在网络上解释:a点要满足所有的边的流量\(c \leq f \leq c\),那么出边当然不能例外,那么出边的流量和最少是B2。而流入的流量和,最小是B1,由于B1比B2小,所以要加一些附加流M‘,但是即使B1+M‘也小于B2,所以这个点流入的流量是不等于流出的。所以无解。
相反,如果满流,那么说明这个点已经流量平衡了,有满足了容量限制,那么也就有解了。
对于连向TT的边,同理。
无源汇上下界网络流到此求解完成。
、
未完~