Fire evacuation simulation
Contents
Problem definition
My task is to simulate the evacuation of large public building in case of any emergency and measure how fast can people get out of building. In every large public building there is a problem, that people don´t know the building very well, and might get lost inside the building. Therefore they could not get out fast during the evacuation. To deal with this problem, there are “Emergency exit” marks on the walls or hanging from the ceiling, which shows people way to the nearest exit.
In case of emergency, people should seek the exit as fast as possible. There has to be enough exits for the people, so they don’t stuck and crush themselves in the crowd, and there should also be enough marks, so the people can find the way out quickly.
The public building in my model is modelled according to a plans of ground floor of „public side“ of Centrum Černý most, which is a large shopping centre in Prague. By the “public side” I mean the side, where customers of the centre can get (shops, walkways, toilets etc.). The administrative places, where is significantly less people and they know the way out quite well is not included.
Method
To deal with the problem I have chosen the method to create a multiagent system in programmable multiagent environment called NetLogo.
Model description
In model there are following entities:
People
The people in the model are not very smart, as would people during fire emergency or another stressful situation be. They will try to find their way out very quickly, and if they don’t see the way, they can pretty quickly got lost even in not too complex shop.
People can see up to the distance set at the beginning and only in front 180° (they can’t see, what’s behind them). Also they can’t see through walls.
At first, they will try to find exit in they view range. If they see one, they will go to the exit and leave the building. If they see no exit around, they will try to find the marks leading to the exit. If they see the mark, they will go to it until, they are close enough to read it (it is 25% of visibility). When they can read the sign, the will go the way mark shows and look for another mark of exit. If people see no exit and no sign either, and they are in the shops (the floor of the shops are brown in my model), they will try to find the walkway at least. There is better chance to find any marks or exits. If they don’t see any exit nor mark nor walkway, they will look behind themselves and with no luck even there, they will simply wander random way to find any think mentioned before.
If any person hits the wall, he or she will go the way, the wall goes. Whether it will be right or left will be chosen randomly with 50% chance for both ways.
If the danger switch is on, there will be a 10% chance, that a person will get crushed by crowd around, if there are 6 or more people around the person.
Exits
Exits are places, people seek to get to. They are marked green on the plan. If any person steps on the exit, he/she will disappear and is counted as the one who got away.
Marks
Marks are stationary agents placed in the model. They have a shape of green arrow pointing the way, people should go. If any person sees the mark, he/she will come to it as close as he can read it and then he/she will go the direction the mark is showing.
Walkway
Walkways are patches with bright green color. People, who are in the shops and can’t see any exit nor mark, will try to get to the walkway. Shops
Shops are patches with bright brown color.
Walls
Walls are patches with black color. People can’t walk through walls and can’t see through them. Neither fire can get through walls.
Fire
If the danger switch is turned on, there will be fire in the model. Small fireball of size 6 patches. The patch on fire will turn red. Every patch, which is near the patch on fire has a 5% chance to light up every tick. Every patch on fire has a 2% chance to burn out. Burned out patches will turn color to grey.
The interface of the model
The largest part of the interface is the graphic window, where after the setup can be seen the plan of the building with all parts. It is updated every tick.
There are two sliders on the interface:
Visibility, which sets how far people can see, it also sets the readability of the marks, which is ¼ of visibility. 1 point of visibility means 1 approximately 1 meter distance in reality. The default value is 40 meters.
Number-of-people, which sets, how many people will spawn on the map during the initial setup.
Also there are two buttons:
Go, which starts the model run and tick count and
Setup, which creates the plan according to code and spawns people on the plan. The setup should be pressed always before the Go button.
During the run there are two reporters:
People inside, which counts the people still looking for their way out and
People out, which counts the people, which made their way to the safety.
The plot in left down side show the percentage of people, who got out.
Results
I have created model as mentioned above and run it with two different settings. Each time I had the danger switch turned off, because I wanted to measure, how fast the people will get out, not how many of them will die. The second reason for not using the danger switch turned on is, that the computational demands of the model are quite high and grow more approx. 2 times, if the danger switch is on. In both settings, the visibility had default option (40 meters). For both settings I let the model run 10 times up to 1500 ticks and I counted the % of people getting away in time.
First run was with 100 people in the model:
The second run was with the 500 people in the model at the beginning of simulation:
As we can see, the time needed for the people to get out of building is almost not dependent on amount of people. That means, that building is large enough and has enough exits to handle the emergency situation up to 500 people.
The time needed for people to leave the building depends most on the starting position of the people. Still as we can see, thanks to the marks leading to the exit, 95% of the people can leave the building in approximately 800 seconds, which is 13.3 minutes.
While watching the models run, I saw that the most problematic places were large shops on the top left corner and on the bottom right corner. Those places are so large, that people can’t see even the walkway and some of them have a hard time finding the right way. This could happen even to the people in reality, especially if they are on the edge of panic. I would recommend creating the exit marks event to the large shops to get better results during the evacuation.
Conclusion
I created the multiagent model simulating the evacuation of ground floor of shopping centre Centrum Černý most. In sum I ran 20 simulations, 10 of them were for the initial count of 100 people and the next 10 were for the count of 500 people at the start of the simulation. In both examples, the 95% of the people got to the safety in 800 seconds.
The simulation shows that Centrum Černý most has enough capacity and fire exits for more than 500 people and the marks are more or less correctly placed, so that the most of the people can easily find the way out. I noticed two of the blank places, where small amount of people got lost during the simulation, and that are large shops, from where the people can’t see to the walkway. Therefore I recommend placing the emergency exits mars there.
In addition I created a model that could test any other building that would be implemented to the model and also created a “danger” version of the simulation, where people can burn or be crushed by the crowd.