图论:最小树、最短路、最大流问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1
1
1
1
为D的一个截集,记为(V ,V )。
1
1
截量:截集上的容量和,记为 C(V ,V )。
例4 对于下图,若V1={vs,v1},请指出相应的截
集与截量。
v2 (4,3) v4
(3,3)
(5,3)
vs
(1,1)(1,1)(3,0)
vt
(5,1)
(2,1)
2020/2/29
v1 (2,2) v3
例4 对于下图,若V1={vs,vຫໍສະໝຸດ Baidu},请指出相应的截
最短距为13; 最短路为v1-v2-v3-v5-v6-v7。
2020/2/29
最短路问题的应用例子
某汽车公司正在制订5年内购买汽车的计划。
下面给出一辆新汽车的价格以及一辆汽车的使用
维修费用(万元):
年号 1
23
45
价格 2 2.1 2.3 2.4 2.6
汽车使用年龄 0–1 1–2 2–3 3–4 4–5 维修费用 0.7 1.1 1.5 2 2.5
V
1
,不与已选边相关联的点集;
1
3. 考虑所有这样的边[v ,v ],其中v V 1,v V 1,挑选 其中权最小的;
4. 重复3,直至全部顶点属于 V 1(即V 1 )。
2020/2/29
用避圈法解例2
v2
2
27
v1•
5 v3
5
v6
5
v7
1 3
3
1
7
v4 5
v5
最小部分树如图上红线所示;
v(f) f(V ,V ) f(V ,V ) C(V ,V )
最小权和为14。
思考:破圈法是怎样做的呢? ——见圈就破,去掉其中权最大的。
2020/2/29
最小部分树问题的应用例子
已知有A、B、C、D、E、F六个城镇间的道路网络 如图,现要在六个城镇间架设通讯网络(均沿道路架 设),每段道路上的架设费用如图。求能保证各城镇均 能通话且总架设费用最少的架设方案。
7
7
d 即最短距,反向追踪可求出最短路。 7
2020/2/29
用标号法解例3
其中2=min{0+2,0+5,0+3}
[2,v2v1]
[0,v1v1]
2
27
5 v3
5
1[4,v2] 3
3
[8,v6v5] 5
1
7
[3,v4v1] 5 [7v,5 v3]
[13,v6] v7
其中3=min{0+3,0+5,2+2,2+7}
v2
4
例如:
3
vs
1
1
v4 5
3
vt
2020/2/29
5
2
v1
2 v3
2. 数学模型
问题:最大流问题的决策变量、目标函数、约束条件各是什么?
决策变量:各弧(v ,v )上的流量f ,
目标函数:Maxv v ( f )
0 f c
(容量约束)

约束条件:
f
f
v ( f ), 0,
v2 (4,3) v4
(3,3)
(5,3)
vs
(1,1)(1,1)(3,0)
vt
(5,1)
(2,1)
2020/2/29
v1 (2,2) v3
(2)可增值链(增广链)
D中由v
至v
的链,记


:中的正向弧集, :中的反向弧集

中弧皆未饱
,则称为D中关于可行流f
中弧皆非零
试用网络分析中求最短路的方法确定公司可采用 的最优策略。
方法:以年号作顶点绘图,连线表示连续使用期间,以
费用作路长。
2020/2/29
三. 最大流问题
1. 问题 已知网络D=(V,A,C),其中V为顶点
集,A为弧集,C={cij}为容量集, cij 为弧(vi,vj ) 上的容量。现D上要通过一个流f={fij},其中fij 为弧 (vi,vj )上的流量。问应如何安排流量fij可使D上 通过的总流量v最大?
集与截量。
v2 (4,3) v4
(3,3)
(5,3)
vs
(1,1)(1,1)(3,0)
vt
(5,1)
(2,1)
v1 (2,2) v3
解:(V ,V )( v ,v ),(v ,v ),
C(V ,V ) 3 2 5
2020/2/29
(4) 流量与截量的关系
截集上的流量和
相应于截 集的反向 弧上流量和
2020/2/29
标号法步骤:
1. 给v 标号[0,v ];
1
1
2.
把顶点集V
分为互补的两部分VV
1 1
: 已标号点集, : 未标号点集;
3. 考虑所有这样的边[v ,v ],其中v V ,v V ,
1
1
挑选其中与v 距最短(min d c )的v 进行标号。 1
4. 重复3,直至终点(本例即v )标上号[d ,v ],则
i s i s,t
(平衡条件)

v ( f ), i t
2020/2/29
3. 基本概念与定理
饱和弧:f c (1) 弧按流量分为未饱和弧:f c
零流弧:f 0
如:在前面例举的网络流问题中,若已给定一个可行流 (如括号中后一个数字所示),请指出相应的弧的类型。

一条可增值链。
v2 (4,3) v4
(3,3)
(5,3)
vs
(1,1)(1,1)(3,0)
vt
(5,1)
(2,1)
v1 (2,2) v3
2020/2/29
(3) 截集与截量
截集(割集):将V分为二非空互补集V 与V ,
1
1
使v V ,v V 。称弧集( v ,v )v V ,v V
第二节 网络分析
网络——赋权图,记D=(V,E,C),其中C={c1,…,cn}, ci为边ei上的权(设ci 0)。
网络分析主要内容——最小部分树、最短路、最大流。
2020/2/29
一. 最小部分(支撑)树问题
问题:求网络D的部分树,使其权和最小。 方法:避圈法(Kruskal,1956)、破圈法(管梅谷,1975)。
例 2 求如图网络的最小部分树。
v2
2
27
v1
5 v3
5
v6
5
v7
1 3
3
1
7
v4 5
v5
2020/2/29
避圈法是一种选边的过程,其步骤如下:
1. 从网络D中任选一点vi,找出与vi相关联的
权最小的边[vi,vj],得第二个顶点vj;
2. 把顶点集V分为互补的两部分V1, V1 ,其中
V ,与已选边相关联的点集,
A
2020/2/29
C
5 8
10
9
5
8
7
3
B6
9
E 3
F
2
4
D
二. 最短路问题
1. 问题:求网络D中一定点v1到其它点的最短路。 例3 求如图网络中v1至v7的最短路,图中数字
为两点间距离。
v2
2
27
v1
5 v3
5
v6
5
v7
1 3
3
1
7
v4 5
v5
2. 方法:标号法(Dijkstra,1959)
给每点vj标号[dj,vi],其中dj为v1至vj的最短距,vi为 最短路上的前一点。
相关文档
最新文档