许愿时光【NPH】_数学建模 首页

字体:      护眼 关灯

上一页 目录 下一页

   数学建模 (第4/6页)

靠点时,在叁分钟时间限制内,警车能从初始停靠点赶到事发现场的最大距离为。

    5.1.2    将道路离散化

    由于事发现场是等概率地分布在道路上的,由区域地图可以发现,整个区域中的道路长度不均,为了使计算结果更加精确,可将这些道路离散化。只要选取适宜的离散方案,就能使警车在经过道路上的离散的点时就相当于经过了这条道路。这样,不管是求解警车初始停靠点还求解警车赶到事发现场所经过的道路时,所计算得的的结果显然比仅考虑整条道路的叉路口要精确得多。

    区域中共有307个道路交叉口,458条道路。我们采用线性插值方法对道路进行离散化,以的速度行走一分钟的距离作为步长,一分钟时间的选择是参照问题叁的结果要求来设定的,步长。用线性插值的方法,从道路的一个方向进行线性插值,实现将每条道路离散化的目标,考虑到有些道路不是的整数倍,我们就一般情况进行讨论,其分析示意图如图3所示。道路AB长度为个与长度的和,为了更精确处理CB段道路,那么就要考虑在CB之间是否要插入一个新的点,根据的长度不同,其对应的处理方式也有所不同。

    图3      道路离散化分析示意图

    引进临界指数,选取大小的准那么是使尽量离散化后警车等效的平均巡逻速度和题目给定的速度〔〕的差值尽量小,经过计算得时,不再插入新的坐标点时能使整个区域的道路离散效果较好。此时,将CB段长度设定为处理,于是离散后的AB道路长度会比实际长度短些;当时,需要在两个点之间再插入一点,因为这样处理能使整个区域的整体道路的离散化效果比拟理想。如图3所示,在C与B间再插入新的坐标点,插入的位置在距C点的D点处,这样处理后所得的道路长度比实际长度长了。采用这样的方法进行线性插值,我们使用MATLAB编程实现对整个区域道路的离散,所得的离散结果如图4所示,离散后共得到762个节点,比原始数据多了455个节点,离散后的节点数据见附件中的“newpoint.txt〞。

    图4      整个区域离散结果图

    采用这种插值方法道路离散后,将直线上的无穷多个点转化有限个点,便于分析问题和实现相应的算法,由图4可知,所取得的整体离散效果还是比拟理想的。

    5.1.3      分区域求解警车数目的算法设计

    考虑到警车配置和巡逻方案需要满足:警车在接警后叁分钟内赶到普通部位案发现场的比例不低于90%,赶到重点部位必须控制在两分钟之内的要求。设计算法的目标就是求解出在满足D1情况下,总的警车数目最小,即每个区域都尽可能多地覆盖道路节点。由于警车的初始位置是未知的,我们可设警车初始停靠点在道路上的任一点,即分布在图4所示的762个离散点中的某些点节点上,总体思路是让每两辆车之间尽量分散地分布,一辆警车管辖一个分区,用这些分区覆盖整个区域。

    于是我们设计算法1,步骤如下所示:

    Step1:将整个区域预分配为个分区,每个分区分配一辆警车,警车的初始停靠位置设在预分配区中心的道路节点上,假设区域的中心不在道路节点上,那么将警车放在离中心最近的道路节点上;

    Step2:统计分区不能覆盖的节点,调整警车的初始停靠点,使分区覆盖尽可能多的道路节点,调整分为区内调整和区间调整方案:〔1〕区内调整按照模拟退火思想构造的函数,在区间调整调整车辆初始点的位置〔后文中有详细说明〕,当分区内节点数较多时,调整的概率小些,分区内节点数较少时,调整的概率大些,〔2〕当区域中存在未被覆盖的节点或节点群〔大于等于叁个节点集中在一个范围内〕时,将警车初始位置的调整方向为朝着这些未被覆盖的节点按一定的规那么〔在

    对算法的几点说明:

    〔1〕该算法所取的车辆数是由多到少进行计算的,初始值设为20,这个值的选取是根据区域图估算的。

    (2)预分区的优点在于使警车的初始位置尽可能均匀地分散分布,警车的初始停靠点在一个分区的中心点附近寻找得到,比起在整个区域随机生成停靠点,计算效率明显得到提高。

    预分配之后,需要对整个区域不断地进行调整,调整时需要考虑调整方向和  调整概率。

    警车调整借鉴的是模拟退火算法的方法,为了使分区内包含道路节点数较多的分区的初始停车点调整的概率小些,而分区内包含道路节点数的少的分区内的初始停车点调整的概率大些,我们构造了一个调整概率函数,

    〔1〕

    〔1〕式中,均为常数,为整个区域车辆数,为第分区内覆盖的节点数,为时间,同时也能表征模拟退火的温度变化情况:初始温度较高,区域
加入书签 我的书架

上一页 目录 下一页