




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
最短路径问题的算法分析及建模案例一.摘要2二.网络最短路径问题的基础知识22.1有向图32.2连通性42.3割集52.4最短路问题6三最短路径的算法研究63.1最短路问题的提出63.2 Bellman最短路方程63.3 Bellman-Ford算法的基本思想73.4 Bellman-Ford算法的步骤73.5实例73.6 Bellman-FORD算法的建模应用举例83.7 Dijkstra算法的基本思想113.8 Dijkstra算法的理论依据113.9 Dijkstra算法的计算步骤113.10 Dijstre算法的建模应用举例113.11 两种算法的分析131.Diklstra算法和Bellman-Ford算法思想有很大的区别13Bellman-Ford算法在求解过程中,每次循环都要修改所有顶点的权值,也就是说源点到各顶点最短路径长度一直要到Bellman-Ford算法结束才确定下来。142.Diklstra算法和Bellman-Ford算法的限制143.Bellman-Ford算法的另外一种理解144.Bellman-Ford算法的改进14 摘要 近年来计算机发展迅猛,图论的研究也得到了很大程度的发展,而最短路径问题一直是图论中的一个典型问题,它已应用在地理信息科学,计算机科学等诸多领域。而在交通路网中两个城市之间的最短行车路线就是最短路径问题的一个典型例子。 由于最短路径问题在各方面广泛应用,以及研究人员对最短路径的深入研究,使得在最短路径问题中也产生了很多经典的算法。在本课题中我将提出一些最短路径问题的算法以及各算法之间的比较,最后将这些算法再应用于实际问题的建模问题中。 关键词:计算机 图论 交通道路网 最短路径A. In this paper, Computer developing rapidly in recent years, graph theory research also have been greatly developed, and the shortest path problem is a typical problem in graph theory, it has been applied in geographical information science, computer science, and many other fields. And in the transportation network of the shortest route between two cities in is a typical example of the shortest path problem.Due to the shortest path problem is widely used in various aspects, and the researchers on the in-depth study of the shortest path, makein the shortest path problem also generates a lot of classical algorithm. In this topic Ill suggest some algorithm and the algorithm of the shortest path problem between the comparison, finally the algorithm is applied to the modeling of the actual problem again.Key words: computer graph traffic road network The shortest path前言 最短路径问题是图论以及运筹学中的一个非常重要的问题,在生产实践,运输及工程建筑等方面有着十分广泛的应用。本文对图论中的最短路径问题进行分析,对其运算解法进行分析寻求比较快捷的模型解法;主要解决的是从某个顶点到其余各个顶点的最短路径问题。本文从Floyd算法以及Dijkstra算法两种算法入手,概述了这两种方法的原理,提出了求解最短路径问题的算法思想,并且对两种算法进行分析比较,提出改进的方法。一 网络最短路径问题的基础知识 图11.1 图 图G是一个(无向)图,其中有序二元组(V,E),V=,,.是顶点集,E=是集,是一个无序二元组,它表示该边连接的是顶点,。图1就是一个图。 注释:图形的大小,位置,形状是无关紧要的。若=,则称连接和;点和称为的顶点,和是邻接的顶点;如果两条边有公共的一个顶点,则称这两边是邻接的。1.2 无环图定义:没有环的图称之为无环图。1.3 简单图定义:没有环且没有重边的图称之为简单图。设G=(V,E)是一个简单图,则有|E|不大于|V|(|V|-1)/21.4 完全图定义:若上式的等号成立那么该图中每对顶点恰好有一条边相连,则称该图为完全图。1.5 有向图定义:一个有向图G是一个有序二元组(V,A),V=,.,是顶点集,A=称为G的弧集,为有序二元组。称为连向的弧,为的出弧,的入弧;称为的得尾,称为aij的头;称为的前继,称为的后继。图2就是一个有向图。 图21.6 环定义:头尾重合的弧称为环。1.7 简单有向图定义:没有环和重弧的有向图称为简单有向图。1.8 完全有向图定义:设G=(V,E)是一个简单有向图,则|A|不大于|V|(|V|-1),若等号成立则称这样的图为完全有向图。1.9 途径,迹,路定义:设图G=(V,E),若它的某些顶点与边可以排成一个非空的有限交错序列(,,.,),这里该途径中边互不相同,则称为迹;如果顶点互不相同,则称之为路。显然路必为迹,但反之不一定成立。1.10 连通图定义:图G中如果存在一条从顶点到的途径,则称和是连通的。如果图G中任何两个顶点都是连通的,则称G是连通图。1.11 有向途径定义:设有一个有向图G=(V,A),G中某些顶点与弧组成的非空有限序列(,.,)这里,.,V,A,且=(,),则称它为从到的有向途径。类似的可定义有向迹,有向路,有向闭途径,有向闭迹,有向回路(圈)等。当G时简单有向图时,从到的一条有向途径可简记为(,.,)。二 最短路问题定义:所谓最短路径是指如果从图中某一顶点(称为源点)到达另一顶点(称为终点)的路径可能不止一条,如何找到一跳有向路径使得沿这条路径上各弧的权值总和最小。2.1最短路问题的提出某旅客要从杭州乘飞机前往奥地利的萨尔斯堡,因为他害怕乘坐飞机,因此要选择一条航线,使得在空中飞行的时间尽可能的少。如何选择航线以达到要求。为此构造一个无向网络总可以化成有向网络。设G=(V,A,w)是一个有向网络,p为G中一条有向路,称w(P)=为路径p的路长。现找网络中一条从指定顶点vi到另一个指定顶点vj的最短有向路径。三 最短路径算法研究3.1 Dijkstra算法3.11 Dijkstra算法的基本思想对网络中每个顶点赋一个标号,用来记录从顶点到该顶点的最短路的长度(称为永久标号)或最短长度的上界(称为临时标号)。算法开始时,只有顶点被赋予永久标号=0,其他顶点赋予临时标号。一般的,算法在被临时标号的顶点中寻找一个顶点,其临时标号最小,然后将赋予永久标号,并且对其余临时标号的顶点vj按照方式修正其标号。算法在所有顶点被赋予永久标号时结束。3.12 Dijkstra算法的理论依据(1) 对于S中任意一顶点,其永久标号都是从顶点到该顶点的最短路的长度。(2) 对于R中任意一顶点,其临时标号都是从顶点出发,只经过S中顶点到达该顶点的最短路的长度。3.13 Dijkstra算法的计算步骤最短路径问题是指在一个赋予权值的图的两个指定节点和v之间找出一条具有最小权值的路。Dijkstra算法是一个解最短路径问题的算法,这个算法不仅可以找到最短的(,v),路径而且可以给出从到图中所有节点的最短路径,基本步骤如下:(1) 设=0,对所有节点来说,设=,并且将标号为0,t,d为和w之间的权值(距离)。(2) 按照每个没有标号的节点w计算,表示节点t到节点w之间的权值。如果标号被修改了说明在当前得到的到w的最优路径上t和w相邻,用记录下来在所有中选择一个最小的即,w未标号。将s标号为/,表示节点到s的最优路径的长度且与s相邻。(3) 如果重点v已经标号,则停止。得到一条从到v的最优路径。否则st,反向。(4) 按照上述步骤继续计算。3.14 Dijstre算法的建模应用举例某城市要在该城市所辖的8个区中的区建立一个取水点,如图所示的是这8个区之间的分布以及相邻各区的距离。现要从区向其他各区运水,求出区到其他各区的最短路径。先写出带权邻接矩阵:W=因为G是无向图,所以W是对称矩阵。迭代次数 1020218328104831058610126710127912812最后标记L(v)021736912Z(v)因此得到最短路径为:迭代次数 最后标记L(v)021736912Z(v)由上表可得到到各点的最短路径为:;,;,;,。上述Dijkstra算法的MATLAB代码:w=0 2 1 8 inf inf inf;2 0 inf 6 1 inf inf inf ;1 inf 0 7 inf inf 9 inf;8 6 7 0 5 1 2 inf;inf 1 inf 5 0 3 inf 9;inf inf inf 1 3 0 4 6;inf inf 9 2 inf 4 0 3;inf inf inf inf 9 6 3 0n=size(w,1);w1=w(1,:); %赋初值%for i=1:nl(i)=w1(i);z(i)=1;ends=;s(1)=1;u=s(1);k=1;while kl(u)+w(u,i)l(i)=l(u)+w(u,i);z(i)=u; end end endendl,z %求v*L1=1;for i=1:nfor j=1:kif i=s(j)l1(i)=l1(i);elsel1(i)=inf; end endendlv=inf;for i=1:nif l1(i)lvlv=l1(i);v=i;endendlv,vs(k+1)=vk=k+1u=s(k)endl,z3.2 FLOYD算法3.21 FLOYD算法的基本思想 直接在图的带权邻接矩阵中使用插入顶点的方法依次构造出n个矩阵,.,使得最终得到的矩阵成为图的距离矩阵,并且同时求出插入的点的矩阵以便于得到两点间的最短路径。3.22 FLOYD算法原理(1)FLOYD算法求路径矩阵的方法:在建立距离矩阵的同时可建立路径矩阵R。每一次求到一个时,按照下列的方式产生相应的新,即当被插入在任何两点间的最短路径时,被记录在中,依次求时求得,可由来查找任何两个点之间的最短路径。(2)FLOYD算法查找最短路径的方法:如果,那么点是点到点的最短路的中点。用同样的方法再查找,如果:(1)向点查找得:,.,。(2)向点查找得:,.,。那么从点到的最短路径为:,,.,,.,3.23 FLOYD算法的算法步骤Floud算法算法目的:求任意两个顶点间的最短路径。:表示到之间的距离。:表示到之间的插入点。起始:选定带权值的邻接矩阵(1)赋值:对所有的,1。(2)更新,对所有的,如果,那么,。(3)如果=,那么算法终止;否则,再次回到(2),以此类推。3.24 FLOYD建模应用举例某个城市要建立一个消防站,为该城市所属的七个区服务,如图所示。问应该把这个消防站设置在哪个区,才能使该消防站到最远的区的路径最短。用Floyd算法求出各点之间的距离,得到表格:0351075.57302742.54520524.5610750378.57423045.55.52.54.57401.57468.55.51.50从上表可以得出距离矩阵计算在各点设立服务设施的最大服务距离,。,由于=那么应该将消防站设置在处。上述Floyd算法的MATLAB算法代码为:clear:w=0,3,inf,inf,inf,inf,inf;3,0,2,inf,1.8,2.5,inf;inf,2,0,6,2,inf,inf;inf,inf,6,0,3,inf,inf;inf,1.8,2,3,0,4,inf;inf,2.5,inf,inf,4,0,1.5;inf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国氯甲酸异丁酯行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国气溶胶帽行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国智能票务行业市场发展趋势与前景展望战略研究报告
- 基于用户行为模式的实时动态排序算法设计-洞察阐释
- 2025-2030中国旅客信息显示系统行业市场发展趋势与前景展望战略研究报告
- 医疗大数据在手术室决策支持中的实践
- 2025-2030中国数据擦除解决方案行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国放射免疫分析行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国换气扇行业市场发展分析及前景趋势与投资研究报告
- 2025-2030中国打印机市场深度调研及发展策略研究报告
- 第11课+宋元时期的经济、科技与文化【中职专用】《中国历史》(高教版2023基础模块)
- JTG D60-2015 公路桥涵设计通用规范
- 篮球竞赛组织编排
- 扁桃体切除术后出血原因及预防处理
- 2024年重庆江北国际机场有限公司招聘笔试参考题库含答案解析
- 2024年安徽合肥通航控股有限公司招聘笔试参考题库含答案解析
- 儿童超声心动图操作指南与标准课件
- 刑事案件模拟法庭剧本完整版五篇
- 2022年高考全国I卷数学高考真题(原卷版)
- 东风EQ1092F型汽车分动器的设计
- 小主持人社团教案
评论
0/150
提交评论