•(1) 网络
•G是一个简单有向图,G=(V,E),V={1,2,…,n}。
•在V中指定一个顶点s,称为源和另一个顶点t,称为汇。
•有向图G的每一条边(v,w)∈E,对应有一个值cap(v,w)≥0,称为边的容量。
•这样的有向图G称作一个网络。
•(2) 网络流
•网络上的流是定义在网络的边集合E上的一个非负函数flow={flow(v,w)},并称flow(v,w)为边(v,w)上的流量。
•(3) 可行流
•满足下述条件的流flow称为可行流:
•(3.1)容量约束:对每一条边(v,w)∈E,0≤flow(v,w)≤cap(v,w)。
•(3.2)平衡约束:
•对于中间顶点:流出量=流入量。
•即对每个v∈V(v≠s,t)有:顶点v的流出量-顶点v的流入量=0,即
•
•对于源s:s的流出量-s的流入量=源的净输出量f,即
•
•对于汇t:t的流入量-t的流出量的=汇的净输入量f,即
•
•式中f 称为这个可行流的流量,即源的净输出量(或汇的净输入量)。
•可行流总是存在的。
•例如,让所有边的流量flow(v,w)=0,就得到一个其流量f=0的可行流(称为0流)。
•
(
7
) 残流网络
•对于给定的一个流网络G及其上的一个流flow,网络G关于流flow的残流网络G*与G有相同的顶点集V,而网络G中的每一条边对应于G*中的1条边或2条边。
•设(v,w)是G的一条边。
•当flow(v,w)>0时,(w,v)是G*中的一条边,该边的容量为cap*(w,v)=flow(v,w);
•当flow(v,w)<cap(v,w)时,(v,w)是G*中的一条边,该边的容量为
•cap*(v,w)=cap(v,w)-flow(v,w)。
•按照残流网络的定义,当原网络G中的边(v,w)是一条零流边时,残流网络G*中有唯一的一条边(v,w)与之对应,且该边的容量为cap(v,w)。
•当原网络G中的边(v,w)是一条饱和边时,残流网络G*中有唯一的一条边(w,v)与之对应,且该边的容量为cap(v,w)。
•当原网络G中的边(v,w)是一条弱流边时,残流网络G*中有2条边(v,w)和(w,v)与之对应,这2条边的容量分别为cap(v,w) -flow(v,w)和flow(v,w)。
•残流网络是设计与网络流有关算法的重要工具。