交巡警平台的设置及分布

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

交巡警平台的设置与分布
摘要
本文针对某市交巡警平台的布局,进行一系列详细的分析,计算,合理地设置交巡警服务平台的位置、分配各平台的管辖范围,以便最大程度的调度警务资源。

对于问题一(1),我们首先根据附件1中A区路口节点的分布图及其相关数据,把问题转化为求图论中最短路径的问题。

采用Dijkstra算法求解20个报警点到其他所有路口的最短路径。

但仍有3分钟内不能到达的点,这些点采取就近原则,对所有点进行分配,得到交巡警平台管辖范围分配表(见表一)。

问题一(2)中,需要调度全区20个交巡警服务平台的警力资源,对进出该区的13条交通要道实现快速全封锁,我们采取两种调度方案的分配原则:a. 交巡警到达13个路口节点的总时间最短;b. 最后到达13个路口节点的交巡警所用时间最短,利用0-1规划分析后,得出第一种方案所用时间更短,更科学合理,并得到A区交巡警服务平台警力合理的调度方案(见表三)。

问题一(3)中,首先对之前A区的分配进行优化处理,运用“集合覆盖模型”得到28,29,38,39,61,92这六个点不在3分钟覆盖的范围内,并将其定义为C类点,加之之前的计算没有考虑工作量的问题,需要增加交巡警服务平台,用MATLAB运用搜索法可得到:需要至少从候选的六个平台中选取四个路口设置交巡警平台。

此时,共有48种分配方案,经过分析,我们从最小均衡度均为3.0742的十组数中选取一组(28、39、48、87)进行计算,得其平均工作量为5.1875,将其定为最佳分配方案(见表八)。

问题二(1)因需要对全市交巡警平台进行评估,我们制定设置交巡警服务平台的原则为: a. 每个平台到达所服务路口所用时间不超过3分钟 b. 服务平台的工作量均衡度尽可能小。

根据附件二所给相关数据,结合问题一中的模型可知之前的设置与制定原则相悖,故而进行优化,采取“动态”优化方案,保持交巡警平台总数量不变,对全市交巡警平台进行统一优化,进而得到最优解。

问题二(2)因犯罪地点为P点(节点32),且嫌犯已在逃3分钟,根据常识,若要成功拦截罪犯,警察到封锁点所用时间应小于罪犯所用时间,在此时间内需要将嫌犯行驶的最大区域边界点进行完全封,承接问题二(1)中的方案,抽象为图论问题,并利用匈牙利算法可制订围堵方案(见表十二)
关键词:Dijkstra 0-1规划集合覆盖模型“动态”优化匈牙利算法
一、 问题重述
警察肩负着刑事执法、治安管理、交通管理、服务群众四大职能。

为了更有效地贯彻实施这些职能,需要在市区的一些交通要道和重要部位设置交巡警服务平台。

每个交巡警服务平台的职能和警力配备基本相同。

由于警务资源是有限的,如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题。

试就某市设置交巡警服务平台的相关情况,建立数学模型分析研究下面的问题: 一.(1)附件1中的附图1给出了该市中心城区A 的交通网络和现有的20个交巡警服务平台的设置情况示意图,相关的数据信息见附件2。

请为各交巡警服务平台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h )到达事发地。

一.(2)对于重大突发事件,需要调度全区20个交巡警服务平台的警力资源,对进出该区的13条交通要道实现快速全封锁。

实际中一个平台的警力最多封锁一个路口,请给出该区交巡警服务平台警力合理的调度方案。

一.(3)根据现有交巡警服务平台的工作量不均衡和有些地方出警时间过长的实际情况,拟在该区内再增加2至5个平台,请确定需要增加平台的具体个数和位置。

二.(1)针对全市(主城六区A ,B ,C ,D ,E ,F )的具体情况,按照设置交巡警服务平台的原则和任务,分析研究该市现有交巡警服务平台设置方案(参见附件)的合理性。

