latentspace.

Tower crane arrangement

Requirement

This project is to optimize the layout of the tower cranes given the required number of cranes. The size of the crane is as shown in the diagram below, and when arranging three cranes, I thought about which size crane to choose and what criteria to place it.
Requirement
From the left, Radius of crane · Project purpose

Designing state space

Constraints in this project is to minimize the intrusion of tower cranes into the housing areas around the site. If a tower crane invades housing areas, that state space will receive a low score.
Set constraints

And I created a bounding box on the given site and created the positions parameter (origin of the crane) in it. A state space reflecting the radius of the selected tower crane based on the origin is created. And since we need to check if the origin of the crane is created outside the given site, we use a Point in Polygon algorithm to verify it.


Evaluating

Fitness is set as the total area of the given site minus the area occupied by the tower cranes. If you explore this fitness without any threshold, the result will be calculated in the direction of increasing the size of the tower crane only. So, I thought that I had to set an additional threshold to the pre-set constraint, so I created an evaluation function.
Set fitness

More details can be found in the code. I have set three thresholds. 1. Whether the point is inside the given site,2. How much is the intersected area of the tower crane, 3. How much the crane has invaded the housing area.

1. origin_in_region % 2 != 0
2. crane_intersected_area >= 1000
3. housing_intersected_area >= 200



Record & Result


Each generation fitness

Each generation was recorded as follows. After 153 generation, fitness is no longer lower. And the code I wrote and the optimized reesult within the set constraints are as follows. The area of the elements used in the fitness evaluation can be checked through the visualized images on the bottom
Result
From the left, Optimization process · Optimum layout