1. INTRODUCTION

A considerable number of victims of fires on the premises is due to a combination of increased concentration of combustion products and limited evacuation capacity. These limitations are associated with the features of buildings and shortcomings in their preparation for operation. A necessary part of the preparation of premises for safe operation is the simulation of possible dangerous situations using modern computing tools. Quite a lot of mathematical models have been developed to analyze the processes of evacuation and the spread of hazardous fire factors (HFFs). In particular, the spread of HFFs—fire, heat, smoke, etc.—is analyzed in [1,2,3,4,5,6,7] and the processes of evacuating people from premises, in [8,9,10,11,12,13,14,15,16]. At the same time, the currently used solutions, as a rule, use field models for fire simulation and models of an individual flow type for evacuation simulation. The publication [17] considers the FDS + Evac hardware–software complex using a field model of evacuation based on the concept of social forces. Such a model is quite complex from the computational point of view in the case of large rooms and is conditionally applicable to the analysis of such a spontaneous process as fire evacuation. Another disadvantage of the model in the FDS + Evac is the limitation on the width of the openings—at least 0.7 m. In addition, the configuration of the room during evacuation is considered as constant, which is not always true.

The evacuation model in [9] is also based on the concept of social forces, but it assumes that people try to avoid collisions with each other and with obstacles. However, other shortcomings of the social forces model remain. In addition, it fails to consider the effect of fire on the process of evacuation from complex configured premises.

In general, an analysis of the existing systems shows that they have the following main limitations:

  1. the physical aspects of people’s behavior during evacuation are not taken into account;

  2. complex configuration of premises, likely to change during a fire, is disregarded;

  3. mathematical modeling using these systems is quite resource intensive.

At the same time, it should be noted that the processes of evacuation and spread of HFFs have a certain influence on each other that cannot be neglected. Therefore, to achieve a more accurate and adequate assessment of the results of a possible evacuation in case of fire, one should use fire propagation and evacuation models in unified software and information complexes.

2. PROBLEM STATEMENT, PROPOSED MODELS, AND SOLUTION METHODS

For a more adequate simulation of the evacuation process in case of a fire in a room, it is proposed to create new models for the development of fire and evacuation process, an integrated model of these processes, and a software package that implements the created models.

2.1. Fire Spread Model

We will model the spread of fire using the apparatus of cellular automata. Assume that a room in the Cartesian system of coordinates \( xOy \) is divided by a network \( C \) into cells with side length \( dl \) (for the modeling we take \( dl=0.05\thinspace \text {m} \)). Then \( C = \{c_{ij} | 0 \le i \le n, 0 \le j \le m\} \) is a partition of the room into cells numbering \( n \) and \( m \) along horizontal and vertical; \( c_{ij} \) is a cell with coordinates \( (i,j) \).

Introduce the following sets: \( NC \) are cells in which combustion is impossible (noncombustible material), \( I_t \) are cells in which combustion is possible (combustible material) but it has not yet started at time \( t \), \( B_t \) are burning cells, and \( F_t \) is a cell that has burnt out and will not burn any longer. The set \( NC \) is independent of time, and the other sets change over time. We assume that at any time of the model time each of the cells considered enters precisely one of the sets listed above.

The spread of fire at time \( t+1 \) depends on the likelihood \( P_{ij}^{t} \) of fire outbreak inside a cell that is at state \( I_t \) considering its characteristics and the burning of neighboring cells. The probability of cell ignition can be determined [18] according to

$$ P_{ij}^{t} = v_{ij}f_{ij}^{t}dt/4dl, $$

where \( v_{ij} \) is the linear velocity of fire travel for cell \( c_{ij} \), \( f_{ij}^{t} \) is a parameter of burning of neighboring cells at time \( t \), and \( dt \) is the time step. The parameter \( f_{ij}^{t} \) is calculated as

$$ f_{ij}^{t} = 2n_{ij+}^{t} + n_{ijx}^{t}, $$

