single-objective optimization for...

Post on 27-Jun-2020

16 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Single-ObjectiveOptimization for Architecture

Guilherme Ilunga

Instituto Superior Técnico, University of Lisbon

February 2019

Agenda

Agenda

Agenda

• Introduction

Agenda

• Introduction

• Optimization

Agenda

• Introduction

• Optimization

• Automated Optimization Framework

Agenda

• Introduction

• Optimization

• Automated Optimization Framework

• Evaluation

Agenda

• Introduction

• Optimization

• Automated Optimization Framework

• Evaluation

• Conclusions

Introduction

Current Design Process

Current Design Process

Current Design Process

Current Design Process

Current Design Process

Current Design Process

What we would like

What we would like

• Avoid repeating the process

What we would like

• Avoid repeating the process

• Find the best variation of the design

What we would like

• Avoid repeating the process

• Find the best variation of the design

• How?

The 3 stages of the process

The 3 stages of the process

Design

The 3 stages of the process

Design Analysis

The 3 stages of the process

Design Analysis Optimization

The 3 stages of the process

Design Analysis Optimization

Making changes

Making changes

• The process requires changing the design

Making changes

• The process requires changing the design

• Complex designs require complex changes

Making changes

• The process requires changing the design

• Complex designs require complex changes

• How to make this easy?

Algorithmic Design (AD)

Algorithmic Design (AD)

Algorithmic Design (AD)

Algorithmic Design (AD)

AD Tools: Grasshopper3D

AD Tools: Grasshopper3D

AD Tools: Grasshopper3D

AD Tools: Rosetta

AD Tools: Rosetta

The 3 stages of the process

Design Analysis Optimization

The 3 stages of the process

Design Analysis Optimization

Evaluating performance

Evaluating performance

• AD allows generating several variations of a design

Evaluating performance

• AD allows generating several variations of a design

• Which one is best?

Evaluating performance

• AD allows generating several variations of a design

• Which one is best?

• Analysis tools can be used

Analysis Tools: Radiance

Analysis Tools: Radiance

Analysis Tools: Robot

Analysis Tools: Robot

Algorithmic Design and Analysis (ADA)

Algorithmic Design and Analysis (ADA)

The 3 stages of the process

Design Analysis Optimization

The 3 stages of the process

Design Analysis Optimization

Which variations should be generated?

Which variations should be generated?

• ADA allows generating and evaluating variations

Which variations should be generated?

• ADA allows generating and evaluating variations

• Evaluations take time, should use acquired knowledge

Which variations should be generated?

• ADA allows generating and evaluating variations

• Evaluations take time, should use acquired knowledge

• Use optimization

What is optimization?

What is optimization?

𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑒 𝑓𝑖 𝑥 , 𝑖 = 1, 2, … , 𝐼

𝑠𝑢𝑏𝑗𝑒𝑐𝑡 𝑡𝑜 ℎ𝑗 𝑥 = 0, (𝑗 = 1, 2, … , 𝐽)

𝑔𝑘 𝑥 ≤ 0, (𝑘 = 1, 2,… , 𝐾)

The 3 stages of the process

Design Analysis Optimization

The 3 stages of the process

Design Analysis Optimization

Dissertation Objectives

Dissertation Objectives

• Study existing optimization algorithms

Dissertation Objectives

• Study existing optimization algorithms

• Propose an automated optimization framework

Dissertation Objectives

• Study existing optimization algorithms

• Propose an automated optimization framework

• Evaluate the framework with case studies

Optimization

Choosing an algorithm

Choosing an algorithm

• Hundreds of optimization algorithms

Choosing an algorithm

• Hundreds of optimization algorithms

• How to choose among them?

Choosing an algorithm

• Hundreds of optimization algorithms

• How to choose among them?

• Focus on their properties

Properties of algorithms

Properties of algorithms

Single-Objective vs Multi-Objective

Properties of algorithms

Single-Objective vs Multi-Objective

Deterministic vs Stochastic

Properties of algorithms

Single-Objective vs Multi-Objective

Deterministic vs Stochastic

Global vs Local

Properties of algorithms

Single-Objective vs Multi-Objective

