运筹学图与网络

合集下载

运筹学8图与网络分析

运筹学8图与网络分析

e3 。在剩下的图中,再取一个圈
定理8.7充分性的证明,提供了一个 寻找连通图支撑树的方法叫做“破圈法”。 就是从图中任取一个圈,去掉一条边。再 对剩下的图重复以上步骤,直到不含圈时 为止,这样就得到一个支撑树。
例8.4 用破圈法求出图8-11的一个支
撑树。
v2
e1
e7 e4
v1
e3 v4
e8
v5
e2
e5
v3
e6
图8-11
取一个圈(v1,v2,v3,v1),在一个圈中去掉边
3
4
初等链:链中所含的 点均不相同, 也称通 路;
5
6
为闭链或回路或圈;
简单圈:如果在一个圈中所含的边均不相同 初等圈:除起点和终点外链中所含的点 均
不相同的圈;
连通图:图中任意两点之间均
至少有一条通路,否则 v1
v4 v5 v8
称为不连通图。
v2
初等链: (v1 , v2 , v3 , v6 ,
图的连通性:
简单链:链中所含的 边均不相同;
圈:若 v0 ≠ vn 则称该链为开链,否 则称
1
2
链:由两两相邻的点及其相 关联的边构成的点边序列。 如:v0 ,e1 ,v1 ,e2 ,v2,e3 ,v3 ,…,vn1 , en , vn ; v0 ,vn 分别为链的起点和终点 。记 作( v0 ,v1 , v2, ,v3 , …, vn-1 , vn )
v5
v7
(v5
,v1v6),(v6
(v4 ,v6),(v5 ,v7)}
,v3),(v5
v6
,v4),
v2
v4
图8.5
下面介绍一些常用的名词:

运筹学(第6章 图与网络分析)

运筹学(第6章 图与网络分析)
a1 (v1) 赵
(v2)钱
a2 a3 a4 a14 a15
a8 a9
a7 (v4) 李
(v3)孙
a5 (v5) 周 a6 a10 (v6)吴
图6-3
a12 a11 a13
(v7)陈

定义: 图中的点用v表示,边用e表示。对每条边可用它
所连接的点表示,记作:e1=[v1,v1]; e2=[v1,v2];
树是图论中结构最简单但又十分重要的图。在自然和社会领 域应用极为广泛。 例6.2 乒乓求单打比赛抽签后,可用图来表示相遇情况,如 下图所示。
运动员 A
B C
D
E
F G
H

例6.3 某企业的组织机构图也可用树图表示。
厂长
人事科
财务科
总工 程师
生产副 厂长
经营副 厂长
开发科
技术科
生产科
设备科
供应科
动力科
e2
(v1) 赵
e1
e3
e4 孙(v3) 李(v4)
周(v5)
图6-2
e5 吴(v6) 陈(v7)
(v2)钱
如果我们把上面例子中的“相互认识”关系改为“认识” 的关系,那么只用两点之间的联线就很难刻画他们之间的关 系了,这是我们引入一个带箭头的联线,称为弧。图6-3就是 一个反映这七人“认识”关系的图。相互认识用两条反向的 弧表示。
端点,关联边,相邻 若有边e可表示为e=[vi,vj],称vi和
e2 v2 e6 e1 e4 v1 e3 v3 e8
vj是边e的端点,反之称边e为点vi
或vj的关联边。若点vi、vj与同一条 边关联,称点vi和vj相邻;若边ei和
e5
e7

运筹学6(图与网络分析)

运筹学6(图与网络分析)

定义7:子图、生成子图(支撑子图)
图G1={V1、E1}和图G2={V2,E2}如果 V1 V2和E1 E2 称G1是G2的一个子图。
若有 V1=V2,E1 E2 则称 G1是G2的一 个支撑子图(部分图)。
图8-2(a)是图 6-1的一个子图,图8-2 (b)是图 8-1的支撑子图,注意支撑子图 也是子图,子图不一定是支撑子图。 e1
v2 ▲如果链中所有的顶点v0,v1,…,vk也不相
e1 e2 e4 v1 e3
v3 e5
同,这样的链称初等链(或路)。
e6
▲如果链中各边e1,e2…,ek互不相同称为简单链。
e7
e8
▲当v0与vk重合时称为回路(或圈),如果边不 v4
v5
重复称为简单回路,如果边不重复点也不重复
则称为初等回路。
图8-1中, μ1={v5,e8,v3,e3,v1,e2,v2,e4,v3,e7,v5}是一条链,μ1中因顶 点v3重复出现,不能称作路。
e1
e2 e4 v1 e3
v2
v3
e5
e6
e7
e8
v4
v5
定理1 任何图中,顶点次数的总和等于边数的2倍。
v1
v3
v2
定理2 任何图中,次为奇数的顶点必为偶数个。
e1
e2 e4 v1 e3
v2
v3
e5
e6
e7
e8
v4
v5
定义4 有向图: 如果图的每条边都有一个方向则称为有向图
定义5 混合图: 如何图G中部分边有方向则称为混合图 ② ⑤ ④
定理4 有向连通图G是欧拉图,当且仅当G中每个顶点的出 次等于入次。
② 15
9 10