where \( n_{ij+}^{t} = |\{c_{i-1,j}, c_{i, j - 1}, c_{i, j + 1}, c_{i + 1, j}\} \cap B_t| \) is the number cells orthogonal to \( c_{ij} \) at which burning occurs at time \( t \) and \( n_{ijx}^{t} = |\{c_{i-1,j - 1}, c_{i - 1, j + 1}, c_{i + 1, j - 1}, c_{i + 1, j + 1}\} \cap B_t| \) is the number of cells orthogonal to \( c_{ij} \). The characteristic \( f_{ij}^t \) can assume values from 1 to 12 based on the number of orthogonal and diagonal neighbors of each nonboundary cell. We set the coefficient for burning orthogonal cells equal to 2, since the distance between the centers of diagonal neighbors is greater than that between the centers of orthogonal ones. For boundary cells, the characteristic \( f_{ij}^t \) can assume values from 0 to 8 and for the corner ones, from 0 to 5.

A cell transits from a state \( B_t \) to a state \( F_{t+1} \) if the cell runs out of combustible mass. Suppose that a combustible content \( m_{ij} \) in kg is given for each cell \( c_{ij} \), and let \( \psi _{ij} \) be the content combustion rate expressed in kg/s. Starting from the time of ignition, the combustible mass \( m_{ij} \) changes by the law

$$ m_{ij}^{t + 1} = m_{ij}^{t} - \psi _{ij}dt, $$
(1)

where \( m_{ij}^{t} \) is the mass of the combustible content of cell \( c_{ij} \) at time \( t \) and \( dt \) is the time elapsed. Thus, time \( m_{ij}/\psi _{ij} \) passes from the moment of ignition to the end of combustion in cell \( c_{ij} \). Then the cell moves from the set \( B_t \) to the set \( F_{t+1} \). Thus, for each cell \( c_{ij} \) in the model, three variants of its evolution are possible: permanent membership in state \( NC \), permanent membership in state \( I_t \), or successive passage through states \( I_t \), \( B_t \), and \( F_t \).

Figure 1 shows the spread of fire in three-room premises. The black marks cells from \( NC \) (noncombustible walls), the dark gray, cells from \( F_{t0} \), the light gray, from \( B_{t0} \), and the white, from \( I_{t0} \). The combustion source was in the center of room 1.

Fig. 1.
figure 1

Dynamics of spread of fire in premises of three rooms.

If \( B_t \) is empty, then the propagation of fire stops. Indeed, if \( B_t = \emptyset \), then \( (\forall i \in [0,n))(\forall j \in [0,m))(n_{ij+}^t = 0 \& n_{ijx}^t = 0) \); consequently, \( (\forall i \in [0,n))(\forall j \in [0,m))(P_{ij}^{t+1} = 0) \), and therefore, \( B_{t+1} = \emptyset \). By induction we have \( (\forall i>0) B_{t + n} = \emptyset \). By virtue of the fact that fire does not resume, for all \( n \) we have \( I_{t+n} = I_t \), and for the burnt-out cells we have \( F_{t + n} = F_t \). As a result, the partitioning \( C \) stops changing and the fire ceases to propagate [19, 20].

2.2. Heat Propagation Model

Let us describe the heat propagation model that will be used in the proposed complex. Let \( \theta _{ij} \) be the temperature increase of a completely thermally insulated cell when 1 kg of combustible substance is burned in it. Then

$$ \theta _{ij} = \lambda _{ij}/C_{ij}, $$

where \( \lambda _{ij} \) is the specific heat of combustion of the content inside cell \( c_{ij} \) and \( C_{ij} \) is the heat capacity of cell \( c_{ij} \) (the sum of the heat capacities of air and ceilings).

The air above the burning cell heats up according to the law

$$ T_{ij}^{t + 1} = T_{ij}^t + \psi _{ij}\theta _{ij}dt, $$

where \( T_{ij}^{t} \) is the temperature inside cell \( c_{ij} \) at time moment \( t \), \( dt \) is the model time step, and \( \psi _{ij} \) is the rate of combustion of the combustible content [21]. The temperature in a cell depends on the combustion inside and on the propagation of heat outside the cell. Let \( k_{ij} \) be a characteristic of the heat conductivity of cell \( c_{ij} \). When a cell exchanges heat with related cells, the temperature inside the cell is given by the relation

