B题 交巡警服务平台的设置与调度
交巡警服务平台的设置与调度-2011年全国大学生数学建模赛题
交巡警服务平台的设置与调度摘要本文是在一个原有区域交警平台的基础上,分析讨论在该市警务资源有限的情况下,如何实现城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源的实际问题。
实现最优化管理的方案。
以图论最优路径理论为基础,建立图的最优化模型。
针对问题(1),将A区路口和道路抽象成图,分别以交巡警服务平台对应的点为起点求小于等于3min的路径,再将同一起点的路径的终点相连,围成一个区域,便是交巡警服务平台的管辖范围。
在此基础上综合考虑各个路口发案率的大小、区域人口密集程度,从而建立一个图中路径最优化模型。
再根据各个区域之间的所产生的空白区,即交巡警的管辖盲区。
为其添加交巡警服务平台。
实现其管理最优化的目的。
针对问题(2),结合交巡警服务平台的设置原则,充分考虑全市各区不同的状况,如:人口密度、区域面积等,并以A区的分区标准为基础,实现对全市各区的交巡警服务平台的设置。
对于P点的逃犯,建立一个以P点为中心的最优逃跑路径所组成的图,然后在算出罪犯的最佳逃跑路线,再调度相应的交巡警,实现对他的围堵。
从而实现交巡警服务平台设置和调度的最优化的方案。
关键词:图论;最优化路径; 交巡警服务平台;MATLAB;数据结构1、问题重述“有困难找警察”,是家喻户晓的一句流行语。
警察肩负着刑事执法、治安管理、交通管理、服务群众四大职能。
为了更有效地贯彻实施这些职能,需要在市区的一些交通要道和重要部位设置交巡警服务平台。
每个交巡警服务平台的职能和警力配备基本相同。
由于警务资源是有限的,如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题。
试就某市设置交巡警服务平台的相关情况,建立数学模型分析研究下面的问题:(1)附件1中的附图1给出了该市中心城区A的交通网络和现有的20个交巡警服务平台的设置情况示意图,相关的数据信息见附件2。
请为各交巡警服务平台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h)到达事发地。
交巡警服务平台的设置与调度(数学建模)
交巡警服务平台的设置与调度
按照功能划分,城区一般可分为生活区、工业区、山区、主干道路区及公园绿地区等,分别记为1类区、2类区、……、5类区,不同的区域环境受人类活动影响的程度不同。
现对某城市城区土壤地质环境进行调查。
为此,将所考察的城区划分为间距1公里左右的网格子区域,按照每平方公里1个采样点对表层土(0~10 厘米深度)进行取样、编号,并用GPS记录采样点的位置。
应用专门仪器测试分析,获得了每个样本所含的多种化学元素的浓度数据。
另一方面,按照2公里的间距在那些远离人群及工业活动的自然区取样,将其作为该城区表层土壤中元素的背景值。
附件1列出了采样点的位置、海拔高度及其所属功能区等信息,附件2列出了8种主要重金属元素在采样点处的浓度,附件3列出了8种主要重金属元素的背景值。
现要求你们通过数学建模来完成以下任务:
(1) 给出8种主要重金属元素在该城区的空间分布,并分析该城区内不同区域重金属的污染程度。
(2) 通过数据分析,说明重金属污染的主要原因。
(3) 分析重金属污染物的传播特征,由此建立模型,确定污染源的位置。
(4) 分析你所建立模型的优缺点,为更好地研究城市地质环境的演变模式,还应收集什么信息?有了这些信息,如何建立模型解决问题?。
交巡警服务平台的设置与调度_高崇_马川_李思怡
5.1.3 新增平台的设置 首先, 定义工作量及出警时间,并将出警时间 t ji 转化为出警路程 d ji 。 在 (1) 问结果的基础上,找出各交巡警平台辖域内不满足路径约束条件 d ji 3km 的路 口节点,结合精简原则,确定最少新增平台个数 m 。 其次,对增加平台 m,m+1,
,5 个进行分类讨论。以满足 t ji 3min 的节点的
摘要
本文研究了城市背景下, 交巡警服务平台的设置方案及合理性、辖域分配方 案、警力资源调度问题,实则为图论中的最短路径和非线性规划的综合问题。对 辖域分配问题,建立图论模型,由 Floyd 算法求解节点平台之间最短距离,在约 束条件下基于最邻近原则,完成管辖范围划分;对警力调度问题,建立 0-1 规划 模型,解决快速全封锁问题;对平台设置问题,建立约束条件下的多目标规划模 型,由改进的单亲遗传算法进行求解。 对问题一(1) ,我们在 MATLAB 环境下求解平台与节点之间的最短路径, 并在 3min 出警时间的约束条件下, 基于最邻近原则, 划分 A 区域各平台的辖域。 对问题一(2) ,我们以最短距离为目标函数,建立 0-1 规划模型,由 LINGO 求解出 20 个平台在 13 个节点上的最优指派方案。 对问题一(3) ,我们优先调整出警时间,首先以圆域将出警时间过长节点划 分,可得最少增设 4 个平台;其次建立双目标规划模型,由单亲遗传算法求最优 平台设置。 考虑到双目标函数在遗传迭代中平行性,我们巧妙的将短出警时间点 比率作为筛选条件,以最小方差为目标函数,简化算法。另外,我们全面地对比 分析了增设 4 个、5 个平台的情况,在精简原则下,最终确定在增设平台 4 个,
i —— A 区的重要出口, j —— A 区中的交巡警服务平台
则可建立规划模型如下:
2011高教社杯全国大学生数学建模竞赛B题(题目改变)参考答案
交巡警服务平台的设置与调度优化分析摘要本文综合应用了Floyd算法,匈牙利算法,用matlab计算出封锁全市的时间为1.2012小时。
并在下面给出了封锁计划。
为了得出封锁计划,首先根据附件2的数据将全市的道路图转为邻接矩阵,然后根据邻接矩阵采用Floyd算法计算出该城市任意两点间的最短距离。
然后从上述矩阵中找到各个交巡警平台到城市各个出口的最短距离,这个最短距离矩阵即可作为效益矩阵,然后运用匈牙利算法,得出分派矩阵。
根据分派矩阵即可制定出封锁计划:96-151,99-153,177-177,175-202,178-203,323-264,181-317, 325-325,328-328,386-332,322-362,100-387,379-418,483-483, 484-541,485-572。
除此以外,本人建议在编号为175的路口应该设置一个交巡警平台,这样可以大大减少封锁全市的时间,大约可减少50%。
关键词: Floyd算法匈牙利算法 matlab一、问题重述“有困难找警察”,是家喻户晓的一句流行语。
警察肩负着刑事执法、治安管理、交通管理、服务群众四大职能。
为了更有效地贯彻实施这些职能,需要在市区的一些交通要道和重要部位设置交巡警服务平台。
每个交巡警服务平台的职能和警力配备基本相同。
由于警务资源是有限的,如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题。
试就某市设置交巡警服务平台的相关情况,建立数学模型分析研究下面的问题:警车的时速为60km/h, 现有突发事件,需要全市紧急封锁出入口,试求出全市所有的交巡警平台最快的封锁计划,一个出口仅需一个平台的警力即可封锁。
二、模型假设1、假设警察出警时的速度相同且不变均为60/km h 。
2、假设警察出警的地点都是平台处。
3、假设警察接到通知后同时出警,且不考虑路面交通状况。
三、符号说明及一些符号的详细解释A 存储全市图信息的邻接矩阵 D 任意两路口节点间的最短距离矩阵X 01-规划矩阵ij a ,i j 两路口节点标号之间直达的距离 ij d 从i 路口到j 路口的最短距离 ij b 从i 号平台到j 号出口的最短距离ij x 取0或1,1ij x =表示第i 号平台去封锁j 号出口在本文中经常用到,i j ,通常表示路口的编号,但是在ij d ,ij b ,ij x 不再表示这个意思,i 表示第i 个交巡警平台,交巡警平台的标号与附件中给的略有不同,如第21个交巡警平台为附件中的标号为93的交巡警平台,本文的标号是按照程序的数据读取顺序来标注的,在此声明;j 表示第j 个出口,如:第5个出口对应于附件中的路口编号为203的出口。
交巡警服务平台的设置与调度B题
全国大学生数学建模竞赛承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写):B我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):西北大学参赛队员(打印并签名):1.张舒岱2.刘羽3.张成悟指导教师或指导教师组负责人(打印并签名):日期:2014年8月10日全国大学生数学建模竞赛编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国评阅编号(由全国组委会评阅前进行编号):交巡警服务平台的设置与调度摘要交巡警服务平台位置的选取以及划分交巡警服务平台的管辖范围对于处理突发事件有非常大的影响。
现阶段,一般依据经验选取服务平台位置及划分管辖区域。
所以如何科学合理处理的交巡警服务平台的设置与调度问题具有十分重要的现实意义。
本文研究了交巡警服务平台的设置与调度问题。
具体讨论了在给定的区域A内,如何合理的设置交巡警服务平台的管辖区域;发生特殊事件时应如何调动服务平台警力以快速封锁区域A;应该增加多少数量交巡警服务平台以及在哪个位置增加。
本文建立最短路模型、0-1整数规划模型,利用MATLAB软件解决了分配各平台管辖范围、调度警务资源以及合理设置交巡警服务平台这三个方面的问题。
在解决分配各平台管辖范围问题时,本文建立了最短路模型。
通过求解各个路口到交巡警平台的距离是否满足最低时间限制,解决交巡警服务平台分配管辖范围的问题。
本文在MATLAB软件上运用Dijkstra算法进行求解,给出了中心城区A的20个服务平台的管辖范围,并求得到达最近的交巡警服务平台的时间超过3分钟的6个路口。
交巡警服务平台的设置与调度
2)每个节点到最近的交巡警平台距离(仅保留小数点后两位,距离单位千米) 。 22 23 24 25 26 27 节点编号 21 9.06 5.00 23.85 17.89 9.00 16.43 与 平 台 距 27.08 离 29 30 31 32 33 34 节点编号 28 57.01 5.83 20.56 11.40 8.28 5.02 与 平 台 距 47.52 离 36 37 38 39 40 41 节点编号 35 6.08 11.18 34.06 36.82 19.14 8.50 与 平 台 距 4.24 离 43 44 45 46 47 48 节点编号 42 8.00 9.49 10.95 9.30 12.81 12.90 与 平 台 距 9.85 离 50 51 52 53 54 55 节点编号 49 8.49 12.29 16.59 11.71 22.71 12.66 与 平 台 距 5.00 离 57 58 59 60 61 62 节点编号 56 18.68 23.02 15.21 17.39 41.90 3.50 与 平 台 距 20.84 离 64 65 66 67 68 69 节点编号 63 19.36 15.24 18.40 16.19 12.07 5.00 与 平 台 距 10.31 离 71 72 73 74 75 76 节点编号 70 11.40 16.06 10.30 6.26 9.30 12.84 与 平 台 距 8.60 离 78 79 80 81 82 83 节点编号 77 6.40 4.47 8.06 6.71 10.79 5.39 与 平 台 距 9.85 离 85 86 87 88 89 90 节点编号 84 4.47 3.61 14.65 12.95 9.49 13.02 与 平 台 距 11.75 离 92 节点编号 91 36.01 与 平 台 距 15.99 离
全国大学生数学建模大赛 交巡警服务平台的设置和调度
交巡警服务平台的设置和调度摘要本文针对交巡警服务平台的设置和调度问题,通过题目给出的全市交通信息,采用弗洛伊德算法思想、借助矩阵、MATBLE和LINGO软件,求出最短距离矩阵和最短路径矩阵,再过数据的分析、筛选和计算,将目标函数进行优化。
针对A区问题一:根据最短路径原则,利用弗洛伊德算法计算A区92个路口任意两个之间的最短路径距离。
首先,根据距离最短原则建立数学模型,即根据最短路径进行分配;其次,对模型进行优化,对模型增加各平台的工作量,即为平台到节点的距离和该节点的案发频率的乘积。
为使达到相对工作量均衡(大于10的即为不公平),将其大于10的进行调整。
针对A区问题二:将问题转化为求所有方案中到达指定A区出入口路径最长的交巡警平台的最小值问题,建立目标规划模型,即对13个出入A区的节点实现最短时间封锁,同时一个交巡警服务平台只能封锁一个出入路口。
运用LINGO 程序,进行求解,最优解为Km。
MIN0155.8针对A区问题三:对于该问题主要总结上面两小问,在满足各交巡警服务平台到达各管辖节点最长时间小于三分钟且工作量相对均衡下,求交巡警服务平台增加数的最小值。
建立在符合相应约束条件求最小值的线性规划问题,求得最优解为新增四个交巡警服务平台。
关键词Floyd算法整体规划优化决策问题重述为了有效地贯彻实施警察刑事执法、治安管理、交通管理、服务群众的职能,需要在市区的一些交通要道和重要部位设置交巡警服务平台,且各职能和警力配备基本相同。
警务资源是有限的,问题在于根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源。
1.中心城区A要解决的问题(1)根据题目给出的各附表,为各交巡警服务平台分配管辖范围,使其在所管辖的有突发事件尽量能在三分钟内到达。
(2)调度全区20个交巡警服务平台的警力资源,对进出该区的13条范围内出现突发事件时,要道实现快速全封锁。
设计该区交巡警服务平台警力合理的调度方案。
优秀论文2011B交巡警服务平台
摘要:
本题是一个优化问题。 我们利用 Floyd 算法确定交通网中任意两节点间的最短路径 及其长度并建立优化模型对问题进行求解。 第一问中:1)为了分配管辖范围,首先剔除警方在 3 分钟内无法到达的节点,对 剩余节点以该节点和其管辖平台间的最短距离与该节点发案率的乘积之和最小为目标, 以各服务平台的工作量最大值与最小值之差不大于一定限度为约束建立优化模型, 确定 这些节点所属的平台。然后将原先剔除的节点分配给距其最近的平台。 2)确定快速全 封锁方案的过程是一个多目标规划过程。以完成全封堵的时间最短为第一目标,以各出 警平台到达各自封堵路口所用的时间之和最短为第二目标,以 13 个路口均被封堵,一 个平台至多只能负责一个路口的封堵为约束,确定最优解。3)为了通过增加尽量少的 平台使所有节点的出警时间均在 3 分钟以内, 以所有节点和其管辖平台间的最短距离与 该节点发案率的乘积之和最小为目标, 以每个节点必属于且仅属于一个服务平台的管辖 范围,各服务平台的工作量最大值与最小值之差不大于一定限度,所有节点出警时间均 不超过 3 分钟为约束建立优化模型。第一问的主要结论如下: 1) 各交巡警服务平台分配管辖范围见正文表 1 2) 实现快速全封锁的调度方案 路 12 14 16 21 22 23 24 28 29 30 38 48 62 口 平 12 16 9 14 10 13 11 15 7 8 2 5 4 台 完成全封锁需要的时间:8.01546 分钟 3) 增加平台的个数和位置:增设 4 个平台,分别位 29、39、48、88 号节点 问题二中:1)为分析该市现有服务平台设置的合理性,以警方在 3 分钟内无法到 达的节点数尽量少和各平台工作量尽量均衡为评价标准, 发现现有方案不符合前一条标 准。为在不改变全市服务平台总数的前提下解决该问题,首先以各区服务平台的平均工 作量方差最小为目标确定各区服务平台的数目, 接着以一个区域内出警时间超过 3 分钟 情况节点数目最少为目标。以每个平台的工作量最大值与最小值之差不大于一定限度, 任何一个节点一定属于且仅属于一个工作平台的管辖范围为约束条件建立优化模型。2) 为了获得最佳围堵方案,给出了围堵算法。以 17 个市区出口与 P 节点均不连通作为结 束条件保证围堵成功率,出动距离围堵地点最近的平台完成围堵以缩短部署围堵的时 间, 将围堵地点设在当前嫌犯能成功逃往的节点中与 P 点间路径长度最短的节点处以减 少需要调遣的服务平台数目。第二问的主要结论如下: 1) 新方案中各区分配的平台数: 区域 A B C D E F 平台数 15 8 22 8 14 13 具体位置见正文表 11 2) 最佳围堵方案需要调动 20 个服务平台,完成围堵部署的最终时间为 8.97984 分钟。 关键词:Floyd 算法、优化模型、图论
交巡警服务平台的设置与调度
交巡警服务平台的设置与调度作者:来志强于德恩孟利丹来源:《科技创新导报》 2012年第16期来志强于德恩孟利丹(河海大学力学与材料学院河南 210000)摘要:本文以2011年全国大学生数学建模竞赛B题为背景,主要解决如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源等问题。
关键词:离散化 0—1规划引力场无约束多目标规划预备集中图分类号:C916 文献标识码:A 文章编号:1674-098X(2012)06(a)-0249-01首先对城市坐标图所有道路以一定单位长度为间距进行离散化。
针对问题1.1,利用就近原则方法建立就近区域模型,得到各个平台所管辖的区域,3min内到达的覆盖率,所有平台中到达所管辖区域内最远点的最长时间。
针对问题1.2,通过0—1规划和Floyd算法,建立极小极大模型,并进行求解优化,得到平台警力合理的调度方案,所有警力到达相应进区路口时所需的时间和最短总路程。
针对问题1.3,通过案发率、最短距离,两个指标加权构造引力因子,建立了引力场模型,最后最佳的调整方案针对问题1.2,在原有平台位置不变的情况下,考虑增加平台后,通过引力场方法,得到相应各区的前后目标对比值表,从而可以得到各平台的调整情况。
1 问题分析利用计算机求解得到各个平台的,通过对其数值分析,可以确定加4个平是最优方案。
3 预备集模型及定义嫌疑犯在3分钟后开始逃跑,下一次可参考文献[1]姜启源.数学模型[M].北京.高等教育出版社.1993.[2]赵静.数学建模与数学实验(第3版).北京.高等教育出版社2010年8月.[3]吴孟达,王丹.“110警车配置及巡逻方案”评阅综述.北京.选自数学的实践与认识期刊第40卷第15期,2010年8月.。
交巡警服务平台的设置与调度
交巡警服务平台的设置与调度——云南师范大学 谭海云马 娟陈久毅摘要本文可分为五大问题,第一问首先通过用Matlab 软件把各线段的距离求出并标出92个交叉路口所对应的编号,由交巡警服务平台的原则:快速处警原则——城区接警后确保快速到达现场。
可知,所有的92个路口都应该属于距离它们最近的交巡警服务平台的管辖范围,然后用图论中的Dijkstra 矩阵算法,找出距离各个交叉路口最近的交巡警服务平台,建立了到达最远且用时最短的模型,及在最小的响应时间范围内,到达需求点所配备的服务平台数量最少,由此,建立了0-1规划模型。
结果发现,大多数交叉路口突发事件发生时,三分钟之内,都有交巡警到达事发点,只有28、29、38、39、61、92六个路口在事发三分钟内没有交巡警到达,但最长时间也只要5分36秒,比较合理。
第二个问题中,要调动全区的服务台来封锁交通要道,涉及到每个服务台的出警时间和工作量的不均衡。
于是,本文建立以最大相应量最小原则建立了责任划分模型,使得各个 服务区的工作量不是很大。
在第一个问题中,按交巡警服务平台的快速处警原则可以发现各个交警服务平台的负荷不平衡,而且有的交叉路口处案发率不同。
所以,第三个问题中可通过各个交巡警服务平台所管辖的路口平均每天的案发次数,结合A 区地图,分别假设交巡警服务平台可迁移和不可迁移的不同情况,分别可增加3个或者5个服务平台,使得每个交巡警服务平台所管辖的范围内平均每天的案发次数大多都在4—6次之间,且在遇突发事件的时候,几乎都能在3分钟之内到达。
第四个问题,我们根据A 、B 、C 、D 、E 、F 各个区域的平均每天案发次数和人口密度所占该市的比率12i i γγ和,通过定义一个指标——交警服务率:12(1)i i γαγαγ=+-来将80个交巡警服务平台重新分配到不同的区域,其中,权重α是已知的,且在不同人心目中的值不同。
经过计算人口密度的时候发现,A 区平均人口密度过大,达到2.72万人/平方千米。
2011数学建模B题
2011高教社杯全国大学生数学建模竞赛题目(请先阅读“全国大学生数学建模竞赛论文格式规范”)B题交巡警服务平台的设置与调度“有困难找警察”,是家喻户晓的一句流行语。
警察肩负着刑事执法、治安管理、交通管理、服务群众四大职能。
为了更有效地贯彻实施这些职能,需要在市区的一些交通要道和重要部位设置交巡警服务平台。
每个交巡警服务平台的职能和警力配备基本相同。
由于警务资源是有限的,如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题。
试就某市设置交巡警服务平台的相关情况,建立数学模型分析研究下面的问题:(1)附件1中的附图1给出了该市中心城区A的交通网络和现有的20个交巡警服务平台的设置情况示意图,相关的数据信息见附件2。
请为各交巡警服务平台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h)到达事发地。
对于重大突发事件,需要调度全区20个交巡警服务平台的警力资源,对进出该区的13条交通要道实现快速全封锁。
实际中一个平台的警力最多封锁一个路口,请给出该区交巡警服务平台警力合理的调度方案。
根据现有交巡警服务平台的工作量不均衡和有些地方出警时间过长的实际情况,拟在该区内再增加2至5个平台,请确定需要增加平台的具体个数和位置。
(2)针对全市(主城六区A,B,C,D,E,F)的具体情况,按照设置交巡警服务平台的原则和任务,分析研究该市现有交巡警服务平台设置方案(参见附件)的合理性。
如果有明显不合理,请给出解决方案。
如果该市地点P(第32个节点)处发生了重大刑事案件,在案发3分钟后接到报警,犯罪嫌疑人已驾车逃跑。
为了快速搜捕嫌疑犯,请给出调度全市交巡警服务平台警力资源的最佳围堵方案。
附件1:A区和全市六区交通网络与平台设置的示意图。
附件2:全市六区交通网络与平台设置的相关数据表(共5个工作表)。
附图1:A区的交通网络与平台设置的示意图附图2:全市六区交通网络与平台设置的示意图说明:(1)图中实线表示市区道路;红色线表示连接两个区之间的道路;(2)实圆点“·”表示交叉路口的节点,没有实圆点的交叉线为道路立体相交;(3)星号“*”表示出入城区的路口节点;(4)圆圈“○”表示现有交巡警服务平台的设置点;(5)圆圈加星号“○*”表示在出入城区的路口处设置了交巡警服务平台;(6)附图2中的不同颜色表示不同的区。
课程设计-交巡警服务平台的设置与调度
交巡警服务平台的设置与调度摘要对提供的数据进行了预处理后,利用DjiST算法求出任意两个路口节点之间的最短路程,程序见附录2,结果见“A区节点间最小路的值.xls”。
交巡警服务平台分配管辖范围的原则是(1)所管辖的节点到该交巡警服务平台的最近路程应尽量小于3000m,(2)各交巡警服务平台管辖范围内的所有节点发案率之和应尽量接近平均发案率6.225。
由此建立多目标规划模型。
对该模型利用matlab编程(见附录1)求出满意解如图1所示。
对进出该区的13条交通要道快速封锁问题,我们把参与封堵各交巡警服务平台到各出口要道最短路程之和的最小化作为第一目标,把参与封堵各交巡警服务平台到各出口要道的最长路程最小化作为第二目标,建立多目标规划模型,利用matlab编程(见附录4)求解,结果如表1和图2所示。
根据A区各交巡警服务平台的出警时间方差和工作量方差,考虑在服务平台15附近的A区出口节点29增设一个服务平台,在服务平台7附近的路口节点48增设一个服务平台,在路口节点91增设一个服务平台。
增设3个服务平台后的A区巡警服务平台分配管辖范围如图3所示,合理性有较大改善。
对全市六区交巡警服务平台设置合理性评价如A区,主要要避免服务平台的出警时间过长,不能及时赶到突发事件地点,并且使各服务平台的工作量尽量均衡。
我们计算了B区的出警时间方差和工作量方差如表3所示(程序见附录6)。
建议在99、94、98处进行增设服务平台,另外也可以考虑在95处增加警力。
其他各区的处理方法同B区。
该市P点发生了重大刑事案件,快速围堵嫌疑犯的调度问题,是一个动态规划。
我们给出了嫌疑犯逃跑各阶段的路口集合,可能的逃跑路线如图4所示。
用matlab编程(程序见附录7),得到最佳围堵方案如表4。
关键字:动态规划多目标规划最短路径算法图论 0-1规划问题的重述“有困难找警察”,是家喻户晓的一句流行语。
警察肩负着刑事执法、治安管理、交通管理、服务群众四大职能。
交巡警服务平台的设置与调度
交巡警服务平台的设置与调度1问题的背景近十年来,我国科技带动生产力不断发展,国家经济实力不断增强,然而另一方安全生产形势却相当严峻,每年因各类生产事故造成大量的人员伤亡、经济损失。
尤其是在一些大目标点,作为人类经济、文化、政治、科技信息的中心,由于其“人口集中、建筑集中、生产集中、财富集中”的特点,一旦发生重大事故,将会引起相当惨重的损失。
为了保障安全生产、预防各类事故。
我国正在各省(市)目标点逐步设立交巡警平台。
2010年2月7日,一支名为“交巡警”的全新警种在重庆诞生。
这一警种拥有包括枪支在内的“高精尖”装备,代替过去的交警和巡警。
交巡警平台是将刑事执法、治安管理、交通管理、服务群众四大职能有机融合的新型防控体系。
在人流量极大、治安状况比较复杂、交通持续比较混乱的事故多发带产生强大的司法制衡力、社会治安的驾驭力、打击罪犯的冲击力。
保证在事故发生的第一时间赶到现场。
大力的减少了社会上各种混乱行为的发生。
使居民的生命财产安全得以保障。
2问题的总体分析问题一要求根据中心城区的地图,给出交巡警服务平台管辖区域划分方案策略,城区图中一共有给定坐标的交叉路口92个,城区内的有效路线140条,20个交巡警服务平台。
在划分管辖区域时主要是从规划问题中出发,考虑给定的约束条件,即三分钟内到达事发地点,为方便计算和编写约束条件,将题中的时间和距离统一化为距离处理,称为“等效距离”。
解决此问题时我们只考虑到节点距离。
先算出这20个平台到所有交叉路口的距离然后筛选出小于三分钟所对应的等效距离,然后本着让每个平台管辖的交叉路口数大致相等且不会出现跨点管辖的原则不重复的分配节点给20个平台。
问题二要求给出在重大事件发生时,调度全区20个交巡警服务平台的警力资源,进出A区的13条交通要道实现快速全封锁,此问题的重点是合理安排封锁任务使得实现封锁的总时间最短。
3模型的建立与求解3.1城区各交巡警服务平台管辖范围分配3.1.1理论基础已知任意两个节点z■和z■的坐标(x■,y■)和(x■,y■),可以根据下述公式求出两点间的距离d:d(z■,z■)=■首先,我们确定巡逻的范围限制s,由已知可知,警车接到报警后的速度为v ,其中赶到案发地点的时间要求为t,由此可知:s=v×t将具体数据代入上式可以求得:s=3km3.1.2模型的建立A区域的点集V一共包含92个点,将这些节点的坐标和坐标间的连线导入MATLAB中,并计算出相邻两点间的距离,将其标注在直线上,可以获取该区域的赋权图。
交巡警平台设计
• 定义
1 警台i管辖节点j X ij 0 警台i不管辖节点j
1 警台i到节点j距离不超过3分钟(公里) bij 0 警台i到节点j距离超过3分钟(公里)
• 根据就近原则,有
X 15, 28 X 15, 29 X 16,38 X 2,39 X 7, 61 X 20,92 1
优化方案设计
• 准则: (1)改善3分钟到达率 (2)改善任务均衡性 (3)是否增加平台数 建模思路: (1)分区优化 (2)全市优化 (3)以调整为主
基于任务量均衡的考虑
• 保持全市平台总数不变
(1)全市每个警务台平均处理的发案率:
f
j=1
582
j
80
=8.43125
(2)各区警务台发案率总和
结果,增加4个平台
• • • • • 有多种方案,如: 节点位置:29,40,61,92 节点位置:29,40,61,88 节点位置:29,38,48,92 计算上述方案的任务均衡性,29,38,48,92 是更理想的选择。
2.1全市现有平台合理性
• 各区状况分析
•
结论: 原来的警务台设置造成了 各区出警时间、任务量不平衡。 优化目标:任务尽可能均匀。
X i,i X 15, 28 X 15, 29 X 16,38 X 2,39 X 7,61 X 20,92 1
• 前一个模型考虑问题不全面,虽然结果差 不多,没有第2个模型好。 • 虽然1.1问没有任务量要求,但从解决问题 的角度,应该更全面地去处理问题,特别 是有些后续问题中提到的因素,更要考虑。
0.63 0
1.27 1.91
逃逸 3.30 3.88 3.91 4.09 4.14 5.21 5.72 时间
数学建模交巡警服务平台的设置与调度
2 案例的简单分析-问题(1)
第三个小问题: 根据现有交巡警服务平台的工作量不均衡和 有些地方出警时间过长的实际情况,拟在该 区内再增加2至5个平台,请确定需要增加平 台的具体个数和位置。
1 读案例题目
全市六区交通网路和平台设置的数据表 B题 交巡警服务平台的设置与调度
2 案例的简单分析-问题(1)
第一个小问题: 请为各交巡警服务平台分配管辖范围,使其 在所管辖的范围内出现突发事件时,尽量能 在3分钟内有交巡警(警车的时速为 60km/h)到达事发地。
2 案例的简单分析-问题(1)
例1:对于图1给定的图,求任意两点间的最 短路径矩阵,及路径矩阵。
第1步:写出图1的邻接矩阵G
第2步:调用floyd()函数,求出d和p
>>[d, p]=floyd(G)
距离矩阵
路径矩阵
2. getPath() 功能:根据“路径矩阵”求从源节点到目标 节点的最短路线
格式:path=getPath(i, j, p) 参数: p-路径矩阵
2 案例的简单分析-问题(2)
第(2)问和第(1)问之间似乎存在某种联 系:
第(1)问是第(2)问的“子问题”; 解决第(2)问的时候可以参考第(1)问。
3 用Matlab求最短径
一、求最短路径的算法简介 1. Dijkstra算法 2. Floyd算法
二、两个函数(非标准函数) 1. floyd() 功能:求给定图的“距离矩阵”和“路径矩阵” 格式:[d p]=floyd(G) 参数:G-图的邻接矩阵(n×n) d-最短路径“距离矩阵”(n×n) P-最短路径“路径矩阵” (n×n)
数学建模2011B题 交巡警服务平台的设置与调度 程序
问题一(1):管辖区域的分配:求解最大结合覆盖模型function dyt1.1disp(sprintf('正在载入相关数据...'));Node_data=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',1,'b2:c93'); %载入A区路口节点的左边数据Routine_data=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',2,'a2:b144'); %载入路线节点标号数据Record_data = cell(92,1); %创建包体,用来保存92个节点,每点的最大覆盖区域count = 0;%更急路线节点标号数据创建邻接矩阵for i = 1 :92Node_index = Routine_data(find(Routine_data(:,1)==i),2);Node_index = [Routine_data(find(Routine_data(:,2)==i),1);Node_index];Node_index = Node_index(find(Node_index <=92));n = length( Node_index);count = count + n;Record_data{i} = zeros(n,2);for j = 1 : nRecord_data{i}(j,1) = Node_index(j);Record_data{i}(j,2) = 100*sqrt((Node_data(i,1) - Node_data(Node_index(j),1))^2+(Node_data(i,2) - Node_data(Node_index(j),2))^2);endendAdjoin_matrix = zeros(count,3); % 邻接矩阵index_adj = 1;for i = 1 :92[n1,n2] = size(Record_data{i});n = n1;for j = 1 : nAdjoin_matrix(index_adj,:) = [i,Record_data{i}(j,1),Record_data{i}(j,2)];index_adj = index_adj + 1;endend%根据邻接矩阵数据创建图论的稀疏矩阵a1=Adjoin_matrix(:,1)';a2=Adjoin_matrix(:,2)';a3=Adjoin_matrix(:,3)';DG=sparse(a1,a2,a3);%建立稀疏矩阵,图论求解for i=1:92for j=1:92if DG(i,j)==0DG(i,j)=inf;if i==jDG(i,j)=0;endendendendfor k=1:92for i=1:92for j=1:92if DG(i,k)+DG(k,j)<DG(i,j)DG(i,j)=DG(i,k)+DG(k,j);endendendendPatrol_range=cell(20,1);for i=1:20for j=1:92if(DG(i,j)<=3000)Patrol_range{i}=[Patrol_range{i},j];endendendPatrol_distribution=Patrol_range; %复制原始数据Patrol_cover=cell(92,1); %定义交集Cover=[];Isolated=[]; %定义孤立点for i=1:92c=[];for j=1:20m=length(Patrol_range{j});for l=1:mif(Patrol_range{j}(l)==i)c=[c,j]; %保存i节点所对应的所有可能的交通巡警点 endendendm=length(c);if(m>1) %如果大于1,说明有交集,先去除,不分配Cover=[Cover,i];Patrol_cover{i}=c; %保存交集for k=1:mfind(Patrol_distribution{c(k)}~=i);Patrol_distribution{c(k)}=Patrol_distribution{c(k)}(find(Patrol_distr ibution{c(k)}~=i));%预分配只属于自己的交通节点endendif(m==0)Isolated=[Isolated,i];endendPatrol_xin=Patrol_distribution; %进行B类节点的的分配for i=1:92m=length(Patrol_cover{i});Distance_linshi=[];if(m>=1)for j=1:mDistance_linshi(j)=DG(i,Patrol_cover{i}(j));endm0=min(Distance_linshi);for k=1:20if DG(i,k)==m0f=k;endendPatrol_xin{f}=[Patrol_xin{f},i];endendm=length(Isolated); %对孤立点进行分配for i=1:mfor j=1:20dist(j)=DG(Isolated(i),j);end[m0,m1]=min(dist);Patrol_xin{m1}=[Patrol_xin{m1},Isolated(i)];endsave Patrol_xin.mat;问题一(2):求解围堵13条要道的方案程序1:!求围堵的方案与最快时间sets:AA/1..20/;cross/1..13/;links(AA,cross): dis, x;Endsets!数据的定义部分;data:dis=22236.1516028.479286.81219293.4421096.2122501.7522893.219001.1619515.8112083.445880.93511850.114885.217 20463.9214129.727388.06317394.6919197.472060321120.9717228.9317743.5810311.213982.18610309.546035.068 18352.2712767.236025.56616032.1917834.9719240.5119009.3215117.2815631.928199.566093.848197.8844393.385 21997.3815008.518266.85318273.4820076.2621481.7922654.4316226.9115535.348102.9764860.9767395.869350 17628.1912969.636227.96716234.5917749.5219155.0618285.2411306.8710615.293182.9339421.1192475.8265255.075 17658.7813000.216258.55216265.1817780.1119185.6518315.8311337.4510645.883213.5189451.7042506.4115337.332 14914.9410901.224159.55914166.1915036.2716441.8115571.998570.2188015.457583.09527352.7111290.2027991.722 14092.519433.9432692.28212698.9114213.8415619.3814749.5610228.0310493.183060.825885.4343099.4678677.283 13010.718274.2021532.5411539.1713132.0514537.5913667.769775.72210724.413492.3044725.6924199.419336.668 7586.58512775.666956.679510.6937707.9189113.4568243.63514194.8615143.557911.44610149.828618.55314760.8 3791.3538337.29811395.035072.3323269.5574675.0953805.27418633.2319581.9112349.8114588.1813056.9119199.16 011950.2814543.268685.3166882.5416477.0023591.6321781.4522730.1315498.0317736.4116205.1422347.38 5977.0025973.2812714.942708.314905.53855002385.37222808.322375716524.916120.8217232.0121331.79 11950.2806741.6623264.9665067.7416473.288358.65218049.9218916.6811484.3210147.5412191.4215358.51 17029.6113298.086556.42116563.0517150.9418556.4817686.664751.8425700.5254401.4729749.5735108.57911810.1 14543.266741.662010006.6311809.413214.9415100.3111308.2612175.024742.6553405.8775449.7618616.853 21892.1114903.248161.5818168.2119970.9821376.5222549.1618657.1219523.8712091.514755.70312798.627820.525 24247.1818514.4811772.8221779.4523582.2324987.7624904.2321012.1921526.8314094.478366.94613699.266734.362 22546.5316961.4810219.8220226.4522029.2323434.7623203.5819311.5319826.1812393.827639.28111998.615033.709 26945.8 21213.11 14471.45 24478.08 26280.85 27686.39 27602.86 23010.82 22319.25 14886.89 11065.57 14179.78 6448.88;enddata!目标函数;min=@max(links(i,j):x(i,j) * dis(i,j));!需求约束;@for(cross(j):@sum(AA(i): x(i,j))=1);@for(AA(i):@sum(cross(j): x(i,j))<=1);!整数约束;@for(links(i,j):@bin(x(i,j)));程序2:fuction zudj1.2A=zeros(20,13);for i=1:20A(i,1)=DG(i,12);A(i,2)=DG(i,14);A(i,3)=DG(i,16);A(i,4)=DG(i,21);A(i,5)=DG(i,22);A(i,6)=DG(i,23);A(i,7)=DG(i,24);A(i,8)=DG(i,28);A(i,9)=DG(i,29);A(i,10)=DG(i,30);A(i,11)=DG(i,38);A(i,12)=DG(i,48);A(i,13)=DG(i,62);end问题一(3):管辖区域的确定:求解集合覆盖模型并使工作量最均衡程序1:function junheng1.2c=[];for x=1:72c(x)= fenpei(x);endc程序2:function c=fenpei(x)disp(sprintf('正在载入相关数据...'));Node_data=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',1,'b2:c93'); %载入A区路口节点的左边数据Routine_data=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',2,'a2:b144'); %载入路线节点标号数据load B.mat;Record_data = cell(92,1); %创建包体,用来保存92个节点,每点的最大覆盖区域count = 0;%更急路线节点标号数据创建邻接矩阵for i = 1 :92Node_index = Routine_data(find(Routine_data(:,1)==i),2);Node_index = [Routine_data(find(Routine_data(:,2)==i),1);Node_index];Node_index = Node_index(find(Node_index <=92));n = length( Node_index);count = count + n;Record_data{i} = zeros(n,2);for j = 1 : nRecord_data{i}(j,1) = Node_index(j);Record_data{i}(j,2) = 100*sqrt((Node_data(i,1) - Node_data(Node_index(j),1))^2+(Node_data(i,2) - Node_data(Node_index(j),2))^2);endendAdjoin_matrix = zeros(count,3); % 邻接矩阵index_adj = 1;for i = 1 :92[n1,n2] = size(Record_data{i});n = n1;for j = 1 : nAdjoin_matrix(index_adj,:) = [i,Record_data{i}(j,1),Record_data{i}(j,2)];index_adj = index_adj + 1;endend%根据邻接矩阵数据创建图论的稀疏矩阵a1=Adjoin_matrix(:,1)';a2=Adjoin_matrix(:,2)';a3=Adjoin_matrix(:,3)';DG=sparse(a1,a2,a3);%建立稀疏矩阵,图论求解for i=1:92for j=1:92if DG(i,j)==0DG(i,j)=inf;if i==jDG(i,j)=0;endendendendPatrol_range=cell(24,1);D_24=B(x,:); %B为可能的分配情况,共有48中,每次从中选取1中可能,本次选取的事第13中可能for k=1:92for i=1:92for j=1:92if DG(i,k)+DG(k,j)<DG(i,j)DG(i,j)=DG(i,k)+DG(k,j);endendendendfor i=1:24for j=1:92dist(j)=DG(D_24(i),j);endfor j=1:92if(dist(j)<=3000)Patrol_range{i}=[Patrol_range{i},j];endendendsave Patrol_range;%求解交集和预分配问题load Patrol_range.mat; %载入数据Patrol_distribution=Patrol_range; %复制原始数据Patrol_cover=cell(92,1); %定义交集Cover=[];Isolated=[]; %定义孤立点for i=1:92c=[];c2=[];for j=1:24m=length(Patrol_range{j});for l=1:mif(Patrol_range{j}(l)==i)c=[c,j]; %保存i节点所对应的所有可能的交通巡警点 c2=[c2,D_24(j)];endendendm=length(c);if(m>1) %如果大于1,说明有交集,先去除,不分配Cover=[Cover,i];Patrol_cover{i}=c2; %保存交集for k=1:mfind(Patrol_distribution{c(k)}~=i);Patrol_distribution{c(k)}=Patrol_distribution{c(k)}(find(Patrol_distr ibution{c(k)}~=i));%预分配只属于自己的交通节点endendif(m==0)Isolated=[Isolated,i];endendsave Patrol_distribution.mat; %完成预分配,对于交集和孤立交点另外考虑save Patrol_cover.mat; %保存交集所对应的可能交通巡警点load Patrol_cover.mat;load Patrol_distribution.mat;load Patrol_range.mat;%初始化预分配中每个交通巡警点的发案次数Occurrence=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',1,'e2:e93'); %A区每个交通节点的发案次数Standard_occurrence=sum(Occurrence)/24Patrol_occurrence=zeros(24,1);for i=1:24m=length(Patrol_distribution{i});a=0;if(m>=1)for j=1:ma=a+Occurrence(Patrol_distribution{i}(j));endPatrol_occurrence(i)=a;endendPatrol_xin=Patrol_distribution; %进行交集分配for i=1:92m=length(Patrol_cover{i});Distance_linshi=[];if(m>=1)for j=1:mDistance_linshi(j)=DG(i,Patrol_cover{i}(j));endA=Sort_vector(Distance_linshi); %记录最小值的相对位置h=length(Distance_linshi);for j=1:hlinshi_canshu=find(D_24==Patrol_cover{i}(A(j,2)));Patrol_occurrence(linshi_canshu);Patrol_cover{i}(A(j,2));if(Patrol_occurrence(linshi_canshu)<=(Standard_occurrence+0.62)) Patrol_xin{linshi_canshu}=[Patrol_xin{linshi_canshu},i];Patrol_occurrence(linshi_canshu)=Patrol_occurrence(linshi_canshu)+Occ urrence(i);break;endif(j==h)iendendendendPatrol_occurrencec=var(Patrol_occurrence);save Patrol_xin.mat;程序3:function chulia=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];I=[28 29];J=[38 39,40];K=[48,61];L=[87 88 89 90 91 92];m=0;for i=1:2for j=1:3for k=1:2for l=1:6m=m+1;B(m,:)=[a,[I(i) J(j) K(k) L(l)]];DD(m,:)=[I(i) J(j) K(k) L(l)];endendendendsave B;程序4:function A=Sort_vector(X) %创建子函数供调用a=length(X);for i=1:a[m0,weizhi]=min(X);A(i,1)=m0;A(i,2)=weizhi;X(weizhi)=inf;End问题二(1)计算现有节点工作量,不均衡度和C类节点个数,以判断合理性:程序1:function Mcm2.1Node_data=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',1,'b2:c583'); Routine_data=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',2,'a2:b929');Record_data = cell(582,1);count = 0;for i = 1 :582Node_index = Routine_data(find(Routine_data(:,1)==i),2);Node_index = [Routine_data(find(Routine_data(:,2)==i),1);Node_index];n = length( Node_index);count = count + n;Record_data{i} = zeros(n,2);for j = 1 : nRecord_data{i}(j,1) = Node_index(j);Record_data{i}(j,2) = 100*sqrt((Node_data(i,1) - Node_data(Node_index(j),1))^2+(Node_data(i,2) - Node_data(Node_index(j),2))^2);endendAdjoin_matrix = zeros(count,3); % 邻接矩阵index_adj = 1;for i = 1 :582[n1,n2] = size(Record_data{i});n = n1;for j = 1 : nAdjoin_matrix(index_adj,:) = [i,Record_data{i}(j,1),Record_data{i}(j,2)];index_adj = index_adj + 1;endend%创建图论的稀疏矩阵及其图论的求解a1=Adjoin_matrix(:,1)';a2=Adjoin_matrix(:,2)';a3=Adjoin_matrix(:,3)';DG=sparse(a1,a2,a3);%建立稀疏矩阵,图论求解for i=1:582for j=1:582if DG(i,j)==0DG(i,j)=inf;if i==jDG(i,j)=0;endendendendfor k=1:582for i=1:582for j=1:582if DG(i,k)+DG(k,j)<DG(i,j)DG(i,j)=DG(i,k)+DG(k,j);endendendendWeizhi_all=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',3,'b2:b81'); a=length(Weizhi_all);Patrol_range=cell(a,1);for i=1:afor j=1:582dist(j)=DG(Weizhi_all(i),j);%求图中任意两个节点之间的最短距离endfor j=1:582if(dist(j)<=3000)Patrol_range{i}=[Patrol_range{i},j];endendendsave Patrol_range;load Patrol_range.mat; %载入数据Patrol_distribution=Patrol_range; %复制原始数据Patrol_cover=cell(582,1); %定义交集Cover=[];Isolated=[]; %定义孤立点a=length(Weizhi_all);for i=1:582c=[];c2=[];for j=1:am=length(Patrol_range{j});for l=1:mif(Patrol_range{j}(l)==i)c=[c,j]; %保存i节点所对应的所有可能的交通巡警点c2=[c2,Weizhi_all(j)];endendendm=length(c);if(m>1) %如果大于1,说明有交集,先去除,不分配Cover=[Cover,i];Patrol_cover{i}=c2; %保存交集for k=1:mfind(Patrol_distribution{c(k)}~=i);Patrol_distribution{c(k)}=Patrol_distribution{c(k)}(find(Patrol_distr ibution{c(k)}~=i));%预分配只属于自己的交通节点endendif(m==0)Isolated=[Isolated,i];endendsave Patrol_distribution.mat;%完成预分配,对于交集和孤立交点另外考虑save Patrol_cover.mat;%保存交集所对应的可能交通巡警点load Patrol_cover.mat;load Patrol_distribution.mat;load Patrol_range.mat;%初始化预分配中每个交通巡警点的发案次数Occurrence=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',1,'e2:e583'); %A区每个交通节点的发案次数a=length(Weizhi_all);Standard_occurrence=sum(Occurrence)/asum(Occurrence);Patrol_occurrence=zeros(a,1);for i=1:am=length(Patrol_distribution{i});a=0;if(m>=1)for j=1:ma=a+Occurrence(Patrol_distribution{i}(j));endPatrol_occurrence(i)=a;endendPatrol_xin=Patrol_distribution; %进行交集的分配for i=1:582m=length(Patrol_cover{i});Distance_linshi=[];if(m>=1)for j=1:582dist(j)=DG(i,j);endfor j=1:mDistance_linshi(j)=dist(Patrol_cover{i}(j));endA=Sort_vector(Distance_linshi); %记录最小值的相对位置h=length(Distance_linshi);for j=1:hlinshi_canshu=find(Weizhi_all==Patrol_cover{i}(A(j,2)));Patrol_occurrence(linshi_canshu);Patrol_cover{i}(A(j,2));if(Patrol_occurrence(linshi_canshu)<=(Standard_occurrence+8.5)) Patrol_xin{linshi_canshu}=[Patrol_xin{linshi_canshu},i];Patrol_occurrence(linshi_canshu)=Patrol_occurrence(linshi_canshu)+Occ urrence(i);break;endif(j==h)i;endendendend%对孤立点进行分配m=length(Isolated);for i=1:mfor j=1:20D(j)=DG(Isolated(i),j);endIsolated(i);[m0,m1]=min(D);m1;Patrol_xin{m1}=[Patrol_xin{m1},Isolated(i)];Patrol_occurrence(m1)=Patrol_occurrence(m1)+Occurrence(Isolated(i)); endPatrol_occurrence; %每个警力点的工作量length(Patrol_occurrence);var(Patrol_occurrence)[a,b]=max(Patrol_occurrence);zuidazhi=a;b;Weizhi_all(b);save Patrol_xin.mat;程序2:!建立0—1矩阵function jljz2.1AG=zeros(138,502);for i=1:138for j=1:502dist(j)=DG(lsolated(i),j);if(dist(j)<=3000)AG(i,j)=1;endendend程序3:function chulia=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];I=[28 29];J=[38 39,40];K=[48,61];L=[87 88 89 90 91 92];m=0;for i=1:2for j=1:3for k=1:2for l=1:6m=m+1;B(m,:)=[a,[I(i) J(j) K(k) L(l)]];DD(m,:)=[I(i) J(j) K(k) L(l)];endendendendsave B;程序4:function A=Sort_vector(X) %创建子函数,共调用使用a=length(X);for i=1:a[m0,weizhi]=min(X);A(i,1)=m0;A(i,2)=weizhi;X(weizhi)=inf;endlingo程序:程序5:!静态增加服务台的方案求解:sets:AA/1..138/;cross/1..502/:x;links(AA,cross): a;Endsetsdata:a = @FILE(F:\数学建模第二期培训\第一题\新建文件夹\第二问\选择表.xls); @TEXT('result1.txt') = x;enddata 27程序6:!动态的求解方案:sets:AA/1..582/;cross/1..582/:x;links(AA,cross): a;Endsetsdata:a = @FILE(F:\数学建模第二期培训\第一题\新建文件夹\第二问\data3.txt); @TEXT('result7.txt') = x;enddatamin =@sum(AA(i):@if(@sum(cross(j):a(i,j)*x(j))#eq#0,1,0));@sum(cross(j): x(j))=80;@for(cross(i):@bin(x(i)));问题二(2):求解最佳围堵方案程序1:% function weidu%找出最佳的围堵方案clear;load DG.mat;load Xunjinwz1.mat;xun_gs = length(Xunjinwz);dist=graphshortestpath(DG,32);%求图中任意个节点到案发点的最短距离for t = 6:30Anfadian=[];for j = 1 :582if(dist(j) <= t*1000 & (t - 1)*1000 <=dist(j) )Anfadian=[Anfadian,j];endendn = length(Anfadian); %罪犯可能到达点的集合A1 = zeros(n,582);for k = 1:ndist2 = graphshortestpath(DG,Anfadian(k));count = 0;for kk = 1 :xun_gs %搜素罪犯到达点集合旁边的巡逻点if(dist2(Xunjinwz(kk)) < (t-3)*1000 )A1(k,Xunjinwz(kk)) = 1;count = count + 1;endendif(count == 0)break;endend[m,n] = size(A1);if(m < n)pp = Pipei(A1);[m,n] = size(pp);if(rank(pp) == m)pipei =zeros(m,2);for i =1:m[row,coloum] = find(pp(i,:)==1);pipei(i,1) = Anfadian(i);pipei(i,2) = coloum;endbreak;endendend程序2:function pip =Pipei(A)%求最大匹配问题[m,n] = size(A);M(m,n)=0;for(i=1:m)for(j=1:n)if(A(i,j))M(i,j)=1;break;endend %求初始匹配 Mif(M(i,j))break;endend %获得仅含一条边的初始匹配 Mwhile(1)for(i=1:m)x(i)=0;end %将记录X 中点的标号和标记*for(i=1:n)y(i)=0;end %将记录Y 中点的标号和标记*for(i=1:m)pd=1; %寻找X 中 M 的所有非饱和点for(j=1:n)if(M(i,j))pd=0;end;endif(pd)x(i)=-n-1;endend %将X 中 M 的所有非饱和点都给以标号0 和标记*, 程序中用 n+1 表示0 标号, 标号为负数时表示标记*pd=0;while(1)xi=0;for(i=1:m)if(x(i)<0)xi=i;break;endend %假如 X 中存在一个既有标号又有标记*的点, 则任取X 中一个既有标号又有标记*的点xiif(xi==0)pd=1;break;end %假如X 中所有有标号的点都已去掉了标记*, 算法终止x(xi)=x(xi)*(-1); %去掉xi 的标记*k=1;for(j=1:n )if(A(xi,j)&y(j)==0)y(j)=xi;yy(k)=j;k=k+1;endend %对与 xi 邻接且尚未给标号的 yj 都给以标号iif(k>1)k=k-1;for(j=1:k)pdd=1;for(i=1:m)if(M(i,yy(j)))x(i)=-yy(j);pdd=0;break;endend %将yj 在 M 中与之邻接的点xk (即xkyj ∈M), 给以标号j 和标记*if(pdd)break;endendif(pdd)k=1;j=yy(j); %yj 不是 M 的饱和点while(1)P(k,2)=j;P(k,1)=y(j);j=abs(x(y(j))); %任取 M 的一个非饱和点 yj, 逆向返回if(j==n+1)break;end %找到X 中标号为0 的点时结束, 获得 M-增广路 P k=k+1;endfor(i=1:k)if(M(P(i,1),P(i,2)))M(P(i,1),P(i,2))=0; %将匹配 M 在增广路 P 中出现的边去掉else M(P(i,1),P(i,2))=1;endend %将增广路 P 中没有在匹配 M 中出现的边加入到匹配M 中break;endendendif(pd)break;endend %假如X 中所有有标号的点都已去掉了标记*, 算法终止pip = M ; %显示最大匹配 M, 程序结束。
交巡警服务平台的设置与调度论文(正式)
承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写):我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):参赛队员(打印并签名) :1.2.3.指导教师或指导教师组负责人(打印并签名):日期:年月日赛区评阅编号(由赛区组委会评阅前进行编号):编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):交巡警服务平台的设置与调度摘要由于警务资源是有限的,如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题。
本文要解决的就是判断某市的交巡警服务平台设置方案的合理性,以及如何处理突发事件问题。
对于问题一:1.首先根据附件中的各点的坐标和图中所给的各标志点之间的相邻关系,利用MATLAB[1]绘制出A区的标号图,并求得任意两个相邻标志点的直线距离;再根据附件中的全市交通路口的路线做出了邻接矩阵,用Floyd算法求得任意两点间的最短距离,同时利用C语言编写DIJISTRA算法求出3分钟内警车可以到达的节点,以初步分配管辖范围。
2.在此基础上,为了确定需要增加平台的具体个数和位置,采用主成分分析法,应用迪杰斯特拉(Dijkstra)算法进行搜索得到了该区交巡警服务平台警力合理的调度方案。
2011年全国大学生数模竞赛B题 交巡警服务平台的设置与调度
图 2:全市六区交通网络与平台设置的示意图
说明: (1)图中实线表示市区道路;红色线表示连接两个区之间的道路; (2)实圆点“·”表示交叉路口的节点,没有实圆点的交叉线为道路立体 相交; (3)星号“*”表示出入城区的路口节点; (4)圆圈“○”表示现有交巡警服务平台的设置点; (5)圆圈加星号“○ * ”表示在出入城区的路口处设置了交巡警服务平台; (6)附图 2 中的不同颜色表示不同的区。 二、模型假设 1、假设每辆巡警车和犯罪嫌疑人的车行驶中速度保持匀速且车速均为 60km/h; 2、假设每辆巡警车到事故现场的路径均为最短路径; 3、假设每个路段道路畅通,可以双向行驶,没有堵车现象。 三、符号说明 i:全市第 i 个路口节点 j:第 j 个交巡警服务平台 k:第 k 个出入市区的路口节点
关键词
Floyd 算法、0-1 整型规划模型、Matlab 编程、Lingo 编程、变异系数赋权法
-1-Leabharlann 一、问题重述“有困难找警察” ,是家喻户晓的一句流行语。警察肩负着刑事执法、治安 管理、交通管理、服务群众四大职能。为了更有效地贯彻实施这些职能,需要在 市区的一些交通要道和重要部位设置交巡警服务平台。 每个交巡警服务平台的职 能和警力配备基本相同。由于警务资源是有限的,如何根据城市的实际情况与需 求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部 门面临的一个实际课题。 试就某市设置交巡警服务平台的相关情况, 建立数学模型分析研究下面的问 题: ( 1) 图 1 给出了该市中心城区 A 的交通网络和现有的 20 个交巡警服务平台 的设置情况示意图,相关的数据信息见附件 2。请为各交巡警服务平台分配管辖 范围,使其在所管辖的范围内出现突发事件时,尽量能在 3 分钟内有交巡警(警 车的时速为 60km/h)到达事发地。 对于重大突发事件,需要调度全区 20 个交巡警服务平台的警力资源,对进 出该区的 13 条交通要道实现快速全封锁。实际中一个平台的警力最多封锁一个 路口,请给出该区交巡警服务平台警力合理的调度方案。 根据现有交巡警服务平台的工作量不均衡和有些地方出警时间过长的实际 情况, 拟在该区内再增加 2 至 5 个平台, 请确定需要增加平台的具体个数和位置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011高教社杯全国大学生数学建模竞赛题目(请先阅读“全国大学生数学建模竞赛论文格式规范”)题目B题交巡警服务平台的设置与调度摘要:本文研究的是某城区警车配置及巡逻方案的制定问题,建立了求解警车巡逻方案的模型,并在满足D1的条件下给出了巡逻效果最好的方案。
在设计整个区域配置最少巡逻车辆时,本文设计了算法1:先将道路离散化成近似均匀分布的节点,相邻两个节点之间的距离约等于一分钟巡逻路程。
由警车的数目m,将全区划分成m个均匀的分区,从每个分区的中心点出发,找到最近的道路节点,作为警车的初始位置,由Floyd算法算出每辆警车3分钟或2分钟行驶路程范围内的节点。
考虑区域调整的概率大小和方向不同会影响调整结果,本文利用模拟退火算法构造出迁移几率函数,用迁移方向函数决定分区的调整方向。
计算能满足D1的最小车辆数,即为该区应该配置的最小警车数目,用MATLAB计算,得到局部最优解为13辆。
在选取巡逻显著性指标时,本文考虑了两个方面的指标:一是全面性,即所有警车走过的街道节点数占总街道节点数的比例,用两者之比来评价;二是均匀性,即所有警车经过每个节点数的次数偏离平均经过次数的程度,用方差值来大小评价。
问题三:为简化问题,假设所有警车在同一时刻,大致向同一方向巡逻,运动状态分为四种:向左,向右,向上,向下,记录每个时刻,警车经过的节点和能够赶去处理事故的点,最后汇总计算得相应的评价指标。
在考虑巡逻规律隐蔽性要求时,文本将巡逻路线进行随机处理,方向是不确定的,采用算法2进行计算,得出相应巡逻显著指标,当车辆数减少到10辆或巡逻速度变大时,用算法2计算巡逻方案和对应的参数,结果见附录所示。
本文最后还考虑到4个额外因素,给出每个影响因素的解决方案。
关键词:模拟退火算法;Floyd算法;离散化一问题的重述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表示整个区域总的离散点个数n表示第i区内的节点个数if表示区内调整函数1t表示模拟退火的时间,表征温度值f表示区间调整函数2r表示全面性指标e表示不均匀性指标h表示综合评价指标s表示第i辆车经过每条道路的次数is表示整个区域每条道路经过的平均次数五 模型的建立与算法的设计5.1 满足D1时,该区所需要配置的最少警车数目和巡逻方案5.1.1 满足D1条件时,区域最少警车的规律题目要求警车的配置和巡逻方案满足D1要求时,整个区域所需要配置的警车数目最少。
由假设可知警车都在道路上,且所有事发现场也都在道路上,但区域内总的道路长度是个定值的;警车在接警后赶到事发现场有时间限制和概率限制:三分钟内赶到普通区域案发现场的比例不低于90%,而赶到重点部位的时间必须控制在两分钟之内。
由此可知每辆警车的管辖范围不会很大,于是考虑将整个区域分成若干个分区,每辆警车管辖一个分区域。
由上面的分析,求解整个区域的警车数目最少这个问题可转化为求解每一辆警车所能管辖的街道范围尽量的大。
于是我们寻找出使每辆警车管辖的范围尽量大的规律。
为了简化问题,我们不考虑赶到现场的90%的几率的限制,仅对警车能在三分钟内赶到事发现场的情况作定性分析,其分析示意图如图1所示。
警车的初始停靠位置是随机的分布在道路上的任一节点上,我们假设一辆警车停靠在A 点上。
图1 一辆警车管辖范围分析示意图由于警车的平均巡逻速度为20km/h ,接警后的平均行驶速度为40km/h ,由于距离信息比较容易得到,于是我们将时间限制转化为距离限制,这样便于分析和求解。
当警车接警后,在三分钟内能从接警位置赶到事发现场的最大距离是r ,其中km r 240603=⨯=。
如图1所示,我们设警车初始停靠位置在A 点,A 点是道路1,2,3,4的道路交叉口。
我们仅以警车在道路1巡逻为例来进行分析,警车以h km /20的速度在道路1上A 到'A 点之间巡逻,'A 与初始停靠点A 的距离为xkm 。
由于案件有可能在道路上任一点发生,当警车巡逻到A点时,若案发现场在道路2,3,4上发生时,警车以40km/h的速度向事发现场行驶,警车能在三分钟内从'A点赶到现场的最大距离为km2(-。
如x)果警车在道路1上继续向前行驶,则该警车能在三分钟内赶到现场的距离继续缩小,当警车从初始点向A点行驶但没有达到'A点时,此时该警车的最大管辖范围比警车到达'A 点时的最大管辖范围大。
为了使警车的管辖范围尽量大,警车的巡逻范围越小越好,当2。
x时,即警车在初始停靠点静止不动时,警车的管辖范围达到最大值km 0=图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,此时若有案件发生时,该警车要在三分钟内能赶到现场处理案件,最大行驶距离在km2(-之内,如果警车在道路1上继续向前行驶,x)则该警车能在三分钟内赶到现场的距离继续缩小,当警车没有行驶到D点时,此时该警车的最大管辖范围比km2(-大,为了使警车的管辖范围尽量大,警车的巡逻范围越小x)越好。
当0x时,即警车静止不动时,一辆警车的管辖范围能达到最大值。
=以上分析的仅作定性的分析,对于三个重点部位也可以同理分析,所得的结论是一致的,以上的分析没有考虑到90%的到达几率限制,但在设计算法需要充分考虑。
综上所述,当警车静止在初始停靠点时,在三分钟时间限制内,警车能从初始停靠点赶到事发现场的最大距离为km2。
5.1.2 将道路离散化由于事发现场是等概率地分布在道路上的,由区域地图可以发现,整个区域中的道路长度不均,为了使计算结果更加精确,可将这些道路离散化。
只要选取合适的离散方案,就能使警车在经过道路上的离散的点时就相当于经过了这条道路。
这样,不论是求解警车初始停靠点还求解警车赶到事发现场所经过的道路时,所计算得的的结果显然比仅考虑整条道路的叉路口要精确得多。
区域中共有307个道路交叉口,458条道路。
我们采用线性插值方法对道路进行离散化,以h km /20的速度行走一分钟的距离作为步长,一分钟时间的选择是参照问题三的结果要求来设定的,步长km b 3120601=⨯=。
用线性插值的方法,从道路的一个方向进行线性插值,实现将每条道路离散化的目标,考虑到有些道路不是km 31的整数倍,我们就一般情况进行讨论,其分析示意图如图3所示。