如果有明显不合理,请给出解决方案。

二.(2)如果该市地点P (第32个节点)处发生了重大刑事案件,在案发3分钟后接到报警,犯罪嫌疑人已驾车逃跑。

为了快速搜捕嫌疑犯,请给出调度全市交巡警服务平台警力资源的最佳围堵方案。

二、假设
1、假设全市区相通的两个节点之间道路是一条线段
2、假设警察出警过程中不发生堵车等意外,能畅通无阻的到达事发地
3、假设案发时所有交巡警平台同时出警
4、假设警方接到报警任务后,无其他事务干扰,立即出警
5、假设警车的平均速度为60km h
6、假设罪犯车辆行车平均速度与警车平均速度相等
7、假设事发地点均在路口节点处
8、假设每个节点仅由一个交巡警平台控制,每个交巡警平台至少控制一个节点
三、符号说明
ij a :j i 与两点间的距离;
ij x :为第i 个出口被第j 个出口封锁3i j 路口在分钟内可达到路口; ij t :3i j 路口在分钟之内可到达;
min 1t :所有交巡警到达13个路口节点的最短总时间; 2min t :最后一个交巡警所花的最短时间;
j x :路口设置交巡警平台;
j c :巡警服务台j 的工作量;
ij k :路口i 在3分钟内可达到路口j ;
3t Q +:嫌疑犯在)
(3+t 分钟内行驶的最大区域; 3t Q +∂:嫌疑犯在)
(3+t 分钟内行使的最大区域边界点集; P :现有所有巡警服务台的集合;
四、问题分析
问题一(1)
为了尽可能使交巡警(警车的时速为60km/h )在3分钟内到达事发地,需使尽可能多的点在交巡警平台的3分钟车程内,可将此问题转化为图论问题,求出每个交巡警平台到路口节点的最短距离,将3分钟之内可以到达的点进行区域划分,如实在不能,采取择近原则对其进行划分,从而得出最佳分配方案。

对于问题一(2)要想实现对进出该区的13条交通要道实现快速全封锁,需找出13个平台与13条交通要道一一对应,当交巡警将最后一个交通要道封锁时,任务完成。

我们可以分别建立两个模型:a .封锁总时间最短;b .封锁过程中最长时间最短。

根据具体的结果可得最佳分配方案。

对于问题一(3)需要根据现有交巡警服务平台的工作量不均衡和有些地方出警时间过长的实际情况进行更深入细致的分析。

将问题一(1)中距离最近的交巡警平台所用时间超过3分钟的节点,作为备选平台,根据实际情况可适当增加交巡警平台的数量(2~5个)。

对于问题二(1),需要研究分析全市交巡警服务平台的布局及其合理性,可根据问题一中求解A 区的情况进行解答,对全区交巡警平台的总体布局进行统一分析,倘若不能在3分钟内将所有路口覆盖,或者工作量的均衡度不能达到较小值时,均不算最优解,可采取对交巡警平台进行统一的重新分配或者适当增加交巡警数量的方法对分配方案进行优化改善。

对于问题二(2)中,已知事发地为P (节点32),根据常识要确保交巡警到达围堵路口所花费的时间必须小于嫌犯所花费的时间,此时罪犯已逃离三分钟,需求出嫌犯的最大区域边界点集,应在最短时间内运用警力对嫌犯的最大区域边界点进行全封锁,根据问题二(1)所得全市交巡警平台的具体分布情况来确定最佳围堵方案(见表十二)。

五、模型的建立与求解
5.1模型一的建立 5.1.1Dijkstra 模型
图一 A 区路口节点分布图
A 区所有路口节点分布如图一所示,从图中可以很清晰的看到A 区路口节点的分布情况。

第一问要为A 区20个交巡警平台分配管辖范围,使每个交巡警平台在所管辖的范围内出现突发事件时,尽量能在3min 内有交巡警(警车的时速为60km/h )到达事发地。

根据实际生活经验,交巡警在案发后赶到事发地点会走最短的路径到达事发地。

因此这是一个求最短路的问题,本文把A 区路口节点的分布当做图,把问题转化为求图论中最短路径的问题来求解。

本文采用Dijkstra 算法求解20个报警点到其他所有路口的最短路径。

Dijkstra 算法:是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。

算法主要特点是以起始点为中心向外层扩展,直到扩展到终点为止。

具体方法是:每次以不同的顶点作为起点,用Dijkstra 算法求出从该起点到其余顶点的最短路径,反复执行1-n 次这样的操作,就可以得到从每一个顶点到其他顶点的最短距离。

这种算法的时间复杂度为()
3n O 。

对于赋权图()0,,G V E A =,其中顶点集{}n v v V ,,1 =,邻接矩阵


⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡=nn n n n a a a a a a a a a A 33
1
22221
112110 , ⑴
其中
⎪⎩⎪⎨
⎧∞=之间无边时,
与当之间有边时与权值,与j i j i ij v v v v a ,, ,j i ≠; ⑵
.,,2,1,0n i a i ==
对于无向图,0A 是对称矩阵,ji ij a a =。

5.1.2 交巡警服务平台警力调度方案的确定
根据实际需要,本文确定了两种调度方案的分配原则:(1)交巡警到达13个路口节点的总时间最短;(2)最后到达13个路口节点的交巡警所用时间最短,分别建立了以下两个模型:
对于每个平台来说只有调度与不调度两种情况,所以可以建立01-规划模型,进行求解,可设ij x 为第i 个出口被第j 个出口封锁,可列模型为
0,1,ij x ⎧=⎨
⎩出口i 不被平台j 的警力封锁
出口i 被平台j 的警力封锁, ⑶
()1,2,,13;1,2,,20i j ==
模型一:总时间最短
已知需要调度全区20个交巡警服务平台的警力资源,对进出该区的13条交通要道实现快速全封锁,因此,以所有交巡警到达13个路口节点的总时间最短可列目标函数如下
min t x dist =* ⑷
其中,t 代表此方案所用总时间,dist 表示20个交警平台到13条交通要道的最短路径的距离矩阵,维数是1320⨯
约束条件⑴每个平台最多封锁一个出口
2013
1
1
(1)ij
j i x
==<=∑∑

约束条件⑵每个出口仅被一个平台封锁
1320
1
1
(1)ij
i j x
===∑∑ ⑹
故模型可列为
dist x t *=min ⎪⎪⎪⎩

⎪⎪⎨⎧=<==∑∑∑∑====10)1()1(20
113
1
13120
1或ij j i ij i j ij x x x ⑺
模型二:最后到达目标节点的交巡警所花时间最短同理可列模型为
)'max(min z t =
⎪⎪⎪⎩

