疏散路径的设计在建筑安全领域有着重要的应用。疏散路径的设计往往基于最短路径理论。本文给出了一座办公建筑的平面图和网络图,并利用Floyd算法设计了该建筑紧急疏散路径,之后还考虑了当个别安全通道出口突发事故而无法正常使用的情况下如何选择最优的疏散路径。 The design of evacuation path has an important application in building safety. The design of evacuation path is usually based on the shortest path theory. This paper gives the plan and network diagram of an office building, and uses Floyd algorithm to design the emergency evacuation path of the building. Then, it also considers how to choose the optimal evacuation path in the case that the exit accident of some safe passage cannot be used normally.
白彩云,于耀华*,李阳*,王越,郭爽,孙欣宇,覃昶潔
大连民族大学理学院,辽宁 大连
收稿日期:2020年7月27日;录用日期:2020年8月13日;发布日期:2020年8月20日
疏散路径的设计在建筑安全领域有着重要的应用。疏散路径的设计往往基于最短路径理论。本文给出了一座办公建筑的平面图和网络图,并利用Floyd算法设计了该建筑紧急疏散路径,之后还考虑了当个别安全通道出口突发事故而无法正常使用的情况下如何选择最优的疏散路径。
关键词 :最优路径,疏散路径,Floyd算法
Copyright © 2020 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
随着经济的发展和进步,人们越来越重视生活中的安全性问题。安全性问题也是评判一座建筑好坏的标准之一。因此,建筑空间疏散路径的设计成为近年来大家关注的热点问题。
通常情况下,建筑空间的疏散路径设计是以最短路径理论为基础来进行研究的。最短路径理论的经典算法较多,比如至今还广为使用的Dijkstra算法、Floyd算法、SPFA算法和Bellman-Ford算法等 [
本文给出了一个建筑空间的平面图形,并绘制了该建筑的网络示意图。然后利用经典的Floyd算法设计了七个人群聚集地的疏散路线。并且还考虑当某些紧急出口无法正常使用时,这七个人群聚集地如何选择其他出口。
如图1所示,这是某建筑物的一个平层结构图。
图1. 建筑结构图
A , B , C , D , E , F , G 所在位置代表该建筑的办公室、会议室、开放式办公区等七个人群相对密集的地点。我们将这七个地点作为起点。而 S 1 , S 2 , S 3 是应急楼梯的位置,作为终点。为了防止突发事故发生时人群慌不择路,我们需要分别为这七个起点的人群设计最优的疏散路径。终点就是 S 1 , S 2 , S 3 其中之一。我们把七个起点和三个终点作为网络示意图的节点。
各节点间的距离计算方法如下:若 M , N 是平面图中任意两节点,则 M , N 两点的距离 D ( M , N ) 是由10次测量值 d i , i = 1 , ⋯ , 10 按照下面公式算得的:
D ( M , N ) = ∑ i = 1 10 ρ i d i 。
记 d ¯ 为10次测量值的均值,令 a i = | d i − d ¯ | , i = 1 , ⋯ , 10 。然后取 d m 的权值
ρ m = a m ∑ i = 1 10 a i , m = 1 , ⋯ , 10 。
用以上方法来确定节点之间的距离能使距离值更准确。为方便计算,在本文中,将节点 A , B , S 2 , G , C , S 3 , D , E , F , S 1 按照顺序记为 x 1 , x 2 , ⋯ , x 10 ,则任意两节点 x i 与 x j 之间的距离记为 D i j 。
首先,介绍该算法步骤:
第1步 定义初始的距离矩阵 M 0 和节点序列矩阵 Q 0 ;
第k步 令第k行、第k列为枢轴行和枢轴列,对于矩阵 M k − 1 中的每一个元素 D i j 做以下步骤,如果满足条件: D i k + D k j < D i j ( i ≠ k , j ≠ k , i ≠ j ) ,那么可以进行下面的转化:
用 D i k + D k j 代替 M k − 1 中的元素 D i j ,得到矩阵 M k ;
用k代替矩阵 Q k − 1 中的元素 q i j ,得到矩阵 Q k 。令 k = k + 1 ,如果 k = n + 1 ,停止;否则,重复第k步。
经过n步后,可以从矩阵 M n 中按照下面规则得到节点i和节点j之间的最短路径;
其中,
在矩阵 M n 中, D i j 表示节点i和节点j之间的最短路径的长度;
在矩阵 Q n 中可以确定中间节点 k = q i j (根据得到的路径 i → k → j )。如果 q i k = k 并且 q k j = j ,停止,因为路径中的所有中间节点都已找到。否则,在节点i与节点k之间以及节点k与节点j之间重复上面的步骤。
(1) 各个节点之间的距离网络描述图如图2所示。
(2) 使用Matlab编程,按照 A , B , S 2 , G , C , S 3 , D , E , F , S 1 为顺序构造距离矩阵 M 0 = ( D i j ) 10 × 10 和节点矩阵 Q 0 。上文已经注明 D i j 表示任意两节点之间的距离(单位:m),且用inf表示没有边相连接或是人们在正常情况下不会选择的线路的两点间距离。
M 0 = ( 0 7.3 18.5 16.4 inf 42.8 35.6 24.1 18.9 24 7.3 0 12 15.3 inf 53 49.9 46.2 41 41.5 18.2 12 0 25.6 38.8 inf 67.4 56.2 50.1 inf 16.4 15.3 25.6 0 13.9 23.7 27.1 31.3 34.1 39.7 inf inf 38.8 13.9 0 20 28.9 34.3 44.9 60.4 42.8 53 inf 13.9 20 0 21.5 32.6 45.6 inf 35.6 49.9 67.4 27.1 28.9 21.5 0 5.6 16 31 24.1 46.2 56.2 31.3 34.3 32.6 5.6 0 9 28 18.9 41 50.1 34.1 44.9 45.6 16 9 0 15 24 41.5 inf 39.7 60.4 inf 31 28 15 0 ) ,而 Q 0 = ( 0 ) 10 × 10 。
图2. 网络图
利用Floyd算法来计算出最优路径,得到最终的矩阵 M 10 ,
M 10 = ( 0 7.3 18.5 16.4 30.3 40.1 29.7 24.1 18.9 24 7.3 0 12 15.3 29.2 39 37 31.4 26.2 31.3 18.2 12 0 25.6 38.8 49.3 47.9 42.3 37.1 42.2 16.4 15.3 25.6 0 13.9 23.7 27.1 31.3 34.1 39.7 30.3 29.2 38.8 13.9 0 20 28.9 34.3 43.3 53.6 30.3 29.2 39.5 13.9 20 0 21.5 27.1 36.1 51.1 29.7 37 48.2 27.1 28.9 21.5 0 5.6 14.6 29.6 24.1 31.4 42.6 31.3 34.3 27.1 5.6 0 9 24 18.9 26.2 37.4 34.1 43.3 36.1 14.6 9 0 15 24 31.3 42.5 39.7 53.6 51.1 29.6 24 15 0 ) 。
且 M 10 表明了各个起点与应急通道之间最优路径的距离,例如该矩阵第一行表示A起点到 A , B , S 2 , G , C , S 3 , D , E , F , S 1 点的最短路径长度,而比较A点到三个终点的路径长度,发现最佳逃生路径为出口 S 2 ,距离为18.5米。由此总结出所有起点对应的最佳疏散出口如表1所示:
起点 | A | B | C | D | E | F | G |
---|---|---|---|---|---|---|---|
最佳出口 | S2 | S2 | S3 | S3 | S3 | S1 | S1 |
表1. 疏散路径表
但是在某种紧急情况下,可能出现应急出口因为安全原因而无法使用,这时就需要重新考虑各个地点与应急之间的最优路径问题了。于是本文又考虑了当三个出口分别出现问题,无法使用时,这七个起点如何选择路线。
将无法使用的应急出口与各个地点间的距离权重设置为inf。假设 S 1 无法使用,我们首先得到初始距离矩阵
M 0 = ( 0 7.3 18.5 16.4 inf 42.8 35.6 24.1 18.9 inf 7.3 0 12 15.3 inf 53 49.9 46.2 41 inf 18.2 12 0 25.6 38.8 inf 67.4 56.2 50.1 inf 16.4 15.3 25.6 0 13.9 23.7 27.1 31.3 34.1 inf inf inf 38.8 13.9 0 20 28.9 34.3 44.9 inf 42.8 53 inf 13.9 20 0 21.5 32.6 45.6 inf 35.6 49.9 67.4 27.1 28.9 21.5 0 5.6 16 inf 24.1 46.2 56.2 31.3 34.3 32.6 5.6 0 9 inf 18.9 41 50.1 34.1 44.9 45.6 16 9 0 inf inf inf inf inf inf inf inf inf inf 0 )
利用Floyd算法计算后得到最终的矩阵:
M 10 = ( 0 7.3 18.5 16.4 30.3 40.1 29.7 24.1 18.9 inf 7.3 0 12 15.3 29.2 39 37 31.4 26.2 inf 18.2 12 0 25.6 38.8 49.3 47.9 42.3 37.1 inf 16.4 15.3 25.6 0 13.9 23.7 27.1 31.3 34.1 inf 30.3 29.2 38.8 13.9 0 20 28.9 34.3 43.3 inf 30.3 29.2 39.5 13.9 20 0 21.5 27.1 36.1 inf 29.7 37 48.2 27.1 28.9 21.5 0 5.6 14.6 inf 24.1 31.4 42.6 31.3 34.3 27.1 5.6 0 9 inf 18.9 26.2 37.4 34.1 43.3 36.1 14.6 9 0 inf inf inf inf inf inf inf inf inf inf 0 )
从而得到在 S 1 无法使用的情况下所有起点对应的最佳出口如表2所示:
起点 | A | B | C | D | E | F | G |
---|---|---|---|---|---|---|---|
最佳出口 | S2 | S2 | S3 | S3 | S3 | S3 | S3 |
表2. S1出口无法使用时的疏散路径
同理可得当 S 2 无法使用的情况下所有起点对应的最佳出口如表3所示:
起点 | A | B | C | D | E | F | G |
---|---|---|---|---|---|---|---|
最佳出口 | S1 | S1 | S3 | S3 | S3 | S1 | S1 |
表3. S2出口无法使用时的疏散路径
S 3 无法使用的情况下所有起点对应的最佳出口如表4所示:
起点 | A | B | C | D | E | F | G |
---|---|---|---|---|---|---|---|
最佳出口 | S2 | S2 | S2 | S2 | S1 | S1 | S1 |
表4. S3出口无法使用时的疏散路径
本文利用经典Floyd算法求解了一个建筑空间的疏散路径设计问题。并给出了当某个紧急出口无法使用情况下如何重新选择路径的方法。
大连民族大学大学生创新创业项目(201912026039,201912026449),大连民族大学理学院信息与计算科学专业建设项目。
白彩云,于耀华,李 阳,王 越,郭 爽,孙欣宇,覃昶潔. 基于Floyd算法的疏散路径设计Evacuation Path Design Based on Floyd Algorithm[J]. 应用数学进展, 2020, 09(08): 1292-1297. https://doi.org/10.12677/AAM.2020.98151