运筹学 最短路问题--迪科斯屈算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

山东科技大学
谢 谢!
2.2 网络图中的基本概念
• 节点V={v1,v2,…,vn}--图中的“●”
山东科技大学
• 网络图概念:有向图D=(V, A)和无向图G=(V, E)
• 弧 (边) aij或eij ,(vi, vj)或[vi, vj]--图中的“→”和“▁”
• 弧 (边)的权重wij --图中的数字
2.3 Dijkstra算法的原理
每列√之后,不会再 出现数字。
v1
3 1
2 v3 4 5 v4 10
表格中每列的数据呈递 减变化。
3 实例求解
最短路长度P(vi): 5 3 3 1 1 1 8 6 7 3 9 12 6 5
来自百度文库
山东科技大学
最短路路径λ(vi):
如果最短路长度在第 一行,λ数组值为起始 节点(此处为v1)。
找到对应位置,上一 行√对应节点。
2 Dijkstra算法
2.1 Dijkstra简介
山东科技大学
• 艾兹格·W·迪科斯屈 (Edsger Wybe Dijkstra, 1930年5月11日~2002年8月6 日)荷兰人。 1959年提出 求解最短路的经典算法。在 1972年获得过素有计算机科 学界的诺贝尔奖之称的图灵 奖,与美国斯坦福大学教授 高纳德并称为现代最伟大的 两位计算机科学家。
山东科技大学
• 原理1(最短路性质):任意一条最短路上的任意 路段,必定是连接相应路段端点的最短路。
2.3 Dijkstra算法的原理
山东科技大学
• 求最短路穷举法:先找出所有起点到终点之间的路,
然后分别计算相应路程,通过判断找到最短路。
• 原理2(最短路识别):在权重均为大于等于零(非
负)的网络图中,设连接vs和vt的路共有n条(n ≥2), 如果其中1条的路程总长度比其他n-1条的一部分长 度都要短,那么这条路必定为连接vs和vt的最短路。
v2 6 v1 3
4 1
v5 4
找到最短路长度位置。
2 v3 4
5 v4 10
1
v6
2 v7
v8
3
小结
方法 Dijkstra算法
山东科技大学
形式 规则 原理
表上作业法
最短路探索规则
最短路判断规则 原理2最短路识别
原理1最短路性质
思考题
山东科技大学
• Dijkstra算法的局限性是,不能求解有负权重的加权网络图 中的最短路。那么为什么不能对有负权重的网络图中的所有 权重同时加1个相应正数,以转化为Dijkstra算法能够求解的 网络图? v2 4 v5 v2 11 v5 -6 1 -4 2 3 9 权重都加7 1 8 3 v3 -4 10 v3 3 v6 v8 v1 v6 v8 v1 1 5 8 12 2 9 4 11 v4 10 v4 17 v7 v7
10 vs 12
vt
vm
3 实例求解
表格中的数字,表示起 点v1至相应目标节点最短 路长度的“上界”。
山东科技大学
• 求节点v1(起始节点)至其他7个节点的最短路。
标记√的节点,表示 找到了最短路,相应 数字为最短路的长度。
v2
6
4 1
v5 4 v6 2 v7 4 v8
v2 v3 v4 v5 v6 v7 v8 1 6 3 1√ 2 11 √ 3 5√ 7 4 9 √ 5 9 8√ 6 √ 12 7 √
求解最短路问题的Dijkstra算法
姓名: 单位: 邮箱:@163.com
复旦大学
内容概要
• 1 问题及应用概述 • 2 Dijkstra算法 • 3 实例求解
山东科技大学
1 问题及应用概述
山东科技大学
• 最短路问题是图论理论的一个经典问题。 • 应用广泛如:交通路线选择 、管线铺设 、厂区布局、 机器人研究。
相关文档
最新文档