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