数学建模图论讲ppt课件.ppt

上传人:小飞机 文档编号:1917833 上传时间:2022-12-25 格式:PPT 页数:86 大小:2.19MB
返回 下载 相关 举报
数学建模图论讲ppt课件.ppt_第1页
第1页 / 共86页
数学建模图论讲ppt课件.ppt_第2页
第2页 / 共86页
数学建模图论讲ppt课件.ppt_第3页
第3页 / 共86页
数学建模图论讲ppt课件.ppt_第4页
第4页 / 共86页
数学建模图论讲ppt课件.ppt_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《数学建模图论讲ppt课件.ppt》由会员分享,可在线阅读,更多相关《数学建模图论讲ppt课件.ppt(86页珍藏版)》请在三一办公上搜索。

1、数学建模,图论方法专题,图论方法专题,最短路问题及其算法,四,最小生成树问题,图的矩阵表示,数学建模-图论,3,2022年12月25日,一、图的基本概念,数学建模-图论,4,2022年12月25日,一、图的基本概念,一、图的基本概念,次数为奇数顶点称为奇点,否则称为偶点。,5,2022年12月25日,数学建模-图论,常用d(v)表示图G中与顶点v关联的边的数目, d(v)称为顶点v的度数.与顶点v出关联的边的数目称为出度,记作d +(v),与顶点v入关联的边的数目称为入度,记作d -(v)。,用N(v)表示图G中所有与顶点v相邻的顶点的集合.,任意两顶点都相邻的简单图称为完全图.有n个顶点的完

2、全图记为Kn 。,一、图的基本概念,数学建模-图论,几个基本定理:,一、图的基本概念,数学建模-图论,若将图G的每一条边e都对应一个实数F(e), 则称F(e)为该边的权, 并称图G为赋权图, 记为G = (V, E , F ).,设G = (V, E )是一个图, v0, v1, , vkV, 且“1ik, vi1 viE, 则称v0 v1 vk是G的一条通路.,如果通路中没有相同的顶点, 则称此通路为路径, 简称路.,始点和终点相同的路称为圈或回路.,一、图的基本概念,数学建模-图论,顶点u与v称为连通的,如果存在u到v通路,任二顶点都连通的图称为连通图,否则,称为非连通图。极大连通子图称

3、为连通分图。,连通而无圈的图称为树, 常用T 表示树.,树中最长路的边数称为树的高,度数为1的顶点称为树叶。其余的顶点称为分枝点。树的边称为树枝。,设G是有向图,如果G的底图是树,则称G是有向树,也简称树。,一、图的基本概念,数学建模-图论,邻接矩阵(结点与结点的关系)关联矩阵(结点与边的关系)路径矩阵(任意两结点之间是否有路径)可达性矩阵直达矩阵 等等,二、图的矩阵表示,数学建模-图论,1 有向图的邻接矩阵 A = (aij )nn (n为结点数),例1:写出右图的邻接矩阵:,解:,二、图的矩阵表示,数学建模-图论,2 有向图的权矩阵A = (aij ) nn (n为结点数),例2:写出右图

4、的权矩阵:,解:,二、图的矩阵表示,数学建模-图论,3 有向图的关联矩阵A =(aij )nm (n为结点数m为边数),有向图:,无向图:,二、图的矩阵表示,数学建模-图论,例3:分别写出右边两图的关联矩阵,解:分别为:,二、图的矩阵表示,数学建模-图论,二、图的矩阵表示,4 应用实例,某厂生产一种弹子锁具,每个锁具的钥匙有5个槽,每个槽的高度从1,2,3,4,5,6)中任取一数由于工艺及其它原因,制造锁具时对5个槽的高度有两个限制:(1)至少有3个不同的数;(2)相邻两槽的高度之差不能为5 满足以上条件制造出来的所有互不相同的锁具称为一批我们的问题是如何确定每一批锁具的个数?,1994年全国

5、大学生数学建模竞赛B题(锁具装箱)中关于锁具总数的问题可叙述如下:,数学建模-图论,该问题用图论中的邻接矩阵解决较为简单易见, x=t-s,其中,t代表相邻两槽高度之差不为5的锁具数,即:满足限制条件(2)的锁具数,s代表相邻两槽高度之差不为5且槽高仅有1个或2个的锁具数,即:满足限制条件(2)但不满足限制条件(1)的锁具数 我们用图论方法计算t和s.,数学建模-图论,二、图的矩阵表示(应用实例及解法分析),在G中t每一条长度为4的道路对应于一个相邻两槽高度之差不超过5的锁具,即满足限制条件(2)的锁具,反之亦然,于是可以通过G的邻接矩阵A来计算t的值,具体步骤如下:,数学建模-图论,二、图的

