一种基于布谷鸟搜索算法的RCRSS救援地图分区的计算方法与流程

文档序号:16788191发布日期:2019-02-01 19:30阅读:233来源:国知局
一种基于布谷鸟搜索算法的RCRSS救援地图分区的计算方法与流程

本发明属于地图分区技术领域,尤其涉及一种地图分区的计算方法,具体为一种基于布谷鸟搜索算法的rcrss救援地图分区的计算方法。



背景技术:

随着信息化时代的高速发展,庞大且繁杂的数据不是无用的信息,相反却拥有强大的数据挖掘能力,如何有效地从海量的数据中找出解决问题有用的信息显得至关重要。数据挖掘就是从大量看似无关的数据中提取出潜在的、有效的、有价值的信息。其中聚类具有强大能力,它能够对数据进行处理并进行深入分析,按一定的方式对数据归类,按照设定好的标准得到最佳分类状态。

救援仿真系统(robocuprescuesimulationsystem,rcrss)是一个基于网络的多模块分布式系统,其中包括了灭火智能体(firebrigade)、警察智能体(policeforce)、医生智能体(ambulanceteam)等等,用来模拟仿真世界的场景信息。而其中的agent模块是连接到系统内核kernel的智能体,agent模块在系统运行时,从kernel智能体获得环境感知信息,并更新自身的世界模型,在经过一系列决策计算后,在规定的时间内将决策命令传给kernel智能体并执行该命令,从而完成一个仿真周期。

救援仿真系统的主要目的是根据灾难现场的环境,通过预测、计算和人员调配,将救援灾难现场使得损害降到最低。在灾难救援中,需要预先处理灾难信息和预测灾难情况,各个智能体必须在复杂的情况下,快速高效的处理相关信息,有序分配任务以及完成任务,因此通过精准计算以及分区的救援地图就显得尤为重要。



技术实现要素:

针对上述问题,本发明提供一种基于布谷鸟搜索算法的rcrss救援地图分区的计算方法,以rcrss中的agent模块建立救援地图模型,通过kernel智能体初始化参数,将初始化参数代入集群度方法中,得到初始化的救援位置;通过布谷鸟搜索算法进行聚类分析,得到全局最优救援位置以及最差救援位置,建立初步救援范围;再利用布谷鸟搜索算法调整后的新公式更新救援位置,按照与聚类中心最近的原则,对更新后的救援位置进行聚类划分;通过进行聚类分析并更新数值,将得到的数据节点与前次的救援位置比较,视情况保留最优解或者继续迭代,最终确定出最优的救援地图分区。

本发明中的名称解释如下:

布谷鸟搜索算法:是模拟布谷鸟寻找巢穴并依靠其他鸟类孵化和育雏,受此行为启发而得到的一种新型随机搜索算法。自然界中的布谷鸟搜寻和选择鸟窝的过程是一种随机或拟随机的方式,表现为算法的优化迭代过程。布谷鸟所选的鸟巢可看做是搜索问题的解,按照模拟莱维飞行的方式不断更新优化,逐步找到问题的最优解。

rcrss:救援仿真系统(robocuprescuesimulationsystem)是一个基于网络的多模块分布式系统。其中agent模块是连接到系统内核kernel的智能体,其他模块用来模拟仿真世界的场景信息。agent在系统运行时,从kernel获得环境感知信息,并更新自身的世界模型,在经过一系列决策计算后,在规定的时间内将决策命令传给kernel并执行该命令,从而完成一个仿真周期。其中智能体包括灭火智能体(firebrigade)、警察智能体(policeforce)、医生智能体(ambulanceteam)及各自的中心智能体,不同智能体的职责互不一样,灭火智能体主要负责灭火,警察智能体主要负责清障,医生智能体主要负责救人。

agent模块:agent是一种处于一定环境下包装的计算机系统,为实现设计目的,能在该环境下灵活的,自主的活动。agent的概念和技术出现在分布式应用系统的开发之中,并表现出明显的实效性。kernel:是指大多数操作系统的核心部分。它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。操作系统内核通常运行进程,并提供进程间的通信。

