- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最短路问题及其应用
顾碧芬 摘要:主要介绍最短路的两种算法,迪杰斯特拉(Dijkstra)及弗罗伊德(Floyd)算法。以及这两种算法在实际问题中的应用和比较。
1 引言
最短路问题是图论理论的一个经典问题。寻找最短路径就是在指定网络中两结点间找一条距离最小的路。最短路不仅仅指一般地理意义上的距离最短,还可以引申到其它的度量,如时间、费用、线路容量等。
最短路径算法的选择与实现是通道路线设计的基础,最短路径算法是计算机科学与地理信息科学等领域的研究热点,很多网络相关问题均可纳入最短路径问题的范畴之中。经典的图论与不断发展完善的计算机数据结构及算法的有效结合使得新的最短路径算法不断涌现。
2 最短路
2.1 最短路的定义
对最短路问题的研究早在上个世纪60年代以前就卓有成效了,其中对赋权图的有效算法是由荷兰著名计算机专家E.W.Dijkstra在1959年首次提出的,该算法能够解决两指定点间的最短路,也可以求解图G中一特定点到其它各顶点的最短路。后来海斯在Dijkstra算法的基础之上提出了海斯算法。但这两种算法都不能解决含有负权的图的最短路问题。因此由Ford提出了Ford算法,它能有效地解决含有负权的最短路问题。但在现实生活中,我们所遇到的问题大都不含负权,所以我们在的情况下选择Dijkstra算法。
定义①1若图G=G(V,E)中各边e都赋有一个实数W(e),称为边e的权,则称这种图为赋权图,记为G=G(V,E,W)。
定义②2若图G=G(V,E)是赋权图且,,若u是到的路的权,则称为的长,长最小的到的路称为最短路。
若要找出从到的通路,使全长最短,即。
2.2 最短路问题算法的基本思想及基本步骤
在求解网络图上节点间最短路径的方法中,目前国内外一致公认的较好算法有迪杰斯特拉(Dijkstra)及弗罗伊德(Floyd)算法。这两种算法中,网络被抽象为一个图论中定义的有向或无向图,并利用图的节点邻接矩阵记录点间的关联信息。在进行图的遍历以搜索最短路径时,以该矩阵为基础不断进行目标值的最小性判别,直到获得最后的优化路径。
Dijkstra算法是图论中确定最短路的基本方法,也是其它算法的基础。为了求出赋权图中任意两结点之间的最短路径,通常采用两种方法。一种方法是每次以一个结点为源点,重复执行Dijkstra算法n次。另一种方法是由Floyd于1962年提出的Floyd算法,其时间复杂度为,虽然与重复执行Dijkstra算法n次的时间复杂度相同,但其形式上略为简单,且实际运算效果要好于前者。
Dijkstra算法基本步骤③:
令:
并令:
对,求。
求得,使=
令
3、若则已找到到的最短路距离,否则令从中删去转1
这样经过有限次迭代则可以求出到的最短路线,可以用一个流程图来表示:
第一步 先取意即到的距离为0,而是对所赋的初值。
第二步 利用已知,根据对进行修正。
第三步 对所有修正后的求出其最小者。其对应的点是所能一步到达的点中最近的一个,由于所有。因此任何从其它点中转而到达的通路上的距离都大于直接到的距离,因此就是到的最短距离,所以在算法中令并从s中删去,若k=n则就是到的最短路线,计算结束。否则令回到第二步,继续运算,直到k=n为止。
这样每一次迭代,得到到一点的最短距离,重复上述过程直到。
Floyd算法的基本原理和实现方法为:如果一个矩阵其中表示与间的距离,若与间无路可通,则为无穷大。与间的最短距离存在经过与间的和不经过两种情况,所以可以令,n(n为节点数)。检查与的值,在此,与分别为目前所知的到与到的最短距离,因此,就是到经过的最短距离。所以,若有,就表示从出发经再到的距离要比原来的到距离短,自然把到的重写成。每当一个搜索完,就是目前到的最短距离。重复这一过程,最后当查完所有时,就为到的最短距离。
3 最短路的应用
3.1在运输网络中的应用④
设6个城市之间的一个公路网(图1)每条公路为图中的边,边上的权数表示该段公路的长度(单位:百公里),设你处在城市,那么从到应选择哪一路径使你的费用最省。
解:首先设每百公里所用费用相同,求到的费用最少,既求到的最短路线。为了方便计算,先作出该网络的距离矩阵,如下:
(0)设,
(1)第一次迭代
①计算如下
②取,令
③由于,令转(1)
第二次迭代:
①算如下
②取令
③由于,令转(1)
第三次迭代:
①算如下
②取
③由于,令转(1)
第四次迭代:
①算如下
②取
③由于,令转(1)
第五次迭代:
①算如下
②由于。因此已找到到的最短距离为12。计算结束。
找最短路线:逆向追踪得
最短距离为12,即从城市到城市的距离最短,即费用最省。
3.2在舰船通道路线设计中的应用⑤
利用图论的经典理论和人群流量理论研究舰船人员通道路线的优化设计及最优线路选择。首先
您可能关注的文档
最近下载
- NB╱T 20341-2015 压水堆核电厂核岛厂房用孔洞封堵材料和嵌缝材料技术要求.pdf VIP
- 马克思为什么是对的.pptx VIP
- 最新行政执法题库行政执法试题及答案附答案详解(基础题).docx VIP
- 复用器械预处理课件.ppt VIP
- 最新行政执法题库行政执法试题及答案附答案详解(预热题).docx VIP
- 优惠申请表模板.doc VIP
- 本田五羊摩托领御(WH125-20)说明书.pdf VIP
- 【2025年】德州天衢建设发展集团有限公司招聘考试笔试试卷【附答案】.docx
- 除氧器PPT课件(最新整理版).pptx VIP
- 建市[2007]86号 工程设计资质标准.pdf VIP
原创力文档


文档评论(0)