数学建模获奖论文校内赛.docx
- 文档编号:30223730
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:28
- 大小:119.95KB
数学建模获奖论文校内赛.docx
《数学建模获奖论文校内赛.docx》由会员分享,可在线阅读,更多相关《数学建模获奖论文校内赛.docx(28页珍藏版)》请在冰豆网上搜索。
数学建模获奖论文校内赛
武汉理工大学数学建模竞赛
承诺书
我们仔细阅读了武行理工大学数学建模竞赛的竞赛细则。
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
参赛队员(签名):
队员1:
张学令
队员2:
李力
队员3:
吴永科
武汉理工大学数学建模协会
09年武汉理工大学数学建模竞赛
题目:
浙江省高速公路问题
【摘要】
本文主要是讨论高速公路的路径选择问题:
把高速公路作为一个网络来处理;将求最短路径的问题转化为0-1规划数学模型,并利用LINGO软件对所建立的模型进行了求解,解决了在高速公路网上求解从一个城市到另外一个城市的最短行程的难题;并对求解有向图中满足权限制的路径的问题设计了算法并用C++语言进行了实现,解决了在高速公路网上求解从一个城市到另一个城市的且满足一定距离条件限制的所有通路的难题。
规划问题的三要素具体到最短路径问题上是:
决策变量为“图的各条边是否在路径上”;目标函数取“路径的长度”;约束条件包括“起点的净输出量(路径中以该顶点为起点的边的数目减去以该顶点为终点的边的数目)为1”、“终点的净输出量为-1”和“其余点的净输出量为0”。
用于求解图中所有满足权限制的路径的算法的基本思想是:
在符合权限制的条件下,从起点开始依次进行深度搜索,直至终点,找到一组解。
然后再依次返回上一层,继续这上一层的其他分支的搜索,直至返回到起点所在顶层。
若顶层的所有分支搜索完毕则结束算法。
本文首先对浙江的地图进行抽象,简化成一个网络:
删去外部单分支,然后以各个高速公路交点附近的城市和我们本题所需要的四个城市作为为顶点,由此我们得到28个顶点。
然后对这些城市从1到28进行编号,并列出任意二个城市之间的直接通路距离。
然后利用提出的数学模型求出了从桐乡到富阳的最短路径:
桐乡——桐乡南——杭州东——杭州南——杭州西——富阳;其长度为108.59km。
再利用本文设计的算法求出了9条从桐乡到富阳的小于两倍最短路径的通路(具体结果见表6)。
本文选取了三组能直接看出最短路径的二个城市,作为起点和终点对模型进行了检验。
并选取湖州和温州对算法的正确性和通用性进行了检测。
本模型具有很好的普遍适用性,可以运用于社会生活的各个方面,最直观的就是求最短路径问题,不论是哪个方面,都可以运用此模型。
而对于其它领域,有的也可以运用此模型的思想,像桥梁选址,设备更新,工程安排等问题。
关键字:
网络最短路径0-1规划路径选择深度搜索
一.关于高速公路网路径选择的问题
高速公路是指双向2条车道以上、双向分隔行驶、完全控制出入口、全部采用两旁封闭和立体交叉桥梁与匝道,时速限制比普通公路较高的行驶道路。
由于以上这些特点,高速公路网是网络的一个典型应用实例。
要想使从出发地到达目的地所用的时间最少,除了要考虑高速度之外,还要使行程最短;由于高速公路是相互贯通的,所以司机有多种选择,但为了保持合理性,高速公路收费一般也是按司机可能最小路程收费的。
所以求最短路径的问题是关于高速公路网的一个重要的实际应用问题。
但有的时候并不一定要求行程最短,使其在一定的范围之内就可以了,求符合长度限制的路径也是高速公路网的一个常见的问题。
二.问题的重述
近年来,由于浙江省高速公路建设发展迅猛,高速公路网内纵横交错。
从某个起点出发去同样一个地方,司机往往有多种选择。
所走的路径虽不一样,但其所付费用却是一样的。
从2009年2月17日起,浙江省高速公路开始启用新的复合通行卡,这种通行卡能精确地测定车辆的实际行车路径,开车从同一个起点到同一个终点,走不同线路,里程数不一样,驾驶员所要付的通行费也有可能不同。
根据附录中所给的浙江省高速公路网,解决以下几个问题:
求出桐乡到富阳市的最短路径;
设计一个算法,求出所有从桐乡到富阳市小于两倍最短路径的所有通路;
以湖州市为起点,温州为终点检验你所设计算法的通用性.
(原题中是以潮州为起点,不知道是什么原因,我们猜想应该是以湖州为起点,故将此处修改如上。
)
三.模型的假设
针对上述问题,本文进行如下合理假设:
1.每条高速公路都是完好的,都能通车;
2.高速的等级都是一样的,都可以走;
3.二个城市之间的最短路径仅仅指理论上的距离最短;
4.行程选择不考虑司机的主观因素以及道路施工、天气等意外因素;
5.司机在二个城市之间路上不能改变方向;
6.行程中不能走回路;
7.我们查到的数据是准确。
四.名词解释和符号说明
4.1名词解释
外部单分支:
本文中指浙江高速公路网中只与一个公路交点连接通向外省的高速公路分支。
净输出量:
有向图的路径中以该顶点为起点的边的数目减去以该顶点为终点的边的数目。
求解路径;本文中特指求解有向图中从起点到终点的所有的满足权(即长度)限制的路径。
4.2符号说明
表1
符号
说明
D=(V,A)
以V为顶点集,A为边集的有向图D
Vs
路径的起点
Vt
路径的终点
Wij
边ViVj的权,即长度
0
Fij=
1
边ViVj不在路径上
边ViVj在路径上
Z
目标函数
p
图的顶点数
dmin
路径的起点Vs到终点Vt的最短路径
DI
在求解路径算法中记录“当前顶点”Vk“游离”起点Vs的距离
S
求解路径算法中一个“有序集合”,来记录“当
前路径”经过的顶点序列
pop(S)
返回S中的最后一元素
5.问题的分析
5.1地图抽象成网络
本文所讨论的浙江省高速网上有非常多的城市和收费站,显然如果以这些城市或者收费站作为图的顶点,那么得到的图将是非常繁琐的。
本文进行了简化:
以高速公路交点或者交点附近的城市作为图的顶点(但同时为了方便求解本题,我们另外添加了湖州、桐乡、富阳和温州这四个城市作为图的顶点),并忽略外部单分支(因为我们规定了行程不能走回路)。
我们对这些城市从1到28进行编号得到表2。
表2
编号
1
2
3
4
5
6
7
城市名
桐乡
嘉兴
大云
平湖
桐乡南
杭州东
杭州东北
编号
8
9
10
11
12
13
14
城市名
杭州北
湖州
杭州西
杭州南
绍兴
宁波
宁波西
编号
15
16
17
18
19
20
21
城市名
宁波南
嵊州
三门
临海
义乌东
义乌西
金华
编号
22
23
24
25
26
27
28
城市名
永康
丽水
温州
龙游
云和
诸暨
富阳
我们按照表2中的城市编号对浙江省高速公路网进行抽象得到如下网络图1:
图1
其中图中各条边的权值即实际两地点间的距离,如下表3(单位:
km),表中空白处表示该两点之间没有直接通路。
表3
5.2网络分析
5.2.1求最短路径分析
求二个城市间的最小距离就是求图中对应顶点的最短路径。
这是一个求最优解的问题。
观察图的路径可以得知:
除了起点和终点,其余在路径的点的输入量和输出量持平。
显然这就本题的约束条件。
于是这个规划问题的三要素具体到最短路径问题上是:
决策变量为“图的各条边是否在路径上”;目标函数取“路径的长度”;约束条件包括“起点的净输出量(路径中以该顶点为起点的边的数目减去以该顶点为终点的边的数目)为1”、“终点的净输出量为-1”和“其余点的净输出量为0”。
5.2.2求解路径的算法思想
求解二个城市间满足长度限制的通路其实就是搜索整个网络找出符合限制的解。
所以我们在高速公路网的图中进行如下搜索:
在符合长度限制的条件下,从起点开始依次进行深度搜索,直至终点,找到一组解。
然后再依次返回上一层,继续这上一层的其他分支的搜索,直至返回到起点所在顶层。
若顶层的所有分支搜索完毕则结束算法。
六.模型的建立和算法的提出
6.1求最短路径的模型
问题描述:
求解图中顶点Vs到Vt的最短路径
目标函数是:
Z=∑Wij*Fij
约束条件:
Fij只能取0或1;
当i=s时:
∑Fij-∑Fji=1
(Vi,Vj)∈A(Vi,Vj)∈A
当i=t时:
∑Fij-∑Fji=-1
(Vi,Vj)∈A(Vi,Vj)∈A
当i≠s,t时:
∑Fij-∑Fji=1
(Vi,Vj)∈A(Vi,Vj)∈A
决策变量:
Fij(其中I,j<=p)其取值范围为:
{0,1}
我们所求的就是min(Z),我们用Lingo软件对上面这个模型进行求解。
程序和程序运行结果见附录。
6.2求解路径的算法:
问题描述:
求解图中Vs到Vt的长度不大于2*dmin的所有的路径。
我们参考了图的深度优先遍历算法和Dijkstra算法,设计出了下面这个算法:
设图为:
D=(V,A),其共有p个顶点,我们所求这组通路的起点和终点分别为Vs、Vt,Vs和Vt之间的最短路径为dmin。
还需要交代的是在此算法中,Vk是“当前顶点”;S是一个“有序集合”,来记录“当前路径”经过的顶点序列;DI是用来记录“当前顶点”Vk“游离”起点Vs的距离。
算法是:
(1)开始时,令S={Vs},k=s,DI=0。
此时“当前顶点”Vk=Vs。
(2)
按照下列方法考察每一个(Vk,Vj)∈A且Vj∈S、j≠k的点Vj,然后执行
。
如果DI+Wkj>=2dmin时,不做任何操作;否则执行下列操作:
如果j=t,则我们找到了一组解,输出路径(S+{Vj})和路径长度(DI+Wkj);否则“当前顶点”前进一步:
S=S+{Vj},DI=DI+Wkj,k=j,且此时再重复执行
(2)。
此时如果S={Vs},则算法终止;否则“当前顶点”后退一步:
Vj=Vk,S=S-{Vk},Vk=pop(S)(即让Vk为S中最后的一个顶点),DI=DI-Wkj。
上述即使我们的求解路径的算法,具体的程序流程图如下:
图2
path_solve():
for(j=1;j<=p;j++)
(Vk,Vj)∈A且j!
=k且j∈S
是否
DI+W[k][j]<_2dmin
是否
不做任何操作
j==t
是否
不做任何操作
输出这组解的信息
S=S+{Vj}
DI=DI+W[k][j]
k=j
调用path_solve()
S=={Vs}
是否
整个程序结束
S=S-{Vk}
Vj=Vk
Vk=pop(S)
DI=DI-W[k][j]
7.模型的求解
7.1桐乡到富阳市的最短路径
目标函数:
Z=∑Wij*Fij
约束条件:
Fij只能取1或0;
Fij只能取1或0;
当i=1时:
∑Fij-∑Fji=1
(Vi,Vj)∈A(Vi,Vj)∈A
当i=28时:
∑Fij-∑Fji=-1
(Vi,Vj)∈A(Vi,Vj)∈A
当i≠1,28时:
∑Fij-∑Fji=1
(Vi,Vj)∈A(Vi,Vj)∈A
采用设计的算法进行编程,然后利用Lingo软件对模型进行求解,结果统计如下表(表中“1”表示该边在所求的路径上)
表4
将上表进行简化可得:
最短路径为:
V1—V5—V6—V11—V10—V28,Lingo软件求出的最短路径长度为108.95km。
即桐乡到富阳的最短路径为:
桐乡——桐乡南——杭州东——杭州南——杭州西——富阳,最短路径长度为108.95km。
7.2从桐乡到富阳市小于两倍最短路径的所有通路
对求解路径的算法进行编程运行,且取s=1,t=28,dmin=108.95
我们得到了9组解,具体数据如下
表5
序号
路径
路径的长度(km)
1
V1-V2-V3-V4-V5-V6-V11-V10-V28
208.13
2
V1-V2-V3-V4-V5-V7-V8-V10-V28
213.2
3
V1-V2-V4-V5-V6-V11-V10-V28
178.68
4
V1-V2-V4-V5-V7-V6-V11-V10-V28
192.88
5
V1-V2-V4-V5-V7-V8-V10-V28
183.75
6
V1-V5-V6-V7-V8-V10-V28
147.26
7
V1-V5-V6-V11-V10-V28
108.59
8
V1-V5-V7-V6-V11-V10-V28
122.79
9
V1-V5-V7-V8-V10-V28
113.66
8.模型的检验
8.1模型的正确性检验
检验方法:
我们取能明显看出的或经简单计算就能得出的最短路径的二个端点分别作为Vs和Vt,用本题中的模型求解出结果。
看一下结果是否正确。
我们分别取(V10,V28)、(V25,V23)和(V23,V18)这三组进行检验。
结果如下:
表6
理论结果
模型结果
s
t
路径
长度
路径
长度
10
28
V10-V28
13.33
V10-V28
13.33
25
23
V25-V21-V22-V23
170.4
V25-V21-V22-V23
170.4
23
18
V23-V22-V18
162.03
V23-V22-V18
162.03
可以看出我们的模型能够准确的求出这三解。
这证明了我们模型的正确性。
8.2求解路径的算法的正确性和通用性检测。
我们以湖州市为起点,温州市为终点检验算法的正确性和通用性。
取s=9,t=24。
我们首先用求解最短路径的模型得出dmin=434.87,然后用求解路径算法进行求解.我们得到了1051组解,这与我们的直觉判断是相符合的。
在算法中取dmin=434.87/2,我们只得到一组解:
V9-V8-V7-V6-V12-V16-V17-V18-V24,这与用模型求解的结果是一致的,这说明了当s=9,t=24时算法是正确的。
由此可以得出我们的算法有很高的正确性和很好的通用性。
九.模型的评价与推广
9.1模型的评价
最短路径问题是一个非常能联系实际的问题,网络中从一个顶点到另一个顶点,最短路径的求解,在现实生活中很常见。
在本模型中,从现实生活中的高速公路抽象出网络,进而进行求解,可以求出任意两点间的最短路径,本模型具有普遍适用性。
不仅对于最短路径,对于少于两倍最短路径的通路问题,本模型也给出了求解方法,可以求解出满足条件的所有情况。
进一步推广,改变本模型中的一个条件,少于两倍最短路径甚至少于n倍最短路径(不超过最大距离),都可以进行求解。
因而本模型可以求解类似的所有问题。
9.2模型的推广
最短路径的问题,在现实生活中随处可见,像本题中求解的高速公路问题就是。
将本模型推广到社会生活中的话,城市距离问题,桥梁选址问题,提货物运送问题,汽车旅行等,都可以运用此模型。
对于不是典型的求最短路径问题,有些问题也可以利用此模型,像设备更新问题,如何更新和使用旧设备可以使费用最少;像工程安排问题,如何施工安排多布工序及一些限制条件可以使工期最短等等,都可以经过此模型变换进行求解,但核心思想不变。
因而此模型广泛应用于社会生活的方方面面。
10.参考文献
[1]姜启源谢金星叶俊,《数学模型》,北京:
高等教育出版社,2003
[2]王文平,《运筹学》,北京:
科学出版社,2007
[3]陈汝栋,于延荣,《数学模型与数学建模》,北京:
国防工业出版社,2006
[4]严蔚敏吴伟民,《数据结构(C语言版)》,北京:
清华出版社,2008
[5]维基百科,高速公路,http:
//zh.wikipedia.org/wiki/高速公路,2009.5.3
[6]维基百科,最短路径,http:
//zh.wikipedia.org/w/index.php?
title=最短路径&variant=zh-hans,2009.5.3
附录:
附录1
模型的Lingo程序:
!
最短路问题;
model:
data:
a=1;
b=28;
enddata
sets:
cities/1..28/;
roads(cities,cities)/
1,21,5
2,12,32,42,9
3,23,4
4,24,34,54,13
5,15,45,65,7
6,56,76,116,12
7,57,67,8
8,78,98,10
9,29,8
10,810,1110,28
11,611,1011,27
12,612,1312,16
13,413,1213,1413,15
14,1314,1514,16
15,1315,1415,17
16,1216,1416,1716,19
17,1517,1617,18
18,1718,2218,24
19,1619,2019,27
20,1920,2120,27
21,2021,2221,25
22,1822,2122,23
23,2223,2422,26
24,1824,23
25,2125,2625,28
26,2326,25
27,1127,1927,20
28,1028,25
/:
D,F;
endsets
data:
D=11.7133.94
11.7128.7227.58109.4
28.7228.31
27.5828.3164.7498.47
33.9464.7424.9415.24
24.9423.917.1344.27
15.2423.916.23
16.2361.534.92
109.461.5
34.9219.2513.33
17.1319.2536.85
44.2766.1462
98.4766.149.5622.79
9.568.676.43
22.798.6104.6
62.0076.4377.0249.06
104.677.0243.15
43.15113.2106.8
49.0639.0355.96
39.0336.6756.62
36.6761.1460.43
113.261.1448.83
48.83117.346.94
106.8117.3
60.43178.6156.3
46.96178.6
36.8555.9656.62
13.33156.3;
enddata
min=@sum(roads:
D*F);
@for(cities(I)|(I#ne#a)#and#(I#ne#b):
@sum(roads(I,K):
F(I,K))-@sum(roads(L,I):
F(L,I))=0);
@for(cities(I)|I#eq#a:
@sum(roads(I,K):
F(I,K))-@sum(roads(L,I):
F(L,I))=1);
@for(cities(I)|I#eq#b:
@sum(roads(I,K):
F(I,K))-@sum(roads(L,I):
F(L,I))=-1);
@for(roads:
@bin(F));
End
部分运行结果:
Globaloptimalsolutionfound.
Objectivevalue:
108.5900
Extendedsolversteps:
0
Totalsolveriterations:
0
VariableValueReducedCost
A1.0000000.000000
B28.000000.000000
D(1,2)11.710000.000000
D(1,5)33.940000.000000
D(2,1)11.710000.000000
D(2,3)28.720000.000000
D(2,4)27.580000.000000
D(2,9)109.40000.000000
D(3,2)28.720000.000000
D(3,4)28.310000.000000
D(4,2)27.580000.000000
D(4,3)28.310000.000000
D(4,5)64.740000.000000
D(4,13)98.470000.000000
D(5,1)33.940000.000000
D(5,4)64.740000.000000
D(5,6)24.940000.000000
D(5,7)15.240000.000000
D(6,5)24.940000.000000
D(6,7)23.900000.000000
D(6,11)17.130000.000000
D(6,12)44.270000.000000
D(7,5)15.240000.000000
D(7,6)23.900000.000000
D(7,8)16.230000.000000
D(8,7)16.230000.000000
D(8,9)61.500000.000000
D(8,10)34.920000.000000
D(9,2)109.40000.000000
D(9,8)61.500000.000000
D(10,8)34.920000.000000
D(10,11)19.250000.000000
D(10,28)13.330000.000000
D(11,6)17.130000.000000
D(11,10)19.250000.000000
D(11,27)36.850000.000000
D(12,6)44.270000.000000
D(12,13)66.140000.000000
D(12,16)62.000000.000000
D(13,4)98.470000.000000
D(13,12)66.140000.000000
D(13,14)9.5600000.000000
D(13,15)22.790000.000000
D(14,13)9.5600000.000000
D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学建模 获奖论文 校内赛 数学 建模 获奖 论文 校内