集群度方法:是利用二维随机数据分布图,任取样本点为集群点,建立覆盖域长度,统计该覆盖域内的样本点个数,即为对象的集群度值,基于该方式依次得到各对象点的集群度值,并按大小值排列选择l(k<<l<<n)个作为最初的簇中心点,顺序保存在集合中。在此基础上,考虑各个簇中心距离总和的度量选择,最终确定若干个初始簇中心点,提高分区稳定性。

本发明的技术解决方案是:

一种基于布谷鸟搜索算法的rcrss救援地图分区的计算方法,包括步骤:

s1、根据rcrss中的agent模块获取到救援地图模型,通过kernel智能体获取地图信息并初始化参数,包括发现概率pa、随机数r、最大迭代次数t等;

s2、通过集群度方法选取k个初始聚类中心位置,得到初始化的救援位置;

s3、按照布谷鸟搜索算法进行聚类分析,根据对每个救援位置进行评价,记录相应救援位置的极值pi,分析得到全局最优救援位置pg,以及最差救援位置xworst;

s4、按照布谷鸟搜索算法调整后的新公式更新救援位置,获取新的数据节点;

s5、将每一个数据节点,按照与聚类中心最近的原则,对更新后的救援位置进行聚类划分;

s6、根据聚类分区情况,再次进行s3步骤并更新数值,同时记录f(x)max和f(x)min,并与上一次的救援位置比较,保留最优解;

s7、比较并更新节点的最优值,若新值优于先前的极值,则更新数值,否则不更新;

s8、如果达到预设的迭代次数t则停止迭代,输出最优解,否则回到s4步骤继续迭代。

进一步的,步骤s2具体包括以下步骤:

s2-1、确定救援覆盖域长度distr,确定k个数据点,连续记录并随机选取三次,按计算数据点之间的平均距离,其中,d(xi,xj)表示对象点xi和xj之间的欧式距离,上式计算值为distr;

s2-2、采用集群度方法初步筛选得到1个初始对象,并存于集合m中,选取集群度值最大的m1作为第一个簇代表点p1;若d(m1,m2)>>distr,则选取集群度值次大的对象m2作为第二个簇代表点p2;判断m3与前两个簇代表点之间的度量距离,若max[d(m3,m1),d(m3,m2)]>>distr,则m3选定为第三个簇中心p3,并加入集合m中,依据该方法依次选出若干个初始簇中心,并保存在集合m中,即:m={p1,p2,...,pl};

s2-3、选定第一个初始簇中心,选定p1作为第一个簇中心,,将其从集合m中去掉,并计算出p1与p2的度量距离d(p1,p2);

s2-4、选定第二个初始簇中心,对于集合m中剩余的pi,若p2满足条件:{u*|p2|+(1-u)*d(p1,p2)}>>{u*|pi|+(1-u)*d(pi,pi)}(i=3,4,...,l);u为权衡调节系数;|pi|为对象pi的集群度值,则选定度量值最大的p2作为第二个簇中心点,并把p2从集合m中删除;

s2-5、继续判断并选定其余的初始簇中心,依次判断剩下的簇中心点,确定k个初始簇中心c1,c2,...,ck。

进一步的,步骤s3具体包括以下步骤:

s3-1、布谷鸟搜索算法基于布谷鸟每次只能产下一个卵,并随机选择宿主鸟巢进行孵化与育雏,可供选择的宿主巢穴的数目是一定的,而宿主发现布谷鸟卵的概率是pa∈[0,1];

s3-2、解的质量或适应度可以简单地表示成目标函数的正比关系,巢穴里的每枚蛋表示一个解,布谷鸟新孵出的蛋表示一种新的解,优化的目标是用新的、潜在更好的解替换巢穴中不是很好的解,布谷鸟i产生新的解可以用式表示,式中,a表示迭代步长;为矩阵乘法运算符;表示第i个鸟窝在t次迭代中的位置;l(λ)表示随机搜索路径;

s3-3、按照lévy分布式:l(s,λ)~s,1<λ<3其中,s是由莱维飞行获得的随机步长。

进一步的,步骤s4具体包括以下步骤:

s4-1、布谷鸟搜索算法的局部搜索能力按照式进行描述,根据该式可在式的基础上得到布谷鸟搜索算法的新解,式中的step是服从lévy分布的随机数,best是当前的最优解,是先前给定的解,是新生成的解;

