Skip links

How To Design a Tree.

Evolutionary Algorithm (EA) in energy design presented at 3rd BioArchitecture & Genetics Int. Conference on 7th - 10th June 2017 by Igor Mitrić Lavovski

Client

Liquid Themes

Work

Architecture

Date

2022

1. INTRODUCTION

This study describes methods and workflow for designing an imaginative tree on an innovative island. We intend to understand natural forces, write them down into parameters for an evolutionary algorithm, and convert natural forces into mathematical formulas. For us, architecture presents a diagram of natural forces and we are demonstrating a tool for nature-shaped architecture. Our “Blind Watchmaker” [1] is an Evolutionary Algorithm.
We are writing parameters as photosynthesis or growth process into the formula for EA, as the tree in this paper symbolizes building. Instead, we aims to develop workflow and design thinking to integrate EA into the architectural decision-making process.

Figure 1: Location

Fig 1. Location

2. METHODOLOGY

How to do “Form Follows Energy” with evolutionary algorithm (EA)

EA is taking the role of the sculptor, shaping the optimized form out of space with embedded objectives. 

Objectives are presented as 5 ELEMENTS:

  • Element Space
  • Element Fire (Sun)
  • Element Air (Wind)
  • Element Water (Rain)
  • Element Earth

We are filling the space with the voxels used as the basis for other elements to shape and optimize emerging forms. We are working with two methods for writing EA. The first method relies on computer simulation and parallel vs. linear multi-objective optimization process and is named “EA Coffee Button.” The second method, called “Ubiquitous Solver,” deals more with the analytical optimization method and strives to bring EA into background calculations during a drawing process. 

We are using Galapagos [2] as an evolutionary solver, part of a visual programming tool Grasshopper3D plugin for the 3d modeling tool Rhinoceros3D [3]. 

In this study, we are not dealing with the basics of EA; more info about solver and evolutionary principles can be found on David Rutten’s blog page [4]. 

2.1. SPACE

 “Every block of stone has a statue inside it and it is the task of the sculptor to discover it.” 

Michelangelo 

1st ELEMENT 1 is a space, a spatial dimension that accommodates the other four elements. 

As we need to fill the emptiness with something that has geometrical properties like volume and XYZ position, we define space with a space-filling factor VOXEL. Referring to the Greeks’ Aether (a classical element that fills the region), our 1st element is no matter and has no other attributes than volume and XYZ position. 

Figure 2: Voxels 

Fig 2. Voxels

2.2. EA COFFE BUTTON

The idea of the coffee button is our “futuristic” scenario:

Somewhere in the future, some unknown architect is working on his new architectural task. What should he design at a given location?  In the future, the most crucial factor in architecture is the building’s energy performance, so the architect enters five elements into his calculations: SPACE, FIRE (Sun), WATER (Rain), EARTH (Stability) and AIR (Wind). 

Five elements define the shape of his architecture. 

He is a “Form Follows Energy” believer and prefers writing code more than drawing with CAD tools. The architect started his computer with his programmed EA tool and pressed the red “SIMULATE” button to find the best building shape. 

The architect is taking a “short” break with a cup of coffee.  During his absence, the optimization solver is running through millions of calculations in a search for the fittest value. When he returns, the form of the building is waiting for him.  
Translated into the EA language, this means to describe the problem, set up and specify all parameters influencing the problem, and define relations between multiple objectives (goals). 

Then write the fittest function (ƒ). 

During EA simulation, the function delivers diverse values. 
The task of the evolutionary algorithm is to maximize or minimize these values. 
After the simulation “coffee break” ends, the evolutionary algorithm has found the needed result, “The Fittest One.” 
How To Design Trees is a process of defining parameters to accomplish following objectives:

2.2.1 OBJECTIVES

OBJECTIVE A / Element Fire

is to maximize annual Solar Irradiation max(Is) on the Tree (t) and to maximize the Volume of the Tree maxV(t). Solar Energy is specified in kWh/m2 and Volume in m3. 

To treat SUN and VOLUME equally in EA, we bring multiplication factor F in the formula that pulls values between 0 and 1 (0 < x < 1). 

If the maximum Volume is about 1m3 and the maximum Solar amount approaches 100.000 kWh/m2, we multiply Solar Irradiation Is(t) by 0,00001.  

A=max(F * Is(t) + max V(t))   (1)

Figure 3: Objective A 

Fig 3. Objective A
Fig 3. Objective A

OBJECTIVE B / Element Fire

is to maximize annual Solar Irradiation on the surrounding (forest). 

The forest irradiation is sum of surrounding tree irradiations: TreeIs(a), TreeIs(b), TreeIs(c), TreeIs(d)…..The sum is Is(n).  

 B= maximize{ ∑Is(a),Is(b),Is(c), Is(d),..}= max Is(n) (2) 

