收藏 分享(赏)

第7章图论与网络分析-第3.ppt

上传人:11xg27ws 文档编号:8220809 上传时间:2019-06-15 格式:PPT 页数:78 大小:2.38MB
下载 相关 举报
第7章图论与网络分析-第3.ppt_第1页
第1页 / 共78页
第7章图论与网络分析-第3.ppt_第2页
第2页 / 共78页
第7章图论与网络分析-第3.ppt_第3页
第3页 / 共78页
第7章图论与网络分析-第3.ppt_第4页
第4页 / 共78页
第7章图论与网络分析-第3.ppt_第5页
第5页 / 共78页
点击查看更多>>
资源描述

1、最短路定义: 设图G=(V,E)为连通图,图中各边(vi,vj)有权lij,vs,vt为图中任意两点,求一条通路u,使它是从vs到vt的所有路中总权最小的路。即:,第3节 最短路问题,10,9,6,3,1,7,0,2,11,5,13,2,8,6,1,7,2,2,2,9,1,5,1,1,9,1,4,3,9,7,4,6,3,10,9,6,3,1,7,0,2,11,5,13,2,8,6,1,7,2,2,2,9,1,5,1,1,9,1,4,3,9,7,4,6,3,一、最短路问题的标号算法,算法步骤: (1)给起点vs以P标号P(vs)=0,其余各点均给T标号 T(vi)=+ (2)若vi点为刚得到P标

2、号的点,考虑这样的点vj: (vi,vj)属于E,且vj为T标号。对vj的T标号进行如下 修改: T(vj)=minT(vj),p(vi)+lij (3)比较所有具有T标号的点,把最小者改为P标号, 即: P(vi)=minT(vi)同时存在两个以上最小者时,可同时改为P标号。 (4)若图中全部点均为P标号则停止。否则用vi代vj转 回(2)。,从一点到任意点的最短路,例2:木器厂有六个车间,办事员经常要到各个车间了解生产进度。从办公室到各车间的路线由图1给出。,找出点1(办公室)到其它各点(车间)的最短路,5,1,2,7,5,6,3,4,2,5,5,2,7,3,1,3,5,7,1,权wij(

3、dij),距离、价格,点(vi),边eij或记为(vi,vj),Dinkstra标号法,这是解决网络中某一点到其它点的最短路问题时目前认为的最好方法。 在这个问题中我们讨论的是从网络中的点1到其它各点的最短路。,0,从点1出发,因L11=0,在点1处标记,5,1,2,7,5,6,3,4,2,5,5,2,7,3,1,3,5,7,1,0,0,5,1,2,7,5,6,3,4,2,5,5,2,7,3,1,3,5,7,1,从已标号的点出发,找与这些相邻点最小权数(距离)者,找到之后:标号;边变红。,2,0,5,1,2,7,5,6,3,4,2,5,5,2,7,3,1,3,5,7,1,2,从已标号的点出发,

4、找与这些相邻点最小权数(距离)者,找到之后:标号;边变红。,3,0,5,1,2,7,5,6,3,4,2,5,5,2,7,3,1,3,5,7,1,2,3,重复上述步骤,直至全部的点都标完。,4,0,5,1,2,7,5,6,3,4,2,5,5,2,7,3,1,3,5,7,1,2,3,后续过程请同学们自行完成。,4,0,5,1,2,7,5,6,3,4,2,5,5,2,7,3,1,3,5,7,1,2,3,4,7,8,13,小结,从点1出发,因L(1,1)=0,在点1处标记 从点1出发,找相邻点r使得边L(1,r)权数(距离)最小,若L(1,r) = L(1,1)+ d(1,r) 将 标于点r处。并将边

5、1r变红。,0,L(1,r),从已标号的点出发,找与这些相邻点最小权数(距离)者,若L(1,p) =MinL(1,r)+ d(r,p) ,这里r为已标号者下标,p为未标号下标,则将 标于p处。并把(r,p)边变红。重复上述步骤,直至全部的点都标完。,L(1,p),对有向图同样可以用标号算法:例3:如图所示,有一批货物要从v1运到v9,弧旁数字表示该段路长,求最短运输路线。,v1,v9,v8,v7,v6,v5,v4,v3,v2,3,3,3,3,3,4,2.5,5,2,2,2,1,4,0,v1,v9,v8,v7,v6,v5,v4,v3,v2,3,3,3,3,3,4,2.5,5,2,2,2,1,4,