$$ T_{ij}^{t+1} = T_{ij}^t + \frac {k_{ij}}{C_{ij}}\sum \limits _{s \in S_{ij}} k_s (T^t_s - T^t_{ij}), $$
(2)

where \( T_s^t \) is the temperature inside cell \( s \) from \( S_{ij} \) at time \( t \) and \( k_s \) is a coefficient prescribing the thermal conductive characteristics of this cell.

To determine the set of cells associated with the one under consideration, the proposed model uses a graph \( G = (V,E) \).

Let \( W \in C \) be the set of cells corresponding to a wall, and suppose that for each cell \( c_{ij} \) there is a vertex \( G = (V, E) \), where \( v_{ij} \in V \) and \( e_{ijkl} \in E \) is the edge with vertices \( v_{ij} \) and \( v_{kl} \). Then the set of edges \( E \) is defined as

$$ \begin {aligned} E &= \Bigg \{e_{ijkl}\thinspace |\thinspace \bigg [\Big ((i = k) \thinspace \&\thinspace \big (|j - l| \in \{5;25\}\big )\Big ) \vee \Big ((j = l) \thinspace \&\thinspace \big (|i - k| \in \{5;25\}\big )\Big )\bigg ] \\ &\qquad \qquad {}\&\thinspace \bigg [\forall a, b \Big (a \in \big [\min (i, k);\thinspace \max (i, k)\big ] \thinspace \&\thinspace b \in \big [\min (j, l);\thinspace \max (j, l)\big ]\Big ) \rightarrow c_{ab} \notin W\bigg ] \\ &\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad {}\vee \bigg [\Big ((i = k) \big (|j - l| = 1)\big ) \vee \Big ((j = l) \big (|i - k| = 1\big )\Big )\bigg ]\Bigg \}.\end {aligned} $$

If the graph \( G \) contains an edge \( e_{ijkl} \), then the cells \( c_{ij} \) and \( c_{kl} \) are considered connected. Each cell has 4 to 12 connected cells. Figure 2 shows the case where this number is maximum; they are highlighted in color.

Fig. 2.
figure 2

Set of cells associated with cell \( c_{ij} \).

The user can set the speed of fire spread and heat propagation by modifying the selection algorithm of the edge set \( G \) and the values of \( \psi _{ij} \), \( \theta _{ij} \), \( v \), \( C_{ij} \), \( k_{ij } \), and \( T_{ij}^0 \). It is also possible to add a third dimension to the model, in which case the graph \( G \) will have edges containing cells from different layers.

The temperature in the boundary and corner cells is assumed to be equal to the ambient temperature. Due to such cells, heat exchange with the environment occurs.

The introduction of edges connecting far-distant cells makes it possible to speed up the calculation process, increase the model time step, and take into account various ways of heat propagation.

2.3. Smoke Migration Model

The model used is similar to the heat propagation model. The mass of the combustible content inside each burning cell changes according to the law (1). Combustion forms smoke the amount of which depends on the smoke-generating ability of the substance. The optical density of smoke \( \mu _{ij} \) in a cell \( c_{ij} \) from the set \( B_t \) changes according to the law

$$ \mu _{ij}^{t + 1} = \mu _{ij}^t + D_m\psi _{ij}dt/(h^2z), $$

where \( D_m \) the smoke-generating ability of a substance.

Define a graph \( G^{\prime } = (V, E^{\prime }) \) on the same set of vertices \( V \). The set of edges is given as

$$ \begin {aligned} E^{\prime } &= \Bigg \{e_{ijkl} \thinspace |\thinspace \bigg [\Big ((i = k) \thinspace \&\thinspace \big (|j - l| \in \{15;50\}\big )\Big ) \vee \Big ((j = l) \thinspace \&\thinspace \big (|i - k| \in \{15;50\}\big )\Big )\bigg ] \\ &\qquad \qquad {}\&\thinspace \bigg [\forall a, b \Big (a \in \big [\min (i, k);\thinspace \max (i, k)\big ] \thinspace \&\thinspace b \in \big [\min (j, l);\thinspace \max (j, l)\big ]\Big ) \rightarrow c_{ab} \notin W\bigg ] \\[-.3em] &\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad {}\vee \bigg [\Big ((i = k) \& \big (|j - l| = 1\big )\Big ) \vee \Big ((j = l) \thinspace \&\thinspace \big (|i - k| = 1\big )\Big )\bigg ]\Bigg \}.\end {aligned} $$