s4-2、布谷鸟搜索算法的全局寻优能力基于它摒弃不好的解的策略,该策略是将所有解中不好的pa部分剔除,然后利用式生成新的解,式中的是发现的新的巢穴,也就是新解;是被摒弃的旧巢穴,rand1和rand2是两个[0,1]区间均匀分布的随机数,pa是巢穴中布谷鸟的蛋被宿主鸟识别出来的平均概率,xa和xb是从已知巢穴中随机挑选出来的两个巢穴。

与现有技术相比,本发明的有益效果是:本发明的基于布谷鸟搜索算法的rcrss救援地图分区的计算方法使用统计学方法,利用集群度方法建立救援地区的二维随机数据分布图,任取样本点为集群点,统计该救援地区覆盖圆域内的样本点个数,建立救援地区内的集群度值,基于上述方式依次得到多个集群度值,并按大小值排列选择,有顺序的保存在集合中,在此基础上,考虑各个簇中心距离总和的度量选择,最终确定初始簇中心点,提高救援地区分区稳定性。再利用布谷鸟搜索算法在初始簇中心点中采用随机或拟随机的方式,完成算法的优化迭代过程。布谷鸟搜索算法以及其新公式搜索问题的解,并按照模拟莱维飞行的方式不断更新优化救援位置的点,逐步找到救援位置的最优解,建立精确的救援地图分区。

附图说明

图1为本发明实施例所述基于布谷鸟搜索算法的rcrss救援地图分区的计算方法的流程示意图

图2为本发明实施例所述救援仿真系统rcrss的网络多模块分布示意图;

图3为本发明实施例所述集群度方法中如二维随机数据分布图的初始簇中心选择的示意图;

图4为本发明其中一实施例中救援地图分区示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本发明实施例的基于布谷鸟搜索算法的rcrss救援地图分区的计算方法,以rcrss中的agent模块建立救援地图模型,通过kernel智能体初始化参数,将初始化参数代入集群度方法中,得到初始化的救援位置;通过布谷鸟搜索算法进行聚类分析,得到全局最优救援位置以及最差救援位置,建立初步救援范围;再利用布谷鸟搜索算法调整后的新公式更新救援位置,按照与聚类中心最近的原则,对更新后的救援位置进行聚类划分;通过进行聚类分析并更新数值,将得到的数据节点与前次的救援位置比较,视情况保留最优解或者继续迭代,最终确定出最优的救援地图分区。

参阅图1~图4,本发明的基于布谷鸟搜索算法的rcrss救援地图分区的计算方法具体实施例如下:

一种基于布谷鸟搜索算法的rcrss救援地图分区的计算方法,结合图1,方法包括以下步骤,

s1、根据rcrss中的agent模块获取到以kobe地图为基础建立的救援地图模型,通过kernel智能体获取地图信息并初始化参数,包括发现概率pa、随机数r、最大迭代次数t等。

s2、通过集群度方法选取k个初始聚类中心位置,得到初始化的救援位置。

步骤s2中通过集群度方法选取k个初始聚类中心位置的步骤如下:

s2-1、确定救援覆盖域长度distr,确定k个数据点,连续记录并随机选取三次,按计算数据点之间的平均距离,其中,d(xi,xj)表示对象点xi和xj之间的欧式距离,上式计算值为distr;

s2-2、采用集群度方法初步筛选得到1个初始对象,并存于集合m中,选取集群度值最大的m1作为第一个簇代表点p1;若d(m1,m2)>>distr,则选取集群度值次大的对象m2作为第二个簇代表点p2;判断m3与前两个簇代表点之间的度量距离,若max[d(m3,m1),d(m3,m2)]>>distr,则m3选定为第三个簇中心p3,并加入集合m中,依据该方法依次选出若干个初始簇中心,并保存在集合m中,即:m={p1,p2,...,pl};

s2-3、选定第一个初始簇中心,选定p1作为第一个簇中心,,将其从集合m中去掉,并计算出p1与p2的度量距离d(p1,p2);

s2-4、选定第二个初始簇中心,对于集合m中剩余的剩余的pi,若p2满足条件:{u*|p2|+(1-u)*d(p1,p2)}>>{u*|pi|+(1-u)*d(pi,pi)}(i=3,4,...,l);u为权衡调节系数;|pi|为对象pi的集群度值,则选定度量值最大的p2作为第二个簇中心点,并把p2从集合m中删除;

