最短路问题(数学建模资料)

合集下载

数学建模最短路问题

数学建模最短路问题

设链W=v0e1v1e2…eivi已选定,则从E\{e1,e2,…,ei}中选取一条与ei相邻的边ei+1,除非已无选择余地,否则不要选G\{e1,e2,…,ei}的桥。
直到(2)不能进行为止,算法终止时得到的是Euler回路。
欧拉图与Fleury算法
01
02
如果G不是连通的Euler图,则G中含有奇度顶点(但奇度顶点的个数为偶数),此时图G的一条邮递路线必定在某些街着上重复走了一次或多次,它等价于在这些边上加一条或多条重复边,使新图G' 不含奇度顶点,并且所加边的总权为最小。
01
Dijkstra Algorithm
02
Dijkstra算法所需时间与n2成正比。
最短路问题求解算法
用Dijkstra求解最短路问题
例 求从顶点u0到其余顶点的最短路。
解:先写出距离矩阵(实际应为对称矩阵)
Dijkstra算法的迭代步骤如下
u0 u1 u2 u3 u4 u5 u6 u7
1 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 2 1 8 ∞ ∞ ∞ ∞ 3 2 8 ∞ ∞ 10 ∞ 4 8 3 ∞ 10 ∞ 5 8 6 10 12 6 7 10 12 7 9 12 8 12
第11章 最短路问题
添加副标题
1 问题的提出
STEP2
STEP1
图论是离散数学的重要分支,在物理学、化学、系统控制、电力通讯、编码理论、可靠性理论、科学管理、电子计算机等各个领域都具有极其广泛的应用。
1
图论的历史可以追溯到1736年,这一年发表了图论的第一篇论文,解决了著名的哥尼斯堡(Königsberg)七桥问题。
02
1 匹配与覆盖
基本概念
定义1设若M的边互不相邻,则称M是G的一个匹配。M的边称为匹配边,E\M的边称为自由边,若(u, v)∈M,则称u(或v)是v(或u)的配偶。若顶点v与M的一条边关联,则称v是M-饱和的;否则称为M-非饱和的。若M使G中每个顶点都是M-饱和的,称M是G的完美(理想)匹配。设M是G的一个匹配,若不存在M' 使|M'|>|M|,则称M为G的最大匹配。

最短路问题(数学建模资料)

最短路问题(数学建模资料)
网 络 优 化
Network Optimization
/netopt
清华大学课号:40420213(本),70420133(研)
第5章 最短路问题(Shortest Path Problem)
清华大学数学科学系 谢金星 办公室:理科楼1308# (电话:62787812) Email:jxie@ /faculty/~jxie
u s 0, u min{u w }. i ij j i j
一般情况下直接求解最短路方程是相当困难的.
(5.7) (5.8)
10
最短路树(树形图)
定理5.1 对于只含正有向圈的连通有向网络,从起点s到任一顶 点 j 都存在最短路,它们构成以起点 s 为根的树形图(称为最短 路树(Tree of Shortest Paths)或最短路树形图(Shortest Path Arborescence)),最短路的长度可以由Bellman方程唯一确定.
1
最短路问题的例子和意义
S
T
许多实际问题都可以转化为最短路问题
其有效算法经常在其它网络优化问题中作为子算 法调用
2
最短路问题的例子 - 单产品、无能力限制的批量问题
例5.1 (Single-level Uncapacitated Lotsizing) 某工厂生产某种产品用以满足市场需求,且已知在时段t中的市 场需求为dt . 在某时段t, 如果开工生产, 则生产开工所需的生 产准备费为st , 单件产品的生产费为ct .在某时段t期末, 如果有 产品库存, 单件产品的库存费为ht . 假设初始库存为0, 不考虑 能力限制, 工厂应如何安排生产, 可以保证按时满足生产, 且 使总费用最小? (Wagner – Whitin,1958) 假设在时段t, 产品的生产量为xt , 期末产品的库存为It (I0 =0); 用二进制变量yt表示在时段t工厂是否进行生产准备. T T 假设费用均非负,则在最优解中 I 0 I T 0 ,即 xt d t

终稿-数学建模与数学实验-最短路问题-行遍性问题

终稿-数学建模与数学实验-最短路问题-行遍性问题

M= 1 1 0 1 0 v2

0 0
0 1
1 1
1 0
0 1

