最短路径问题举例
初二数学最短路径练习题及答案

初二数学最短路径练习题及答案导言:数学中的最短路径问题是指在网络图中寻找两个顶点之间路径长度最短的问题。
该问题在实际生活中应用广泛,比如在导航系统中为我们找到最短的路线。
对于初二学生而言,在学习最短路径问题时,题目练习是非常重要的。
本文将为初二数学学习者提供一些最短路径练习题及答案,帮助他们巩固知识和提高解题能力。
练习题一:某地有4个村庄A、B、C、D,它们之间的道路如下图所示。
要求从村庄A到村庄D,经过的道路距离最短,请你找出最短路径,并计算出最短路径的长度。
解答一:根据题目所给的道路图,我们可以使用最短路径算法来求解最短路径。
以下是求解过程:1. 首先,我们需要创建一个包含4个顶点的图,并初始化每条边的权值。
将A、B、C、D顶点分别标记为1、2、3、4。
村庄A到村庄B的距离为5,即A-5-B。
村庄A到村庄C的距离为3,即A-3-C。
村庄B到村庄C的距离为2,即B-2-C。
村庄B到村庄D的距离为6,即B-6-D。
村庄C到村庄D的距离为4,即C-4-D。
2. 接下来,我们使用迪杰斯特拉算法求解最短路径。
a) 首先,我们将起始顶点A的距离设置为0,其他顶点的距离设置为无穷大。
b) 然后,我们选择距离最短的顶点,并将其标记为已访问。
c) 然后,我们更新与该顶点相邻的顶点的距离。
如果经过当前顶点到达邻接顶点的距离比已记录的最短路径更短,就更新最短路径。
d) 重复上述步骤,直到找到最短路径为止。
3. 经过计算,最短路径为A-3-C-4-D,距离为7。
练习题二:某城市有6个地点,它们之间的交通图如下所示。
请你计算从地点A到地点F的最短路径,并给出最短路径的长度。
解答二:根据题目所给的交通图,我们可以使用最短路径算法来求解最短路径。
以下是求解过程:1. 首先,我们需要创建一个包含6个顶点的图,并初始化每条边的权值。
将地点A、B、C、D、E、F分别标记为1、2、3、4、5、6。
地点A到地点B的距离为4,即A-4-B。
初中数学——最短路径问题常见题型及解题方法

初中数学——最短路径问题常见题型及解题方法
两点在直线同侧的最短路径问题
给出一条直线,A、B两点在直线的同侧,要在直线上找到一个点,使这个点到A点和到B点的距离最短。
步骤:
①找到A(或B)关于直线的对称点P
②连接PB(PA)交直线于O,点O就是所要找的点
造桥选址问题
A、B在一条河的两岸,要在河上造一座桥MN,使A到B的路径AMNB最短。
步骤:
①作出河的宽度M′N′
②将M′N′平移,使M′向A点平移,N′向A′点平移,即AA′=M′N′
③连接A′B与河岸b交于N点
④过N点作直线a的垂线,垂足为M 。
则MN就是桥的位置.
涉及到两个动点的最短路径问题
给出一个正方形,已知两个定点和两个动点,
要在直线上找到这两个动点,使这四个点所围的四边形周长最小。
步骤:
①找到两个定点关于正方形的边的对称点,
②连接两个对称点,和正方形边的两边有两个交点。
③交点就是动点的位置
例题:
(2015,广西玉林、防城港)如图,已知正方形ABCD边长为3,点E在AB边上且BE=1,点P,Q分别是边BC,CD的动点(均不与顶点重合),当四边形AEPQ的周长取最小值时,四边形AEPQ的面积是.
思路:。
最短路径问题介绍

