网络流最大流的sap()算法

本文介绍了网络流模型和最大流问题,探讨了可行流、可增广路、剩余图的概念,并详细阐述了SAP算法,包括最短增广路策略、距离标号维护和优化方法,如邻接表优化、GAP优化、当前弧优化。
摘要由CSDN通过智能技术生成

         现在想将一些物资从S运抵T,必须经过一些中转站。连接中转站的是公路,每条公路都有最大运载量。

         每条弧代表一条公路,弧上的数表示该公路的最大运载量。最多能将多少货物从S运抵T?

        
         这是一个典型的网络流模型。为了解答此题,我们先了解网编流的有关定义和概论。

         若有向图G=(V,E)满足下列条件:       

1.      有且仅有一个顶点S,它的入度为零,即d-(S)=0,这个顶点S便称为源点,或称为发点。

2.      有且仅有一个顶点T,它的出度为零,即d+(T)=0,这个顶点T便称为汇点,或称为收点。

3.      每一条弧都有非负数,叫做这条边的容量。边(vi,vj)的容量用cij表示。

则称之为网络流图,记为G=(V,E,C)。

 

可行流

对于网络流图G,每一条弧(i,j)都给定一个非负数fij,这一组数满足下列三条件时称为这网络的可行流,用f表示它。

1.      每一条弧(i,j)都有fij<Cij

2.      流量平衡

除了源点S和汇点T之外的所有点vi,恒有:∑j(fij)=k(fjk),该等式说明中间点vi的流量守恒,输入与输出量相等。

3.      对于源点S和汇点T有,∑i(fSi)= j(fjT)=V(f)

可增广路

         给定一个可行流f={fij}。若fij=Cij,称<vi,vj>为饱和弧;否则称<vi,vj>为非饱和弧。若fij=0,称<vi,vj>为零流弧;否则称<vi,vj>为非零流弧。

         先定义一条道路P,起点是S,终点是T。把P上所有与P方向一致的弧定义为正向弧,正向弧的全体记为P+;把P上所有与P方向相悖的弧定义为反向孤,反向弧的全体记为P-。

         譬如在图中,P={S,V1,V2,V4,T},那么P+={<S,V1>,<V1,V2>,<V2

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值