v3 v4
对有向图G,其关联矩阵M= (mij ) ,其中:
1 mij 1
0
若vi
是e
的起点
j
若vi
是e
的终点
j
若vi与e j不关联
返回
邻接矩阵
对无向图G,其邻接矩阵 A (aij ) ,其中:
v1
e1
v2
e4
e5 e2
v4
e3
e6 v3
v5
e7
e8
v7 e9
v6
情形2 G 有2n 个奇次顶点(n 2)
Edmonds 最小对集算法:
基本思想:
先将奇次顶点配对,要求最佳配对,即点对之间距离总和 最小.再沿点对之间的最短路径添加重复边得欧拉图 G*,G*的 欧拉巡回便是原图的最佳巡回.
算法步骤:
C= v1,v2,… ,vi,,vj , vj-1,… , vi+1,vj+1, …,vn,v1 (3)对 C 重复步骤(2),直到条件不满足为止,最后得到的 C 即 为所求.
例 对以下完备图,用二边逐次修正法求较优H圈.
返回
数学建模与数学实验 最短路问题
实验目的 实验内容
1.了解最短路的算法及其应用 2.会用MATLAB软件求最短路
中.
欧拉图
定义1 设 G=(V,E)是连通无向图 (1)经过 G 的每边至少一次的闭通路称为巡回. (2)经过 G 的每边正好一次的巡回称为欧拉巡回. (3)存在欧拉巡回的图称为欧拉图. (4)经过 G 的每边正好一次的道路称为欧拉道路.

数学建模实验报告-第十一章-最短路问题

数学建模实验报告-第十一章-最短路问题

实验名称:第十一章最短路问题一、实验内容与要求掌握Dijkstra算法和Floyd算法,并运用这两种算法求一些最短路径的问题.二、实验软件MATLAB7.0三、实验内容1、在一个城市交通系统中取出一段如图所示,其入口为顶点v1,出口为顶点v8,每条弧段旁的数字表示通过该路段所需时间,每次转弯需要附加时间为3,求v1到v8的最短时间路径.63V4 2 V7 4 V8程序:function y=bijiaodaxiao(f1,f2,f3,f4)v12=1;v23=3;v24=2;v35=1;v47=2;v57=2;v56=6;v68=3;v78=4;turn=3;f1=v12+v23+v35+v56+turn+v68;f2=v12+v23+v35+turn+v57+turn+v78;f3=v12+turn+v24+turn+v47+v78;f4=v12+turn+v24+v47+turn+v57+turn+v56+turn+v68;min=f1;if f2<minmin=f2;endif f3<minmin=f3;endif f4〈minmin=f4;endminf1f2f3f4实验结果:v1到v8的最短时间路径为15,路径为1—2-4-7-8.2、求如图所示中每一结点到其他结点的最短路。

