最小费用最大流;最小费用路算法;

来源:互联网 发布:表单提交给两个php 编辑:程序博客网 时间:2024/05/16 08:42

 

 

每次在残留网络里找一个以边的价值耗费为权值的最短路径(s到t),如果能找到,就给这条路径压入流。

否则,算法结束. 计算所有正流*单位流耗费即得最小耗费最大流.

 

 

运输问题

有A、B、C三个食品加工厂,负责供给甲、乙、丙、丁四个市场。三个厂每天生产食品箱数上限如下表:
工厂 A B C
生产数 60 40 50
四个市场每天的需求量如下表:
市场 甲 乙 丙 丁
需求量 20 35 33 34
从各厂运到各市场的运输费(元/每箱)由下表给出:

市 场
甲 乙 丙 丁

厂 A 2 1 3 2
B 1 3 2 1
C 3 4 1 1
(1)求在基本满足供需平衡的约束条件下使总运输费用最小。
(2)由于某种原因,若A的产品不能运到丁,B的产品不能运到乙,则满足供需平衡的约束下又该怎么安排运输才能使运输费用最小。

 

这是狼大哥的算法,应该就是最小费用最大流的思想:

 

//其实很好理解,我们找张纸,先把数据按照这个格式抄下来

//最后一列是供应数,最后一行是需求数
2    1    3    2    60
1    3    2    1    40
3     4    1    1    50
20    35    33    34

//第一步,找到价格是最低的,1块钱的
//第一行第二列,产是60,需是35,
//把60个产量,拿35个满足之;
//可以分配的产量就是25
//需求就是0了,表就变成了下边

2    1    3    2    [25]
1    3    2    1    40
3     4    1    1    50
20    [0]    33    34

//重复这个过程,直到产方全是0,或者供方全是0
//就完成了。

原创粉丝点击