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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2017/1/27
A D
C
B
A
C
D
B
4
在实际的生产和生活中,人们为了反映事物之 间的关系,常常在纸上用点和线来画出各式各样 的示意图。 例 有六支球队进行足球比赛,我们分别用点 v1…v6 表示这六支球队,它们之间的比赛情况 ,也可以用图反映出来,已知v1 队战胜v2 队, v2 队战胜v3队,v3 队战胜v5 队,如此等等。这 个胜负情况,可以用下图所示的有向图反映出 来。 v v v1 v3
2017/1/27
6
图中的点用 v 表示,边用 e 表示,对每条边可用 它所联结的点表示,如图,则有:
e1 = [v1 , v1], e2 = [v1 , v2]或e2= [v2 , v1]
2017/1/27
7
用点和点之间的线所构成的图,反映实际生产和 生活中的某些特定对象之间的特定关系。 通常用点表示研究对象,用点与点之间的线表示研 究对象之间的特定关系。 一般情况下,图中点的相对位置如何,点与点之 间线的长短曲直,对于反映研究对象之间的关系,显 的并不重要,因此,图论中的图与几何图,工程图等 本质上是不同的。
子图:
部分图
2017/1/27
16
§2.树图和最小部分树
树图(简称树,记作 T(V, E))是无圈的连通图。 (无圈,无多重边)
§2.1 树的性质
性质1. 任何树中必存在次为1 的点。 次为1的点称为悬挂点,与之关联的边 称为悬挂边。
2017/1/27
17
性质2. 具有 n 个顶点的树恰有(n-1)条边。 性质3. 任何具有n 个点、(n - 1)条边连通图是 树。 说明:1. 树中只要任意再加 一条边,必出现圈。 2. 树中任意两点之间有且只有 一条通路,从树中任意删掉 一条边,就不再连通。 (树是最脆弱的连通图)

2017/1/27
38
§3.最短路问题
最短路问题是指从给定的网络图中找出任意两点之 间距离最短(权值和最小)的一条路。
某些整数规划和动态规划问题可以归结为求最短路 的问题。如选址问题、管道铺设选线问题、设备更 新、投资等问题。 最短路的求法: 1.从某一点至其它各点之间最短距离的狄克斯屈拉 ( Dijkstra )算法; 2.求网络图中任意两点之间的最短距离的矩阵算法。
偶点,次为零的点称为孤
立点。 如图: 奇点为 v5 , v3 偶点为 v1 , v2 , v4 , v6 孤立点为 v6
2017/1/27 11
链,圈,路,回路,连通图 图中有些点和边的交替序列 μ ={v0 , e1 , v1 ,
e2 , … , ek , vk},若其各边 e1 ,e2 , … , ek 各不相同,且任意 vi,t-1 , vit (2 ≤ t ≤ k)都 相邻,称 μ 为链,如果链中所有的顶点 v0 , v1 , … , vk也不相同,这样的链成为路,起点和
终点重合的链称为圈,起点和终点重合的路称为回
路,若在一个图中,每一对顶点之间至少存在一条
链,称这样的图为连通图,否则称该图为不连通的。
2017/1/27
12

v1 , e2 , v2 , e4 , v3 , e7 , v4 , e6 , v2 , e5 , v3