Since smoke travels faster than heat, longer edges connecting more distant cells are chosen for \( G^{\prime } \). The set \( S_{ij}^{\prime } \) of cells associated with cell \( c_{ij} \) is defined in a similar way. The migration of smoke is given by a relation similar to (2),

$$ \mu _{ij}^{t + 1} = \mu _{ij}^t + k_{ij}^{\prime } \sum \limits _{s \in S_{ij}^{\prime }} k_s^{\prime } (\mu _s^t - \mu _{ij}^t), $$

where \( k^{\prime } \) is a coefficient controlling the speed of smoke migration— \( k^{\prime }_{ij} \) for cell \( c_{ij} \) and \( k_s^{\prime } \) for one of the cells of the set \( S_{ij}^{\prime } \); \( \mu _s^t \) is the optical density for a cell from the set \( S_{ij}^{\prime } \) [19, 20]. The sighting distance \( l^t_{ij} \) in cell \( c_{ij} \) at time \( t \) can be calculated by the following relation, given in [22]:

$$ l_{ij}^t = \frac {2{.}38}{\mu _{ij}^t}. $$

2.4. Mathematical Model and Algorithm for Modeling Evacuation

We will consider the following objects.

  1. 1.

    The set of walls given by the coordinates of the lower left corner \( (x_W, y_W) \) of a wall and its length \( x_{WW} \) and width \( y_{WW} \).

  2. 2.

    The set of exits represented by the coordinates of the lower left corner \( (x_E, y_E) \) of an opening and its width \( x_{WE} \) and length \( y_{WE} \). We assume that a person who has reached any exit zone is evacuated. At the same time, the exit zone should be far enough from the doorway so that those who leave do not interfere with the evacuation of the others [23].

  3. 3.

    The set of people to be evacuated, each of them represented as a projection in the form of a circle onto the plane \( xOy \). Let us take the centers of these circles as the coordinates of the people.

  4. 4.

    The set of zones of initial positions of people, given by the coordinates of the lower left corner \( (x_Z, y_Z) \), length \( x_{WZ} \), and width \( y_{WZ} \). This is how we take into account the fact that there may be no people in some rooms at the initial moment of evacuation. We consider the following parameters of people: the coordinates \( \textbf {x}(t) \) of the center of the projection onto the \( xOy \), the projection radius \( r \), the mass of a person \( m \), his/her speed \( \textbf {v}(t) \) and acceleration \( \textbf {a}(t) \), and the maximum possible speed \( v_{\text {max}} \) and acceleration \( a_{\text {max}} \) of motion (equal to zero at the moment of the start of the evacuation). We adopt the following law of motion of people:

    $$ \begin {aligned} x(t + \Delta {}t) &= x(t) + v(t)\Delta {}t,\\ v(t + \Delta {}t) &= v(t) + a(t)\Delta {}t, \end {aligned} $$
    (3)

    where \( \Delta {}t \) is the step of model time.

We assume that the speeds of people change due to collisions in a partially elastic manner. A recovery factor \( 0 \le \epsilon \le 1 \) is introduced to describe a partially elastic collision. The normal components \( u_{1n} \) and \( u_{2n} \) of the speed of motion to the common plane tangent to the surfaces of the bodies at the point of contact after such a collision are calculated using the formulas

$$ \begin {aligned} u_{1n} &= -\epsilon {}v_{1n} + (1 + \epsilon )\frac {m_1v_{1n} + m_2v_{2n}}{m_1 + m_2}; \\ u_{2n} &= -\epsilon {}v_{2n} + (1 + \epsilon )\frac {m_1v_{1n} + m_2v_{2n}}{m_1 + m_2}. \end {aligned} $$
(4)

Here \( v_{1n} \) and \( v_{2n} \) are the normal projections of the velocities of motion of agents to the plane of impact prior to a collision, and \( m_1 \) and \( m_2 \) are the masses of the agents. The tangential projections of the velocities do not change [24]. After a collision with a wall, only the projection perpendicular to the wall changes (the sign changes to opposite, with the modulus decreasing depending on \( \epsilon \)).

