Opitimization of the position of fire escapes

Hallo community,
Does any one of you knows a workflow to finding ( optimizing) the best position for fire escapes (staircases) in this kind of Building structure (picture and link to file below) ( They need to be positioned inside or on the facade of the structute) . The fire escapes from ground floor to rooftop need to be 120m. apart and every 60 m. there needs to be one from 1st floor to the rooftop ?

I have no idea how to go on with the problem… but i gues some kind of workflows in the direction of:

  1. generative design
    2.Shortest path but I have no idea how to implement it.
  2. Anemone Growth within the mesh
  3. Kangaroo Circle packing or Geometry collisions
    can help.

The work and question is connected to my bachelor thesis but I think it is important question in real world projects as well. I will be really thankful for any response !

![Berthold-Entwerfen-Entsiegelnde-Architektur-2022s|690x322]

(upload://7jI4gnElRJQlqm6LmnxqOCnDUbz.jpeg)

Here I tried to somehow do it but it doesn’t get really close to the answer. ( yellow parts are not within the distance)

File download

1 Like

What you could do to start with is generate points across the entire structure in plan. Set these points to be 1m or so apart. You would probably need to do some sort of coding for the looping or use Hoopsnake/ Anemone, but I think the logic could be that if you have a point that is not yet covered by a staircase, then you will need another staircase (i.e. generate another random point). You could then minimise the number of staircases using Galapagos. And you would ensure that all points are covered by staircases.
There are probably more advanced algorithms though…

Also, the range of coverage for each staircase can be retrieved with a Catchment analysis (isochrone). A 30m radius does not ensure you can reach the staircase unless the entire building is completely wall-less. If it were to be a maze structure you’d have a much lower reach. Hope this gives you some ideas.