2011年数学建模B题答案
数模2011 B题

承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写): B我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):参赛队员(打印并签名) :1.2.3.指导教师或指导教师组负责人(打印并签名):日期:年月日赛区评阅编号(由赛区组委会评阅前进行编号):编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):交巡警服务平台的设置与调度摘要:本文主要研究交巡警服务平台的设置与调度问题,建立基于图论的P-中心选址问题,将其转化为多目标0-1规划模型,通过LINGO编程求解。
由于A城区程序运行困难,可进一步利用遗传算法改进,得到满意的结果。
针对问题一,(1)利用Floyd算法得出最短路径矩阵,确定A区平台的管辖范围并确保出警时间少于3分钟,由程序运行结果可知,1号,2号服务台管辖节点过多,10号,14号服务台却无管辖区域,其他服务台工作量基本均衡。
(2)对于重大突发事件要实现警服台的快速封锁,将其转化为优化匹配问题,运行立多目标0-1规划模型,通过LINGO编程得到在3分钟限制的前提下,至少需要增加4个平台,具体节点标号为:29、39、48、91。
针对问题二,首先建立评价指标,用优化模型得到量化的评价指标然后用秩和比方法进行评价,A区配置最合理,而F区配置最不合理。
2011年数学建模论文 B 题

承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写): B我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):四川文理学院参赛队员(打印并签名) :1. 高陆2. 肖皓华3. 吕洋琴指导教师或指导教师组负责人(打印并签名):李爱民日期: 2011 年 9 月 12 日赛区评阅编号(由赛区组委会评阅前进行编号):编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):关于交巡警服务平台设置与调度的优化模型摘要本文旨在研究交巡警服务平台的设置与调度问题,根据不同的问题分别建立了与之相应的数学模型。
问题一以中心城区A为主要研究范围,而问题二则主要研究全市(主城六区A,B,C,D,E,F)交巡警服务平台的设置与调度问题。
为解决问题一的三个子问题,我们在认真研究该城区交通网络及现有的20个交巡警服务平台设置情况的基础上,利用题中所给附件2中列出的关于城区A的92个节点的横纵坐标这一具体数据,得出了各个节点间的距离(程序实现见附录2)。
针对问题一的子问题一,即为城区A的各交巡警服务平台分配管辖范围,因要考虑到当在其管辖范围内出现突发事件时,该服务平台的交巡警能尽量在3分钟内到达事发地。
而在此3分钟内,警车所经过的路程不超过3km(警车时速为60km/h)。
2011年数学建模竞赛B题参考答案(只做了一半)

2011高教社杯全国大学生数学建模竞赛题目(请先阅读“全国大学生数学建模竞赛论文格式规范”)A题城市表层土壤重金属污染分析随着城市经济的快速发展和城市人口的不断增加,人类活动对城市环境质量的影响日显突出。
对城市土壤地质环境异常的查证,以及如何应用查证获得的海量数据资料开展城市环境质量评价,研究人类活动影响下城市地质环境的演变模式,日益成为人们关注的焦点。
按照功能划分,城区一般可分为生活区、工业区、山区、主干道路区及公园绿地区等,分别记为1类区、2类区、……、5类区,不同的区域环境受人类活动影响的程度不同。
现对某城市城区土壤地质环境进行调查。
为此,将所考察的城区划分为间距1公里左右的网格子区域,按照每平方公里1个采样点对表层土(0~10 厘米深度)进行取样、编号,并用GPS记录采样点的位置。
应用专门仪器测试分析,获得了每个样本所含的多种化学元素的浓度数据。
另一方面,按照2公里的间距在那些远离人群及工业活动的自然区取样,将其作为该城区表层土壤中元素的背景值。
附件1列出了采样点的位置、海拔高度及其所属功能区等信息,附件2列出了8种主要重金属元素在采样点处的浓度,附件3列出了8种主要重金属元素的背景值。
现要求你们通过数学建模来完成以下任务:(1) 给出8种主要重金属元素在该城区的空间分布,并分析该城区内不同区域重金属的污染程度。
(2) 通过数据分析,说明重金属污染的主要原因。
(3) 分析重金属污染物的传播特征,由此建立模型,确定污染源的位置。
(4) 分析你所建立模型的优缺点,为更好地研究城市地质环境的演变模式,还应收集什么信息?有了这些信息,如何建立模型解决问题?题目A题城市表层土壤重金属污染分析摘要:本文研究的是某城区警车配置及巡逻方案的制定问题,建立了求解警车巡逻方案的模型,并在满足D1的条件下给出了巡逻效果最好的方案。
在设计整个区域配置最少巡逻车辆时,本文设计了算法1:先将道路离散化成近似均匀分布的节点,相邻两个节点之间的距离约等于一分钟巡逻路程。
2011年数学建模B题

2011年全国大学生数学建模B题交巡警服务平台的设置与调度题目警车配置及巡逻问题的研究摘要:本文研究的是某城区警车配置及巡逻方案的制定问题,建立了求解警车巡逻方案的模型,并在满足D1的条件下给出了巡逻效果最好的方案。
在设计整个区域配置最少巡逻车辆时,本文设计了算法1:先将道路离散化成近似均匀分布的节点,相邻两个节点之间的距离约等于一分钟巡逻路程。
由警车的数目m,将全区划分成m个均匀的分区,从每个分区的中心点出发,找到最近的道路节点,作为警车的初始位置,由Floyd算法算出每辆警车3分钟或2分钟行驶路程范围内的节点。
考虑区域调整的概率大小和方向不同会影响调整结果,本文利用模拟退火算法构造出迁移几率函数,用迁移方向函数决定分区的调整方向。
计算能满足D1的最小车辆数,即为该区应该配置的最小警车数目,用MATLAB计算,得到局部最优解为13辆。
在选取巡逻显著性指标时,本文考虑了两个方面的指标:一是全面性,即所有警车走过的街道节点数占总街道节点数的比例,用两者之比来评价;二是均匀性,即所有警车经过每个节点数的次数偏离平均经过次数的程度,用方差值来大小评价。
问题三:为简化问题,假设所有警车在同一时刻,大致向同一方向巡逻,运动状态分为四种:向左,向右,向上,向下,记录每个时刻,警车经过的节点和能够赶去处理事故的点,最后汇总计算得相应的评价指标。
在考虑巡逻规律隐蔽性要求时,文本将巡逻路线进行随机处理,方向是不确定的,采用算法2进行计算,得出相应巡逻显著指标,当车辆数减少到10辆或巡逻速度变大时,用算法2计算巡逻方案和对应的参数,结果见附录所示。
本文最后还考虑到4个额外因素,给出每个影响因素的解决方案。
关键词:模拟退火算法;Floyd算法;离散化一问题的重述110警车在街道上巡逻,既能够对违法犯罪分子起到震慑作用,降低犯罪率,又能够增加市民的安全感,同时也加快了接处警时间,提高了反应时效,为社会和谐提供了有力的保障。
2011数学建模B题标准答案

承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写): B我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):北京大学参赛队员(打印并签名) :1. 姚胜献2. 许锦敏3. 刘迪初指导教师或指导教师组负责人(打印并签名):刘业辉日期: 2011 年 9 月 12日赛区评阅编号(由赛区组委会评阅前进行编号):编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):交巡警服务平台的设置与调度摘要本文通过建立整数规划模型,解决了分配各平台管辖范围、调度警务资源以及合理设置交巡警服务平台这三个方面的问题;通过建立线性加权评价模型定量评价了某市现有交巡警服务平台设置方案的合理性,并根据各个区对服务平台需求量的不同,提出了重新分配全市警力资源的解决方案。
在计算交巡警服务平台到各个路口节点的路程时,使用了图论里的floyd算法。
针对问题一的第一个子问题,首先假设交巡警服务平台对某个路口节点的覆盖度是二元的,引入决策变量,建立了0-1整数规划模型。
交巡警出警应体现时间的紧迫性,所以选择平均每个突发事件的出警时间最短作为目标函数,运用基于MATLAB的模拟退火算法进行求解,给出了中心城区A的20个服务平台的管辖范围,求得平均每个案件的出警时间为1.013分钟。
2011数学建模B题答案