Let us determine the direction of acceleration \( \textbf {a}(t) \) for each agent, assuming that he/she tries to reach the nearest exit as quickly as possible without colliding with walls or other agents. Denote the speed optimal from this point of view as \( \textbf {v}_{\text {opt}}(t) \). We will assume that the modulus of the acceleration \( \textbf {a}(t) \) of an agent depends on his/her physical capabilities, \( |\textbf {a}(t)| = a_{\text {max}} \), with the direction coinciding with that of \( \textbf {v}_{\text {opt}}(t) - \textbf {v}(t) \). It is assumed that if the agent’s speed is not optimal, then the modulus of acceleration is maximum due to his/her desire to leave the premises as soon as possible.

If there are no walls or other agents in the direction of agent’s motion, then \( |\textbf {v}_{\text {opt}}(t)| = v_{\text {max}} \). When trying not to collide with others, the agent can decrease the modulus of \( \textbf {v}(t) \). We will choose the vector \( \textbf {v}_{\text {opt}}(t) \) as follows. Denote the vector of direction towards the nearest exit by \( \textbf {e} \), the distance from the agent to the nearest obstacle when moving at an angle \( \alpha \) to \( \textbf {e} \) by \( l_\alpha \), the specified critical distance by \( L \), and the radius of the agent’s projection by \( r \). Then the modulus of the corresponding optimal velocity vector \( v_{\alpha \text {opt}} (\alpha ) \) can be calculated as

$$ v_{\alpha \text {opt}} (\alpha ) = \begin {cases} v_{\text {max}}, &l_\alpha \ge L + r\\ \dfrac {v_{\text {max}}(l_{\alpha } - r)}{L}, &r \le l_\alpha \le L + r\\ 0, &l_\alpha \le r. \end {cases} $$
(5)

In the general case, to achieve the desired modeling accuracy, the values of \( v_{\text {max}} \) and \( a_{\text {max}} \) must be set individually for each agent.

We introduce the function

$$ f(\alpha ) = v_{\alpha \text {opt}}(\alpha )\cos (\alpha ),\quad \alpha \in [-\pi /2; \pi /2]. $$
(6)

Then the angle \( \gamma \) between the vectors \( \textbf {v}_{\text {opt}} \) and \( \textbf {e} \) is the angle for which \( f(\alpha ) \) attains maximum. The modulus \( \textbf {v}_{\text {opt}} \) can be determined by substituting \( \alpha = \gamma \),

$$ |v_{\text {opt}}| = v_{\alpha \text {opt}} (\gamma ). $$
(7)

This way of defining \( \textbf {v}_{\text {opt}} \) takes into account the agent’s ability to maneuver on the way to the nearest exit, which we assume to be known to him/her.

The vector \( \textbf {v}_{\text {opt}} \) is recalculated for all agents at each step. The agents can exhibit additional properties such as heterogeneity (due to different masses and projection radii) as well as individual directions to an exit from the premises [25].

The proposed model takes into account the angle and viewing range, the moment of inertia, and the angle of rotation of an agent. The direction of the agent’s approach to the exit is determined by the vector \( \textbf {e} \). The viewing angle is assumed to be \( 180^{\circ } \), because \( \alpha \in [-\frac {\pi }{2}; \frac {\pi }{2}] \) (all alternatives of further motion are analyzed).

We assume that the agent’s viewing range is at least \( L \).

We also assume that part of the energy is converted into rotation upon impact, and this loss is allowed for in the model using the recovery factor.