6、矩阵表示(应用实例及解法分析),因此,,数学建模-图论,二、图的矩阵表示(应用实例及解法分析),又令,其中yi表示满足限制条件(2)但不满足限制条件(1)且首位为i的锁具数,(i=1,2,3,4,5,6),显然y1=y6, y2=y4=y3=y5,于是我们只需要计算y1和y2. 计算y1可分别考虑槽高只有1,12,13,14,15的情形若只有1,这样的锁具效只有1个,若只有1和i(i=2,3,4,5),这样的锁具数=G中以1和i为顶点,长度为3的道路数,此数可通过A的子矩阵A1i计算得到,数学建模-图论,二、图的矩阵表示(应用实例及解法分析),二、图的矩阵表示(应用实例解法分析),事实上,因为

7、,其中i=2,3,4,5,显然y1=1+(4+4+4+4-1) 4=61. 同理,计算y2时应考虑槽高只有2,21,23,24,25,26时的情形,类似计算可得 y2=1+(4+4+4+4-1)5=76 于是,s=612+764=426,x=6306-426=5880. 该算法既易理解又易操作并且又可扩展,数学建模-图论,二、图的矩阵表示(应用实例及解法分析),公交线路选择问题:在给定某城市公交线路的公交网信息后,求任意两个站点之间的最佳出行路线,包括换乘次数最少、出行时间最短、出行费用最低等。以下图的简化公交网为例来说明。,数学建模-图论,图中由两条公交线路组成,实线表示第一条线路,依次经过

8、站点1,3,4,5,虚线表示第二条线路,依次经过站点2,3,5。,首先考虑换乘次数最少的线路选择模型,首先建立直达矩阵如下:,二、图的矩阵表示(应用实例及解法分析),数学建模-图论,计算A2得到:,由于A2为非零矩阵,所以任意两站点经过换乘一次都可到达,由于问题较简单,结果显然正确。 一般地,比较A=(aij),A2=(a(2)ij), Ak=(a(k)ij)中的(i,j)元够成的向量中第一个非零向量的上标即为出行换乘的最少次数。,二、图的矩阵表示(应用实例及解法分析),数学建模-图论,接下来考虑出行时间最短的模型,建立直达距离矩阵:,下面利用Floyd矩阵算法可计算出出行时间最短的路线。定义