v1 , e2 , v2 , e4 , v3 , e7 , v4
2017/1/27 19
§2.3 避圈法和破圈法
寻找最小部分树的方法主要有避圈法和破圈法两种。
避圈法步骤: 1.从图中任选一点 vi ,让 vi ∈V ,图中其余点均 包含在 V 中;
2. 从 V 与 V 的连线中找出最小边,这条边一 定包含在最小部分树中,不妨设这条边为[vi , vj]将其加粗,标记为最小部分树中的边。
2017/1/27 32
例.
求下图中从 v1 到 v7 的最短路。
解: (1) 从 v1 点出发,对 v1 点标号,将 L11=0 标注在 旁的小方框内,令 v1∈V,其余点 属于 V ;
2017/1/27
33
(2) 同 v1 相邻的未标号点有v2 、 v3 , L1r = min { 0+d12 , 0+ d13 } =min{5,2}=2= L13
2017/1/27
2
4
v6 v5
5
§1 图的基本概念与模型
§1Biblioteka Baidu1 基本概念
图(graph)是由一些结点或顶点( nodes or vertices )以及连接点的边(edges)构成。记做G = {V,E },其中 V 是顶点的集合,E 是边的集合。 给图中的点和边赋以具体的含义和权值,我们称 这样的图为网络图(赋权图)
1. 任意找到一回路,不妨取 DETD,去掉边权最大 的边[T ,E ];
2. 从剩余的子图中任找一回路,同样去掉回路 中边权最大的一条边,得一新的子图;依次类推。
2017/1/27
26
2017/1/27
27
破圈法的另一种解法: 1.从剩余图中找到边权最大一条边,如果将其删除后
图仍然是连通的,则删除此边,否则不再考虑此边;
2017/1/27
36
对 v2 标号,将 L12 的值标注在 v2 旁的小方框内;
V v2 V 将( v1, v2) 加粗,并令 V∪v2 →V,
2017/1/27
37
(4) 同 v1 ,v2 ,v3 相邻的未标号点有v4 、v5、v6 ,
L1p = min { L12+d25 , L12+d24, L13+d34 ,L13+d36 } =min{5+7,5+2,2+7,2+4} = 6 = L16
A D C B
2017/1/27
3
为了寻找答案, 1736 年欧 拉把陆地缩为一点,把桥作为 连接点的边,将这个问题抽象 成图形的一笔画问题。即能否 从某一点开始不重复地一笔画 出这个图形,最终回到原点。 欧拉在他的论文中证明了这是 不可能的,因为这个图形中每 一个顶点都与奇数条边相连接 ,不可能将它一笔画出,这就 是古典图论中的第一个著名问 题。
2017/1/27 30
§3.1 Dijkstra 算法
基本思路:如果 v1→ v2→ v3→ v4 是 v1→ v4 的
最短路径,则 v1→ v2→ v3 一定是 v1→ v3 的最
短路径。 v2→ v3→ v4 一定是 v2→ v4 的最短路径。
Dijkstra 算法假设: 1.设 dij 表示图中两相邻点 i 与 j 的距离,若 i 与 j 不相邻,令 dij =∞,显然 dii =0。 2. 设 Lsi 表示从 s 点到 i 点的最短距离。
3. 令 V v j→ V , V 4.
2017/1/27
-vj →
V;
重复2、3两步,一直到图中所有点均包含在 V 中。
20
避圈法另一种做法:
1.在所有各边中找到边权最小的一条,将其作为最小部分树中 的第一边;在剩余的边中,仍然找到边权最小的作为最小部 分树的第二条边;
2.在剩余的边中,找到边权最小的边,查看其是否与 前面的边形成圈,如果没有,则在最小部分树中添加 该边,如果形成了圈,则不再考虑该边; 3.重复进行第二步,直到找到第 n-1 条边为止。 (因为有 n 个顶点的树中一定有 n-1 条边)
2017/1/27
15
子图,部分图 图 G1={V1 , E1} 和 G2={V2 , E2}, 若有 V1 V2 和 E1 E2 ,称 G1 是 G2 的一个子图;
若有 V1 V2 , E1 E2 ,则称 G1 是 G2 的一个部分图。 注意:部分图也是子图,但子图不一定是部分图。

v1 , e2 , v2 , e4 , v3 , e7 , v4 , e6 , v2 , e5 , v3 , e3 , v1 ,
2017/1/27
13
完全图 一个简单图中若任意两点之间均有边相连,称这样 的图为完全图。含有 n 个顶点的完全图,其边数有 n( n 1) 条。
2
2017/1/27
2017/1/27
8
端点,关联边,相邻 若边 e 可表示为e = [vi ,
vj],称 vi 和 vj 是边 e 的端 点,同时称边 e 为点 vi 和 vj 的关联边,若点 vi , vj 与 同一条边关联,称点 vi 和 vj 相邻;若边 ei 与 ej 有公共端 点,称边 ei 和 ej 相邻.
2017/1/27
34
对 v3 标号,将 L13 的值标注在v3 旁的小方框内; 将( v1, v3) 加粗,并令 V∪v3 → V,V v3 V