V110 V3V59 V6function[D,R]=floyd(a)n=size(a,1);D=afor i=1:nfor j=1:nR(i,j)=j;endendRfor k=1:nfor i=1:nfor j=1:nif D(i,k)+D(k,j)<D(i,j)D(i,j)=D(i,k)+D(k,j);R(i,j)=R(i,k);endendendkDRend程序:>〉a=[0 3 10 inf inf inf inf inf;3 0 inf 5 inf inf inf inf;10 inf 0 6 inf inf inf inf;inf 5 6 0 4 inf 10 inf ;inf inf inf 4 0 9 5 inf ;inf inf inf inf 9 0 3 4;inf inf inf 10 5 3 0 6;inf inf inf inf inf 4 6 0;];[D,R]=floyd(a)实验结果:D =0 3 10 Inf Inf Inf Inf Inf3 0 Inf 5 Inf Inf Inf Inf10 Inf 0 6 Inf Inf Inf InfInf 5 6 0 4 Inf 10 InfInf Inf Inf 4 0 9 5 InfInf Inf Inf Inf 9 0 3 4Inf Inf Inf 10 5 3 0 6Inf Inf Inf Inf Inf 4 6 0R =1 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 8k =1D =0 3 10 Inf Inf Inf Inf Inf3 0 13 5 Inf Inf Inf Inf10 13 0 6 Inf Inf Inf InfInf 5 6 0 4 Inf 10 InfInf Inf Inf 4 0 9 5 InfInf Inf Inf Inf 9 0 3 4Inf Inf Inf 10 5 3 0 6Inf Inf Inf Inf Inf 4 6 0R =1 2 3 4 5 6 7 81 2 1 4 5 6 7 81 1 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 8 k =2D =0 3 10 8 Inf Inf Inf Inf3 0 13 5 Inf Inf Inf Inf10 13 0 6 Inf Inf Inf Inf8 5 6 0 4 Inf 10 InfInf Inf Inf 4 0 9 5 InfInf Inf Inf Inf 9 0 3 4Inf Inf Inf 10 5 3 0 6Inf Inf Inf Inf Inf 4 6 0R =1 2 3 2 5 6 7 81 2 1 4 5 6 7 81 1 3 4 5 6 7 82 234567 81 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 8 k =3D =0 3 10 8 Inf Inf Inf Inf3 0 13 5 Inf Inf Inf Inf10 13 0 6 Inf Inf Inf Inf8 5 6 0 4 Inf 10 InfInf Inf Inf 4 0 9 5 InfInf Inf Inf Inf 9 0 3 4Inf Inf Inf 10 5 3 0 6Inf Inf Inf Inf Inf 4 6 0R =1 2 3 2 5 6 7 81 2 1 4 5 6 7 81 1 3 4 5 6 7 82 234567 81 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 8k =4D =0 3 10 8 12 Inf 18 Inf3 0 11 5 9 Inf 15 Inf10 11 0 6 10 Inf 16 Inf8 5 6 0 4 Inf 10 Inf12 9 10 4 0 9 5 InfInf Inf Inf Inf 9 0 3 418 15 16 10 5 3 0 6Inf Inf Inf Inf Inf 4 6 0R =1 2 3 2 2 6 2 81 2 4 4 4 6 4 81 4 3 4 4 6 4 82 234567 84 4 4 4567 81 2 3 4 5 6 7 84 4 4 4567 81 2 3 4 5 6 7 8 k =5D =0 3 10 8 12 21 17 Inf3 0 11 5 9 18 14 Inf10 11 0 6 10 19 15 Inf8 5 6 0 4 13 9 Inf12 9 10 4 0 9 5 Inf21 18 19 13 9 0 3 417 14 15 9 5 3 0 6Inf Inf Inf Inf Inf 4 6 0R =1 2 3 2 2 2 2 81 2 4 4 4 4 4 81 4 3 4 4 4 4 82 2345 5 5 84 4 4 4567 85 5 5 5 567 85 5 5 5 567 81 2 3 4 5 6 7 8 k =6D =0 3 10 8 12 21 17 253 0 11 5 9 18 14 2210 11 0 6 10 19 15 238 5 6 0 4 13 9 1712 9 10 4 0 9 5 1321 18 19 13 9 0 3 417 14 15 9 5 3 0 625 22 23 17 13 4 6 0 R =1 2 3 2 2 2 2 21 2 4 4 4 4 4 41 4 3 4 4 4 4 42 2345 5 5 54 4 4 4567 65 5 5 5 567 85 5 5 5 567 86 6 6 6 6 678 k =7D =0 3 10 8 12 20 17 233 0 11 5 9 17 14 2010 11 0 6 10 18 15 218 5 6 0 4 12 9 1512 9 10 4 0 8 5 1120 17 18 12 8 0 3 417 14 15 9 5 3 0 623 20 21 15 11 4 6 0 R =1 2 3 2 2 2 2 21 2 4 4 4 4 4 41 4 3 4 4 4 4 42 2345 5 5 54 4 4 45 7 7 77 7 7 7 7 6 7 85 5 5 5 567 87 7 7 7 7 6 7 8 k =8D =0 3 10 8 12 20 17 233 0 11 5 9 17 14 2010 11 0 6 10 18 15 218 5 6 0 4 12 9 1512 9 10 4 0 8 5 1120 17 18 12 8 0 3 417 14 15 9 5 3 0 623 20 21 15 11 4 6 0R =1 2 3 2 2 2 2 21 2 4 4 4 4 4 41 4 3 4 4 4 4 42 2345 5 5 54 4 4 45 7 7 77 7 7 7 7 6 7 85 5 5 5 567 87 7 7 7 7 6 7 8D =0 3 10 8 12 20 17 233 0 11 5 9 17 14 2010 11 0 6 10 18 15 218 5 6 0 4 12 9 1512 9 10 4 0 8 5 1120 17 18 12 8 0 3 417 14 15 9 5 3 0 623 20 21 15 11 4 6 0 R =1 2 3 2 2 2 2 21 2 4 4 4 4 4 41 4 3 4 4 4 4 42 2345 5 5 54 4 4 45 7 7 77 7 7 7 7 6 7 85 5 5 5 567 87 7 7 7 7 6 7 8四、实验体会。