The use of the developed evacuation modeling algorithm consists of the following main steps:

  1. 1.

    Set the initial data, including the dimensions and coordinates of walls, exits from the premises, and the parameters of agents.

  2. 2.

    Set the network \( C \)—the graph \( G \) and the set of values of \( d \) and \( \textbf {e} \).

  3. 3.

    Generate agents in evacuation zones.

  4. 4.

    Calculate \( \textbf {v}_{\text {opt}} \) for all agents by formulas (5)–(7).

  5. 5.

    Calculate \( \textbf {a} \) for all agents.

  6. 6.

    Calculate \( \textbf {v} \) for all agents using formula (3).

  7. 7.

    Calculate \( \textbf {x} \) for all agents using formula (3).

  8. 8.

    Recalculate the velocities of agents in case of their collisions with each other and with walls.

  9. 9.

    Check whether an exit has been reached for all agents and excluding those who have entered exit zones.

  10. 10.

    Gather statistics.

  11. 11.

    Display the position of agents and walls on the screen in the program window.

  12. 12.

    Go to the next step of model time.

  13. 13.

    If the required number of intermediate experiments has not been run, then go to step 3.

  14. 14.

    Display the results of the experiment in the form of graphs and tables.

  15. 15.

    Go to step 1 (at the user’s request) [26].

An important condition for evacuation is the maximum possible reduction of harm to human health. The solution in this paper permits one to obtain an assessment of this harm by highlighting places with high temperature and smoke.

Smoke on the premises during a fire entails a decrease in the visibility range \( l_v \), since the light intensity \( I \) decreases when passing through smoke depending on the initial value, the distance traveled \( dl \), and the smoke optical density, \( I = I_0e^{-\int \mu (l)dl} \). If the area of smoke is small (several meters), then we can assume that the smoke optical density is constant, and hence \( I = I_0e^{-\mu {}l} \). With a known amount of smoke, the visibility range is determined as the distance through which the intensity decreases by an order of magnitude. This is achieved for \( l = \dfrac {\ln 10}{\mu } \) [27, 28].

To take into account the influence of smoke on the speed of agents, in formula (5) for \( l_\alpha \) we use the quantity \( l_\alpha ^{\prime } = \min (l_\alpha , \max (l_v, 3r)) \), which is distance to the nearest obstacle \( l_\alpha \) in the direction of the agent’s motion at an angle \( \alpha \), limited by \( \max (l_v, 3r) \), which is \( l_v \) for \( l_v>3r \) or \( 3r \) for \( l_v<3r \). Thus, for \( l_v>L \) smoke does not significantly change the orientation and speed of the evacuees. If \( 3r < l_v \le L \), then the agents find it difficult to orient themselves and reduce their speed, formula (5). For \( l_v \le 3r \), the agents practically do not see the surrounding objects and are forced to move by touch [29].

Fig. 3.
figure 3

Evacuation in case of fire on the second floor in a building.

The proposed concept of motion of agents during evacuation is schematically depicted in Fig. 3, where the fire started on the second floor. In this figure, dotted arrows indicate the directions in which agents 1 12 want to move (the shortest path to the exit), and solid arrows show velocity vectors adjusted by agents at the moment taking into account obstacles and collisions with other agents. For example, agent 1 changes the direction of the velocity vector trying to bypass agent 4 .

Fig. 4.
figure 4

Plan of floor 0 of a mall.

2.5. Software-Information Complex

The following tasks were solved when developing the software-information complex:

  1. 1.

    Software implementation of the developed models with the possibility of joint and separate modeling of the spread of hazardous fire factors and evacuation.

  2. 2.

    Providing user interaction through graphical and console interfaces.

  3. 3.

    Visualizing the positions of agents and obstacles, the front of fire, and the distribution of heat and smoke in the room.

  4. 4.

    Providing the possibility to work with a wide class of premises the map of which the user can set.

  5. 5.

    Providing the user with the ability to conduct computational experiments with various initial conditions and visualize their results.

  6. 6.

    Providing the possibility of running multiple numerical experiments with different initial conditions for the location of agents and fire sources in the room. The purpose of such experiments is to analyze the situation in case of fires on the premises and construct average dependences between the processes of distribution of HFFs and evacuation in order to develop recommendations for ensuring evacuation.

  7. 7.

    Supporting the multithreaded organization of problem solution, which will allow the implementation of multiple experiments of substantial computational complexity. Multithreading support is necessary for efficient control of the complex via graphical and console interfaces.

3. AN EXAMPLE OF USING SOFTWARE-INFORMATION COMPLEX

