运筹学作业指导一二.ppt

  1. 1、本文档共102页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
运筹学作业指导一二

网络系统的最大流问题 设μ是网络D中连接发点vs和收点vt的一条链。定义链的方向是从vs到vt,于是链μ上的弧被分为两类:一是弧的方向与链的方向相同,叫做前向弧,前向弧的集合记做μ+;二是弧的方向与链的方向相反,叫做后向弧,后向弧的集合记做μ-。 在下图中,(v4,v3)是饱和弧,其他的弧是非饱和弧,并且都是非零流弧。 如图,在链(vs, v1, v2, v3, v4, vt)中,μ+={(vs, v1), (v1, v2), (v2, v3), (v4, vt)}, μ-={(v4, v3)}。 vt v3 v2 v1 v4 vs (17, 2) (3, 3) (5, 2) (10, 5) (8, 3) (6, 3) (11, 6) (4, 1) (5, 1) (3, 2) (Cij, fij) 网络系统的最大流问题 标号法 从网络中的一个可行流 f 出发(如果D中没有f,可以令 f 是零流),运用标号法,经过标号过程和调整过程,可以得到网络中的一个最大流。 用给顶点标号的方法来定义V1*。在标号过程中,有标号的顶点是V1*中的点,没有标号的点不是V1*中的点。如果vt有了标号,表示存在一条关于 f 的增广链。如果标号过程无法进行下去,并且vt未被标号,则表示不存在关于 f 的增广链。这样,就得到了网络中的一个最大流和最小截集。 网络系统的最大流问题 标号过程 在标号过程中,网络中的点或者是标号点(分为已检查和未检查两种),或者是未标号点。每个标号点的标号包含两部分:第一个标号表示这个标号是从哪一点得到的,以便找出增广链。第二个标号是为了用来确定增广链上的调整量θ。 标号过程开始,先给vs标号(0, +∞)。这时,vs是标号未检查的点,其他都是未标号点。一般地,取一个标号未检查点vi,对一切未标号点vj: 网络系统的最大流问题 (1)如果在弧(vi, vj)上,fijcij,那么给vj标号(vi, l(vj)),其中l(vj)=min[l(vi), cij-fij],这时vj成为标号未检查的点 (2)如果在弧(vj, vi)上,fij0,那么给vj标号(-vi, l(vj)),其中l(vj)=min[l(vi), fij],这时vj成为标号未检查点。 于是vi成为标号已检查的点。重复以上步骤,如果所有的标号都已经检查过,而标号过程无法进行下去,则标号法结束。这时的可行流就是最大流。但是,如果vt被标上号,表示得到一条增广链μ,转入下一步调整过程 调整过程 首先按照vt和其他的点的第一个标号,反向追踪,找出增广链μ。例如,令vt的第一个标号是vk,则弧(vk,vt)在μ上。再看vk的第一个标号,若是vi,则弧(vi,vk)都在μ上。依次类推,直到vs为止。这时,所找出的弧就成为网络D的一条增广链μ。取调整量θ= l(vt),即vt的第二个标号, 网络系统的最大流问题 fij+θ, 当(vi,vj)∈μ+ 令 f’ij= fij-θ, 当(vi,vj)∈μ- 其他不变 再去掉所有的标号,对新的可行流f’={f’ij},重新进行标号过程,直到找到网络D的最大流为止。 网络系统的最大流问题 网络系统的最大流问题 vt v4 v1 v2 v3 vs (2, 1) (3, 0) (4, 3) (3, 3) (5, 1) (2, 2) (5, 3) (1, 1) (1, 1) (Cij, fij) 例7:求下图的网络最大流,弧旁的权数表示(cij, fij) 解:用标号法。 标号过程。 (1)首先给vs标号(0, +∞) (2)看vs:在弧(vs, v2)上,fs2=cs2=3,不具备标号条件。在弧(vs, v1)上,fs1=1cs1=5,故给v1标号(vs, l(v1)),其中l(v1) = min[l(vs), (cs1-fs1)] = min[+∞, 5-1] = 4 (3)看v1:在弧(v1, v3)上,f13 =c13=2,不具备标号条件,在弧(v2, v1)上,f21=10,故给v2标号(-v1, l(v2)),其中l(v2) = min[l(v1), f21] = min[4, 1] = 1 网络系统的最大流问题 (4)看v2:在弧(v2, v4)上,f24=3c24=4,故给v4标号(v2, l(v4)),其中l(v4) = min[l(v2), (c24-f24)] = min[1, 1] = 1,在弧(v3, v2)上,f32=10,故给v3标号(-v2, l(v3)),其中 l(v3) = min[l(v2), f32] = min[1, 1] = 1 (5)在v3, v4

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档