目录
假设存在有向带权图G=(V,E),V={s,v1,v2,v3…,t}
前置知识
生活中的电网、水管网、交通运输网都有一个共同点:在网络传输中有方向和容量。
假设存在有向带权图G=(V,E),V={s,v1,v2,v3…,t}
其中有两个特殊的节点s和t,s叫做源点,t叫作汇点
边的方向表示该边允许通过的最大流量cap(cap≥0),即边的容量
若在该图中有一条边(u,v),则必然不存在反方向的边(v,u),这样的有向带权图就叫做网络
网络流即网络上的流,是定义在网络边集上的一个非负函数flow={flow(u,v)},flow(u,v)是边(u,v)上的流量
满足以下三个性质的网络流叫作可行流
(1)容量约束 任何一条边(u,v)的流量都不可以超过其最大容量,即flow(u,v)≤cap(u,v)
(2)反对称性 假设从u到v的流量是flow(u,v),从v到u的流量是flow(v,u),则满足flow(u,v)=-flow(v,u)
(3)流量守恒 除源点s和汇点t外,所有内部节点的流入量都等于流出量,即
例如:若流入节点u的流量之和是10,则从节点u流出的流量之和也是10
源点(s)主要流出流量,但也可能流入流量。例如货物运出后检测到一些不合格产品需要返厂,则对源点来说这些产品就是流入量。
源点的净输出值f=流出量之和-流入量之和,即
例如:若源点s的流出量之和是10,流入量之和是2,则净输出是8
汇点(t)主要流入流量,但也可能流出流量。例如货物到达仓库后检测出一些不合格产品需要返厂,则对汇点来说这些产品就是流出量。
汇点的净输入值f=流入量之和-流出量之和,即
注意:任何一个网络可行流flow,其净输出都等于其净输入,满足流量守恒定律
网络最大流指在满足容量约束和流量守恒的前提下,净输出最大的网络流。
1957年,Ford和Fullkerson提出了求解网络最大流的方法,该方法的基本思想是在网络中找增广路,沿增广路增流(增加流量),直到不存在增广路为止
实流网络是只包含实际流量的网络
残余网络G*与网络G的节点相同,G中的每条边都对应G*中的一条边或两条边。在残余网络中,与网络边对应的同向边是可增量(还可以增加多少流量),反向边是实际流量
在残余网络中不显示0流量边
增广路是残余网络上从源点s到汇点t的一条简单路径<