【精品】数学建模第二轮-选址最短路问题及巡视路线问题

【精品】数学建模第二轮-选址最短路问题及巡视路线问题

【精品】数学建模第二轮-选址最短路问题及巡视路线问题
选址最短路问题及巡视路线问题是数学建模中常见的问题之一,关于这两个问题的具体描述以及解决方法如下:
1. 选址最短路问题:
选址最短路问题是指在一片区域内选择一个或多个点作为设施的位置,使得到其他所有点的距离之和最小。

这个问题往往在物流配送、设施规划、网络布置等领域中得到应用。

对于选址最短路问题,可以使用以下方法进行建模和求解:
- 首先,将区域划分为格点,每个格点代表一个可能的设施位置。

- 然后,计算每个格点到其他格点的距离,并构建距离矩阵。

- 接下来,可以使用数学规划方法(如整数规划)或启发式算
法(如贪婪算法、遗传算法)来求解最短距离并确定最佳设施位置。

2. 巡视路线问题:
巡视路线问题是指寻找一条最优路线,使得沿途经过给定的一组点后,总路程最短或总时间最短。

这个问题在旅行路线规划、货物配送、巡逻路线规划等领域中具有重要意义。

对于巡视路线问题,可以使用以下方法进行建模和求解:
- 首先,将问题抽象为图论问题,将给定的一组点作为图的节点,节点之间的路径作为边。

- 接下来,可以使用图论中的最短路径算法(如Dijkstra算法、Floyd-Warshall算法)来求解最短路径,并确定最优路线。

需要注意的是,选址最短路问题和巡视路线问题的具体求解方法可能因问题的规模和约束条件的不同而不同。

因此,在实际应用中,需要根据具体情况选择合适的方法进行建模和求解。

数学建模模最短路

数学建模模最短路

基于最短路问题的研究及应用: Fanmeng学号:指导老师:摘要最短路问题是图论中的一大问题,对最短路的研究在数学建模和实际生活中具有很重要的实际意义,介绍最短路问题的定义及这类问题的解决办法Dijkstra算法,并且能够在水渠修建实例运用到此数学建模的方法,为我们解决这类图论问题提供了基本思路与方法。

关键字数学建模最短路问题 Dijkstra算法水渠修建。

目录第一章.研究背景 (1)第二章.理论基础 (2)2.1 定义 (2)2.2 单源最短路问题Dijkstra求解: (2)2.2.1 局限性 (2)2.2.2 Dijkstra算法求解步骤 (2)2.2.3 时间复杂度 (2)2.3 简单样例 (3)第三章.应用实例 (4)3.1 题目描述 (4)3.2 问题分析 (4)3.3符号说明 (5)3.4 模型假设 (5)3.5模型建立与求解 (5)3.5.1模型选用 (5)3.5.2模型应用及求解 (5)3.6模型评价 (5)第四章. 参考文献 (6)第五章.附录 (7)第一章.研究背景在现实生活中中,我们经常会遇到图类问题,图是一种有顶点和边组成,顶点代表对象,在示意图中我们经常使用点或者原来表示,边表示的是两个对象之间的连接关系,在示意图中,我们使用连接两点G点直接按的下端来表示。

顶点的集合是V,边的集合是E的图记为G[V,E] ,连接两点u和v的边用e(u,v)表示[1]。

最短问题是图论中的基础问题,也是解决图类问题的有效办法之一,在数学建模中会经常遇到,通常会把一个实际问题抽象成一个图,然后来进行求的接任意两点之间的最短距离。

因此掌握最短路问题具有很重要的意义。

第二章.理论基础2.1 定义最短路问题(short-path problem ):若网络中的每条边都有一个数值(长度、成本、时间等),则找出两节点,(通常是源节点和目标节点)之间总权和最小的路径就是最短路问题。

最短路问题是网络理论解决的典型问题之一,可用来解决管道铺设,线路安装,厂区布局和设备更新等实际问题[2]。

