2. Session A - review
Columbia University GSAPP
ARCH A4845: Generative design
3. Elements of generative design
1. Generate - create a ‘design space’ of all possible designs
2. Evaluate - develop measures to judge each design’s performance
3. Evolve - search through design space to find unique high-performing designs
Columbia University GSAPP
ARCH A4845: Generative design
4. Design space model
OPTIMIZATION
Design parameters
(genotype)
Design geometry
(morphogenesis)
Design measures
(phenotype)
Optimization
(evolution)
Columbia University GSAPP
ARCH A4845: Generative design
5. Session B - design optimization
Columbia University GSAPP
ARCH A4845: Generative design
6. Optimization frameworkNature-Insp
ired Metaheuristi
cAlgorithms
Sec
ond Edition (20
10)
Xin-She Yang
c Luniver Press
tain objectives or to optimize something such as profit, quality and time.
As resources, time and money are always limited in real-world applica-
tions, we have to find solutions to optimally use these valuable resources
under various constraints. Mathematical optimization or programming is
the study of such planning and design problems using mathematical tools.
Nowadays, computer simulations become an indispensable tool for solving
such optimization problems with various efficient search algorithms.
1.1 OPTIMIZATION
Mathematically speaking, it is possible to write most optimization problems
in the generic form
minimize
x∈ n fi(x), (i = 1, 2, ..., M), (1.1)
subject to hj(x) = 0, (j = 1, 2, ..., J), (1.2)
gk(x) ≤ 0, (k = 1, 2, ..., K), (1.3)
where fi(x), hj(x) and gk(x) are functions of the design vector
x = (x1, x2, ..., xn)T
. (1.4)
Here the components xi of x are called design or decision variables, and
they can be real continuous, discrete or the mixed of these two.
The functions fi(x) where i = 1, 2, ..., M are called the objective func-
tions or simply cost functions, and in the case of M = 1, there is only a
single objective. The space spanned by the decision variables is called the
design space or search space n
, while the space formed by the objective
function values is called the solution space or response space. The equali-
ties for hj and inequalities for gk are called constraints. It is worth pointing
Xin-She Yang. Nature-Inspired Metaheuristic Algorithms (2008) Columbia University GSAPP
ARCH A4845: Generative design
7. Optimization framework - components
1. Input parameters - set of variables that can be adjusted
• discrete / categorical - whole number
• continuous - decimal number
• permutation / ordering - whole number sequence
2. Objectives - functions representing goals of the problem
• minimize value
• maximize value
3. Constraints - functions representing conditions that make a valid solution
• must be equal to certain value
• must be smaller than or greater than certain value
Columbia University GSAPP
ARCH A4845: Generative design
8. How do we optimize?
A. Deterministic methods
1. Direct analysis - linear and quadratic programming
2. Gradient descent
3. Exhaustive search
4. Heuristic
B. Stochastic methods
5. Monte Carlo (MC) - completely random
6. Metaheuristic
Columbia University GSAPP
ARCH A4845: Generative design
9. 1. Direct analysis
Solution of optimization problem by linear programming
Columbia University GSAPP
ARCH A4845: Generative design
10. 2. Gradient descent
X (input)
Y(objective)
Columbia University GSAPP
ARCH A4845: Generative design
19. Given a list of cities and the
distances between each pair of
cities, what is the shortest
possible route that visits each
city exactly once and returns to
the origin city?
https://en.wikipedia.org/wiki/Travelling_salesman_problem
Travelling salesman problem (TSP)
Columbia University GSAPP
ARCH A4845: Generative design
20. 3. Exhaustive search
n = number of cities
number of solutions = (n-1)!
10! = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 3,628,800
20! = 2.432902e+18
30! = 2.652529e+32
Columbia University GSAPP
ARCH A4845: Generative design
34. 6. Metaheuristic search
The Shortest Route Between All the Pubs in the UK
[http://bigthink.com/strange-maps/the-shortest-route-between-all-the-pubs-in-the-uk]
Columbia University GSAPP
ARCH A4845: Generative design
35. Metaheuristic search algorithms
CONTENTS
Preface to the Second Edition v
Preface to the First Edition vi
1 Introduction 1
1.1 Optimization 1
1.2 Search for Optimality 2
1.3 Nature-Inspired Metaheuristics 4
1.4 A Brief History of Metaheuristics 5
2 Random Walks and L´evy Flights 11
2.1 Random Variables 11
2.2 Random Walks 12
2.3 L´evy Distribution and L´evy Flights 14
2.4 Optimization as Markov Chains 17
i
ii CONTENTS
3 Simulated Annealing 21
3.1 Annealing and Boltzmann Distribution 21
3.2 Parameters 22
3.3 SA Algorithm 23
3.4 Unconstrained Optimization 24
3.5 Stochastic Tunneling 26
4 How to Deal With Constraints 29
4.1 Method of Lagrange Multipliers 29
4.2 Penalty Method 32
4.3 Step Size in Random Walks 33
4.4 Welded Beam Design 34
4.5 SA Implementation 35
5 Genetic Algorithms 41
5.1 Introduction 41
5.2 Genetic Algorithms 42
5.3 Choice of Parameters 43
6 Differential Evolution 47
6.1 Introduction 47
6.2 Differential Evolution 47
6.3 Variants 50
6.4 Implementation 50
7 Ant and Bee Algorithms 53
7.1 Ant Algorithms 53
7.1.1 Behaviour of Ants 53
7.1.2 Ant Colony Optimization 54
7.1.3 Double Bridge Problem 56
7.1.4 Virtual Ant Algorithm 57
7.2 Bee-inspired Algorithms 57
7.2.1 Behavior of Honeybees 57
7.2.2 Bee Algorithms 58
7.2.3 Honeybee Algorithm 59
7.2.4 Virtual Bee Algorithm 60
7.2.5 Artificial Bee Colony Optimization 61
Xin-She Yang. Nature-Inspired Metaheuristic Algorithms (2008) Columbia University GSAPP
ARCH A4845: Generative design
36. Genetic Algorithm (GA)
Alan Turing (1950)
Computing Machinery and Intelligence
John Holland (1975)
Adaptation in Natural and Artificial Systems
Columbia University GSAPP
ARCH A4845: Generative design
37. t
32 :
33 : !
34 : "
35 : #
36 : $
37 : %
38 : &
39 : '
40 : (
41 : )
42 : *
43 : +
44 : ,
45 : -
46 : .
47 : /
o b e o r n o t t o b e
48 : 0
49 : 1
50 : 2
51 : 3
52 : 4
53 : 5
54 : 6
55 : 7
56 : 8
57 : 9
58 : :
59 : ;
60 : <
61 : =
62 : >
63 : ?
64 : @
65 : A
66 : B
67 : C
68 : D
69 : E
70 : F
71 : G
72 : H
73 : I
74 : J
75 : K
76 : L
77 : M
78 : N
79 : O
80 : P
81 : Q
82 : R
83 : S
84 : T
85 : U
86 : V
87 : W
88 : X
89 : Y
90 : Z
91 : [
92 :
93 : ]
94 : ^
95 : _
96 : `
97 : a
98 : b
99 : c
100 : d
101 : e
102 : f
103 : g
104 : h
105 : i
106 : j
107 : k
108 : l
109 : m
110 : n
111 : o
112 : p
113 : q
114 : r
115 : s
116 : t
117 : u
118 : v
119 : w
120 : x
121 : y
122 : z
123 : {
124 : |
125 : }
126 : ~
127 :
Genetic Algorithm (GA)
Daniel Shiffman - The Nature of Code, Chapter 9: The Evolution of Code (2012) Columbia University GSAPP
ARCH A4845: Generative design
38. 96 possibilities ^ 18 places
= 479,603,335,372,621,236,652,373,132,533,825,536
= 4.796 x 10^35 or 479.6 decillion possibilities
Genetic Algorithm (GA)
Daniel Shiffman - The Nature of Code, Chapter 9: The Evolution of Code (2012) Columbia University GSAPP
ARCH A4845: Generative design
39. With a basic Genetic Algorithm (GA)...
38 generations
1,000 designs / generation
38,000 designs computed
= 32 seconds
Daniel Shiffman - The Nature of Code, Chapter 9: The Evolution of Code (2012)
Genetic Algorithm (GA)
Columbia University GSAPP
ARCH A4845: Generative design
40. Genetic Algorithm (GA)
A Genetic Algorithm creates “generations” of solutions in such a way that
the solutions get better over time
Steps:
1. Generate initial population of solutions
2. Rank solutions based on their performance in objectives and constraints
3. Generate next generation by applying elitism, crossover, and mutation to
current generation
4. Repeat until termination criteria is met
Columbia University GSAPP
ARCH A4845: Generative design
42. 2. Ranking (single objective)
GW%M9{,vy-3{dZoUA⌂
rV:^st”#U. u`]f5i
Lg7]4#5ADB;GNfa}u|
0”{8c^h$S1BJ)=omy
‘ -gI^HoMRIN$YV%O
KoMQ%25”zHnGt1whXY
target =
to be or not to be
GW%M9{,vy-3{dZoUA⌂
0”{8c^h$S1BJ)=omy
KoMQ%25”zHnGt1whXY
“the mating pool”
All designs in the generation are evaluated based on the objectives and constraints of the
problem and sorted based on their performance.
Columbia University GSAPP
ARCH A4845: Generative design
51. ‘pareto optimal front’
‘utopia point’
“Pill problem”
Multi-objective optimization
Columbia University GSAPP
ARCH A4845: Generative design
52. In multi-objective optimization, a design’s relative performance is based on its:
1. dominance rank
2. crowding distance
3. feasibility
Multi-objective optimization
Columbia University GSAPP
ARCH A4845: Generative design
53. y2
y1
a
b
c
d
e
f
g
h
i
j
k
l
m
n
A. Konak, D. W. Coit, A. E. Smith - Multi-Objective Optimization Using Genetic Algorithms: A Tutorial (2006)
Dominance principle
A solution A dominates another solution B if A performs at least as well as B in every
objective, and better than B in at least one objective.
Columbia University GSAPP
ARCH A4845: Generative design
54. b dominates h (it performs better in
both objectives)
b does not dominate a (it performs
better only in objective y2
)
y2
y1
a
b
c
d
e
f
g
h
i
j
k
l
m
n
A. Konak, D. W. Coit, A. E. Smith - Multi-Objective Optimization Using Genetic Algorithms: A Tutorial (2006)
A solution A dominates another solution B if A performs at least as well as B in every
objective, and better than B in at least one objective.
Dominance principle
Columbia University GSAPP
ARCH A4845: Generative design
55. y2
y1
F1
a
b
c
d
e
f
g
h
i
j
k
l
m
n
(1) optimal rank
A. Konak, D. W. Coit, A. E. Smith - Multi-Objective Optimization Using Genetic Algorithms: A Tutorial (2006)
The Pareto optimal set is the collection of solutions which are not dominated by any other
solution in the set. Solutions in this set are assigned a rank of 1.
Columbia University GSAPP
ARCH A4845: Generative design
56. y2
y1
F2
F1
a
b
c
d
e
f
g
h
i
j
k
l
m
n
(1) optimal rank
A. Konak, D. W. Coit, A. E. Smith - Multi-Objective Optimization Using Genetic Algorithms: A Tutorial (2006)
By temporarily ignoringW the first optimal set, a second optimal set can be formed.
Solutions in this set are assigned a rank of 2.
Columbia University GSAPP
ARCH A4845: Generative design
57. y2
y1
F3
F4
F2
F1
a
b
c
d
e
f
g
h
i
j
k
l
n
m
(1) optimal rank
A. Konak, D. W. Coit, A. E. Smith - Multi-Objective Optimization Using Genetic Algorithms: A Tutorial (2006)
This procedure can be repeated to generate the ranking of all solutions.
Columbia University GSAPP
ARCH A4845: Generative design
58. y2
y1
F1
i+1
i-1
i
a
b
c
d
e
(2) crowding distance
Kalyanmoy Deb, et al. - A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II (2002)
To increase diversity in the population, solutions are also assigned a crowding distance
based on the distance between the two adjacent solutions in the same rank across all
objectives.
Columbia University GSAPP
ARCH A4845: Generative design
59. y2
y1
F1
i-1
i+1
i
a
b
c
d
e
(2) crowding distance
Solutions with a larger crowding distance are preferred because they represent less
explored areas of the design space.
b has a larger crowding distance
than d
Kalyanmoy Deb, et al. - A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II (2002)
Columbia University GSAPP
ARCH A4845: Generative design
61. Selection
Solutions are selected for crossover by participating in a tournament where the best of
two randomly chosen designs is selected according to the following rules:
Columbia University GSAPP
ARCH A4845: Generative design
68. Galapagos Octopus Discover
Multiple inputs X X X
Input type: float X X X
Input type: integer X
Input type: permutation X
Multiple objectives X X
Crowding distance - X
Constraints X
Optimization software feature comparison
Columbia University GSAPP
ARCH A4845: Generative design
70. Nagy, et al. - Mining the Evolutionary Optimization Process to Discover Novel Design Strategies (2017)
Multi-objective optimization
Columbia University GSAPP
ARCH A4845: Generative design
71. Nagy, et al. - Mining the Evolutionary Optimization Process to Discover Novel Design Strategies (2017)
Multi-objective optimization
Columbia University GSAPP
ARCH A4845: Generative design
72. Nagy, et al. - Mining the Evolutionary Optimization Process to Discover Novel Design Strategies (2017)
Multi-objective optimization
Columbia University GSAPP
ARCH A4845: Generative design
73. Nagy, et al. - Mining the Evolutionary Optimization Process to Discover Novel Design Strategies (2017)
Multi-objective optimization
Columbia University GSAPP
ARCH A4845: Generative design
74. Nagy, et al. - Mining the Evolutionary Optimization Process to Discover Novel Design Strategies (2017)
Multi-objective optimization
Columbia University GSAPP
ARCH A4845: Generative design