运筹学最短路邮递员问题PPT课件

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


新的T(vj)=min{老的T(vj),p(vi)+ ωij }
• 若T(vj)= p(vi)+ ωij ,则记k(vj )=vi(前点标记);
• 3°找出具有最小T标号的点,将其标号改为p标号。若vt 已获得p
标号,则已找到最短路,由k(vt)反向追踪,就可找出vs 到vt 的最
短路径,p(vt)就是vs 到vt 的最短距离。否则,转2°。
p(v2)
=3 3
p(v1) v1
p(v=30)
=4
6
v2
51 1
v4
7 4
v5
v3 3 2
5
v7
26 v6 9 15
v8
T(v4)=min{6,4+1}=5, k(v4 )=v3
T(v6)=min{7,4+2}=6, k(v6 )=v3
目前,点v4 具有最小T标号,将其标号改为p标号: p(v4)=5;
向继续前进,则最先到达终点vt 的流所走过的路径一定是最短的。
为了实现这一想法,对假想流依次到达的点,依次给予p标号,表
示vs到这些点的最短距离。对于假想流尚未到达的点给予T标号,
表示vs到这些点的最短距离的估计值。具体作法如下:
• 1°标p(vs)=0,其余点标T(vi)=+∞;
• 2°由刚刚获得p标号的vi 点出发,改善它的相邻点vj 的T标号,即
对于点v2 :d(v2)=min{16+31,22+23,30+18,41}=41, v对2→于v点6 v;1 :d(v1)=min{16+41,22+31,30+23,41+18,59}
试确定一个五年内的设备更新计划,使五年内总支出最小。
图上标示法
下面我们结合例3介绍求解最短路问题的图上标示法,它比狄克 斯拉算法更简洁。
6
表1 年 份一二 三 四五
购 置 费 11 11 12 12 13 表2 使用年限 0~1 1~2 2~3 3~4 4~5
年修理费 5 6 8 11 18 解:先根据表1、表2的数据画出设备更新费用网络图,如下 图所示。图中点vi 表示第i 年开始,弧(vi ,vj)表示设备第i 年初使 用到第j 年初,弧(vi ,vj)上的权数表示该期间设备所需的费用。 这样,求五年内设备最优更新方案便转化为求v1→v6 的 最短路。
最短路问题
最短路问题是最重要的优化问题之一,它 不仅可以直接应用于解决生产实际的许多问 题例如各种管道的铺设、线路的安排、厂区 的布局、设备的更新等等,而且经常被作为 一个基本工具,用于解决其它优化问题如运 输网络的最小费用流等。
(最短距离、费时最少、费用最省)
1
定义(权、赋权图):对图G的每一 条边e,可赋与一个实数
3
例 求图中v1 到v8 的最短路。
3 v1
6
v2
51 1
v4
7 4
v5
v3 3 2
5
v7
26 v6 9 15
v8
解:标p(v1)=0,其余点标T(vi)=+∞,i=2,3,4,5,6,7,8;
T(v2)=min{+∞,0+3}=3, k(v2 )=v1
T(v3)=min{+∞,0+5}=5, k(v3 )=v1
T(v4)=min{+∞,0+6}=6, k(v2 )=v1
将具有最小T标号的v2 点的标号改为p标号:p(v2)=3;
T(v3)=min{5,3+1}=4,
k(v3 )=v2
T(v5)=min{+∞,3+7}=10, k(v5 )=v2
T(v6)=min{+∞,3+4}=7, k(v6 )=v2
目前,点v3 具有最小T标号,将其标号改为p标号: p(v3)=44;
目前,点v7 具有最小T标号,将其标号改为p标号: p(v7)=7;
T(v8)=min{15,7+5}=12, k(v8)=v7 ; p(v5)=8;
T(v8)=min{12,8+6}=12, p(v8)=12;反向追踪找最短5 路
最短路径为:v1→v2→v3→v6→v7→v8 ;
因p(v8)=12,所以v1→v8 的最短距离为12。
最短路问题不仅可以求解交通图中两点之间的最短距离,实际 中很多问题也可变为最短路问题加以求解。例如设备更新问题,厂 区合理布局问题等。兹举一例:
例1(设备更新问题)某企业使用一台设备,在每年年底,企业 都要决策下年度是购买一台新设备呢?还是继续使用这台设备。若 购买新的,就要支付一笔购置费;如果使用旧设备,只要支付维修 费,而维修费随着设备的使用年限延长而增加。现根据以往统计资 料已经估算出设备在各年初的价格和不同使用年限的修理费用,分 别如表1、表2所示。
T(v6)=min{6,5+3}=6; T(v7)=min{+∞,5+5}=10, k(v7 )
=目v前4 ,点v6 具有最小T标号,将其标+2}=8,
k(v5 )=v6
T(v7)=min{10,6+1}=7,
k(v7 )=v6
T(v8)=min{+∞,6+9}=15, k(v8)=v6
22
30
41 59
23
v1 16
v 1 v 17 v 17 v5 1 v
2 6 22 3 3
4 23
0 41
31
86
7
设d(vi)表示点vi 到终点的最短距离,根据动态规划最优性原 理,最短路径中任何子路径也必然是最短的。因此有
d(vi)=min{ω ij +d(vj)} 注算意 结,果上直式接要标对在以图j 中vi 为点起vi 的点旁的边所,有同弧时(标vi 出,vj)与进点行vi 最计近算的。邻然接后点将。计 先从点v5 算起,逆向进行。 对于点v5 :d(v5)=18,v5 →v6 ; 对于点v4 :d(v4)=min{17+18,23}=23,v4 →v6 ; 对于点v3 :d(v3)=min{17+23,23+18,31}=31,v3 →v6 ;
w(e)称为边e的权。图G连同它边 上的权称为赋权图。路中边权最小的 称为最短路。
权可以表示铁路长度,通讯网络的造 价,网络中表示耗时等。
2
狄克斯拉(Dijkstra)算法
• 最短路问题可以化为线性规划问题求解,也可以用动态规划方
法求解,这里介绍一种有效算法—狄克斯拉(Dijkstra)算法,这
一算法是1959年首次被提出来的。该算法适用于每条弧的权数ω ij ≥0情形。算法的基本思路:从发点vs 出发,有一个假想的流沿网络 一切可能的方向等速前进,遇到新节点后,再继续沿一切可能的方
相关文档
最新文档