2017/1/27
35
(3) 同 v1 ,v3 相邻的未标号点有v2 、v4 、v6 , L1p = min { L11+d12 , L13+d34, L13+d36 } =min{0+5,2+7,2+4} = 5 = L12
2017/1/27
9
环,多重边,简单图
如果边 e 的两个端点相重,
称该边为环,如果两个点之间
的边多于一条,称为具有多重 边,对无环、无多重边的图称 为简单图。
2017/1/27
10
次,奇点,偶点,孤立点 与某个点相关联的边
的数目,称为该点的次
(或度、线度),记作
d(v)。次为奇数的点称为
奇点,次为偶数的点称为
2017/1/27
24
破圈法求解步骤:
1. 从图 N 中任取一回路,去掉这个回路中边 权最大的边,得到原图的一个子图 N1。 2. 从剩余的子图中任找一回路,同样去掉回路中 边权最大的一条边,得一新的子图; 3. 重复第 2 步,直到图中不再含有回路为止。
2017/1/27
25
用破圈法求解上例:
2017/1/27 21
例:分别用两种避圈法构造下图的最小部分树。
第一种解法: 1. 在点集中任选一点,不妨取 S,令 V={S} 2. 找到和 S 相邻的边中,权值最小的 [S , A] 。
2017/1/27
22
3.V={S , A}
4. 重复第2,3步,找到下一个点。
2017/1/27
23
第二种做法求解过程:
14
偶图 如果图的顶点能分成两个互不相交的非空集合 V1 和V2 , 使在同一集合中任意两个顶点均不相邻,称 这样的图为偶图(也称二分图),如果偶图的顶点集 合V1 和V2 之间的每一对顶点都有一条边相连,称这 样的图为完全偶图,完全偶图中V1 含m 个顶点,V2 含有 n 个顶点,则其边数共 m · n 条。
2017/1/27 31
求从起始点 s 到终止点 t 的最短路径。 Dijkstra 算法步骤: 1.对起始点 s ,因 Lss =0 ,将 0 标注在 s 旁的小 方框内,表示 s 点已标号;
2.从点 s 出发,找出与 s 相邻的点中距离最小的一 个,设为 r ,将 Lsr = Lss+ dsr 的值标注在 r 旁的 小方框内,表明点 r 也已标号; 3.从已标号的点出发,找出与这些点相邻的所有未标号 点 p ,若有 Lsp =min { Lss+ dsp , Lsr+ drp },则对 p 点标号,并将 Lsp 的值标注在 p 点旁的小方框内; 4.重复第 3 步,直到 t 点得到标号为止。
2017/1/27
18
§2.2 图的最小部分树
如果 G1 是 G2 的部分图,又是树图,则称 G1 是 G2
的部分树(或支撑树);
树图的各条边称为树枝(假定各边均有权重); 树枝总长最小的部分树,称为该图的最小部分树(也
称最小支撑树)。
定理1. 图中任一个点 i ,若j 是与i 相邻点中距 离最近的,则边 [i ,j] 一定包含在该图的最小部 分树中。 推论. 把图的所有点分成 V 和 V 两个集合,则 两集合之间连线的最短边一定包含在最小部分树内。
2.重复上述步骤,直到剩余边数为 n-1 为止。
2017/1/27
28
注意: 1. 一个图的最小部分树不唯一,该题中用几种解 法得到的结果都是相同的,是特殊情况; 2.不同解法得到的最小部分树所包含的边虽然可 能不相同,但是,每个最小部分树中所有边权的 总和一定都是相同的,即都达到了最小。
2017/1/27 29
运筹学
OPERATIONS RESEARCH
2017/1/27
1
第六章

图与网络分析
图的基本概念与模型 树图和图的最小部分树 最短路问题 网络的最大流 最小费用最大流
2017/1/27
2
哥尼斯堡的七桥问题
当地的居民热衷于 这样一个问题: 一个漫步者如何能够 走过这七座桥,并且 每座桥只能走过一次, 最终回到原出发地。 尽管试验者很多, 但是都没有成功。
相关文档
最新文档