数模最短路与最优问题

数模最短路与最优问题

定义 若将图 G 的每一条边e 都对应一个实数 w (e ),则称 w (e )为边的 权,并称图 G 为赋权图. 规 定 用 记 号 和 分 别 表 示 图 的 顶 点 数 和 边 数 .
编辑ppt
12
常用术语: (1)端点相同的边称为环. (2)若一对顶点之间有两条以上的边联结,则这些边称为重边(或平行边).
(3)有边联结的两个顶点称为相邻的顶点,有一个公共端点的边 称为相邻的边.
(4)边和它的端点称为互相关联的. (5)既没有环也没有平行边的图,称为简单图. (6)任意两顶点都相邻的简单图,称为完备图,记为 Kn,其中 n
为顶点的数目.
( 7)若 V=X Y,X Y= ,且 X 中任两顶点不相邻,Y 中任两顶
1.图论问题的起源
• 18世纪东普鲁士哥尼斯堡被普列戈尔河分为四块,它 们通过七座桥相互连接,如下图.当时该城的市民热衷于 这样一个游戏:“一个散步者怎样才能从某块陆地出发, 经每座桥一次且仅一次回到出发点?”
N
A
B
S
编辑ppt
1
七桥问题的分析
• 七桥问题看起来不难,很多人都想试一试,但没有 人找到答案 .后来有人写信告诉了当时的著名数学家欧 拉.千百人的失败使欧拉猜想,也许那样的走法根本不可 能.1876年,他证明了自己的猜想.
编辑ppt
6
例如,在1978年,美国财政部的税务分析部门在对 卡特尔税制改革做评估的过程中,就有一个 100,000个约束以上,25,000,000个变量的问题,若 用普通的线性规划求解,预计要花7个月的时间.他 们利用网络分析的方法,将其分解成6个子问题,利 用特殊的网络计算机程序,花了大约7个小时问题 就得到了解决.
其中的元素叫图 G 的顶点. [2] E 称为边集,其中的元素叫图 G 的边.

第6讲 最短路问题

第6讲 最短路问题

中国邮路问题或中国邮递员问题 (CPP-Chinese Postman Problem)
1962年中国数学家管梅谷提出:一个邮递员从 邮局出发递送邮件,要求对他所负责的辖区的每条 街至少走一次,问如何选取路程最短的路线?国际 上称之为中国邮递员问题。
旅行商问题
(TSP-Traveling Salesman Problem)
因此, 可采用树生长的过程来求指定顶点到其余顶点的最短路.

固定起点的最短路
Dijkstra (迪杰斯特拉) 算法: 求G中从顶点u0到其余顶点的最短路. (1)设G为赋权有向图或无向图,G边上的权均非负. (2)对每个顶点v,定义两个标记(l(v), z(v)): l(v): 表示从顶点u0到v的一条路的权. z(v): v的父亲点,用以确定最短路的路线. (3)S表示具有永久标号的顶点集. (4)算法的输入是G的带权邻接矩阵 w(u,v) .
d (v4 ) 4
d (v4 ) 2 d (v4 ) 3 d (v4 ) 5
几个基本定理
1、对图G V,E,有 dv 2 E . vV
2、度为奇数的顶点有偶数个。
3、设G V,E是有向图,
则 d v d v E .
vV
vV
定义 设图 G=(V, E, ), G1=(V1, E1, 1 ) (1) 若 V1 V,E1 E, 且当 e E1 时,1 (e)= (e), 则称 G1 是 G 的子图.
u1
u6
3
6 9 12
u2
u5
u4
u5
u2
u5
u1
u4
u6
u8
u3
u7
每对顶点之间的最短路 (算法原理)
把带权邻接矩阵 W 作为距离矩阵的初值,即 D(0)=(di(j0) ) =W

浅谈最短路的数学模型解问题

浅谈最短路的数学模型解问题

浅谈最短路的数学模型解问题在生产与科学实验中,有一类活动的过程,由于它的特殊性,可将过程分为若干个互相联系的阶段,在它的每一个阶段都需要做出决策,从而使整个过程达到最好的活动效果。

因此,各个阶段的决策的选取不是任意确定的,它依赖于当前面临的状态,又影响以后的发展。

当各个阶段决策确定后,就组成了一个决策序列,因而也就决定了整个过程的一条活动路线。