6、0,3,v1,v9,v8,v7,v6,v5,v4,v3,v2,3,3,3,3,3,4,2.5,5,2,2,2,1,4,0,3,v1,v9,v8,v7,v6,v5,v4,v3,v2,3,3,3,3,3,4,2.5,5,2,2,2,1,4,0,3,4,v1,v9,v8,v7,v6,v5,v4,v3,v2,3,3,3,3,3,4,2.5,5,2,2,2,1,4,0,3,4,v1,v9,v8,v7,v6,v5,v4,v3,v2,3,3,3,3,3,4,2.5,5,2,2,2,1,4,0,3,4,5,v1,v9,v8,v7,v6,v5,v4,v3,v2,3,3,3,3,3,4,2.5,5,2,2,2,1

7、,4,0,3,4,5,v1,v9,v8,v7,v6,v5,v4,v3,v2,3,3,3,3,3,4,2.5,5,2,2,2,1,4,0,3,4,6,6,5,v1,v9,v8,v7,v6,v5,v4,v3,v2,3,3,3,3,3,4,2.5,5,2,2,2,1,4,0,3,4,6,6,5,v1,v9,v8,v7,v6,v5,v4,v3,v2,3,3,3,3,3,4,2.5,5,2,2,2,1,4,0,3,4,6,7,5,6,v1,v9,v8,v7,v6,v5,v4,v3,v2,3,3,3,3,3,4,2.5,5,2,2,2,1,4,0,3,4,6,7,5,6,8.5,练习:用Dijkstra算

8、法求下图中v1点到v8点的最短路,v2 5 v4 9 v6,4 4 7 4,v1 5 v8,6 4 5 1,v3 7 v5 6 v7,全部计算结果为:从v1到v8的最短路为v1 v2 v5 v7 v8路长为P(v8)=15.,注意:该方法仅适用于全部权为非负情况,如果某边上权为负数,则算法失效。,例4:企业要制定一台重要设备更新的五年计划,目标是使总费用(购置费用和维修费用之和)为最小。此设备在各年初价格及使用期中所需维修数据如下:,解:用点vi表示年初。(i=1,2,6), v6表示第五年底。弧aij=(vi,vj)表示第i年初购置设备使用到第j年初的过程。对应的权期间发生的购置费用和维修费

9、用之和。原问题转变为从v1到v6的一条最短路。,v1,v2,v3,v4,v5,v6,16,22,18,17,17,16,30,41,59,31,23,41,30,22,23,v1,v2,v3,v4,v5,v6,16,22,18,17,17,16,30,41,59,31,23,41,30,22,23,v1,v2,v3,v4,v5,v6,16,22,18,17,17,16,30,41,59,31,23,41,30,22,23,v1,v2,v3,v4,v5,v6,16,22,18,17,17,16,30,41,59,31,23,41,30,22,23,v1,v2,v3,v4,v5,v6,16,22,

10、18,17,17,16,30,41,59,31,23,41,30,22,23,得到两条最短路 (v1,v3,v6)(v1,v4,v6) 表示在第一、三年或第一、四年各购置一台设备,总费用都为53万元。,例5:已知一个地区的交通网络如下:其中点代表居民小区,边表示公路,lij为公路距离,问区中心医院应建在小区居民就诊时所走路程最短?,v1,v2,v3,v4,v5,v6,v7,60,18,25,20,15,15,30,20,30,解:这是一个选择地址问题,实际要求出图的中心,可化成一系列求最短路问题。 先求出v1到其他各点的最短路长dj ,令d(v1)=max(d1,d2d7),表示若医院建在v1

11、,则离医院最远的小区距离为d(v1)。,依次计算v2,v3.v7到其余各点的最短路,类似求出d(v2),d(v3) ,. ,d(v7)。 d(vi)中(I=1,27)最小者即为最优选址。,由于d(v6)= 48 最小,所以医院应建在v6,此时离医院最远小区距离为48,比医院建在其他小区时距离都短。,习题,P282 10.9,第4节 中国邮递员问题 一、一笔画问题 定义(欧拉链) 给定一个多重连通图G,若存在一条链,通过每边一次且仅一次,则称为这个链为欧拉链。,定义(欧拉圈) 给定一个多重连通图G,若存在一条圈,通过每边一次且仅一次,则称为这个圈为欧拉圈。 定义(欧拉图) 含有一条欧拉圈的图,称

