最短路径问题举例

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 的最短距离。

相关文档
最新文档