⎪⎪
⎨⎧
*==<==∑∑∑∑====dist x z x x x ij j i ij i j ij ',10)1()1(20
113
1
13120
1
或 ⑻
式中:t 表示最后到达节点的交巡警所用时间,'z 表示交巡警平台警力分别到达十三个交通要道的时间
5.1.3确定平台个数与位置——集合覆盖模型
因为事先没有考虑现有交巡警服务平台的工作量不均衡和有些地方出警时间过长的实际情况,需要对交巡警服务平台进行进一步优化处理,可以通过对交巡警平台进行重新分配,适当增加平台来达到优化目的。

根据问题一(1)的求解方案可得平台3min 内不能到达的节点有六个分别为28,29,38,39,61,92,这六个节点可以作为备选的交巡警平台,另外经观察可发现不同的地方交巡警平台的工作量不同,考虑所用时间与工作量均衡度两方面因素对A 区交巡警平台进行统一划分
建立覆盖矩阵613T ⨯,其元素:
13min 03min ij i j t i j ⎧=⎨⎩
,路口在之内可到达,路口在之内不可到达

1,26i = , 1,213j = 。

其次,建立集合覆盖模型:
3min j j Q
j Q
f x ∈∈=∑

满足:1,..01
ij j isolated j Q
j t x i I s t x ∈⎧≥∀∈⎪
⎨⎪=⎩∑或 ⑾ 其中:1,0,j j x j ⎧=⎨⎩路口设置巡警服务台
路口不设置巡警服务台

