博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最小费用最大流问题
阅读量:6085 次
发布时间:2019-06-20

本文共 1449 字,大约阅读时间需要 4 分钟。

  复杂网络中,单源单点的最小费用最大流算法(MCMF)应用广泛。

  在实际网络问题中,不仅考虑从 Vs 到 Vt 的流量最大,还要考虑可行流在网络传送过程中的费用问题,这就是网络的最小费用最大流问题。

  最小费用最大流问题的一般提法:已知容量网络 D=(V ,A ,C),每条弧 (Vi,Vj) 除了已给出容量 Cij 外,还给出单位流量的传输费用 bij≥0,记作D=(V, A, C, B),其中bij ∈B。要在费用、容量网络 D 中寻找 Vs→Vt的最大流 f={fij},且使流的总传输费用:

b(f)=Σbij fij 最小

  从上一讲可知,最大流的求法就是在容量网络上从某个可行流出发,设法找到一条从 Vs→Vt 的增广链,然后沿着此增广链调整流量,作出新的流量增大了的可行流。在这个新的可行流基础上再寻找它的增广链。如此反复进行,直至再找不出增广链,就得到了该网络的最大流。

 

 

例子:给定费用、容量网络图(bij,cij),试求网络的最小费用最大流。

解:

(1)、初始取0流量,此时总费用为 f(0) = 0。

(2)、由原始网络构建费用网络图(费用网络图每条线路上的权重为bij,bij为单位流量的费用)。

(3)、通过当前费用网络图找到一个费用最少的路径,即vs->v3->v2->vt。通过该路径上每条线段的容量得出该线路能通过的最大流量,即调整量θ = min{8,5,7} = 5,即流量为5,当前的最小费用为 f(1) = 5*1+5*2+5*1 = 20。下图为流量网络图

(4)、在(3)的基础上构造新的费用网络图,构造方法为:当线路没流量通过时,流量方向不变,费用为原始费用。如vs->v2;

当线路流量等于该线路的最大容量时,则流量方向改变,费用为原始费用的负数。如v3->v2变为v2->v3;

当线路流量小于该线路的最大容量时,则增加反向流量,费用为原始费用的负数。如vs->v3新增v3->vs;

(5)、在(4)中得到的费用网络图上,找到费用最少的路径,即vs->v2->vt,通过该路径上每条线段的容量得出该线路能通过的最大流量,即调整量θ = min{10,7-5} = 2,得到的最小费用流的流量为7,当前的最小费用为 f(2) = 2*4+5*1+5*2+7*1 = 30。

(6)、构造可行流 f2的费用网络图。

(7)、在(6)中得到的费用网络图上,找到费用最少的路径,即vs->v3->v4->vt,通过该路径上每条线段的容量得出该线路能通过的最大流量,即调整量θ = min{8-5,10,4} = 3,得到的最小费用流的流量为10,当前的最小费用为 f(3) = 2*4+8*1+5*2+7*1+3*3+3*2 = 42

(8)、构造可行流 f3 的费用网络图。

(9)、在(8)的费用网络图上,找到费用最少的路径,即vs->v2->v3->v4->vt,通过该路径上每条线段的容量得出该线路能通过的最大流量,即调整量θ = min{10-2, 10-3, 4-3, 5} = 1,得到的最小费用流的流量为11,当前最小费用为 f(4) = 3*4+8*1+4*2+7*1+4*3+4*2 = 55

(10)、构造可行流 f4 的费用网络图。

由于无法找到从 vs->vt 的最短路,所以 f(4) 就是该网络的最小费用最大流。

 

转载于:https://www.cnblogs.com/keye/p/11059148.html

你可能感兴趣的文章
java序列化(Serializable)的作用和反序列化(转)
查看>>
该死的百度部落格又做了什么改动?
查看>>
多线程 Java.util.ConcurrentModificationException异常
查看>>
应用程序无法正常启动0xc0150002 解决方式
查看>>
图片延迟加载并等比缩放,一个简单的JQuery插件
查看>>
spring 定时任务
查看>>
WebGL/X3DOM 跑在 iOS
查看>>
Hyper-v: Snapshot merge
查看>>
sdut2613(This is an A+B Problem)大数加法(乘法)
查看>>
python无私有成员变量
查看>>
程序员的自我修养(2)——计算机网络
查看>>
Windows Phone本地数据库(SQLCE):2、LINQ to SQL(翻译)(转)
查看>>
【WP8】仿QQ提示消息
查看>>
垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
查看>>
怎样对ListView的项进行排序
查看>>
现代软件工程 第六章 【敏捷流程】练习与讨论
查看>>
《海量数据库解决方式》读后感
查看>>
Odoo 8.0 new API 之one装饰
查看>>
Jackson JSON Processor
查看>>
关于RESTful
查看>>