运筹学第六章图与网络分析

运筹学第六章图与网络分析

S
2
4
7
2 A
0 5
S
5 45 B
98
14
5
13
D
T
C
E
4
4
4
7
最短路线:S AB E D T
最短距离:Lmin=13
2.求任意两点间最短距离的矩阵算法
⑴ 构造任意两点间直接到达的最短距离矩阵D(0)= dij(0)
S A B D(0)= C D E T
SABCDET 0 25 4 2 02 7 5 20 1 5 3 4 1 0 4 75 0 15 3 41 0 7 5 7 0
e1 v1
e5
v0 e2
e3
v2
e4
e6 e7
v3
v4
(4)简单图:无环、无多重边的图称为简单图。
(5)链:点和边的交替序列,其中点可重复,但边不能 重复。
(6)路:点和边的交替序列,但点和边均不能重复。
(7)圈:始点和终点重合的链。
(8)回路:始点和终点重合的路。
(9)连通图:若一个图中,任意两点之间至少存在一条 链,称这样的图为连通图。 (10)子图,部分图:设图G1={V1,E1}, G2={V2,E2}, 如果有V1V2,E1E2,则称G1是G2的一个子图;若 V1=V2,E1E2,则称G1是G2的一个部分图。 (11)次:某点的关联边的个数称为该点的次,以d(vi)表示。
步骤:
1. 两两连接所有的奇点,使之均成为偶点;
2. 检查重复走的路线长度,是否不超过其所在 回路总长的一半,若超过,则调整连线,改 走另一半。
v1
4
v4
4
1
4
v2
v5
5

运筹学第6章 图与网络

运筹学第6章 图与网络

也就是说| V1 |必为偶数。
定理6.2有学者也称作定理6.1的推论。根据定理6.2,握手定理也可以 表述为,在任何集体聚会中,握过奇次手的人数一定是偶数个。
12 该课件的所有权属于熊义杰
另外,现实中不存在面数为奇数且每个面的边数也是奇数的多面 体,如表面为正三角形的多面体有4个面,表面为正五边形的多面体有 12个面等等,也可以用这一定理予以证明。因为在任意的一个多面体 中, 当且仅当两个面有公共边时,相应的两顶点间才会有一条边,即 任意多面体中的一个边总关联着两个面。所以,以多面体的面数为顶
v j V2
(m为G中的边数)
因式中 2m 是偶数, d (v j ) 是偶数,所以 d (vi ) 也必为偶数
v j V2
vi V1
( 两个同奇同偶数的和差必为偶数 ), 同时,由于 d (vi ) 中的每个加数 d (vi )
均为奇数,因而 d (vi ) 为偶数就表明, d (vi ) 必然是偶数个加数的和 ,
图论、算法图论、极值图论、网络图论、代数图论、随机图论、 模糊图论、超图论等等。由于现代科技尤其是大型计算机的迅 猛发展,使图论的用武之地大大拓展,无论是数学、物理、化 学、天文、地理、生物等基础科学,还是信息、交通、战争、 经济乃至社会科学的众多问题.都可以应用图论方法子以解决。
1976年,世界上发生了不少大事,其中一件是美国数学家 Appel和Haken在Koch的协作之下,用计算机证明了图论难题— —四色猜想(4CC):任何地图,用四种颜色,可以把每国领土染 上一种颜色,并使相邻国家异色。4CC的提法和内容十分简朴, 以至于可以随便向一个人(哪怕他目不识丁)在几分钟之内讲清 楚。1852年英国的一个大学生格思里(Guthrie)向他的老师德·摩 根(De Morgan)请教这个问题,德·摩根是当时十分有名的数学家, 他不能判断这个猜想是否成立,于是这个问题很快有数学界流 传开来。1879年伦敦数学会会员Kemple声称,证明了4CC成立, 且发表了论文。10年后,Heawood指出了Kemple的证明中

运筹学第六章图与网络分析a管理精品资料