2010 高教社杯全国大学生数学建模竞赛承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则. 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题. 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出. 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性.如有违反竞赛规则的行为,我们将受到严肃处理. 我们参赛选择的题号是(从A/B/C/D 中选择一项填写):我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):参赛队员(打印并签名) :1. 2. 3. 指导教师或指导教师组负责人(打印并签名):日期:日 C 年月赛区评阅编号(由赛区组委会评阅前进行编号):2010 高教社杯全国大学生数学建模竞赛编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):交巡警平台设置的优化模型摘要在充分理解题意的基础上,我们提出了合理的假设.通过对问题的深入分析,我们将本题归结为一个带有约束条件的优化问题. 鉴于路线的复杂程度,我们没有采用常规的Dijkstra 算法,而采用了动态规划的方法.其基本思想是通过LINGO 编程得到一个路口到其他路口的最优路径寻找出不能设为交警平台的路口. 针对问题一(只考虑线路的网络系统),我们建立了模型一,并通过LINGO 编程得到从任意一个路口到其他路口的最短距离,从中筛选出大于120 米的距离,统计成表二,再根据各路口到离其最远的地块的最短路径分析,得出A、M 不能设为交巡警平台. 针对问题二,我们将问题一中LINGO 编程所得结果通过EXCEL 统计出从各路口到各个地块的最小距离,并将其存为数据文件(见表三).接着用matlab 编程求出各路口到离其最远地块的最小距离(见表四),观察结果得出出警至最远地块且用时最短的最小距离为85 米的三个路口C、H、I. 针对问题三,根据题意设出最优原则,结合表五逐一进行筛选得到最优交巡警平台设置路口 B. 最后模型的建立有效的改善了交巡警在执行任务中的效率,同时也可运用到其他最优选址中,并且可将该模型算法拓展模型在其他领域的适用范围. 关键词:动态规划最优路径交巡警平台LINGO 1 一、问题的背景面对各种突发事件,即使在科技高度发达的今天,也有显得束手无策的时候,许多国家政府、科学家为预防事故,保障生命财产安全作了一定的工作,例如澳大利亚在1993 年 1 月九成立了应急管理署(EMA),负责处理自然、人为、技术等方面的灾害,在事故或灾害发生时,及时、有效地迎对各种重大紧急事件和灾害. 近十年来,我国科技带动生产力不断发展,国家经济实力不断增强,然而另一方安全生产形势却相当严峻,每年因各类生产事故造成大量的人员伤亡、经济损失.尤其是在一些大目标点,作为人类经济、文化、政治、科技信息的中心,由于其“人口集中、建筑集中、生产集中、财富集中”的特点,一旦发生重大事故,将会引起相当惨重的损失.为了保障安全生产、预防各类事故.我国正在各省(市)目标点逐步设立交巡警平台. 2010 年 2 月7 日,一只名为“交巡警”的全新警种在重庆诞生.这一警种拥有包括枪支在内的“高精尖”装备,代替过去的交警和巡警.交巡警平台是将刑事执法、治安管理、交通管理、服务群众四大职能有机融合的新型防控体系. 在人流量极大、治安状况比较复杂、交通持续比较混乱的事故多发带产生强大的司法制衡力、社会治安的驾驭力、打击罪犯的冲击力.保证在事故发生的第一时间赶到现场.大力的减少了社会上各种混乱行为的发生.使居民的生命财产安全得以保障. 二、问题重述如图 1 所示为重庆市某街区草图,街区内有上下平行 5 条路,左右平行7 条路.路宽忽略不计,路长可从图中得知.图中标数与实际比例为1:25,单位为米. 若在此街区内部设立一交巡警平台,巡警出动到到达出事点不能超过 5 分钟.此处假定到达出事地块边缘即为到达出事地点.并规定路上行驶时间不得超过 3 分钟,警车车速恒为60 千米/小时.那么我们针对题目给出以下三个问题:图1 重庆市某街区草图 2 问题一:哪些路口不能设交巡警平台?问题二:哪个路口设为交巡警平台可使出警至最远地块且用时最短?并陈述理由. 问题三:若地块(4)(16)为事件多发区,则交巡警平台该设在何处?为什么要设在此处,并由此给出答案. 二、基本假设1.警员到达出事地块边缘即为到达出事地点;2.出警时道路恒畅通(无交通事故、交通堵塞等发生),警车行驶正常;3.在整个路途中,通过各种通讯工具,走的路程都是最短路程;4.在整个路途中,转弯处不需要花费时间. 三、符号说明v ----恒定车速? ----图中标数与实际比例t----出警所用最大时间V----接到报警到到达出事地点所用最大时间L(θ)-----从交巡警平台到达出事地块所行驶的最大路程L(Z)-----交警平台到路口的最短路径Z ∈A, B, C , D, E , F , G , H , I , J , K , L, M , N , O A,B,C,D,E,F,G,H,I,J,K,L,M,N,O----街区内部各路口d(Y,X)-----城市Y 与城市X 之间的直接距离(若这两个城市之间没有道路直接相连,则可以认为直接距离为∞) Y , X ∈A, B, C , D, E , F , G , H , I , J , K , L, M , N , O φ----街区内部各地块标示φ∈{(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12) (13)(14)(15)(16)(17)} S(X)------城市A 到城市X 的最优行驶路线的路长四、问题分析 4.1 模型一的问题分析:要解决此问,必须针对题中的限制条件进行分析,计算出交警平台的设立路口离其最远的地块的距离即可.原因如下:以下计算均以图中标数计算,其中? 为图中标数与实际比例,那么设为交巡 3 警平台的路口需满足的条件为:在保证出警时道路恒畅通,警车行驶正常的情况下,由题意知,车速恒为v 千米/小时,出警时间不得超过t 分钟,则从交巡警平台到达出事地块所行使的最大路径:t L(θ)= ?v?? 60 1 由题目所给出数据t=3 分钟,v =60000 米/小时,? = 25 可得:L(θ)=120.0000 米所以,不能设为交巡警平台的路口即为:到达出事地块边缘所行使的路程大于120.0000 米的路口. 4.2 模型二的问题分析假设不论事故发生在地块内什么位置,警员到达出事地块的边缘,就算到达了出事地点.在众多路口中选择最优路口设为交巡警平台,使出警至最远地块所用时间最短,是我们解决问题的核心.首先,由问题一已知A,M 两路口不能设立交巡警平台,所以我们将不再考虑这两点.只考虑B,C,D,E,F,G,H,I,J,K,L,N,O 十三个点.根据问题一用LINGO 编写的程序(附录一到附录十五)得出的结果,找出从各路口到各个地块的最优线路以及最优线路的路程值,并将其存为数据文件(见表三).最后,应用matlab 程序求出各路口到这十七个地块中最远板块的路程值(见表四),观察所得结果得出各路口到板块的最远路程的数据值.提出这些数据中的最小值,该最小值所对应的路口即为从交巡警平台出警至最远地块用时最短的路口. 4.3 模型三的问题分析针对事件多发区地块(4)(16)进行最优交巡警平台设置,因地块(4)只有一个路口D,而地块(16)有两个路口M、N,则需选择交巡警平台设置路口到地块(16)两路口中最近距离的路口进行分析.在此由我们自行提出两点最优平台设置原则,并在第一问的基础上,剔除出警时间超过 3 分钟的路口A,列出表格将各路口到两地块的距离清晰的呈现出,并根据原则逐一进行筛选得到最优交巡警平台设置路口为 B. 五、模型的建立与问题的求解 5.1 问题一模型的建立与求解 5.1.1 问题一模型的建立此问是关于最短路径的模型分析及LINGO 的实现,为了找到不能设为交巡警平台的路口,我们将对各个路口通过枚举给出,经过LINGO 编程从而得到一个点到离他最远的那个点的最短路程,为了简化计算首先只考虑一个路口到达案件发 4 生地块的路口的情况,即计算从一个路口到各点的最优路径:在此对各路口单独进行分析:为了更直观地对问题进行分析,我们将图中的平面图改成树状图,只对平面的点(其中将路口看成点,将地块看成平面)进行分析:A 点到B、C、D、E、F、G、H、I、J、K、L、M、N、O 各点的路程,如图(1)所示:C B 15 30 30 25 D 20 10 55 E 20 F 10 K I 10 10 10 L A 30 H G 15 25 25 J 25 M 15 N 65 O A—B A—G B—C B—H G—H G—M C—D H—I H—N 现对图(1)进行分析:假设从 A 到L 得最优行驶路线L 经过K,则L 中从 A 到K 子路也一定是从 A 到K 的最优行驶路线;因此,为得到从 A 到L 得最优路线,只需要先求出 A 到K 得最优行驶路线,就可以方便地得到从 A 到L 的最优行驶路线.同样,为了求出 A 到K 的最优行驶路线,只需要先求出从 A 到F,J,O 的最优行驶路线;为了求出 A 到F,J,O 的最优行驶路线,只需要先求出 A 到E,I,N 的最优行驶路线.同样,为了得到A 到E,I,N 的最优行驶路线,只需先求出A 到D,H,M 的最优行驶路线;为了求出 A 到D,H,M 的最优行驶路线,只需要先求出 A 到C,G 的最优行驶路线.同样,为了得到 A 到C,G 的最优行驶路线,只需先求出 A 到 B 的最优行驶路线(而 A 到L 的道路并非唯一). 而在A 到B、C、D、E、F、G、H、I、J、K、L、M、N、O 的路径分析中,可以将其路径分为7 个阶段,即第一阶段:A→B, A→G;第二阶段:B→C ,B→H, G→H, G→M;第三阶段:C→D, H→I, H→N, M→N;第四阶段:D→E ,I→J, N 5 图(1)A 到各路口的路径图表一:相邻路口的距离(单位:米)15.00 M—N 15.00 30.00 D—E 20.00 30.00 I—J 10.00 30.00 N—O 65.00 15.00 E—F 20.00 25.00 J—K 10.00 25.00 F—K 10.00 55.00 K—L 10.00 25.00 →O;第五阶段:E→F , E→I, J→K ,J→O;第六阶段:F→K ;第七阶段:K →L. 记d(Y,X)为城市Y 与城市X 之间的直接距离(若这两个城市之间没有道路直接相连,则可以认为直接距离为∞),用S(X)表示城市 A 到城市X 的最优行驶路线的路长: ?S ? ? ?S ? ( A ) = 0; ( X ) = m≠in {S (Y ) + d (Y , X )} , S Y X (1) ≠ A (2) 5.1.2 问题一模型的求解针对问题一,我先对A 点到B、C、D、E、F、G、H、I、J、K、L、M、N、O 各点的路程作动态规划以使接下来的问题思路清晰,其动态规划为:C B 15 30 30 25 D 20 10 55 E 20 F 10 K I 10 10 10 L A 30 H G 15 25 25 J 25 M 15 N 65 O S(B)=15,S(G)=30;S(C)=S(B)+30 =15+30=45; S(H)=min{S(B)+30,S(G)+15}=45;S(M)=S(G)+25=55; S(D)=S(C)+25=70; S(N)=min{S(H)+25,S(M)+15}=70; S(E)=S(D)+20=90; S(I)=min{S(E)+10,S(H)+55}=100;S(F)=S(E)+20=110; S(O)=S(N)+65=135; S(J)=min{S(I)+10,S(O)+25}=110; S(K)=min{S(J)+10,S(F)+10}=120; S(L)=S(K)+10=130; 所以,从A 到L 的最优行驶路线的长为130,进一步分析以上求解过程,可以得到从 A 到L 的最优行驶路线为:A→ B→ C→ D → E.→ F→ K→ L .或者A→B→H→I→J→K→L.并且可得到A 点到离他最远的路口的最小路程;由 A 点到B、C、D、E、F、G、H、I、J、K、L、M、N、O 各点的最优行驶路程通过LINGO 编程所得结果:L( A) 0.000000 %A 到以下各点最短距离L( B) 15.00000 L( G) 30.00000 6 L( C) 45.00000 L( H) 45.00000 L( M) 55.00000 L( D) 70.00000 L( N) 70.00000 L( E) 90.00000 L( F) 110.0000 L( I) 100.0000 L( J) 110.0000 L( K) 120.0000 L( O) 135.0000 L( L) 130.0000 中分析得到点 A 点到B、C、D、E、F、G、H、I、J、K、L、M、N、O 各点中离 A 点的最远路口的最小路程为:L(O)=135.0000 米根据 A 点到B、C、D、E、F、G、H、I、J、K、L、M、N、O 各点的路程的分析,我们可以将其推广于B、C、D、E、F、G、H、I、J、K、L、M、N、O 任意路口作为起点的情况,可得:由点 B 到A、C、D、E、F、G、H、I、J、K、L、M、N、O 各点的最优行驶路径通过LINGO 编程所得的结果:L( B) 0.000000 %B到以下各点最短距离L( C) 30.00000 L( H) 30.00000 L( A) 15.00000 L( D) 55.00000 L( G) 45.00000 L( E) 75.00000 L( I) 85.00000 L( M) 70.00000 L( F) 95.00000 L( J) 95.00000 L( N) 55.00000 L( K) 105.0000 L( L) 115.0000 L( O) 120.0000 中分析得到点B 到A、C、D、E、F、G、H、I、J、K、L、M、N、O 各点中离 B 点最远路口的最小行驶路径为:L(O)=120.0000 米由点 C 到A、B、D、E、F、G、H、I、J、K、L、M、N、O 各点的最优行驶路径通过LINGO 编程所得的结果:L( L( L( L( L( L( L( L( C)D) A) G) I) F) N) O) 0.000000 25.00000 45.00000 75.00000 55.00000 65.00000 85.0000090.00000 L( L( L( L( L( L( L( B) H) E) M) J) K) L) 30.00000 60.00000 45.00000 100.0000 65.00000 75.00000 85.00000 中分析得到点C 到A、B、D、E、F、G、H、I、J、K、L、M、N、O 各点中离 C 点最远路口的最小行驶路径为:L(O)=100.0000 米由 D 到A、B、C、D、E、F、G、H、I、J、K、L、M、N、O 各点的最优行驶路径通过LINGO 编程所得的结果:L( D) 0.000000 L( E) 20.00000 L( C) 25.00000 L( B) 55.00000 L( F) 40.00000 L( I) 30.00000 L( H) 85.00000 L( A) 70.00000 L( G) 100.0000 7 L( K) 50.00000 L( J) 40.00000 L( M) 125.0000 L( N) 110.0000 L( L) 60.00000 L( O) 65.00000 中分析得到点D 到A、B、C、D、E、F、G、H、I、J、K、L、M、N、O 各点中离D 点最远路口的最小行驶路径为:L(M)=125.0000 米由点E 到A、B、C、D、F、G、H、I、J、K、L、M、N、O 各点的最优行驶路径通过LINGO 编程所得的结果:L( E) 0.000000 L( F)20.00000 L( I) 10.00000 L( D) 20.00000 L( K) 30.00000 L( J) 20.00000 L( H) 65.00000 L( C) 45.00000 L( L) 40.00000 L( O) 45.00000 L( N) 90.00000 L( G) 80.00000 L( B) 95.00000 L( M) 105.0000 L( A) 80.0000 中分析得到点E 到A、B、C、D、F、G、H、I、J、K、L、M、N、O 各点中离 E 点最远路口的最小行驶路径为:L(M)=105.0000 米由点 F 到A、B、C、D、E、G、H、I、J、K、L、M、N、O 各点的最优行驶路径通过LINGO 编程所得的结果:L( F) 0.000000 L( E)20.00000 L( K) 10.00000 L( D) 40.00000 L( I) 30.00000 L( J) 20.00000 L( L) 20.00000 L( C) 65.00000 L( H) 85.00000 L( O) 45.00000 L( B) 95.00000 L( G) 100.0000 L( N) 110.0000 L( A) 110.0000 L( M) 125.0000 中分析得到点F 到A、B、C、D、E、G、H、I、J、K、L、M、N、O 各点中离 F 点最远路口的最小行驶路径为:L(M)=125.0000 米. 由点G 到A、B、C、D、E、F、H、I、J、K、L、M、N、O 各点的最优行驶路径通过LINGO 编程所得的结果:L( G) 0.000000 L( A)30.00000 L( H) 15.00000 L( M) 25.00000 L( B) 45.00000 L( C) 75.00000 L( N) 40.00000 L( I) 70.00000 L( D) 100.0000 L( E) 80.00000 L( J) 80.00000 L( O) 105.0000 L( F) 100.0000 L( K) 90.00000 L( L) 100.0000 中分析得到点G 到A、B、C、D、E、F、H、I、J、K、L、M、N、O 各点中离G 点最远路口的最小行驶路径为:L(O)=105.0000 米. 由点H 到A、B、C、D、E、F、G、I、J、K、L、M、N、O 各点的最优行驶路径通过LINGO 编程所得的结果:L( H) 0.000000 8 L( N)25.00000 L( G) 15.00000 L( B) 30.00000 L( I) 55.00000 L( O) 90.00000 L( M) 40.00000 L( A) 45.00000 L( C) 60.00000 L( J) 65.00000 L( E) 65.00000 L( K) 75.00000 L( D) 85.00000 L( L) 85.00000 L( F) 85.00000 中分析得到点H 到A、B、C、D、E、F、G、I、J、K、L、M、N、O 各点中离H 点最远路口的最小行驶路径为:L(L)=85.0000 米. 由点I 到A、B、C、D、E、F、G、H、J、K、L、M、N、O 各点的最优行驶路径通过LINGO 编程所得的结果:L( I) 0.000000 L( E) 10.00000 L( J) 10.00000 L( H) 55.00000 L( F) 30.00000 L( K) 20.00000 L( O) 35.00000 L( B) 85.00000 L( G) 70.00000 L( N) 80.00000 L( L) 30.00000 L( C) 115.0000 L( A) 100.0000 L( M) 95.00000 L( D) 30.00000 中分析得到点I到A、B、C、D、E、F、G、H、J、K、L、M、N、O各点中离I点最远路口的最小行驶路径为:L(C)=115.0000米. 由点J 到A、B、C、D、E、F、G、H、I、K、L、M、N、O 各点的最优行驶路径通过LINGO 编程所得的结果:L( J) 0.000000 L( K) 10.00000 L( I) 10.00000 L( O) 25.00000 L( L) 20.00000 L( F) 20.00000 L( E) 20.00000 L( H) 65.00000 L( N) 90.00000 L( D) 40.00000 L( B) 95.00000 L( G) 80.00000 L( M) 105.0000 L( C) 65.00000 L( A) 110.0000 中分析得到点J 到A、B、C、D、E、F、G、H、I、K、L、M、N、O 各点中离J 点最远路口的最小行驶路径为:L(A)=110.0000 米. 由点K 到A、B、C、D、E、F、G、H、I、J、L、M、N、O 各点的最优行驶路径通过LINGO 编程所得的结果:L( K) 0.000000 L( L) 10.00000 L( F) 10.00000 L( J) 10.00000 L( E) 30.00000 L( I) 20.00000 L( O) 35.00000 L( D) 50.00000 L( H) 75.00000 L( N) 100.0000 L( C) 75.00000 L( B) 105.0000 L( G) 90.00000 L( M) 115.0000 L( A) 120.0000 中分析得到点K 到A、B、C、D、E、F、G、H、I、J、L、M、N、O 各点各点中离9 K 点最远路口的最小行驶路径为:L(A)=120.0000 米. 由点L 到A、B、C、D、E、F、G、H、I、J、K、M、N、O 各点的最优行驶路径通过LINGO 编程所得的结果:L( L) 0.000000 L( K) 10.00000 L( F) 20.00000 L( J) 20.00000 L( E) 40.00000 L( I) 30.00000 L( O) 45.00000 L( D) 60.00000 L( H) 85.00000 L( N) 110.0000 L( C) 85.00000 L( B) 115.0000 L( G) 100.0000 L( M) 125.0000 L( A) 130.000 中分析得到点L 到A、B、C、D、E、F、G、H、I、J、K、M、N、O 各点中离L 点最远路口的最小行驶路径为:L(A)=135.0000 米. 由点M 到A、B、C、D、E、F、G、H、I、J、K、L、N、O 各点的最优行驶路径通过LINGO 编程所得的结果:L( M) 0.000000 L( G) 25.00000 L( N) 15.00000 L( A) 55.00000 L( H) 40.00000 L( O) 80.00000 L( J) 105.0000 L( B) 70.00000 L( I) 95.00000 L( C) 100.0000 L( D) 125.0000 L( K) 115.0000 L( E) 105.0000 L( L) 125.0000 L( F) 125.0000 中分析得到点M 到A、B、C、D、E、F、G、H、I、J、K、L、N、O 各点中离M 点最远路口的最小行驶路径为:L(L)=L(D)=L(F)=125.0000 米. 由点N 到A、B、C、D、E、F、G、H、I、J、K、L、M、O 各点的最优行驶路径通过LINGO 编程所得的结果:L( N) 0.000000 L( O)65.00000 L( H) 25.00000 L( M) 15.00000 L( G) 40.00000 L( B) 55.00000 L( I) 80.00000 L( J) 90.00000 L( A) 70.00000 L( C) 85.00000 L( K) 100.0000 L( E) 90.00000 L( D) 110.0000 L( F) 110.0000 L( L) 110.0000 中分析得到点N 到A、B、C、D、E、F、G、H、I、J、K、L、M、O 各点中离N 点最远路口的最小行驶路径为:L(D)=L(F)=L(L)=110.0000 米由点O 到A、B、C、D、E、F、G、H、I、J、K、L、M、N 各点的最优行驶路径通过LINGO 编程所得的结果:L( O) 0.000000 L( J) 25.00000 L( N) 65.00000 L( I) 35.00000 L( K) 35.00000 L( H) 90.00000 L( M) 80.00000 L( L) 45.00000 L( F) 45.00000 10 L( E) 65.00000 L( G) 105.0000 L( B) 120.0000 L( D) 85.00000 L( C) 110.0000 L( A) 135.0000 中分析得到点O 到A、B、C、D、E、F、G、H、I、J、K、L、M、N 各点中离O 点最远路口的最小行驶路径为:L(A)=135.0000 米. 对以上的分析可得出以下的结果:其中点 A 点到B、C、D、E、F、G、H、I、J、K、L、M、N、O 各点中离 A 点的最远路口的最小路程为:L(O)=135.0000 米点 D 到A、B、C、D、E、F、G、H、I、J、K、L、M、N、O 各点中离 D 点最远路口的最小行驶路径为:L(M)=125.0000 米点 F 到A、B、C、D、E、G、H、I、J、K、L、M、N、O 各点中离F 点最远路口的最小行驶路径为:L(M)=125.0000 米. 点L 到A、B、C、D、E、F、G、H、I、J、K、M、N、O 各点中离L 点最远路口的最小行驶路径为:L(A)=135.0000 米点M 到A、B、C、D、E、F、G、H、I、J、K、L、N、O 各点中离M 点最远路口的最小行驶路径为:L(L)=L(D)=L(F)=125.0000 米. 点O 到A、B、C、D、E、F、G、H、I、J、K、L、M、N 各点中离O 点最远路口的最小行驶路径为:L(A)=135.0000 米. 由于A、D、F、L、M、O 这六个点离它们的最远路口的最小行驶路径都大于120.0000 米,貌似可以剔除,但由于这些距离都是点到点的最短距离,而我们所要的是点离最远的平面的边缘的最短路程,那么就应该进一步对精确地进行分析,分析如下:由于本文只涉及到路口的剔除问题,所以只需考虑用LINGO 编程所得结果中路口到路口的距离大于120.0000 的情况.结合图 1 可得表二各路口到离其最远地块的最小路径(单位:米)路口到路口S1(m) 对应路口到地块S2(m) A A→L 130 A→(15) 130 A A→O 135 A→(14) 120 D D→M 125 D→(16) 110 F F→M 125 F→(16) 110 L L→M 125 L→(16) 110 L L→A 130 L→(1) 115 M M→D 125 M→(4) 125 M M→F 125 M→(10) 115 M M→L 125 M→(15) 125 O O→A 135 O→(1) 120 因为点D、F、L、O 离其最远地块的最小距离都小于12.0000 米,而A、M 离其最远地块的最小距离都大于120.0000 米. 综上分析可得:A、M 两点不可设立为交警平台. 5.2.1 问题二求解:根据问题一用LINGO 编写的程序得出结果(附录一到附录十五)生成表二:表三各个路口到各个地块的最短距离(单位:米)11 路地块口O 120 N 55 L K 115 105 85 75 60 50 60 50 100 90 85 75 30 20 20 10 10 0 0 0 100 90 85 75 20 20 0 0 0 10 110 100 45 35 J 95 65 40 40 80 65 10 20 0 10 80 65 0 0 20 90 25 I 85 B 0 C 30 D 55 E 75 F 95 G 30 H 30 30 60 85 15 0 0 65 55 75 15 0 0 65 85 25 25 一二三四五六七八九十十一十二十三十四十五十六十七90 55 65 85 65 110 105 40 90 25 35 25 45 90 25 80 25 100 70 15 65 0 0 0 0 65 65 110 65 0 0 0 55 0 30 30 30 55 70 15 55 0 0 0 10 55 0 75 20 95 70 45 55 30 0 30 10 95 30 115 80 55 35 55 0 25 0 0 25 0 45 70 30 55 0 0 25 0 45 20 65 40 75 100 60 85 55 30 65 40 85 40 85 110 85 65 45 45 45 20 40 75 20 40 100 80 100 0 65 85 0 0 20 15 0 0 80 0 0 70 20 0 90 80 100 0 65 85 0 10 30 15 20 10 80 40 0 100 90 110 25 35 45 40 根据图中数据,将数据导入matlab 编程求解,程序如下:X=[] %建立空矩阵,以便导入表一数据Y=X’ %求X 的转置S=max(Y,[],2); %求出各个路口到地块的最远路程从而求得各个路口到地块的最远路程,其详细情况如下:表四各路口到各地块的最远路程(单位:米)S (m) 路口到地块O→(1) 120 N→(4)或(15)110 L→(1) 115 K→(1) 105 J→(1) 95 I→(1) 85 B→(15) 115 C→(15)或(16)或(17) 85 D→(16) 110 E→(16) 90 F→(16) 110 G→(4)或(15) 110 H→(4)或(15) 85 从上表可得出各路口到每一地块的最远路程,并从中筛选出最小者,从而算12 出最短时间,容易得出85(m)为最小者,即I→(1),C→(15)或(16)或(17),H →(4)或(15).所以C,H,I 三个路口为所求路口. 5.3 问题三求解针对事件多发区地块(4)(16)进行最优交巡警平台设置的筛选,在此我们提出两点最优平台设置原则:1.交巡警平台设立路口到两事件多发区地块距离和最小为优. 2.交巡警平台设立路口到达两事件多发区地块距离相近为优. 现对提出此原则的好处做以下说明:原则一中提出的到达两地块距离和最小,即可使到达两地块所用的时间距离和最短,保证出警时间最短以争取执行任务的最好效果.原则二中提出的到达两地块所用时间相近,即不管哪个地块有事件发生,都能在比较短的时间内到达出事地块.若距一地块较近,距另一地块较远时,较远地块有事故发生,则会花较多的时间在出警时间上,此时大大的减少了执行任务的效果. 所以,以上好处则为我们提出最有平台设置原则的依据. 因地块(4)在此小区内仅有一个路口D,而地块(16)在小区内有两个路口M、N,由问题一程序可以得出如下表格:表五各路口到两事故多发区最短路程路口地块 4 地块16 地块和O 85 65 150 N 110 0 110 L 60 110 170 K 50 100 150 J 40 90 130 I 30 80 110 H 85 25 110 B 55 55 110 C 25 85 110 E 20 90 110 F 40 110 150 G 100 25 125 上表为各路口到两事件多发区地块的距离,各路口到地块(16)的距离已做处理并取为到路口M、中最近路口的距离.则由上表可直观得出各路口到两地块N 的距离差最小的路口,在此基础上找出到两地块路程最小的路口即为最优交巡警平台设置路口. 由原则一可挑选出到两地块距离和最小为110.0000 米的路口B、E、I、C、H、N. 由原则二可得出路口 B 为最佳设立交警平台的路口,因为路口 B 到地块(4) 和到地块(16)的距离相等,均为55.0000 米. 综上可得,由以上两原则可知交巡警平台设置的最佳路口为 B. 六、模型结果的分析、检验13 在本题的解答中,分为三个问题依次剔除不能设为交巡警平台的路口,并最终在自行设定原则的情况下,通过层层逼近,逐一剔除不能设置交巡警平台的路口,从而找到一个最优设置交巡警平台的路口,即路口 B. 为此,我们先建立了模型,算出设置交巡警平台的路口在 3 分钟内到发生事故地点所需要的最大路程120 米,再根据路口与地块间的关系逐一剔除不能设为交巡警平台的路口A、M,再在剔除两个路口之后,对其他路口到最远地块路口距离进行分析,并取此路口到达最远地块所有路口中距离最近的路口作为分析数据,从这些数据中找出出警至最远地块时间所用最短的路口C、H、I.再在问题一、问题二及自行设立的原则综合条件等的约束下,由问题一所写程序得出的结果生成表格,从中可直观看出设立交巡警平台的最优路口.这样既达到了问题建模的目的,完成了对本问题的优化. 七、模型的评价与改进该模型有一定的局限性,如现实中不能时刻都保证道路的畅通性.既不能保证出警的时间总是维持在 3 分钟之内.为了更贴近实际,则应考虑道路的畅通性对出警所用时间的影响.另外,在实际生活中也并非到达了事故发生地所在的地块就算到达了事故发生目的地.此处忽略了实际生活中存在的不定因素.这不利于巡警的真实出动,同时也是模型的不足之处. 总的来说,整个模型的建立思路清晰,遵循可操作性原则,科学性原则,可比性原则,该模型建立出了在较理想状态下交巡警平台的最优设置,减少了出警时间,可给生活中交巡警平台的设立予参考,具有一定的实际应用价值,可使交巡警在接到任务后更好的利用较短时间分配救援力量和选择最佳行进路径,以争取更多执行任务的时间,以取得更好的执行效果. 八、模型的推广及应用本模型较好的解决了交巡警平台的最优选址问题,当事故发生时,交巡警可以第一时间到达事发地点,有效的改善了交巡警在执行任务中的效率,在经济迅猛发展的今天,城市加速扩张,人口迅速增长,交巡警平台的设置是平安城市的最好保障.该模型也可运用到其他最优选址问题中去,比如关于消防救援工作最优路径问题、重大生产安全事故应急救援问题、公共交通的最优路径问题等. 同时也可利用该模型算法拓展模型在其他领域的适用范围. 参考文献[1]:钱湔.运筹学[M].北京:科学出版社,2000 [2]:肖雁,符卓,李育安.带软时间窗口的车辆路径问题及其应用前景探讨[J]. 14 中国运筹学会第六届学术交流会论文集,下卷,634-638 [3]:薛定宇,陈阳泉.初等运用数学效果的matlab 求解[M].北京:清华大学出版社,2004.,8 [4]:石辛民,郝正清.基于matlab 的适用数值计算[M].北京:清华大学出版,北京交通大学出版社,2006,2 [5]:孙霞林. 用最优化选择原则求最短路径及长度[A] .湖北师范学院学报:自然科学版2002 第2 期[6]: 张玉成孙俊逸应用最优化选择原则求最短路径及长度[A].《湖北大学学报:自然科学版》1993 第1 期[7]: 孟凡江,高树喜,杨新安,王瑶.多路径分配的车流径路优化模型[A].《辽宁工程技术大学学报:自然科学版》2008 第A01 期[8]:刁在筠,郑汉鼎等.LINGO 教程[M].北京:清华大学出版社附录附录一:点 A 点到B、C、D、E、F、G、H、I、J、K、L、M、N、O 各点的最短路程的程序:model: sets: plot/A,B,G,C,H,M,D,N,E,F,I,J,K,O,L/:L; roads(plot,plot)/ A,B A,G B,C B,H G,H G,M C,D H,I H,N M,N D,E I,J N,O E,F E,I J,K J,O F,K K,L/:D; ENDSETS DATA: D=15 30 30 30 15 25 25 55 25 15 20 10 65 20 10 10 25 10 10; L=0,,,,,,,,,,,,,,; ENDDATA @for(plot(i)|i#GT#@index(A): L(i)=@Min(roads(j,i):L(j)+D(j,i));); end 15 附录二:点B点到A、C、D、E、F、G、H、I、J、K、L、M、N各点最短距离程序如下:model: sets: plot/B,C,H,A,D,G,E,I,M,F,J,N,K,O,L/:L; roads(plot,plot)/ B,C B,H B,A C,D H,I H,N H,G A,G D,E I,J N,O G,M E,F E,I J,K J,O M,N F,K K,L/:D; ENDSETS DATA: D=30 30 15 25 55 25 15 30 20 10 65 25 20 10 10 25 15 10 10 ; L=0,,,,,,,,,,,,,,; ENDDATA @for(plot(i)|i#GT#@index(B): L(i)=@Min(roads(j,i):L(j)+D(j,i));); end 附录三:点C点到A、B、D、E、F、G、H、I、J、K、L、M、N、O各点最小距离的程序如下:model: sets: plot/C,D,B,A,H,G,E,I,M,F,J,N,K,O,L/:L; roads(plot,plot)/ C,D C,B D,E B,H B,A E,F E,I H,I H,N H,G A,G F,K I,J N,O N,M G,M K,L J,K J,O /:D; ENDSETS DATA: D=25 30 20 30 15 20 10 55 25 15 30 10 10 65 15 25 10 10 25; 16 L=0,,,,,,,,,,,,,,; ENDDATA @for(plot(i)|i#GT#@index(C): L(i)=@MIN(roads(j,i):L(j)+D(j,i));); end 附录四:点D到A、B、C、E、F、G、H、I、J、K、L、M、N、O 各点的最短距离的程序如下:model: sets: plot/D,E,C,B,F,I,H,A,G,K,J,M,N,L,O/:L; roads(plot,plot)/ D,E D,C E,F E,I C,B F,K I,J I,H B,H B,A A,G H,G H,N K,L K,J G,M M,N J,O N,O/:D; ENDSETS DATA: D=20 25 20 10 30 10 10 55 30 15 30 15 25 10 10 25 15 25 65; L=0,,,,,,,,,,,,,,; ENDDATA @for(plot(i)|i#GT#@index(D): L(i)=@MIN(roads(j,i):L(j)+D(j,i));); end 附录五:点E到A、B、C、D、F、G、H、I、J、K、L、M、N、O各点的最短距离程序如下:model: sets: plot/E,F,I,D,K,J,H,C,L,O,N,G,B,M,A/:L; roads(plot,plot)/ E,F E,I E,D F,K I,J I,H D,C K,L K,J J,O H,N H,G H,B O,N N,M G,M G,A B,A/:D; ENDSETS DATA: D=20 10 20 10 10 55 25 17 10 10 25 25 15 30 65 15 25 30 15; L=0,,,,,,,,,,,,,,; ENDDATA @for(plot(i)|i#GT#@index(E): L(i)=@Min(roads(j,i):L(j)+D(j,i));); end 附录六:点E到A、B、C、D、F、G、H、I、J、K、L、M、N、O各点的的最短距离程序如下:model: sets: plot/E,F,I,D,K,J,H,C,L,O,N,G,B,M,A/:L; roads(plot,plot)/ E,F E,I E,D F,K I,J I,H D,C K,L K,J J,O H,N H,G H,B O,N N,M G,M G,A B,A/:D; ENDSETS DATA: D=20 10 20 10 10 55 25 10 10 25 25 15 30 65 15 25 30 15; L=0,,,,,,,,,,,,,,; ENDDATA @for(plot(i)|i#GT#@index(E): L(i)=@Min(roads(j,i):L(j)+D(j,i));); end 附录七:点F到A、B、C、D、E、G、H、I、J、K、L、M、N、O各点的的最短距离程序如下:model : sets: plot/F,E,K,D,I,J,L,C,H,O,B,G,N,A,M/:L; roads(plot,plot)/ F,E F,K E,D E,I K,J K,L D,C I,H I,J J,O C,B H,B H,G H,N O,N B,A G,A G,M N,M/:D; ENDSETS DAA: D=20 10 20 10 10 10 25 55 10 25 18 30 30 15 25 65 15 30 25 15; L=0,,,,,,,,,,,,,,; ENDDATA @for(plot(i)|i#GT#@index(F): L(i)=@MIN(roads(j,i):L(j)+D(j,i));); end 附录八:点G到A、B、C、D、E、F、H、I、J、K、L、M、N、O各点的的最短距离程序如下:model: sets: plot/G,A,H,M,B,C,N,I,D,E,J,O,F,K,L/:L; roads(plot,plot)/ G,A G,H G,M A,B B,C B,H H,I H,N M,N C,D I,E E,F I,J N,O D,E J,O J,K F,K K,L /:D; ENDSETS DATA: D=30 15 25 15 30 30 55 25 15 25 10 20 10 65 20 65 10 10 10; L=0,,,,,,,,,,,,,,; ENDDATA @for(plot(i)|i#GT#@index(G): L(i)=@Min(roads(j,i):L(j)+D(j,i));); end 附录九:点H到A、B、C、D、E、F、G、I、J、K、L、M、N、O各点的的最短距离程序如下:model: sets: plot/H,N,G,B,I,O,M,A,C,J,E,K,D,L,F/:L; roads(plot,plot)/ H,N H,G H,B H,I N,O N,M G,M G,A B,A B,C I,J I,E O,J C,D J,K K,L K,F D,E F,E/:D; 19 ENDSETS DATA: D=25 15 30 55 65 15 25 30 15 30 10 10 25 25 10 10 10 20 20; L=0,,,,,,,,,,,,,,; ENDDATA @for(plot(i)|i#GT#@index(H): L(i)=@MIN(roads(j,i):L(j)+D(j,i));); end 附录十:点I到A、B、C、D、E、F、G、H、J、K、L、M、N、O各点的的最短距离程序如下:model: sets: plot/I,E,J,H,F,K,O,B,G,N,L,C,A,M,D/:L; roads(plot,plot)/ I,E I,H I,J E,F E,D J,K J,O H,B H,G H,N F,K K,L B,A B,C G,A G,M N,M N,O C,D/:D; ENDSETS DATA: D=10 55 10 20 20 10 25 30 15 25 10 10 15 30 30 25 15 65 25; L=0,,,,,,,,,,,,,,; ENDDATA @for(plot(i)|i#GT#@index(I): L(i)=@Min(roads(j,i):L(j)+D(j,i));); end 附录十一:点J 到A、B、C、D、E、F、G、H、I、K、L、M、N、O 各点的的最短距离程序如下:model: sets: plot/J,K,I,O,L,F,E,H,N,D,B,G,M,C,A/:L; roads(plot,plot)/ J,K J,I J,O K,L K,F I,E I,H O,N F,E E,D H,B H,G N,H N,M D,C B,A G,A M,G 20 C,B/:D; ENDSETS DATA: D=10 10 25 10 10 10 55 65 20 20 30 15 25 15 25 15 30 25 30; L=0,,,,,,,,,,,,,,; ENDDATA @for(plot(i)|i#GT#@index(J):L(i)=@MIN(roads(j,i):L(j)+D(j,i));); end 附录十二:点K 到A、B、C、D、E、F、G、H、I、J、L、M、N、O 各点的的最短距离程序如下:model: sets: plot/K,L,F,J,E,I,O,D,H,N,C,B,G,M,A/:L; roads(plot,plot)/ K,L K,F K,J F,E J,I J,O E,D E,I I,H O,N D,C H,B H,G H,N N,M C,B B,A G,A G,M /:D; ENDSETS DATA: D=10 10 10 20 10 25 20 10 55 65 25 30 15 25 15 30 15 30 25; L=0,,,,,,,,,,,,,,; ENDDATA @for(plot(i)|i#GT#@index(K): L(i)=@MIN(roads(j,i):L(j)+D(j,i));); end 附录十三:点L 到A、B、C、D、E、F、G、H、I、J、K、M、N、O 各点的的最短距离程序如下:model: sets: plot/L,K,F,J,E,I,O,D,H,N,C,B,G,M,A/:L; 21 roads(plot,plot)/ L,K K,F K,J F,E J,I J,O E,D E,I I,H O,N D,C H,B H,G H,N N,M C,B B,A G,A G,M /:D; ENDSETS DATA: D=10 10 10 20 10 25 20 10 55 65 25 30 15 25 15 30 15 30 25; L=0,,,,,,,,,,,,,,; ENDDATA @for(plot(i)|i#GT#@index(L): L(i)=@MIN(roads(j,i):L(j)+D(j,i));); end 附录十四:点M到A、B、C、D、E、F、G、H、I、J、K、L、N、O各点的的最短距离程序如下:model: sets: plot/M,G,N,A,H,O,J,B,I,C,D,K,E,L,F/:L; roads(plot,plot)/ M,G M,N G,A G,H N,H N,O A,B H,B H,I O,J B,C J,I J,K I,E C,D D,E K,L K,F E,F/:D; ENDSETS DATA: D=25 15 30 15 25 65 15 30 55 25 30 10 10 10 25 20 10 10 20; L=0,,,,,,,,,,,,,,; ENDDATA @for(plot(i)|i#GT#@index(M): L(i)=@MIN(roads(j,i):L(j)+D(j,i));); end2 附录十五:点N 到A、B、C、D、E、F、G、H、I、J、K、L、M、O 各点的的最短距离程序如下:model: sets: plot/N,O,H,M,J,I,B,G,K,E,A,C,L,F,D/:L; roads(plot,plot)/ N,O N,H N,M O,J H,I H,B H,G M,G J,K J,I I,E I,H B,A G,A K,L K,F E,D E,F D,C/:D; ENDSETS DATA: D=65 25 15 25 55 30 15 25 10 10 10 55 15 30 10 10 20 20 25; L=0,,,,,,,,,,,,,,; ENDDATA @for(plot(i)|i#GT#@index(N): L(i)=@MIN(roads(j,i):L(j)+D(j,i));); end 附录十六:点O 到A、B、C、D、E、F、G、H、I、J、K、L、M、N 各点的的最短距离程序如下:model: sets: plot/O,J,N,I,K,H,M,L,F,E,G,B,D,C,A/:L; roads(plot,plot)/ O,N O,J J,K J,I N,M N,H K,L K,F M,G H,G H,I H,B F,E E,I G,A E,D D,C C,B B,A/:D; ENDSETS DATA: D=65 25 10 10 15 25 10 10 25 15 55 30 20 10 30 20 23 25 30 15; L=0,,,,,,,,,,,,,,; ENDDATA @for(plot(i)|i#GT#@index(O): L(i)=@MIN(roads(j,i):L(j)+D(j,i));); end 24。
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的出口。
2011年全国数学建模B题答案

B题:交巡警服务平台的设置与调度摘要本题要根据实际情况分配交巡警平台的管辖范围,调度警务资源,合理设置交巡警平台的等问题。
我们本着两个原则来设置管辖平台:1.尽可能使所有路口都能在3分钟内赶到;2.使平台间工作量较为平均。
本着最快封锁住全城,最快围堵住嫌犯的原则来调度警务资源。
针对问题一第一小问的分配管辖问题,我们用图论的知识将实际地图转化为无向图,再用matlab求出每两个路口间的最短路径,最后用c++程序把每个路口分配到距离其最近的平台管辖范围内。
分配结果见正文,有6个路口:28、29、38、39、61、92无法在3分钟内赶到。
针对问题一第二小问的调度警员封锁路口问题,为了最快封锁完全区,封锁时间取决于交警最后达到的一个路口所花费的时间决定,用图论中的最大最小化模型,求出到达最远路口的最短时间。
将原来的双目标最大最小化问题转化为单目标最优化问题,利用0-1规划,约束13个路口和13个不同的平台一一对应,求出所有交警在路途上花费的总时长最短,用lingo得到调度方案,封锁全城需要时间8.0155分钟。
针对问题一第三小问,我们考虑到第一小问分配结果有6个路口28、29、38、39、61、92无法在3分钟内赶到。
所以我们以3分钟内到达6个路口为目标得到72种添加方法,在这些方案中,用平台间工作量不均衡度(即各个平台的工作量方差)决定最合理的增添方案。
针对问题二第一小问,我们看:1.所有路口是否能在3分钟内赶到;2.平台间工作量是否较为平均,来评判该城区的平台设置是否合理,发现有138个路口无法在3分钟内赶到,对于582个路口而言快达到四分之一了,并且平台之间的工作量差异巨大可以看出严重不合理。
我们采用自己的方法用最大集合覆盖模型在平台数量不变的基础上重新设置平台。
3分钟内可能到达的路针对问题五,我们对动态围堵逃犯的问题,我们先算出嫌犯t口合集,再让警方围堵住嫌犯可能到达的路口的毗邻路口,如果无法围堵,扩大范围,围堵下一圈可能到达的路口,通过lingo算出能在11.28分钟内完成围堵,方案见正文。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
load B1.txt %巡警站点号、横坐标、纵坐标(前三列)load B2.txt %起始点,末端位置号(两列)
hzb=B1(:,2);%横坐标
zzb=B1(:,3);%纵坐标
start=B2(:,1);%起始位置
fina=B2(:,2);%末端位置
n=length(hzb);%坐标个数
m=length(start);%起始点个数:含重复
a=ones(n,n);%n阶矩阵
b=10000.*a;%b为矩阵a的值乘上10000
for i=1:m %每个始点出去
x=start(i);
y=fina(i);
if y<=92
s=((hzb(x)-hzb(y))^2+(zzb(x)-zzb(y))^2)^0.5;
b(x,y)=s;
b(y,x)=s;%双向图距离
end
end
path=zeros(n,20);%终点前一个路劲节点
distance=b(:,1:20);%二十个站到其他点的最短距离
u=0;
mindis=10000;%最短距离初始为10000
flag=1;
s=zeros(n,1);
for i=1:20
s=0.*s;%每次清零
flag=1;%bool型标量
for j=1:n
if distance(j,i)<10000
path(j,i)=i;%若满足,就往下走
end
end
s(i)=1;
for j=1:n
% if flag==1
mindis=10000;
for k=1:n
if s(k)==0 & distance(k,i)<mindis
u=k;
mindis=distance(k,i);%选择最小的赋给mindis
end
end
% if mindis>30
% flag=0;
% end
s(u)=1;
for k=1:n
if s(k)==0 & b(u,k)<10000 & distance(u,i)+b(u,k)<distance(k,i)
distance(k,i)=distance(u,i)+b(u,k);
path(k,i)=u; %选择最短路径
end
end
% end
end
end
for i=1:20
for j=1:n
ifdistance(j,i)<10000&
fprintf(' %d %d %f,%d\n',i,j,distance(j,i),path(j,i));
% fprintf('%d %d %f %d\n',i,j,distance(j,i),path(j,i));
%fprintf('%f\n',distance(j,i)); %输出路径,始点,终点,及终点前一个结点end
end
end
数学建模文章格式模版
题目:明确题目意思
一、摘要:500个字左右,包括模型的主要特点、建模方法和主要结果
二、关键字:3-5个
三.问题重述。
略
四.模型假设
根据全国组委会确定的评阅原则,基本假设的合理性很重要。
(1)根据题目中条件作出假设
(2)根据题目中要求作出假设
关键性假设不能缺;假设要切合题意
五.模型的建立
(1)基本模型:
1) 首先要有数学模型:数学公式、方案等
2) 基本模型,要求完整,正确,简明
(2)简化模型
1)要明确说明:简化思想,依据
2)简化后模型,尽可能完整给出
(3)模型要实用,有效,以解决问题有效为原则。
数学建模面临的、要解决的是实际问题,
不追求数学上:高(级)、深(刻)、难(度大)。
u 能用初等方法解决的、就不用高级方法,
u 能用简单方法解决的,就不用复杂方法,
u 能用被更多人看懂、理解的方法,就不用只能少数人看懂、理解的方法。
(4)鼓励创新,但要切实,不要离题搞标新立异
数模创新可出现在
▲建模中,模型本身,简化的好方法、好策略等,
▲模型求解中
▲结果表示、分析、检验,模型检验
▲推广部分
(5)在问题分析推导过程中,需要注意的问题:
u 分析:中肯、确切
u 术语:专业、内行;;
u 原理、依据:正确、明确,
u 表述:简明,关键步骤要列出
u 忌:外行话,专业术语不明确,表述混乱,冗长。
六.模型求解
(1)需要建立数学命题时:
命题叙述要符合数学命题的表述规范,
尽可能论证严密。
(2)需要说明计算方法或算法的原理、思想、依据、步骤。
若采用现有软件,说明采用此软件的理由,软件名称
(3)计算过程,中间结果可要可不要的,不要列出。
(4)设法算出合理的数值结果。
七、结果分析、检验;模型检验及模型修正;结果表示
(1)最终数值结果的正确性或合理性是第一位的;
(2)对数值结果或模拟结果进行必要的检验。
结果不正确、不合理、或误差大时,分析原因,
对算法、计算方法、或模型进行修正、改进;
(3)题目中要求回答的问题,数值结果,结论,须一一列出;
(4)列数据问题:考虑是否需要列出多组数据,或额外数据
对数据进行比较、分析,为各种方案的提出提供依据;
(5)结果表示:要集中,一目了然,直观,便于比较分析
▲数值结果表示:精心设计表格;可能的话,用图形图表形式
▲求解方案,用图示更好
(6)必要时对问题解答,作定性或规律性的讨论。
最后结论要明确。
八.模型评价
优点突出,缺点不回避。
改变原题要求,重新建模可在此做。
推广或改进方向时,不要玩弄新数学术语。
九、参考文献.十、附录
详细的结果,详细的数据表格,可在此列出。
但不要错,错的宁可不列。
主要结果数据,应在正文中列出,不怕重复。
检查答卷的主要三点,把三关:
n 模型的正确性、合理性、创新性
n 结果的正确性、合理性
n 文字表述清晰,分析精辟,摘要精彩
内容你自己写吧,我也正想要呢
回答者:8amost3|一级| 2011-9-10 09:23
大爷的
回答者:热心网友| 2011-9-10 16:27
加超级群174165607
回答者:热心网友| 2011-9-10 18:54
这个题目是个优化问题;
1、第一问有三段话,每一段其实是对方案的一次筛选;针对第一段内容,首先建立3分钟区域圈,然后可以得出一些方案,这里可能得出好几个甚至无数个方案,不过不要担心;
至于筛选规则,提醒下:不要筛没了,也不要留的太多(一般情况下,筛到处理不好,方案没了)
第二段不多说,提示跟第三段的提示一样!
第三段是要你添加一些点,这个应该不难做吧,可以参考下图论的那些个经典算法;
本题还有其他的解题思路:就是通过建立目标规划模型解决!重点还是实现上啦,其实图论及目标规划很简单,关键是求解算法及实现!
2、这一问其实是一个全局的配置问题:找出一些问题,尤其是区域边界处的设点拥挤问题;
下面是给你一个问题,让你给出一个方案,这个问题是个资源调配问题,把握两个原则:时间最短、围堵区域最小。
回答者:钱晓东1111|四级| 2011-9-11 00:27
最短时间跟最小围堵范围应该是同一理解吧
回答者:数学的2建模|一级| 2011-9-11 12:50
二. 模型假设
针对以上问题,我们提出以下合理假设:
1. 材料中所给的数据真实可靠
2. 图中任意两相邻标志点之间的道路为直线
3. 警察在规定时间内到达目的地的标志点就算满足要求
4. 警察按最短的路程选择赶往目的地
5. 不考虑交通阻塞等因素。
到达目的地的车辆行驶速度只与道路条件有关
6. 没有两个或两个以上的地方同时报警或按交巡警服务平台
7. 每个交巡警服务平台的职能和警力配备基本相同。
三. 符号说明
如无特别说明,本文的符号具有以下意义:
如无特别说明,本文的符号具有以下意义:
:任意两个标志点与间的距离
:标志点间的距离组成的距离矩阵
:标志点的邻接矩阵
:邻接矩阵的元素。
:相邻标志点间的距离矩阵。
:相邻标志点与间的距离
:标志点的权值矩阵
:标志点间的最短距离矩阵
:标志点与之间的最短距离。
:第一类学校顺序值向量(列向量)
:第二类学校顺序值向量(列向量)
四. 问题分析
本题所要解决的是交巡警服务平台分配管辖范围,我们利用已知的数据进行分析,利用MATLAB和Excel求的A区各路线起点与终点的距离。
并求出两点之间相应的时间。
(一)问题1的求解:
问题1 我们必须先根据题中所给的数据计算出各标志点任意两两之间的最短距离。
从而得到时间的模型,同时还可以得到警员布置的初步方案。
1、首先我们可以根据题中所给的各个标志点的坐标,用matlab计算出任意两点之间的直线距离,得到95*95的距离矩阵:
2、根据题中的分布图,我们可以得到各标志点的邻接矩阵:,即如果两个点相邻,则邻接矩阵中相对应的元素的值为1,否则为0;例如:1和2这两个点相邻,那么= =1。
3、根据Floyd算法,我们是要求出各标志点任意两两之间的距离,所以我们需要得到相邻两个标志点的直线距离。
我们可以利用距离矩阵的元素与的点乘积得到相邻标志点间的距离矩阵:。