9、T*T=(t(2)ij), t(2)ij=minmin1=k=5tik+tkj,tij, t(2)ij表示从站点i到站点j的至多换乘一次的最短时间。,二、图的矩阵表示(应用实例及解法分析),数学建模-图论,4,利用matlab编写程序如下:T=0 inf 1 2 3;inf 0 1 inf 2; 1 1 0 1 1; 2 inf 1 0 1; 3 2 1 1 0; n=length(T);T2=zeros(n);for i=1:n for j=1:n T2(i,j)=min(min(T(i,:)+T(:,j),T(i,j); endendT2,计算结果为:T2 = 0 2 1 2 2 2 0

10、1 2 2 1 1 0 1 1 2 2 1 0 1 2 2 1 1 0,二、图的矩阵表示(应用实例及解法分析),数学建模-图论,类似可计算出T3,T4,实际上T2的值已为出行路线的最短时间,例如T2(2,5)=2,说明站点2到站点5的最短时间为2站路时间。,思考:最省乘车费用的最佳出行路线该如何考虑呢?(分情况讨论)(1)按路程收费;(出行时间最短)(2)按换乘次数收费。(最少换乘次数),二、图的矩阵表示(应用实例及解法分析),数学建模-图论,商人过河问题:假如有三个商人各带一名随从要过河,只有一条船,每次最多只能坐两个人。为安全起见,商人数不能少于随从数,否则随从会杀人越货。船过一次河需要5

11、分钟,问最短几分钟能使他们都过去?,用邻接矩阵来解决:设(m,n,l)表示左岸商人m人,随从n人;设(m,n,r)表示右岸有商人m人,随从n人。从左岸到右岸去,所有可能的状态为:v1=(3,3,l), v2=(3,2,l), v3=(3,1,l), v4=(3,0, l), v5=(2,2,l), v6=(1,1,l), v7=(0,3,l), v8=(0,2,l), v9=(0,1,l), v10=(3,3,r), v11=(3,2,r), v12=(3,1,r), v13=(3,0,r), v14=(2,2,r), v15=(1,1,r), v16=(0,3,r), v17=(0,2,r)

12、, v18=(0,1,r).,二、图的矩阵表示(应用实例及解法分析),数学建模-图论,渡河可以理解为上面状态的转移,例如状态v1渡河一次可以转化为其他状态v15 v17 v18,其他状态也易列出。以V=v1, v2,. v18为顶点集,当两种状态可以互相转化时,就在相应的来那个顶点间连一边,从而建立一个二分图G=,如右图所示。,G=的邻接矩阵为:,二、图的矩阵表示(应用实例及解法分析),数学建模-图论,其中,矩阵B为:,记a(k)ij为Ak中的(i,j)元,目标是使a(k)1,10不等于0的最小的自然数k. 利用matlab容易计算出k=11,且a(11)1,10 =4,即小船至少11次才能把

13、所有人全部运到右岸,说明共有4种不同的过河方案。继续计算可得出a(19)1,10 =45060,如果允许小船过河19次的话,共有45060中不同的方案。,若将图G的每一条边e都对应一个实数F(e), 则称F(e)为该边的权, 并称图G为赋权图, 记为G = (V, E , F ).,设G = (V, E )是一个图, v0, v1, , vkV, 且“1ik, vi1 viE, 则称v0 v1 vk是G的一条通路.如果通路中没有相同的顶点, 则称此通路为路径,简称路.,对于赋权图,路的长度(即路的权)通常指路上所有边的权之和。,最短路问题:求赋权图上指定点之间的权最小的路。,三、最短路问题及其

14、算法,数学建模-图论,重要性质:,若v0 v1 vm 是G 中从v0到vm的最短路, 则对1km, v0v1 vk 必为G 中从v0到vk的最短路.,即:最短路是一条路,且最短路的任一段也是最短路。,数学建模-图论,三、最短路问题及其算法,设有给定连接若干城市的公路网,寻求从指定城市到各城市的最短路线。,2、应用实例:最短路问题,问题的数学模型:,三、最短路问题及其算法,31,2022年12月25日,数学建模-图论,32,2022年12月25日,三、最短路问题及其算法,数学建模-图论,33,2022年12月25日,三、最短路问题及其算法,数学建模-图论,34,2022年12月25日,三、最短路

15、问题及其算法,数学建模-图论,35,2022年12月25日,三、最短路问题及其算法,数学建模-图论,36,2022年12月25日,三、最短路问题及其算法,数学建模-图论,37,2022年12月25日,三、最短路问题及其算法,数学建模-图论,38,2022年12月25日,三、最短路问题及其算法,数学建模-图论,39,2022年12月25日,三、最短路问题及其算法,数学建模-图论,40,2022年12月25日,三、最短路问题及其算法,数学建模-图论,41,2022年12月25日,三、最短路问题及其算法,数学建模-图论,42,2022年12月25日,三、最短路问题及其算法,数学建模-图论,43,20

16、22年12月25日,三、最短路问题及其算法,数学建模-图论,44,2022年12月25日,三、最短路问题及其算法,数学建模-图论,45,2022年12月25日,数学建模-图论,三、最短路问题及其算法,46,2022年12月25日,数学建模-图论,求v1到v6的最短路问题.,三、最短路问题及其算法,47,2022年12月25日,数学建模-图论,从上图中容易得到v1到v6只有两条路:,v1v3v6和v1v4v6.,而这两条路都是v1到v6的最短路.,三、最短路问题及其算法,48,2022年12月25日,三、最短路问题及其算法,数学建模-图论,顶点u与v称为连通的,如果存在u-v通路,任二顶点都连通

17、的图称为连通图,否则,称为不连通图。极大连通子图称为连通分图。,连通而无圈的图称为树, 常用T 表示树.,树中最长路的边数称为树的高的度为1的顶点称为树叶。其余的顶点称为分枝点。树的边称为树枝。,设G是有向图,如果G的底图是树,则称G是有向树,也简称树。,四、最小生成树问题及其算法,数学建模-图论,若任意一个连通的图G=的生成子图T=(V=V,E为E的子集)为树, 这棵树T称为图G的生成树.,设T是图G的一棵生成树, 用F (T)表示树T中所有边的权数之和, F(T)称为树T的权.,一个连通图G的生成树一般不止一棵, 图G的所有生成树中权数最小的生成树称为图G的最小生成树.,数学建模-图论,四

18、、最小生成树问题及其算法,怎样找出最小生成树?,G T1 T2,T3 T4 T5,T6 T7 T8,T1至T8是 图G的生成树,数学建模-图论,四、最小生成树问题及其算法,Kruskal 算法 思想:在不形成圈得条件下,优先挑选权小的边形成生成树。,数学建模-图论,四、最小生成树问题及其算法,注:算法构造的最小生成树的边集为 E1;标号 l 具有性质:当且仅当 u、v 之间有一条仅由 E1 中的边形成的路时,l(u) = l(v),因此在步骤 (2) 发现 l(u) = l(v) 时,(u, v) 不能放入 E1,否则会形成一个圈。,数学建模-图论,四、最小生成树问题及其算法,54,2022年

19、12月25日,四、最小生成树问题及其算法,数学建模-图论,55,2022年12月25日,四、最小生成树问题及其算法,数学建模-图论,56,2022年12月25日,四、最小生成树问题及其算法,数学建模-图论,运行结果如下:T = 1 3 5 1 6 3 2 6 6 6 7 4c = 26,上述例题的matlab程序如下:b=1 1 2 2 3 3 3 4 5 5 6;2 6 3 6 4 6 7 7 6 7 7;2 4 4 5 8 3 7 8 3 7 6;Krusf(b,1);,57,2022年12月25日,四、最小生成树问题及其算法,数学建模-图论,58,2022年12月25日,四、最小生成树问

20、题及其算法,数学建模-图论,59,2022年12月25日,四、最小生成树问题及其算法,数学建模-图论,60,2022年12月25日,四、最小生成树问题及其算法,数学建模-图论,运行结果如下:T = 1 1 6 6 6 3 2 6 3 5 7 4c = 2 4 3 3 6 8,例:分别利用Kruskal算法和Prim算法如图G的最小生成树:,四、最小生成树问题及其算法,数学建模-图论,称经过图 G = (V , E ) 的每条边恰好一次的路为 Euler路径,经过G 的每条边恰好一次的回路为 Euler回路。称有 Euler 回路的图为 Euler图,五、E图与H图问题,数学建模-图论,命题:G

21、 是 Euler 图当且当G 连通且没有度数为奇数的点; G 有 Euler 路径当且仅当 G 连通且没有或只有二个度数为基数的点。,4 个点的度数皆为奇数,不存在 Euler 路,中国邮递员问题: 一个邮递员从邮局取出邮件后,需要到他管辖区域内的每条街道进行投递,送完邮件后返回邮局,问如何选择一条总路程最短的投递路线?,以街道为边,街道的交叉口或端点为点,街道的长度为权,构造赋权图G =(V,E,w)。投递路线应是一条经过G的每条边至少一次的回路。,数学建模-图论,五、E图与H图问题,将G的度数为奇数的点(必为偶数个)两个一组、两个一组用最短路连结起来。,如何分组可以使得重复路径的总长度最短

22、?,数学建模-图论,五、E图与H图问题,数学建模-图论,五、E图与H图问题,若G是Euler图,则任何一条Euler回路是最短投递路线,都满足条件,针对这种情况,Fleury提出一种算法,能够在Euler图中找出Euler路径,解决了邮递员问题;,若G 不是Euler图,则投递路线将重复经过某些街道,最优投递路线应使得重复经过的街道的总长度最短。,例如,确定右图是否Euler图,若是,找出图中的Euler回路。,66,2022年12月25日,数学建模-图论,五、E图与H图问题,67,2022年12月25日,数学建模-图论,五、E图与H图问题,68,2022年12月25日,数学建模-图论,五、E

23、图与H图问题,69,2022年12月25日,数学建模-图论,五、E图与H图问题,70,2022年12月25日,数学建模-图论,五、E图与H图问题,71,2022年12月25日,数学建模-图论,五、E图与H图问题,上述例题的Matlab程序如下:cleard=0 1 1 1 1 1 ;1 0 1 1 1 1;1 1 0 1 1 1;1 1 1 0 1 1;1 1 1 1 0 1;1 1 1 1 1 0;T=Fleuf1(d);,例:确定所示的赋权图是否Euler图,若是,找出图中的Euler回路。,数学建模-图论,五、E图与H图问题,73,2022年12月25日,数学建模-图论,五、E图与H图问

24、题,运行结果如下:T = 1 5 4 3 5 5 4 3 2 1c = 5d = 0 1 0 0 1 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 1 0,称经过图 G =(V,E)的每个点恰好一次的路为Hamilton路,经过G的每个点恰好一次的回路为Hamilton回路。称有Hamilton回路的图为Hamilton图。,十二面体的平面嵌入为 Hamilton 图,Hamilton 图与 Euler 图在定义上很相似,但判断一个图是否 Hamilton 图较判断它是否 Euler 图要困难得多,目前还没有易验证的充要条件。,数学建模-图论,五、E图与H图问题,在国

25、际象棋中,马跳动一次只能沿着一个 23 的长方形的对角线从一个角跳到另一个角,问是否存在一串符合规定的着法使得马可以从任一格子出发跳遍 88 的整个棋盘,并只到达每个格子一次?,数学建模-图论,五、E图与H图问题,旅行推销员问题 (货郎担问题),一个推销员要去一些城市访问他的客户然后返回出发城市,问如何选择旅行路线可以使得总路程最短?,以城市为点,以两个城市之间的旅行距离为权,构造一个赋权完全图 G = (V ,E ,w) 。,推销员的旅行路线应是G 的一条经过每个点至少一次的回路,且回路的长度尽可能短。,数学建模-图论,五、E图与H图问题,与最短路问题相反,至今未找到有求解旅行商问题的有效算

26、法,我们试图寻找一个比较好的方法,但不一定是最优解;首先给出近似最优的改良后的最邻近算法,称为改良圈算法,改良圈算法是一种近似算法,给出的结果不一定是最优的,但是有理由认为它常常是比较好的。 该算法的matlab程序为:,数学建模-图论,五、E图与H图问题,78,2022年12月25日,数学建模-图论,五、E图与H图问题,79,2022年12月25日,数学建模-图论,五、E图与H图问题,例:给定4个点的坐标为(0,0),(100,1000),(0,2),(1000,0),试用改良圈算法求通过这4个点的Hamilton圈。,该问题的matlab程序为:clearv=0 0; 100 1000;0

27、 2; 1000 0;for i=1:4 for j=1:4 w(i,j)=sqrt(v(i,1)-v(j,1)2+(v(i,2)-v(j,2)2); end endglf(w);,80,2022年12月25日,数学建模-图论,五、E图与H图问题,例:给定14个点的坐标为(51,67),(37,84),(41,94),(2,99), (18,54),(4,50),(24,42),(25,38),(13,40),(7,64),(22,60),(25,62), (18,40),(41,26),试用改良圈算法求通过这14个点的Hamilton圈。,81,2022年12月25日,数学建模-图论,五、E

28、图与H图问题,鞋带问题:假设 X1,X2,Xn和Y1,Y2,Yn 是穿鞋带的孔,它们分布在两条平行线上,问怎样穿鞋带需要的鞋带长度最短?,一般地,鞋带应从 X1 穿入,交替地选择 Xi 、Yj ,经过每个孔一次,然后从 Y1 穿出。,以 X1,X2,Xn和Y1,Y2,Yn为点构造赋权完全二分图 Kn,n ,边的权为对应两点之间的欧氏距离,则每一种穿鞋带的方法对应Kn,n的一条从X1 至Y1的Hamilton路。,数学建模-图论,五、E图与H图问题,同一边的相邻两孔的距离; Xi 与 Yi 之间的距离。,数学建模-图论,五、E图与H图问题,33.30、36.93、35.44、66.26,第 1 种方法要求的鞋带长度最短,这也是日常生活中最常见的穿鞋带方法。,数学建模-图论,五、E图与H图问题,扫雪问题:地图中的实线表示马里兰州威考密科县中扫雪区域中的二车道马路,虚线表示州属高速公路。一场雪后,从位于地图标记地点以西英里的二处车库派出二辆扫雪车。求用二辆车扫清马路上的雪的有效方法,扫雪车可以利用高速公路进出扫雪区。(假设扫雪车既不会发生故障也不停顿,在交叉路口不需特别的扫雪方法。),数学建模-图论,五、E图与H图问题,Thank You !,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号