最短路径问题介绍全文共四篇示例,供读者参考第一篇示例:最短路径问题是指在一个带有边权的图中,寻找连接图中两个特定节点的最短路径的问题。
在实际生活中,最短路径问题广泛应用于交通运输、通信网络、物流配送等领域。
通过解决最短路径问题,可以使得资源的利用更加高效,节约时间和成本,提高运输效率,并且在紧急情况下可以迅速找到应急通道。
最短路径问题属于图论中的基础问题,通常通过图的表示方法可以简单地描述出这样一个问题。
图是由节点和边组成的集合,节点表示不同的位置或者对象,边表示节点之间的连接关系。
在最短路径问题中,每条边都有一个权重或者距离,表示从一个节点到另一个节点移动的代价。
最短路径即是在图中找到一条路径,使得该路径上的边权和最小。
在解决最短路径问题的过程中,存在着多种算法可以应用。
最著名的算法之一是Dijkstra算法,该算法由荷兰计算机科学家Edsger W. Dijkstra于1956年提出。
Dijkstra算法是一种贪心算法,用于解决单源最短路径问题,即从一个给定的起点到图中所有其他节点的最短路径。
该算法通过维护一个距离数组和一个集合来不断更新节点之间的最短距离,直到找到目标节点为止。
除了Dijkstra算法和Floyd-Warshall算法外,还有一些其他与最短路径问题相关的算法和技术。
例如A*算法是一种启发式搜索算法,结合了BFS和Dijkstra算法的特点,对图中的节点进行评估和排序,以加速搜索过程。
Bellman-Ford算法是一种解决含有负权边的最短路径问题的算法,通过多次迭代来找到最短路径。
一些基于图神经网络的深度学习方法也被应用于最短路径问题的解决中,可以获得更快速和精确的路径搜索结果。
在实际应用中,最短路径问题可以通过计算机程序来实现,利用各种算法和数据结构来求解。
利用图的邻接矩阵或者邻接表来表示图的连接关系,再结合Dijkstra或者Floyd-Warshall算法来计算最短路径。
最短路径例题

最短路径例题1. 理解最短路径问题最短路径问题是图论中的一个经典问题,它主要理解的是从图中一个点到另一个点的最短距离是多少。
图中每个点称为顶点,连接顶点的边可以有权值,权值可以理解为从一个顶点到另一个顶点的距离。
最短路径问题的应用非常广泛,比如GPS定位系统、社交网络中的好友推荐、物流配送等都会用到。
2. 最短路径算法解决最短路径问题的算法有很多种,最为经典的是Dijkstra算法和Floyd算法。
Dijkstra算法是一种单源最短路径算法,适用于权值不为负的有向或无向图,它可以求出从一个顶点到其他所有顶点的最短路径。
而Floyd算法是一种多源最短路径算法,它可以求出任意两个顶点之间的最短路径。
3. 最短路径例题解析我们来看一个具体的例题,这是一个无向图,顶点有A、B、C、D四个,边的权值如下:AB为1,AC为2,AD为5,BC为2,BD为3,CD为1。
我们需要求出从A出发到其他顶点的最短路径。
首先我们可以使用Dijkstra算法来解题。
算法的步骤主要包括初始化距离,选择最短距离的顶点,更新距离等。
1. 初始化距离,设置源顶点A到自身的距离为0,到其他顶点的距离为无穷大。
2. 选择最短距离的顶点,首次选择的就是源顶点A。
3. 更新距离,考察源顶点A的邻接顶点B、C、D,A到B、A到C的距离可以通过边直接得到,分别是1和2。
A到D有一条直接的边,距离是5,但是A可以先到B或C,再到D,这样的距离就可以比5小,所以可以更新A到D的距离。
以此类推,我们可以得到从A出发到B、C、D的最短路径分别是1、2、3。
图示和算法解析清晰地展示了最短路径算法的计算过程,并且对于理解和解决实际中的最短路径问题有很大的帮助。
4. 总结最短路径问题是一个常见且实用的问题,能够有效地解决许多实际问题。
熟悉并掌握这种算法,不仅可以提高解题能力,也可以应用到工程项目和科研任务中。
最短路径问题应用案例

