发明内容
本发明为克服上述的不足之处,目的在于提供一种基于覆盖度评估及优化警力资源部署的方法,本方法为城市交警指挥部门针对警力资源的部署进行评估,提供优化模型并求解得到警力部署位置,使得警力的部署更加合理,从而减少警力资源的过度浪费,并且针对发生的警情能够达到有效及时的处置。
本发明是通过以下技术方案达到上述目的:一种基于覆盖度评估及优化警力资源部署的方法,包括如下步骤:
(1)对数据库中的警员巡逻轨迹与警情位置数据作预处理;
(2)基于预处理后的警员巡逻轨迹与警情位置数据建立警力部署评估模型;
(3)基于警力部署评估模型,以最大化总覆盖度为目标建立警力部署优化模型;
(4)将警力部署优化模型松弛转化为拉格朗日问题;
(5)利用拉格朗日松弛算法求解拉格朗日问题,选出候选警力部署位置;
(6)结合候选警力部署位置的覆盖度与周边历史警情数对候选警力部署位置进行过滤得到最终的警力部署位置。
作为优选,所述步骤(1)对警员巡逻轨迹数据作预处理为将警员巡逻轨迹数据的更新频率设为30S-90S更新一次,并去除警员在处置警情时间段内的巡逻轨迹数据。
作为优选,所述步骤(1)对警情位置数据作预处理为将警情与处置此警情的警员进行关联,以警员处置完成警情2分钟内的最近时刻的巡逻轨迹坐标作为警情坐标,以填补缺失的警情位置数据。
作为优选,所述步骤(2)建立警力部署评估模型的步骤如下:(i)根据警员巡逻轨迹数据,利用k-means方法聚类得到警员巡逻热点;
(ii)定义覆盖度函数如下式:
其中,i为警情发生点,I警情发生点的集合,j为警员巡逻热点,J为警员巡逻热点集合,cij为覆盖度分段函数,
(iii)基于覆盖度定义函数求得每个巡逻热点的覆盖度为从而形成警力部署评估模型。
作为优选,所述cij为覆盖度分段函数,其定义如下:
其中,dij为警情发生点与警员巡逻热点之间的欧氏距离,s为巡逻热点能够全部覆盖警情的最大距离,t为巡逻热点只能部分覆盖警情的最大距离。
作为优选,所述步骤(3)建立的警力部署优化模型如下公式所示:
其中,J为候选的警员巡逻热点,P为警员巡逻热点设定个数,
作为优选,所述步骤(4)将警力部署优化模型松弛转化为拉格朗日问题的方法为通过约束条件对警力部署优化模型进行松弛,设λi(i∈I)≥0为拉格朗日松弛因子,松弛为如下公式所示的拉格朗日问题:
作为优选,所述步骤(5)的拉格朗日松弛算法如下:
(a)初始化模型参数,初始化迭代步数k=0,上限值Z1=+∞,下限值Z2=-∞,拉格朗日乘子λ0=0;求得当λ0=0时拉格朗日问题的解作为优化模型上限的初始值,求得一组可行解与初始化迭代步长参数α0=2,迭代步长
(b)利用次梯度法更新拉格朗日乘子λ,当迭代步数为k时,利用次梯度法更新拉格朗日乘子,求得拉格朗日问题的解为与计算出同时更新参数αk=2,
(c)生成优化模型的下限值由步骤(b)求得的与计算下限值
(d)更新模型的上下限值,逐步逼近最优解;
如果上限则令如果则令
(e)更新迭代步长参数αk;
如果连续多次迭代,模型上限值无变化,则更新迭代参数为αk=αk/2;
(f)检验迭代终止条件,迭代终止条件可设为迭代步数k=1000、Z1-Z2≤0.25或三个中的任意一个。
作为优选,所述步骤(6)为将每个候选警力部署位置的警情覆盖度与周边历史警情数两个因素按照2:1的比例加权,并以此作为衡量指标,从候选警力部署位置过滤选出最终的警力部署位置。
本发明的有益效果在于:(1)首先针对各个辖区当前警力资源的部署通过计算覆盖度进行评估,将部署策略量化,更加具体地表述各辖区警力部署的优劣;其次以最大覆盖度为目标来进行优化,提出新的部署策略,以便交警指挥部门进行参考;(2)本发明以各辖区实际发生的警情位置数据及道路状况来进行警力资源的部署,相对于以往只根据经验来部署警力更能从实际情况出发,不掺杂过多的主观性,因此提出的部署方案相对更客观。
实施例:如图1所示,一种基于覆盖度评估及优化警力资源部署的方法,包括如下步骤:
1)警员轨迹与警情位置数据预处理
本实施例以杭州各交警中队为单位进行相应的警力资源部署的评估与优化,这里以下城二中队为例。首先针对警员的巡逻轨迹数据做预处理,将警员的轨迹数据规范为约1分钟更新一次,并且将警员处置警情时间段内的轨迹数据删除掉,在Oracle数据库中建立警员的轨迹数据表TRACK_POLICE,各字段注释如表1所示:
DEV_ID |
警员警号 |
char(50) |
UPD_TIME |
轨迹更新时间 |
DATE |
COORD_X |
经度坐标 |
char(50) |
COORD_Y |
维度坐标 |
char(50) |
表1
其中,警员巡逻轨迹数据表在数据库中的存储方式如图2所示:
警情位置数据即为警情发生所处地点的经纬度坐标(coord_x1,coord_y1),针对数据库中警情坐标缺失严重的问题,这里采取将警情与处置此警情的警员进行关联,以警员处置完成警情两分钟内时间最近时刻的轨迹坐标作为警情的坐标,来填补缺失的警情位置数据。预处理后的警情位置数据将用于后面评估模型中计算巡逻热点的警情覆盖度,以及用于最终优化模型中计算候选部署位置的警情覆盖度,从而得出优化模型的结果,即为选取出的使总覆盖度最大的候选位置。在Oracle数据库中建立警情的位置坐标数据表TRACK_EVENT,各字段注释如表2所示:
ID |
警情编号 |
char(50) |
DEV_ID |
警员警号 |
char(50) |
COMPLETE_TIME |
完成时间 |
DATE |
UPD_TIME |
轨迹更新时间 |
DATE |
COORD_X |
经度坐标 |
char(50) |
COORD_Y |
维度坐标 |
char(50) |
表2
其中,警情发生位置数据表在数据库中的存储方式如图3所示。
2)建立警力部署评估模型
(2.1)利用k-means方法聚类警员巡逻热点,并画出警情全部与部分覆盖区域;
根据警员的巡逻轨迹数据,利用k-means方法聚出警员的10个巡逻热点,以十字号“+”表示,并根据部署中心与警情之间的地图欧氏距离定义全部覆盖半径s与部分覆盖半径t,这里取画出每个巡逻热点的全部覆盖区域与部分覆盖区域,分别用实线与虚线作为边界线表示,如图4所示;
(2.2)计算各个巡逻热点及整个中队的警情覆盖度;
利用上述警力评估模型中定义的覆盖度来度量巡逻热点部署的合理性,覆盖度为:
其中,i为警情发生点,I警情发生点的集合,j为警员巡逻热点,J为警员巡逻热点集合,cij为覆盖度分段函数;
其中,dij为警情发生点与警员巡逻热点之间的欧氏距离,s为巡逻热点能够全部覆盖警情的最大距离,t为巡逻热点只能部分覆盖警情的最大距离。
由上述定义的覆盖度函数,可以求得每个巡逻热点的覆盖度,即为
计算出的10个巡逻热点及整个中队的覆盖度如表3所示:
巡逻热点 |
经度坐标 |
维度坐标 |
警情覆盖度 |
P1 |
120.1629 |
30.26394 |
2.978903 |
P2 |
120.1828 |
30.26278 |
1.640784 |
P3 |
120.1759 |
30.26054 |
13.039522 |
P4 |
120.1734 |
30.25982 |
9.817156 |
P5 |
120.1678 |
30.26687 |
5.318041 |
P6 |
120.1636 |
30.2603 |
3.261254 |
P7 |
120.1666 |
30.26041 |
10.168294 |
P8 |
120.1567 |
30.26673 |
2.165385 |
P9 |
120.1593 |
30.26184 |
8.436347 |
P10 |
120.1759 |
30.26671 |
7.601452 |
下城二中队 |
|
|
64.42714 |
表3
3)建立警力部署优化模型
为了使警力部署得更加合理,针对发生的警情能够达到最大程度的覆盖。根据上述定义的警员巡逻热点对警情发生点的覆盖度,以最大化总覆盖度为目的,来建立优化模型,找到更加合理的巡逻热点,以此来部署警力。
以下城二中队为例,首先根据辖区内的道路状况以及发生警情的情况,选取20个警力部署候选位置(优先选择交通路口),在此基础上以最大化覆盖度为目的,建立如下优化模型:
其中选取的20个候选警力部署位置如表4所示:
候选部署中心 |
经度坐标 |
维度坐标 |
P1 |
120.151 |
30.267 |
P2 |
120.151 |
30.261 |
P3 |
120.156 |
30.266 |
P4 |
120.159 |
30.267 |
P5 |
120.159 |
30.264 |
P6 |
120.159 |
30.261 |
P7 |
120.163 |
30.267 |
P8 |
120.163 |
30.161 |
P9 |
120.167 |
30.267 |
P10 |
120.167 |
30.264 |
P11 |
120.167 |
30.261 |
P12 |
120.171 |
30.267 |
P13 |
120.171 |
30.261 |
P14 |
120.176 |
30.267 |
P15 |
120.176 |
30.264 |
P16 |
120.176 |
30.261 |
P17 |
120.18 |
30.267 |
P18 |
120.18 |
30.261 |
P19 |
120.183 |
30.267 |
P20 |
120.183 |
30.261 |
表4
4)将警力部署优化模型松弛转化为拉格朗日问题
将约束条件进行松弛,建立简化的优化模型,设λi(i∈I)≥0为拉格朗日松弛因子,则上述优化模型可松弛为如下拉格朗日问题(LR问题):
其中当拉格朗日乘子固定时,第二部分为固定值,这里只需要最大化第一部分即可,可令:
LR问题进一步简化为如下式子所示:
5)利用拉格朗日松弛算法求解LR问题(警力部署优化模型)
这一步骤先从候选的20个警力部署位置中选取其中的15个作为下一步二次过滤的候选位置,即P=15,利用拉格朗日松弛算法求解上述优化模型;
拉格朗日松弛算法如图5所示,包括如下步骤:
(a)初始化参数,初始化迭代步数k=0,上限值Z1=+∞,下限值Z2=-∞,拉格朗日乘子λ0=0;求得当λ0=0时LR问题的解作为优化模型上限的初始值,求得一组可行解与初始化迭代步长参数α0=2,迭代步长
(b)利用次梯度法更新拉格朗日乘子λ并求解LR问题,当迭代步数为k时,利用次梯度法更新拉格朗日乘子, 求得LR问题的解为与计算出同时更新参数αk=2,
(c)生成优化模型的下限值由步骤(b)求得的与计算下限值
(d)更新模型的上下限值,逐步逼近最优解;
如果上限则令如果则令
(e)更新迭代步长参数αk;
如果连续多次迭代,模型上限值无变化,则更新迭代参数为αk=αk/2;
(f)检验迭代终止条件,迭代终止条件可设为迭代步数k=1000或Z1-Z2≤0.25或
本实施例中将算法迭代1000步设置为终止条件,每步迭代过程就是模型上下限值的逐步逼近,迭代1000步后得到模型的上下限值分别为138.0667与111.9409;
相应的解为y=(0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0),即将P3,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18这15个候选位置进行下一步的二次过滤,下面给出所选的15个候选警力部署中心的覆盖度如表5所示:
P1 |
120.156 |
30.266 |
5.365128 |
P2 |
120.159 |
30.264 |
1.324419 |
P3 |
120.159 |
30.261 |
6.901657 |
P4 |
120.163 |
30.267 |
0.68275 |
P5 |
120.163 |
30.261 |
3.313821 |
P6 |
120.167 |
30.267 |
12.21301 |
P7 |
120.167 |
30.264 |
10.47722 |
P8 |
120.167 |
30.261 |
12.64617 |
P9 |
120.171 |
30.267 |
5.314277 |
P10 |
120.171 |
30.261 |
4.965325 |
P11 |
120.176 |
30.267 |
9.09328 |
P12 |
120.176 |
30.264 |
7.236004 |
P13 |
120.176 |
30.261 |
18.53879 |
P14 |
120.18 |
30.267 |
2 |
P15 |
120.18 |
30.261 |
5.996903 |
表5
选取出覆盖度较大的15个部署点作为下一步二次过滤的候选,如图6所示,给出了下城二中队警情发生位置,用圆点表示,星号“*”表示初始候选警力部署中心,十字号“+”表示选出的15个下一步候选位置;
6)基于上述选出的部署位置周边发生的历史警情数与覆盖度加权,过滤模型解
由上述步骤中选出的15个候选警力部署位置,再次基于周边发生的历史警情数与覆盖度加权进行二次过滤,这样将警情数考虑进去有利于交警指挥部门针对每个部署点进行合理数量的派警。表6给出了上述15个候选位置全部以及部分覆盖的周边发生历史警情数与警情覆盖度,如下表6所示:
表6
将上表6中每个候选部署中心的警情覆盖度与周边历史警情数两个因素按照2:1的比例加权(即2*警情覆盖度+周边历史警情数)作为衡量指标,从中选出前10个指标值最大的候选部署位置作为最终的警力部署中心,结果为P3,P6,P7,P8,P9,P10,P11,P12,P13,P15,此时10个部署中心的警情覆盖度总和为93.38264235,相对于评估模型中的覆盖度64.42714有所增加。最终警力部署中心如下图7所示,其中黑色圆点表示警情发生点的位置,黑色星号“*”表示最初的候选部署位置,黑色十字号“+”表示经过优化模型及二次过滤后最终选取的警力部署位置。
针对警力部署这一应用场景,步骤6)的优势在于可以根据最后选取的部署位置覆盖的周边警情数以及辖区内的警力资源,对每个部署点进行合理数量的派警,以使得警情能够得到及时有效的处理,并且保证每个民警的任务尽量均衡。
以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。