CN111046562A - 基于蜂群算法的多目标引导人员疏散仿真方法及仿真系统 - Google Patents
基于蜂群算法的多目标引导人员疏散仿真方法及仿真系统 Download PDFInfo
- Publication number
- CN111046562A CN111046562A CN201911294075.4A CN201911294075A CN111046562A CN 111046562 A CN111046562 A CN 111046562A CN 201911294075 A CN201911294075 A CN 201911294075A CN 111046562 A CN111046562 A CN 111046562A
- Authority
- CN
- China
- Prior art keywords
- individual
- value
- evacuation
- cell
- coordinates
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A10/00—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
- Y02A10/40—Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于智能计算与运筹学交叉应用技术领域,公开了一种基于蜂群算法的多目标引导人员疏散仿真方法及系统,通过对人工蜂群算法和粒子群算法进行优化结合解决多目标引导疏散问题,利用视觉引领蜂,减少跟随蜂对引领蜂的盲目选择,再结合粒子群的基本思想,优化跟随蜂的疏散目标,并采用元胞自动机模型构建疏散场景,从而达到简化个体疏散路径。通过在单个教室的疏散场景下的人群疏散仿真的结果可知,本发明在疏散总时间上比基于基本人工蜂群算法的疏散模型更快,在疏散时间上提高了35.5%。为多障碍物情况下的疏散建模提供思路,为减少疏散时间、减少灾害损失及制定疏散策略提供有益的指导依据。
Description
技术领域
本发明属于智能计算与运筹学交叉应用技术领域,尤其涉及一种基于蜂群算法的多目标引导人员疏散仿真方法及仿真系统。
背景技术
目前,人员疏散仿真的现有技术主要是建立疏散模型,对人员进行路径规划。当前的建模方法主要分为宏观建模和微观建模。宏观建模包括势场模型和流体力学模型。宏观建模将人群作为一个整体,建模过程很简单,却忽略了行人之间的个体差异。微观建模则考虑了个体与环境之间的相互作用以及个体之间的相互作用。微观建模包括元胞自动机模型,社会力模型和基于Agent的模型。单一的社会力模型计算复杂,随着人数的增加,运算速度会减慢,因此仍需改进。传统的路径规划方法包括A*算法,Dijkstra算法等,但不适用于复杂的疏散场景,然后受自然界动物行为启发的智能群优化算法,例如粒子群优化算法,蚁群优化算法和人工算法蜂群算法。其中,人工蜂群算法利用轮盘赌思想选择引领蜂带领跟随蜂疏散,这种由概率决定的选择存在盲目性,并不能有效的对人员进行疏散。
综上所述,现有技术存在的问题是:目前的仿真技术主要是以建立疏散模型并改进或在模型基础上加入优化算法这两类方法来模拟人员疏散。第一类方法中的模型较为单一化,模拟出来的效果与实际疏散过程不符,同时也无法有效模拟复杂的疏散行为。现阶段,第二类方法中用到的优化算法包括遗传算法、蜂群算法等。其中,利用遗传算法与元胞模型的结合,得到路径生成算法,结果的可靠性差,并且需要大量的计算,不适合在大型复杂场景且人员密集的情况下进行疏散模拟。基本蜂群算法与社会力模型结合,虽然能够模拟疏散行为,但其运算速度慢,计算复杂度高,跟随蜂对引领蜂选择的盲目性以及跟随蜂所选目标的单一性,容易使个体陷入局部最优,疏散路径拥塞,最终会影响整体的疏散效果。
解决上述技术问题的意义:在现有仿真技术的基础上,本发明改善疏散模型结构上的单一化,有助于真实模拟人员的疏散行为,提高仿真的实际效果。解决蜂群算法在跟随蜂对引领蜂选择上的盲目性以及跟随蜂所选目标的单一性,能够更加贴合真实疏散情况下的人群疏散行为,并优化人员的疏散路径,从而减少总体疏散时间,提高整体疏散能力。
发明内容
针对现有技术存在的问题,本发明提供了一种基于蜂群算法的多目标引导人员疏散仿真方法及仿真系统。本发明一方面在人工蜂群算法的基础上,加入视觉引领蜂的概念,使个体可以在自身的一定范围内选择最优的个体带领自己疏散,减少盲目选择,另一方面在本发明的特定疏散场景下结合粒子群的基本思想,通过适应值函数以及元胞的状态更新规则更新个体疏散路径,进行疏散仿真,从而提高疏散的效率,减少人员伤亡。
本发明主要分析紧急疏散的计算机建模和仿真。为了模拟人群的紧急疏散,需要进行场景建模和路径规划。当前的建模方法主要分为宏观建模和微观建模。宏观建模包括势场模型和流体力学模型。宏观建模将人群作为一个整体,建模过程很简单,而忽略了行人之间的个体差异。微观建模包括细胞自动机模型,社会力量模型和基于主体的模型,这些模型考虑了个体与环境之间的相互作用以及个体之间的相互作用,因此模拟效果更加逼真。
本发明是这样实现的,一种基于蜂群算法的多目标引导人员疏散仿真方法,通过对人工蜂群算法和粒子群算法进行优化结合进行多目标引导疏散,以及利用人工蜂群算法的视觉引领蜂,减少跟随蜂对引领蜂的盲目选择,再结合粒子群算法,优化跟随蜂的疏散目标,并采用元胞自动机模型构建疏散场景,简化个体疏散路径。
具体包括以下步骤:
步骤1,选择元胞自动机(CA)模型并初始化:采用Moore模型,即一个元胞周围存在8个邻胞的模式,并设置各元胞边长均为1m。
步骤2,定义个体属性:个体ID号id、引领个体疏散的个体的ID号follow_id、个体的适应值fitness、个体的疏散路径path、个体所属的蜂群种类bee_species、个体的特征值eigenvalue、个体的限制值limit、个体所选出口exit、个体的中转坐标(ts_x,ts_y)、个体的目标坐标(goal_x,goal_y)个体的历史最优坐标(history_x,history_y)以及个体历史最优位置的适应值history_fitness。
步骤3,设定(0,1)(0,2)均为出口1(exit1)的坐标,(0,26)(0,27)均为出口2(exit2)的坐标。图4中出口A即为出口1,出口B即为出口2;
步骤4,初始化所有个体:设置个体总数为NP。假设所有个体行走速度相等,且在疏散过程中不会改变。设置所有个体的行走速度为1m/s,其他可忽略不计。利用Python语言中的random()函数随机设置将所有个体的初始坐标;利用calculate_fitness()函数计算所有个体的初始适应值,初始适应值也作为历史最优位置的适应值history_fitness,初始所选出口的坐标也作为目标坐标(goal_x,goal_y),根据初始所选出口的坐标,判断个体所选出口为exit1或exit2。若为exit1,个体属性中exit=1,若为exit2,个体属性中exit=2。
注:在后续操作中,当个体为引领蜂时,当前坐标与所选出口的坐标的欧式距离为引领蜂的适应值;当个体为跟随蜂时,个体的当前坐标与目标坐标(goal_x,goal_y)的欧式距离为跟随蜂的适应值。
步骤5,初始化疏散场景中的各项参数:其中,场景中障碍物为课桌和墙,障碍物对应坐标的元胞的值设为5,个体对应坐标的元胞的值设为0,不被障碍物或个体占领的元胞,记为空闲邻胞,值设为1。
步骤6,设置已疏散的个体数evacuate=0。
步骤7,判断语句evacuate<NP是否为真。
步骤8,步骤7的结果若为真,根据个体适应值大小对个体进行从小到大的排序,执行下列操作步骤;若为假,直接进入步骤32。
步骤9,对于路径path中包含出口1或出口2坐标的个体,判断个体特征值是否为1,若不为1,设置特征值eigenvalue=1,元胞的值改为1,疏散个体数evacuate加1,不再进行以下操作;若为1,不再进行以下操作。
步骤10,对于路径path中不包含出口1、出口2坐标的个体,判断个体所选出口,从而进行蜂群分类。选择exit1的个体中:适应值最小的个体的坐标作为全局最优位置A的坐标,适应值在前25%的作为出口1的引领蜂,其余作为跟随蜂。选择exit2的个体中:适应值最小的个体的坐标作为全局最优位置B的坐标,适应值在前25%的作为出口2的引领蜂,其余作为跟随蜂。
步骤11,出口1和出口2的引领蜂,计算个体周围的空闲邻胞的数量count,由此为依据更新引领蜂的坐标。
步骤12,若count=7,即周围邻胞中空闲邻胞的个数为1。比较空闲邻胞的适应值与个体当前适应值的大小,由于个体是引领蜂,空闲坐标的适应值由当前坐标与所选出口坐标的欧式距离计算得出。若空闲邻胞的适应值更小,空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为空闲邻胞的适应值,个体路径path中加入空闲邻胞的坐标,表示个体在下一时刻;若个体当前的适应值更小,个体限制值limit加1,若limit<=3,个体路径path中加入原坐标,表示个体原地等待,若limit>3,空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为空闲邻胞的适应值,个体路径path中加入空闲邻胞的坐标。
步骤13,若count=8,即周围邻胞中没有空闲邻胞。个体路径path中加入原坐标,表示个体在原地等待。
步骤14,若count<7,即周围邻胞中空闲邻胞的个数大于1。比较所有空闲邻胞的适应值得到适应值最小的空闲邻胞。将该空闲邻胞的适应值与个体当前适应值比较,若该空闲邻胞的适应值更小,该空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为该空闲邻胞的适应值,个体路径path中加入该空闲邻胞的坐标,表示个体在下一时刻;若个体当前的适应值更小,个体限制值limit加1,若limit<=3,个体路径path中加入原坐标,表示个体原地等待,若limit>3,该空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为该空闲邻胞的适应值,个体路径path中加入该空闲邻胞的坐标。
步骤15,对于选择出口1和出口2的跟随蜂,设定一个等待次数wait_time。比较历史最优位置与当前坐标的适应值,得到下一个历史最优位置及其适应值。
步骤16,比较全局最优位置A和全局最优位置B与个体的距离,距离更小的作为个体的全局最优坐标(global_x,global_y)。
步骤17,判断个体是否是第一次更新坐标,若为真,进行步骤18、19、20选出视觉引领蜂,若为假,直接进入步骤21。
步骤18,设定视野范围为2m,每个邻胞0.5m,即个体能够看到周围(2/0.5+2/0.5+1)*(2/0.5+2/0.5+1)个邻胞。
步骤19,确定视野范围内的其他个体。
步骤20,在视野范围内的其他个体中,选择一个适应值最小且所选出口与当前个体相同的个体,作为当前个体的视觉引领蜂。
步骤21,判断wait_time的大小。
步骤22,若wait_time<3:个体所选视觉引领蜂不变;若当前坐标与上一次更新的坐标相同,表示个体是在原地等待,则wait_time+1;若当前坐标与上一次更新的坐标不相同,wait_time清零,重新计数。
步骤23,若wait_time≥3:重新在视野范围内选择视觉引领蜂。
步骤24,设定权重参数:c1=2,c2=2,c3=2,ω=0.7。
步骤25,根据公式(1)、(2)计算中转坐标(ts_x,ts_y)。其中(x,y)表示个体的当前坐标,(goal_x,goal_y)表示个体的目标坐标,(global_x,global_y)表示个体所选出口对应的最优位置的坐标,(history_x,history_y)表示个体的历史最优坐标,(visual_x,visual_y)表示个体的视觉引领蜂,ω、c1、c2、c3分别表示其对应的权重参数,r1、r2、r3均为0到1之间的随机数。
ts_x=ω(goal_x-x)+c1r1(global_x-x)+c2r2(history_x-x)+c3r3(visual_x-x) (1)
ts_y=ω(goal_y-y)+c1r1(global_y-y)+c2r2(history_y-y)+c3r3(visual_y-y) (2)
步骤26,根据公式(3)、(4)计算个体当前的目标坐标(goal_x,goal_y);
goal_x=x+ts_x (3)
goal_y=y+ts_y (4)
步骤27,选择出口1和出口2的跟随蜂,计算个体周围的空闲邻胞的数量count,由此为依据更新跟随蜂的坐标。
步骤28,若count=7,即周围邻胞中空闲邻胞的个数为1。比较空闲邻胞的适应值与个体当前适应值的大小,由于个体是跟随蜂,空闲坐标的适应值由当前坐标与目标坐标(goal_x,goal_y)的欧式距离计算得出。若空闲邻胞的适应值更小,空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为空闲邻胞的适应值,个体路径path中加入空闲邻胞的坐标,表示个体在下一时刻;若个体当前的适应值更小,个体限制值limit加1,若limit<=3,个体路径path中加入原坐标,表示个体原地等待,若limit>3,空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为空闲邻胞的适应值,个体路径path中加入空闲邻胞的坐标。
步骤29,若count=8,即周围邻胞中没有空闲邻胞。个体路径path中加入原坐标,表示个体在原地等待。
步骤30,若count<7,即周围邻胞中空闲邻胞的个数大于1。比较所有空闲邻胞的适应值得到适应值最小的空闲邻胞。将该空闲邻胞的适应值与个体当前适应值比较,若该空闲邻胞的适应值更小,该空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为该空闲邻胞的适应值,个体路径path中加入该空闲邻胞的坐标,表示个体在下一时刻;若个体当前的适应值更小,个体限制值limit加1,若limit<=3,个体路径path中加入原坐标,表示个体原地等待,若limit>3,该空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为该空闲邻胞的适应值,个体路径path中加入该空闲邻胞的坐标。
步骤31,由此完成个体的路径path的更新,返回步骤7进行判断。
步骤32,遍历所有个体的路径,根据公式(5)计算最大疏散长度max_length;len(path)为路径path中坐标的总个数;
max_length=(len(path)-1)×0.5 (5)
步骤33,计算疏散总时间evacuate_time,v为疏散平均速度,1m/s;
evacuate_time=max_length/v (6)。
进一步,步骤1中,所述元胞状态有三种:当有个体占据该元胞时,元胞的状态为0。当该元胞不被任何对象占用时,元胞的状态为1。当该元胞被障碍物(如墙壁、桌子)占据时,元胞状态为∞。
进一步,步骤10中,所述引领蜂以距离较近的出口为目标,计算引领蜂与出口的距离,即计算适应值。
进一步,步骤17中,所述跟随蜂作为一个独立个体,当危险发生时,跟随蜂会在自己的视野范围内选择一个最优的个体作为带领者,即视觉引领蜂,带领跟随蜂疏散,使疏散更为高效。
进一步,步骤18中,所述特定疏散场景下,每个跟随蜂个体的视野搜索范围均设为2米。
进一步,步骤22、23中,所述迭代次数最大值为3,若个体长期等待,即适应值在3次内未减小则丢弃该位置,个体改为侦察蜂,随机选择其他可用于疏散邻胞作为新位置。
进一步,步骤24中,所述ω表示最优引领蜂的权重参数,c1、c2和c3分别表示历史最优蜂、全局最优蜂和视觉引领蜂的权重参数。
本发明的另一目的在于提供一种实施所述基于蜂群算法的多目标引导人员疏散仿真方法的基于蜂群算法的多目标引导人员疏散仿真系统。
本发明的另一目的在于提供一种实现所述基于蜂群算法的多目标引导人员疏散仿真方法的信息数据处理终端。
本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的基于蜂群算法的多目标引导人员疏散仿真方法。
综上所述,本发明的优点及积极效果为:(1)本发明采用元胞自动机模型构建疏散场景,同时用于初始化疏散人群。本发明为了适应元胞模型,将元胞的状态更新法则与蜂群算法的适应值函数和贪心法则相结合,进行位置更新并记录新的适应值,将更新的位置作为新蜜源位置。初始化行人位置采用Python语言进行编程,Python的函数库自带产生随机数的函数random,只需导入即可。
(2)本发明提出一种对跟随蜂疏散更有利的引领蜂,记为视觉引领蜂,其作为一个独立个体,当危险发生时,跟随蜂会在自己的视野范围内选择一个最优的个体作为带领者带领跟随蜂疏散,使疏散更为高效。
(3)本发明与基于基本蜂群算法的疏散模型相比,疏散模型中的个体更容易向出口聚集,表明基于全局引领蜂、历史引领蜂、视觉引领蜂和最优引领蜂对跟随蜂的引导起到了良好作用。
(4)本发明与与基于粒子群算法的模型比较,两者在疏散时间上差距更明显。粒子群算法在疏散前期,线条斜率逐步减小,表明前期人数增加对疏散时间影响较小,两种算法疏散时间上差距较大,改进模型的疏散效率高。
(5)本发明提供的基于蜂群算法的多目标引导人员疏散仿真方法,通过对人工蜂群算法和粒子群算法进行优化结合解决多目标引导疏散问题,在人工蜂群算法的基础上,利用视觉引领蜂,减少跟随蜂对引领蜂的盲目选择,再结合粒子群的基本思想,优化跟随蜂的疏散目标,并采用元胞自动机模型构建疏散场景,从而达到简化个体疏散路径,提高疏散效率的目的。
(6)本发明在人工蜂群算法的基础上,加入视觉引领蜂的概念,使个体可以在自身的一定范围内选择最优的个体带领自己疏散,减少盲目选择,另一方面在本发明的特定疏散场景下结合粒子群的基本思想,通过适应值函数以及元胞的状态更新规则更新个体疏散路径,进行疏散仿真,从而提高疏散的效率,减少人员伤亡。
附图说明
图1是本发明实施例提供的基于蜂群算法的多目标引导人员疏散仿真方法流程图。
图2是本发明实施例提供的基于蜂群算法的多目标引导人员疏散原理图。
图3是本发明实施例提供的与去除视觉引领蜂比较的疏散人数与疏散时间关系图。
图4是本发明实施例提供的模拟疏散场景图A(t=5s)。
图5是本发明实施例提供的模拟疏散场景图B。
图6是本发明实施例提供的基本粒子群算法在人数满额且时间t=20s时的疏散情况。
图7是本发明实施例提供的基本蜂群算法在人数满额且时间t=20s时的疏散情况。
图8是本发明实施例提供的基于蜂群算法的多目标引导人员疏散仿真方法在人数满额且时间t=20s时的疏散情况。
图9是本发明实施例提供的与基本蜂群算法在人数满额时的疏散变化对比图。
图10是本发明实施例提供的与基本蜂群算法的疏散人数与疏散时间关系对比图。
图11是本发明实施例提供的与基本粒子群算法的疏散人数与疏散时间关系对比图。
图12是本发明实施例提供的不同出口位置下的疏散人数与疏散时间关系图。
图13是本发明实施例提供的模拟疏散场景t=10s时示意。
图14是本发明实施例提供的模拟疏散场景t=15s时示意。
图15是本发明实施例提供的模拟疏散场景t=25s时示意。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
传统疏散模型存在的疏散效率不高、结果的可靠性差、运算速度慢、计算复杂度高等问题。
针对现有技术存在的问题,本发明提供了一种基于蜂群算法的多目标引导人员疏散仿真方法,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的基于蜂群算法的多目标引导人员疏散仿真方法包括以下步骤:
S101:选择元胞自动机模型并初始化;定义个体属性;设定出口坐标;初始化所有个体;初始化疏散场景中的各项参数。
S102:设置已疏散的个体数;判断已疏散的个体数是否小于个体总数以及个体特征值是否为1。
S103:计算个体周围的空闲邻胞的数量,更新引领蜂的坐标;设定等待次数,比较历史最优位置与当前坐标的适应值,得到下一个历史最优位置及其适应值。
S104:比较全局最优位置A和全局最优位置B与个体的距离,距离更小的作为个体的全局最优坐标,并判断个体是否是第一次更新坐标。
S105:设定视野范围,确定视野范围内的其他个体;在视野范围内的其他个体中,选择一个适应值最小且所选出口与当前个体相同的个体,作为当前个体的视觉引领蜂。
S106:判断等待次数的大小;设定权重参数,计算中转坐标;并计算个体当前的目标坐标。
S107:计算个体周围的空闲邻胞的数量,更新跟随蜂的坐标;并完成个体路径的更新。
S108:遍历所有个体的路径,计算最大疏散长度及疏散总时间。
下面结合实施例及实验对本发明作进一步描述。
实施例
为了验证本发明的有效性,将本发明与基本蜂群算法疏散模型和基本粒子群算法疏散模型进行了仿真比较。当疏散人数较多时,更能真实模拟紧急情况下的人群疏散。因此,本发明在人数满额,即人数为202人的情况下,通过对比实验,本发明的参数设置为:历史最优蜂权重参数c1=2,全局最优蜂权重参数c2=2,视觉引领蜂权重参数c3=2,优引领蜂的权重参数ω=0.7。
图2是本发明实施例提供的基于蜂群算法的多目标引导流程图,从中可以看出具体实现过程如下:
步骤1.选择元胞自动机(CA)模型并初始化:采用Moore模型,即一个元胞周围存在8个邻胞的模式,并设置各元胞边长均为1m。
步骤2.定义个体属性:个体ID号id、引领个体疏散的个体的ID号follow_id、个体的适应值fitness、个体的疏散路径path、个体所属的蜂群种类bee_species、个体的特征值eigenvalue、个体的限制值limit、个体所选出口exit、个体的中转坐标(ts_x,ts_y)、个体的目标坐标(goal_x,goal_y)个体的历史最优坐标(history_x,history_y)以及个体历史最优位置的适应值history_fitness。
步骤3.设定(0,1)(0,2)均为出口1(exit1)的坐标,(0,26)(0,27)均为出口2(exit2)的坐标。
步骤4.初始化所有个体:设置个体总数为NP。假设所有个体行走速度相等,且在疏散过程中不会改变。设置所有个体的行走速度为1m/s,其他可忽略不计。利用Python语言中的random()函数随机设置将所有个体的初始坐标;利用calculate_fitness()函数计算所有个体的初始适应值,初始适应值也作为历史最优位置的适应值history_fitness,初始所选出口的坐标也作为目标坐标(goal_x,goal_y),根据初始所选出口的坐标,判断个体所选出口为exit1或exit2。若为exit1,个体属性中exit=1,若为exit2,个体属性中exit=2。
注:在后续操作中,当个体为引领蜂时,当前坐标与所选出口的坐标的欧式距离为引领蜂的适应值;当个体为跟随蜂时,个体的当前坐标与目标坐标(goal_x,goal_y)的欧式距离为跟随蜂的适应值。
步骤5.初始化疏散场景中的各项参数:其中,场景中障碍物为课桌和墙,障碍物对应坐标的元胞的值设为5,个体对应坐标的元胞的值设为0,不被障碍物或个体占领的元胞,记为空闲邻胞,值设为1。
步骤6.设置已疏散的个体数evacuate=0。
步骤7.判断语句evacuate<NP是否为真。
步骤8.步骤7的结果若为真,根据个体适应值大小对个体进行从小到大的排序,执行下列操作步骤;若为假,直接进入步骤32。
步骤9.对于路径path中包含出口1或出口2坐标的个体,判断个体特征值是否为1,若不为1,设置特征值eigenvalue=1,元胞的值改为1,疏散个体数evacuate加1,不再进行以下操作;若为1,不再进行以下操作。
步骤10.对于路径path中不包含出口1、出口2坐标的个体,判断个体所选出口,从而进行蜂群分类。选择exit1的个体中:适应值最小的个体的坐标作为全局最优位置A的坐标,适应值在前25%的作为出口1的引领蜂,其余作为跟随蜂。选择exit2的个体中:适应值最小的个体的坐标作为全局最优位置B的坐标,适应值在前25%的作为出口2的引领蜂,其余作为跟随蜂。
步骤11.出口1和出口2的引领蜂,计算个体周围的空闲邻胞的数量count,由此为依据更新引领蜂的坐标。
步骤12.若count=7,即周围邻胞中空闲邻胞的个数为1。比较空闲邻胞的适应值与个体当前适应值的大小,由于个体是引领蜂,空闲坐标的适应值由当前坐标与所选出口坐标的欧式距离计算得出。若空闲邻胞的适应值更小,空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为空闲邻胞的适应值,个体路径path中加入空闲邻胞的坐标,表示个体在下一时刻;若个体当前的适应值更小,个体限制值limit加1,若limit<=3,个体路径path中加入原坐标,表示个体原地等待,若limit>3,空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为空闲邻胞的适应值,个体路径path中加入空闲邻胞的坐标。
步骤13.若count=8,即周围邻胞中没有空闲邻胞。个体路径path中加入原坐标,表示个体在原地等待。
步骤14.若count<7,即周围邻胞中空闲邻胞的个数大于1。比较所有空闲邻胞的适应值得到适应值最小的空闲邻胞。将该空闲邻胞的适应值与个体当前适应值比较,若该空闲邻胞的适应值更小,该空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为该空闲邻胞的适应值,个体路径path中加入该空闲邻胞的坐标,表示个体在下一时刻;若个体当前的适应值更小,个体限制值limit加1,若limit<=3,个体路径path中加入原坐标,表示个体原地等待,若limit>3,该空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为该空闲邻胞的适应值,个体路径path中加入该空闲邻胞的坐标。
步骤15.对于选择出口1和出口2的跟随蜂,设定一个等待次数wait_time。比较历史最优位置与当前坐标的适应值,得到下一个历史最优位置及其适应值。
步骤16.比较全局最优位置A和全局最优位置B与个体的距离,距离更小的作为个体的全局最优坐标(global_x,global_y)。
步骤17.判断个体是否是第一次更新坐标,若为真,进行步骤18、19、20选出视觉引领蜂,若为假,直接进入步骤21。
步骤18.设定视野范围为2m,每个邻胞0.5m,即个体能够看到周围(2/0.5+2/0.5+1)*(2/0.5+2/0.5+1)个邻胞。如图5所示,深色边框内的范围,即个体(深色圆形图案表示)的视野范围。
步骤19.确定视野范围内的其他个体,如图5所示,深色边框内的三角形图案表示。
步骤20.在视野范围内的其他个体中,选择一个适应值最小且所选出口与当前个体相同的个体,作为当前个体的视觉引领蜂。
步骤21.判断wait_time的大小。
步骤22.若wait_time<3:个体所选视觉引领蜂不变;若当前坐标与上一次更新的坐标相同,表示个体是在原地等待,则wait_time+1;若当前坐标与上一次更新的坐标不相同,wait_time清零,重新计数。
步骤23.若wait_time≥3:重新在视野范围内选择视觉引领蜂。
步骤24.设定权重参数:c1=2,c2=2,c3=2,ω=0.7。
步骤25.根据公式(1)、(2)计算中转坐标(ts_x,ts_y)。其中(x,y)表示个体的当前坐标,(goal_x,goal_y)表示个体的目标坐标,(global_x,global_y)表示个体所选出口对应的最优位置的坐标,(history_x,history_y)表示个体的历史最优坐标,(visual_x,visual_y)表示个体的视觉引领蜂,ω、c1、c2、c3分别表示其对应的权重参数,r1、r2、r3均为0到1之间的随机数。
ts_x=ω(goal_x-x)+c1r1(global_x-x)+c2r2(history_x-x)+c3r3(visual_x-x) (1)
ts_y=ω(goal_y-y)+c1r1(global_y-y)+c2r2(history_y-y)+c3r3(visual_y-y) (2)
步骤26.根据公式(3)、(4)计算个体当前的目标坐标(goal_x,goal_y);
goal_x=x+ts_x (3)
goal_y=y+ts_y (4)
步骤27.选择出口1和出口2的跟随蜂,计算个体周围的空闲邻胞的数量count,由此为依据更新跟随蜂的坐标。
步骤28.若count=7,即周围邻胞中空闲邻胞的个数为1。比较空闲邻胞的适应值与个体当前适应值的大小,由于个体是跟随蜂,空闲坐标的适应值由当前坐标与目标坐标(goal_x,goal_y)的欧式距离计算得出。若空闲邻胞的适应值更小,空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为空闲邻胞的适应值,个体路径path中加入空闲邻胞的坐标,表示个体在下一时刻;若个体当前的适应值更小,个体限制值limit加1,若limit<=3,个体路径path中加入原坐标,表示个体原地等待,若limit>3,空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为空闲邻胞的适应值,个体路径path中加入空闲邻胞的坐标。
步骤29.若count=8,即周围邻胞中没有空闲邻胞。个体路径path中加入原坐标,表示个体在原地等待。
步骤30.若count<7,即周围邻胞中空闲邻胞的个数大于1。比较所有空闲邻胞的适应值得到适应值最小的空闲邻胞。将该空闲邻胞的适应值与个体当前适应值比较,若该空闲邻胞的适应值更小,该空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为该空闲邻胞的适应值,个体路径path中加入该空闲邻胞的坐标,表示个体在下一时刻;若个体当前的适应值更小,个体限制值limit加1,若limit<=3,个体路径path中加入原坐标,表示个体原地等待,若limit>3,该空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为该空闲邻胞的适应值,个体路径path中加入该空闲邻胞的坐标。
步骤31.由此完成个体的路径path的更新,返回步骤7进行判断。
步骤32.遍历所有个体的路径,根据公式(5)计算最大疏散长度max_length;len(path)为路径path中坐标的总个数;
max_length=(len(path)-1)×0.5 (5)
步骤33.计算疏散总时间evacuate_time,v为疏散平均速度,1m/s;
evacuate_time=max_length/v (6)
本发明实施例提供的步骤1中,元胞状态有三种:当有个体占据该元胞时,元胞的状态为0。当该元胞不被任何对象占用时,元胞的状态为1。当该元胞被障碍物(如墙壁、桌子)占据时,元胞状态为∞。
本发明实施例提供的步骤10中,引领蜂以距离较近的出口为目标,计算引领蜂与出口的距离,即计算适应值。
本发明实施例提供的步骤17中,跟随蜂作为一个独立个体,当危险发生时,跟随蜂会在自己的视野范围内选择一个最优的个体作为带领者,即视觉引领蜂,带领跟随蜂疏散,使疏散更为高效。
本发明实施例提供的步骤18中,特定疏散场景下,每个跟随蜂个体的视野搜索范围均设为2米。
本发明实施例提供的步骤22、23中,迭代次数最大值为3,若个体长期等待,即适应值在3次内未减小则丢弃该位置,个体改为侦察蜂,随机选择其他可用于疏散邻胞作为新位置。
本发明实施例提供的步骤24中,ω表示最优引领蜂的权重参数,c1、c2和c3分别表示历史最优蜂、全局最优蜂和视觉引领蜂的权重参数。
在人数满额,即人数为200人的情况下,对权重参数c1、c2、c3和ω进行对比实验,权重参数的设置及实验结果如表2所示。由表1可看出,若ω大于c1、c2和c3,会导致全局引领蜂、历史引领蜂、视觉引领蜂的影响减弱,降低疏散效率。若ω小于c1、c2和c3,可以结合其他引领蜂地调整跟随蜂的疏散方向,达到理想的疏散效果。
表1权重参数的设置
下面结合仿真过程对本发明作进一步描述。
图2是本发明实施例提供的基于蜂群算法的多目标引导流程图。
图3是本发明方法与去除视觉引领蜂比较的疏散人数与疏散时间关系图,从图中可以看出,在人数少于100人时,视觉引领蜂对在减少疏散时间这方面的帮助不大;当人数超过100人后,视觉引领蜂的影响开始扩大,能够在一定程度上减少疏散的时间。而真实情境下人群较为拥挤,是以本算法中视觉引领蜂的加入能够对此有指导作用。
图4是本发明实施例中提供的模拟的疏散场景图A(t=5s)。
图5是本发明实施例中提供的模拟的疏散场景图B。
图中:深色方格表示被障碍物占据的元胞,白色方格表示可用于疏散的元胞。由空心圆占领的方格表示被个体占据的元胞。图中共348个元胞,148个被障碍物占领,每个网格的边长按实际情况下的0.5米进行设定。为了贴合实际生活和便于与其他疏散方法比较,本文设置两个出口,每个出口占据两个方格,即宽为1米。黑色实心圆表示跟随蜂个体。深色边框内的范围,即为该跟随蜂个体的视野范围。深色边框内的三角形图案表示该个体视野范围内可选作引领蜂的个体。
图6是本发明实施例中提供的在人数满额且时间t=20s时基本粒子群算法的疏散情况图。
图7是本发明实施例中提供的在人数满额且时间t=20s时基本蜂群算法的疏散情况图。
图8是本发明实施例中提供的在人数满额且时间t=20s时本发明方法的疏散情况图。
图中:对比图6、图7、图8三张图,可以看出基本粒子群算法在t=20s时,尚未撤离的人数较多,疏散效率较低;而基本蜂群算法则大部分未撤离人员距离出口较远,延长了疏散时间;本发明方法的撤离情况良好,人员距离出口近,能够有效撤离。
图9是本发明实施例中提供的本发明方法与蜂群算法比较在人数满额时的疏散变化图,从图中可以看出,在本疏散场景人数满额时,即疏散人数为200人时,受出口大小限制,前20秒内两种算法的人数变化基本一致。20秒后,本文改进模型的未疏散人数呈显著减少趋势,30秒内疏散完毕。基本蜂群算法在30秒后仍存在少量个体滞留的情况。由此可知,本文改进模型的疏散效率比基本蜂群算法更高。
图10是本发明实施例中提供的本发明方法与蜂群算法比较的疏散人数与疏散时间关系图,从图中可以看出,随着人数的增加,两种模型的疏散时间均延长,走势差别不大。人数在100人以内时,基于蜂群算法模型的疏散时间在20s以内,改进模型则在15s以内,增加人数对疏散时间的影响不大。人数在100-140人时,基于蜂群算法的疏散模型斜率更大,可知人数较多时,基本蜂群算法更容易产生拥塞,造成疏散时间的延长。人数在140-200人时,斜率增长慢,人数的影响不再显著。
图11是本发明实施例中提供的本发明方法与粒子群算法比较的疏散人数与疏散时间关系图,从图中可以看出,两者在疏散时间上差距更明显。与图8不同的是,粒子群算法在疏散前期,线条斜率逐步减小,表明前期人数增加对疏散时间影响较小,两种算法疏散时间上差距较大,基于多目标引导的蜂群算法的疏散效率高。
图12是本发明实施例中提供的本发明方法中不同出口位置下的疏散人数与疏散时间关系图,从图中可以看出,出口位于相对边的疏散时间总体比出口位于同一边慢。出口位于相对边的斜率上升快慢程度情况与出口位于同一边完全相反,人少斜率增长慢,人多斜率增加快。表明出口位于相对边的这种出口设置在人少时,对疏散的影响小,当人数趋于饱和,教室另一头的人群到达两个出口的时间变长,会使整体疏散时间延长。
表2是本发明方法与基本粒子群算法、基本蜂群算法的对比实验数据。根据表1可知,本发明的疏散总时间均比基本粒子群算法、基本蜂群算法短。随着疏散总人数的增加,疏散时间上的优势仍然较大,表示本发明方法与基本蜂群算法、基本粒子群算法相比,人员的疏散更高效。
表2对比实验数据
本发明仿真过程中,整个过程包括:
t=5s时,如图4;t=10s时,如图13;t=15s时,如图14;t=20s时,如图8;t=25s时,如图15。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于蜂群算法的多目标引导人员疏散仿真方法,其特征在于,所述基于蜂群算法的多目标引导人员疏散仿真方法通过对人工蜂群算法和粒子群算法进行优化结合进行多目标引导疏散,以及利用人工蜂群算法的视觉引领蜂,减少跟随蜂对引领蜂的盲目选择,再结合粒子群算法,优化跟随蜂的疏散目标,并采用元胞自动机模型构建疏散场景,简化个体疏散路径。
2.如权利要求1所述的基于蜂群算法的多目标引导人员疏散仿真方法,其特征在于,所述基于蜂群算法的多目标引导人员疏散仿真方法具体包括以下步骤:
步骤1,选择元胞自动机模型并初始化:采用Moore模型,一个元胞周围存在8个邻胞的模式,并设置各元胞边长均为1m;
步骤2,定义个体属性:个体ID号id、引领个体疏散的个体的ID号follow_id、个体的适应值fitness、个体的疏散路径path、个体所属的蜂群种类bee_species、个体的特征值eigenvalue、个体的限制值limit、个体所选出口exit、个体的中转坐标(ts_x,ts_y)、个体的目标坐标(goal_x,goal_y)个体的历史最优坐标(history_x,history_y)以及个体历史最优位置的适应值history_fitness;
步骤3,设定(0,1)(0,2)均为出口1(exit1)的坐标,(0,26)(0,27)均为出口2(exit2)的坐标;
步骤4,初始化所有个体:设置个体总数为NP;
假设所有个体行走速度相等,且在疏散过程中不会改变;设置所有个体的行走速度为1m/s,其他忽略不计;
利用Python语言中的random()函数随机设置将所有个体的初始坐标;利用calculate_fitness()函数计算所有个体的初始适应值,初始适应值也作为历史最优位置的适应值history_fitness,初始所选出口的坐标也作为目标坐标(goal_x,goal_y),根据初始所选出口的坐标,判断个体所选出口为exit1或exit2;若为exit1,个体属性中exit=1,若为exit2,个体属性中exit=2;当个体为引领蜂时,当前坐标与所选出口的坐标的欧式距离为引领蜂的适应值;当个体为跟随蜂时,个体的当前坐标与目标坐标(goal_x,goal_y)的欧式距离为跟随蜂的适应值;
步骤5,初始化疏散场景中的各项参数:其中,场景中障碍物为课桌和墙,障碍物对应坐标的元胞的值设为5,个体对应坐标的元胞的值设为0,不被障碍物或个体占领的元胞,记为空闲邻胞,值设为1;
步骤6,设置已疏散的个体数evacuate=0;
步骤7,判断语句evacuate<NP是否为真;
步骤8,步骤7的结果若为真,根据个体适应值大小对个体进行从小到大的排序,执行下列操作步骤;若为假,直接进入步骤32;
步骤9,对于路径path中包含出口1或出口2坐标的个体,判断个体特征值是否为1,若不为1,设置特征值eigenvalue=1,元胞的值改为1,疏散个体数evacuate加1,不再进行以下操作;若为1,不再进行以下操作;
步骤10,对于路径path中不包含出口1、出口2坐标的个体,判断个体所选出口,从而进行蜂群分类;
选择exit1的个体中:适应值最小的个体的坐标作为全局最优位置A的坐标,适应值在前25%的作为出口1的引领蜂,其余作为跟随蜂;选择exit2的个体中:适应值最小的个体的坐标作为全局最优位置B的坐标,适应值在前25%的作为出口2的引领蜂,其余作为跟随蜂;
步骤11,出口1和出口2的引领蜂,计算个体周围的空闲邻胞的数量count,由此为依据更新引领蜂的坐标;
步骤12,若count=7,即周围邻胞中空闲邻胞的个数为1;比较空闲邻胞的适应值与个体当前适应值的大小,由于个体是引领蜂,空闲坐标的适应值由当前坐标与所选出口坐标的欧式距离计算得出;若空闲邻胞的适应值更小,空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为空闲邻胞的适应值,个体路径path中加入空闲邻胞的坐标,表示个体在下一时刻;若个体当前的适应值更小,个体限制值limit加1,若limit<=3,个体路径path中加入原坐标,表示个体原地等待,若limit>3,空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为空闲邻胞的适应值,个体路径path中加入空闲邻胞的坐标;
步骤13,若count=8,即周围邻胞中没有空闲邻胞;个体路径path中加入原坐标,表示个体在原地等待;
步骤14,若count<7,即周围邻胞中空闲邻胞的个数大于1;比较所有空闲邻胞的适应值得到适应值最小的空闲邻胞;
将该空闲邻胞的适应值与个体当前适应值比较,若该空闲邻胞的适应值更小,该空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为该空闲邻胞的适应值,个体路径path中加入该空闲邻胞的坐标,表示个体在下一时刻;若个体当前的适应值更小,个体限制值limit加1,若limit<=3,个体路径path中加入原坐标,表示个体原地等待,若limit>3,该空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为该空闲邻胞的适应值,个体路径path中加入该空闲邻胞的坐标;
步骤15,对于选择出口1和出口2的跟随蜂,设定一个等待次数wait_time;比较历史最优位置与当前坐标的适应值,得到下一个历史最优位置及其适应值;
步骤16,比较全局最优位置A和全局最优位置B与个体的距离,距离更小的作为个体的全局最优坐标(global_x,global_y);
步骤17,判断个体是否是第一次更新坐标,若为真,进行步骤18、19、20选出视觉引领蜂,若为假,直接进入步骤21;
步骤18,设定视野范围为2m,每个邻胞0.5m,即个体能够看到周围(2/0.5+2/0.5+1)*(2/0.5+2/0.5+1)个邻胞;
步骤19,确定视野范围内的其他个体;
步骤20,在视野范围内的其他个体中,选择一个适应值最小且所选出口与当前个体相同的个体,作为当前个体的视觉引领蜂;
步骤21,判断wait_time的大小;
步骤22,若wait_time<3:个体所选视觉引领蜂不变;若当前坐标与上一次更新的坐标相同,表示个体是在原地等待,则wait_time+1;若当前坐标与上一次更新的坐标不相同,wait_time清零,重新计数;
步骤23,若wait_time≥3:重新在视野范围内选择视觉引领蜂;
步骤24,设定权重参数:c1=2,c2=2,c3=2,ω=0.7;所述ω表示最优引领蜂的权重参数,c1、c2和c3分别表示历史最优蜂、全局最优蜂和视觉引领蜂的权重参数;
步骤25,根据公式(1)、(2)计算中转坐标(ts_x,ts_y);其中(x,y)表示个体的当前坐标,(goal_x,goal_y)表示个体的目标坐标,(global_x,global_y)表示个体所选出口对应的最优位置的坐标,(history_x,history_y)表示个体的历史最优坐标,(visual_x,visual_y)表示个体的视觉引领蜂,ω、c1、c2、c3分别表示其对应的权重参数,r1、r2、r3均为0到1之间的随机数;
ts_x=ω(goal_x-x)+c1r1(global_x-x)+c2r2(history_x-x)+c3r3(visual_x-x) (1)
ts_y=ω(goal_y-y)+c1r1(global_y-y)+c2r2(history_y-y)+c3r3(visual_y-y) (2)
步骤26,根据公式(3)、(4)计算个体当前的目标坐标(goal_x,goal_y);
goal_x=x+ts_x (3)
goal_y=y+ts_y (4)
步骤27,选择出口1和出口2的跟随蜂,计算个体周围的空闲邻胞的数量count,由此为依据更新跟随蜂的坐标;
步骤28,若count=7,即周围邻胞中空闲邻胞的个数为1;
比较空闲邻胞的适应值与个体当前适应值的大小,由于个体是跟随蜂,空闲坐标的适应值由当前坐标与目标坐标(goal_x,goal_y)的欧式距离计算得出;若空闲邻胞的适应值更小,空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为空闲邻胞的适应值,个体路径path中加入空闲邻胞的坐标,表示个体在下一时刻;若个体当前的适应值更小,个体限制值limit加1,若limit<=3,个体路径path中加入原坐标,表示个体原地等待,若limit>3,空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为空闲邻胞的适应值,个体路径path中加入空闲邻胞的坐标;
步骤29,若count=8,即周围邻胞中没有空闲邻胞;个体路径path中加入原坐标,表示个体在原地等待;
步骤30,若count<7,周围邻胞中空闲邻胞的个数大于1;比较所有空闲邻胞的适应值得到适应值最小的空闲邻胞;将该空闲邻胞的适应值与个体当前适应值比较,若该空闲邻胞的适应值更小,该空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为该空闲邻胞的适应值,个体路径path中加入该空闲邻胞的坐标,表示个体在下一时刻;若个体当前的适应值更小,个体限制值limit加1,若limit<=3,个体路径path中加入原坐标,表示个体原地等待,若limit>3,该空闲邻胞的值改为0,当前所在元胞的值改为1,个体适应值fitness改为该空闲邻胞的适应值,个体路径path中加入该空闲邻胞的坐标;
步骤31,由此完成个体的路径path的更新,返回步骤7进行判断;
步骤32,遍历所有个体的路径,根据公式(5)计算最大疏散长度max_length;len(path)为路径path中坐标的总个数;
max_length=(len(path)-1)×0.5 (5)
步骤33,计算疏散总时间evacuate_time,v为疏散平均速度,1m/s;
evacuate_time=max_length/v (6)。
3.如权利要求2所述基于蜂群算法的多目标引导人员疏散仿真方法,其特征在于,步骤1中,所述元胞状态包括:当有个体占据该元胞时,元胞的状态为0;当该元胞不被任何对象占用时,元胞的状态为1;当该元胞被障碍物占据时,元胞状态为∞。
4.如权利要求1所述基于蜂群算法的多目标引导人员疏散仿真方法,其特征在于,步骤10中,所述引领蜂以距离较近的出口为目标,计算引领蜂与出口的距离,所述距离为计算适应值。
5.如权利要求1所述基于蜂群算法的多目标引导人员疏散仿真方法,其特征在于,步骤17中,所述跟随蜂作为一个独立个体,危险发生时,跟随蜂在自己的视野范围内选择一个最优的个体作为带领者,带领跟随蜂疏散。
6.如权利要求1所述基于蜂群算法的多目标引导人员疏散仿真方法,其特征在于,步骤18中,所述特定疏散场景下,每个跟随蜂个体的视野搜索范围均设为2米。
7.如权利要求1所述基于蜂群算法的多目标引导人员疏散仿真方法,其特征在于,步骤22、23中,所述迭代次数最大值为3,个体长期等待时,适应值在3次内未减小则丢弃该位置,个体改为侦察蜂,随机选择其他用于疏散邻胞作为新位置。
8.一种实施权利要求1~7任意一项所述基于蜂群算法的多目标引导人员疏散仿真方法的基于蜂群算法的多目标引导人员疏散仿真系统。
9.一种实现权利要求1~7任意一项所述基于蜂群算法的多目标引导人员疏散仿真方法的信息数据处理终端。
10.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-7任意一项所述的基于蜂群算法的多目标引导人员疏散仿真方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911294075.4A CN111046562B (zh) | 2019-12-16 | 2019-12-16 | 基于蜂群算法的多目标引导人员疏散仿真方法及仿真系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911294075.4A CN111046562B (zh) | 2019-12-16 | 2019-12-16 | 基于蜂群算法的多目标引导人员疏散仿真方法及仿真系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111046562A true CN111046562A (zh) | 2020-04-21 |
CN111046562B CN111046562B (zh) | 2023-06-16 |
Family
ID=70236719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911294075.4A Active CN111046562B (zh) | 2019-12-16 | 2019-12-16 | 基于蜂群算法的多目标引导人员疏散仿真方法及仿真系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111046562B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485338A (zh) * | 2021-07-09 | 2021-10-08 | 西北工业大学 | 基于人群交互行为的机器人集群运动控制方法 |
CN115474172A (zh) * | 2022-11-14 | 2022-12-13 | 成都大学 | 结合uwb采集的室内密集人流组群行人群体疏散方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3057014A1 (en) * | 2015-02-13 | 2016-08-17 | Kozo Keikaku Engineering Inc. | Evacuation simulation device, evacuation simulation method, and program |
CN106227958A (zh) * | 2016-07-27 | 2016-12-14 | 山东师范大学 | 人工蜂群与社会力模型结合的群组疏散仿真系统及方法 |
CN107292064A (zh) * | 2017-08-09 | 2017-10-24 | 山东师范大学 | 一种基于多蜂群算法的人群疏散仿真方法及系统 |
CN108388734A (zh) * | 2018-02-28 | 2018-08-10 | 山东师范大学 | 基于禁忌搜索蜂群算法的人群疏散仿真方法及系统 |
CN108491598A (zh) * | 2018-03-09 | 2018-09-04 | 山东师范大学 | 一种基于路径规划的人群疏散仿真方法及系统 |
-
2019
- 2019-12-16 CN CN201911294075.4A patent/CN111046562B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3057014A1 (en) * | 2015-02-13 | 2016-08-17 | Kozo Keikaku Engineering Inc. | Evacuation simulation device, evacuation simulation method, and program |
CN106227958A (zh) * | 2016-07-27 | 2016-12-14 | 山东师范大学 | 人工蜂群与社会力模型结合的群组疏散仿真系统及方法 |
CN107292064A (zh) * | 2017-08-09 | 2017-10-24 | 山东师范大学 | 一种基于多蜂群算法的人群疏散仿真方法及系统 |
CN108388734A (zh) * | 2018-02-28 | 2018-08-10 | 山东师范大学 | 基于禁忌搜索蜂群算法的人群疏散仿真方法及系统 |
CN108491598A (zh) * | 2018-03-09 | 2018-09-04 | 山东师范大学 | 一种基于路径规划的人群疏散仿真方法及系统 |
Non-Patent Citations (4)
Title |
---|
XINLU ZONG等: "Indoor Emergency Evacuation Model Based on Artificial Bee Colony Algorithm", pages 18 - 23 * |
刘弘;: "基于群体智能的人群疏散路径规划仿真研究", no. 04 * |
张鹏;刘弘;王爱霖;: "基于人工蜂群算法的疏散运动仿真", 计算机工程, no. 07 * |
马乃琦;吕蕾;刘一良;: "复杂场景下面向群体路径规划的改进人工蜂群算法", no. 04, pages 16 - 23 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485338A (zh) * | 2021-07-09 | 2021-10-08 | 西北工业大学 | 基于人群交互行为的机器人集群运动控制方法 |
CN113485338B (zh) * | 2021-07-09 | 2022-11-22 | 西北工业大学 | 基于人群交互行为的机器人集群运动控制方法 |
CN115474172A (zh) * | 2022-11-14 | 2022-12-13 | 成都大学 | 结合uwb采集的室内密集人流组群行人群体疏散方法 |
CN115474172B (zh) * | 2022-11-14 | 2023-01-24 | 成都大学 | 结合uwb采集的室内密集人流组群行人群体疏散方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111046562B (zh) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kohler et al. | PSO+: A new particle swarm optimization algorithm for constrained problems | |
Zahavy et al. | Learn what not to learn: Action elimination with deep reinforcement learning | |
CN109670270A (zh) | 基于多智能体深度强化学习的人群疏散仿真方法及系统 | |
Grimaldi et al. | PSO as an effective learning algorithm for neural network applications | |
CN110794842A (zh) | 基于势场的强化学习路径规划算法 | |
CN108491598A (zh) | 一种基于路径规划的人群疏散仿真方法及系统 | |
CN111224966B (zh) | 基于演化网络博弈的最优防御策略选取方法 | |
CN111046562A (zh) | 基于蜂群算法的多目标引导人员疏散仿真方法及仿真系统 | |
CN109214065B (zh) | 基于多Agent共享Q表的人群疏散仿真方法及系统 | |
CN109242183B (zh) | 基于人工鱼群算法与目标检测的人群仿真疏散方法与装置 | |
CN113595798B (zh) | 改进闪电连接过程优化算法的网络流量预测方法及系统 | |
Huang et al. | Bootstrap estimated uncertainty of the environment model for model-based reinforcement learning | |
Zaimen et al. | A survey of artificial intelligence based wsns deployment techniques and related objectives modeling | |
CN108491972A (zh) | 一种基于Sarsa算法的人群疏散仿真方法及装置 | |
Ding et al. | Improved GWO algorithm for UAV path planning on crop pest monitoring | |
Guo et al. | Improved whale optimization algorithm based on random hopping update and random control parameter | |
Niazy et al. | Solving Capacitated Vehicle Routing Problem Using Chicken Swarm Optimization with Genetic Algorithm. | |
Qi et al. | A wireless sensor node deployment scheme based on embedded virtual force resampling particle swarm optimization algorithm | |
CN114995460A (zh) | 一种基于自适应改进蚁群算法的机器人路径规划方法 | |
CN112216341B (zh) | 一种群体行为逻辑优化方法及计算机可读存储介质 | |
WO2013164140A1 (en) | Method, apparatus and computer program product for simulating the movement of entities in an area | |
Chang et al. | Dynamic flow scheduling optimization based on intelligent control for digital twins | |
Cui et al. | Improved multi-objective artificial bee colony algorithm-based path planning for mobile robots | |
CN116307325A (zh) | 一种配电网的线路规划方法、装置、电子设备及存储介质 | |
Sohn et al. | Shortest-path constrained reinforcement learning for sparse reward tasks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |