一种基于A*-EACO算法的火灾疏散路径规划方法及系统
文献发布时间:2023-06-19 18:29:06
技术领域
本申请涉及火灾疏散路径动态规划领域,特别是一种基于A*-EACO算法的火灾疏散路径规划方法及系统。
背景技术
建筑物火灾时刻威胁着公共安全,造成了大量的财产损失和人员伤亡。当火灾发生时,由于建筑物结构和材料的复杂性,烟雾在建筑物内迅速蔓延,加大了疏散难度。因此,一条最佳的火灾疏散路径显得尤为重要。
火灾疏散路径规划技术的目标是从起点到终点规划出一条远离火源且无障碍物的最优路径。现有的火灾疏散路径规划算法主要分为两类:传统算法与群智能算法。其中,传统算法主要有栅格法、Dijkstra算法、A*算法等。群智能算法主要有粒子群算法、遗传算法和蚁群算法等。在面向火灾疏散路径规划问题中,传统算法可以在简单建筑物中寻找出一条良好的火灾疏散路径,而在复杂建筑物中的路径规划能力较差。群智能算法在复杂建筑物中的疏散效果较好,但是这类算法通常存在过早收敛、易陷入局部最优等问题。因此,探索新的路径规划算法已成为研究的热点。
发明内容
鉴于所述问题,提出了本申请以便提供克服所述问题或者至少部分地解决所述问题的一种A*-EACO算法的火灾疏散路径规划方法及系统,包括:
一种基于A*-EACO算法的火灾疏散路径规划方法,所述方法包括:
获取目标建筑的二维平面图,并依据所述二维平面图采用0-1栅格法建立环境模型;
依据所述环境模型确定每个栅格的节点坐标;
依据使用者选择的起始节点和目标节点采用A*算法确定节点区域;
依据所述节点区域确定最大迭代次数,并在所述节点区域内确定下一路径节点;其中,所述路径节点包含有信息素;
依据所述最大迭代次数和当前迭代次数确定信息素蒸发因子,并依据所述信息素蒸发因子更新所述信息素;
当所述当前迭代次数达到所述最大迭代次数时,则输出距离最短的目标疏散路径。
进一步地,所述依据所述最大迭代次数和当前迭代次数确定信息素蒸发因子的步骤,包括:
依据所述当前迭代次数确定初始信息素蒸发因子;
依据所述初始信息素蒸发因子、所述最大迭代次数和所述当前迭代次数确定信息素蒸发因子。
进一步地,所述依据所述信息素蒸发因子更新所述信息素的步骤,包括:
依据所述当前迭代次数确定信息素增量;
依据所述信息素增量和所述信息素蒸发因子更新所述信息素。
进一步地,所述依据所述环境模型确定每个栅格的节点坐标的步骤,包括:
依据所述环境模型确定每个栅格的编号;
依据所述编号确定对应的所述节点坐标。
进一步地,所述依据使用者选择的起始节点和目标节点采用A*算法确定节点区域的步骤,包括:
依据所述起始节点和当前节点确定实际代价;
依据所述当前节点和所述目标节点确定估计代价;
依据所述实际代价和所述估计代价确定路径代价;
依据所述路径代价确定所述节点区域。
进一步地,所述在所述节点区域内确定下一路径节点的公式如下所示:
式中,
进一步地,所述当所述当前迭代次数达到所述最大迭代次数时,则输出距离最短的目标疏散路径的步骤,包括:
当所述路径节点为目标节点时,则对路径上的所述信息素进行更新,并确定出从所述起始节点到所述路径节点的目标路径的长度;
当所述当前迭代次数达到所述最大迭代次数时,则依据所述目标路径生成疏散路径集合;
确定出所述疏散路径集合中距离最短的目标疏散路径。
一种基于A*-EACO算法的火灾疏散路径规划系统,所述系统包括:
环境建模模块,用于获取目标建筑的二维平面图,并依据所述二维平面图采用0-1栅格法建立环境模型;
坐标计算模块,用于依据所述环境模型确定每个栅格的节点坐标;
第一优化模块,用于依据使用者选择的起始节点和目标节点采用A*算法确定节点区域;
转移模块,用于依据所述节点区域确定最大迭代次数,并在所述节点区域内确定下一路径节点;其中,所述路径节点包含有信息素;
第二优化模块,用于依据所述最大迭代次数和当前迭代次数确定信息素蒸发因子,并依据所述信息素蒸发因子更新所述信息素;
路径输出模块,用于当所述当前迭代次数达到所述最大迭代次数时,则输出节点最少且距离最短的目标疏散路径。
一种计算机设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的一种基于A*-EACO算法的火灾疏散路径规划方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的一种基于A*-EACO算法的火灾疏散路径规划方法的步骤。
本申请具有以下优点:
在本申请的实施例中,通过获取建筑的二维平面图,并依据所述二维平面图采用0-1栅格法建立环境模型;依据所述环境模型确定每个栅格的节点坐标;依据使用者选择的起始节点和目标节点采用A*算法确定节点区域;依据所述节点区域确定最大迭代次数,并在所述节点区域内确定下一路径节点;其中,所述路径节点包含有信息素;依据所述最大迭代次数和当前迭代次数确定信息素蒸发因子,并依据所述信息素蒸发因子更新所述信息素;当所述当前迭代次数达到最大迭代次数时,则输出距离最短的目标疏散路径。通过非线性递减策略对信息素蒸发因子进行改进,并对信息素进行更新,降低问题的复杂度,提高算法的搜索能力,降低求解火灾疏散路径问题的复杂性。
附图说明
为了更清楚地说明本申请的技术方案,下面将对本申请的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种基于A*-EACO蚁群算法的火灾疏散路径规划方法的步骤流程图;
图2是本申请一实施例提供的目标建筑物二维平面模型的栅格地图;
图3是本申请一实施例提供的目标建筑物二维平面模型的0-1分布栅格图;
图4是本申请一实施例提供的8邻域搜索示意图;
图5是本申请一实施例提供的一种基于A*-EACO算法的火灾疏散路径规划方法的流程示意图;
图6a是本申请一实施例提供的A*算法的火灾疏散路径规划图;
图6b是本申请一实施例提供的A*算法的火灾疏散路径规划迭代图;
图6c是本申请一实施例提供的A*算法的节点区域示意图;
图7a是本申请一实施例提供的ACO算法的火灾疏散路径规划图;
图7b是本申请一实施例提供的ACO算法的火灾疏散路径规划迭代图;
图8a是本申请一实施例提供的A*-EACO算法的火灾疏散路径规划图;
图8b是本申请一实施例提供的A*-EACO算法的火灾疏散路径规划迭代图;
图9a是本申请一实施例提供的发生火灾时A*-EACO算法的火灾疏散路径规划图;
图9b是本申请一实施例提供的发生火灾时A*-EACO算法的火灾疏散路径规划迭代图;
图10是本申请一实施例提供的一种基于A*-EACO算法的火灾疏散路径规划系统的结构框图;
图11是本发明一实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的所述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参照图1,示出了本申请一实施例提供的一种基于A*-EACO蚁群算法的火灾疏散路径规划方法;
所述方法包括:
S110、获取目标建筑的二维平面图,并依据所述二维平面图采用0-1栅格法建立环境模型;
S120、依据所述环境模型确定每个栅格的节点坐标;
S130、依据使用者选择的起始节点和目标节点采用A*算法确定节点区域;
S140、依据所述节点区域确定最大迭代次数,并在所述节点区域内确定下一路径节点;其中,所述路径节点包含有信息素;
S150、依据所述最大迭代次数和当前迭代次数确定信息素蒸发因子,并依据所述信息素蒸发因子更新所述信息素;
S160、当所述当前迭代次数达到所述最大迭代次数时,则输出距离最短的目标疏散路径。
在本申请的实施例中,通过获取建筑的二维平面图,并依据所述二维平面图采用0-1栅格法建立环境模型;依据所述环境模型确定每个栅格的节点坐标;依据使用者选择的起始节点和目标节点采用A*算法确定节点区域;依据所述节点区域确定最大迭代次数,并在所述节点区域内确定下一路径节点;其中,所述路径节点包含有信息素;依据所述最大迭代次数和当前迭代次数确定信息素蒸发因子,并依据所述信息素蒸发因子更新所述信息素;当所述当前迭代次数达到最大迭代次数时,则输出距离最短的目标疏散路径。通过非线性递减策略对信息素蒸发因子进行改进,并对信息素进行更新。该策略使得算法在寻优过程中变为非线性,降低了问题的复杂度。因此,非线性递减策略可以更好地提高算法的搜索能力,可以降低求解火灾疏散路径问题时的复杂性。
下面,将对本示例性实施例中一种基于A*-EACO算法的火灾疏散路径规划方法作进一步地说明。
如所述步骤S110所述,获取目标建筑的二维平面图,并依据所述二维平面图采用0-1栅格法建立环境模型。
在本发明一实施例中,可以结合下列描述进一步说明步骤S110所述“获取目标建筑的二维平面图,并依据所述二维平面图采用0-1栅格法建立环境模型”的具体过程。
作为一种示例,为了实现算法在建筑内火灾疏散路径规划中的应用,我们需要对建筑里面的环境作出如下假设:(1)假设火灾疏散路径环境为某建筑物内某层的俯视图,即二维平面;(2)将建筑内的房间设置为障碍物,房间的位置固定,使用多边形表示;(3)在火灾疏散过程中,逃生人员以匀速的速度前进,此过程忽略人员的心理以及身体等因素;(4)为了便于实验的仿真,我们将逃生人员设置为一个质点。
在一具体实现中,为了建立建筑物的俯视图,本实施例建立环境模型,环境模型是某建筑物的俯视图,即二维平面,采用0-1栅格法将整个二维平面划分为20×20大小一致的栅格,如图2所示。
如所述步骤S120所述,依据所述环境模型确定每个栅格的节点坐标,并依据所述节点坐标确定起始节点和目标节点。
在本发明一实施例中,可以结合下列描述进一步说明步骤S120所述“依据所述环境模型确定每个栅格的节点坐标”的具体过程。
如下列步骤所述,依据所述环境模型确定每个栅格的编号;
如下列步骤所述,依据所述编号确定对应的所述节点坐标。
作为一种示例,在图2的20×20的栅格地图中,从左到右、从上到下由1开始为栅格添加编号直至右下角的第400号栅格。各栅格坐标由其中心点坐标(x,y)表示,使用栅格编号与坐标之间的转换公式计算出每个栅格的中心坐标,即节点坐标,并设置起始节点和目标节点,所述起始坐标和所述目标节点是从所述节点坐标中选择的;其中,栅格编号与栅格坐标之间的转换计算如下:
y=a*(col+0.5-ceil(m/col))
式中,x和y分别表示节点的横坐标和纵坐标;col表示所述环境模型的总列数;m表示栅格的编号;a表示栅格的边长;mod()表示取余函数;ceil()表示向上取整函数。
在一具体实现中,为了便于算法实现火灾疏散路径的规划,本实施例将20×20的栅格地图转化为0-1栅格图,如图3所示。假设输入的地图为G,G(x,y)=1表示不可移动的区域,G(x,y)=0是可移动区域。
参照图2,对障碍物和可通行区域分别使用黑色和白色来标记,如图2的白色栅格表示逃生人员可移动的区域,对应图3的0-1分布地图中的“0”;黑色栅格表示静态障碍物,即逃生人员不可移动的区域,对应图3的0-1分布地图中的数据“1”。
如所述步骤S130所述,依据使用者选择的起始节点和目标节点采用A*算法确定节点区域。
在本发明一实施例中,可以结合下列描述进一步说明步骤S130所述“依据使用者选择的起始节点和目标节点采用A*算法确定节点区域”的具体过程。
如下列步骤所述,依据所述起始节点和当前节点确定实际代价;
如下列步骤所述,依据所述当前节点和所述目标节点确定估计代价;
如下列步骤所述,依据所述实际代价和所述估计代价确定路径代价;
如下列步骤所述,依据所述路径代价确定所述节点区域。
需要说明的是,解决火灾疏散路径规划问题的关键在于节点的选择,一组合适的节点可以构造出最短路径,从而为人群提供充足的逃生时间。因此,本申请使用双层优化策略来规划火灾疏散路径。双层优化策略由第一次优化和第二层优化两部分组成。在求解火灾疏散路径规划问题中,利用第一层中的A*算法求解逃灾人员从起点到终点走过的节点区域,然后使用第二层的增强型ACO算法(即EACO算法)在第一层优化中的节点区域进行寻找全局最优的疏散路径。双层优化策略可以规划出一条合适的火灾疏散路径。
A*(A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法,其是从起点开始,不断地对相邻节点进行扩展,并利用定义的代价函数来寻找函数值最小的节点,直到扩展到终点为止。
作为一种示例,判断建筑物内是否发生火灾,若建筑物内未发生火灾,则利用A*算法进行最短逃生路径的规划及根据起始点提前规划出逃生人员可能经过的节点区域。若建筑物内发生火灾,使用增强型蚁群算法在规划好的节点区域进行路径规划,首先让逃生人员远离火灾区域,然后规划出一条无障碍且最短的火灾疏散路径。
作为一种示例,在火灾疏散路径规划问题中,只要给定起点和终点,A*算法可以在较短时间内获得一条良好的疏散路径。A*算法在路径的搜索过程中,利用代价函数,即路径代价作为寻优依据,从而获得最优路径。代价函数为:
f(n)=g(n)+h(n)
其中,f(n)表示从所述起始节点S到当前节点n到所述目标节点E的代价估计;g(n)表示从起始节点S到当前节点n的实际代价;h(n)表示从当前节点n到目标节点E的估计代价。
g(n)和h(n)的计算公式为:
其中,(x
作为一种示例,邻域搜索是A*算法进行疏散规划的基本准则,A*算法的邻域搜索包含4邻域搜索和8邻域搜索。与4邻域搜索相比,8邻域搜索的速度更快,搜索效率更高,路径长度更短。因此,本申请采用8邻域搜索方法,参照图4,表示8邻域搜索的移动方向,A*算法在寻路时,从起始节点开始,不断向外扩展。第一层优化采用A*算法对逃灾人员从起点到终点走过的节点区域进行求解,同时记录逃灾人员走过的节点区域。其次,将记录的节点区域作为EACO算法的寻优范围,从而找出最优的逃生路径。
如所述步骤S140所述,依据所述节点区域确定最大迭代次数,并在所述节点区域内确定下一路径节点;其中,所述路径节点包含有信息素。
在本发明一实施例中,可以结合下列描述进一步说明步骤S140所述“依据所述节点区域确定最大迭代次数,并在所述节点区域内确定下一路径节点;其中,所述路径节点包含有信息素”的具体过程。
需要说明的是,迭代是进行一次重复,即重复执行程序中的循环,直到满足蚂蚁从起始节点走到目标节点为止。通过确定出最大迭代次数,从而提高计算的准确度。
作为一种示例,第二层优化采用EACO算法,在第一层使用A*算法求解的节点区域内进行火灾疏散路径规划,从而寻找出一条最短的疏散路径。蚁群算法中每只蚂蚁都有一个禁忌表,记录其走过的栅格,蚂蚁在觅食过程中,每只蚂蚁都会在路线上留下信息素来传递信息,并根据信息素浓度的高低来指导前进方向,从而获得一条最短的觅食路径。
通常情况下,路径的选择时,蚂蚁需要根据转移概率
式中,
如所述步骤S150所述,依据所述最大迭代次数和当前迭代次数确定信息素蒸发因子,并依据所述信息素蒸发因子更新所述信息素。
在本发明一实施例中,可以结合下列描述进一步说明步骤S150所述“依据所述最大迭代次数和当前迭代次数确定信息素蒸发因子,并依据所述信息素蒸发因子更新所述信息素”的具体过程。
作为一种示例,随着时间的推移,蚂蚁留在路径上的信息素逐渐挥发,为避免信息素大量丢失影响蚂蚁对节点的选择,在蚂蚁完成1次迭代后,需要对信息素进行调整。
在本发明一实施例中,可以结合下列描述进一步说明“依据所述最大迭代次数和当前迭代次数确定信息素蒸发因子”的具体过程。
如下列步骤所述,依据所述当前迭代次数确定初始信息素蒸发因子;
如下列步骤所述,依据所述初始信息素蒸发因子、所述最大迭代次数和所述当前迭代次数确定信息素蒸发因子。
在一具体实现中,信息素蒸发因子的计算公式如下所示:
ρ=ρ
式中,ρ表示所述信息素蒸发因子;ρ
其中,ρ
在本发明一实施例中,可以结合下列描述进一步说明“依据所述信息素蒸发因子更新所述信息素”的具体过程。
如下列步骤所述,依据所述当前迭代次数确定信息素增量;
如下列步骤所述,依据所述信息素增量和所述信息素蒸发因子更新所述信息素。
作为一种示例,在火灾疏散路径问题方面,由于存在很多需要遍历的节点,在搜索过程中通常是一个极为复杂的非线性过程。同时,基本蚁群算法中的信息素蒸发因子ρ是一个常数,使得算法在寻优过程中容易忽略问题的复杂性,导致其无法搜索到最短的疏散路径。因此,本发明采用了非线性递减策略对信息素蒸发因子ρ进行了改进,并对信息素τ
τ
式中,τ
如所述步骤S160所述,当所述当前迭代次数达到所述最大迭代次数时,则输出最短的目标疏散路径。
在本发明一实施例中,可以结合下列描述进一步说明步骤S160所述“当所述当前迭代次数达到所述最大迭代次数时,则输出最短的目标疏散路径”的具体过程。
如下列步骤所述,当所述路径节点为目标节点时,则对路径上的所述信息素进行更新,并确定出从所述起始节点到所述路径节点的目标路径的长度。
作为一种示例,判断蚂蚁是否到达终点位置,若达到终点,则计算出蚂蚁从起点到终点的目标路径的长度,若没有到达终点,则继续进行访问下一节点,直至访问到终点。统计出所有蚂蚁的目标路径,同时记录蚂蚁在该路径所经过的节点,使用改进的非线性递减策略对信息素蒸发因子和信息素进行更新。
如下列步骤所述,当所述当前迭代次数达到所述最大迭代次数时,则依据所述目标路径生成疏散路径集合;确定出所述疏散路径集合中距离最短的目标疏散路径。
作为一种示例,判断是否达到最大迭代次数,若是,蚁群将选择信息素含量最高的路径作为最佳路径,即从每一次迭代得到的距离最短的目标路径形成的疏散路径集合中输出最短的目标疏散路径和节点,绘制出火灾最短的疏散路径规划图;若否,则重新规划火灾疏散路径,直到满足最大迭代次数。
参照图5,A*-EACO算法的具体步骤如下:
(1)采用0-1栅格法建立环境模型,计算出节点坐标。
(2)利用A*算法求解和记录出逃生人员从起点到终点所走过的节点区域。
(3)EACO算法的初始化。初始化起始位置start、终点位置goal、蚂蚁数量num、最大迭代次数maxiter、当前迭代次数iter、蚂蚁信息素重要程度因子α、启发函数重要程度因子β、信息素增加的强度系数Q、禁忌表Tab、信息素蒸发因子ρ和邻接矩阵等。
(4)EACO算法在第(2)步的节点区域内进行路径搜索。算法进入循环迭代,此时蚂蚁在提前规划好的节点区域内进行躲避火灾区域和规划出无障碍且最短的疏散路径。将num只蚂蚁放在起点,把起点放入禁忌表,蚂蚁根据当前节点位置使用启发函数η
(5)下一节点确定后,蚂蚁需对刚走过的路径上的信息素进行局部更新。
(6)判断蚂蚁是否到达终点,若到达终点,转至步骤(7),否则转至步骤(4),直至访问到终点。
(7)统计当前num只蚂蚁搜索到的最优路径,选出长度最短的一条路径,更新全局信息素。
(8)判断迭代次数是否满足iter≤maxiter,若满足,则转至步骤(4),否则程序结束,输出最优的火灾疏散路径和节点。
与现有技术相比,本申请改进的A*-EACO算法的有益效果如下:
一、本申请通过导入建筑物的0-1地图,使用0-1栅格法对建筑物进行二维建模,对障碍物和可通行区域进行标记,使用栅格编号与坐标之间的转换公式计算出每个栅格的中心坐标,降低了建模的难度;
二、本申请针对建筑物内未发生火灾情况下,调用运行时间最快的A*算法进行最短路径的搜索及提前规划逃生人员在未发生火灾时可能经过的节点区域;
三、本申请针对建筑物内发生火灾情况下,立即调用求解效率高的EACO算法对提前规划的节点区域进行最短路径的搜索。算法在搜索过程中,首先让逃生人员远离着火点区域,然后规划出一条无障碍的最短火灾疏散路径;
四、本申请考虑到火灾疏散路径问题存在很多需要遍历的节点,在搜索过程中通常是一个极为复杂的非线性过程。同时,基本蚁群算法中的信息素蒸发因子是一个常数,使得算法在寻优过程中容易忽略问题的复杂性,导致算法无法搜索到最短的疏散路径。本申请采用了非线性递减策略对信息素蒸发因子进行了改进,并对信息素进行了更新。该策略使得算法在寻优过程中变为非线性,降低了问题的复杂度。因此,非线性递减策略可以更好地提高算法的搜索能力,可以降低求解火灾疏散路径问题时的复杂性。
以下为本申请A*-EACO算法的仿真实验
实验设置:
为了验证A*-EACO算法在火灾疏散路径规划中的可行性,将A*算法、ACO和A*-EACO算法分别进行仿真实验。实验所采用的软件为MATLAB R2017a,计算机硬件为Intel Corei5处理器,8G内存。环境模型如图2所示,该模型的起点为(0.5,19.5),即逃灾人员所在位置,终点为(19.5,0.5),即安全出口位置。A*-EACO算法的参数设置见表1:
表1仿真假设参数
实验仿真与分析:
图6-8中的黑色栅格表示障碍物,白色栅格表示逃生人员可走的区域,黑色实线表示相应算法所规划出来的最短火灾疏散路径。
(1)A*算法的仿真实验:图6a表示使用A*算法规划的火灾疏散路径,该算法规划出的短路径为35.7990m,算法的运行时间为2.025s。由于A*算法是在计算了所有节点中任意点到起点的最短距离后,最后获得起点到终点的最优路径,故图6b中收敛曲线为直线。图6c表示逃生人员从起点到终点走过的节点区域。
(2)ACO算法的仿真实验:图7a表示使用ACO算法规划的火灾疏散路径,该算法规划出的最短路径为34.9706m,而算法运行时间为10.445s。从图7a中可以看出在障碍物密集时,所规划出的局部路径并非最优,图7b可以看出蚁群算法收敛较慢,由于需要对所有节点进行迭代求解,因此算法运行时间过长。
(3)A*-EACO算法的仿真实验:第一层优化采用A*算法找出逃生人员从起点到终点的节点区域,如图6c所示的圆圈部分为节点区域。其次,使用EACO算法在节点区域规划出一条全局最优的疏散路径。图8a表示使用A*-EACO算法规划的火灾疏散路径,该算法规划出的最短路径为34.3848m,而算法运行时间为7.251s。从图8a中可以看出在无论是在障碍物密集还是稀疏处,A*-EACO获得了良好的火灾疏散路径。图8b可以看出A*-EACO算法可以很快收敛。
(4)仿真结果对比分析:从图6-图8可以看出,ACO算法虽然在缩短了火灾疏散路径的距离,但是花费的时间较长,在障碍物密集处所规划的局部路径也并非最优。A*算法虽然计算速度快,但是其规划的疏散路径较长,这是由于算法限制导致其在障碍物稀疏时不能得到局部最优路径。A*-EACO算法是在A*算法获得节点区域基础上,使用EACO算法在节点区域内进行路径规划,规划的火灾疏散路径最短且明显优于其他2种算法,该算法的收敛速度较快。在算法的计算时间上,A*-EACO算法运行时间高于A*算法,低于ACO算法。3种算法的仿真结果见表2。
此处将起点(0.5,19.5)看作应急指示灯,在未起火时,指示灯的x,y方向都亮。假设图9a中的节点(1.5,16.5)处为着火点,(19.5,0.5)为安全出口位置。当着火点处发生火灾时,由着火点区域内的传感器向控制台发送火灾信号,控制台获取火灾信息后,采用A*-EACO算法对火灾疏散路径进行重新规划,选择安全的最短路径。如图9a所示,当(1.5,16.5)处发生火灾时,此时指向y方向的指示灯熄灭,提醒逃生人员此方向不可通行,x方向的指示灯保持常亮,即该方向为可通行方向。图9b可以看出A*-EACO算法可以很快收敛。因此,使用A*-EACO算法对火灾疏散路径进行动态规划,实时改变应急指示灯的方向,以达到火灾的动态疏散,指导逃生人员及时到达安全位置。
表2 3种算法的仿真结果
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图10,示出了本申请一实施例提供的一种基于A*-EACO算法的火灾疏散路径规划系统;
具体包括:
环境建模模块1010,用于获取目标建筑的二维平面图,并依据所述二维平面图采用0-1栅格法建立环境模型;
坐标计算模块1020,用于依据所述环境模型确定每个栅格的节点坐标;
第一优化模块1030,用于依据使用者选择的起始节点和目标节点采用A*算法确定节点区域;
转移模块1040,用于依据所述节点区域确定最大迭代次数,并在所述节点区域内确定下一路径节点;其中,所述路径节点包含有信息素;
第二优化模块1050,用于依据所述最大迭代次数和当前迭代次数确定信息素蒸发因子,并依据所述信息素蒸发因子更新所述信息素;
路径输出模块1060,用于当所述当前迭代次数达到所述最大迭代次数时,则输出节点最少且距离最短的目标疏散路径。
在本发明一实施例中,所述第二优化模块1050,包括:
初始信息素蒸发因子确定子模块,用于依据所述当前迭代次数确定初始信息素蒸发因子;
信息素蒸发因子确定子模块,用于依据所述初始信息素蒸发因子、所述最大迭代次数和所述当前迭代次数确定信息素蒸发因子。
在本发明一实施例中,所述第二优化模块1050,还包括:
信息素增量确定子模块,用于依据所述当前迭代次数确定信息素增量;
更新子模块,用于依据所述信息素增量和所述信息素蒸发因子更新所述信息素。
在本发明一实施例中,所述坐标计算模块1020,包括:
编号子模块,用于依据所述环境模型确定每个栅格的编号;
转换子模块,用于依据所述编号确定对应的所述节点坐标。
在本发明一实施例中,所述第一优化模块1030,包括:
实际代价确定子模块,用于依据所述起始节点和当前节点确定实际代价;
估计代价确定子模块,用于依据所述当前节点和所述目标节点确定估计代价;
路径代价确定子模块,用于依据所述实际代价和所述估计代价确定路径代价;
节点区域确定子模块,用于依据所述路径代价确定所述节点区域。
在本发明一实施例中,所述转移模块1040的计算公式如下所示:
式中,
在本发明一实施例中,所述路径输出模块1060,包括:
更新子模块,用于当所述路径节点为目标节点时,则对路径上的所述信息素进行更新,并确定出从所述起始节点到所述路径节点的目标路径的长度;
路径集合子模块,用于当所述当前迭代次数达到所述最大迭代次数时,则依据所述目标路径生成疏散路径集合;
输出子模块,用于确定出所述疏散路径集合中距离最短的目标疏散路径。
参照图11,示出了本发明的一种基于A*-EACO算法的火灾疏散路径规划方法的计算机设备,具体可以包括如下:
上述计算机设备12以通用计算设备的形式表现,计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线18结构中的一种或多种,包括存储器总线18或者存储器控制器,外围总线18,图形加速端口,处理器或者使用多种总线18结构中的任意总线18结构的局域总线18。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线18,微通道体系结构(MAC)总线18,增强型ISA总线18、音视频电子标准协会(VESA)局域总线18以及外围组件互连(PCI)总线18。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其他移动/不可移动的、易失性/非易失性计算机体统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(通常称为“硬盘驱动器”)。尽管图11中未示出,可以提供用于对可移动非易失性磁盘(如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质界面与总线18相连。存储器可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块42,这些程序模块42被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块42以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24、摄像头等)通信,还可与一个或者多个使得操作人员能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)界面22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN)),广域网(WAN)和/或公共网络(例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其他模块通信。应当明白,尽管图11中未示出,可以结合计算机设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元16、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统34等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种基于A*-EACO算法的火灾疏散路径规划方法。
也即,上述处理单元16执行上述程序时实现:获取建筑的二维平面图,并依据所述二维平面图采用0-1栅格法建立环境模型;依据所述环境模型确定每个栅格的节点坐标;依据使用者选择的起始节点和目标节点采用A*算法确定节点区域;依据所述节点区域确定最大迭代次数,并在所述节点区域内确定下一路径节点;其中,所述路径节点包含有信息素;依据所述最大迭代次数和当前迭代次数确定信息素蒸发因子,并依据所述信息素蒸发因子更新所述信息素;当所述当前迭代次数达到最大迭代次数时,则输出距离最短的目标疏散路径。
在本发明实施例中,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有实施例提供的一种基于A*-EACO算法的火灾疏散路径规划方法:
也即,给程序被处理器执行时实现:获取建筑的二维平面图,并依据所述二维平面图采用0-1栅格法建立环境模型;依据所述环境模型确定每个栅格的节点坐标;依据使用者选择的起始节点和目标节点采用A*算法确定节点区域;依据所述节点区域确定最大迭代次数,并在所述节点区域内确定下一路径节点;其中,所述路径节点包含有信息素;依据所述最大迭代次数和当前迭代次数确定信息素蒸发因子,并依据所述信息素蒸发因子更新所述信息素;当所述当前迭代次数达到最大迭代次数时,则输出距离最短的目标疏散路径。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在操作人员计算机上执行、部分地在操作人员计算机上执行、作为一个独立的软件包执行、部分在操作人员计算机上部分在远程计算机上执行或者完全在远程计算机或者服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到操作人员计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种基于A*-EACO算法的火灾疏散路径规划方法及系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
- 基于深度学习和混合遗传算法的火灾疏散路径规划方法
- 一种基于Actor-Critic算法的人群疏散运动路径规划方法及系统