- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图论与算法 第九讲 最小用度流
《算法艺术与信息学竞赛》 算法图论 第九讲 最小费用流 声明 本系列教学幻灯片属于刘汝佳、黄亮著《算法艺术与信息学竞赛》配套幻灯片 本幻灯片可从本书blog上免费下载,即使您并未购买本书. 若作为教学使用,欢迎和作者联系以取得技术支持,也欢迎提供有不同针对性的修改版本,方便更多人使用 有任何意见,欢迎在blog上评论 Blog地址: 内容介绍 一、最小费用流问题 二、消圈算法 三、网络单纯形法 四、应用举例 一、最小费用流问题 问题描述 如果给流网络的每条弧新加一个权cost(u,v),代表单位流量的费用,则总费用为每条弧的f(u,v)*cost(u,v)之和 以下三个流流量相同, 但中图的费用最小 分布网络 分布网络(distribution network): 带弧容量、费用和点权(supply或demand)的网络 定理: 分布网络最小费用可行流问题等价于s-t网络最小费用最大流问题 以后未加说明, 我们只考虑分布网络的最小费用可行流问题, 简称最小费用流问题(mincost flow problem) 残量网络 设(u,v)的容量为c, 流量为f, 费用为x 若f0, Gf中存在弧(v, u), 容量为f, 费用为x 若fc, Gf中存在弧(u, v), 容量为c-f, 费用为-x 因为有负费用, 所以有可能有负费用圈 定理: 流f是相同流量的流中费用最小的流当且仅当Gf不存在负费用圈 必要性. 若存在负费用圈, 沿它增广将得到相同流量费用更小的流 充分性. 不存在负费用圈, 却有更小费用流为f’, 则f’-f是循环流, 可分解为圈的并, 但这些圈费用为正 二、消圈算法 算法思想 消圈算法: 先求最大流, 再在Gf中寻找负费用圈并沿它增广 改进: 增加附加弧(s, t), 费用大于s-t最大费用路(如VC), 弧上的初始流大于s-t最大流(如s出发的弧容量和加1) 消圈算法将让尽量多的流移出附加弧, 因此得到的流是最大流. 最后附加弧可能有余量,应当忽略 实际效果: 最小费用增广路算法, 因为Gf中任何s-t路和t-s一定构成负费用圈 分析 最坏情况分析: 每次找负费用圈O(VE), 每次只把费用更新1, 一共需要ECM次(M为最大费用, C为容量), 在稀疏图中总时间复杂度为O(VE2CM)=O(V3CM) 改进方向 每次不重新找圈, 而是从中间状态找 每次不随意找圈, 而是只找满足某些条件的圈 存在消圈算法, 一共只找O(VE)个圈 三、网络单纯形法 算法思想 思想: 维护可行树, 并使用重加权技术加速负圈寻找并减少迭代次数 弧的三种状态: 空(empty), 满(full), 部分(partial), Gf中分别只有u-v, 只有v-u和都有 若部分弧不形成环, 则可行树是网络中包含所有部分弧的任意生成树. 忽略弧的方向. 注意部分弧代表正反向弧都在Gf中的弧 构造可行树 方法一: 求最大流. 若部分弧形成圈, 沿圈增广填满一些弧, 再加入满弧或空弧, 构成可行树 构造可行树 方法二: 附加弧(s,t), 容量和费用都很大, 则求出最大流后, 只有(s,t)是部分弧, 在剩下图中任意构造一棵生成树, 加入(s,t)即可 算法思想 可行树: 由于可行弧在Gf中都是双向的, 任意再加一条弧一定可以形成一个圈. 思想: 快速找到加入哪一条弧得到的圈为负 顶点势(vertex potential) 方法: 给每个顶点u赋予顶点势phi[u] 解释: phi[u]为在结点u买流的费用 简化费用(reduced cost) 公式: c*(u,v)=c(u,v)-(phi[u]-phi[v]) 解释: 从结点u买流以后运到v后卖掉 简化费用可以即需即算, 无需存储 顶点势 如果顶点势让可行树所有边的简化费用为0, 称顶点势是有效的(valid). 定理: 所有有效顶点势相差一个常数. 可任意指定一个点为树根, 势为0, 其他可以算出 合格弧 称一条弧是合格(eligible)的, 如果它和可行树构成了一个负费用圈 定理: 一条弧是合格的当且仅当 它是满弧, 且有正简化费用, 或 它是空弧, 且有负简化费用 证明: 把圈上所有弧的简化费用等式叠加, 则费用和=非树边的简化费用 定理: 若不存在合格弧, 得到最小费用流 可行树的维护 若找到合格边, 则沿负费用圈增广 *
您可能关注的文档
最近下载
- 基于大模型的生成式检索.pdf VIP
- 西门子伺服操作说明书-SINAMICS_V90_OPI.pdf VIP
- 电力工程施工安全与质量控制管理.docx VIP
- Packing List-装箱单表格模板.xls VIP
- 电力工程施工安全及质量控制管理.doc VIP
- 2025年最新版硫化氢考试题库大全集.doc VIP
- [江西]发电厂2×600mw级机组“上大压小”土建工程施工组织设计.doc VIP
- 《护患沟通技巧》ppt课件.pptx VIP
- 县乡教师选调进城考试《教育心理学》题库及答案(各地真题).docx VIP
- 发电厂“上大压小”2×600MW超临界空冷机组工程土建专业主要施工方案.docx VIP
文档评论(0)