最大流问题.ppt
- 文档编号:2492420
- 上传时间:2022-10-30
- 格式:PPT
- 页数:18
- 大小:245.50KB
最大流问题.ppt
《最大流问题.ppt》由会员分享,可在线阅读,更多相关《最大流问题.ppt(18页珍藏版)》请在冰豆网上搜索。
一、最大流问题一、最大流问题基本概念与基本定理1.应用背景在许多实际的网络系统中都存在着流量和最大流问题。
例如铁路运输系统中的车辆流,城市给排水系统的水流问题,控制系统中的信息流问题,常见的人流,物流,水流,气流,电流,现金流等。
在一定条件下,求解给定系统的最大流量,就是网络最大流问题.网络系统最大流问题是图与网络理论中十分重要的最优化问题,它对于解决生产实际问题起着十分重要的作用。
2.2.问题描述问题描述连通网络G(V,A)中有m个节点,n条弧,弧eij上的流量上界为cij,求从起始节点vs到终点vt的最大流量的问题就是最大流问题。
3.3.引例引例连接某产品产地v1和销地v6的交通网如下:
v2v520v3v1v4v66106101610103.3.引例引例连接某产品产地v1和销地v6的交通网如下:
弧(vi,vj):
从vi到vj的运输线,弧旁数字:
这条运输线的最大通过能力容量。
制定一个运输方案,使从v1运到v6的产品数量最多。
二、二、基本概念基本概念11、网络与流、网络与流设一个赋权有向图D=(V,A),在V中指定一个发点vs和一个收点vt,其它的点叫做中间点。
对于D中的每一个弧(vi,vj)A,都有一个非负数cij,叫做弧的容量。
我们把这样的图D叫做一个容量网络,简称网络,记做D=(V,A,C)。
弧的容量:
是对网络上的每条弧(vi,vj)都给出一个最大的通过能力,记为c(vi,vj)或简写为cij。
流:
加在网络各条弧上的一组负载量f(vi,vj):
加在弧(vi,vj)上的负载量,简记为fij,为非负数网络上的流:
是指定义在弧集合上的一个函数f=f(vi,vj),其中f(vi,vj)称为弧(vi,vj)上的流量,流也可看作一个双下标变量弧的流量f(vi,vj):
表示弧(vi,vj)上每单位时间内的实际通过能力弧的容量c(vi,vj):
表示弧(vi,vj)上每单位时间内的最大通过能力
(1)每一个弧上的流量不能超过它的容量.
(2)发点vs的净流出量和收点vt的净流入量必相等。
(3)每一个中间点的流入量与流出量的代数和等于零。
所以流fij应满足下列三个条件:
称满足上述三个条件的流为可行流:
数学描述如下:
(1)容量限制条件:
对于每一个弧(vi,vj)A有0f(vi,vj)c(vi,vj)(简记为0fijcij)
(2)平衡条件:
对于发点vs,有对于收点vt,有式子中V(f)称为可行流f的流量,即发点的净输出量(或收点的净输入量)。
3对于中间点:
流入量=流出量。
即对每个i(is,t)有f(vi,vj)-f(vj,vi)=0(is,t)(简记为fij-fji=0(is,t)即总流量=发点的净输出量=收点的净输入量容量网络的可行流总是存在的,如当所有弧的流均取零,即对所有的i,j,有f(vi,vj)=0就是一个可行流.v2v520v3v1v4v6610610161010求容量网络的最大流算法有Ford-Fulkerson标号法和Edmonds-Karps算法。
求下图v1到v6的最大流可以直接看出。
v1v2v4v6安排流量6;v1v2v5v6安排流量10;v1v3v4v6安排流量4;v1v3v5v6安排流量6;合计最大流量26。
图论的的方法来求最大流较为麻烦,可建立优化模型来求网络最大流。
我们知道起点vs的流出量与终点vt流入量相同,所以可连接一条终点到起点的虚拟弧,将整个网络看成一个封闭流动的回路,这样求最大流就等价于求vt到vs流量fts的最大值。
再由可行流的条件,记起点为第一点,终点为第n点,则有以下规划问题:
对上述网络图,lingo程序如下:
Model:
sets:
nods/v1.v6/;arc(nods,nods)/v1,v2v1,v3v2,v4v2,v5v3,v4v3,v5v4,v6v5,v6v6,v1/:
c,f;endsetsdata:
c=16201010661016,;enddatan=size(nods);max=f(n,1);for(arc(i,j):
f(i,j)=c(i,j);for(nods(i):
sum(arc(i,j):
f(i,j)=sum(arc(j,i):
f(j,i);endvsv1vtv5v4v3v24310413354278Model:
sets:
nods/v0.v6/;arc(nods,nods)/v0,v1v0,v2v0,v3v1,v2v1,v4v2,v4v2,v5v3,v2v3,v5v4,v6v5,v4v5,v6v6,v0/:
c,f;endsetsdata:
c=4310314534728,;enddatan=size(nods);max=f(n,1);for(arc(i,j):
f(i,j)=c(i,j);for(nods(i):
sum(arc(i,j):
f(i,j)=sum(arc(j,i):
f(j,i);end二、最小费用最大流问题二、最小费用最大流问题最小费用最大流问题的数学模型设网络D=(V,A,W),每条弧(vi,vj)除了容量wij以外还给出单位流量的费用c(vi,vj)0,(简记为cij),这样,D就成为一个带费用的网络,记为D=(V,A,W,C),其中,C称为费用函数用函数设F为D上的一个可行流,称为可行流可行流F的的费用用。
由于在满足最大流的情况下,运输方案不唯一,则存在一费用最小的最大流称为最小费用最大流。
例如下图图上每一条弧上有两个数字,前一个代表弧的容量,后一个数代表单位流的费用。
v2v5(7,8)v3v1v4v6(2,1)(8,2)(9,3)(5,6)(10,7)(5,5)(9,2)(6,4)最小费用最大流的求法可分为两步:
先求出网络的最大流;将最大流作为一个约束,求出最小费用。
最大流模型前面已给出,下面给出最小费用的数学模型。
Model:
sets:
nods/v1.v6/;arc(nods,nods)/v1,v2v1,v3v2,v3v2,v4v3,v5v4,v3v4,v6v5,v4v5,v6v6,v1/:
c,f;endsetsdata:
c=8759925610,;enddatan=size(nods);max=f(n,1);for(arc(i,j):
f(i,j)=c(i,j);for(nods(i):
sum(arc(i,j):
f(i,j)=sum(arc(j,i):
f(j,i);endModel:
sets:
nods/v1.v6/;arc(nods,nods)/v1,v2v1,v3v2,v3v2,v4v3,v5v4,v3v4,v6v5,v4v5,v6v6,v1/:
c,w,f;endsetsdata:
w=875992561014;c=2852316470;enddatamin=sum(arc:
c*f);f(6,1)=14;for(arc(i,j):
f(i,j)=w(i,j);for(nods(i):
sum(arc(i,j):
f(i,j)=sum(arc(j,i):
f(j,i);end
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最大 问题
![提示](https://static.bdocx.com/images/bang_tan.gif)