6.-5最小费用最大流问题_第1页
6.-5最小费用最大流问题_第2页
6.-5最小费用最大流问题_第3页
6.-5最小费用最大流问题_第4页
6.-5最小费用最大流问题_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五节

最小费用最大流问题6.-5最小费用最大流问题一、基本概念1、什么是最小费用最大流问题?对每一条弧都给出单位流量费用的容量网络D=(V,A,B)(称为费用容量网络)中,求取最大流X,使输送流量的总费用

C(X)=∑cijxij为最小的一类优化问题。其中,bij表示弧(vi,vj)上的容量,xij表示弧(vi,vj)上的流量,cij表示弧(vi,vj)上通过单位流量所花费的费用。6.-5最小费用最大流问题2、最小费用流

对一费用容量网络,具有相同流量f的可行流中,总费用最小的可行流称为该费用容量网络关于流量f的最小费用流,简称流量为f的最小费用流。6.-5最小费用最大流问题从上节可知,寻求最大流的方法是从某个可行流出发,找到关于这个流的一条增广链μ。沿着μ调整f,对新的可行流试图寻求关于它的增广链,如此反复直至最大流。现在,要寻求最小费用的最大流,我们首先考察一下,当沿着一条关于可行流f的增广链μ,以ε=1调整f,得到新的可行流f′(显然v(f′)=v(f)+1)时,C(f′)比C(f)增加多少(输送流量的总费用

)?6.-5最小费用最大流问题3、增广链的费用当沿着一条关于可行流X的增广链(流量修正路线)μ,以修正量ε=1进行调整,得到新的可行流,则称C()-C(X)为

增广链μ的费用。6.-5最小费用最大流问题②增广链μ的费用就是以单位调整量调整可行流时所付出的费用;③当修正量ε=1时,此时,

①的流量f()=f(X)+1;C()-C(X)=6.-5最小费用最大流问题二、求解最小费用最大流问题的对偶法1、求解途径:(1)始终保持网络中的可行流是最小费用流,然后不断调整,使流量逐步增大,最终成为最小费用的最大流;(2)始终保持可行流是最大流,通过不断调整使费用逐步减小,最终成为最大流量的最小费用流。6.-5最小费用最大流问题2、算法原理(1)定理若X是流量为f(X)的最小费用流,μ是关于X的所有增广链中费用最小的增广链,那么沿着μ去调整X得到的新的可行流就是流量为f()的最小费用流。6.-5最小费用最大流问题(2)实现思路基于第一种求解途径,根据上述定理,只要找到最小费用增广链,在该链上调整流量,得到增加流量后的最小费用流。循环往复直至求出最小费用最大流。6.-5最小费用最大流问题对偶法原理和步骤求最大流Ford算法找从vs到vt的最短增广链调整流量得费用最小的可行流将0流作为初始可行流Yes绘制扩展费用网络No流量等于最大流?得最小费用最大流确保流量最大确保费用最小6.-5最小费用最大流问题

实施中的关键

构造增广费用网络图(即扩展费用网络图),借助最短路算法寻找最小费用增广链。

为什么?理由:正向饱和弧不标记,反向零流弧不标记。

—不构造增广费用网络,就无法调整流量(1)饱和弧,流量无法减小;(2)非饱和弧,流量只能增加,不能减小;增广链流量调整:正向弧增加流量,反向弧减少流量。6.-5最小费用最大流问题零流弧上

Wij=cij

原有弧(流量可以增加)∞后加弧(流量不能再减少)

饱和弧上wij=∞原有弧(流量不能再增加)

-cij

后加弧(流量可以减少)

非饱和且非零流

(0<xij<bij)弧上

cij

原有弧(流量可以增加)

-cij

后加弧(流量可以减少)

Wij=增广费用网络图的构造方法将网络中的每一条弧(vi,vj)都变成一对方向相反的弧,以形成四通八达的“路”,权数定义如下:

6.-5最小费用最大流问题将上述思想加以简化,出现∞处相应的弧不画,按下面的方法具体构造增广费用网络图:

零流弧上,保持原弧不变,将单位费用作为权数,即wij=cij:

Vi

Vj原网络

Vi

Vj增广费用网络6.-5最小费用最大流问题非饱和弧上,原有弧以单位费用作权数,后加弧(虚线弧)以单位费用的负数作权数:ViVj原网络ViVj增广费用网络6.-5最小费用最大流问题饱和弧上,去掉原有弧,添上后加弧(虚线弧),权数为单位费用的负数:ViVj原网络ViVj(bij,-cij)增广费用网络6.-5最小费用最大流问题

于是,在容量网络中寻找最小费用增广链就相当于在增广费用网络图(扩展费用网络图)中寻找从发点到收点的最短路。注意将找到的最短路还原到原网络图中(虚线弧改成原图中的反向弧)。6.-5最小费用最大流问题3、步骤:第一步---用Ford-Fukerson算法求出该容量网络的最大流量fmax;(本步骤的作用是什么?)第二步---取初始可行流为零流,其必为流量为0的最小费用流(为什么?)6.-5最小费用最大流问题

第三步---一般为第k-1次迭代,得一最小费用流X(k-1)

,对当前可行流构造增广费用网络图W(X(k-1)),用最短路算法求出从发点到收点的最短路。