isolated I 表示C 类节点的集合
5.2.1巡警服务台设置的优化——“动态”优化 此方案的优化思想为:在不改变现有巡警服务台数目的情况下,对80个巡警服务台的位置进行重新定位,从而使城区A 中的C 类路口数目尽量少且巡警服务台的工作量尽量均衡。

模型的建立
根据此方案的优化思想,首先确定候选集为:{}582,2,1 =J ,需求点集为:{}582,2,1 =I 。

然后,建立最大集合覆盖模型,从候选集中选出80个点以满足使城区A 中的C 类路口数目尽量少且巡警服务台工作量尽量均衡。

模型如下:
4max ij j i I
i I j J
j J
f k x ∈∈∈∈=∑∑ ⒀ 满足:
80..01
j j J j x s t x ∈⎧=⎪⎨⎪=⎩∑或 ⒁
其中:
10j j x j J j ⎧=∈⎨⎩,路口设置巡警服务台,其中,路口不设置巡警服务台
⒂ 13min ,03min ij i j k i I i j ⎧=∈⎨⎩,路口在内可达到路口,其中,路口在内不可达到路口

5.2.2 围堵方案的确定
按照问题分析,本文定义相关概念如下:
3t Q + :嫌疑犯在(t +3)min 内行驶的最大区域;
3t Q +∂:嫌疑犯在(t +3)min 内行驶的最大区域边界点集;
P : 现有所有巡警服务台的集合
3331,,0t t t P t Q T Q P P t Q +++∂⎧<∂>=⎨∂⎩
可以适当分配中的警力,在时间内到达中的所有路口点
,不能适当分配中的警力,在时间内到达中的所有路口点 ⒄
本文以时间t 为目标,建立优化模型如下:
m in t ..s t 3,1t T Q P +<∂>=
模型的限制条件中,对于是否可以适当分配P 中的警力,可以在t 时间内到达3
t Q +∂中所有点,可以抽象为图论中二部图的完全匹配问题,如果可以分配警力使其和3t Q +∂中的边界点一一匹配,则3,1t T Q P +<∂>=
六.模型求解
6.1.1报警点管辖范围的求解
根据Dijkstra 算法求解得到20个报警平台到所有路口节点的最短路径和最短距离,采取每个节点被离它最近的交巡警平台管辖的原则,我们得到了如下交巡警平台管辖范围分配表(表一):
有节点进行了合理分配。

当然,除了确保每个路口节点被离它最近的交巡警平台所管辖之外,还需要验证是否交巡警平台到它所管辖范围内的所有路口节点所花的时间都小于3分钟。

经过分析得到不满足要求的情况,见表二。

用时间超过3分钟的节点
6.1.2交巡警服务平台警力调度方案的确定
通过对两个模型的求解,得到的结果如下:
⑴采取交巡警到达十三个交通要道的总时间最短的原则,最优警力调度方案如表三所示
⑵采取最晚到达十三个交通要到的交巡警所花时间最短的原则,最优警力调度方案如表四所示
第一种模型的分配方案为
表三总时间最短
由表三中各个平台的封锁时间可知全面封锁十三个交通要道所需的最长时间时间为8.0155分钟,所用总时间为46.1885分钟。

第二种模型的分配方案:
表四最长时间最短
由表四中各平台所用时间,可知最长时间为8.0155,整个方案所用总时间为70.8043分钟。