运筹学第六章图与网络分析a管理精品资料
min T (v j) T ( v j) ,L ( v i) d ij j
3. 在与固定标号点相邻的临时标号点中选取 具有最小标号的点vi给予固定标号,即:
L(vi)=min{ T(vj) } 返回第2步。 4. 当vn得到固定标号时,计算结束。 注: 固定标号L(vi)表示v1到vi的最短距离, 临时标号T(vj)表示v1到vi距离的上界。
能一笔画的图一定是欧拉圈或含有欧拉链。 定理:连通的多重图G是欧拉图的充要条件是G 中无奇点。 推论:连通的多重图G有欧拉链的充要条件是G 中恰有两个奇点。
第二节 树图和图的最小部分树
树图:无圈的连通图称为树图,记为T(V,E)。 2-1 树的性质 性质1:任何树中必存在至少两个次为1的点(悬 挂点)。
若一个简单图中任意两点之间均有边相连,
则称该图为完全图。
对含有n个顶点的完全图,其边数有
Cn2
1n(n1) 2
条。
如果图的顶点能分成两个互不相交的非空
集合V1和V2 ,使在同一集合中任意两个顶点 都不相邻,则称该图为偶图(或二分图)。
若偶图的顶点集合V1、V2之间的每一对不 同顶点之间都有一条边相连,则称该图为完全 偶图。在完全偶图中, V1若有m个顶点, V2 有n个顶点,则其边数共有m×n条。
临时标号
v2(5) v3(2) v4(∞) v5(∞) v6(∞) v7(∞) v2(5) v4(9) v5(∞) v6(6) v7(∞) v4(7) v5(12) v6(6) v7(∞) v4(7) v5(7) v7(12)
v5(7) v7(12)
v7(10)
❖ Dijkstra 算 法 仅 适 合 于 所 有 的 权
Hale Waihona Puke 3-2 求任意两点间最短距离的矩阵算法(Floyd) 设邻接矩阵为D,计算D1=D+D, D2= D1 +D ,

运筹学课件-第六章图与网络分析

运筹学课件-第六章图与网络分析
运筹学课件-第六章 图与网络分析
contents
目录
•的算法 • 图的应用
01
CATALOGUE
图的基本概念
图的定义
总结词
图是由顶点(或节点)和边(或弧) 组成的数据结构。
详细描述
图是由顶点(或节点)和边(或弧) 组成的数据结构,其中顶点表示对象 ,边表示对象之间的关系。根据边的 方向,图可以分为有向图和无向图。
04
CATALOGUE
图的算法
深度优先搜索
要点一
总结词
深度优先搜索是一种用于遍历或搜索树或图的算法。
要点二
详细描述
该算法通过沿着树的深度遍历树的节点,尽可能深地搜索 树的分支。当节点v的所在边都己被探寻过,搜索将回溯到 发现节点v的那条边的起始节点。这一过程一直进行到已发 现从源节点可达的所有节点为止。如果还存在未被发现的 节点,则选择其中一个作为源节点并重复以上过程,整个 进程反复进行直到所有节点都被访问为止。
物流网络设计的应用
在物流规划、供应链管理、运输优化等领域有广泛应用,例如通过物 流网络设计优化货物运输路径、提高仓储管理效率等。
生物信息学中的图分析
生物信息学中的图分析
利用图论的方法对生物信息进 行建模和分析,以揭示生物系 统的结构和功能。
生物信息学中的节点
代表生物分子、基因、蛋白质 等。
生物信息学中的边
Dijkstra算法
总结词:Dijkstra算法是一种用于在有向图中查找单源 最短路径的算法。
详细描述:Dijkstra算法的基本思想是从源节点开始, 逐步向外扩展,每次找到离源节点最近的节点,并更新 最短路径。该算法使用一个优先级队列来保存待访问的 节点,并将源节点加入队列中。然后,从队列中取出具 有最小优先级的节点进行访问,并将其相邻节点加入队 列中。这一过程一直进行,直到队列为空,即所有可到 达的节点都已被访问。Dijkstra算法的时间复杂度为 O((V+E)logV),其中V是节点的数量,E是边的数量。

第六章物流运筹学——图与网络分析.

