欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2019112940754
申请人: 湖北工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-02-23
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

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

步骤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)。

2.如权利要求1所述基于蜂群算法的多目标引导人员疏散仿真方法,其特征在于,步骤

1中,所述元胞的状态包括:当有个体占据该元胞时,元胞的状态为0;当该元胞不被任何对象占用时,元胞的状态为1;当该元胞被障碍物占据时,元胞状态为∞。

3.如权利要求1所述基于蜂群算法的多目标引导人员疏散仿真方法,其特征在于,步骤

10中,所述引领蜂以距离较近的出口为目标,计算引领蜂与出口的距离,所述距离为计算适应值。

4.如权利要求1所述基于蜂群算法的多目标引导人员疏散仿真方法,其特征在于,步骤

17中,所述跟随蜂作为一个独立个体,危险发生时,跟随蜂在自己的视野范围内选择一个最优的个体作为带领者,带领跟随蜂疏散。

5.如权利要求1所述基于蜂群算法的多目标引导人员疏散仿真方法,其特征在于,步骤

22、23中,迭代次数最大值为3,个体长期等待时,适应值在3次内未减小则丢弃该位置,个体改为侦察蜂,随机选择其他用于疏散邻胞作为新位置。

6.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1‑5任意一项所述的基于蜂群算法的多目标引导人员疏散仿真方法。