已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络流初步,1,最大流算法最小费用最大流最大流最小割定理,2,最大流算法,网络流之一,3,问题:问从S到T的最大水流量是多少?,实例:,有一自来水管道输送系统,起点是S,目标是T,途中经过的管道都有一个最大的容量。,4,1S,4,3,2,5,6t,7,3,4,8,4,2,4,6,4,6,2,2,2,4,4,6,最大水流量是10,5,一、网络流的定义,有唯一的一个源点S(入度为0:出发点)有唯一的一个汇点T(出度为0:结束点)图中每条弧(u,v)都有一非负容量c(u,v),有向图G=(V,E)中:,满足上述条件的图G称为网络流图。记为:G=(V,E,C),6,1、可行流,每条弧(u,v)上给定一个实数f(u,v),满足:有0-3减的由-补充,17,4、一条增广路径:15d=min6-1,4-2=2增加流量:2Sum=5+2=7,1,2,4,3,5,6,4,2,3,4,5,2,2-1=1,2,1,2,4,3,5,4,2,3,4,2,2,2,1,1,1,18,定理:可行流f为最大流,当且仅当不存在关于f的增广路径证:若f是最大流,但图中存在关于f的增广路径,则可以沿该增广路径增广,得到的是一个更大的流,与f是最大流矛盾。所以,最大流不存在增广路径。,19,Ford-Fulkerson方法(增广流)求最大流(福特-福克森),步骤:(1)如果存在增广路径,就找出一条增广路径DFS,BFS(2)然后沿该条增广路径进行更新流量(增加流量),While有增广路径do更新该路径的流量迭代算法,20,cu,v:容量fu,v:流量Bi:保存找到的增广路径,记录路径上结点i的前驱结点。Sum:最大流量。假定:1是源点S;n是汇点T。,算法的实现:,21,functionfindflow(k:integer):boolean;找结点k的后继结点ivari:integer;beginifk=nthenexit(true);找到了一条增广路径fori:=1tondoif(bi=-1)and(ck,i-fk,i0)or(fi,k0)thenbeginbi:=k;iffindflow(i)thenexit(true);end;exit(false);end;,1):DFS找增广路径,22,2)procedureaddflow;/沿增广路径增广(增加流量),d:=maxint;增量i:=n;沿增广路径的终点向起点反向求dwhilebi0dobeginifcbi,i0thend:=min(d,cbi,i-fbi,i);正向边ifci,bi0thend:=min(d,fi,bi);逆向边i:=bi;end;i:=n;whilebi0do逆向更新每条边的流量beginifcbi,i0theninc(fbi,i,d);正向边ifci,bi0thendec(fi,bi,d);逆向边i:=bi;end;inc(sum,d);总流量增加d,23,主程序:fori:=1tondobi:=-1;初始化增广路径b1:=0;whilefindflow(1)do增广流beginaddflow;fori:=1tondobi:=-1;b1:=0;end;writeln(sum);输出最大流fori:=1tondo输出每条边的流量forj:=1tondoiffi,j0thenwriteln(i,-,j,fi,j);,24,优化,残留网络d的设置:若存在(u,v)则d(u,v)=c(u,v)f(u,v)d(v,u)=f(u,v)d(u,v)是从u到v能增加的最大流量理解:(u,v)的流量为f(u,v),作为正向边还可以增加的量是c(u,v)f(u,v),作为逆向边,还可以增加的流量为:f(u,v)。增广路上正向边流量增加,逆向边增加流量减少。,d(u,v)=c(u,v)d(v,u)=0,25,深搜找增广路径过程functionfind(k:integer):boolean;ifk=nthenexit(true);fori:=1tondoif(bi=-1)and(dk,i0)thenbi:=k;iffind(i)thenexit(true);/此处bi不需要变回-1exit(false);/b1=0;b2n=-1;主函数中调用find(1),26,广搜找增广路径过程functionbfsbfs:boolean;a是广搜队列fori:=1tondobi:=-1;b是前驱b1:=0;a1:=1;open:=0;closed:=1;whileopen0)theninc(closed);aclosed:=i;bi:=k;ifi=nthenexit(true);找到增广路exit(false);没找到增广路,27,增广过程min:=maxint;i:=n;whilebi0(i1)do/逆向求增加流minifmindbi,ithenmin:=dbi,i;i:=bi;i:=n;whilebi0(i1)do/逆向修改流量dec(dbi,i,min);inc(di,bi,min);i:=bi;inc(sum,min);sum是总流量,28,问题1:奶牛的新年晚会,奶牛们要举办一次别开生面的新年晚会。每头奶牛会做一些不同样式的食品(单位是盘)。到时候他们会把自己最拿手的不超过k样食品各做一盘带到晚会,和其他奶牛一起分享。但考虑到食品太多会浪费掉,他们给每种食品的总盘数都规定了一个不一定相同的上限值。这让他们很伤脑筋,究竟应该怎样做,才能让晚会上食品的总盘数尽量的多呢?,例如:有4头奶牛,每头奶牛最多可以带3盘食品。一共有5种食品,它们的数量上限是2、2、2、2、3。奶牛1会做食品14,奶牛2会做食品25,奶牛3会做食品1、2、4,奶牛4会做食品13。那么最多可以带9盘食品到晚会上。即奶牛1做食品24,奶牛2做食品35,奶奶3做食品1、2,奶牛4做食品1。这样,4种食品各有2、2、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年苏州托普信息职业技术学院辅导员招聘备考题库附答案
- 2025年陕西工商职业学院单招(计算机)测试备考题库及答案1套
- 2026年重庆理工职业学院单招职业倾向性测试模拟测试卷附答案
- 2025年通化钢铁公司职工大学辅导员考试笔试题库附答案
- 2026年常州信息职业技术学院单招(计算机)考试备考题库附答案
- 2026年山东外事职业大学单招(计算机)测试备考题库及答案1套
- 2026年烟台黄金职业学院单招(计算机)测试模拟题库及答案1套
- 2026年山西药科职业学院单招(计算机)测试备考题库必考题
- 2026年西安交通工程学院单招职业适应性测试模拟测试卷附答案
- 2026年西宁城市职业技术学院单招综合素质考试题库附答案
- 小学生必背古诗“飞花令”100令(低年级版)
- 上海市建设工程项目管理机构管理人员情况表
- 学院中层正副职民主测评表
- 医疗器械经营企业培训记录
- 10KV开关柜验收报告
- 2023年中国-东盟博览会秘书处招聘笔试备考题库及答案解析
- 矿产资源与国家安全【备课精讲精研+能力拓展提升】 高二地理下学期 课件(湘教版2019选择性必修3)
- GB/T 21566-2008危险品爆炸品摩擦感度试验方法
- GB/T 10205-2009磷酸一铵、磷酸二铵
- 颈椎DR摄影技术-
- 自动化导论全套课件
评论
0/150
提交评论