第六章物流运筹学——图与网络分析.
L( )
( vi ,v j )
l
ij
最小的 。
Dijkstra算法
算法的基本步骤: (1)给 v s 以 P 标号, P(vs ) 0 ,其余各点均给 T 标号, T (vi ) 。 (2)若 vi 点为刚得到 P 标号的点,考虑这样的点 v j: (vi , v j ) E ,且 v j 为 T 标号,对 v j 的 T 标号进行如下的更改:
v2
(4,3)
v4
(3,3)
(5,3) (1,1) (1,1) (3,0)
vs
(5,1)
vt
(2,1)
v1
(2,2)
v3
图 6-14
运输线路图
第四节 最小费用最大流问题
在容量网络 G (V , E, C ) ,每一条边 (vi , v j ) E 上,除了已 给容量 cij 外,还给了一个单位流量的费用 bij 0 ,记此时的容 量网络为 G (V , E, C , B) 。 所谓最小费用最大流问题就是要求一个最大流 f ,使流的 总运输费用 b( f )
定理 6-1 任何图中顶点次数的总和等于边数的 2 倍。 推论 6-1 任何图中,次为奇数的顶点必有偶数个。 图 G (V , E ) 和图 H (V , E ) ,若 V V且E E ,则 称 H 是 G 的子图,记作: H G ;特别的,当 V V 时, 称 H 为 G 的生成子图。
容量网络g若?为网络中从sv到tv的一条链给?定向为从sv到tv?上的边凡与?同向称为前向边凡与?反向称为后向边其集合分别用??和??表示??ijff?是一个可行流如果满足??????0ijijijijiijjffcvv??????????c???0ijijijfvv????则称?为从sv到tv的关于f的可增广链

运筹学第7章图与网络优化

运筹学第7章图与网络优化
*
1
链,圈,初等链,初等圈,简单链(圈)
2
相邻节点的序列 {v1 ,v2 ,…, vn} 构成一条链(link)p178;
3
在无向图中,节点不重复出现的链称为初等链;
4
首尾相连的链称为圈(loop) ;首尾相连的初等链称为初等圈;
5
边不重复出现的链(圈)称为简单链(圈)
01
02
子图,部分图;连通图,成分
(1).与v3相连的临时标号有v5
第五步:
T(v5)=min{T(v5),P(v3)+d35}=min{9,7+3}=9
(2).P(v5)=9
最短路线:
vs→v1→v4→ v5 vs→v2→v4→ v5
vS
v2
v3
v4
v5
1
2
2
2
3
3
3
4
4
0
4
5
3
7
9
*
也可以用表格的形式求解。p190
斯坦纳树问题
假设我们在北京、上海、西安三城市之间架设电话线,一种办法是分别联通北京--上海和北京--西安。另一种办法是选第四个点,假设郑州。由此分别向三城市架线,可能你不会想到第二种办法所用的电话线只是第一种办法的86.6%,即可取得比第一种办法节约13%的显著经济效益。这就是离散数学界30年代提出的著名的斯坦纳树问题,但一直未能得到证明。
平面图(planar graph),若在平面上可以画出该图而没有任何边相交
*
7基础图,路,回路,欧拉回路
在有向图D(V,A)中去掉箭头,称为D的基础图,G(D)
01
在有向图中,链 路
02
圈 回路
03

7图与网络分析

7图与网络分析

运筹学 4
第一节 一、概念
图的基本概念和模型
图:点V和边E的集合,用以表示对某种现实事 物的抽象。记作 G={V,E},
V={v1,v2,·,vn}, · · E={e1,e2,·,em} · · 点:表示所研究的事物对象
e0
e1 v1 e5 e3 e4
v0
e2 v2 e7
v4
运筹学 5
边:表示事物之间的联系
15.0 12.5 25.0 20.0 21.0 16.0 12.5 6.5
4
5
13.0
9.0
6.5
运筹学 26
某台机器可连续工作4年,也可于每年末卖掉,换一 台新的。已知于各年初购置一台新机器的价格及不同役 龄机器年末的处理价如下表所示,又新机器第一年运行 及维护费用为0.6万元,使用1-3年后机器每年的运行及 维修费用为1.6、3.0、4.0万元。试确定该机器的最优更 新策略,使4年内用于更换、购买及运行维修的总费用为 最省?
两个人),他们同在河的一边,想渡过河去,但是必须 保证在河的任何一边商人的数目要大于等于强盗的数目, 并要满足渡河次数尽量少,应该怎么过这条河?
运筹学 15
应用
分酒问题
两人有一只容积为8升的酒壶盛满了酒,还有
两只容积分别为5升和3升的空壶,问平分酒的最简
单的方法应当怎样?
8
5
3
运筹学 16
10名研究生参加6门课程考试。由于选修内容不同,考试门数也 不一样。每个研究生应参加的考试课程如下表所示(打“√” 表示参加该课程考试)。
示,打“√”的项目是各运动员报名参加比赛的项
目。问:六个项目的比赛顺序应如何安排,才能做 到使每名运动员不连续地参加两项比赛?

运筹学06图与网络分析

运筹学06图与网络分析

