运筹学第十章 图与网络分析
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
下面介绍当赋权有向图中,存在具负权 的弧时,求最短路的方法. 令 d(1)(vs,vj)=wsj 对t=2,3,…, d(t)(vs,vj)=min{d(t-1)(vs,vi)+wij} (j=1,2, …, p)
i
若进行到某一步,例如第k步,对所有j=1, 2, …,p,有 d(k)(vs,vj)=d(k-1)(vs,vj)
(vi,vj)∈T
如果支撑树T*的权w(T*)是G的所有支撑树 的权中最小者,则称T*是G的最小支撑树(简 称最小树) w(T*)=min w(T)
T
求最小树的方法: 方法一(避圈法) 开始选一条最小权的 边,以后每一步中,总从未被选取的边中选 一条权最小的边,并使之与已选取的边不构 成圈.
方法二(破圈法) 任取一个圈,从圈中 去掉一条权最大的边.在余下的图中,重复 这个步骤,一直到一个不含圈的图为止,这 时的图便是最小树. 例 用破圈法求下图的最小树
中所对应的点边序列是一条链,则称这个点 弧交错序列是D的一条链. 如果(vi1,ai1,vi2,ai2,…,vik-1,aik-1,vik)是D中的 一条链,并且对t=1,2,…,k-1,均有 ait=(vit,vit+1),称之为从vi1到vik的一条路.若 路的第一个点和最后一点相同,则称之为回 路.
32 63
(44) v4 27 37
21 (0பைடு நூலகம்v1
45 (78) v6
47 v3 (31) 34
32 v5 (62)
§4 最大流问题 如下是一运输网络,弧上的数字表示每 条弧上的容量,问:该网络的最大流量是多 少?
v1 4 vs 3 v2 2 2 v4 1 2 4 3 v3 3 vt
4.1 基本概念和基本定理 (1) 网络与流 定义1 给定一个有向图D=(V,A),在V中 有一个发点vs和一收点vt,其余的点为中间点. 对于每一条弧(vi,vj),对应有一个c(vi,vj)≥0,(cij) 称为弧的容量.这样的有向图称为网络.记 为D=(V,A,C). 网络的流:定义在弧集合A上的一个函数 f={f(vi,vj)},称f(vi,vj)为弧(vi,vj)上的流量.(fij)
T(v3)=min{T(v3),P(v4)+d43}=min{7,5+2}=7 T(v5)=min{T(v5),P(v5)+d45}=min{∞,5+4}=9 (2).T(v3)最小,P(v3)=7 第五步: (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
T(v2)=min{T(v2),P(vs)+ds2}=min{∞,0+3}=3 (2)在所有T标号中,最小的为T(v2)=3,于 是令P(v2)=3 第二步: (1)与节点v2直接相连的临时标号的节点 为v3和v4,把这两个节点的T标号改为 T(v1)=min{T(v1),P(v2)+d21}=min{4,3+2}=4 T(v4)=min{T(v4),P(v2)+d24}=min{∞,3+2}=5 (2).在所有T变化中,T(v1)=4最小,于是 令P(v1)=4
第十章 图与网络分析
§1.图的基本概念 图:由一些点及一些点的连线所组成. 边:两点之间不带箭头的联线. 弧:两点之间带箭头的联线. 无向图(图):由点及边所构成的图.记为 G=(V,E), V,E分别是G的点集合和边集合. 一条联结点vi,vj的边记为[vi,vj](或[vj,vi])
有向图:由点及弧所构成的图,记为 D=(V,A),V,A分别是D的点集合和弧集合. 一个方向是从vi指向vj的弧记为(vi,vj) 图G或D中的点数记为p(G)或p(D),边(弧) 数记为q(G) (q(D)),简记为p,q. 若边e=[u,v]∈E,则称u,v为e的端点,也 称u,v是相邻的,称e是点u(及点v)的关联边. 若在图G中,某个边的两个端点相同,则 称e是环.
若两个点之间有多于一条的边,称这些 边为多重边. 简单图:一个无环,无多重边的图. 多重图:一个无环,但允许有多重边的图. 给定一个图G=(V,E),如果图G'=(V',E'), 使V'=V及E'E,则称G'是G的一个支撑子图. 点v的次:以点v为端点边的个数,记为 dG(v)或d(v). 悬挂点:次为1的点.悬挂点的关联边称 为悬挂边.
第三步: (1).与节点v1相连的临时标号的节点为 v3,v4,把这两个节点的T标号改为 T(v3)=min{T(v3),P(v1)+d13}=min{∞,4+3}=7 T(v4)=min{T(v4),P(v1)+d14}=min{5,4+1}=5 (2).在T标号中,T(v4)=5最小,令P(v4)=5 第四步: (1).与节点v4相连的T标号有v3,v5把这两个 节点的T标号改为
推论: (1).从一个树中去掉一条边,则余下的图 是不连通的. (2).在树中不相邻的两个点间添上一条边, 则恰好得到一个圈. 2.2图的支撑树 定义2 设图T=(V,E') 是图的支撑子图, 如果图T=(V, E') 是一个树,则称T是G的一个 支撑树. 定理5:图G有支撑树的充分必要条件是 图G是连通的.
∑ ftj–∑ fjt= –v(f)
式中v(f)称为这个可行流的流量,即发点的净 输出量(或收点的净输入量). 最大流问题:求一流{fij}满足 0≤ fij≤cij v(f) ∑fij–∑fji= 0 –v(f) 且使v(f)达到最大. i=s i≠s,t i=t
(3)增广链 给定可行流f={fij},使fij=cij的弧称为饱和 弧,使fij<cij的弧称为非饱和弧,把fij=0的弧 称为零流弧, fij>0的弧称为非零流弧. 若是网络中连接发点vs和收点vt的一条 链,定义链的方向是从vs到vt,则链上的弧被 分成两类: 前向弧:弧的方向与链的方向一致 后向弧:弧的方向与链的方向相反 全体+ 全体—
则{d(k)(vs,vj)}j=1,2,…,p即为到各点的最短路的权. 例 求下图所示有向图中从v1到各点的最 短路.
v2 2 v1 -3 5 4 v4 7 -2 v 3 4 6 v6 -3 2 v7 4 -1 v5 3 v8
wij
v1 0 2 5 v2 0 -2 v3 0 v4 4 v5 v6 v7 v8 7 -3 4 6 0 0 -3 0 2 3 0 2 0 0 2
2.3最小支撑树问题 定义3 给图G=(V,E) ,对G中的每一条 边[vi,vj],相应地有一个数wij,则称这样的图 G为赋权图,wij称为边[vi,vj]上的权. 设有一个连通图G=(V,E) ,每一边e=(vi,vj) 有一个非负权w(e)=wij(wij≥0) 定义4:如果T=(V,E') 是G的一个支撑树, 称E'中所有边的权之和为支撑树T的权,记为 w(T),即 w(T)=∑ wij
和vik的链,记为(vi1,vi2,…,vik),称点vi2, vi3,…,vik-1为链的中间点. 链(vi1,vi2,…,vik)中,若vi1=vik,,则称之为 一个圈,记为(vi1,vi2,…,vik-1,vi1). 若链(vi1,vi2,…,vik)中,点vi1,vi2,…,vik都是 不同的,则称之为初等链; 若圈(vi1,vi2,…,vik-1,vi1)中,vi1,vi2,…,vik-1都 是不同的,则称之为初等圈. 若链(圈)中含的边均不相同,则称之为简 单圈.
弧立点:次为零的点. 定理1:图G=(V,E)中,所有点的次之和 是边数的两倍,即 ∑d(v)=2q
v∈V
奇点:次为奇数的点.否则称为偶点. 定理2:任一图中,奇点的个数为偶数. 给定一个图G=(V,E),一个点边的交错序 列(vi1, ei1, vi2, ei2,…,vik-1,eik-1,vik),如果满足 eit=[vit,vit+1] (t=1,2,…,k-1),则称为一条联结vi1
步骤: 给vs标上永久标号P(vs)=0,其余节点标 上临时标号T(vj)=∞ (1)若节点vi是刚得到P标号的点.把与vi 有弧(边)直接相连而且有属于T标号的节点, 改为下列T标号 T(vj)=min{T(vj),P(vi)+dij} (2)把T标号中标号最小的节点vj0的临时标 号T(vj0)改为P(vj0),直至算法终止;否则转(1)
d(t)(v1,vj)
0 2 0 2 0 0 2 2 0 0 3 6 0 2
v1 v2 v3 v4 v5 v6 v7 v8 t=1 t=2 t=3 t=4 t=5 t=6
5 0 0 -3 -3 -3 6 11 6 6
0 -3 -3 -3 3 6 3 6
14 9 9 15 10 10 10
说明:表中空格处为+∞.
4 3 1 2 3 5 2 2 2 4 2 3 3 1 2 2 2
§3 最短路问题 Dijkstra算法的基本思想:若{vs,v1,…,vk} 是从vs到vk的最短路,则{vs,v1,…,vi}是从vs到 vi的最短路. T(临时)标号:从vs到某一节点最短距离 的上界. P(永久)标号: 从vs到某一节点的最短距 离.
例 设备更新问题 制订一设备更新问题,使得总费用最小 购买费 使用年数 维修费 第1年 第2年 第3年 第4年 第5年 13 14 16 19 24 0-1 1-2 2-3 3-4 4-5 8 10 13 18 27
[解]设以vi(i=1,2,3,4,5)表示"第i年初购进 一台新设备"这种状态,以v6表示"第5年末" 这种状态;以弧(vi, vj)表示"第i年初购置的一 台设备一直使用到第j年初"这一方案,以wij 表示这一方案所需购置费和维护费之和.
这样,可建立本例的网络模型.于是,该问 题就可归结为从图中找出一条从v1到v6的最短 路问题. 用Dijkstra标号法,求得最短路为 v1→v3→v6 即第一年初购置的设备使用到第三年初予以 更新,然后一直使用到第五年末.这样五年 的总费用最少,为78.
(21) v2 22 44 89 62 31 24
[证]必要性:显然. 充分性:设图G是连通图,如果G不含圈, 那么G本身是一个树,从而G是它自身的一个 支撑子图G1.如果G含圈,任取一个圈,从 圈中任意地去掉一条边,得到图G的一个支 撑子图G1.如果G1不含圈,那么G1是G的一 个支撑树(因G1是连通的);如果G1仍含圈, 那么从G1中任取一个圈,从圈中再任意去掉 一条边,得到图G的一个支撑子图G2,如此 重复,最终可以得到G的一个支撑子图Gk,它 不含圈,于是Gk是G的一个支撑树.
例 求节点v1到节点v5的最短距离及其路线
v1 vS 4 3 v2 2 1 2 v4 3 v3 3 2 4 v5
[解] P(vs)=0 T(vj)=∞,j=1,…,5 第一步: (1)与节点vs直接相连的临时标号的节点 为 v1, v2,将这两个节点的临时标号改为 T(v1)=min{T(v1),P(vs)+ds1}=min{∞,0+4}=4
连通图:图G中,若任何两个点之间,至 少有一条链. 连通分图(分图):若G是不连通图,它的 每个连通的部分. 基础图:给定一个有向图D=(V,A) ,从D 中去掉所有弧上的箭头,所得到的无向图. 记之为G(D). 给定D中的一条弧a=(u,v),称u为a的始点, v为a的终点,称弧a是从u指向v的. 设(vi1,ai1,vi2,ai2,…,vik-1,aik-1,vik)是D中的一 个点弧交错序列,如果这个序列在基础图G(D)
§2 树 2.1 树及其性质 定义1 一个无圈的连通图称为树 定理1 设图G=(V,E) 是一个树,p(G)≥2, 则G中至少有两个悬挂点. 定理2 图G=(V,E) 是一个树的充分必要 条件是G中不含圈,且恰有p-1条边. 定理3 图G=(V,E)是一个树的充分必要 条件是G是连通图,并且q(G)=p(G)-1. 定理4 图G是树的充分必要条件是任意 两个顶点之间恰有一条链.
(2)可行流与最大流 定义2 满足下列条件的流称为可行流: 1) 0≤ fij≤cij 2)对于每一i≠s,t ∑
(vi,vj)∈A (vj,vi)∈A
fij = ∑ fji
对于发点vs和收点vt, ∑ fsj – ∑ fjs=v(f)
(vs,vj)∈A (vj,vs)∈A
(vt,vj)∈A (vj,vt)∈A