整理全国大学生数学建模竞赛a题参考答案文档格式.docx
《整理全国大学生数学建模竞赛a题参考答案文档格式.docx》由会员分享,可在线阅读,更多相关《整理全国大学生数学建模竞赛a题参考答案文档格式.docx(41页珍藏版)》请在冰豆网上搜索。
移几率函数,用迁移方向函数决定分区的调整方向。
计算能满足D1的最小车辆数,即为该区应该配置的最小警车数目,用MATLAB计算,得到局部最优解为13辆。
在选取巡逻显著性指标时,本文考虑了两个方面的指标:
一是全面性,即所有警车走过的街道节点数占总街道节点数的比例,用两者之比来评价;
二是均匀性,即所有警车经过每个节点数的次数偏离平均经过次数的程度,用方差值来大小评价。
问题三:
为简化问题,假设所有警车在同一时刻,大致向同一方向巡逻,运动状态分为四种:
向左,向右,向上,向下,记录每个时刻,警车经过的节点和能够赶去处理事故的点,最后汇总计算得相应的评价指标。
在考虑巡逻规律隐蔽性要求时,文本将巡逻路线进行随机处理,方向是不确定的,
采用算法2进行计算,得出相应巡逻显著指标,当车辆数减少到10辆或巡逻速度变大
时,用算法2计算巡逻方案和对应的参数,结果见附录所示。
本文最后还考虑到4个额外因素,给出每个影响因素的解决方案。
关键词:
模拟退火算法;
Floyd算法;
离散化
参赛队号11***02
参赛密码
(由组委会填写)
队员姓名*佳**梅*巍
一问题的重述
110警车在街道上巡逻,既能够对违法犯罪分子起到震慑作用,降低犯罪率,又能
够增加市民的安全感,同时也加快了接处警时间,提高了反应时效,为社会和谐提供了有力的保障。
现给出某城市内一区域,其道路数据和地图数据已知,该区域内三个重点部位的坐标分别为:
(5112,4806),(9126,4266),(7434,1332)。
该区域内共有307个道路交叉口,为简化问题,相邻两个交叉路口之间的道路近似认为是直线,且所有事发现场均在下图的道路上。
该市拟增加一批配备有GPS卫星定位系统及先进通讯设备的110警车。
设110警车的平均巡逻速度为20km/h,接警后的平均行驶速度为40km/h。
警车配置及巡逻方案要尽量满足以下要求:
D1.警车在接警后三分钟内赶到现场的比例不低于90%;
而赶到重点部位的时间必须在
两分钟之内。
D2.使巡逻效果更显著;
D3.警车巡逻规律应有一定的隐蔽性。
现在我们需要解决以下几个问题:
一.若要求满足D1,该区最少需要配置多少辆警车巡逻?
二.请给出评价巡逻效果显著程度的有关指标。
三.请给出满足D1且尽量满足D2条件的警车巡逻方案及其评价指标值。
四.在第三问的基础上,再考虑D3条件,给出你们的警车巡逻方案及其评价指标值。
五.如果该区域仅配置10辆警车,应如何制定巡逻方案,使D1、D2尽量得到满足?
六.若警车接警后的平均行驶速度提高到50km/h,回答问题三。
七.你们认为还有哪些因素、哪些情况需要考虑?
给出你们相应的解决方案。
二问题分析
本题为城区道路网络中警车配置及巡逻问题。
在进行警车配置时,首先要考虑警车
在接警后在规定时间内赶到现场的比例,在此条件下,以车数最少为目标,建模、求解;
在制定巡逻方案时,要考虑巡逻的效果及隐蔽性问题。
问题一只要求满足D1,求最少的警车配置数,可以认为警车是不动的,在三分钟或两分钟内它能到达的区域就是它的覆盖范围。
据此,在满足所有街道的覆盖率不低于90%的条件下,寻找最优解。
问题二要评价巡逻效果,有两个方面需要考虑:
一是巡逻的全面性,即经过一段时间后警车走过的街道数占总街道数的比例;
二是巡逻的不均匀性,即经过一段时间后警车经过每一条街道的次数相差不大,用方差来衡量。
问题三是在满足D1的条件上尽量满足问题二所给的指标,并给出评价方案的指标。
首先找到一组满足D1的各警车位置,然后在和各警车位置相连的点中随机寻找一个点,判断新的点是否满足D1,如果满足则警车行驶到该点,否则重新寻找,直到满足为止。
一段时间后统计所有车走过的点数及每个点被走过的次数,用问题二给出的两个指标进行评价。
综合两个指标,可判断此路径的好坏,重复这个过程,直到综合评价指标达到
一个满意的值为止。
问题四增加了隐蔽性要求,首先给出评价隐蔽性的指标,隐蔽性可用路线的随机性来评价,将它加入到问题三的模型中去进行求解。
问题五限制警车数量为10,要综合考虑D1、D2,先分配这10辆车使道路的覆盖
率最高,然后按照问题三的步骤进行求解,其中每一步对D1的判断只需使道路的覆盖
率尽量高即可。
问题六同问题三,只需将车速改为50km/h即可。
三模型的假设
1.警车都在路上巡逻,巡警去处理案件的时间不考虑;
2.所有事发现场都在道路上,案件在道路上任一点是等概率发生的;
3.警车初始停靠点是随机的,但尽量让它们分散分布,一辆警车管辖一个分区;
4.假定各个划分区域内,较短时间内,最多会发生一个案件;
5.假设区域内的每条道路都是双行线,不考虑转弯对结果造成的影响;
6.如果重点部位不在道路上的,假设这些重点部位在离它们最近的道路上;
7.图中水域对巡逻方案没有影响。
四符号说明
m表示警车数目
d表示警车初始停靠点到各道路的最短距离
L表示整个区域的总道路长度
l表示不能在3分钟内到达的区域的道路的长度
k表示非重点部位的警车在3分钟内不能到达现场的比例
r表示三分钟内能从接警位置赶到事发现场的最大距离是
n表示整个区域总的离散点个数
ni表示第i区内的节点个数
f1表示区内调整函数
t表示模拟退火的时间,表征温度值
f2表示区间调整函数
r表示全面性指标
e表示不均匀性指标
h表示综合评价指标
si表示第i辆车经过每条道路的次数
s表示整个区域每条道路经过的平均次数
五模型的建立与算法的设计
5.1满足D1时,该区所需要配置的最少警车数目和巡逻方案
5.1.1满足D1条件时,区域最少警车的规律
题目要求警车的配置和巡逻方案满足D1要求时,整个区域所需要配置的警车数目最少。
由假设可知警车都在道路上,且所有事发现场也都在道路上,但区域内总的道路长度是个定值的;
警车在接警后赶到事发现场有时间限制和概率限制:
三分钟内赶到普
通区域案发现场的比例不低于90%,而赶到重点部位的时间必须控制在两分钟之内。
由此可知每辆警车的管辖范围不会很大,于是考虑将整个区域分成若干个分区,每辆警车管辖一个分区域。
由上面的分析,求解整个区域的警车数目最少这个问题可转化为求解每一辆警车所能管辖的街道范围尽量的大。
于是我们寻找出使每辆警车管辖的范围尽量大的规律。
为了简化问题,我们不考虑赶到现场的90%的几率的限制,仅对警车能在三分钟内赶到事发现场的情况作定性分析,其分析示意图如图1所示。
警车的初始停靠位置是随机的分布在道路上的任一节点上,我们假设一辆警车停靠在A点上。
图1一辆警车管辖范围分析示意图
由于警车的平均巡逻速度为20km/h,接警后的平均行驶速度为40km/h,由于距离信息比较容易得到,于是我们将时间限制转化为距离限制,这样便于分析和求解。
当警
车接警后,在三分钟内能从接警位置赶到事发现场的最大距离是r,其中
r
3
402km。
60
如图1所示,我们设警车初始停靠位置在
A点,A点是道路1,2,3,4的道路交叉
口。
我们仅以警车在道路
1巡逻为例来进行分析,警车以20km/h的速度在道路1上A
到A'
点之间巡逻,A'
与初始停靠点A的距离为xkm。
由于案件有可能在道路上任一点发生,当警车巡逻到A点时,若案发现场在道路2,3,4上发生时,警车以40km/h的
速度向事发现场行驶,警车能在三分钟内从A'
点赶到现场的最大距离为(2x)km。
如
果警车在道路1上继续向前行驶,则该警车能在三分钟内赶到现场的距离继续缩小,当
警车从初始点向A点行驶但没有达到A'
点时,此时该警车的最大管辖范围比警车到达A'
点时的最大管辖范围大。
为了使警车的管辖范围尽量大,警车的巡逻范围越小越好,当
x0时,即警车在初始停靠点静止不动时,警车的管辖范围达到最大值2km。
图1所分析的是特殊的情况,道路1,2,3,4对称分布,现在我们来对一般的情况进行分析,如图2所示。
图2.1
图2.2
图2
一辆警车最大管辖范围分析示意图
图2.1所示的情况是道路分布不对称,与图1相比,图2.1所示的道路方向和角度都发生了改变,图2.3中的情形更为复杂。
参照对图1的分析方法,我们分析这两种情形下,警车巡逻时能在三分钟内赶到现场的最大距离的规律,我们只分析图2.2的情况,道路1,2,3,4,5相交于点C,同时道路1与道路6也有个道路交叉口D,由于警车巡逻时是在道路上行驶的,行走的路线是分段直线,并不影响路径的长度,所以当警车巡逻到距离初始停靠点C点x远处的D,此时若有案件发生时,该警车要在三分钟内能
赶到现场处理案件,最大行驶距离在(2x)km之内,如果警车在道路1上继续向前行驶,
则该警车能在三分钟内赶到现场的距离继续缩小,当警车没有行驶到D点时,此时该警
车的最大管辖范围比(2x)km大,为了使警车的管辖范围尽量大,警车的巡逻范围越小
越好。
当x0时,即警车静止不动时,一辆警车的管辖范围能达到最大值。
以上分析的仅作定性的分析,对于三个重点部位也可以同理分析,所得的结论是一致的,以上的分析没有考虑到90%的到达几率限制,但在设计算法需要充分考虑。
综上所述,当警车静止在初始停靠点时,在三分钟时间限制内,警车能从初始停靠点赶到事发现场的最大距离为2km。
5.1.2将道路离散化
由于事发现场是等概率地分布在道路上的,由区域地图可以发现,整个区域中的道
路长度不均,为了使计算结果更加精确,可将这些道路离散化。
只要选取合适的离散方
案,就能使警车在经过道路上的离散的点时就相当于经过了这条道路。
这样,不论是求
解警车初始停靠点还求解警车赶到事发现场所经过的道路时,所计算得的的结果显然比
仅考虑整条道路的叉路口要精确得多。
区域中共有307个道路交叉口,458条道路。
我们采用线性插值方法对道路进行离散化,以20km/h的速度行走一分钟的距离作为步长,一分钟时间的选择是参照问题三的
结果要求来设定的,步长b1201km。
用线性插值的方法,从道路的一个方向进
603
行线性插值,实现将每条道路离散化的目标,考虑到有些道路不是1km的整数倍,我们
就一般情况进行讨论,其分析示意图如图
3所示。
道路
AB长度为
n个1km与
x(x
1km)
长度的和,为了更精确处理CB段道路,那么就要考虑在CB之间是否要插入一个新的点,根据x的长度不同,其对应的处理方式也有所不同。
图3道路离散化分析示意图
引进临界指数y,选取y大小的准则是使尽量离散化后警车等效的平均巡逻速度和题
目给定的速度(
20km/h
)的差值尽量小,经过计算得
y
0.189km时,不再插入新的坐
标点时能使整个区域的道路离散效果较好。
此时,将
CB段长度设定为
1km处理,于是
离散后的AB道路长度会比实际长度短些;
当x0.189Km时,需要在两个点之间再插入
一点,因为这样处理能使整个区域的整体道路的离散化效果比较理想。
如图
3所示,在
C与B间再插入新的坐标点,插入的位置在距
C点1km的D点处,这样处理后所得的道
路长度比实际长度长了(1
x)km。
采用这样的方法进行线性插值,我们使用
MATLAB编
程实现对整个区域道路的离散,所得的离散结果如图4所示,离散后共得到
762个节点,
比原始数据多了455个节点,离散后的节点数据见附件中的“newpoint.txt
”。
图4整个区域离散结果图
采用这种插值方法道路离散后,将直线上的无穷多个点转化有限个点,便于分析问题和实现相应的算法,由图4可知,所取得的整体离散效果还是比较理想的。
5.1.3分区域求解警车数目的算法设计
考虑到警车配置和巡逻方案需要满足:
警车在接警后三分钟内赶到普通部位案发现场的比例不低于90%,赶到重点部位必须控制在两分钟之内的要求。
设计算法的目标就是求解出在满足D1情况下,总的警车数目最小,即每个区域都尽可能多地覆盖道路节点。
由于警车的初始位置是未知的,我们可设警车初始停靠点在道路上的任一点,即分布在图4所示的762个离散点中的某些点节点上,总体思路是让每两辆车之间尽量分散地分布,一辆警车管辖一个分区,用这些分区覆盖整个区域。
于是我们设计算法1,步骤如下所示:
Step1:
将整个区域预分配为m个分区,每个分区分配一辆警车,警车的初始停靠位置设在预分配区中心的道路节点上,若区域的中心不在道路节点上,则将警车放在离中心最近的道路节点上;
Step2:
统计分区不能覆盖的节点,调整警车的初始停靠点,使分区覆盖尽可能多的道
路节点,调整分为区内调整和区间调整方案:
(1)区内调整按照模拟退火思想构造的函数,在区间调整调整车辆初始点的位置(后文中有详细说明),当分区内节点数较多时,调整的概率小些,分区内节点数较少时,调整的概率大些,
(2)当区域中存在未被覆盖的节点或节点群(大于等于三个节点集中在一个范围内)时,将警车初始位置的调整方向为朝着这些未被覆盖的节点按一定的规则(在
算法说明中有详细叙述)移动,同时要保证
3个重点部位能在
2分钟之内100%
到达;
;
Step3用Floyd算法计算出警车初始停靠点到周边各道路节点的最短距离
d
:
Step4:
以m个划分区域未覆盖的总的道路长度
l与整个区域的道路总长度
L的比值
l
k100%来表示警车不能3分钟内到达现场的概率;
L
Step5:
模拟足够多的次数,若
k10%,将车辆数m减1,跳转到Step1;
Step6:
计算结束后,比较当k
10%时所对应的m值,当m取得最小值时,记录此时
的区域划分方案,m即为最少的警车数。
对算法的几点说明:
(1)该算法所取的车辆数m是由多到少进行计算的,m初始值设为20,这个值的
选取是根据区域图估算的。
(2)预分区的优点在于使警车的初始位置尽可能均匀地分散分布,警车的初始停靠点在一个分区的中心点附近寻找得到,比起在整个区域随机生成停靠点,计算效率明显得
到提高。
预分配之后,需要对整个区域不断地进行调整,调整时需要考虑调整方向和调整概率。
警车调整借鉴的是模拟退火算法的方法,为了使分区内包含道路节点数较多的分区的初始停车点调整的概率小些,而分区内包含道路节点数的少的分区内的初始停车点调
整的概率大些,我们构造了一个调整概率函数f1,
f1aexp(
bmni)
(1)
t
(1)式中,a,b均为常数,m为整个区域车辆数,ni为第i分区内覆盖的节点数,t
为时间,同时t也能表征模拟退火的温度变化情况:
初始温度较高,区域调整速度较快,随着时间的增加,温度不断下降,区域调整速度逐渐变慢,这个调整速度变化也是比较符合实际情况的。
由式
(1)可以得出调整概率函数f1,假设在相同的温度t(时间)的条件下,由于
总的车辆数目m是定值,当ninj时,即第i分区内的节点数大于第j分区的节点数时,
分区i调整的概率大些,分区j的调整概率小些。
分析其原因:
当分区内包含了较多的
节点个数时,该分区的警车初始停靠位置选取地比较合适了,而当分区内包含的道路节点数较少时,说明警车的初始停靠位置没有选好,需要更大概率的调整,这样的结论也是比较客观的。
对于所有分区外未被覆盖的道路节点和很多节点(称之为节点群),用来调整警车位置迁移的方向,其分析示意图如图5所示。
调整方案目标是使未被覆盖的节点数尽量的少。
在设计调整方向函数时,需要考虑:
(1)节点群内节点的数目;
(2)警车距离节点群的位置。
优先考虑距离,所以在公式
(2)中,用距离的平方来描述调整方向函数。
由于某一个区域范围内的未被覆盖节点数,整个区域未被覆盖的节点总数,分区域
与未被覆盖的节点或节点群的距离等几个因素会影响到调整的方案,所以要综合考虑这
些因素。
于是设计了区间调整函数f2,
式中,ni表示第i个分区内未被覆盖的节点数,li表示第i分区域与未被覆盖的节
点或节点群的距离,
p表示未被覆盖的节点和节点群个数。
现在简要分析第
i分区按区间调整函数的调整方案,当某两节点群
i,j
的节点数目相
等,但是距离不等时,如
li
lj
,由区间调整公式可知,该区间向节点群
j方向调整。
当某个分区与两个节点群的距离相等,但节点群的内节点个数不相等,如
ni
nj时,由
(4)可知,该分区域会想节点群
注意在整个调整过程中,调整几率控制是否调整,调整方向函数控制调整的方向,寻找在这种调整方案下的最优结果。
图5调整分区域示意图
(3)在step3中,使用Floyd算法计算出警车初始停靠点到周边各节点的最短距离d,目的是当区域内有情况发生时,警车能在要求的时间限制内到达现场。
(4)为求出较优的警车停靠点,采用模拟退火算法,算出局部最优的方案。
5.1.4警车的配置和巡逻方案
使用MATLAB编程实现算法1得到,整个区域配备13辆警车,这些警车静止在初始停靠点时,能满足D1要求。
警车的初始停靠位置分别为道路交叉节点6,25,30,37,82,84,110,111,126,214,253,258,278处。
每个警车所管辖的交叉点(原始的交叉节点)如图6所示,求解的分区结果见附录所示。
图6满足D1条件下的区分划分图
13个分区共覆盖了252个交叉点,另外的55个原始交叉点没有被这些分区域覆盖:
137,138,151,159,167,168,170,174,175,186,188,189,211,215,226,242,255,260,261,262,263,267,270,271,272,275,282,283,284,287,288,289,292,296,297,299,304,305,307。
在这种分区方案下,这些点中,每两个相连的点间的道路离散值长度占整个区域总的长度的比值为
。
因此,在整个区域配置13
辆警车,每个警车在初始停靠点静
k100%90.18%
止不动,当有案件发生时,离案发现场最近的警车从初始停靠点赶到现场。
5.2评价巡逻效果显著的指标
110警车在街道上巡逻是目的是为了对违法犯罪分子起到震慑作用,降低犯罪率,
又能够增加市民的安全感,同时还加快了接处警(接受报警并赶往现场处理事件)时间,
提高了反应时效,为社会和谐提供了有力的保障。
巡警在城市繁华街道、公共场所执行巡逻任务,维护治安,服务群众,可以得良好的社会效应[1]。
在整个区域中,由于案发现场都在道路上,道路上的每一点都是等概率发生的,因此警车巡逻的面越广,所巡逻的街道数目越多,警车的巡逻效果就越好,对违法犯罪分
子就越有威慑力,警车也能更及时地处理案件。
我们采用全面性r来衡量巡逻的效果显著性,即用警车巡逻所经过的街道节点数占
区域总节点数的比值。
当警车重复经过