满足w(T*)=min(w(T))的树T*称为最小支撑树 (最小树)。
求最小树的方法 求最小树的避圈法 求最小树的破圈法
根树及其应用
有向树中的根树在计算机科学、决策论中有 很重要的应用
有向树:若一个有向图在不考虑边的方向时 是一棵树,则称这个有向图为有向树。
根树:有向树T,恰有一个结点入次为0,其 余各点入次均为1,则称T为根树(又称外向 树)。根树中入次为0的点称为根。根树中出 次为0的点称为叶。入次和出次均大于0的点 称为分枝点。由根到某一顶点vi的道路长度 (设每边长度为1),称为vi点的层次。
v4
a5 a4 a7
a1=(v1,v5)
a6
a2=(v5,v4) a3=(v1,v4) a4=(v3,v1) a5=(v1,v2) a6=(v2,v3) a7=(v1,v4)
v2
v3
d-(v1)=1;d+(v1)=3 d-(v2)=1;d+(v2)=1 d-(v3)=1;d+(v3)=2 d-(v4)=3;d+(v4)=0 d-(v5)=1;d+(v5)=1
树及其性质
树在现实中随处可见,如电话线架设、比赛 程序、组织结构等。
树:连通的无圈的无向图称为树。
树的性质 图G=(V,E),p个点、q条边,下列说法是等价

(1)G是一个树 (2)G连通,且恰有p-1条边 (3)G无圈,且恰有p-1条边 (4)G连通,但每舍去一边就不连通 (5)G无圈,但每增加一边即得唯一一个圈 (6)G中任意两点之间恰有一条链(简单链)
如果对于给定的图G=(V,E)的任意一边e∈E, 有一实数W(e)与之对应,则称G为赋权图,称 W(e)为边e的权。

运筹学图与网络分析

运筹学图与网络分析
v6
07
含有奇点的连通图中不含欧拉圈,此时,最优的邮递路线是什么呢?
08
求解中国邮路问题的奇偶点图上作业法
奇偶点表上作业法
奇偶点表上作业法 (1)找出奇点(一定为偶数个),在每两个奇点之间找一条链,在这些链经过的所有边上增加一条边,这样所有的奇点变为偶点,一定存在欧拉圈,但是不一定是路线最短的,所以需要检验和调整。 (2)检验增加的边的权值是否是最小的。 定理3 假设M是使得图G中不含奇点的所有增加边,则M是权值总和为最小的增加边的充分必要条件是: 1)图G中每条边上最多增加一条边; 2)在图G的每个圈上,增加的边的总权值不超过该圈总权值的一半。 如果上述两个条件都满足则已经找到权值最小的欧拉圈 否则转入3) 3)调整增加边。如果1)不满足,则从该条边的增加边中去掉偶数条; 如果2)不满足,则将这个圈上的增加边去掉,将该圈的其余边上添加增 加边,转入(2)
v1
v2
v3
v4
v5
v1
v2
v3
v4
v5
图2
图3
如果在比赛中: A胜E, B胜C, A胜D, C胜A, E胜D, A胜B,
v1
v2
v3
v4
v5
注:本章所研究的图与平面几何中的图不 同,这里我们只关心图有几个点,点与点 之间有无连线,两条线有无公共顶点,点 与线是否有关联,至于连线的方式是直线 还是曲线,点与点的相对位置如何都是无 关紧要的。
求从v1到v8的最短路
(0)
(1,1)
(1,3)
(3,5)
(2,6)
(5,10)
(5,9)
(5,12)
注:在给顶点编号时,如果在多个为标号点均取得最小值Llk则对这多个点同时标号,这些点的第二个标号相同,但是第一个标号不一定相同。

运筹学—第八章 图与网络分析

运筹学—第八章 图与网络分析

v5 1 v6 7 1 v7 -5 -3
e1 {v1 , v2 }
e3 {v2 , v3 }
e2 {v1 , v2 }
e4 {v3 , v4 } e6 {v3 , v5 } e8 {v5 , v6 } e10 {v1 , v6 }
e5 {v1 , v3 }
e7 {v3 , v5 } e9 {v6 , v6 }
v1
第二节 树 一、 树的概念和性质 例8.3 已知有六个城市,它们之间 要架设电话线,要求 任意两个城市均可以互相通话,并且电话线的总长度最短。
v1 v6 v5 v2
v3
v4
定义9 一个连通的无圈的无向图叫做树。
作为树T的定义,下列定义是等价的: (1)T是一个树。(设其顶点数为n ,边数为 m ) (2)T无圈,且m=n-1。 (3)T连通,且m=n-1 。 (4)T无圈,但在树中不相邻的两个点之间加上一条边, 那么恰好得到一个圈。 (5)T中任意两个顶点之间有且仅有一条链。 (6)T连通,但去掉T的任一条边,T就不连通。
( vi , v j )
一、 狄克斯屈拉(Dijkstra)算法 适用于wij≥0,给出了从vs到任意一个点vj的最短路。
算法步骤: 1.给始点vs以P标号 P(vs ) 0 ,这表示从vs到 vs的最短距离 T 为0,其余节点均给T标号, (vi ) (i 2 , 3,, n) 。 2.设节点 vi 为刚得到P标号的点,考虑点vj,其中 (vi , v j ) E ,且vj为T标号。对vj的T标号进行如下修改:
e1 v1
e2 e5
e8 v5
v2
d(v1)= 4,d(v6)= 4
e10 v6 e9
e3 e v4 4 e6 e7 v3