Deterministic vs Stochastic

Global vs Local

Derivative-based vs Derivative-free

Properties of algorithms

Single-Objective vs Multi-Objective

Deterministic vs Stochastic

Global vs Local

Derivative-based vs Derivative-free

Derivative-free Optimization Algorithms

Derivative-free Optimization Algorithms

• Direct-search algorithms

Derivative-free Optimization Algorithms

• Direct-search algorithms

• Metaheuristics

Derivative-free Optimization Algorithms

• Direct-search algorithms

• Metaheuristics

• Model-based algorithms

DIRECT Algorithm

DIRECT Algorithm

Set centerpoint

DIRECT Algorithm

Set centerpoint

X

Y

DIRECT Algorithm

Subdivide dimensions

Set centerpoint

X

Y

DIRECT Algorithm

Subdivide dimensions

Set centerpoint

X

Y

X

Y

DIRECT Algorithm

Subdivide dimensions

Set centerpoint

`

X X

YY

DIRECT Algorithm

Subdivide dimensions

Set centerpoint

X X

YY

DIRECT Algorithm

Sample each hyperrectangle

Subdivide dimensions

Set centerpoint

X X

YY

DIRECT Algorithm

Sample each hyperrectangle

Subdivide dimensions

Set centerpoint

Y

XX X

YY

DIRECT Algorithm

Sample each hyperrectangle

Subdivide dimensions

Set centerpoint

Y

XX X

YY

DIRECT Algorithm

Sample each hyperrectangle

Subdivide dimensions

Set centerpoint

Y

XX X

YY

DIRECT Algorithm

Sample each hyperrectangle

Choose best hyperrectangle

Subdivide dimensions

Set centerpoint

Y

XX X

YY

DIRECT Algorithm

Sample each hyperrectangle

Choose best hyperrectangle

Subdivide dimensions

Set centerpoint

Y

X

Y

XX X

YY

DIRECT Algorithm

Sample each hyperrectangle

Choose best hyperrectangle

Subdivide dimensions

Set centerpoint

Y

X

Y

XX X

YY

DIRECT Algorithm

Sample each hyperrectangle

Choose best hyperrectangle

Subdivide dimensions

Set centerpoint

Y

X

Y

XX X

YY

DIRECT Algorithm

Sample each hyperrectangle

Choose best hyperrectangle

Subdivide dimensions

Set centerpoint

Y

X

Y

XX X

YY

DIRECT Algorithm

Sample each hyperrectangle

Choose best hyperrectangle

Subdivide dimensions

Set centerpoint

Y

X

Y

X

Y

XX

Y

Genetic Algorithm

Genetic Algorithm

Create Population

Genetic Algorithm

Create Population

Y

X

Genetic Algorithm

Create Population

X

Y

Genetic Algorithm

Create Population

Evaluate Population

X

Y

Genetic Algorithm

Create Population

Evaluate Population

Select Parents

X

Y

Genetic Algorithm

Create Population

Evaluate Population

Select Parents

X

Y

X

Y

Genetic Algorithm

Create Population

Evaluate Population

Select Parents

Y

X

Y

X

Genetic Algorithm

Create Population

Evaluate Population

Select Parents

Create Children

Y

X

Y

X

Genetic Algorithm

Create Population

Evaluate Population

Select Parents

Create Children

Y

X

Y

X

Y

X

Genetic Algorithm

Create Population

Evaluate Population

Select Parents

Create Children

Y

X

Y

X

Y

X

Genetic Algorithm

Create Population

Evaluate Population

Select Parents

Create Children

Mutate Population

Y

X

Y

X

Y

X

Genetic Algorithm

Create Population

Evaluate Population

Select Parents

Create Children

Mutate Population

Y

X

Y

X

Y

X

Y

X

Genetic Algorithm

Create Population

Evaluate Population

Select Parents

Create Children

Mutate Population

Y

X

Y

X

Y

X

Y

X

Genetic Algorithm

Create Population

Evaluate Population

Select Parents

Create Children

Mutate Population

Y

X

Y

X

Y

X

Y

X

Genetic Algorithm

Create Population

Evaluate Population

Select Parents

Create Children

Mutate Population

Y

X

Y

X

Y

X

Y

X

Genetic Algorithm

Create Population

Evaluate Population

Select Parents

Create Children

Mutate Population

Genetic Algorithm

CreatePopulation

Evaluate Population

Select Parents

Create Children

Mutate Population

• Random?• Gaussian?• Uniform?• …

• Random?• Best?• Tournament?• …

• One Point?• Two Point?• Uniform?• …

• Shuffle?• Gaussian?• Uniform?• …

Simple Surrogate Algorithm

Simple Surrogate Algorithm

Sample n points

Simple Surrogate Algorithm

Sample n points

Value

X

Simple Surrogate Algorithm

Sample n points

Update Surrogate

Value

X

Simple Surrogate Algorithm

Sample n points

Update Surrogate

Value

X

Value

X

Simple Surrogate Algorithm

Sample n points

Update Surrogate

Value

X

Value

X

Simple Surrogate Algorithm

Sample n points

Update Surrogate

Optimize Surrogate

Value

X

Value

X

Simple Surrogate Algorithm

Sample n points

Update Surrogate

Optimize Surrogate

Value

X

Value

X

Value

X

Simple Surrogate Algorithm

Sample n points

Update Surrogate

Optimize Surrogate

Value

X

Value

X

Value

X

Simple Surrogate Algorithm

Sample n points

Update Surrogate

Optimize Surrogate

Evaluate k solutions

Value

X

Value

X

Value

X

Simple Surrogate Algorithm

Sample n points

Update Surrogate

Optimize Surrogate

Evaluate k solutions

Value

X

Value

X

Value

X

Value

X

Simple Surrogate Algorithm

Sample n points

Update Surrogate

Optimize Surrogate

Evaluate k solutions

Value

X

Value

X

Value

X

Value

X

Simple Surrogate Algorithm

Sample n points

Update Surrogate

Optimize Surrogate

Evaluate k solutions

Decrease Bounds

Value

X

Value

X

Value

X

Value

X

Simple Surrogate Algorithm

Sample n points

Update Surrogate

Optimize Surrogate

Evaluate k solutions

Decrease Bounds

Value

X

Value

X

Value

X

Value

X

Value

X

Simple Surrogate Algorithm

Sample n points

Update Surrogate

Optimize Surrogate

Evaluate k solutions

Decrease Bounds

Value

X

Value

X

Value

X

Value

X

Value

X

Simple Surrogate Algorithm

Sample n points

Update Surrogate

Optimize Surrogate

Evaluate k solutions

Decrease Bounds

Value

X

Value

X

Value

X

Value

X

Value

X

Simple Surrogate Algorithm

Sample n points

Update Surrogate

Optimize Surrogate

Evaluate k solutions

Decrease Bounds

Value

X

Value

X

Value

X

Value

X

Value

X

Automated Optimization Framework

Automated Optimization Process

Automated Optimization Process

Automated Optimization Process

Simple Code

Simple Code

Simple Code

Simple Code

Simple Code

Simple Code

Simple Code

Simple Code

Visualizing the result

Visualizing the result

Visualizing the result

Visualizing the result

Visualizing the result

Evaluation

Structural Optimization case study

Structural Optimization case study

Structural Optimization Results

Structural Optimization Results

Structural Optimization Results

Conclusions

Conclusions

Conclusions

• Optimization is useful for architecture

Conclusions

• Optimization is useful for architecture

• The Genetic Algorithm is not a good choice

Conclusions

• Optimization is useful for architecture

• The Genetic Algorithm is not a good choice

• The framework enables the usage of several algorithms

Contributions

Contributions

• Caetano, I., Ilunga, G., Belém, C., Aguiar, R., Feist, S., Bastos, F., & Leitão, A. (2018). Case Studies on the Integration of Algorithmic Design Processes in Traditional Design Workflows. 23rd CAADRIA Conference, Beijing, China.

• Ilunga, G., & Leitão, A. (2018). Derivative-free Methods for Structural Optimization. 36th eCAADe Conference, Lodz, Poland.

Questions?

top related