首页 运筹学05_图与网络分析2-最短路

运筹学05_图与网络分析2-最短路

举报
开通vip

运筹学05_图与网络分析2-最短路最短路问题最短(通)路问题是最重要的优化问题之一,例如各种管道的铺设、线路的安排、厂区的布局、设备的更新及运输网络的最小费用流等。(最短距离、费时最少、费用最省)109631702115132861722291511914397463109631702115132861722291511914397463一般的最短路问题描述:给定一个赋权有向图D=(V,A),对每一个弧a=(vi,vj),相应地有权w(a)=wij,又给定D中的任何两个顶点vs和vt,设P是从vs到vt的路,定义路P的权是P中所有弧之和,记为w(P...

运筹学05_图与网络分析2-最短路
最短路问题最短(通)路问题是最重要的优化问题之一,例如各种管道的铺设、线路的安排、厂区的布局、设备的更新及运输网络的最小费用流等。(最短距离、费时最少、费用最省)109631702115132861722291511914397463109631702115132861722291511914397463一般的最短路问题描述:给定一个赋权有向图D=(V,A),对每一个弧a=(vi,vj),相应地有权w(a)=wij,又给定D中的任何两个顶点vs和vt,设P是从vs到vt的路,定义路P的权是P中所有弧之和,记为w(P),最短路问题就是要在所有从vs到vt的路中,求一条权最小的路,即一条从vs到vt的路P0使得:路P0的权称为从vs到vt的距离,记为d(vs,vt)。Dinkstra标号法这是解决网络中某一点到其它点的最短路问题时目前认为的最好 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。适用于有向图权值非负的情况求网络上的一点到其它点的最短路有向图权值非负----Dijkstra算法Dijkstra算法的基本步骤(权值非负)1、给顶点v1标号(0),v1称为已标号点,记标号点集为V1={v1}2、在未标号点集V2中找出与标号点集V1中的顶点vi有弧相连(并且以vi为起点)的点vj,3、在第2步选出的点中,选出满足下面条件的点vk,并给vk标号(l,L1k),其中l为第一标号,L1k为第二标号为从v1到vk的最短路的长度,l表示在从v1到vk的最短路上,与vk相邻的点是vl4、若最后一个顶点vn未标号,则转回第2步;若vn已标号,则从vn开始,按照第一个标号逆向追踪,直到v1,就得到从v1到vn的最短路,vn的第二个标号表示最短路的长度。5127563425527313571木器厂有六个车间,办事员经常要到各个车间了解生产进度。从办公室到各车间的路线由图1给出。找出点1(办公室)到其它各点(车间)的最短路距离、价格123252边eij或记为(vi,vj)点(vi)权wij(dij)0①从点1出发,因L11=0,在点1处标记5127563425527313571051275634255273135710从已标号的点出发,找与这些相邻点最小权数(距离)者,找到之后:标号;边变红。51275634255273135710(1,2)51275634255273135710③从已标号的点出发,找与这些相邻点最小权数(距离)者,找到之后:标号;边变红。(1,2)51275634255273135710③从已标号的点出发,找与这些相邻点最小权数(距离)者,找到之后:标号;边变红。3(1,2)51275634255273135710④重复上述步骤,直至全部的点都标完。(1,3)(1,2)51275634255273135710④重复上述步骤,直至全部的点都标完。4(1,2)(1,3)51275634255273135710④重复上述步骤,直至全部的点都标完。(2,4)(1,3)(1,2)(4,4)51275634255273135710④重复上述步骤,直至全部的点都标完。7(1,3)(1,2)(2,4)51275634255273135710(3,7)(1,3)(1,2)(2,4)512756342552731357108(1,3)(1,2)(2,4)(3,7)51275634255273135710(6,8)(1,3)(1,2)(2,4)(3,7)51275634255273135710(1,3)(1,2)(2,4)(3,7)(6,8)(5,13)51275634255273135710(1,2)(1,3)(2,4)(3,7)(6,8)(5,13)对有向图同样可以用标号算法:例2如图,有一批货物要从v1运到v9,弧旁数字表示该段路长,求最短运输路线。v1v9v8v7v6v5v4v3v23333342.55222140v1v9v8v7v6v5v4v3v23333342.552221403v1v9v8v7v6v5v4v3v23333342.552221403v1v9v8v7v6v5v4v3v23333342.5522214034v1v9v8v7v6v5v4v3v23333342.5522214034v1v9v8v7v6v5v4v3v23333342.55222140345v1v9v8v7v6v5v4v3v23333342.55222140345v1v9v8v7v6v5v4v3v23333342.5522214034665v1v9v8v7v6v5v4v3v23333342.5522214034665v1v9v8v7v6v5v4v3v23333342.55222140346756v1v9v8v7v6v5v4v3v23333342.552221403467568.5v1v9v8v7v6v5v4v3v23333342.552221403467568.59v1v9v8v7v6v5v4v3v23333342.552221403467568.59练习:求从v1到v8的最短路(0)(1,1)(1,3)(3,5)(2,6)(5,10)(5,9)(5,12)Dijkstra算法的不足Dijkstra算法仅适合于所有的权lij0的情形。如果当赋权有向图中存在有负权弧时,则该算法失效。根据Dijkstra算法,可以得出从v1到v2最短路权是2,但是这显然不对,因为从v1到v2的最短路是(v1,v3,v2),权是-1。v1v3v222-3有向图某些权值为负1、先对图中各个点按照Dijkstra算法标号,称之为第一次标号,令m=1,转入第二步;2、对图中除了v1以外的所有点进行m+1次标号,记L1k(m+1)为对顶点vk的第m+1次标号的第二个标号值,计算公式如下:3、如果对所有的点L1k(m)=L1k(m+1)都成立则逆向追踪,找出最短路,算法终止;若存在L1k(m)>L1k(m+1),则令m=m+1,返回第2步逐次逼近算法求从v1到v4的最短路v1v2v3v432-2-145(0)v1v2v3v432-2-145(1,2)(1,3)(2,1)(0)v1v2v3v432-2-145(3,1)(1,3)(2,0)(0)v1v2v3v432-2-145(3,1)(1,3)(2,1)v8v2v4v7v5v1v3v6111-1-1-1-2-3-3-5-5223678终点          起点v1v2v3v4v5v6v7v8t=1t=2t=3t=4v10-1-23 0000v2602-1-5-5-5v3 -30-51-2-2-2-2v4802 3-7-7-7v5 -101-3-3v61017-1-1-1v7-105-5-5v8-3-5066lijP(t)1j无向图v1v2v3v4v52314153将边[vi,vj]看作两条弧,(vi,vj)和(vj,vi)二、最短路的矩阵算法首先写出弧长矩阵D第一步:划去矩阵D中第一列,并给第一行以标号0。第二步:在已标号中未划去的元素中,寻找出最小的元素aij并圈起来,此时把第j列划去,同时给第j行标号i。并把第j行中未划去的各元素都加上aij。第三步:如果各行均已获得标号,则停止,并利用标号倒向追踪,得到v1到各点的最短路。若存在未标号行,返回第二步。例求v1到各点vj的最短路。v1v4v2v5v3v61253242324412v1v2v3v4v5v6v1012v2034v32051v4404v5230v6220v1v2v3v4v5v60012v2034v32051v4404v5230v6220v1v2v3v4v5v60012v2034v32051v4404v5230v6220v1v2v3v4v5v60012v2034v32051v4404v5230v6220v1v2v3v4v5v60012103+14+1v32051v4404v5230v6220v1v2v3v4v5v600121045v32051v4404v5230v6220v1v2v3v4v5v600121045v32051v4404v5230v6220v1v2v3v4v5v600121045v320511404v5230v6220v1v2v3v4v5v600121045v320511404+2v5230v6220v1v2v3v4v5v600121045v320511406v5230v6220v1v2v3v4v5v600121045v320511406v5230v6220v1v2v3v4v5v600121045220511406v5230v6220v1v2v3v4v5v60012104522051+41406v5230v6220v1v2v3v4v5v600121045220551406v5230v6220v1v2v3v4v5v6001210452205514063230v6220v1v2v3v4v5v6001210452205514063230v6220v1v2v3v4v5v60012104522055140632305220v1v2v3v4v5v6001210452205514063230622v1到各点vj的最短路。v1v4v2v5v3v61312例4:企业要制定一台重要设备更新的五年 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 ,目标是使总费用(购置费用和维修费用之和)为最小。此设备在各年初价格及使用期中所需维修数据如下:v1v2v3v4v5v6162218171716304159312341302223解:用点vi表示年初。(i=1,2,…6),v6表示第五年底。弧aij=(vi,vj)表示第i年初购置设备使用到第j年初的过程。对应的权期间发生的购置费用和维修费用之和。原问题转变为从v1到v6的一条最短路。v1v2v3v4v5v6162218171716304159312341302223v1v2v3v4v5v6162218171716304159312341302223v1v2v3v4v5v6162218171716304159312341302223v1v2v3v4v5v6162218171716304159312341302223得到两条最短路(v1,v3,v6)(v1,v4,v6)表示在第一、三年或第一、四年各购置一台设备,总费用都为53万元。
本文档为【运筹学05_图与网络分析2-最短路】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
hs154
hx主要从事图文设计、ppt制作,范文写作!
格式:ppt
大小:771KB
软件:PowerPoint
页数:0
分类:其他高等教育
上传时间:2021-10-13
浏览量:2