最小费用最大流问题.pptx

上传人:莉*** 文档编号:73993992 上传时间:2023-02-23 格式:PPTX 页数:34 大小:441.15KB
返回 下载 相关 举报
最小费用最大流问题.pptx_第1页
第1页 / 共34页
最小费用最大流问题.pptx_第2页
第2页 / 共34页
点击查看更多>>
资源描述

《最小费用最大流问题.pptx》由会员分享,可在线阅读,更多相关《最小费用最大流问题.pptx(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、一、基本概念1、什么是最小费用最大流问题?对每一条弧都给出单位流量费用的容量网络D=(V,A,B)(称为费用容量网络)中,求取最大流X,使输送流量的总费用 C(X)=cijxij为最小的一类优化问题。其中,bij表示弧(vi,vj)上的容量,xij表示弧(vi,vj)上的流量,cij表示弧(vi,vj)上通过单位流量所花费的费用。第1页/共34页2、最小费用流 对一费用容量网络,具有相同流量 f 的可行流中,总费用最小的可行流称为该费用容量网络关于流量 f 的最小费用流,简称流量为 f 的最小费用流。第2页/共34页从上节可知,寻求最大流的方法是从某个可行流出发,找到关于这个流的一条增广链。沿

2、着调整f,对新的可行流试图寻求关于它的增广链,如此反复直至最大流。现在,要寻求最小费用的最大流,我们首先考察一下,当沿着一条关于可行流f的增广链,以=1调整f,得到新的可行流f(显然v(f)=v(f)+1)时,C(f)比C(f)增加多少(输送流量的总费用)?第3页/共34页3、增广链的费用 当沿着一条关于可行流 X 的增广链(流量修正路线),以修正量=1进行调整,得到新的可行流 ,则称C()-C(X)为 增广链的费用。第4页/共34页增广链的费用就是以单位调整量调整可行流时所付出的费用;当修正量=1时,此时,的流量 f()=f(X)+1;C()-C(X)=第5页/共34页二、求解最小费用最大流

3、问题的对偶法1、求解途径:(1 1)始终保持网络中的可行流是最小费用流,然后不断调整,使流量逐步增大流量逐步增大,最终成为最小费用的最大流;(2 2)始终保持可行流是最大流,通过不断调整使费用逐步减小费用逐步减小,最终成为最大流量的最小费用流。第6页/共34页2、算法原理(1)定理 若X 是流量为f(X)的最小费用流,是关于X 的所有增广链中费用最小的增广链,那么沿着去调整X得到的新的可行流 就是流量为 f()的最小费用流。第7页/共34页(2)实现思路 基于第一种求解途径,根据上述定理,只要找到最小费用增广链,在该链上调整流量,得到增加流量后的最小费用流。循环往复直至求出最小费用最大流。第8

4、页/共34页对偶法原理和步骤求最大流Ford算法找从vs到vt的最短增广链调整流量得费用最小的可行流将0流作为初始可行流Yes绘制扩展费用网络No流量等于最大流?得最小费用最大流确保流量最大确保费用最小第9页/共34页 实施中的关键 构造增广费用网络图(即扩展费用网络图),借助最短路算法寻找最小费用增广链。为什么?理由:正向饱和弧不标记,反向零流弧不标记。不构造增广费用网络,就无法调整流量(1)饱和弧,流量无法减小;(2)非饱和弧,流量只能增加,不能减小;增广链流量调整:正向弧增加流量增广链流量调整:正向弧增加流量 ,反向弧减少流量,反向弧减少流量 。第10页/共34页零流弧上零流弧上 WWi

5、j ij=cij 原有弧(流量可以增加)后加弧(流量不能再减少)饱和弧上饱和弧上wij=原有弧(流量不能再增加)-cij 后加弧(流量可以减少)非饱和且非零流非饱和且非零流 (0 x(0 xij ijbbij ij)弧上弧上 cij 原有弧(流量可以增加)-cij 后加弧(流量可以减少)WWij ij=增广费用网络图的构造方法将网络中的每一条弧(vi,vj)都变成一对方向相反的弧,以形成四通八达的四通八达的“路路”,权数定义如下:第11页/共34页将上述思想加以简化,出现处相应的弧不画,按下面的方法具体构造增广费用网络图:零流弧上,保持原弧不变,将单位费用作为权数,即wij=cij:Vi Vj

6、原网络 Vi Vj增广费用网络第12页/共34页非饱和弧上 ,原有弧以单位费用作权数,后加弧(虚线弧)以单位费用的负数作权数:ViVj原网络ViVj增广费用网络第13页/共34页饱和弧上 ,去掉原有弧,添上后加弧(虚线弧),权数为单位费用的负数:Vi Vj原网络 Vi Vj(bij,-cij)增广费用网络第14页/共34页 于是,在容量网络中寻找最小费用增广链就相当于在增广费用网络图(扩展费用网络图)中寻找从发点到收点的最短路。注意 将找到的最短路还原到原网络图中(虚线弧改成原图中的反向弧)。第15页/共34页3、步骤:第一步-用Ford-Fukerson算法求出该容量网络的最大流量fmax;

7、(本步骤的作用是什么?)第二步-取初始可行流为零流,其必为流量为0的最小费用流(为什么?)第16页/共34页 第三步-一般为第k-1次迭代,得一最小费用流X(k-1),对当前可行流构造增广费用网络图W(X(k-1),用最短路算法求出从发点到收点的最短路。若不存在最短路,则X(k-1)即最小费用最大流,停止迭代;否则,转下一步。第17页/共34页 第四步-将最短路还原成原网络图中的最小费用增广链,在上对可行流X(k-1)进行调整,得到新的可行流图,若其流量等于fmax,迭代结束。否则转入第一步,进入下一次迭代过程。第18页/共34页4、举例增广费用网络图(容量费用图(bij,cij)可 行 流

8、图 (流量网络(bij,cij,xij)vsvtv2v3v1(10,7)(7,7)(8,4)(10,4)(4,4)(5,0)(2,0)最大流图fmax=11 (未标费用)第 0 次 迭 代第19页/共34页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 D氏标号法氏标号法求出最

9、短路:求出最短路:恰也是恰也是最小费用增广链最小费用增广链最小费用增广链最小费用增广链。流量调整量流量调整量1 1=min8-0,5-0,7-0=5=min8-0,5-0,7-0=5 总流量总流量f f1 1=5=5最小费用增广链的费用最小费用增广链的费用ccijij=1+2+1=4=1+2+1=4总费用总费用C C1 1=45=20=45=20 第20页/共34页第 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)

10、(2,6,0)(5,2,5)零流弧保持原边零流弧保持原边,非饱和非零流弧非饱和非零流弧(v(vs s,v,v2 2)和和(v(v1 1,v,vt t)增添后加弧增添后加弧,饱和弧饱和弧(v(v2 2,v,v1 1)去掉原弧增添后加弧;去掉原弧增添后加弧;用列表法求出最短路用列表法求出最短路:恰也是最小费用增广链恰也是最小费用增广链。流量调整量流量调整量2 2=min10-0,2-0(7-5)=2=min10-0,2-0(7-5)=2,总流量总流量=原流量原流量+新增流量新增流量 =5+2=7=5+2=7;最小费用增广链的费用最小费用增广链的费用 ccijij=4+1=5=4+1=5总费用总费用

11、C C2 2=原费用原费用+新增费用新增费用=20+52=30=20+52=30 第21页/共34页vsvtv2v3v1(8,4)(2,-4)(5,-1)(7,-1)(10,3)(4,2)(2,6)(5,-2)(3,1)零流弧保持原边,此外的非饱和弧增零流弧保持原边,此外的非饱和弧增添后加弧,饱和弧去掉原边增添反向虚添后加弧,饱和弧去掉原边增添反向虚线弧线弧用列表法求得最短路用列表法求得最短路恰也是最小费用增广链。恰也是最小费用增广链。流量调整量流量调整量3 3=min3=min3,10,4=310,4=3,总流量总流量=原流量原流量+新增流量新增流量 =7+3=10=7+3=10;最小费用增

12、广链的费用最小费用增广链的费用 ccijij=1+3+2=6=1+3+2=6总费用总费用C C2 2=原费用原费用+新增费用新增费用=30+63=48=30+63=48 第 3 次 迭 代(7,1,7)vsvtv2v3v1(10,4,2)(8,1,8)(10,3,3)(4,2,3)(2,6,0)(5,2,5)第22页/共34页(2,6)(7,3)(8,4)vsvtv2v3v1(3,-3)(7,-1,)(8,-1)(3,-2)(1,2)(2,-4)(5,-2)零流弧保持原边,此外的非饱零流弧保持原边,此外的非饱和弧增添后加弧,饱和弧去掉原和弧增添后加弧,饱和弧去掉原边增添反向虚线弧;边增添反向虚

13、线弧;用列表法求得最短路用列表法求得最短路 对应的最小费用增广链是对应的最小费用增广链是流量调整量流量调整量4 4=min8,5,7,1=1=min8,5,7,1=1,总流量总流量=原流量原流量+新增流量新增流量=10+1=11=10+1=11;最小费用增广链的费用最小费用增广链的费用 ccijij=4-2+3+2=7=4-2+3+2=7总费用总费用C C2 2=原费用原费用+新增费用新增费用 =48+71=55=48+71=55。由于总流量由于总流量1111已达到最大流量,故停已达到最大流量,故停止迭代,止迭代,当前的可行流图即最大流图。当前的可行流图即最大流图。第 4 次 迭 代(7,1,

14、7)vsvtv2v3v1(10,4,3)(8,1,8)(10,3,4)(4,2,4)(2,6,0)(5,2,4)第23页/共34页举例 求最小费用-最大流问题求下图中网络从 到 的最小费用最大流,图中弧上的数字为 。vsv2v3v4v5vt第24页/共34页vsv2v3v4v5vt(0)求网络的最大流量由前面计算知,。将0流作为初始可行流。扩展费用网络与原网络相同(1)第一次迭代:用Ford算法求最短增广链,路线是vsv3v5vt第25页/共34页vsv2v3v4v5vt调整流量:在增广链上有:在初始可行流的基础上调整流量得到新的可行流,刷新网络图(bij,cij,xij)第26页/共34页(

15、2)第二次迭代扩展费用网络vsv2v3v4v5vt饱和弧只能减小流量,单位费用减少3(1)流量还可增加3,单位费用6;(2)流量也可减小,当前流量为6,每减单位流量,费用节省6。(1)流量还可增加4,单位费用1;(2)流量也可减小,当前流量为6,每减单位流量,费用节省1。第27页/共34页用Ford算法求最短增广链,路线是vsv2v5vtvsv2v3v4v5vt在原可行流基础上调整流量得到新的可行流,刷新网络图第28页/共34页(3)第三次迭代扩展费用网络vsv2v3v4v5vt用Ford算法求最短增广链,路线是vsv2v4vt第29页/共34页调整流量:在增广链上有:在初始可行流的基础上调整流量得到新的可行流,刷新网络图vsv2v3v4v5vt第30页/共34页(3)第四次迭代扩展费用网络用Ford算法求最短增广链,路线是vsv3v4vtvsv2v3v4v5vt第31页/共34页vsv2v3v4v5vt调整流量:在增广链上有:在初始可行流的基础上调整流量得到新的可行流,刷新网络图第32页/共34页OVER!第33页/共34页感谢您的观看!第34页/共34页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