线性规划-图与网络分析
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
无向图
v1
e1
v4 e6
e3
e2 v2
v3
e4
e5
e1 v1 v2 v3 v4 1 0 0 1
e2 1 0 1 0
e3 1 1 0 0
e4 0 1 1 0
e5 0 1 0 1
e6 0 0 1 1
有向图
v1
e1
v4 e6 e7
e3
e2 v2
v3
e4
e5
e1 v1 v2 v3 v4 1 0 0 -1
2+6 8 8 5+4 8 8
4+3
-
0+2 0+5
7 5+1 5+4 6 9 6+2 8
8+1 8
反向追踪,得到最优路线:
v1
v2
v3
v5
v4
v6
v7
思考:若先把 v7 的标号改为永久性标号, 该怎麽继续作下去?
v1 5 6
v2
v3
v4
v5
8
v6
6
v7
9 6+2
v6 v7
{v 5 , v 7 } { v 5}
无向自环图
v2
v1
v3
V4
v1 v1 v2 v3 v4 0 1 1 1
v2 1 1 1 0
v3 1 1 0 1
v4 1 0 1 0
有向一般图
v1 v2
v5 v3
v4
v1
v2
v3
v4
v5
v1 v2 v3
0 1 0
0 0 1
0 0 1
1 1 0
1 0 0
v4
v5
0
1
1
0
1
0
0
1
1
0
二、树与最小支撑树问题
w
P
ij
应用背景——管道铺设、线路安排、 厂区布局、设备更新等。
最短路算法:
1. D氏标号法(Dijkstra)
(1)求解思路——从始点出发,逐步顺序
地向外探寻,每向外延伸一步都要求是最
短的。
(2)使用条件——网络中所有的弧权均
非负,即 w ij 0 。
(3)选用符号的意义:
①标号 P(固定标号或永久性标号)
20
v2
1
v7
4
9 16 17 v4
15 v3 3
v1 23 v6 28 v5 36 25
20
v2
1
v7
4
9 16 17 v4
15 v3 3
总权数=1+4+9+3+17+23=57
v1
2 v2 2 v3 4 6 5 v4 4 4 3 v5
练习1:上图表示5个村庄的线路图,每边旁的数 字表示村庄之间线路的长度,现要求沿线路架设 有线广播线,不仅使各村都能听到有线广播,而 且使广播线总长度最短。
1
v7
4
9
15 v3 3
1、先任取一个圈,从圈中去掉一条权最大的边,若在同一个 圈中有几条都是权最大边,则任选其中的一条边去掉。
2、在余下的子图中,重复上述步骤,直至没有圈为止。
v1 23 v6 28 v5 36 25
20
v2
1
v7
4
9 16 17 v4
15 v3 3
v1 23 v6 28 v5 25
树是一类很有用的简单图。
树的定义:一个无圈的连通图称 为树。
v1
v5
v2 v3
v4
连通图
v1
v5
v2 v3
v4
树
Biblioteka Baidu
树有以下显而易见的性质:
1 树中任意两顶点间必有且仅有一条路。
2 在树中去掉任何一条边,则图就不连 通。 3 在树的两个不相邻的顶点间加一条边, 就得到一个圈。
4 含有P个顶点的树有p-1条边。
例:连通图G
5 2 3 6 4 1 2 1
支撑子图1是一个树
2 3 6 4
支撑子图2是一个树
5 3
6 4
支撑子图3是一个树
2 3
4 2
支撑子图4是一个树
1
4 1 2
支撑子图5是一个树
5 3
6
1
由树的定义可知:图G的支撑子图1、2、3、4、 5都是一棵树,称为支撑树。
那么,什么是最小支撑树(最小树)呢?
练习2:某大学准备对其所属的7个学院办公室 计算机联网,这个网络的可能联通的途径如下图, 图中v1,…,v7 表示7个学院办公室,请设计一个网 络能联通7个学院办公室,并使总的线路长度为 最短。
v1
v2
3
1
4 v7
v3 7 2 v4
3
3
10
5
8
v5
v6
4
v1
v2
1 3
v3 7 v7 2 v4
2
v2
第6章
图与网络分析
·
图与网络的基本概念
·
·
最小(生成)树问题
最短路问题
·
最大流问题
哥尼斯堡七桥问题 哥尼斯堡(现名加里宁格勒)是 欧洲一个城市,普雷格乐河把该城 分成两部分,河中有两个小岛,十 八世纪时,河两边及小岛之间共有 七座桥,当时人们提出这样的问题: 有没有办法从某处(如 A )出发, 经过各桥一次且仅一次最后回到原 地呢?
A C
D
B
数学家 Euler 在 1736 年巧妙地给 出了这个问题的答案,并因此奠定 了图论的基础, Euler 把 A 、 B 、 C 、 D 四块陆地分别收缩成四个顶点, 把桥表示成连接对应顶点之间的边, 问题转化为从任意一点出发,能不 能经过各边一次且仅一次,最后返 回该点。
A
D
C
B
图与网络是专门研究图的理论
3 v5
v1
3
3
v6 v5
2
v3 v4 v2
v1
4 2 4 2 4 3 v5
答案:11,19
v3
v4
三、最短路问题
最短路问题是对一个赋权网络图中指定的两点 Vs和Vt,找到一条路,使得这条路上所有弧的权 值之和最小,称之为最短路P* 。这条路上所有弧 的权值之和称为从Vs到Vt的距离。
W ( P*) min
在任一图G=(V,E)中,当点集V 确定后,树图是G中边数最少的连 通图。
练习题2:如图所示,有一菜园被田埂分割为 6块,现菜园各块均灌溉了水,问至少需要打 通多少田埂才能把所有的水排放掉?
支撑树与最小支撑树
若将树作为图的一个子图来考虑
支撑树:如果图G的支撑子图G’是树,则称G’ 为G的支撑树。 定理:图G有支撑树的充要条件是G是连通图。
v1 23 v6 28 v5 25 17
v2
1
v7
4
9 v3 3 v4
v1 23 v6 28 v5 25 17
v2
1
v7
4
9 v3 3 v4
v1 23 v6 28 v5 17
v2
1
v7
4
9 v3 3 v4
v1 23 v6 28 v5 17
v2
1
v7
4
9 v3 3 v4
v1 23 v6
v2
1
8、图的矩阵表示
一个图非常直观,但是不 容易计算,特别不容易在计算 机上进行计算,一个有效的解 决办法是将图表示成矩阵形式。
(1) 、权矩阵
(2)、关联矩阵
(3)、相邻矩阵
v2 v1 8
5 3
v5 1 3 v7 2
4
3 V4
4
2 6 V3 V6
关联矩阵
关联矩阵是一个nxm矩阵。
它揭示了图G中顶点和边之间的 关联关系。
3、环: 多重边: 简单图:不含环和多重边的图
多重图:含有多重边的图
简 单 图 与 多 重 图
e6
e1 v1 e2 v2 e3 v3
e5
e4
v4
4、度:以v为顶点的边的条数称为v的度. 表示为: d(v)。
例:
v1
e1 e2 e6 v2 e3 v6
e5
v4
e4 e8
v3 e7 v5
孤立点 悬挂点 悬挂边
第三步:若网络图中已无T标号点,停止 计算。否则,令 二步。
T (v j0 ) min T (v j )
v j s
,
然后将 v j0 的T 标号改成P 标号 ,转入第
此时,要注意将第二步中的 v1 改为 v j0 。
(5) D氏标号法(Dijkstra)的特点
(获得的附加信息):
能得到从
v7
4
9 v3 3
v5
17
v4
总权数 =1+4+9+3+17+23=57
方法二:避圈法
v1 23 v6 28 v5 36 25 17 16 v4 20 v2
1
v7
4
9
15 v3 3
避圈法:开始选一条最小权的边,在以后的每一步中, 总从未被选取的边中选一条权最小的边,并使之与已 选取的边不构成圈,如果同时有几条都是最小权的边, 则可从中任选一条。
图论中的图是用点和边(弧)来反 映系统中各对象之间相互关联的关系, 它与几何图、工程图是不一样的,图中 点的相对位置、点与点之间连线的长短 曲直,对于反映对象之间的关系并不是 重要的。
一、 图与网络的基本概念
1、无向图:由点和边构成的图,记作G= (V,E)。其中V是点的集合, E是边的集合。
有向图:由点和弧组成,记作 D=(V,A)。 2、关联边和端点:若有边e可表示为e=(vi,vj),则 称边e为顶点 vi或vj的关联边; vi和vj是边e的端 点。
5、路:简单路(边不同); 初等路(点也不同). 圈(回路): 连通图:图G中,若任何两个不同 的点之间,至少存在一条路,则 称图G为连通图。否则,为非连通 图。
v6 v1 v5
v2 v3
v4
连通图与非连通图
6、子图: 生成子图(支撑子图): 导出子图:
7、
(1)权——指边或弧的有关数量指标。根据实 际背景可赋予不同含义,如距离、时间、 费用、容量等。 (2)赋权图—图G中点、边(弧) 以及边(弧)上的 权的总体,称为赋权图。 (3)网络——指定了起点、终点和中间点的连通 的 赋权图 。包括无向网络、有向网络、混合 网络。
e8= (v4, v4),称为环;
v6是孤立点,
v5为悬挂点,e7为悬挂边, 顶点v3的度为4,顶点v2的度为3, 顶点V4的度为4。
奇点、偶点:度为奇数的顶点 称为奇点;相应的,度为偶数 的顶点为偶点。
定理1:在一个图中,所有顶点 度的和等于边的两倍。 定理2:在任意一个图中,奇点 的个数必为偶数。
——从始点到该标号点的最短路权。 ②标号 T(临时性标号)
——从始点到该标号点的最短路权上界。
(4) 计算步骤及例:
第一步:始点标上固定标号 p(v1 ) 0 ,其余各 点标临时性标号 T(vj)=, j1; 第二步:考虑满足条件 vj ① (v1 , v j ) A 的所有点 ; ② v j 具有T 标号,即 v j s , s 为T 标号点集。 T (v j ), p(v1 ) l1 j ,并 修改 v j 的T标号为 min 将结果仍记为T(vj)
20
v2
1
v7
4
9 16 17 v4
15 v3 3
v1 23 v6 28 v5 25
20
v2
1
v7
4
9 16 17 v4
15 v3 3
v1 23 v6 28 v5 25 17
v2
1
v7
4
9 16 v4
15 v3 3
v1 23 v6 28 v5 25 17
v2
1
v7
4
9 16 v4
15 v3 3
练习题1:下图中1表示某生产队的水源地, 其它图形表示水稻田,用堤埂分割为很多小 块。为了用水灌溉,需要挖开一些堤埂。问 最少挖开多少堤埂,才能使水浇灌到每小块 稻田。
1 2 4
5 6 3 10
7
8 9 12 11
将水源地及每小块稻田各用一个点 来表示,边表示它们之间有堤埂相 连,那么连接这些点的树图的边数 即为至少要挖开的堤埂数。
8
8+1
8
8
反向追踪,得到相同的最优路线。 在得到从起点到终点的最短路长的同时,还 能得到什麽附加信息
?
练习1:求从点1到其它各点的最短路。(标号步 骤法)
2
2
2 5 1
7
1
3
3
5
5 3
最小支撑树(最小树):
已知赋权无向图G=(V,E,W)的支撑树为 T=(V,E')(E'∈E),一棵支撑树所有边上权 的总和,称为支撑树的权。具有最小权 的支撑树T*,称为最小树。 即:
W (T *) min
w
T
ij
求最小树的方法有破圈法和避圈法。
方法一:破圈法
v1 23 v6 28 v5 步骤: 36 25 17 16 v4 20 v2
路线和最短路长。
v1 (起点)到各点的最短
例 : 用狄克斯拉算步骤法求解下图所 示最短路问题 。
v2 4 5 v4 7 5 5 7 v5 6 v7 9 v6 4 v8
4 v1
6
4 v3
1
例 : 用狄克斯拉列表法求解下图所 示最短路问题(无向图)。
v2 2 6 4 v4 1 v3 3 1 v6 v5
2 v1
4
4
1 v7
5
2
步骤 考察点 T标号点集 v1 0
标 v2
号( 表P标号) v3 v4 v5 v6 v7
1
2 3 4 5 6
v1
v2 v3 v4 v6 v5
{v2,…,v7}
{v3,…,v7} {v4,…,v7} {v5,v6,v7} {v5,v7} {v7}
2
5 2+2 4
2+4 6 4+1 5
v1 23 v6 28 v5 36 25
20
v2
1
v7
4
9 16 17 v4
15 v3 3
v1 23 v6 28 v5 36 25
20
v2
1
v7
4
9 16 17 v4
15 v3 3
v1 23 v6 28 v5 36 25
20
v2
1
v7
4
9 16 17 v4
15 v3 3
v1 23 v6 28 v5 36 25
e2 -1 0 1 0
e3 1 -1 0 0
e4 0 -1 1 0
e5 0 -1 0 1
e6 0 0 1 -1
e7 0 0 -1 1
注意:对于有向图存在-1 元素; 而对于无向图不存在-1。
相邻矩阵
用一个nxn的矩阵表示图G中 顶点之间的邻接关系:如果两个顶 点之间有边直接相连时,记为1, 否则为0。