最短路径问题

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

《MATLAB及应用》

课程论文

实践选题:最短路径问题

专业班级:10级信信息管理与信息系统1班指导教师:周宏宇

成绩评定:

最短路径问题

摘要:

在图论当中,任意两点间的最短路径问题,运用Dijkstra 算法,Flord 算法,匈牙利算法等都可以就解决这类相关问题,本文主要就是运用图论相关知识,来分析问题的。

在问题一中,需要为货车司机选择一条从地点1到地点11的最短时间问题,其实际归结为求一个两点间最短路径问题,运用运筹学中的网络模型相关知识,建立了一个一个0-1线性模型,并最终求的其结果,最短时间为21,货车司机的运输路线为1891011

vvvvv →→→→。 运用Floyd 算法解决问题二,并且运用Matlab 软件编程,Floyd 算法与Matlab 软件编程所得出的结果一致,最后得出了一个最短航程表,及任意两点间的最短航程图。

本文的最大亮点在于将问题二进行更深一步的拓展,从问题实际出发,从公司的差旅费用最小出发,利用Mtlab 软件编程的出了公司到个城市间差旅费用最小图,从而更能为公司节省成本。

任意城市间差旅费用最小

其次是本文结果的准确性,问题一运用Lingo 软件编程,和WinQSB 软件,所得出结果都是一致的,问题二更是运用Floyd 算法,Matlab 软件编程,WinQSB 软件,大大地保证了结果的准确性,并且十分恰当地运用WinQSB 软件将作图功能,把每一提的最短路径都清晰的描绘出来,更加直观地将结果展现出来。

关键字:Matlab Lingo WinQSB Floyd 算法 0-1规划

一、 问题重述

问题一需要解决的问题是在一个城市交通网络中(图一),如何从地点1找到一条时间最短路径通往地点11,在这个城市交通网络中,有单向道,也有双向道,即如何处理一个有向图与无向图结合的图论问题,并且是一个两点间的最短路径问题:

图(一)

问题二阐述的是某公司员工往来于六个城市间,给出了这六个城市间的直达航班票价(表二),需要为这家公司提供出这六个城市间任意两点间的最小航班费用表

05040251050015202515010204020100102525201005510

25

25

55

0∞⎡⎤⎢⎥∞⎢⎥⎢⎥∞∞⎢⎥⎢⎥⎢⎥∞⎢⎥∞

⎣⎦

表(二)

二、问题分析

问题一的分析:

实际问题是货车运输问题,货车运输从起点1到终点11,一般情况下,不存在货物往回运输,所以地点1到地点8是可以看成是一个单向道,即8指向1,同样的地点8也是指向地点9的。假设货物到达地点9时,货物要运送到终点,则地点9只能指向地点10,同理货物到达地顶点点7,只能是往地点6

的方向运

输。如果货物到达地点5时,货物只有经过5 →6 →9 →10 →11,才是最短的,所以在这里地点5指向地点6.同理3指向5,得出图(二),这样按照时间耗费的目的,将一个有向图与无向图结合的图,转化为一个单纯的有向图,这将有利于问题的分析。

图(二)

问题二的分析;

通过题目给出的六个城市间的直达航班票价(表二),可以将其绘成无向图(图三),可以将其转换成一个图轮问题,即求一个具有六个顶点无向图的任意两点间的最短路径问题,这里用到图论当中的Flord算法。

图(三)

三、基本假设

1、货车在各路段中所花时间数据属实。

2、货车在行驶中是按匀速行驶

3、货运车在路途中无意外发生,无需返回原地。

4、假设天气等一些客观因素不影响交通运输。

5、飞机航班不存在延误现象。

6、公司员工转机过程中不存在逗留现象。

四、符号说明

1、:i j e 货车从地点i 到地点j 所花的时间:

2、

i j

x

:货车司机是否选择地点i 到地点j ,

1(,0,{ij i j ij x = 弧)包括在最短路径中 不选择弧()

; 3、i j

c

公司员工选择从城市i 到城市j 的航班,1,0

i j

i j c ⎧

=⎨⎩选择城市间航班,不选择; 4、i D ,插入点i ; 5、

i

p

:插入点i 后的路径;

五、模型的建立与求解

问题1的模型建立与求解

跟据已得出的分析再加上题目所给的已知条件,可以得出其赋全矩阵(表(三)):·

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v1 0 8 ∞ ∞ ∞ ∞ 7 8 ∞ ∞ ∞ v2 ∞ 0 3 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ v3 ∞ ∞ 0 5 6 ∞ 5 ∞ ∞ ∞ ∞ v4 ∞ ∞ ∞ 0 11 ∞ ∞ ∞ ∞ ∞ 12 v5 ∞ ∞ 6 ∞ 0 2 ∞ ∞ ∞ ∞ 10 v6 ∞ ∞ ∞ ∞ 2 0 ∞ ∞ 3 ∞ ∞ v7 ∞ ∞ ∞ ∞ ∞ 9 0 ∞ ∞ ∞ ∞ v8 ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 9 ∞ ∞ v9 ∞ ∞ ∞ ∞ 7 ∞ ∞ ∞ 0 2 ∞ v10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 2 v11

表(三)

建立如下0-1规划数学模型:

i j i j i j

M i n z c x =⋅∑

12171812231776188923343537173776766569896995910344541135

456595511354595655117669657665699101011000000000000x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x

x x x x x x x x x x x x x ++=-=-=-=---=+-=--=+--=--=+++-=++--=--=+-=-13441145411511101100110,x x x x x x x ⎧⎪⎪⎪⎪

⎪⎪

⎪⎪⎪

⎪⎪

⎪⎪⎪⎪⎪⎪⎪

=⎪

⎪--=⎪

++=⎪

⎪=⎩或所有弧(i ,j )

运用Lingo 软件输入一个线性规划程序(见附录(一)),分析得出如下结果:

form to time time v1 v8 8 8 v8 v9 9 17 v9 v10 2 19 v10 v11 2 21 v1 v11 = 21 v1 v2 = 8 v1 v3 = 11 v1 v4 = 16 v1 v5 = 17 v1 v6 = 16 v1 v7 = 7 v1 v8 = 8 v1 v9 = 17 v1 v10 = 19

表(四)

模型一的结果分析:

利用WinQSB 软件中的Network model,选择Short Path problem,输入问题一的赋权矩阵(表 )输入如下数据:

相关文档
最新文档