网络流模型与方法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络流模型与方法

网络流问题与方法 图论与网络分析(Graph Theory and Network Analysis)是近几十年来运筹学领域中发展迅速, 基本网络概念 定义1一个图包含和有限的称为节点(node)的元素,以及连接这些节点的无序对的集点称为弧(arc)。用G(V, E)来表示图,其中V是节点集,E是弧集。 有向图,每条弧都给定方向。通常,一条弧认为是有序的对,称此弧是从节点到节点的。在图中通过从节点到节点的弧使用箭点来指定方向,见图1。 图1 有向图 一种通常的表示方法是图的节点一弧的关联矩阵。通过垂直列出节点和水平列出弧进行构造。那么在列中弧下方,一个是在对应的节点的位置,而一个是在对应于节点的位置。图1的关联矩阵表示如下: (1,2) (1,4) (2,3) (2,4) (4,2) (4,3) 一般地,设;,引进网络节点—弧关联矩阵A(node-arc incidence matrix),其元素按如下规则取值: 网络的流 当沿着弧可能存在流,一个流在给定的有向弧是一个数。流在网络的弧中必须连接满足在每个节点的保存需量。特殊地,除非节点是发点和收点(作为下面要讨论的),流量在节点既不能创造也不能流失;进入一个节点的全部流量必须等于此节点全部流出的流量。因此在此节点中 上式第一项的和是从节点流出的和,而第二项的和是整个流进的和。(当然,若从到的弧不存在那么也不存在。) 许多实际的网络流问题均可转化为这类网络流规划问题,如: 运输问题(transportation problem) 这是最小费用流问题的一个特例。它没有转运点,所有节点分成收点与发点两类,各发点之间没有弧相连,各收点之间也没有弧相连,如图2所示。其网络图是偶图。在运费和供求量给定的条件下考虑某些工厂到某些商店的运输方案,以使总的运费最小。 转运问题(transshipment problem) 如果在运输问题中允许有若干收发量的平衡的(纯)转运点存在,则称为转运问题。 分配问题(assignment problem) 这是运输问题的一个特例。其中收点与发点的个数相同,每个节点的收量或发量均为1,而且各弧上的流量只能为0或1。这类问题的实际背景是要把n件活分配给n个工人去做,每人做一件活,而使总的工时(或费用)最少。 最短路问题(shortest path problem) 已知一网络上各弧的长度,要求出从图上给定的节点到节点的最短的通路。 这个问题可以很容易地转化成最小费用流问题。事实上只要把费用系数取为弧的长度。令,,其余的,即把单位货物从流到,而其余节点皆为转运点。各弧上的流量上界可取为1,或者更简单地取为,从而取消上界限制。这样给定各参数值后求解最小流问题,求出的流程路线必定是最短路。 最大流问题(maximum flow problem) 给出一个网络的每条弧规定一个流量的上界,再求从节点至的最大流量,即是最大流问题。 最短路问题的算法 伴随着每个弧是值,表示从节点至节点j 在此弧的距离。最有效算法解最短路问题只针对,对任意(i,j)∈E的情况。问题目的是寻找从节点1至节点m在有向图内的一条最短路。定义是从节点1至节点i, i=2,…,m的最短路的长度,并且。设(j1, j2, …, jm)是(1,2,…,m)的一个变化以使j1=1且 。 构造算法以使在迭代k(1时,jk且Q(jm)被确定。当jk=m时,该程序终止。 通常步的讨论: 设Sk={j1, j2,…,jk}, Rk=V(Sk,且对于所有i∈Rk, (1) 并且 (2) 这算法基于下列定理(证明省略) 定理5.1 并且。 式(5.1)的dk(i)能逐此计算。特别地,因为Sk=Sk-1∪{jk} (3) 对于所有i∈Rk。下面最短路算法基于(5.3)式。 最短路算法 第一步:初始化,k=1, Sk={1}, Rk={2, …,m}, dk(1)=0, dk(i)=c1i若(1, i) ∈E; dk(i)=∞若 (1, i)(E。设P(i)=1,所有i≠1,这里P(i)是一个指示使用于识别一条最短路的边,转第二步。 第二步:设。若,设且转第三步。若i*=m, 设 Q(m)=dk(i*)且转第四步。 第三步:对于所有i∈Rk+1,设 若记P(i)=i*。设k=k+1,且返回第二步。 第四步:追寻最优路,设j=P(i*)且记(j,

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档