这种把一个问题可看作一个前后关联且具有链状结构的多阶段过程就称为多阶段决策过程,这种问题就称为多阶段决策问题,而最短路问题是这类问题中的比较典型的一种。

现在我们一起来探讨这类问题的特点和解决方法。

问题1(最小价格的管道铺设方案)如下图用点表示城市,现有共7个城市。

点与点之间的连线表示城市间有道路相连。

连线旁的数字表示道路的长度。

现计划从城市A到城市D铺设一条天然气管道,请设计出最小价格管道铺设方案。

首选我们要明确以下2点:(1)管道长短与成本价格之间有什么关系?显然,管道越短,成本越低。

(2)你能在众多管道路线中找到一条最短的管道路线吗?答案是肯定的。

这是一般人都有的最直接最原始的思路。

我们在这里就是要寻找一个比较简便的方法。

本题的实质就是求从城市A到城市D的一条最短路。

1、建立数学模型:Min{d(xk,xk+1)+f(xk+1)}的含义是:前一个阶段距离加上后一状态变量到终点的最短距离,然后在这些距离和中取最小者,即为所求的最短距离。

其中xk+1=u(xk),即从状态xk出发,采取决策uk到达下一状态xk+1;Sk表示从状态xk 出发的所有可能选取的决策的集合;而f4(x4)=0称为边界条件,因为状态x4=D已经是终点;各个决策路径xk+1=u(xk)都是所有决策的集合Sk中的一种,即xk+1=u(xk)∈Sk。

2、模型求解:①从最后一个阶段即第三阶段开始,按f3的定义有②第二个阶段有2个状态,而每个状态又有3个决策可选取,因此有B1到D的最短路长得B1到D的最短路径B2到D的最短路长得B2到D的最短路径③当k=1时,有A到D的最短路长得A到D的最短路径,故从A到D的最短弧长为6,路径为最短路问题是最重要的优化问题之一,它不仅可以直接应用于解决生产实际的许多问题,如管道铺设、线路安排、厂区布局、设备更新等等,而且经常被作为一个基本工具,用于解决其它优化问题。

最短路问题-2

最短路问题-2

S (vi ) = max{d ij } i = 1,2, Lν 1≤ j ≤ν (3)求出顶点 v k ,使 S (v k ) = min{S (vi )}
1≤i ≤ν
则 v k 就是要求的建立消防站的地点.此点称为图的中心点 中心点. 中心点
TO MATLAB (road3(floyd))
0 3 5 D = 10 7 5 .5 7
返回
选址问题--重心问题 选址问题--重心问题 -例 2 某矿区有七个矿点,如图所示.已知各矿点每天的产矿量 q (v j ) (标在图的各顶点上) 现要从这七个矿点选一个来建造矿厂. . 问 应选在哪个矿点,才能使各矿点所产的矿运到选矿厂所在地的总运力 (千吨公里)最小.
(1)求距离阵 D= ( d ij )ν ×ν .

返回
选址问题--中心问题 选址问题--中心问题 -例 1 某城市要建立一个消防站,为该市所属的七个区服务, 如图所示.问应设在那个区,才能使它至最远区的路径最短.
(1)用 Floyd 算法求出距离矩阵 D= ( d ij )ν ×ν .
(2) 计算在各点 vi 设立服务设施的最大 服务距离 S (vi ) .
数学建模与数学实验 最短路问题
实验目的
1,了解最短路的算法及其应用 , 2,会用Matlab软件求最短路 ,会用 软件求最短路

实验内容
3,最 短 路 的 应 用 , 4,建模案例:最优截断切割问题 ,建模案例: 5,实验作业 ,
最 短 路 的 应 用
一, 选 址 问 题 1, 中心问题 , 2, 重心问题 , 二,建模案例:最优截断切割问题 建模案例:
3 0 2 7 4 2 .5 4
5 2 0 5 2 4 .5 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5
A 7 4
B
6 4
D
6 F
5
C
3
E
1
前一部分实际上是Bellman最优化原理的直接结果; 后一部分中Bellman方程解的唯一性可以用反证法证明(略)
11
最短路树(树形图)
如果将定理中的条件“只含正有向圈”改为“不含负有向圈”: 上述最短路仍然存在;STEP1.

