最大流最小费用java_最小费用最大流及算法

最大流的网络,可看作为辅送一般货物的运输网络,此时,最大流问题仅表明运输网络运输货物的能力,但没有考虑运送货物的费用。在实际问题中,运送同样数量货物的运输方案可能有多个,因此从中找一个输出费用最小的的方案是一个很重要的问题,这就是最小代价流所要讨论的内容。

1.最小费用最大流问题的模型

给定网络N=(V,E,c,w,s,t),每一弧(vi,vj)属于E上,除了已给容量cij外,还给了一个单位流量的费用w(vi,vj)≥O(简记为wij)。所谓最小费用最大流问题就是要求一个最大流f,使得流的总输送费用取最小值。

W(f)=∑wijfij

2.用对偶法解最小费用最大流问题

定义:已知网络N=(V,E,c,w,s,t),f是N上的一个可行流,p为vs到vt(关于流f)的可增广路径,称W(p)=∑wij(p+)-∑wij(p-)为路径p的费用。

若p*是从vs到vt所有可增广路径中费用最小的路径,则称p*为最小费用可增广路径。

定理:若f是流量为v(f)的最小费用流,p是关于f的从vs到vt的一条最小费用可增广路径,则f经过p调整流量Q得到新的可行流f’(记为f’=f+Q),一定是流量为v(f)+Q的可行流中的最小费用流。

3.对偶法的基本思路

①取f={0}

②寻找从vs到vt的一条最小费用可增广路径p。

若不存在p,则f为N中的最小费用最大流,算法结束。

若存在p,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值