Using Galapagos to generate optimal building shape (multiple buildings) for building site

Hey guys,

I’ve had this idea for a long time but have never had to time nor the right plan to start it.
I have a building site and I know for zoning reasons I can place 5 buildings (all the same shape) with a specific base area. First I would like to “randomly” generate a shape with the desired base area and place it on the site five times. Now I also want to check the daylight/shading optimization between the buildings and place and rotate them properly.

I don’t have a clue how to start this. How do I generate a random shape with the desired base area? I could place a rectangle and move it’s points and scale it but the shape could theoretically be also a triangle or hexagon or any other polygonal shape.


It’s really important to understand how a genetic Ai is working. You need two things. A parametric model having parameters = genes and a way to compute the score of a build = fitness. A specific combination of genes states is the genom. Now it’s about to find genoms with a very high (or very low score).
Creating a parametric model is what Grasshopper is about. So essentially you create a base shape with multiple things to tweak. There are unlimited combinations and detail possible but you should know how your buildings should roughly look alike, right?! Remember you are the designer. An Ai cannot design.

A score basically is just an addition of multiple evaluations. Two buildings intersecting gives a very low score, because this is not what you want. Same as tiny angles or thin sections. You don’t need 3 toilets in a flat nor you need three entrances to it.

The weakness of an genetic algorithm is that the score usually is hard to compute for multiple objectives. This actually limits the use case pretty much. I would propose to start another way: Simply design traditional but keep it parametric. Then just optimize your work with a very limited degree of freedom using Galapagos.


Ah, finally I see someone who gets it. Some fresh air here, thank you, Tom

Genetic/Evolutionary Algorithms is about optimization, not about design.

Exactly, a score actually indicates that something else preceded the calculations - some design. And the score will then (in the best case) indicate whether a part result is good or bad (score == according to the design-goal, or not).

// Rolf

1 Like