u j ui wij , pred( j) i .
17
正费用网络(Dijkstra算法)
引理5.2 在上述Dijkstra 算法中, (1)对于S中的任一顶点 j ,其距离标号 uj 是从起点 s 到该顶点 j 的最短路路长;
(2)对于 S 中的任一顶点j,其距离标号uj是从起点s出发,只经 过S中的顶点到达顶点j 的最短路路长.
归纳法. 算法开始时结论成立. 设直到迭代的第k步,上述结论(1)(2)成立.
O 如果采用邻接表表示法,可首先计算各节点的入度; (m) 然后找入度为零者编号; O(n) 去掉已编号节点及相关弧,同时修改相邻节点入度(只需扫描 该去掉的节点的出弧); O(m) 依次类推。 O ( m n)
2
该算法自然可以用来判断有向图是否无圈图.
13
最短路算法 -
5.2.2 无圈网络
(5.9) (5.10)
5
B
6 4
D
6 F (结束)
(开始) A
7
4
C
5 3 E
1
5
项目网络不含圈, 其最长路问题和最短路问题都是可解的.
最短路问题
s
t
给定有向网络N,弧(i,j)对应的权又称为弧长(或费用). 对于其中的两个顶点s,t,以s为起点和t为终点的有向路称为 s-t有向路,其所经过的所有弧上的权(或弧长、费用)之和 称为该有向路的权(或弧长、费用). 所有s-t有向路中权(或弧长、费用)最小的一条称为s-t最短路. 对于有向网络中的一个圈,定义它的权为圈上所有前向弧上的 权的和, 减去圈上所有反向弧上的权. 权为正的圈称为正圈; 权为负的圈称为负圈; 权为0的圈称为零圈. 对一个有向圈, 它的权就是圈上所有弧上的权的和. 本章的 圈一般都是指有向圈, 我们直接将正有向圈简称为“正圈”, 负有向圈简称为“负圈”, 零有向圈简称为“零圈”, 而 6 “无圈”指的是不存在有向圈.
正费用网络(Dijkstra算法)
u S STEP0. (初始化) 令S= ,=V, s u1 0, pred(s) 0 ;对V 中 的顶点j(j s)令初始距离标号 u j .
STEP1. 如果S=V, 则uj为节点s到节点j的最短路路长(最短路可 以通过数组pred所记录的信息反向追踪获得), 结束. 否则继续 STEP2. STEP2. 从 S 中找到距离标号最小的节点i,把它从 S 删除,加 入S. 对于所有从i出发的弧 (i, j ) A , 若 u j ui wij ,则令
t 1 t 1
可以证明:一定存在满足条件 I t 1 xt 0(1 t T )
的最优解.
3
可以只考虑
xt 0, dt , dt dt 1,, dt dt 1 dT
单产品、无能力限制的批量问题 记wij为第i时段生产量为 xi d i d i 1 d j 时所导致的费用 (包括生产准备费、生产费和库存费), 即 w s c x j 1h I
14
最短路算法 – 例
例5.4 计算如下网络(图5.4 (a))中从节点A到所有其它节点的最短路.
1
A -1 B 1 A -1 B 1 E -1
E 5 3 1
-2 D 4 C 1 -1 3
i2
1
2 E 5 3 1
-2 4 4 5
-2
D
计算过程: u 1 =0, u 2 min{u i wi 2 } =min{0+1}=1,
其中 I t d t 1 d i 2 d j (i t j 1)
ij
i
i i

