《运筹学教学资料》运筹学第10-11章.ppt
《《运筹学教学资料》运筹学第10-11章.ppt》由会员分享,可在线阅读,更多相关《《运筹学教学资料》运筹学第10-11章.ppt(198页珍藏版)》请在三一办公上搜索。
1、Chapter10 图与网络分析(Graph Theory and Network Analysis),图的基本概念与模型树与图的最小树最短路问题网络的最大流,本章主要内容:,学习要点:1.掌握一般图论及其基本概念;2.能够应用最短路算法求解实际问题;3.掌握最大流最小割理论。,18世纪,Knigsberg是俄罗斯的一个城市(现为加里宁格勒)。市内有七座桥。人们在此散步,问:“能否从某处出发,经过每座桥一次且恰好一次又回到出发点?”,1736年,Euler巧妙地将此问题化为图的不重复一笔画问题,并证明了该问题不存在肯定回答,发表了第一篇论文。,七桥问题,图的基本概念与模型,中国邮路问题,一邮递
2、员送信,要走完他所负责的全部街道分送信件,最后返回邮局。邮递员都会本能地以尽可能少的行程完成送信任务。如何走路线最短。,1962年,由我国数学家管梅谷提出,国际上称为中国邮递员问题。问题:求一个圈,过每边至少一次,并使圈的长度最短。,图的基本概念与模型,Hamilton图,游戏:用正十二面体上20个顶点表示20个城市,要求参加游戏者沿着各边行走,走遍每一个城市且仅走一次,最后回到出发城市。,问题:如何判断一个图是否具有这样的性质。如果有,这样的行走路线如何确定。,the dodecahedron is Hamiltonian,显然这样的路线存在且不唯一,图的基本概念与模型,在一个棋盘中,若马(
3、马走日步)能否从某一点出发跳遍棋盘上每一点恰好一次,再回到出发点?对于44,55,或88的棋盘上马的跳动如何?,图的基本概念与模型,幻方问题,图的基本概念与模型,某团体举行舞会,其中有n 个男士与n 个女士,每个男士恰好认识 r 个女士,每个女士也恰好认识 r 个男士。问:在这个团中,能否做到:每个男士与其认识的女士跳舞,每个女士也与其认识的男士跳舞。,比如:任意6个人,一定有3个人相互认识或者有3个人相互不认识,鸽笼原理和Ramsey数,图的基本概念与模型,四色猜想,能否用四种颜色给地图染色,使相邻的国家有不同的颜色。,问题:能否用四种颜色给平面图的点染色,使有公共边的点有不同的颜色。,图的
4、基本概念与模型,Mbius在1840年的一次演讲中提出如下问题:一个国王有五个儿子,要求在他死后将国土分成五部分,每个儿子占一部分并建立各自的宫殿。要求每座宫殿之间都有(平面的)路相连且互不相交(不允许立体交叉)。,Tietze研究后指出这是不可能的。因为5个顶点的完全图不是平面图。平面图在印刷电路板中有重要的应用。,平面图与网络,图的基本概念与模型,n-方体Qn,n方体,n 维立方体n=3 的情形,上底下底是两个2维立方体。对应顶点连线后(同时把上底中顶点标号末位加号0,下底中顶点标号末位加号1)得到3维立方体。,次,奇点,偶点,孤立点,与某一个点vi相关联的边的数目称为点vi的次(也叫做度
5、),记作d(vi)。右图中d(v1),d(v3)=5,d(v5)=1。次为奇数的点称作奇点,次为偶数的点称作偶点,次为1的点称为悬挂点,次为0的点称作孤立点。,图的次:一个图的次等于各点的次之和。,图的基本概念与模型,链,圈,连通图,图中某些点和边的交替序列,若其中各边互不相同,且对任意vi,t-1和vit均相邻称为链。用表示:,起点与终点重合的链称作圈。如果每一对顶点之间至少存在一条链,称这样的图为连通图,否则称图不连通。,图的基本概念与模型,二部图(偶图),图G=(V,E)的点集V可以分为两各非空子集X,Y,集XY=V,XY=,使得同一集合中任意两个顶点均不相邻,称这样的图为偶图。,(a)
6、,(b),(c),(a)明显为二部图,(b)也是二部图,但不明显,改画为(c)时可以清楚看出。,图的基本概念与模型,完全二分图是具有二分划(X,Y)的二分图,并且X的每个顶点与Y的每个顶点都相连。完全二分图记为Km,n,K3,3 K2,4,G2,G1,G2,G1,G2,G1,网络(赋权图),设图G(V,E),对G的每一条边(vi,vj)相应赋予数量指标wij,wij称为边(vi,vj)的权,赋予权的图G称为网络(或赋权图)。权可以代表距离、费用、通过能力(容量)等等。端点无序的赋权图称为无向网络,端点有序的赋权图称为有向网络。,图的基本概念与模型,出次与入次,有向图中,以vi为始点的边数称为点
7、vi的出次,用d+(vi)表示;以vi为终点的边数称为点vi 的入次,用表示d-(vi);vi 点的出次和入次之和就是该点的次。,有向图中,所有顶点的入次之和等于所有顶点的出次之和。,图的基本概念与模型,一个图是二部图当且仅当它不含奇圈。,设G 是一个简单图,若(G)2,则G 中必含有圈。,设G 是简单图,若(G)3,则G 必有偶圈。,设有2n 个电话交换台,每个台与至少n 个台有直通线路,则该交换系统中任二台均可实现通话。,回答:,图的基本性质:,定理1 任何图中,顶点次数之和等于所有边数的2倍。,定理2 任何图中,次为奇数的顶点必为偶数个。,证明:由于每条边必与两个顶点关联,在计算点的次时
8、,每条边均被计算了两次,所以顶点次数的总和等于边数的2倍。,证明:设V1和V2分别为图G中奇点与偶点的集合。由定理1可得:,2m为偶数,且偶点的次之和 也为偶数,所以 必为偶数,即奇数点的个数必为偶数。,图的基本概念与模型,图的矩阵描述:如何在计算机中存储一个图呢?现在已有很多存储的方法,但最基本的方法就是采用矩阵来表示一个图,图的矩阵表示也根据所关心的问题不同而有:邻接矩阵、关联矩阵、权矩阵等,1.邻接矩阵对于图G=(V,E),|V|=n,|E|=m,有nn阶方矩阵A=(aij)nn,其中,图的基本概念与模型,2.关联矩阵对于图G=(V,E),|V|=n,|E|=m,有mn阶矩阵M=(mij
9、)mn,其中:,3.权矩阵,对于赋权图G=(V,E),其中边 有权,构造矩阵B=(bij)nn 其中:,图的基本概念与模型,下图所表示的图可以构造邻接矩阵A如下,图的基本概念与模型,例1,v1v2v3v4v5v6v7v8,下图所表示的图可以构造邻接矩阵M如下:,M=(mij)=,1 0 1 0 0 0 0 0 0 0 0 01 1 0 0 1 0 0 0 0 0 0 00 1 0 0 0 1 1 1 0 0 0 00 0 0 0 0 0 0 0 1 0 0 10 0 1 1 1 1 0 0 0 0 0 00 0 0 0 0 0 0 0 1 1 0 00 0 0 0 0 0 0 0 0 1 1
10、10 0 0 1 0 0 1 1 0 0 0 0,图的基本概念与模型,例2,下图所表示的图可以构造权矩阵B如下:,图的基本概念与模型,例3,树是图论中结构最简单但又十分重要的图。在自然和社会领域应用极为广泛。,乒乓求单打比赛抽签后,可用图来表示相遇情况,如下图所示。,运动员,树与图的最小树,某企业的组织机构图也可用树图表示。,树与图的最小树,树是一个不包含圈的简单连通图。树中度为1的点称为树叶,度大于1的点称为分枝点。具有k个连通分支的不包含圈的图称为k-树,或森林。下是具有六个顶点的树,图中的每棵树都只有5条边,并且至少有2个顶点的次数是1。,树:无圈的连通图即为树,性质1:任何树中必存在次
11、为1的点。性质2:n 个顶点的树必有n-1 条边。性质3:树中任意两个顶点之间,恰有且仅有一条链。性质4:树连通,但去掉任一条边,必变为不连通。性质5:树无回圈,但不相邻的两个点之间加一条边,恰得到一个圈。,树与图的最小树,图的最小部分树(支撑树),如果G2是G1的部分图,又是树图,则称G2是G1的部分树(或支撑树)。树图的各条边称为树枝。一般图G1含有多个部分树,其中树枝总长最小的部分树,称为该图的最小部分树(或最小支撑树)。,G1,G2,树与图的最小树,(赋权)图中求最小树的方法:破圈法和避圈法,破圈法:任取一圈,去掉圈中最长边,直到无圈。,v1,v2,v3,v4,v5,v6,4,3,5,
12、2,1,边数n-1=5,树与图的最小树,得到最小树:,Min C(T)=15,树与图的最小树,避圈法:去掉G中所有边,得到n个孤立点;然后加边。加边的原则为:从最短边开始添加,加边的过程中不能形成圈,直到点点连通(即:n-1条边)。,树与图的最小树,v1,v2,v3,v4,v5,v6,4,3,5,2,1,Min C(T)=15,树与图的最小树,10.3 最短路问题,如何用最短的线路将三部电话连起来?此问题可抽象为设ABC为等边三角形,连接三顶点的路线(称为网络)。这种网络有许多个,其中最短路线者显然是二边之和(如ABAC)。,A,B,C,最短路问题,A,B,C,P,但若增加一个周转站(新点P)
13、,连接4点的新网络的最短路线为PAPBPC。最短新路径之长比原来只连三点的最短路径要短。这样得到的网络不仅比原来节省材料,而且稳定性也更好。,最短路问题,问题描述:就是从给定的网络图中找出一点到各点或任意两点之间距离最短的一条路。有些问题,如选址、管道铺设时的选线、设备更新、投资、某些整数规划和动态规划的问题,也可以归结为求最短路的问题。因此这类问题在生产实际中得到广泛应用。,最短路问题,渡河游戏一老汉带了一只狼、一只羊、一棵白菜想要从南岸过河到北岸,河上只有一条独木舟,每次除了人以外,只能带一样东西;另外,如果人不在,狼就要吃羊,羊就要吃白菜,问应该怎样安排渡河,才能做到既把所有东西都运过河
14、去,并且在河上来回次数最少?这个问题就可以用求最短路方法解决。,最短路问题,例1,定义:1)人M(Man),狼W(Wolf),羊G(Goat),草H(Hay)2)点 vi 表示河岸的状态3)边 ek 表示由状态 vi 经一次渡河到状态 vj 4)权边 ek 上的权定为 1,我们可以得到下面的加权有向图,最短路问题,状态说明:v1,u1=(M,W,G,H);v2,u2=(M,W,G);v3,u3=(M,W,H);v4,u4=(M,G,H);v5,u5=(M,G),此游戏转化为在下面的二部图中求从 v1 到 u1 的最短路问题。,v1,v2,v3,v4,v5,u5,u4,u3,u2,u1,最短路问
15、题,求最短路有两种算法:,狄克斯屈拉(Dijkstra)标号算法 逐次逼近算法,最短路问题,狄克斯屈拉(Dijkstra)标号算法的基本思路:若序列 vs,v1.vn-1,vn 是从vs到vt间的最短路,则序列 vs,v1.vn-1 必为从vs 到vn-1的最短路。,假定v1v2 v3 v4是v1 v4的最短路,则v1 v2 v3一定是v1 v3的最短路,v2 v3 v4也一定是v2 v4的最短路。,最短路问题,Dijkstra算法基本步骤,Dijkstra算法的基本思想是从vs出发,逐步地向外探寻最短路,采用标号法。执行过程中,与每个点对应,记录下一个数(称为这个点的标号),它或者表示从vs
16、到该点的最短路长(称为P标号),或者是从vs到该点的最短路长的上界(称为T标号)。算法每一步都把某个顶点的T 标号改为P 标号,当终点vt 得到 P 标号时,计算结束。最多n-1步。,最短路问题,网络图的最短路图的起点是vs,终点是vt,以vi为起点vj为终点的弧记为(i,j),距离为dij。,P标号(点标号):b(j)起点vs到点vj的最短路长;T标号(边标号):k(i,j)=b(i)+dij。,最短路问题,步骤:,2.找出所有vi已标号vj未标号的弧集合 B=(i,j)如果这样的弧不存在或vt已标号则计算结束;,3.计算集合B中弧k(i,j)=b(i)+dij的标号;,4.选一个点标号 在
17、终点vl处标号b(l),返回到第2步。,1.令起点的标号;b(s)0。,最短路问题,求连接 vs、vt 的最短路.,开始,给vs以 P 标号,P(vs)=0,其余各点给 T 标号 T(vi)=+.,Step 1:,迭代 1,Dijkstra算法基本步骤:,例2,最短路问题,若 vi 为刚得到 P 标号的点,考虑这样的点 vj:(vi,vj)E 且vj 为 T 标号。,Step 2:,对vj的T 标号进行如下更改T(vj)=minT(vj),P(vi)+wij,2,4,5,迭代 1,考察vs,T(v2)=minT(v2),P(vs)+ws2=min+,0+5=5,T(v1)=minT(v1),P
18、(vs)+ws1=min+,0+2=2,最短路问题,比较所有具有 T 标号的点,把最小者改为P 标号,,Step 3:,2,4,5,即 P(vi)=minT(vi).,当存在两个以上最小者时,可同时改为P 标号。若全部点为P标号,则停止。否则用vi代替vi转step 2.,-,2,迭代 1,全部T标号中,T(v1)最小,令P(v1)=2,记录路径(vs,v1).,最短路问题,9,4,若 vi 为刚得到 P 标号的点,考虑这样的点 vj:(vi,vj)E 且vj 为 T 标号。,Step 2:,对vj的T 标号进行如下更改T(vj)=minT(vj),P(vi)+wij,迭代 2,考察v1,T(
19、v4)=minT(v4),P(v1)+w14=min+,2+7=9,T(v2)=minT(v2),P(v1)+w12=min5,2+2=4,最短路问题,4,4,迭代 2,比较所有具有 T 标号的点,把最小者改为P 标号,,Step 3:,即 P(vi)=minT(vi).,-,-,全部 T 标号中,T(v2),T(v3)最小,令P(v2)=4,P(v3)=4,记录路径(v1,v2),(v1,v4),.,最短路问题,7,迭代 3,若 vi 为刚得到 P 标号的点,考虑这样的点 vj:(vi,vj)E 且vj 为 T 标号。,Step 2:,对vj的T 标号进行如下更改T(vj)=minT(vj)
20、,P(vi)+wij,最短路问题,7,迭代 3,比较所有具有 T 标号的点,把最小者改为P 标号,,Step 3:,即 P(vi)=minT(vi).,-,最短路问题,迭代 4,若 vi 为刚得到 P 标号的点,考虑这样的点 vj:(vi,vj)E 且vj 为 T 标号。,Step 2:,对vj的T 标号进行如下更改T(vj)=minT(vj),P(vi)+wij,8,14,最短路问题,迭代 4,8,-,比较所有具有 T 标号的点,把最小者改为P 标号,,Step 3:,即 P(vi)=minT(vi).,最短路问题,迭代 5,13,若 vi 为刚得到 P 标号的点,考虑这样的点 vj:(vi
21、,vj)E 且vj 为 T 标号。,Step 2:,对vj的T 标号进行如下更改T(vj)=minT(vj),P(vi)+wij,最短路问题,迭代 5,13,比较所有具有 T 标号的点,把最小者改为P 标号,,Step 3:,即 P(vi)=minT(vi).,当存在两个以上最小者时,可同时改为P 标号。若全部点为P标号,则停止。否则用vi代替vi转step 2.,-,最短路问题,最短路,Dijkstra算法不仅找到了所求最短路,而且找到了从 vs 点到其他所有顶点的最短路;这些最短路构成了图的一个连通无圈的支撑子图,即图的一个支撑树。,最短路问题,从上例知,只要某点已标号,说明已找到起点vs
22、到该点的最短路线及最短距离,因此可以将每个点标号,求出vs到任意点的最短路线,如果某个点vj不能标号,说明vs不可达vj。,最短路问题,算法适用条件:Dijkstra算法只适用于全部权为非负情况,如果某边上权为负的,算法失效。此时可采用逐次逼近算法。,如右图所示中按dijkstra算法可得P(v1)=5为从vsv1的最短路长显然是错误的,从vsv2v1路长只有3。,v2,vs,v1,5,-5,8,最短路问题,例2,Ford算法基本思想:为逐次逼近的方法。每次求出从出发点v0到其余点的有限制的最短路,逐次放宽条件。即第一次逼近是找v0到vn的最短路,但限于最短路只允许有一条边(弧),其距离记为d
23、1(v0,vn).简记为d 1(vn)。第二次逼近,再找v0到vn的最短路,其限制条件放宽到允许最短路不超过两条边(弧),其距离记为d 2(vn)。到第m次逼近,d m(vn)表示由v0到vn的不超过m条边(弧)组成的最短路的距离。最多p-1次。,网络有负权的最短路,最短路问题,Ford算法基本步骤:,(1)令m=1,令d1(v0)=0,d1(vi)=w(v0,vi).,解:d1(v0)=0,d1(v1)=2,d1(v2)=1,d1(v3)=-2.,0,2,1,-2,第一次逼近,最短路问题,(2)令,解:d2(v1)=min d1(v1)+w(v1,v1),d1(v2)+w(v2,v1),d1
24、(v3)+w(v3,v1),0,2,1,-2,当vi,v 为同一个点时,有w(v,vi)=0.,=min 2+0,1+,-2+3=1.,1,d2(v2)=min d1(v1)+w(v1,v2),d1(v2)+w(v2,v2),d1(v3)+w(v3,v2),=min 2-2,1+0,-2+=0.,0,d2(v3)=min d1(v1)+w(v1,v3),d1(v2)+w(v2,v3),d1(v3)+w(v3,v3),=min 2+,1+1,-2+0=-2.,第二次逼近,(3)若m+1=p 则停止。否则m=m+1,转(2).,最短路问题,解:d3(v1)=min d2(v1)+w(v1,v1),
25、d2(v2)+w(v2,v1),d2(v3)+w(v3,v1),0,1,0,-2,=min 1+0,0+,-2+3=1.,d3(v2)=min d2(v1)+w(v1,v2),d2(v2)+w(v2,v2),d2(v3)+w(v3,v2),=min 1-2,0+0,-2+=-1.,-1,d3(v3)=min d2(v1)+w(v1,v3),d2(v2)+w(v2,v3),d2(v3)+w(v3,v3),=min 1+,0+1,-2+0=-2.,第三次逼近,(2)令,当vi,v 为同一个点时,有w(v,vi)=0.,(3)若m+1=p 则停止。否则m=m+1,转(2).,最短路问题,最后解得:d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运筹学教学资料 运筹学 教学 资料 10 11
链接地址:https://www.31ppt.com/p-5904495.html