图与网络优化——最大流的标号法
增广链的定义是:正向弧是一些非饱和弧,反向弧是一些非零流量的弧
进行最大流标号的原理就是利用了增广链的性质,找到正向弧的容量和流量关系,以及反向弧的容量和流量关系,然后利用L(f)对流量进行调整,使增广链消失,产生最大流
标号开始:
从起始点开始:找到正向的弧,弧的容量要大于流量才可进行标号操作,标号操作是:(vi,l(vt))。其中vi是这个点后面的点,即箭头反向指的点,l(vt)取值是取容量减流量和箭头反向所指的点中的l(vt)中最小的值。
对于反向弧来说要看流量是否大于0,大于0才可以进行标号操作:(-vi,l(vt)。其中vi是这个点后面的点,即箭头正向指的点,l(vt)取值是取流量和箭头正向所指的点中的l(vt)中最小的值。
标号完毕之后利用l(vt)最后一个点的调值,对正向流量进行加法,反向流量进行减法,得到新的流量分布图,然后再标号,直到都不满足标号条件为止。
注意:遇到多个点指向同一个点的情况,随意选一个点就行。一个点指向了两个选一个点写,另一个点不写。
最后的最大流量就是起始点的流量=接收点的流量
上九天揽月,下五洋捉鳖