最短路径问题应用案例最短路径算法是图论中的一项重要算法,它被广泛应用于各个领域,包括交通规划、电路设计、物流配送等。
本文将通过几个实际案例来介绍最短路径问题的应用。
案例一:交通规划在城市交通规划中,最短路径算法可以用于规划最佳的行车路线,减少交通拥堵和行车时间。
例如,某城市交通局需要规划一条从A地到B地的最短路径,他们可以使用最短路径算法来解决这个问题。
通过将城市道路网络抽象成一个图,将交叉口作为图的节点,道路作为图的边,然后使用最短路径算法找到旅行时间最短的路径。
案例二:电路设计在电路设计中,最短路径算法可以用于找到电路中两个节点之间的最短路径,以便优化电路的布局和设计。
例如,在手机电路板设计中,设计师需要找到两个关键节点之间的最短路径,以便减少信号传输的延迟和电路板的复杂性。
通过将电路图抽象成一个图,将电路中的连接线作为图的边,电路节点作为图的节点,然后使用最短路径算法找到路径长度最短的路径。
案例三:物流配送在物流配送中,最短路径算法可以用于优化货物的配送路径,减少配送成本和时间。
例如,在一家快递公司中,他们需要将货物从仓库快速送达到不同的目的地,他们可以使用最短路径算法来规划货物的配送路线。
通过将仓库、配送站点和目的地抽象成一个图,将配送路径作为图的边,配送站点和目的地作为图的节点,然后使用最短路径算法找到总配送距离最短的路径。
总结:最短路径问题是图论中的一个重要问题,在各个领域都有广泛的应用。
本文通过交通规划、电路设计、物流配送三个实际案例,介绍了最短路径算法在实际应用中的用途和方法。
通过将问题抽象成图,将节点和边的关系表示出来,并利用最短路径算法找到最优解,可以帮助解决各种实际问题。
最短路径算法的应用,不仅可以提高工作效率,还可以减少成本和资源的浪费。
最短路径问题

最短路径问题最短路径问题来源于现实生活,初中阶段,主要以“两点之间,线段最短”“垂线段最短”为知识基础,有时还要借助轴对称、平移、旋转等变换进行研究。
问题1、要在燃气管道l上修建一个泵站,分别向A、B两镇供气,泵站修在管道的什么地方,可使所用的输气管线最短?你的理由是什么?这个问题很好解决,直接连接AB与l的交点即是,理由:两点之间线段最短问题2、还是上面的问题,若此时A、B两镇位于输气管道的同侧如图所示,要在燃气管道l上修建一个泵站,分别向A、B两镇供气,泵站修在管道的什么地方,可使所用的输气管线最短?通过找对称点,将“同侧”难于解决的问题转化为“异侧”容易解决的问题,渗透转化思想。
这样的转化思想在数学中有很多的应用,而最短路径问题的解决原理与“两点之间线段最短”、“三角形两边之和大于第三边,两边之差小于第三边”有密切的关系,“轴对称”是重要的手段之一。
下面提供几个思考题,同学们可以自行参考。
1、如图所示,M、N是△ABC边AB与AC上两点,在BC边上求作一点P,使△PMN的周长最小。
2、如图,已知直线MN同侧有两点A、B,在直线MN上求作点P,使得∠APM=∠BPN3、已知牧马营地在P处,牧马人从A地出发要赶着马群先到河边饮水,再带到草地吃草,然后回到营地,请你替牧马人设计出最短的放牧路线。
4、点A、B在直线l同侧,在l上找一点M,使得|AM-BM|的值最小5、点A、B在直线l同侧,在l上找一点M,使得|AM-BM|的值最大6、点A、B在直线l异侧,在l上找一点M,使得|AM-BM|的值最小7、点A、B在直线l异侧,在l上找一点M,使得|AM-BM|的值最小谢谢大家继续为我的微课投票:打开网址 /Works/workslist 搜索姓名:彭鹏飞,点击下面的五个微课为我投票(这个是个教学论坛需要注册,家长朋友们可以用小孩的身份证号进行注册。
论坛中大家还可以看到很多优秀的教学微课初高中都有,还是很不错的论坛)。
最短路径问题例题与讲解

13.4 课题学习最短路径问题1.最短路径问题(1)求直线异侧的两点与直线上一点所连线段的和最小的问题,只要连接这两点,与直线的交点即为所求.如下图,点A,B分别是直线l异侧的两个点,在l上找一个点C,使CA+CB最短,这时点C是直线l与AB的交点.(2)求直线同侧的两点与直线上一点所连线段的和最小的问题,只要找到其中一个点关于这条直线的对称点,连接对称点与另一个点,则与该直线的交点即为所求.如下图,点A,B分别是直线l同侧的两个点,在l上找一个点C,使CA+CB最短,这时先作点B关于直线l的对称点B′,则点C是直线l与AB′的交点.为了证明点C的位置即为所求,我们不妨在直线上另外任取一点C′,连接AC′,BC′,B′C′,证明AC+CB<AC′+C′B.如下:证明:由作图可知,点B和B′关于直线l对称,所以直线l是线段BB′的垂直平分线.因为点C与C′在直线l上,所以BC=B′C,BC′=B′C′.在△AB′C′中,AB′<AC′+B′C′,所以AC+B′C<AC′+B′C′,所以AC+BC<AC′+C′B.【例1】在图中直线l上找到一点M,使它到A,B两点的距离和最小.分析:先确定其中一个点关于直线l的对称点,然后连接对称点和另一个点,与直线l的交点M即为所求的点.解:如下图:(1)作点B关于直线l的对称点B′;(2)连接AB′交直线l于点M.(3)则点M即为所求的点.点拨:运用轴对称变换及性质将不在一条直线上的两条线段转化到一条直线上,然后用“两点之间线段最短”解决问题.运用轴对称及两点之间线段最短的性质,将所求线段之和转化为一条线段的长,是解决距离之和最小问题的基本思路,不管题目如何变化,运用时要抓住直线同旁有两点,这两点到直线上某点的距离和最小这个核心,所有作法都相同.警误区利用轴对称解决最值问题应注意题目要求根据轴对称的性质、利用三角形的三边关系,通过比较来说明最值问题是常用的一种方法.解决这类最值问题时,要认真审题,不要只注意图形而忽略题意要求,审题不清导致答非所问.3.利用平移确定最短路径选址选址问题的关键是把各条线段转化到一条线段上.如果两点在一条直线的同侧时,过两点的直线与原直线的交点处构成线段的差最大,如果两点在一条直线的异侧时,过两点的直线与原直线的交点处构成的线段的和最小,都可以用三角形三边关系来推理说明,通常根据最大值或最小值的情况取其中一个点的对称点来解决.解决连接河两岸的两个点的最短路径问题时,可以通过平移河岸的方法使河的宽度变为零,转化为求直线异侧的两点到直线上一点所连线段的和最小的问题.在解决最短路径问题时,我们通常利用轴对称、平移等变换把不在一条直线上的两条线段转化到一条直线上,从而作出最短路径的方法来解决问题.【例2】如图,小河边有两个村庄A,B,要在河边建一自来水厂向A村与B村供水.(1)假设要使厂部到A,B村的距离相等,则应选择在哪建厂?(2)假设要使厂部到A,B两村的水管最短,应建在什么地方?分析:(1)到A,B两点距离相等,可联想到“线段垂直平分线上的点到线段两端点的距离相等”,又要在河边,所以作AB的垂直平分线,与EF的交点即为符合条件的点.(2)要使厂部到A村、B村的距离之和最短,可联想到“两点之间线段最短”,作A(或B)点关于EF的对称点,连接对称点与B点,与EF的交点即为所求.解:(1)如图1,取线段AB的中点G,过中点G画AB的垂线,交EF于P,则P到A,B的距离相等.也可分别以A、B为圆心,以大于12AB 为半径画弧,两弧交于两点,过这两点作直线,与EF 的交点P 即为所求.(2)如图2,画出点A 关于河岸EF 的对称点A ′,连接A ′B 交EF 于P ,则P 到A ,B 的距离和最短.【例3】 如图,从A 地到B 地经过一条小河(河岸平行),今欲在河上建一座与两岸垂直的桥,应如何选择桥的位置才能使从A 地到B 地的路程最短?思路导引:从A 到B 要走的路线是A →M →N →B ,如下图,而MN 是定值,于是要使路程最短,只要AM +BN 最短即可.此时两线段应在同一平行方向上,平移MN 到AC ,从C 到B 应是余下的路程,连接BC 的线段即为最短的,此时不难说明点N 即为建桥位置,MN 即为所建的桥.解:(1)如图2,过点A 作AC 垂直于河岸,且使AC 等于河宽.(2)连接BC与河岸的一边交于点N.(3)过点N作河岸的垂线交另一条河岸于点M.则MN为所建的桥的位置.4.生活中的距离最短问题由两点之间线段最短(或三角形两边之和大于第三边)可知,求距离之和最小问题,就是运用等量代换的方式,把几条线段的和想方法转化在一条线段上,从而解决这个问题,运用轴对称性质,能将两条线段通过类似于镜面反射的方式转化成一条线段,如图,AO+BO=AC的长.所以作已知点关于某直线的对称点是解决这类问题的基本方法.【例4】(实际应用题)茅坪民族中学八(2)班举行文艺晚会,桌子摆成如图a所示两直排(图中的AO,BO),AO桌面上摆满了橘子,OB桌面上摆满了糖果,站在C处的学生小明先拿橘子再拿糖果,然后到D处座位上,请你帮助他设计一条行走路线,使其所走的总路程最短?图a 图b解:如图b.(1)作C点关于OA的对称点C1,作D点关于OB的对称点D1,(2)连接C1D1,分别交OA,OB于P,Q,那么小明沿C→P→Q→D 的路线行走,所走的总路程最短.利用轴对称和三角形的三边关系是解决几何中的最大值问题的关键.先做出其中一点关于对称轴的对称点,然后连接对称点和另一个点,所得直线与对称轴的交点,即为所求.根据垂直平分线的性质和三角形中两边之差小于第三边易证明这就是最大值.破疑点解决距离的最值问题的关键运用轴对称变换及三角形三边关系是解决一些距离的最值问题的有效方法.【例5】如下图,A,B两点在直线l的两侧,在l上找一点C,使点C到点A、B的距离之差最大.分析:此题的突破点是作点A(或B)关于直线l的对称点A′(或B′),作直线A′B(AB′)与直线l交于点C,把问题转化为三角形任意两边之差小于第三边来解决.解:如下图,以直线l为对称轴,作点A关于直线l的对称点A′,A′B的连线交l于点C,则点C即为所求.理由:在直线l上任找一点C′(异于点C),连接CA,C′A,C′A′,C′B.因为点A,A′关于直线l对称,所以l为线段AA′的垂直平分线,则有CA=CA′,所以CA -CB=CA′-CB=A′B.又因为点C′在l上,所以C′A=C′A′.在△A′BC′中,C′A-C′B=C′A′-C′B<A′B,所以C′A′-C′B<CA-CB.点拨:根据轴对称的性质、利用三角形的三边关系,通过比较来说明最值问题是常用的一种方法.。
dijkstra最短路径 应用案例