运筹学第七章图与网络理论

运筹学第七章图与网络理论
第七章图与网络理论
例1 哥尼斯堡七桥问题 哥尼斯堡七桥问题 哥尼斯堡城中有一条 河,河上有七座连结着两岸和河中的两个小岛, 如图7.1所示。问题是一个人能否从一点出发, 经过每座桥一次且仅一次,回到原出发点。
A C B D C D A
图7.1 B
1
第一节 图的基本概念
所谓图,就是顶点和边的集合,点的集合记为 V={v1, v2…, vn },边的集合记为E ={e1, e2…, em } , vi称为图的顶点, ej称为图的边,若边ej联结vs和vt , 则记为(vs,vt ),即ej= (vs,vt ) 。 则图可以表示为: G=(V,E), 点代表被研究的事物,边代表事物之间的联系, 因此,边不能离开点而独立存在,每条边都有两个 端点。 在画图时,顶点的位置、边和长短形状都是无 关紧要的,只要两个图的顶点及边是对应相同的, 则两个图相同。
v8 T(16, v6) P
v7

v2 P(9, v1) 9 5 v1 P(0,0) 8 7 v4 P(8, v1)
图 7.20
21
8
3 6 4
v5 P(17, v ) 2 10 v6 9
3
v3 P(3, v1) 6
P(7, v3) 2 7 4
v8 P(16, v6)
v7
P(14, v6)
Dijkstra算法同样可用于求无向图的最短路。 例4 求图7.22中,v1到其它各点的最短路。
v8
2 7 4
v7

v2 T(9, v1) 9 5 v1 P(0,0) 8 7 v4 T(8, v1)
图 7.20
17
8
3 6 4
v5 10 v6 9
3
v3 T(3, v1) P 6

运筹学图与网络模型以及最小费用最大流

