图论模型课件.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图论模型课件.ppt

第一讲 规划模型、案例及软件求解 2010数学建模集训班专题讲座--图论模型的建立与分析 专题 图的表示与锁具问题 最小生成树、TSP和灾区巡视问题 最短路、网络流和运输问题 作业 图的表示与锁具问题 不积硅步,无以至千里 --荀子·劝学 图的矩阵表示 关联矩阵 两点间长度为k的路径数目 如果已经一个图的邻接矩阵A,我们想知道任意两个顶点之间长度为k的路径有多少条怎么办? 一个简单的办法如下 令A=A+I B=A X A X X A (k个A相乘) 那么B中元素bij的值就是从i点出发到j点的路径数目 通过下面的案例我们讨论一下这个方法的应用 1994 年全国大学生数学建模竞赛B 题(锁具装箱) 某厂生产一种弹子锁具, 每个锁具的钥匙有5 个槽, 每个槽的高度从{1, 2, 3, 4, 5, 6}中任取一数. 由于工艺及其它原因, 制造锁具时对5 个槽的高度还有两个限制: (1) 至少有3 个不同的数; (2) 相邻两槽的高度之差不能为5. 满足以上条件制造出来的所有互不相同的锁具称为一批. 我们的问题是如何确定每一批锁具的个数 ? 求解上述问题的一般方法 计算机枚举 排列组合计数 缺点:计算量都比较大 图论方法 易见, x = x 1 - x 2, 其中, x 1= 相邻两槽高度之差不为5 的锁具数, 即: 满足限制条件(2) 的锁具数; x 2= 相邻两槽高度之差不为5 且槽高仅有1 个或2 个的锁具数, 即: 满足限制条件(2)但不满足限制条件(1) 的锁具数. 我们用图论方法计算x 1 和x 2. 图论方法 基本引理  令A k= A ×A ×?×A---k次 = {a (k)ij }n×n , 则a (k )ij = G 中以v i , v j 为端点的长度为k 的道路数. 为利用上述引理计算x 1 和x 2, 我们构造无向图G= (V , E ) (如图1 所示) V = {1, 2, 3, 4, 5, 6}, E = {ij | i, j ∈V 且| i- j |≠5}. 图论方法 在G 中, 每一条长度为4 的道路对应于一个相邻两槽高度之差不为5 的锁具, 即: 满足限制条件(2) 的锁具. 反之, 亦然. 于是, 可通过G 的邻接矩阵A 计算x 1, 具体步骤如下: 图论方法 因此 图论方法 计算y 1 可分别考虑槽高只有1, 12, 13, 14, 15 的情形. 若只有1, 这样的锁具数只有1 个; 若只有1 和i ( i= 2, 3, 4, 5) , 这样的锁具数= G 中以1 和i 为顶点, 长度为3 的道路数, 此数可通过A 的子矩阵A 1i= ( i= 2, 3, 4, 5) 计算得到. 事实上, 因为 所以 y 1= 1+ (4+ 4+ 4+ 4- 1) ×4= 61. 图论方法 同理, 计算y 2 时应考虑槽高只有2, 21, 22, 23, 24, 25, 26 的情形, 类似计算可得 y 2= 1+ (4+ 4+ 4+ 4+ 4- 1) ×5= 76. 于是, x 2= 61×2+ 76×4= 426, x = 6306- 426= 5880. 最小生成树、TSP和灾区巡视问题 山穷水尽疑无路,柳暗花明又一村 --陆游·游山西村 98年全国大学生数学建模竞赛B题最佳灾情巡视路线 今年(1998年)夏天某县遭受水灾. 为考察灾情、组织自救,县领导决定,带领有关部门负责人到全县各乡(镇)、村巡视. 巡视路线指从县政府所在地出发,走遍各乡(镇)、村,又回到县政府所在地的路线. 98年全国大学生数学建模竞赛B题最佳灾情巡视路线 问题1 若分为三组巡视,设计总路程最短且各组尽可能均衡的巡视路线. 分析 本题显然是一个加权图上求最短回路的问题 我们可以借助图论的方法解决 主要考虑两个基本的方法 最小生成树方法 旅行商(TSP)方法 问题1的分析与求解--最小生成树法 问题:如何分成相对均衡的三组? 先求图的最小生成树,理由如下 最小生成树包含图的所有顶点,且最小生成树的边权是相邻顶点之间的距离,它描述了顶点之间的相近程度,可以考虑利用它来进行分块 问题1的分析与求解--最小生成树法 利用Kruskal算法,求得最小生成树如下 问题1的分析与求解--最小生成树法 对上面的最小生成树分解成三个子树 分解原则 分解点为O点或尽量接近O点 分解得到的子图的顶点数尽可能接近17 尽量使得分解得到的子图为连通图 尽量使子图与点O的最短路的上点在该子图内 尽量使各子图内部的点在内部形成回路 问题1的分析与求解--最小生成树法 问题1的分析与求解--最小生成树法 几个优化原则 扩环原则 子图有孤立枝,扩环后权值应减小 增环原则 环路上某个顶点有两枝,且有使两枝成环

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档