若不存在最短路,则X(k-1)即最小费用最大流,停止迭代;

否则,转下一步。

6.-5最小费用最大流问题

第四步---将最短路还原成原网络图中的最小费用增广链μ,在μ上对可行流X(k-1)进行调整,得到新的可行流图,若其流量等于fmax,迭代结束。否则转入第一步,进入下一次迭代过程。6.-5最小费用最大流问题4、举例增广费用网络图(容量费用图(bij,cij))

可行流图

(流量网络(bij,cij,xij))vsvtv2v3v1(10,7)(7,7)(8,4)(10,4)(4,4)(5,0)(2,0)最大流图fmax=11(未标费用)第0次迭代6.-5最小费用最大流问题vsvtv2v3v1(10,4)(7,1)(8,1)(10,3)(4,2)(5,2)(2,6)(5,2,5)(7,1,5)vsvtv2v3v1(10,4,0)(8,1,5)(10,3,0)(4,2,0)(2,6,0)第1次迭代①原图全部是零流弧,保持原边不变,单位费用为权;②所有的权均大于零,可用D氏标号法求出最短路:恰也是最小费用增广链。

①流量调整量ε1=min{8-0,5-0,7-0}=5

总流量f1=5②最小费用增广链的费用∑cij=1+2+1=4③总费用C1=4×5=20

6.-5最小费用最大流问题第2次迭代(3,1)v1vt(5,-2)(2,6)v2v3(10,4)(5,-1)(10,3)(4,2)(2,1)vs(5,-1)(7,1,7)vsvtv2v3v1(10,4,2)(8,1,5)(10,3,0)(4,2,0)(2,6,0)(5,2,5)①零流弧保持原边,非饱和非零流弧(vs,v2)和(v1,vt)增添后加弧,饱和弧(v2,v1)去掉原弧增添后加弧;②用列表法求出最短路:恰也是最小费用增广链。①流量调整量ε2=min{10-0,2-0(7-5)}=2,总流量=原流量+新增流量

=5+2=7;②最小费用增广链的费用∑cij=4+1=5③总费用C2=原费用+新增费用=20+5×2=306.-5最小费用最大流问题vsvtv2v3v1(8,4)(2,-4)(5,-1)(7,-1)(10,3)(4,2)(2,6)(5,-2)(3,1)①零流弧保持原边,此外的非饱和弧增添后加弧,饱和弧去掉原边增添反向虚线弧②用列表法求得最短路恰也是最小费用增广链。①流量调整量ε3=min{3,10,4}=3,总流量=原流量+新增流量

=7+3=10;②最小费用增广链的费用∑cij=1+3+2=6③总费用C2=原费用+新增费用=30+6×3=48第3次迭代(7,1,7)vsvtv2v3v1(10,4,2)(8,1,8)(10,3,3)(4,2,3)(2,6,0)(5,2,5)6.-5最小费用最大流问题(2,6)(7,3)(8,4)vsvtv2v3v1(3,-3)(7,-1,)(8,-1)(3,-2)(1,2)(2,-4)(5,-2)①零流弧保持原边,此外的非饱和弧增添后加弧,饱和弧去掉原边增添反向虚线弧;②用列表法求得最短路

③对应的最小费用增广链是①流量调整量ε4=min{8,5,7,1}=1,总流量=原流量+新增流量=10+1=11;②最小费用增广链的费用∑cij=4-2+3+2=7③总费用C2=原费用+新增费用

=48+7×1=55。由于总流量11已达到最大流量,故停止迭代,当前的可行流图即最大流图。第4次迭代(7,1,7)vsvtv2v3v1(10,4,3)(8,1,8)(10,3,4)(4,2,4)(2,6,0)(5,2,4)6.-5最小费用最大流问题举例—求最小费用-最大流问题求下图中网络从到的最小费用最大流,图中弧上的数字为。vsv2v3v4v5vt6.-5最小费用最大流问题vsv2v3v4v5vt(0)求网络的最大流量由前面计算知,。将0流作为初始可行流。①扩展费用网络与原网络相同(1)第一次迭代:②用Ford算法求最短增广链,路线是vs—v3—v5—vt6.-5最小费用最大流问题vsv2v3v4v5vt③调整流量:在增广链上有:在初始可行流的基础上调整流量④得到新的可行流,刷新网络图(bij,cij,xij)6.-5最小费用最大流问题(2)第二次迭代①扩展费用网络vsv2v3v4v5vt饱和弧—只能减小流量,单位费用减少3(1)流量还可增加3,单位费用6;(2)流量也可减小,当前流量为6,每减单位流量,费用节省6。(1)流量还可增加4,单位费用1;(2)流量也可减小,当前流量为6,每减单位流量,费用节省1。6.-5最小费用最大流问题②用Ford算法求最短增广链,路线是vs—v2—v5—vtvsv2v3v4v5vt在原可行流基础上调整流量④得到新的可行流,刷新网络图6.-5最小费用最大流问题(3)第三次迭代①扩展费用网络vsv2v3v4v5vt②用Ford算法求最短增广链,路线是vs—v2—v4—vt6.-5最小费用最大流问题③调整流量:在增广链上有:在初始可行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论