2017年物流运筹学课件-图的基本概念与模型课件知识资料.ppt

2017年物流运筹学课件-图的基本概念与模型课件知识资料.ppt

  1. 1、本文档共119页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最短路问题 如何用最短的线路将三部电话连起来? 此问题可抽象为设△ABC为三角形,,连接三顶点的路线(称为网络)。这种网络有许多个,其中最短路线者显然是二边之和(如AB∪AC)。 A B C 最短路问题 A B C P 但若增加一个周转站(新点P),连接4点的新网络的最短路线为PA+PB+PC。最短新路径之长N比原来只连三点的最短路径O要短。这样得到的网络不仅比原来节省材料,而且稳定性也更好。 最短路问题 问题描述: 就是从给定的网络图中找出一点到各点或任意两点之间距离最短的一条路 . 有些问题,如选址、管道铺设时的选线、设备更新、投资、某些整数规划和动态规划的问题,也可以归结为求最短路的问题。因此这类问题在生产实际中得到广泛应用。 最短路问题 例7.4 渡河游戏 一老汉带了一只狼、一只羊、一棵白菜想要从南岸过河到北岸,河上只有一条独木舟,每次除了人以外,只能带一样东西;另外,如果人不在,狼就要吃羊,羊就要吃白菜,问应该怎样安排渡河,才能做到既把所有东西都运过河去,并且在河上来回次数最少?这个问题就可以用求最短路方法解决。 最短路问题 定义: 1)人—M(Man),狼—W(Wolf), 羊—G(Goat), 草—H(Hay) 2) 点—— vi ,Uj表示河岸的状态 3) 边—— ek 表示由状态 vi 经一次渡河到状态 vj 4) 权——边 ek 上的权定为 1 我们可以得到下面的加权有向图 最短路问题 状态说明: v1,u1 =( M,W,G,H ); v2,u2 =(M,W,G); v3,u3 =(M,W,H); v4,u4=(M,G,H); v5,u5 =(M,G) 此游戏转化为在下面的二部图中求从 v1 到 u1 的最短路问题。 v1 v2 v3 v4 v5 u5 u4 u3 u2 u1 最短路问题 求最短路有两种算法: 狄克斯特拉(Dijkstra)标号算法 逐次逼近算法 最短路问题 狄克斯特拉(Dijkstra)标号算法的基本思路: 若序列{ vs,v1…..vn-1,vn }是从vs到vt间的最短路,则序列{ vs,v1…..vn-1 } 必为从vs 到vn-1的最短路。 假定v1→v2 →v3 →v4是v1 →v4的最短路,则v1 →v2 →v3一定是v1 →v3的最短路,v2 →v3 →v4也一定是v2 →v4的最短路。 v1 v2 v3 v4 v5 最短路问题 求网络图的最短路,设图的起点是vs,终点是vt ,以vi为起点vj为终点的弧记为 (i, j) 距离为dij P标号(点标号):P(vj) —起点vs到点vj的最短路长; T标号(边标号): T (Vi,Vj)k=P(i)+dij, 步骤: 1. 令起点的标号;P(s)=0。 2. 找出所有vi已标号vj未标号的弧集合 B={(i, j)} 如果这样的弧不存在或vt已标号则计算结束; 3. 计算集合B中弧k(i,j)=P(i)+dij的标号 4. 选一个点标号 在终点vl处标号P(l), 返回到第2步。 最短路问题 例7.5 求下图v1到v7的最短路长及最短路线 ① ② ③ ④ ⑤ ⑥ ⑦ 8 6 2 5 2 3 5 3 4 2 10 5 7 0 8 6 2 2 5 4 4 11 14 7 5 10 7 12 11 v7已标号,计算结束。从v1到v7的最短路长是 11, 最短路线: v1→ v4 → v6 → v7 P标号 T标号 最短路问题 从上例知,只要某点已标号,说明已找到起点vs到该点的最短路线及最短距离,因此可以将每个点标号,求出vs到任意点的最短路线,如果某个点vj不能标号,说明vs不可达vj 。 注:无向图最短路的求法只将上述步骤2将弧改成边即可。 最短路问题 例7.6 求下图v1到各点的最短距离及最短路线。 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ 4 5 2 6 1 7 8 3 9 3 2 6 12 16 18 0 4 5 2 2 3 10 3 9 6 12 6 4 11 6 6 18 8 12 24 8 24 18 所有点都已标号,点上的标号就是v1到该点的最短距离,最短路线就是红色的链。 最短路问题 课堂练习: 1. 用Dijkstra算法求下图从v1到v6的最短距离及路线。 v3 v5 4 v1 v2 v4 v6 3 5 2 2 2 4 2 1 v1到v6的最短路为: 最短路问题 2. 求从v1到v8的最短路径 2 3 7 1 8 4 5 6 6 1 3 4 10 5 2 7 5 9 3 4 6 8 2 最短路问题 2 3 7 1 8 4 5 6 6 1 3 4 10 5 2

文档评论(0)

lidp20080808 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档