1. 引言
随着经济的发展和进步,人们越来越重视生活中的安全性问题。安全性问题也是评判一座建筑好坏的标准之一。因此,建筑空间疏散路径的设计成为近年来大家关注的热点问题。
通常情况下,建筑空间的疏散路径设计是以最短路径理论为基础来进行研究的。最短路径理论的经典算法较多,比如至今还广为使用的Dijkstra算法、Floyd算法、SPFA算法和Bellman-Ford算法等 [1] [2] [3] [4],但是我们在解决实际问题的时候往往不能仅考虑单一的距离长短问题,其他现实因素有时也需要纳入考虑范围之内。
本文给出了一个建筑空间的平面图形,并绘制了该建筑的网络示意图。然后利用经典的Floyd算法设计了七个人群聚集地的疏散路线。并且还考虑当某些紧急出口无法正常使用时,这七个人群聚集地如何选择其他出口。
2. 问题介绍
如图1所示,这是某建筑物的一个平层结构图。
Figure 1. Architectural structural diagram
图1. 建筑结构图
所在位置代表该建筑的办公室、会议室、开放式办公区等七个人群相对密集的地点。我们将这七个地点作为起点。而
是应急楼梯的位置,作为终点。为了防止突发事故发生时人群慌不择路,我们需要分别为这七个起点的人群设计最优的疏散路径。终点就是
其中之一。我们把七个起点和三个终点作为网络示意图的节点。
3. 节点间的距离测量
各节点间的距离计算方法如下:若
是平面图中任意两节点,则
两点的距离
是由10次测量值
按照下面公式算得的:
。
记
为10次测量值的均值,令
。然后取
的权值
。
用以上方法来确定节点之间的距离能使距离值更准确。为方便计算,在本文中,将节点
按照顺序记为
,则任意两节点
与
之间的距离记为
。
4. 利用Floyd算法设计疏散路径
首先,介绍该算法步骤:
第1步 定义初始的距离矩阵
和节点序列矩阵
;
第k步 令第k行、第k列为枢轴行和枢轴列,对于矩阵
中的每一个元素
做以下步骤,如果满足条件:
,那么可以进行下面的转化:
用
代替
中的元素
,得到矩阵
;
用k代替矩阵
中的元素
,得到矩阵
。令
,如果
,停止;否则,重复第k步。
经过n步后,可以从矩阵
中按照下面规则得到节点i和节点j之间的最短路径;
其中,
在矩阵
中,
表示节点i和节点j之间的最短路径的长度;
在矩阵
中可以确定中间节点
(根据得到的路径
)。如果
并且
,停止,因为路径中的所有中间节点都已找到。否则,在节点i与节点k之间以及节点k与节点j之间重复上面的步骤。
5. 数值实验
(1) 各个节点之间的距离网络描述图如图2所示。
(2) 使用Matlab编程,按照
为顺序构造距离矩阵
和节点矩阵
。上文已经注明
表示任意两节点之间的距离(单位:m),且用inf表示没有边相连接或是人们在正常情况下不会选择的线路的两点间距离。
,而
。
利用Floyd算法来计算出最优路径,得到最终的矩阵
,
。
且
表明了各个起点与应急通道之间最优路径的距离,例如该矩阵第一行表示A起点到
点的最短路径长度,而比较A点到三个终点的路径长度,发现最佳逃生路径为出口
,距离为18.5米。由此总结出所有起点对应的最佳疏散出口如表1所示:
但是在某种紧急情况下,可能出现应急出口因为安全原因而无法使用,这时就需要重新考虑各个地点与应急之间的最优路径问题了。于是本文又考虑了当三个出口分别出现问题,无法使用时,这七个起点如何选择路线。
将无法使用的应急出口与各个地点间的距离权重设置为inf。假设
无法使用,我们首先得到初始距离矩阵
利用Floyd算法计算后得到最终的矩阵:
从而得到在
无法使用的情况下所有起点对应的最佳出口如表2所示:
Table 2. Evacuation path without S1 exit
表2. S1出口无法使用时的疏散路径
同理可得当
无法使用的情况下所有起点对应的最佳出口如表3所示:
Table 3. Evacuation path without S2 exit
表3. S2出口无法使用时的疏散路径
无法使用的情况下所有起点对应的最佳出口如表4所示:
Table 4. Evacuation path without S3 exit
表4. S3出口无法使用时的疏散路径
6. 结论
本文利用经典Floyd算法求解了一个建筑空间的疏散路径设计问题。并给出了当某个紧急出口无法使用情况下如何重新选择路径的方法。
基金项目
大连民族大学大学生创新创业项目(201912026039,201912026449),大连民族大学理学院信息与计算科学专业建设项目。
NOTES
*通讯作者。