全国大学生数学建模竞赛B题.docx
《全国大学生数学建模竞赛B题.docx》由会员分享,可在线阅读,更多相关《全国大学生数学建模竞赛B题.docx(27页珍藏版)》请在冰豆网上搜索。
全国大学生数学建模竞赛B题
2011高教社杯全国大学生数学建模竞赛
承诺书
我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写):
B
我们的参赛报名号为(如果赛区设置报名号的话):
所属学校(请填写完整的全名):
参赛队员(打印并签名):
1.韩晓峰
2.杨晓帆
3.李弘倩
指导教师或指导教师组负责人(打印并签名):
日期:
2011年9月11日
赛区评阅编号(由赛区组委会评阅前进行编号):
2011高教社杯全国大学生数学建模竞赛
编号专用页
赛区评阅编号(由赛区组委会评阅前进行编号):
赛区评阅记录(可供赛区评阅时使用):
评
阅
人
评
分
备
注
全国统一编号(由赛区组委会送交全国前编号):
全国评阅编号(由全国组委会评阅前进行编号):
交巡警服务平台的设置与调度
摘要
在
(1)第一问中,我们根据附表1所给各路口坐标算出A图中每条路线的长度,然后通过floyd算法找出了两点之间的最短路程,得出矩阵D,通过使用matlab圈出各服务平台到周围路口小于3min(即3km)的点,再根据就近原则,将各路口划分到这个圈中离此路口最近的交巡警平台。
对于任意到交巡警平台路程大于3min(即3km)序号为28,29,38,39,61,92的五个路口,则采用就近原则人工划入距离其最近的交巡警平台辖区,这样就在保证出警时间基本都小于3min的条件下,划分出各警务平台合理的管辖范围。
对于
(1)第二问中,我们采用指派模型,用lingo软件对20个巡警服务平台对17个城市出入口进行封锁的方法进行了优化,得到初步的调度方案。
在这个方案的基础上,如果在某条巡警服务平台调度路线中经过其他的的调度点,则与所经过的调度点互换目标路口,由此得到最佳调度方案,即最快8分钟可以实现快速封锁路口。
对于
(1)第三问,我们按照工作量均衡和出警时间尽可能短的原则考虑增加交巡警平台。
首先,利用excel算出了各辖区内交巡警服务平台的工作量总和以及出警时间的平均值,求出了所有辖区的工作总量与出警时间的平均值,取出工作总量明显高于平均值且平均出警时间超过3min的四个辖区来增设新的交巡警平台。
我们通过
(1)第一问中的最短路程矩阵得到各辖区内种增设平台的所有可能的方法,通过比较每种方法的工作量总和及出警时间综合考虑得到一个最优的设置。
最后通过spss软件求得优化前后两组数据的标准差,比较后发现优化后的数据标准差明显下降,达到了优化的目的。
在
(2)第一问中,首先参照
(1)中A区的处理方法分别求出了城区B,C,D,E,F中路口到最近交巡警服务平台的路程,出警时间以及工作量。
通过spss软件计算出标准差,并与优化后的A城区进行比较,找出了交巡警平台明显分配不合理(标准差远高于A区优化后方案的标准差)的三个区,在其距离较远工作量较大的路口增设服务平台。
对于
(2)中第二问搜捕嫌疑犯问题,我们采用时间圈法,以事发地点为圆心,以一分钟所行使的路程为单位半径,画出等间隔的数个同心圆,这样就可以确定每个时间段嫌疑犯的逃逸范围(因为任意两点间的路程大于等于两点间的距离,所以在某时间内嫌疑犯必定在对应的时间圈内),根据每个路口在这些时间圈上的位置,要求警察到这些路口的时间小于罪犯到达的时间(即可以围堵住罪犯),找出所有这些路口,构成闭圈,最小的闭圈便是围堵罪犯的最佳方案。
关键词:
floyd算法,指派模型,spss分析数据,时间圈法
一、问题的提出
1.1背景
“有困难找警察”,这是一句家喻户晓的流行语。
警察是保证人民生命安全及财产安全的守护神,他们肩负着刑事执法、治安管理、交通管理、服务群众四大职能。
为了更有效地贯彻实施这些职能,所以需要在市区的一些交通要道和重要部位设置交巡警服务平台。
每个交巡警服务平台的职能和警力配备基本相同。
由于警务资源是有限的,如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题。
1.2问题
(1)附件1中的附图1给出了该市中心城区A的交通网络和现有的20个交巡警服务平台的设置情况示意图,相关的数据信息见附件2。
请为各交巡警服务平台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h)到达事发地。
对于重大突发事件,需要调度全区20个交巡警服务平台的警力资源,对进出该区的13条交通要道实现快速全封锁。
实际中一个平台的警力最多封锁一个路口,请给出该区交巡警服务平台警力合理的调度方案。
根据现有交巡警服务平台的工作量不均衡和有些地方出警时间过长的实际情况,拟在该区内再增加2至5个平台,请确定需要增加平台的具体个数和位置。
(2)针对全市(主城六区A,B,C,D,E,F)的具体情况,按照设置交巡警服务平台的原则和任务,分析研究该市现有交巡警服务平台设置方案(参见附件)的合理性。
如果有明显不合理,请给出解决方案。
如果该市地点P(第32个节点)处发生了重大刑事案件,在案发3分钟后接到报警,犯罪嫌疑人已驾车逃跑。
为了快速搜捕嫌疑犯,请给出调度全市交巡警服务平台警力资源的最佳围堵方案。
二、模型的假设
1.警察接到报案后能立即出警
2.案发地点都在路口附近
3.嫌疑犯逃逸速度与警察速度相同
4.各城区内交巡警平台在不发生特殊情况时只管辖自己城区的路口
5.警察接到报警后犯罪嫌疑人不能再通过有警察的路口
三、符号说明
:
m点的横坐标
:
n点的横坐标
:
m点的纵坐标
:
n点的纵坐标
L:
任意两点间距离
xij:
交巡警平台i封锁路口j
Z:
交巡警平台封锁交通要道经过的总路程
Cij:
经巡警平台i封锁路口j所走的距离
四、问题分析
4.1问题一
附件1给出了某市中心城区A的交巡警服务平台的相关情况,首先要求分配平台管辖范围使交巡警在有突发事件时尽可能3分钟内赶到事发地;而后要求给出重大事件时20个平台快速封锁13条交通要道的合理方案,最后要求对交巡警服务平台进行改进。
对问题一的解答可先采用floyd算法算出任意两点间最短路径并根据就近原则进行分配管辖范围;而后可利用指派模型对巡警封锁路口问题进行初步优化;最后可根据出警时间和工作量总和找出服务平台不均衡的地方,优化后可利用标准差进行比较。
4.2问题二
根据附件中全市交巡警平台的相关数据,首先要求分析六个区的交巡警平台设置方案的合理性,并给出解决方案;最后要求给出一个调度服务平台警力资源的最佳围堵方案。
对与问题二,首先可计算出除A区外其余五区的标准差并于优化过的A区想关数据的标准差进行比较,分析各区服务平台设置方案的合理性;而对于最佳围堵方案,我们则可先做出带有时间圈的图然后采用时间圈法进行优化。
五、模型的建立和求解
5.1问题一模型的建立和求解
5.1.1
任意两点m,n之间的距离可利用程序由坐标求得
得出一个关于各点距离的矩阵,
,将相邻两点的距离保留,不相邻点之间的距离变为inf用floyd算法(程序1)求出任一两点间的路程矩阵
,下图为
的一部分:
找出每个路口到交巡警平台的路程,并通过matlab程序(程序2)根据就近原则筛选出小于3min(3km)的点,划归各交巡警平台。
对于大于3min(3km)的点28,29,38,39,61,92在R2中找出其对应的最短路程,并对其进行分配,分区图如下图1:
图1(不同颜色线条表示不同区域)
说明:
(1)图中实线表示市区道路;红色线表示连接两个区之间的道路;
(2)实圆点“·”表示交叉路口的节点,没有实圆点的交叉线为道路立交;
(3)星号“*”表示出入城区的路口节点;
(4)圆圈“○”表示现有交巡警服务平台的设置点;
(5)圆圈加星号“○*”表示在出入城区的路口处设置了交巡警服务平台;
5.1.2
记交巡警平台i=1,2,3……20
出入城区的路口节点j=1,2,3……13
第一:
一个交巡警平台的警力最多封锁一个路口
则有
第二:
每个路口节点最少需要一个交巡警平台的警力封锁
则有
当交巡警平台i封锁路口节点j时
表示交巡警平台所走的路程,否则
=0
则,目标函数为交巡警总路程
综上所述,该问题为0-1规划
模型为:
通过lingo编程(程序3)求解出一个可使总时间即总路程最小的最优解。
通过lingo求出最快封锁道路的初步优化模型:
X(2,11)1.00000039.82200
X(4,13)1.0000003.500000
X(5,12)1.00000024.75800
X(7,10)1.0000005.831000
X(8,9)1.000000104.9300
X(9,4)1.000000115.3900
X(10,7)1.00000082.43700
X(11,5)1.00000032.69600
X(12,1)1.0000000.000000
X(13,6)1.0000005.000000
X(14,2)1.0000000.000000
X(15,8)1.00000047.51800
X(16,3)1.0000000.000000
由于该问题中各平台警察同时出发,对进出该区的13条要道进行快速封锁,即要找出最优解中出发到相应节点的最长路程,该平台巡警到达节点所用的时间就为封锁要道所需的时间。
根据求出的最优分配方案,若某一平台巡警i所要到达的要道途径其他平台j,则平台巡警j应前往平台巡警i本应前往的节点,这样便可大幅度减少分配方案中平台巡警到被分配的节点的最长距离,即可减少封锁要道所需的时间。
根据A区图结合以得出的最优分配方案调节部分平台巡警分配的节点即可很容易的求出该区交警服务平台警力合理的调度方案。
最短的调度方案为:
巡警平台序号
2
4
5
7
8
9
16
14
10
11
12
13
15
路口序号
38
62
48
29
30
16
14
21
12
12
24
24
28
则该方案的最长路程为交巡警平台7到路口29,则该方案封锁13条交通要道所需的时间为8.0155分钟。
具体调度路线如下图:
5.1.3
根据第一小问的分区,令各辖区序列号即为平台巡警的标号。
借助excle工具计算可知,辖区序号为15,2,7,20四个交巡警平台的总工作量和平均出警时间远高于所有辖区的平均值。
故需要在这些辖区内建立新的平台。
随后利用matlab列举出了辖区内所有设置交巡警平台的情况,并通过比较其出警时间及工作量找出了最优的交巡警平台的设置方案。
其最优位置分别设在48,43,88,29。
同时将得出的新表与旧表进行了比较如下表所示。
表一:
平均出警时间
辖区序列号
左表为未添加平台前各辖区平均出警时间以及总平均出警时间
右表为添加平台后各辖区平均出警时间以及总平均出警时间
由这两个表可看出添加平台后明显总平均出警时间减少
平均出警时间
辖区序列号
0.095008
15
0.020555
29
0.069837
7
0.026981
48
0.06137
2
0.047145
43
0.060022
20
0.0157
88
0.056765
16
0.056765
16
0.045138
13
0.045138
13
0.037848
3
0.037848
3
0.03716
5
0.03716
5
0.034262
9
0.034262
9
0.032272
4
0.032272
4
0.029815
12
0.029815
12
0.027388
11
0.027388
11
0.02699
1
0.02699
1
0.01799
18
0.01799
18
0.016415
17
0.016415
17
0.016415
19
0.016415
19
0.015501
8
0.015501
8
表二:
各辖区平均工作总量
辖区序号
左表为未添加平台前各辖区平均工作总量以及总平均工作时间
右表为添加平台后各辖区平均工作总量以及总平均工作总量
由这两个表可看出添加平台后明显总平均出工作总量减少
各辖区平均工作总量
辖区序号
0.471935
15
0.031623
29
0.429076
2
0.350437
43
0.393783
20
0.241397
88
0.331655
5
0.331655
5
0.310139
7
0.15423
48
0.296111
13
0.296111
13
0.282343
1
0.282343
1
0.209015
9
0.209015
9
0.204139
4
0.204139
4
0.194956
3
0.194956
3
0.162267
16
0.162267
16
0.108538
18
0.108538
18
0.095408
12
0.095408
12
0.085628
17
0.085628
17
0.079821
11
0.079821
11
0.075826
8
0.075826
8
0.038189
19
0.038189
19
Spss所出结果(1,3列分别为优化前平均出警时间及平均工作总量数据,2,4列为优化后数据):
首先通过matlab在辖区内找出各新设平台到路口的距离,然后借助excel求出新的总工作量和平均出警时间,并找出最优新交巡警平台
5.2问题二模型的建立和求解
5.2.1
我们参考了第一问中A区的分析思路,分别对其他五个区进行分析,同样求出了距离矩阵L,邻接矩阵D,(程序4)任意两点间最短路径矩阵NL,求解距离交巡警平台最短距离矩阵。
然后利用excel表,进行数据处理,得到出警时间及工作总量。
最后利用spss软件分析出B,C,D,E,F这五区的标准差,并与上一问中优化过的A区的标准差进行比较,发现C,E,F三个城区是交巡警服务平台是指明显不合理的城区,应该进行优化,增加新的交巡警服务平台到工作总量最长或者离交巡警服务平台较远的点。
表一:
B区路口到最新交巡警平台的最短距离
路程
序号
出警时间
案发率
工作量
29.864
101
2.9864
1.1
6.57008
23.287
102
2.3287
0.9
4.19166
19.647
103
1.9647
0.5
1.9647
…
…
…
…
…
28.627
154
2.8627
0.6
3.43524
28.804
155
2.8804
0.7
4.03256
21.755
156
2.1755
1.1
4.7861
表二:
C区路口到最近交巡警平台的距离
路程
序号
出警时间
案发率
工作量
24.166
182
2.4166
2.4
11.59968
38.21
183
3.821
1.2
9.1704
14.08
184
1.408
1.4
3.9424
…
…
…
…
…
54.583
317
5.4583
0.6
6.54996
45.011
318
4.5011
1.1
9.90242
33.5
319
3.35
1.4
9.38
表三:
D区路口到交巡警平台的最近距离
路程
序号
出警时间
案发率
工作量
111.07
329
11.107
0.4
246.7309
118.46
330
11.846
0.1
280.6554
90.973
331
9.0973
0.6
165.5217
…
…
…
…
…
41.85
369
4.185
1.2
35.02845
78.085
370
7.8085
1.2
121.9453
73.613
371
7.3613
1.5
108.3775
表四:
E区路口到交巡警平台的最近距离
路程
序号
出警时间
案发率
工作量
191.05
387
19.105
1.1
730.0021
125.25
388
12.525
0.8
313.7513
144.12
389
14.412
0.2
415.4115
…
…
…
…
…
39.983
471
3.9983
1.6
31.97281
15.652
472
1.5652
1.8
4.899702
14.422
473
1.4422
1.8
4.159882
39.878
474
3.9878
1.6
31.8051
表五:
F区路口到交巡警平台的最近距离
路程
序号
出警时间
案发率
工作量
37.366
486
3.7366
1.4
27.92436
38.053
487
3.8053
1.1
28.96062
25.495
488
2.5495
1.5
12.9999
…
…
…
…
…
7.0711
580
0.70711
1.4
1.0000091042
18.974
581
1.8974
1
7.20025352
65.774
582
6.5774
0.4
86.52438152
所以C,E,F的交巡警服务平台不合理,应该在其工作量总和较大的地方或者是离交巡警服务平台很远的路口设置新的交巡警服务平台。
5.2.2
根据题目要求,首先利用matlab程序(程序5)建立以P点为圆心建立一个3分钟圈,即半径为30mm。
然后建立半径逐次增加10mm的同心圆,定每个时间段嫌疑犯的逃逸范围(因为任意两点间的路程大于等于两点间的距离,所以在某时间内嫌疑犯必定在对应的时间圈内),从而方便对其进行围堵,通过这种算法我们给出了围堵匪徒的近似最优方案。
最优围堵方案如下图:
六、模型的评价
6.1模型的优点
本文采用了matlab的绘图方法在新的简图上明确标明了各路口和交巡警服务平台的序号,利用传统的Floyd算法建立了任意两点间的最短距离矩阵,从而划分了每个交巡警服务平台的管辖范围,结果准确。
并在简图上明确标明了各辖区,形象具体。
将快速封锁路口的合理方案转化为指派模型,运用lingo求出近似最优解。
使用spss软件对工作量总和进行了定性的比较。
在第二问中创新使用时间圈法,准确预测了嫌疑犯各个时段的逃跑范围,并可及时预测到各点警察与嫌疑犯的到达次序,为追堵行动提供有力支持。
6.2推广与不足
在解决一些追及问题或者寻找最优路径时,通过时间圈法可以快速有效的得到解决。
由于计算量问题,未能给出一个很好的解决新交巡警服务平台设置点问题的方法。
七、参考文献
[1]肖华永,《实用数学建模与软件应用》,西北工业大学出版社,2008年11月第1版
[2]西北工业大学数学建模指导委员会,《数学建模简明教程》,高等教育出版社,2008年9月第1版
[3]姜启源等,《数学模型》,高等教育出版社,2010年11月第22次印刷
附录:
程序1:
floyd算法:
n=92
D=data;
path=zeros(n,n);
fori=1:
n
forj=1:
n
ifD(i,j)~=inf
path(i,j)=j;
end
end
end
fork=1:
n
fori=1:
n
forj=1:
n
ifD(i,k)+D(k,j)D(i,j)=D(i,k)+D(k,j);
path(i,j)=path(i,k)
end
end
end
end
程序2:
(1)划分辖区程序:
fori=1:
1:
20
forj=21:
1:
92
ifD(j,i)>=30
D(j,i)=inf
end
end
end
k=1
form=21:
1:
92
B(k,1)=D(m,1)
B(k,2)=1
B(k,3)=m
forn=1:
1:
19
t=21-n
ifD(m,t-1)>D(m,t)
B(k,1)=D(m,t)
B(k,2)=t
end
ifD(m,t-1)t=t-1
B(k,1)=D(m,t)
B(k,2)=t
end
end
k=k+1
end
(2)筛选出矩阵中每行最小的元素
fori=1:
1:
97
k(i)=inf
end
fori=12:
1:
108
forj=1:
1:
11
m=i-11
ifk(m)>=F(i,j)
k(m)=F(i,j)
end
end
end
程序3:
lingo优化模型的程序:
model:
sets:
p/1..20/;
r/1..13/;
assign(p,r):
c,x;
endsets
data:
c=222.41,160.29,92.868,192.94,210.96,225.02,228.98,190.01,195.16,120.84,58.81,118.5,48.852,
204.68,141.3,73.881,173.95,191.98,206.03,211.25,172.29,177.44,103.11,39.822,103.1,60.351,
183.57,127.67,60.256,160.32,178.35,192.41,190.14,151.17,156.32,81.996,60.939,81.979,43.934,
218.93,150.09,82.669,182.74,200.76,214.82,225.5,161.55,154.63,80.307,48.61,73.236,3.5,
174.88,129.7,62.279,162.35,176.1,190.15,181.45,113.07,106.15,31.829,94.211,24.758,51.827,
175.