Almost 2 decades ago I wrote a perl script to automatically optimize open space floor plan using genetic algorithm.
The idea was to have a function, for each office worker in the office that would grade the place they are sitting in (distance to toilet, printer, lighting, space around desk, etc.) and have algorithm evolve open space plans to have best overall satisfaction and also make sure that there are no places that have very low score.
Now, this algorithm could only take existing floor plan, it could only place furniture on existing floor with existing walls but it was still nice excercise.
The idea was to have a function, for each office worker in the office that would grade the place they are sitting in (distance to toilet, printer, lighting, space around desk, etc.) and have algorithm evolve open space plans to have best overall satisfaction and also make sure that there are no places that have very low score.
Now, this algorithm could only take existing floor plan, it could only place furniture on existing floor with existing walls but it was still nice excercise.