繁体
果如图4所示,离散后共得到762个节
,比原始数据多了455个节
,离散后的节
数据见附件中的“newpoint.txt〞。
图4 整个区域离散结果图
采用这
值方法
路离散后,将直线上的无穷多个
转化有限个
,便于分析问题和实现相应的算法,由图4可知,所取得的整
离散效果还是比拟理想的。
5.1.3 分区域求解警车数目的算法设计
考虑到警车
置和巡逻方案需要满足:警车在接警后三分钟内赶到普通
位案发现场的比例不低于90%,赶到重
位必须控制在两分钟之内的要求。设计算法的目标就是求解
在满足D1情况下,总的警车数目最小,即每个区域都尽可能多地覆盖
路节
。由于警车的初始位置是未知的,我们可设警车初始停靠
在
路上的任一
,即分布在图4所示的762个离散
中的某些
节
上,总
思路是让每两辆车之间尽量分散地分布,一辆警车
辖一个分区,用这些分区覆盖整个区域。
于是我们设计算法1,步骤如下所示:
Step1:将整个区域预分
为个分区,每个分区分
一辆警车,警车的初始停靠位置设在预分
区中心的
路节
上,假设区域的中心不在
路节
上,那么将警车放在离中心最近的
路节
上;
Step2:统计分区不能覆盖的节
,调整警车的初始停靠
,使分区覆盖尽可能多的
路节
,调整分为区内调整和区间调整方案:〔1〕区内调整
照模拟退火思想构造的函数,在区间调整调整车辆初始
的位置〔后文中有详细说明〕,当分区内节
数较多时,调整的概率小些,分区内节
数较少时,调整的概率大些,〔2〕当区域中存在未被覆盖的节
或节
群〔大于等于三个节
集中在一个范围内〕时,将警车初始位置的调整方向为朝着这些未被覆盖的节
一定的规那么〔在
对算法的几
说明:
〔1〕该算法所取的车辆数是由多到少
行计算的,初始值设为20,这个值的选取是
据区域图估算的。
(2)预分区的优
在于使警车的初始位置尽可能均匀地分散分布,警车的初始停靠
在一个分区的中心
附近寻找得到,比起在整个区域随机生成停靠
,计算效率明显得到提
。
预分
之后,需要对整个区域不断地
行调整,调整时需要考虑调整方向和 调整概率。
警车调整借鉴的是模拟退火算法的方法,为了使分区内包
路节
数较多的分区的初始停车
调整的概率小些,而分区内包
路节
数的少的分区内的初始停车
调整的概率大些,我们构造了一个调整概率函数,
〔1〕