运筹学图与网络模型以及最小费用最大流
4. 对上述弧的集合中的每一条弧,计算 sij=li+cij 。在所有的 sij中, 找到其值为最小的弧。不妨设此弧为(Vc,Vd),则给此弧的终 点以双标号(scd,c),返回步骤2。
最短路问题
(P233)例1 求下图中v1到v6的最短路 v2
7
3
v6
v1
5 2 v4 5
21
31
5
v3
v5
解:采用Dijkstra算法,可解得最短路径为v1 v3 v4 v6
v1
v2
v3
v4
v5
v6
把所有弧的权数计算如下表:
1
2
3
4
5
6
1
16
22
30
41
59
2
16
22
30
41
3Leabharlann 172331
4
17
23
5
18
6
最短路问题
(继上页) 把权数赋到图中,再用Dijkstra算法求最短路。
59
22
30 41
23
v1
16
v2 16 v3 17 v4 17 v5 18
v6
22
23
31
v2 v1
v4 v3
v5
最短路问题
最短路的Dijkstra算法(双标号法)的步骤:
1.给出点V1以标号(0,s) 2.找出已标号的点的集合I,没标号的点的集合J以及弧的集合
{(vi , v j ) | vi I , v j J}
3. 如果上述弧的集合是空集,则计算结束。如果vt已标号(lt,kt), 则 vs到vt的距离为lt,而从 vs到vt的最短路径,则可以从kt 反向 追踪到起点vs 而得到。如果vt 未标号,则可以断言不存在从 vs 到vt的有向路。如果上述的弧的集合不是空集,则转下一步。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二节 最大流和最小割一、割若S 为V 的一个子集,S y S V S S x ∈-=∈,,,记),(S S K =为起点在S 中,终点在S 中的全体有向边的集合,即{}S v S u v u K ∈∈=,),( (11-4)我们称边集),(S S K =为网络G 的一个割,称∑∈Ke e C )(为K 的容量,记为Cap K 。

例5 给运输网络如图11-8所示,试求与给定的j S (j =1,2,3)相对应的Cap j K 。

解取{}11,v x S =,{}),(),,(),,(221311v x v v v v K =,Cap 1K =10+6+9=25。

图11-8 取 {}4212,,,v v v x S =,{}),(),,(),,(5254312v v v v v v K =, Cap 2K =10+6+13=29。

取 {}54213,,,,v v v v x S =, {}),(),,(5313y v v v K =, Cap 3K =10+10=20。

可见,若把割K 的边全从G 中移去,G -K 不一定分离成两部份(如例5中,3K G -仍为一个连通图),但是它一定把G 的全部自源x 到汇y 的路断开,也就是说此时流不能在G 上发生。

故从直观上不难理解,G 的任一流f 的流值Val f 不能超过任一割的容量。

二、最大流与最小割 若∙f 为满足下列条件的流:Val ∙f ={}的一个流为G f Valf max , (11-5)则称∙f 为G 的最大流。

若∙K 为满足下列条件的割。

Cap ∙K ={}的一个割为G K K Cap min , (11-6) 则称∙K 为G 的最小割。

例1 这个运输问题,就是一个在图11-6中求x 至y 的最大流问题。

对此,我们不难建立线性规划模型来求出最优解。

但由于网络模型结构的特殊性,我们可以建立有效的求最大流的算法,且求出的最优解是一个整数解。

定理1 对于G 中任一流f 和任一割),(S S K =,有Val )()(s f S f f -+-=其中,∑∈+=),()()(S S e e f S f ,∑∈-=),()()(S S e e f S f例如,在图11-7中,取{}11,,v x x S =,则{}),(),,(),,(),,(),,(),(221412121x x x x v v v v v x S S = {}),(),(12v x S S =4815510315)(=++++=+S f8)(=-S f可见,Val )()(40S f S f f -+-==定理1说明,通过G 的任一横截面的净流值都为Val f ,亦即Val f 为任一横截面的输出量与输入量的代数和。

若f 为G 上一个流,对任E e ∈,若)()(e C e f =,称边e 为f 饱和边;若)(e f <)(e C ,称边e 为f 不饱和边;若)(e f >0,称边e 为f 正边;若)(e f =0,称e 为f 零边。

定理2 对于G 上任一流f 和任一割),(S S K =,有 1.Val f ≤Cap K ;2.Val f =Cap K 的充要条件为:任),(S S e ∈,边e 为f 饱和边;任),(S S e ∈,边e 为f 零边。

证 1.∑∈+=),()()(S S e e f S f ≤∑∈=Ke CapK e C )(又 )(S f -≥0,故 Val )()(S f S f f -+-=≤)(S f +≤Cap K2.Val ∑∑∈∈-+-=-=),(),()()()()(S S e S S e e f e f S f S f f ≤Cap K =∑∈),()(S S e e C注意到)(e f ≤)(e C ,故要使Val =f Cap K ,当且仅当任),(S S e ∈,有)()(e C e f =,任),(S S e ∈,有)(e f =0。

本定理说明,若f 为G 的一个最大流,K 为G 的最小割,则必有Val f ≤Cap K 。

定理3 设f 为G 的一个流,而K 是一个割,且Val f = Cap K ,则f 为G 的最大流,而K 是一个最小割。

证 设∙f 是G 的最大流,∙K 是G 的最小割,则Val f ≤Val ∙f ,Cap ∙K ≤Cap K 。

而由定理2知:Val ∙f ≤Cap ∙K 。

现在Val f = Cap K ,故有Val f =Val ∙f =Cap ∙K =Cap K 。

即得f 为最大流,K 为最小割。

三、增流链设t uv x Q =为G 的一条初等链,若G 中有u 到v 的有向边),(v u ,称边),(v u 为Q 的前向边;若G 中有v 到u 的有向边),(u v ,称边),(u v 为Q 的后向边。

例如图11-8中,取312v v xv Q =,则边),(),,(312v v v x 为Q 的前向边,边),(21v v 为Q 的后向边。

若f 为G 上的流,对)(Q E e ∈,令:⎩⎨⎧-=,Q e e f ,Q e e f e C e l 的一条后向边是当的一条前向边是当)()()()( (11-7))(min )(e l Q l Qe ∈= (11-8)当0)(=Q l ,称Q 为f 饱和链;当)(Q l >0,称Q 为f 不饱和链。

例6 对图11-8给一个流f 如图11-9图11-9取43121v v v xv Q =,边),(2v x ,),(31v v 和),(43v v 为1Q 的前向边,2),(2=v x l ,0),(31=v v l ,2),(43=v v l ;边),(21v v 为1Q 的后向边,0),(21=v v l ,故0)(1=Q l ,1Q 为f 饱和链。

取y v v v xv Q 34522=,边),(2v x ,),(52v v 和),(3y v 为2Q 的前向边,2),(2=v x l ,6),(52=v v l ,),(3y v l =6;边),(54v v 和),(43v v 为2Q 的后向边,若Q 为f 不饱和链,则Q 的前向边都为f 不饱和边,后向边全为f 正边。

一条从源x 至汇y 的f 不饱和链,称为f 增流链。

例如图11-9中,就是一条f 增流链。

若网络G 中存在一条f 增流链,我们可得G 上一个新流f ˆ:⎪⎩⎪⎨⎧-+=其它的后向边是当的前向边是当)()()()()()(ˆe f Q e Q l e f Q e Q l e f e f (11-9)此时Val f ˆ=Val f +)(Q l 。

我们称f ˆ为f 基于Q 的修改流。

对于f ˆ而言,Q 中至少有一条前向边为f ˆ饱和边,或至少有一条后向边是f ˆ零边,即Q 是f ˆ饱和链。

如图11-9,可得f 基于y v v v xv Q 3452=的修改流f ˆ如图11-10。

图11-10四、最大流最小割定理定理4 流f 为G 的最大流的充要条件为G 中不存在f 增流链。

证 必要性:反之,若G 中存在f 增流链Q ,)(Q l >0,则可得f 基于Q 的修改流f ˆ,Val f ˆ=Val f +)(Q l >Val f 。

矛盾,故G 中不存在f 增流链。

充分性:令{G v S =中存在一条f 不饱和链}v x Q =,且定义S x ∈。

由设知,S y ∈,故),(S S K =为G 的一个割,它具有如下特点:若边K u u e ∈=),(21,则e 为一条f 饱和边;若),(),(12S S u u e ∈=,则e 为一条f 零边。

反之,若K u u e ∈=),(21,而e 为一条f 不饱和边,因S u ∈1,故存在一条f 不饱和链1u x Q =,则21u u x 也为f 不饱和链,从而S u ∈2,但S u ∈2,矛盾。

若),(),(12S S u u e ∈=,e 为一条f 正边,因S u ∈1,故存在一条f 不饱和链1u x ,则21u u x 也为f 不饱和链,边),(12u u 为其后向边,故S u ∈2,但S u ∈2,矛盾。

由定理2知,Val f =Cap K ;由定理3知,f 为G 的最大流(同时,K 为最小割)。

由定理4的充分性证明,我们可得最大流最小割定理: 定理5 在运输网络中,最大流的流值等于最小割的容量。

第三节 最大流算法一、算法思想定理4为我们提供了寻求运输网络中最大流的一个方法。

若给网络G 上一个初始流f (例如平凡流),我们判别一下G 中有无f 增流链,若无f 增流链,则f 即为最大流;若有f 增流链Q ,可得f 基于Q 的修改流f ˆ,Val f ˆ=Val f +)(Q l ,再将f ˆ视为f ,继续迭代。

但是,到此时算法还不能说已经建立成功了,因为如何寻求f 的增流链这个问题还没有解决,故下面我们先讨论寻求f 增流链的方法,然后建立求最大流的算法。

我们采用标号的方法来寻找x 至y 的增流链。

若f 为网络G 的一个流,G 中满足下列条件的树T 称为以x 为根的f 不饱和树(边是带有方向的)。

1.)(T V x ∈;2.任)(T V v ∈,x v ≠。

T 内有唯一的一条初等链v x Q v =为f 不饱和链)(v Q l >0。

每个点)(T V v ∈,都按下述方法给以标记: 若T 中x 至v 的初等链uv x Q v =:(1)如果边),(v u 为G 中的边,则给v 以标号))(,,(v l u +,其中第一个标号u 表明在v Q 中v 的前驱点为u ,第二个标号表明),(v u 在v Q 中为前向边,第三个标号)()(v Q l v l =()(v Q l 由式(11-8)给出)。

显然{}),(),(),(m in )(v u f v u C u l v l -= (11-10)(2)如果),(u v 为G 中的边,则给v 以标号))(,,(v l g u ,其中第一个标号u 表明在v Q 中v 的前驱点为u ,第二个标号表明),(u v 在v Q 中为后向边,第三个标号)()(v Q l v l =。

显然,此时{}),(),(m in )(u v f u l v l = (11-11)例如,图11-11为图11-9的一棵f 不饱和树。

我们通过以x 为根的f 不饱和树T 的不断“生长”以及“标记法”来探寻G 中f 增流链。

初始时,先给x 以标号),,0(∞+。

图11-11一般地,若已得x 为根的f 不饱和树T (如图11-11),T 中每个点都有标号,而)(T V y ∈,可将)(T V S =中点分成两部份:一部份点已查视过,即已生长了枝的点(例如图11-11中的点x ,2v 和5v ),或判定不能生长枝的点(如图11-11中的点1v );另一部份点未查视过(如图11-11中的点4v ),我们将T 中全部未查视过的点记为A (A 为有顺序的集合,先标记的点排在前,这是由于本算法的特点为:先标记的点先查视,即先生长枝)。

相关文档
最新文档