根据常识可知,当最后一个路口被交巡警完全封锁后,整个围堵方案才算完成,由上述两种方案可看出两者方案完成的最长时间均为8.0155,但对于总时间,min 1t =46.1885分钟,min 2t =70.8043分钟min 2min 1t t <,故选择第一种方案
6.1.3交巡警平台的分布及增设
通过对集合覆盖模型的的求解,利用MATLAB 搜索法得到:需要至少从候选的六个平台中选取四个路口用设置交巡警平台,才能解决出警时间过长及发案率分布不均匀的问题,此时,共有48种分配方案如表五所示
2.最终分配方案的确定
1)为每种方案的24个巡警服务台分配管辖范围。

步骤一:
用问题一(1)中的方法可得到覆盖矩阵9224K ⨯。

步骤二:
此时根据上述集合覆盖矩阵可将城区A 的92个路口分为A 、B 两类 A 类:由一个交巡警服务台进行管辖 B 类:可被多个交巡警服务平台管辖
将A 类中的路口直接分配给对其进行管辖的唯一的巡警服务台。

对于B 类的
路口,在综合距离最近与工作量平均的情况下来进行分配。

即:首先选择距离路口i 最近的巡警服务台 ()1,224j j = ,然后利用公式92
1j ij i i c s in ==∑计算巡警服务台j 的工作量
j c ,若j c C ≤则将路口i 分配给巡警服务台 j 管辖,否则选择次短距离的巡警服务台进行
同样考虑。

最后得到每种分配方案中24 个巡警服务台的管辖范围。

步骤三:
根据平局工作量公式与工作量不均衡度公式,利用MATLAB 分别对48中分配方案中巡警服务台的工作量不均衡度进行计算。

得到表六
表六 48种方案工作量不均衡度值
此表详细的说明48种方案的不均衡度情况由表中数据可看出,最小不均衡度为3.0742,此时共有十种分配方案,如表七所示
警服务台)对应的城区A 的24个巡警服务台的管辖范围与每个巡警服务台对应的工作量,如表八:
表八 24个服务台分布
服务台 管辖范围 服务台 管辖范围
1 1,67,68,69,71 13 13,21,22,23,24
2 2,43,44,70,72 14 14
3 54,55,3,65,66 15 15
4 4,57,60,62,63 16 16,36,37
5 53,5,49,50,51 17 41,17,42
6 6,52,56,58,59 18 18,74,80,81,82
7 7,30,32 19 19,75,76,77,7
8 8 8,33,45,46 20 20,85,86,90,91
9 9,31,34,35 28 28,29 10 10 39 38,39,40 11 11,26,27 48 61,67,48 12 12,25 87 92,83,84,87,88
从整体可看出,此种分配方式较为均匀,表九为各平台的工作量,更能直观的反映情况
经计算得平均工作量为5.1875,不均衡度为3.0742。

据此,经过分析处理选择增加4个交巡警服务平台,增加平台的路口标号分别为28、39、48、87
6.2.1全市交巡警平台的分布
问题二需要针对全市(主城六区A,B,C,D,E,F)的具体情况,按照设置交巡警服务平台的原则和任务,分析研究该市现有交巡警服务平台设置方案的合理性。

鉴于问题一,我们规定
设置交巡警服务平台的原则为:
(1)每个平台到达所服务路口所用时间尽量不超过3min
(2)所有服务平台的工作量均衡度尽可能小
设置交巡警服务平台的任务:
资源尽可能充分利用,保证任何路口发生事故,3min之内都有警察出现
基于设置交巡警服务平台的原则和任务,并根据所给全市数据,依据问题一的方法对全市主城六区进行分析。

首先,分析是否满足原则一
全城六区,,,,,
A B C D E F现有个80巡警服务台,582个路口,运用问题一(1)中的算法,得到全市距离巡警服务台所用时间超过3min的路口节点(表十)
3min内到达,显然不符合原则一
为了使全市交巡警分布更为合理,在此运用动态优化模型对其进行改善
利用LINGO 对上述模型进行求解,结果如下:
小于原来的138个,其工作量不均衡度降到29.3736,相对于原来的40.4下降了27.3%。