* Combining objective A and objective B is to maximize Sun on the Tree and minimize the Trees shadow impact on the surrounding.

ƒmax = A + B (3)

OBJECTIVE C / Element Air

is to minimize Wind impact on the Tree -> in this case;

to minimize the windward pressure of south Wind = min Wp. 

The Wind is represented as a matrix of evenly distributed curves, “Wind Curves” in the south-north direction, spreading around the Tree. 

The small script counts curvature degrees of wind curves (c) and it is included in the EA process. The task of an EA solver is to adapt the shape of the emerging Tree to calm the curvature of the wind curves downward. In other words, the task is to calm curvature, to bring a curve into its entropy phase, where the curve becomes a line.

We are transforming a complex wind flow simulation into the geometrical task. Suppose we have a straight line (c) before the Tree emerges (no objects to collide with) and its curved derivative (c’) after colliding with the voxels. 

Calming curvature means minimizing curvature deviation between straight (c) and curved one (c’). Curves c and c’ are divided into equal-length segments. 

EA is adapting the tree shape in the optimization process in order to minimize the distances (length l) between division points (pts) on c and c’. min l (pt – pt’) = min ln. 

Also, another part of Objective C is a Tree volume which should be maximized = maxV(t). 

 C = min ln + max V(t)   (4)

Figure 4: Objective C 

Fig 4. Objective C
Fig 4. Objective C

OBJECTIVE D / Element Water

Is to adopt the Tree to the rain. 

It means adapting shape for fast and efficient rain sloping on the Tree. Rain is a matrix of points over the Tree. Points have physical characteristics such as gravity and object collision [6], and we let them fall on the voxels from a random distance. The small script executes a raindrop simulation representing curves flow on the mesh. Before calculation with the Tree, we run the first script to test rain paths on the location’s terrain. 

The task of EA is to pull rain paths, before and after the Tree emerges on location, to approximately the same level. 

The task is to maximize intersection points ∩(ptY), between streamed points on the terrain and new points streamed from the Tree => max ∩(ptY). 

And to keep (maximize) volume max V(t).

 D = maximize ∩(ptY) + maximize V(t)  (5)

Figure 5: Objective D

Fig 5. Objective D

These are four objectives that are taken as relevant for Tree design. The task of the evolutionary algorithm is to consider all objectives during calculation and to deliver one design shape. We are researching three methods (a,b,c) on how to write the multi-objective function for this task:

2.2.2 MULTI-OBJECTIVE FUNCTIONS

a) Method: Bring them all (parallel EA)

The most straightforward approach is to write a function synchronously with all objectives and run parallel simulations. 

For maximize, we write (+), and for minimize (-). 

As introduced earlier, the multiplication factor can also be used as the weighting factor. 

Some objective is pulling the solution in an equivalent direction, as more volume means more solar energy.

Still, some are pulling the result in opposite directions, as less windward pressure results in less volume.

If an architect decides that variable volume is more critical for his design than the wind, he can multiply volume with a multiplication factor, for example, 5. Multiplying with factor boosts the evolutionary algorithm learning path, so EA learns that more increase in volume results in faster maximization.

max ƒ fittest function(A,B,C,D)= ∑{(F * Is(t))+ Is(n) – ln+∩ (ptY)+ F*V(t)} (6)

Figure 6: Parallel EA

Figure 6: Parallel EA

The disadvantage of parallel EA is that it is a very slow process and so is more “vacation button” than a “coffee button.” This method excludes the architect from the decision (design) process because he is waiting for the EA to be executed and not making any decisions when the process is triggered.

b) Method: Who gets first (Linear EA)

The idea behind “Linear EA” is to speed up the solver and to incorporate the architect more in decision-making.

Instead, to plug in all objectives simultaneously, we divide our problem from point A (task) to point B (result) into partial EAs. So the first evolutionary algorithm, EA1 is the fittest function within objective A and objective B, the second one, EA3 works with objective C and EA4 searches for objective D.  

When EA1 is finished, the solver computes EA2, and so on. 

For example, the result of EA1 is optimized when the result R is in the range (x<R<z). 

 maxƒ x<R1<z(A+B) = ….->ƒminR2(C) = ….. [EA2 ] -> (7) 

Figure 7. Linear EA

Figure 7: Linear EA

Whole multi-objective function (linear EA) where R stands for the fittest result of the function:  

 max ƒx<R1<z(A+B) =F * Is(t) +Is(n) + V(t)= R1-> ƒminR2(C) = ln-V(t) = R2 -> = R3   (8)

Figure 7: Linear EA 

Figure 7: Linear EA
How_To_Design_A_Tree_PART_2

How To Design Tree Part II

3. CASE STUDY "HOW TO DESIGN A TREE." In the following case study, we will demonstrate a linear workflow for the use of EA methods at some given location. The location is a floating island with distributed few simplified trees representing the forest and one lake.

This website uses cookies to improve your web experience.