s2-5、继续判断并选定其余的初始簇中心,依次判断剩下的簇中心点,确定k个初始簇中心c1,c2,...,ck。

s3、按照布谷鸟搜索算法进行聚类分析,根据对每个救援位置进行评价,记录相应救援位置的极值pi,分析得到全局最优救援位置pg,以及最差救援位置xworst;。

步骤s3中布谷鸟搜索算法进行聚类分析包括以下步骤:

s3-1、布谷鸟搜索算法基于布谷鸟每次只能产下一个卵,并随机选择宿主鸟巢进行孵化与育雏,可供选择的宿主巢穴的数目是一定的,而宿主发现布谷鸟卵的概率是pa∈[0,1];

s3-2、解的质量或适应度可以简单地表示成目标函数的正比关系,巢穴里的每枚蛋表示一个解,布谷鸟新孵出的蛋表示一种新的解,优化的目标是用新的、潜在更好的解替换巢穴中不是很好的解,布谷鸟i产生新的解可以用式表示,式中,a表示迭代步长;为矩阵乘法运算符;表示第i个鸟窝在t次迭代中的位置;l(λ)表示随机搜索路径;

s3-3、按照lévy分布式:l(s,λ)~s,1<λ<3其中,s是由莱维飞行获得的随机步长。

s4、按照布谷鸟搜索算法调整后的新公式更新救援位置,获取新的数据节点。

步骤s4中通过布谷鸟搜索算法调整后的新公式获取新数据节点包括了以下步骤:

s4-1、布谷鸟搜索算法的局部搜索能力按照式进行描述,根据该式可在式的基础上得到布谷鸟搜索算法的新解,式中的step是服从lévy分布的随机数,best是当前的最优解,是先前给定的解,是新生成的解;

s4-2、布谷鸟搜索算法的全局寻优能力基于它摒弃不好的解的策略,该策略是将所有解中不好的pa部分剔除,然后利用式生成新的解,式中的是发现的新的巢穴,也就是新解;是被摒弃的旧巢穴,rand1和rand2是两个[0,1]区间均匀分布的随机数,pa是巢穴中布谷鸟的蛋被宿主鸟识别出来的平均概率,xa和xb是从已知巢穴中随机挑选出来的两个巢穴。

s5、将每一个数据节点,按照与聚类中心最近的原则,对更新后的救援位置进行聚类划分。

s6、根据聚类分区情况,再次进行s3步骤并更新数值,同时记录f(x)max和f(x)min,并与上一次的救援位置比较,保留最优解。

s7、比较并更新节点的最优值,若新值优于先前的极值,则更新数值,否则不更新。

s8、如果达到预设的迭代次数t则停止迭代,输出最优解,否则回到s4步骤继续迭代。

通过以上步骤,在kobe地图中使用上述方法对地图进行分区,结果如图4所示,当分区完成以后,将k个不同的簇分配给相应的智能体,具体步骤如下:

a、获取簇内所有的房屋节点坐标(xi,xj),并计算簇中心pc的坐标:xc=(x1+x2+…+xm)/m,yc=(y1+y2+…+ym)/m。

b、比较智能体到簇中心的距离,将该分区分配给距离最近的智能体。

实施例的一种基于布谷鸟搜索算法的rcrss救援地图分区的计算方法,使用统计学方法,利用集群度方法建立救援地区的二维随机数据分布图,任取样本点为集群点,统计该救援地区覆盖圆域内的样本点个数,建立救援地区内的集群度值,基于上述方式依次得到多个集群度值,并按大小值排列选择,有顺序的保存在集合中,在此基础上,考虑各个簇中心距离总和的度量选择,最终确定初始簇中心点,提高救援地区分区稳定性。再利用布谷鸟搜索算法在初始簇中心点中采用随机或拟随机的方式,完成算法的优化迭代过程。布谷鸟搜索算法以及其新公式搜索问题的解,并按照模拟莱维飞行的方式不断更新优化救援位置的点,逐步找到救援位置的最优解,建立精确的救援地图分区。

以上仅为本发明的较佳实施例,但并不限制本发明的专利范围,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本发明说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本发明专利保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1