The developed software-information complex was used to simulate evacuation from a ten-storey building simultaneously on all floors in real time. Each floor measures \( 38\times 32 \) m. The plan of floor 0, based on the real location of objects in a shopping center, is shown in Fig. 4.

Fig. 5.
figure 5

Evacuation from floors 0–9 of a mall.

Fig. 6.
figure 6

Number of people per floor in the process of evacuation from the building under condition \( a_0(0) = a_1(0) = \ldots = a_9(0) = 250 \).

Fig. 7.
figure 7

Number of people per floor in the process of evacuation from the building under condition \( a_0(0) = a_1(0) = \ldots = a_9(0) = 150 \).

Fig. 8.
figure 8

Number of people per floor in the process of evacuation from the building under condition \( a_0(0) = a_1(0) = \ldots = a_9(0) = 100 \).

Let us simulate the occurrence of a fire on floor 1 and the subsequent evacuation of people from all floors of the building. Figure 5 shows an example of operation of the module for visualizing the location of people on floors 0–9 of the building during the evacuation process.

By \( a_0(t), a_1(t), \ldots , a_9(t) \) we denote the number of people on floors \( 0, 1, \ldots , 9 \), respectively, at times \( t = 0, \ldots , T \), where \( t = 0 \) and \( t = T \) are the start and end time of evacuation from the building. Figure 6 presents the graphs of the quantities \( a_0(t) \), \( a_1(t) \), \( a_2(t) \), \( a_3(t) \), and \( a_9(t) \) obtained in a computational experiment under the condition \( a_0(0) = a_1(0) = \ldots = a_9(0) = 250 \). In all conducted computational experiments, the graphs of \( a_4(t) \), \( a_5(t) \), \( a_6(t) \), \( a_7(t) \), and \( a_8(t) \) were in between the graphs for \( a_3(t) \) and \( a_9(t) \), and therefore they are not shown in Figs. 6, 7, and 8.

As can be seen from the presented graph, the largest concentration of people is on floors 1 and 2. The longest evacuation time is also observed there due to the arrival of people from the upper floors. This situation turns out to be potentially dangerous due to possible crush, as well as exceeding the maximum time for people to stay in the room, taking into account its area, location, and properties of combustible materials. It will be shown below how model experiments with the developed complex make it possible to determine the maximum filling of floors with people visiting the shopping center in such a way that their number on “critical” floors 1 and 2 does not exceed the allowable number during evacuation.

Congestion can occur during evacuation if there is not enough free space for the motion of evacuees. Based on the analysis of sanitary-epidemiological rules and norms, in the model example we will assume that safety requirements prescribe at least \( 4~\text {m}^2 \) of space per person. Considering that the floor sizes are \( 38\times 32 \) m, the maximum allowable number of people on each floor is 304. It can be seen from Fig. 6 that with an initial number of people on each floor equal to 250, the number of people on the floor 2 during the evacuation process exceeds 500 in the considered computational experiment. With a decrease in the initial number of visitors to 150, floor 2 overload can also be observed in Fig. 7. As a series of computational experiments showed, the maximum number of people on floor 2 becomes considerably smaller than three hundred in the case where the initial number of people per floor is at most 100 (see Fig. 8).

Thus, in order to prevent crowding during evacuation under the conditions of the problem, it can be recommended to limit visitors of the shopping center to at most 100 people per floor at any time.

The above example shows that the developed software-information complex can be used to produce quantitative and qualitative recommendations on measures and actions to be taken to reduce the time of evacuation from complex shaped premises. These recommendations may concern both the organization of people’s stay in already used premises and the very design of the premises at the stage of their planning or renovation.

4. CONCLUSIONS

A multithreaded software-information complex has been developed that allows simulating and analyzing the dynamics of the spread of hazardous fire factors and the evacuation of people under the conditions of the spread of these factors.

The complex is based on the developed integrated mathematical model of the dynamics of the spread of hazardous factors of fire and evacuation. The model was developed using the principles of a cellular automaton and multiagent systems taking into account the physical collisions of people during evacuation. The software allows one to vary many parameters of the complex system under study during the simulation in terms of both the agents and the fire processes. Therefore, the results of the paper have a high functionality in research on fire preparation of premises as well as in the analysis of the spread of fire hazards and evacuation processes.