首页

搜索 繁体
请收藏本站网址:y1txt.net

数学建模(4 / 6)

一个方向进行线性插值,实现将每条道路离散化的目标,考虑到有些道路不是的整数倍,我们就一般情况进行讨论,其分析示意图如图3所示。道路ab长度为个与长度的和,为了更精确处理cb段道路,那么就要考虑在cb之间是否要插入一个新的点,根据的长度不同,其对应的处理方式也有所不同。

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

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

图4整个区域离散结果图

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

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

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

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

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

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

对算法的几点说明:

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

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

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

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

〔1〕

〔1〕式中,均为常数,为整个区域车辆数,为第分区内覆盖的节点数,为时间,同时也能表征模拟退火的温度变化情况:初始温度较高,区域调整速度较快,随着时间的增加,温度不断下降,区域调整速度逐渐变慢,这个调整速度变化也是比拟符合实际情况的。

由式〔1〕可以得出调整概率函数,假设在相同的温度〔时间〕的条件下,由于总的车辆数目是定值,当时,即第分区内的节点数大于第分区的节点数时,分区调整的概率大些,分区的调整概率小些。分析其原因:当分区内包含了较多的节点个数时,该分区的警车初始停靠位置选取地比拟适宜了,而当分区内包含的道路节点数较少时,说明警车的初始停靠位置没有选好,需要更大概率的调整,这样的结论也是比拟客观的。

对于所有分区外未被覆盖的道路节点和很多节点〔称之为节点群〕,用来调整警车位置迁移的方向,其分析示意图如图5所示。调整方案目标是使未被覆盖的节点数尽量的少。在设计调整方向函数时,需要考虑:〔1〕节点群内节点的数目;〔2〕警车距离节点群的位置。优先考虑距离,所以在公式〔2〕中,用距离的平方来描述调整方向函数。

由于某一个区域范围内的未被覆盖节点数

热门小说推荐

最近入库小说