_performative design
Optimization : “The action of making the best or most effective use of a situation or resource.”
Design optimization: “The process of finding the best design parameters that satisfy project requirements.”
Design Objective: Design an optimized dense urban occupation plan that follows a fractal pattern grid.
Optimization Goals of the project:
- Maximize occupation – have the bigger amount of apartments within a range of ground floor area and height of each tower
- Have 20% of the occupation area (grid) as green areas
- The green areas must have balanced sun radiation in winter and summer
- The green areas must be evenly distributed around the towers
_designing the base fractal grid
Building up from the previous research assignment on how to design and simulate a natural phenomenon, the fractals patterns developed on grasshopper code via anemone loops were revised. From the catalogue of explorations on linear patterns generated, one was chosen to be the base that represents the neighborhoods where the master plan iterations are taking place.
![](https://blog.iaac.net/wp-content/uploads/2024/06/composicao-linear-boa-1-1024x486.jpg)
“A fractal is a rough or fragmented geometric shape that can be split into parts, each of which is (at least approximately) a reduced-size copy of the whole”
Benoit Mandelbrot
![](https://blog.iaac.net/wp-content/uploads/2024/06/composition-right-1024x576.jpg)
![](https://blog.iaac.net/wp-content/uploads/2024/06/Computation-Design-III-JS-final-assignment-2-2-edited.jpg)
_designing the master plan
To design for optimization: The code integrates penalties and rewards to generate tendencies for the iterations.
Example: The base of the problem is to create a dense master plan on top of a fractal pattern grid, and by exploring variations of placement and size, optimize the distribution of the elements to achieve maximum occupation level while also having a desired amount of well lit green areas spread around the city.
Initial parameters:
- Ground plant area of towers
- Height of towers
- Location of green areas (must occupy 20% of the grid)
- Sun Radiance analysis during winter and summer on the green areas (must have maximum radiance in winter and balanced on summer)
![](https://blog.iaac.net/wp-content/uploads/2024/06/Computation-Design-III-JS-final-assignment-3.jpg)
Genomes and Fitness Values of Galapagos component in Grasshopper:
![](https://blog.iaac.net/wp-content/uploads/2024/06/areas-verdes-edited-1.jpg)
Genome: Location
Fitness Value: Avoid duplicate positions
The grid must be populated with towers and green areas evenly distributed and have 20% of its cells as green areas, and the rest as towers.
![](https://blog.iaac.net/wp-content/uploads/2024/06/mini-gif-tores-2-2.gif)
![](https://blog.iaac.net/wp-content/uploads/2024/06/mini-gif-torres-3.gif)
Fitness value: Maximum occupation
The towers can vary their volume by number of floors and x and y size of base. The goal id to have the highest occupation of the grid
![](https://blog.iaac.net/wp-content/uploads/2024/06/LB-pequenito2-1-1024x576.jpg)
Sun Radiance
The green areas must have maximum sun radiance in the winter, and balanced sun radiance in summer. This is achieved by varying placement and tower shaddows.
Developing performance criteria – first optimized outcome
Initially, the Galapagos would read this problem and generate an obvious solution, put all towers in the center of the grid with the highest possible size, having all the green areas in the corners of the grid, in a way that the towers wouldn’t cast any shadows on it.
![](https://blog.iaac.net/wp-content/uploads/2024/06/Computation-Design-III-JS-final-assignment-4.jpg)
That result, even though correct, is far from the desired design.
![](https://blog.iaac.net/wp-content/uploads/2024/06/Computation-Design-III-JS-final-assignment-5.jpg)
_Penalties and rewards were added to the code to force the program to generate iterations within certain design rules.
The fitness value must be only one number, that is either maximized or minimized. The goal of this script is maximizing volume and sun radiance. Because of that, rewards in the code will be added to the number, making it higher, while penalties will be added as negative values, decreasing the final result.
_strategy 01
Considering that each cell has 4 direct neighbors, the green areas can only be placed where 2 or more towers are their neighbors, in that way an even distribution is generated, not only avoiding the green areas to be condensed in only one spot, next to the other, but also avoiding populating the corners of the grid.
Step 1 – Determining a relation of direct neighbors x diagonal neighbors between grid cells. This will allow a manipulation of the center points and their relation with the point cloud of the grid.
![](https://blog.iaac.net/wp-content/uploads/2024/06/Computation-Design-III-JS-final-assignment-8.jpg)
Step 2 – Considering only the grid relation of direct neighbors (excluding the diagonal neighbors connections), find only the cells that have 2 or more direct neighbors. Those will be the best (more rewarded) cells to place green areas.
![](https://blog.iaac.net/wp-content/uploads/2024/06/Computation-Design-III-JS-final-assignment-9.jpg)
Step 3 – Cull duplicates in the placement process to ensure that in fact 20% of the total grid is occupied by green areas, preventing repetition of cell use. A penalty is added is this scenario, if 2 or more green areas have the same center point location, a multiplication by the number 0 occurs, making the overall fitness value smaller and therefore less desirable.
![](https://blog.iaac.net/wp-content/uploads/2024/06/gif-menor.gif)
With the LadyBug analysis, the sun radiance is evaluated on the green areas surfaces. By aiming for the maximum radiation on these surfaces during winter and balanced during summer, the iterations will try to find a balance between towers location and size and radiation results, avoiding an excess of big towers that generate too much shadows in the public space.
![](https://blog.iaac.net/wp-content/uploads/2024/06/mini-gif-LB.gif)
That fail… Even though the logic made sense, the iterations were not being successful. The importance of tower size and maximum radiance was too big, not allowing the galapagos to recognize that it shouldn’t put the green areas all in the same cell and in the corners. Even if that generated a negative fitness value, far from the maximized goal, the code still got stuck on it
![](https://blog.iaac.net/wp-content/uploads/2024/06/Computation-Design-III-JS-final-assignment-10.jpg)
_strategy 02
Step 1 – Penalty: From the 20% of green areas (30 cells in total) the placements are sorted. A list is created with only the locations that are not repeating, and a penalty is added if that number of cells (list length) is smaller than 27. This gives the galapagos a tolerance of repeating maximum 3 cells, if more than that, the number of the fitness will be drastically reduced.
Reward: Maximize number of list length of the sorted 30 locations. This will force galapagos to avoid repeating placements because it will want to keep the length high.
![](https://blog.iaac.net/wp-content/uploads/2024/06/Computation-Design-III-JS-final-assignment-11.jpg)
Step 2 – Reward: Maximize distance of green areas cells from one another. The higher the distance between their center points, higher the number that will be summed to the fitness value
![](https://blog.iaac.net/wp-content/uploads/2024/06/Computation-Design-III-JS-final-assignment-12.jpg)
Step 3 – Reward: Minimize distance between center points of green area cells to center point of fractal grid, avoiding excess of placements in the corners. The smaller the distance between their center points, higher the number that will be summed to the fitness value.
![](https://blog.iaac.net/wp-content/uploads/2024/06/Computation-Design-III-JS-final-assignment-13.jpg)
Catalogue of Iterations
![](https://blog.iaac.net/wp-content/uploads/2024/06/catalogue-planta-melhores-5-edited-scaled.jpg)
![](https://blog.iaac.net/wp-content/uploads/2024/06/catalogue-planta-piores-5-edited.jpg)
![](https://blog.iaac.net/wp-content/uploads/2024/06/catalogue-e-1024x576.jpg)
From the iterations it is possible to conclude that only achieving the maximum value of the fitness does not necessarily give you the most optimum design. Manipulating and controlling the importance the code is giving to each design criteria when transforming the design intent into a number is the most important aspect when doing galapagos optimization. In the beginning, I was giving more importance to the towers volume and the LB analysis, treating, in the first strategy, the green areas location as something that could be embedded in the code. But as shown, that gave me results that repeated placements of green areas in the same cell, or put them only on the corners.
In the second strategy, I understood I had to transform the distances of the green areas into penalties and reward to be summed as a single number, making a simpler approach of guiding the iterations to the desired direction
Gif – 30 iterations from worst to best maximizing tower occupation and green area placements
![](https://blog.iaac.net/wp-content/uploads/2024/06/gif-perspectiva-iterations.gif)
Gif – 30 iterations from worst to best – Radiance analysis in green areas on the selected iterations
![](https://blog.iaac.net/wp-content/uploads/2024/06/gif-LB-persp.gif)
![](https://blog.iaac.net/wp-content/uploads/2024/06/gif-LB-planta.gif)
![](https://blog.iaac.net/wp-content/uploads/2024/06/imagem-final-1024x576.jpg)