- 1、本文档共49页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
河北大学2013届硕士毕业论文答辩 网络最大流算法研究 目录 研究背景 网络最大流理论的研究至今已经有将近60年的历史,最早是Dantzig(1951)从运筹学的角度出发的网络单纯形法,随着Ford和Fulkerson(1956)标号算法的提出,由图论出发的网络流理论才被系统的建立起来。50多年来,以2F标号算法为基础,大量新颖有效的算法陆续被提出,不断丰富和完善着网络流理论,近年来,随着计算机技术的迅猛发展,最大流算法复杂度的下界不断被改进,同时,理论算法的实际实现效率不断提高,进而使网络最大流理论在信息传输,路网交通,物资调运,配送,图像处理等领域的应用越来越广泛,应用价值也越来越高。 研究背景 尽管如此,网络最大流理论的研究还远远没有结束,许多问题亟待解决。 第一,目前网络最大流算法时间复杂度的精确下界还没有被找到,更没有哪一种通用的算法达到或接近本问题的下界; 第二,大量优秀算法被提出的同时,其实际实现问题也随之出现,许多算法的算法复杂度有所降低,但是实现起来却很困难,对CPU的运算速度,及内存的要求都非常高,有待进一步解决; 研究背景 第三,基于图论基础上的网络最大流理论,较之组合数学,运筹学上的方法,有其独有的优势,现行算法比一般的线性规划处理方法要简单很多。正是因为其简便性,因此,对于如何发现网络最大流理论的更多有价值的实际应用,本身就是一个很值得研究的重要课题。 2.本文算法改进的基础 第一,1956年由Ford和Fulkerson提出的2F标号算法,此算法又被称为增广路算法,即在剩余网络中不断寻找增广路,每找到一条增广路就进行一次增流,直至找到全部增广路为止。但是,对于复杂网络,增广路寻找本身就是一个极为棘手的问题,更为无奈的是,当网络的最大弧容量为无理数时,最大流不收敛。因此,2F标号算法是伪多项式算法。 2.本文算法改进的基础 第二,1970年到1973年,Dinic增量网络算法的提出,使得最大流算法的复杂度进一步降低,由原来的O(nm2)和O(n2m)降低到O(m2logU)和O(nmlogU),其中U为整型网络的最大弧容量。此后很长一段时间,算法时间复杂度核心因子一直停留在O(nm),没有能被突破。 3.本文的算法内容 最大流算法研究的两个出发点: (1) 从增广路径出发 (2) 从网络的割集出发 本文提出的两个算法: (1) 基于枢纽度(流枢纽度)的增广路算法; (2) 二分部分割矩阵算法; 3.1 Dinic增量网络算法的分析 1.算法的基本步骤: Step0:初始化网络的可行流f0; Step1:构造网络的增量网络N(f); Step2:对增量网络N(f)分层,若分层不能达到汇点y,则网络的最大流为f0,否则转下步; Step3:构造网络的辅助网络AN(f),在AN(f)中寻找x-y有向路,即可增路; Step4:沿可增路增流完毕之后,删去已经被注满的边,反复增流,直至AN(f)中不存在x-y有向路为止; Step5:循环执行以上步骤,若网络已不能分层至y点,则网络最大流已找到; 3.1 Dinic增量网络算法分析 2.Dinic算法存在的问题: 3.1 Dinic增量网络算法的分析 2. Dinic算法存在的问题: 3.1 Dinic增量网络算法的分析 2. Dinic算法存在的问题: 3.1 Dinic增量网络算法的分析 2. Dinic算法存在的问题: 3.1 Dinic增量网络算法的分析 2. Dinic算法存在的问题: 3.1 Dinic增量网络算法的分析 2. Dinic算法存在的问题: 3.1 Dinic增量网络算法的分析 2. Dinic算法存在的问题: 3.1 Dinic增量网络算法的分析 2. Dinic算法存在的问题: 删去已经饱和的弧,更新网络: 3.1 Dinic增量网络算法的分析 2. Dinic算法存在的问题: 此时网络的最大流的流值为:2+2=4,而实际网络的最大流为:2+2+2=6; 3.2 基于枢纽度的增广路算法 1. 算法改进中的一些重要概念 枢纽度:设网络N=(V,x,y,A,C),任意u?V,T?V,T={v|其中v为u的邻点},为了表示v点对于u点的重要程度,我们称v点的度(出度与入度之和)d(v)的倒数1/d(v)为网络的枢纽度,记为Key(v),将枢纽度最大的点称为枢纽点。 注1 (1) 枢纽度表示的是此点在网络连通性中的重要程度,换言之,删去此点对网络的连通性影响较大。 3.2 基于枢纽度的增广路算法 (2)枢纽度是一个相对的概念,考察的对象为与已知点相邻的点集中的点。 (3) 对于一个给定的网络N=(V,x,y,A,C),我们规定Key(x)= Key(y)=1,即
文档评论(0)