运筹学图与网络

合集下载

运筹学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的可增广链
  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 为有顺序的集合,先标记的点排在前,这是由于本算法的特点为:先标记的点先查视,即先生长枝)。

相关文档
最新文档