Dijkstra算法是一种用于解决图的单源最短路径问题的算法,由荷兰计算机科学家埃德斯格·迪克斯特拉提出。
该算法被广泛应用于网络路由算法、城市交通规划、通信网络等领域。
本文将从几个具体的案例出发,介绍Dijkstra最短路径算法的应用。
一、网络路由算法在现代计算机网络中,Dijkstra算法被应用于路由器之间的数据传输。
路由器之间通过Dijkstra算法计算出最短路径,以确保数据包能以最短的路径传输,从而提高网络的传输效率和稳定性。
假设有一个由多个路由器组成的网络,每个路由器之间存在多条连接线路,而每条线路都有一个权重值,代表数据传输的成本。
当一个路由器需要发送数据时,Dijkstra算法可以帮助它找到到达目的地最短且成本最小的路径。
这样,网络中的数据传输就能以最高效的方式进行,从而提升了整个网络的性能。
二、城市交通规划Dijkstra算法也被广泛应用于城市交通规划领域。
在城市交通规划中,人们通常需要找到最短路径以及最快到达目的地的方法,而Dijkstra算法正是能够满足这一需求的算法之一。
假设某城市有多条道路,每条道路都有不同的行驶时间。
当一个人需要从城市的某个地点出发到达另一个地点时,可以利用Dijkstra算法计算出最短行驶时间的路径。
这样,城市交通规划部门就可以根据这些信息对城市的交通流量进行合理分配和调度,提高城市交通的效率。
三、通信网络另一个Dijkstra算法的应用案例是在通信网络中。
通信网络通常是由多个节点和连接这些节点的线路组成的。
而节点之间的通信是通过传送数据包来实现的。
在这种情况下,Dijkstra算法可以帮助确定数据包传输的最短路径,以提高通信网络的效率和稳定性。
在一个由多个节点组成的通信网络中,当一个节点需要向另一个节点发送数据时,Dijkstra算法可以帮助确定最短路径,从而确保数据包能够以最短的路径传输到目的地。
这样一来,通信网络就能够更加稳定地进行数据传输,提高了通信网络的效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最短路径问题举例
例 考察如下图所示的线路网络。
各点联线上标明的数字表示它们之间的距离,现计划要从A 地铺设一条输油管道到F 地,中间必须经过四个中间站,第一站可在i B (=i 1,2,3)三个地点中任选一地点;第二站可在i C (=i 1,2,3)三个地点中任选一地点;第三站可以分别在i D (=i 1,2,3)三个地点中任选一地点;第四点可以在1E 、2E 两地点中任选一处。
我们希
望找到一条从A 地到F 地的最短路线铺设输油管道,请给出最佳方案。
我们可用穷举法求这个问题的解。
找出所有可能选择的路线,求出每条路线的总线路长度列于下:
1 、A →1B →1C →1D →1E →F 总长度为:3+9+1+4+1=18
2 、A →1B →1C →1D →2E →F 总长度为:3+9+1+2+2=17
3 、A →1B →1C →2D →1E →F 总长度为:3+9+5+6+1=2
4 4 、A →1B →1C →2D →2E →F 总长度为:3+9+5+9+2=28
5 、A →1B →2C →1D →1E →F 总长度为:3+5+8+4+1=21
6 、A →1B →2C →1D →2E →F 总长度为:3+5+8+2+2=20
7 、A →1B →2C →2D →1E →F 总长度为:3+5+4+6+1=19
8 、A →1B →2C →2D →2E →F 总长度为:3+5+4+9+2=23
123110、A →1B →2C →3D →2E →F 总长度为:3+5+6+5+2=21 11、A →2B →1C →1D →1E →F 总长度为:5+4+1+4+1=15 12、A →2B →1C →1D →2E →F 总长度为:5+4+1+2+2=14 13、A →2B →1C →2D →1E →F 总长度为:5+4+5+6+1=21 14、A →2B →1C →2D →2E →F 总长度为:5+4+5+9+2=25 15、A →2B →2C →1D →1E →F 总长度为:5+3+8+4+1=21 16、A →2B →2C →1D →2E →F 总长度为:5+3+8+2+2=20 17、A →2B →2C →2D →1E →F 总长度为:5+3+4+6+1=19 18、A →2B →2C →2D →2E →F 总长度为: 5+3+4+9+2=23 19、A →2B →2C →3D →1E →F 总长度为:5+3+6+7+1=22 20、A →2B →2C →3D →2E →F 总长度为: 5+3+6+5+2=21 21、A →2B →3C →1D →1E →F 总长度为:5+5+4+4+1=19 22、A →2B →3C →1D →2E →F 总长度为:5+5+4+2+2=18 23、A →2B →3C →2D →1E →F 总长度为: 5+5+4+6+l=21 24、A →2B →3C →2D →2E →F 总长度为:5+5+4+9+2=25 25、A →2B →3C →3D →1E →F 总长度为:5+5+2+7+1=20 26、A →2B →3C →3D →2E →F 总长度为:5+5+2+5+2=19 27、A →3B →2C →1D →1E →F 总长度为:4+1+8+4+1=18 28、A →3B →2C →1D →2E →F 总长度为: 4+1+8+2+2=17 29、A →3B →2C →2D →1E →F 总长度为:4+1+4+6+1=16 30、A →3B →2C →2D →2E →F 总长度为:4+1+4+9+2=20 31、A →3B →2C →3D →1E →F 总长度为:4+1+6+7+1=19
323233、A →3B →3C →1D →1E →F 总长度为:4+7+4+4+1=20 34、A →3B →3C →1D →2E →F 总长度为:4+7+4+2+2=19 35、A →3B →3C →2D →1E →F 总长度为: 4+7+4+6+1=22 36、A →3B →3C →2D →2E →F 总长度为:4+7+4+9+2=26 37、A →3B →3C →3D →1E →F 总长度为: 4+7+2+7+1=2l 38、A →3B →3C →3D →2E →F 总长度为:4+7+2+5+2=20 比较上面38条不同路线的结果可知最短路线是标号为“12、”的那条路线,即
A →2
B →1
C →1
D →2
E →
F ,
最短路线的长度14。
这就是说按这条路线铺设输油管道为最佳方案。
从以上的解法可以看出,如果段数很多,各段的不同选择也很多时,穷举法的计算量将是很大的。
下面我们用动态规划的方法寻找从A 到F 的最短路线。
如何用动态规划的方法来求解这个最优路线呢?
假如一开始就知道由1B 到F 和由2B 到F 及由3B 到F 的最短路线,那么在A 点就很容易做出最优决策。
如果用i B I (=i 1~3)表示从i B 到F 的最短距离,则i B I 加上A 到i B 的距离就是由A 经过i B 到F 的最短距离。
将三者比较之后,立即就可以做出第一个决策。
同时也得出由A 到F 的最短距离。
但这种方法的前提是i B I 要已知,可惜在开始时,我们还并不知道i B I (=i 1~3),但是,通过上述分析,已经可以看出动态规划的一个重要思想:即对A 点的最优决策来说,最重要的计算是由i B 到F 的最优路线的计算,至于由i B 到F 的那些非最优路线的计算,对A 点的决策来说是不重要的,也是不需要的。
这实际上也正反映了最优性原理的基本思想。
具体的计算如下:
由A 到F 的最短路线的距离应该是:
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎣⎡+++=321
453min B B B A I I I I
尽管i B I (=i 1~3)一开始并不知道,但是如果知道由i C (=i 1~3)到F 点的最短距离i C I (=i 1~3),那么就可以用同样的方法计算i B I (=i 1~3),即有
⎥⎥⎦⎤⎢⎢⎣⎡++=21159min C C B I I I
⎥⎥⎥⎥
⎦⎤
⎢⎢⎢⎢⎣⎡+++=321
2534min C C C B I I I I
⎥⎥⎦
⎤
⎢⎢⎣⎡++=32371min C C B I I I
上面三个式子中的i C I (=i 1~3)虽然未知,但只要能获得i D I (=i 1~3),就
能计算出来。
而 i D I (=i 1~3)又依赖于i E I (=i 1~2),这样就可以逐级反推回去,计算出所有各点到达终点F 的最短距离。
由于1E I 、2E I 是距离F 点最近而又是唯一可供选择的一段路线,因此有
11=E I ;22=E I .
故可由此反向推算,很快就能算出其后各点到终点F 的最短距离。
计算步骤如下:
424min 211=⎥⎥⎦⎤
⎢⎢⎣⎡++=E E D I I I 最短距离为1D →2E →F
796min 212=⎥⎥⎦⎤
⎢⎢⎣⎡++=E E D I I I 最短距离为2D →1E →F
757min 213=⎥⎥⎦
⎤
⎢⎢⎣⎡++=E E D I I I 最短距离为3D →2E →F
由此得到
551min 211=⎥⎥⎦⎤
⎢⎢⎣⎡++=D D C I I I 最短距离为1C →1D →2E →F
11648min 321
2=⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎣⎡+++=D D D C I I I I 最短距离为2C →2D →1E →F
8244min 321
3
=⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎣⎡+++=D D D C I I I I 最短距离为3C →1D →2E →F
故得
1459min 211=⎥⎥⎦⎤
⎢⎢⎣⎡++=C C B I I I 最短距离为1B →1C →1D →2E →F
9534min 321
2=⎥⎥⎥⎥
⎦⎤
⎢⎢⎢⎢⎣⎡+++=C C C B I I I I 最短距离为2B →1C →1D →2E →F
1271min 323=⎥⎥⎦
⎤
⎢⎢⎣⎡++=C C B I I I 最短距离为3B →2C →2D →1E →F
由此得到
14453min 321
=⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎣⎡+++=B B B A I I I I 最短路线为 A →2B →1C →1D →2E →F .
这样,图中所有到达终点F 所需要的最短距离就都计算出来了。
根据计算出的结果很容易决定出各点的最优决策,由A 到F 的最短路线为
A →2
B →1
C →1
D →2
E →F
最短距离为14,这个问题到此就算解决了。
作业:最短路线问题
考察如图所示的线路网络,各点联线上标明的数字表示它们之间的距离。
我们从A点出发,要走到目的地G点,问经过哪些点(即要走什么路线)才能使总的路线最短?又问最短路程为多少?。