6.2.2 对P 点进行围堵 初始化t = 0;
第一步:令t = t +1;
第二步:计算嫌疑犯在t +3时间内的覆盖区域3t Q +∂; 第三步:计算3t Q +∂的边界点集;3t Q +∂
第四步:计算得到3t Q +∂ 与P 之间的关系矩阵;
第四步:将中P 分配的警力,在t 时间内到达3t Q +∂中的所有路口点的问题,
抽象为图论中二部图的完全匹配问题。

运用匈牙利算法,得到P 到3t Q +∂ 的最大 匹配。

如果是完全匹配,则计算终止,最佳围堵时间为t ,最佳围堵方案即为完 全匹配的结果;否则转到第一步继续计算;
在优化方案的配置下,其巡警节点为80个,相应的最佳围堵方案和最少围堵时间如表十二所示:
由表可知最长时间为8.8238,即只需8.8238min就可以将嫌犯抓捕归案,此方案可使交巡警围堵嫌犯思路更为清晰,明确。

七.模型的评价与推广
7.1模型的评价
优点:
1.将交巡警平台转化为图论问题,用Dijkstra算法求出各节点之间的距离,更加直观明了
2.用0—1规划模型可将很多看似不协调的约束放在一个模型中进行研究,更能直观的反映实际情况
3.用集合覆盖模型,直接排除了不符合情况(所用时间超过3min),将节点分为三类,条理清晰,并对新增平台提供备选节点
4.“动态”优化,打破常规思维,直接对全市所有节点进行统一再分配,节省资源的同时,也实现了利益最大化
不足:
1.本方案适用于理想情况下,如遇突发事件(如堵车,同时发生n起事故)则会出现很多问题
2.在进行全市范围内的围堵时,较少考虑到发案率情况
7.2模型的改进
1.只考虑作案地点发生在路口处,可以对线段进行细分,已达到更精确的地步
2.对于“动态”优化模型,可以进行进一步的处理,如增加交巡警平台
7.3模型的推广
floyd模型可用于银行、医院等地的排队问题,0-1规划模型可用来改善复杂情况的求解,如旅行推销员情况,电路设计、工厂选址、生产计划安排、旅行购物、背包问题、人员安排、代码选取、可靠性等人们所关心的诸多问题
八.参考文献
[1] 韩中庚,数学建模方法及其应用,解放军信息工程大学:高等教育出版社,2005.6.
[2] 司守奎孙玺箐,数学建模算法与应用,北京:国防工业出版社,2012.5.
[3] 许丽佳穆炯,MATLAB程序设计及应用,北京:清华大学出版社.2011.12
[4] 谢金星薛毅,优化建模与LINDO/LINGO软件,北京:清华大学出版社2005.7.1
[5] 张成堂城市交巡警平台的设置与调度优化模型,重庆理工大学学报2012年11期
[6] 吕亚骏丁杰骆瑶交巡警服务平台的设置与调度,南通职业大学学报,东南大学2012年03期
附件
附录一:问题一(1)
%%%定义floyd函数
function [dist,mypath]=myfloyd(a,sb,db);
% 输入:a—邻接矩阵(aij)是指i 到j 之间的距离,可以是有向的
% sb—起点的标号;db—终点的标号
% 输出:dist—最短路的距离;% mypath—最短路的路径
n=size(a,1); path=zeros(n);
for i=1:n
for j=1:n
if a(i,j)~=inf
path(i,j)=j; %j 是i 的后续点
end
end
end
for k=1:n
for i=1:n
for j=1:n
if a(i,j)>a(i,k)+a(k,j)
a(i,j)=a(i,k)+a(k,j);
path(i,j)=path(i,k);
end
end
end
end
dist=a(sb,db);
mypath=sb; t=sb;
while t~=db
temp=path(t,db);
mypath=[mypath,temp];
return
%%%求最短路径的距离矩阵及所走路径
clear;
clc;
data=load('C:\Users\Helen\Desktop\交巡警服务平台真题训练\生成的数据\第一问\邻接矩阵\data.txt'); n=length(data);
a=data
path=zeros(n);
%%以下为弗洛伊德算法
for k=1:n
for i=1:n
for j=1:n
if a(i,j)>a(i,k)+a(k,j)
a(i,j)=a(i,k)+a(k,j);
path(i,j)=k;
end
end
end
end
a,
% o=zeros(92,92)
% %%以下为弗洛伊德算法求单对点的距离
% for sb=1:92
% for db=1:92
% [dist,mypath]=myfloyd(a,sb,db);%sb,db表示单个七点和终点的标号,只能填写一个值
% o(i,j)=dist;
% end
% end
save('C:\Users\Helen\Desktop\交巡警服务平台真题训练\生成的数据\第一问\距离矩阵\data.txt','a','-ascii')
[dist,mypath]=myfloyd(a,15,28)
%%%%A区作图
data=load('C:\Users\Helen\Desktop\交巡警服务平台真题训练\原始数据整理\A区交通路口节点数据\data.txt');
data1=load('C:\Users\Helen\Desktop\交巡警服务平台真题训练\原始数据整理\A区交通路口节点数据\A区的交通路口路线数据\data.txt');
data2=load('C:\Users\Helen\Desktop\交巡警服务平台真题训练\原始数据整理\A区交通路口节点数据\出入A区的路口节点\data.txt');
clf
hold on
for i=1:length(data1(:,1))
plot([data(data1(i,1),2),data(data1(i,2),2)],[data(data1(i,1),3),data(data1(i,2),3)])
end
plot(data(:,2),data(:,3),'k.')
for i=1:length(data2(:,1))
plot(data((data2),2),data(data2,3),'r*')
end
for i=1:92
if i<=20
text(data(i,2)-1,data(i,3),'\color{red}O')
text(data(i,2)+2,data(i,3),num2str(i),'FontSize',10)
text(data(i,2)+0.2,data(i,3)+1.5,num2str(i),'FontSize',8)
end
%%以下为text的用法
%% c=rand(1,10)
% plot(0:pi/20:2*pi,sin(0:pi/20:2*pi))
% text(pi,0,num2str(c(5),'%.2f'),'FontSize',18);
end
%%%三分钟分配方案
clc
clear all
data=load('C:\Users\Helen\Desktop\交巡警服务平台真题训练\生成的数据\第一问\距离矩阵\data.txt'); data(find(data==inf))=0
for i=1:length(data(:,1))
for j=1:length(data(:,1))
if i==j
data(i,j)=0;
end
end
end
% data=data+data';
% data(find(data==0))=inf;
data1=data(1:20,:)
k=min(data1)%找到每一列最小值的坐标可以确定归谁管
% for i=1:length(data1(:,1))
% for j=1:length(data1(:,1))
% if i==j
% data1(i,j)=0;
% end
% end
% end
j=zeros(1,92);
m=zeros(20,92)
m=0
%让最小值为1,其他值为0
for i=21:92
% j(i)=find(data1(:,i)==k(i))
b=(data1(:,i))
a=find(b==k(i));
% pause
j(i)=min(a);
m(a,i)=1;
end
% a=[1 2;3,4;5 6]
% [s,d]=find(a==6)%s为行标d为列标
%列出20行管辖的范围
for i=1:20
b=m(i,:);
i
find(b~=0)
% pause
end
disp('以下节点数据过大')
find(k>30)
k(find(k>30))
附录二:问题一(2)
%%%求总时间最短
clc
clear
data=load('C:\Users\Helen\Desktop\交巡警服务平台真题训练\生成的数据\第一问第二小问\13 20矩阵\data.txt')%20*13矩阵
data1=data';
m=zeros(13,260);
n=zeros(20,260);
q=ones(1,13)';
q1=ones(1,20)';
l=[];
for i=1:13
m(i,(20*(i-1)+1):20*i)=1;%13个节点都交警平台到达
end
for i=1:20
n(i,(i+[0:12]*20))=1;%交警平台最多到达一个点
end
for i=1:13
l=[l;data1(i,:)'];
end
% m=[m;n]
% q=[q;q1]
[x,fval,exitflag]=bintprog(l,n,q1,m,q)
Z=zeros(20,13);
a=[12,36,49,74,90,113,131,155,167,188,202,225,244];
data(a)
%%%求最大时间的最小值
model:
!6发点8收点运输问题;
sets:
hang/ @file('C:\Documents and Settings\Administrator\桌面\交巡警服务平台真题训练\算法程序\第一问第二小问\lingo求解\data.txt') /: capacity;
lie/ @file('C:\Documents and Settings\Administrator\桌面\交巡警服务平台真题训练\算法程序\第一问第二小问\lingo求解\data.txt') /: demand;
links(hang,lie): cost, volume;
endsets
!目标函数;
min=@max(links:cost*volume);
!需求约束;
@for(hang(I):
@sum(lie(J):volume(I,J))<=capacity(I));!对每一行系数的取值作限制
!产量约束;
@for(lie(J):
@sum(hang(I):volume(I,J))=demand(J));!对每一列系数的取值作限制;
@for(links(i,j):@bin(volume(i,j)));!这里是数据;!对每个元素进行0-1约束;
data:
capacity = @file('C:\Documents and Settings\Administrator\桌面\交巡警服务平台真题训练\算法程序\第一问第二小问\lingo求解\data.txt');
demand = @file('C:\Documents and Settings\Administrator\桌面\交巡警服务平台真题训练\算法程序\第一问第二小问\lingo求解\data.txt');
cost = @file('C:\Documents and Settings\Administrator\桌面\交巡警服务平台真题训练\算法程序\第一问第二小问\lingo求解\data.txt');
enddata
附录三:问题一(3)对A区情况进行分析,并作出增设平台的方案
%%子函数
%初始化所有可能情况,构建矩阵,共后来计算使用
function chuli
a=[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];
K=[48,61];
L=[87 88 89 90 91 92];
m=0
for i=1:2
for j=1:2
for k=1:2
for l=1:6
m=m+1;
B(m,:)=[a,[I(i) J(j) K(k) L(l)]];
DD(m,:)=[I(i) J(j) K(k) L(l)];
end
end
end
end
save('C:\Users\Helen\Desktop\交巡警服务平台真题训练\参考程序\一等奖论文中给出的程序\模型三A区管辖范围及其均衡性\B.mat','B');
%%%子函数
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
% function Mcm3
x_y=xlsread('C:\Users\Helen\Desktop\交巡警服务平台真题训练\参考程序\一等奖论文中给出的程序\模型三A区管辖范围及其均衡性\cumcm2011B.xls',1,'b2:c93'); %载入A区路口节点的左边数据luxian_1_2=xlsread('C:\Users\Helen\Desktop\交巡警服务平台真题训练\参考程序\一等奖论文中给出的程序\模型三A区管辖范围及其均衡性\cumcm2011B.xls',2,'a2:b144'); %载入路线节点标号数据
load B.mat;
Record_data = cell(92,1); %创建包体,用来保存92个节点,每点的最大覆盖
count = 0;
for i = 1 :92
Node_index = luxian_1_2(find(luxian_1_2(:,1)==i),2);
Node_index = [luxian_1_2(find(luxian_1_2(:,2)==i),1);Node_index];
Node_index = Node_index(find(Node_index <=92));。

相关文档
最新文档