第1讲-最短路问题课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第1讲-最短路问题课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 短路 问题 课件
- 资源描述:
-
1、第1讲一、图论的基本概念二、固定起点的最短路三、任意两点的最短路四、最短路算法的应用 18世纪的哥尼斯堡城中流过一条河。河上游七座桥连接着河的两岸和河中的两个小岛。当时那里的人们热衷于这样的游戏:一个游人怎样才能一次连续走过这七座桥而每座桥只走一次,回到原出发点。没有人想出这种走法,又无法说明走法不存在,这就是著名的“七桥”难题。欧拉将这个问题归结图论的问题。他用A,B,C,D四点表示河的两岸和小岛,用两点间的连线表示桥。七桥问题变为:从A,B,C,D任意点出发,能否通过每条边一次且 仅一次,再回到原点?欧拉证明了这样的走法不存在,并给出了这类问题的一般结论。图论 1857年,英国数学家哈密顿
2、发明了一种游戏,他用一个实心正12面体象征地球,正12面体的20个定点分别表示世界上20座名城,要求游戏者从任一城市出发,寻找一条可经由每个城市一次且仅一次再回到原出发点的路,这就是“环球旅行”问题。七桥问题与“环球旅行”问题不同,前者要在图中找一条经过每边且仅一次的路统称欧拉回路,而后者是要在图中找一条经过每个点一次且仅一次的路,能成为哈密尔顿回路。在这一时间,还有许多诸如迷宫问题、博弈问题以及棋盘上马的行走路线之类的游戏难题,吸引了许多学者。这些看起来似乎无足轻重的游戏却引出了许多有实用意义的新问题,开辟了新学科。图论的第一本专著是匈牙利数学家O Koing 写的“有限图与无限图的理论”,
3、发表于1936年。从1736年欧拉的第一篇论文到这本专著,前后经历了200年之久,总的来讲这一时期图论的发展是缓慢的。直到20世纪中期,电子计算机的发展以及离散数学问题具有越来越重要的地位,使得作为提供离散数学模型的图论得以迅速发展,成为运筹学中十分活跃的重要分支。目前图论被广泛地应用于管理科学、计算机科学、信息论、控制论、物理、化学、生物、心理学等各个领域,并取得了丰硕的成果。图论应用图论应用图与网络优化的一些基本问题图与网络优化的一些基本问题最短路问题最短路问题(SPPshortest path problem)一名货柜车司机奉命在最短的时间内将一车货物从甲地运往乙地。从甲地到乙地的公路网
4、纵横交错,因此有多种行车路线,这名司机应选择哪条线路呢?假设货柜车的运行速度是恒定的,那么这一问题相当于需要找到一条从甲地到乙地的最短路。公路连接问题公路连接问题 某一地区有若干个主要城市,现准备修建高速公路把这些城市连接起来,使得从其中任何一个城市都可以经高速公路直接或间接到达另一个城市。假定已经知道了任意两个城市之间修建高速公路的成本,那么应如何决定在哪些城市间修建高速公路,使得总成本最小?指派问题指派问题(assignment problem)一家公司经理准备安排名员工去完成项任务,每人一项。由于各员工的特点不同,不同的员工去完成同一项任务时所获得的回报是不同的。如何分配工作方案可以使总
5、回报最大?中国邮递员问题中国邮递员问题(CPPchinese postman problem)一名邮递员负责投递某个街区的邮件。如何为他(她)设计一条最短的投递路线(从邮局出发,经过投递区内每条街道至少一次,最后返回邮局)?由于这一问题是我国管梅谷教授1960年首先提出的,所以国际上称之为中国邮递员问题。旅行商问题(旅行商问题(TSPtraveling salesman problem)一名推销员准备前往若干城市推销产品。如何为他(她)设计一条最短的旅行路线(从驻地出发,经过每个城市恰好一次,最后返回驻地)?这一问题的研究历史十分悠久,通常称之为旅行商问题。运输问题运输问题(transport
6、ation problem)某种原材料有个产地,现在需要将原材料从产地运往个使用这些原材料的工厂。假定每个产地的产量和家工厂的需要量已知,单位产品从任一产地到任一工厂的运费已知,那么如何安排运输方案可以使总运输成本最低?上述问题有两个共同的特点:一是它们的目的都是从若干可能的安排或方案中寻求某种意义下的最优安排或方案,数学上把这种问题称为最优化或优化(optimization)问题;二是它们都易于用图形的形式直观地描述和表达,数学上把这种与图相关的结构称为网络(network)。与图和网络相关的最优化问题就是网络最优化或称网络优化(netwok optimization)问题。所以上面例子中介
7、绍的问题都是网络优化问题。由于多数网络优化问题是以网络上的流(flow)为研究的对象,因此网络优化又常常被称为网络流(network flows)或网络流规划等 狼、羊、白菜过河问题狼、羊、白菜过河问题 猎人要把一只狼、一头羊和一篮白菜从河的左岸带到右岸,但他的渡船太小,一次只能带一样。因为狼要吃羊,羊会吃白菜,所以狼和羊,羊和白菜不能在无人监视的情况下相处。问猎人怎样才能达到目的?图图 论论 的的 基基 本本 概概 念念一、一、图图 的的 概概 念念1、图的定义、图的定义2、顶点的次数、顶点的次数 3、子图、子图二、二、图图 的的 矩矩 阵阵 表表 示示1、关联矩阵关联矩阵2、邻接矩阵邻接矩
8、阵返回返回定义定义有序三元组G=(V,E,)称为一个图图.1 V=,21nvvv是有穷非空集,称为顶顶点点集集,其中的元素叫图 G 的顶顶点点.2 E 称为边边集集,其中的元素叫图 G 的边边.3 是从边集 E 到顶点集 V 中的有序或无序的元素 偶对的集合的映射,称为关关联联函函数数.例例1 设 G=(V,E,),其中 V=v1,v2,v3,v4,E=e1,e2,e3,e4,e5,335414413312211)(,)(,)(,)(,)(vvevvevvevvevve.G 的图解如图.图的定义图的定义定义定义定义定义规定用记号和分别表示图的顶点数和边数.顶点的度数顶点的度数4)(4vd5)(
9、3)(2)(444vdvdvd推论推论任何图中奇次顶点的总数必为偶数例例 在一次聚会中,认识奇数个人的人数一定是偶数。子图子图定定义义设图 G=(V,E,),G1=(V1,E1,1)GGv1,v4,v5Ge1,e2,e3关联矩阵关联矩阵注:假设图为简单图邻接矩阵邻接矩阵注:假设图为简单图最最 短短 路路 问问 题题 及及 其其 算算 法法一、一、基基 本本 概概 念念二、固二、固 定定 起起 点点 的的 最最 短短 路路三、每三、每 对对 顶顶 点点 之之 间间 的的 最最 短短 路路基基 本本 概概 念念通路44112544141vevevevevWvv道路4332264521141veve
10、vevevevTvv路径4521141vevevPvv固固 定定 起起 点点 的的 最最 短短 路路问题:问题:无向连通简单带权图,求出顶点a与z之间的最短通路的长度。最短路问题是网络理论中应用最广的问题之一。许多优化问题可以使这个模型,如设备更新、管道铺设、线路安排、厂区布局等。图论方法比较有效。算法思想:算法思想:最短路是一条路径,且最短路的任一段也是最短路 求出从a到第一个顶点的最短通路的长度,从a到第二个顶点的最短通路的长度,一次类推,直到求出从a到z 的最短通路的长度为止。即类似于树生长的过程。Dijkstra 算法算法:求 G 中从顶点 u0到其余顶点的最短路算法步骤:算法步骤:(
11、)赋初值:令 Su0,l u()0=0 vSVS,令l v()=W u v(,)0,z v()=u0 uu0(3)设v*是使l v()取最小值的S中的顶点,则令 S=Sv*,uv*(4)若S,转 2,否则,停止.用上述算法求出的l v()就是u0到v的最短路的权,从v的父亲标记)(vz追溯到u0,就得到u0到v的最短路的路线.(2)更新l v()、z v():vSVS,若l v()l uW u v()(,)则令l v()=l uW u v()(,),z v()=u例例 求下图从顶点 u1到其余顶点的最短路先写出带权邻接矩阵:03064093021509701608120W因 G 是无向图,故
12、W是对称阵 TO MATLAB(road1)u1u2u3u4u5u6u7u8218152939763416第0步u2u3u4u5u6u7u82181529397634162(u0)8(u0)1(u0)u1第1步u3u2u3u4u5u6u7u82181529397634162(u0)8(u0)1(u0)u1第2步u310(u0,u3)u2u2u3u4u5u6u7u82181529397634162(u0)8(u0)1(u0)u1第3步u310(u0,u3)u23(u0,u2)u5u2u3u4u5u6u7u82181529397634162(u1)8(u1)1(u1)u1第4步u310(u1,u3
13、)u23(u1,u2)u66(u1,u2)12(u1,u2,u5)u5u2u3u4u5u6u7u82181529397634162(u1)8(u1)1(u1)u1第5步u310(u1,u3)u23(u1,u2)u66(u1,u2)12(u1,u2,u5)u57(u1,u2,u5,u6)u4u2u3u4u5u6u7u82181529397634162(u1)1(u1)u1第6步u310(u1,u3)u23(u1,u2)u66(u1,u2)12(u1,u2,u5)u57(u1,u2,u5,u6)u49(u1,u2,u5,u6,u4)u7u8u3u4u6u7u1u3u2u6u5u4u7u8u1u2u
14、3u4u5u6u7u81243553317284例 求出点1到其余各顶点的最短有向路的长度?Dijkstra算法:9,3,8,5,0:918,11min5,3,min5,3,2,4,1,3115,11min5,2,min835,10min3,2,min5,3,2,4,1,21183,min5,4,min1073,min3,4,min53,5min2,4,min5,3,2,4,1,45,1,34,1,3,152,1,0,5,4,3,2,15432135525523345543342254321SSSSSwSSSTPkwSSSwSSSTPkwSSSwSSSwSSSTPkwSwSwSwSSTP显然且
展开阅读全文