12、为欧拉图。,定理10-4 多重连通图G是欧拉图,当且仅当G中无奇顶点。 推论 多重连通图G有欧拉链的充分必要条件是G恰有两个奇顶点。,v1,v4,v3,v2,顶点的度d(v1)=4, d(v2)=2, d(v3)=4, d(v4)=2 全为偶数,是欧拉图,存在欧拉圈,可从任一点出发。,v1,v4,v3,v2,v1,v4,v3,v2,v1,v4,v3,v2,v1,v4,v3,v2,v1,v4,v3,v2,v1,v4,v3,v2,v1,v4,v3,v2,顶点的度d(v1)=3, d(v2)=2, d(v3)=3, d(v4)=2 两个奇顶点,存在欧拉链,且从其中一个奇顶点开始,结束在另一个奇顶点。

13、,v1,v4,v3,v2,v1,v4,v3,v2,v1,v4,v3,v2,v1,v4,v3,v2,v1,v4,v3,v2,中国邮递员问题:一个邮递员送信,要走完他负责投递的全部街道,完成任务后回到邮局,应如何选择行走路线,才能使所走的路线最短? 如果街区图中没有奇顶点,则是一个欧拉图。如果有奇顶点,则某些边必定重复走一次或多次。我们要求重复走过边的总长最小。,奇偶点作业法步骤: 1 确定第一个可行方案。找到图中所有奇顶点(必有偶数点)将它们两两配对。新图中无奇顶点,得到第一个可行方案。 2 调整可行方案,使重复边总长度下降。,3 检查图中的每个圈,如果每个圈重复边总长度不超过该圈总长度的一半,

14、则已求得最优解。否则进行调整:将这个圈的重复边去了,而将原来没有重复边的各边加上重复边,其他各圈的边不变,根据 2 再一次调整。,例6:设有街道图,各边均标出了街道的长(权)。假定邮递员从v1点出发,求他的最优投递路线。,v9,v1,v8,v7,v6,v5,v4,v3,v2,4,3,4,3,4,4,4,9,6,5,5,2,v9,v1,v8,v7,v6,v5,v4,v3,v2,4,3,4,3,4,4,4,9,6,5,5,2,有四个奇顶点,v9,v1,v8,v7,v6,v5,v4,v3,v2,4,3,4,3,4,4,4,9,6,5,5,2,配成两对v2v4v6v8,v9,v1,v8,v7,v6,v

15、5,v4,v3,v2,4,3,4,3,4,4,4,9,6,5,5,2,任取v2v4通路v2v1v8v7v6v5v4,v9,v1,v8,v7,v6,v5,v4,v3,v2,4,3,4,3,4,4,4,9,6,5,5,2,任取v8v6通路v8v1v2v3v4v5v6,v9,v1,v8,v7,v6,v5,v4,v3,v2,4,3,4,3,4,4,4,9,6,5,5,2,将通路上的边各重复一次。,v9,v1,v8,v7,v6,v5,v4,v3,v2,4,3,4,3,4,4,4,9,6,5,5,2,无奇顶点是欧拉图,有第一个可行方案,重复边总长为=51,v9,v1,v8,v7,v6,v5,v4,v3,v

16、2,4,3,4,3,4,4,4,9,6,5,5,2,调整可行方案:有二条重复边的去了。,重复边总长为=21,v9,v1,v8,v7,v6,v5,v4,v3,v2,4,3,4,3,4,4,4,9,6,5,5,2,检查图中圈:总权=24,重复边长=14大于24/2,v9,v1,v8,v7,v6,v5,v4,v3,v2,4,3,4,3,4,4,4,9,6,5,5,2,重复边总长=17,去了原重复边,添上原没有的重复边,v9,v1,v8,v7,v6,v5,v4,v3,v2,4,3,4,3,4,4,4,9,6,5,5,2,圈上重复边长=13大于24/2,检查图中圈:总权=24,v9,v1,v8,v7,v6,v5,v4,v3,v2,4,3,4,3,4,4,4,9,6,5,5,2,去了原重复边,添上原没有的重复边,v9,v1,v8,v7,v6,v5,v4,v3,v2,4,3,4,3,4,4,4,9,6,5,5,2,重复边总长=15,得最优方案,习题,P283 10.16,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报