t i
t t
网络:从所有节点i到j (> i)连一条弧, 弧上的权为wi,j-1 , 如T=4时:
w12
w11 w22
w23 3
w33
w34
1
2
4
w24
w44
5
w13
w14
4
例5.3 计划评审技术, 即PERT(Project Evaluation & Review Technique), 又称网络计划技术或统筹法)
基本思想:对于V 中每一个顶点j,赋予两个数值(通常称为“标号”): 一个是距离标号uj ,记录的是从起点到该顶点的最短路长度的上界;
另一个是前趋标号pred(j),记录的是当起点s到该顶点j 的一条路长取
到该上界时,该条路中顶点j 前面的那个直接前趋(节点).
算法通过不断修改这些标号,进行迭代计算. 当算法结束时, 距离标号表示的是从起点到该顶点的最短路长度. 迭代进行计算的过程中,所有顶点实际上被分成了两类: 一类是离起点 s 较近的顶点,它们的距离标号表示的是从点s到 该顶点的最短路长度,因此其标号不会在以后的迭代中再被改 变(称为永久标号); 一类是离起点 s 较远的顶点,它们的距离标号表示的只是从点 到该顶点的最短路长度的上界,因此其标号还可能会在以后的 16 迭代中再被改变(称为临时标号).
s1
10
2
1
3
-1
起点s到顶点的最短路长度分别是us=u1=0, u2 =10, u3 =11 但此时只要u3 = u2+1 11 (us=u1=0)就可以满足Bellman方程. 如 us=u1=0, u2 =8, u3 =9 等 对于一般的网络,Bellman方程只是最短路长度必须满足的必 要条件,而不是充分条件; 对于只含正有向圈的连通有向网络,它才是充要条件.
对偶问题为
max(ut us ) s.t. u j ui wij , (i, j ) A.
(5.4) (5.5)
根据互补松弛条件, 当x和u分别为原问题和对偶问题的最优解 时: xij (u j ui wij ) 0, (i, j) A. (5.6) 9
Bellman方程
1
最短路问题的例子和意义
S
T
许多实际问题都可以转化为最短路问题
其有效算法经常在其它网络优化问题中作为子算 法调用
2
最短路问题的例子 - 单产品、无能力限制的批量问题
例5.1 (Single-level Uncapacitated Lotsizing) 某工厂生产某种产品用以满足市场需求,且已知在时段t中的市 场需求为dt . 在某时段t, 如果开工生产, 则生产开工所需的生 产准备费为st , 单件产品的生产费为ct .在某时段t期末, 如果有 产品库存, 单件产品的库存费为ht . 假设初始库存为0, 不考虑 能力限制, 工厂应如何安排生产, 可以保证按时满足生产, 且 使总费用最小? (Wagner – Whitin,1958) 假设在时段t, 产品的生产量为xt , 期末产品的库存为It (I0 =0); 用二进制变量yt表示在时段t工厂是否进行生产准备. T T 假设费用均非负,则在最优解中 I 0 I T 0 ,即 xt d t
12
最短路算法 -
5.2.2 无圈网络
引理5.1 (拓扑排序,Topological Ordering )设有向图D不 含回路,则D的顶点总可以重新编号,使得 i j, (i, j ) A .
如果采用邻接矩阵表示法,可首先计算各节点的入度; O(n ) 然后找入度为零者编号; O(n) 去掉已编号节点及相关弧,同时修改相邻节点入度(只需扫描 该去掉的节点的对应行) ; O(n n) O(n2 ) 依次类推。 O(n2 )
大型复杂工程项目(Project)往往被分成许多子项目,子项目之 间有一定的先后顺序(偏序)要求, 每一子项目需要一定的时间 完成. PERT网络的每条弧表示一个子项目,如果以弧长表示每 一子项目需要的时间,则最早完工时间对应于网络中的最长路 (关键路线). 工程上所谓的关键路线法(CPM: Critical Path Method)基本上也是计划评审技术的一部分.
网 络 优 化
Network Optimization
/netopt
清华大学课号:40420213(本),70420133(研)
第5章 最短路问题(Shortest Path Problem)
清华大学数学科学系 谢金星 办公室:理科楼1308# (电话:62787812) Email:jxie@ /faculty/~jxie
最短路问题 – 两点说明
最长路问题可以转化为最短路问题,把弧上的费用反号即可. 必须指出:目前为止,一切最短路算法都只对不含负有向圈 的网络有效. 对于含负有向圈的网络,最短路问题是NP困难的. 因此,本章中除非特别说明,一律假定网络不包含负有向圈.
无向网络上的最短路问题一般可以转化为有向网络上的问题.
当某弧(i,j)位于最短路上时, 即变量xij>0时, 一定有 u j ui wij
如果u为对偶问题最优解,易知u+c (c为任意实数)仍为最优解.
不妨令 us=0 ,则u的具体数值就可以唯一确定了. 相当于对节点j赋予的一个实数值uj(通常称为 “标号”),在 us=0时表示的正好是节点s到节点j的最短路的长度. Bellman方程(最短路方程、动态规划基本方程 )
8
5.2.1 Bellman方程
min
( i , j )A
w x
ij ij
(5.1) i s, i t, i s, t , (5.3) (5.2' )
相关文档
最新文档