an introduction to numerical optimization · an introduction to numerical optimization stelian...

103
An introduction to Numerical Optimization Stelian Coros

Upload: others

Post on 01-Jun-2020

35 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

An introduction to Numerical Optimization

Stelian Coros

Page 2: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Plan for Today

• A fast and furious tour through numerical

optimization

– Unconstrained Optimization

• Gradient Descent

• Newton’s Method

– Constrained Optimization

• Newton’s Method

• Quadratic Programming

– Stochastic Optimization

– Discrete Optimization

Page 3: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Optimization in Graphics

• Simulation and Material Parameter Estimation

Page 4: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Introduction to Optimization

• Optimization involves finding an “optimal

value”

• i.e. Maximizing a profit, minimizing forces,

etc…

minimize

Cost Function

Page 5: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Introduction to Optimization

• Optimization involves finding an “optimal

value”

• i.e. Maximizing a profit, minimizing an

area etc…

Optimal Solution

Page 6: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Types of Optimization

• Continuous vs. Discrete

• Constrained vs. Unconstrained

Page 7: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Continuous Discrete

This point can move

smoothly

Choose from discrete points in

parameter space

Page 8: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Unconstrained Constrained

We can go anywhere “Feasible Space”

“Infeasible Space”

Page 9: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Types of Optimization

• Continuous vs. Discrete

• Constrained vs. Unconstrained

Page 10: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Continuous Optimization

• We’re solving

• How do we know we’ve found a potential

solution?

IMPORTANT!!!!!

Page 11: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Potential Solutions

• Intuitively we look for a flat point on the

cost function

Page 12: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Potential Solutions

• Sometimes that’s easier said than done

Page 13: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Computing Derivatives

• Analytically (pen and paper, mathematica)

• Finite Differences (via Taylor series)

Page 14: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Potential Solutions

• Computing the gradient requires a limit

Page 15: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Potential Solutions

• Computing the gradient requires a limit

Page 16: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Potential Solutions

• In Finite Differencing we choose h and

estimate the derivative numerically

Page 17: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Continuous Optimization

• General, continuous optimizations are

difficult to solve – but we keep trying

anyway

• We focus on certain classes of problems

that are solvable

Convex Optimization

Page 18: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Convex Optimization

• Convex optimizations are ones that have a

single minimum

• Let’s look at some examples of convex

cost functions

Page 19: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Convex Optimization

Page 20: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Is This Convex ?

Page 21: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Descent Algorithms

• Idea: Follow search directions that reduce

the cost!

• Two Types

– Gradient Descent

– Newton’s Method

Page 22: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Gradient Descent

• Recall that the gradient of a function is

given by

Page 23: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Gradient Descent

• Recall that the gradient of a function is

given by

• Points in direction of maximum ascent

Page 24: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

An Aside: Level Sets

Level Set

Page 25: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

An Aside: Level Sets

Level Set:

All points that have

same value of f(x)

Page 26: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Gradient Descent

Page 27: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Gradient Descent

Page 28: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simple Gradient Descent Algorithm

• While not at an optimal point

– Compute the gradient at current point (x)

– Move to new point x = x – h

– Step size h: typically need line search

Page 29: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Gradient Descent

Page 30: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Gradient Descent

• Good:

– Simple to implement

• Bad:

– Sometimes converges badly

Page 31: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Gradient Descent

Page 32: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Newton’s Method

• Can we choose better search directions?

• Hint: quadratic functions are very nice!

Page 33: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

A Simple Example: Least Squares

• Least Squares Fitting of a Curve

• Want to find a line, mx + c, that is a “best

fit”

Page 34: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

A Simple Example: Least Squares

• Least Squares Fitting of a Curve

• Want to find a line, mx + c, that is a “best

fit”

Error=

Page 35: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

A Simple Example: Least Squares

• Least Squares Fitting of a Curve

Error=

=

Page 36: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

A Simple Example: Least Squares

• Minimize sum of squared errors

Error=

Total Error =

Page 37: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

A Simple Example: Least Squares

• Minimize sum of squared errors

Error=

Sum of Squared Error = f(x) =

Page 38: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simple Example: Least Squares

Page 39: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

A Simple Example: Least Squares

• Solution given by the normal equations

Error=

Solution =

Page 40: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Newton’s Method

s s

Choose best descent direction according to quadratic approximation

Page 41: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Newton’s Method

• How do we get an approximation ?

• Taylor Series!

Page 42: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Newton’s Method

• We minimize the model problem

• Find where the gradient is zero

Page 43: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Newton’s Method

• We minimize the model problem

• Find where the gradient is zero

Model:

Gradient:

Increment:

Page 44: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Newton’s Method

s s

Page 45: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Newton’s Method

• Initialize

• While not at optimal point

– Compute gradient (g) and Hessian (H)

– Compute

– Update

Page 46: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Gradient Descent vs. Newton’s Method

• Gradient Descent is very simple

• Newton’s Method converges faster (near

solution, quadratic vs linear)

• Available Newton’s Method

Implementations:

– MATLAB: fminunc

• Quasi-Newton Methods

– LBFGS: http://www.chokkan.org/software/liblbfgs/

Page 47: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Examples of Optimization in Engineering

• Static Equilibrium: Find the minimum

energy state of a deformable object

• Typically done using a Newton’s method

Page 48: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Examples from Engineering

Page 49: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Types of Optimization

• Continuous vs. Discrete

• Constrained vs. Unconstrained

Page 50: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Constrained Optimization

• Optimization involves finding an “optimal

value”

• i.e. Maximizing a profit, minimizing an

area etc…

Equality Constraints

Page 51: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Constrained Optimization

• Optimization involves finding an “optimal

value”

• i.e. Maximizing a profit, minimizing an

area etc…

Equality Constraints

Page 52: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Constrained Optimization

Page 53: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Constrained Optimization: method of Lagrange

multipliers

• Solve a different, unconstrained

optimization problem instead

• Compute stationary (critical) points of the

Lagrangian:

Lagrange Multipliers!

At Optimal Solution, we have:

Page 54: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Constrained Optimization

At Optimal Point

-

Page 55: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Constrained Optimization

• Very useful for general equality

constrained problems

• Available in MATLAB as fmincon

• Easy to modify unconstrained Newton Code

Page 56: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Next: Inequality Constrained Optimization

• Specifically we will work up to a particular

type of problem called a Quadratic

Program

Page 57: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Constrained Optimization

Page 58: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Constrained Optimization

At Optimal Point

Page 59: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Inequality Constrained Optimization

Page 60: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Equality Constrained Optimization

Page 61: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Inequality Constrained Optimization

Feasible Set

Page 62: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

The Active Set

• Hidden inside of each inequality

constrained optimization is an equality

constrained optimization

• There are two cases for our optimal point…

Page 63: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Case 1: Optimal Value Inside Feasible Set

At Optimal Point

Page 64: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Case 2: Optimal Value On Boundary

At Optimal Point

Page 65: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Case 2: Optimal Value On Boundary

At Optimal Point

Page 66: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

The Active Set

• On the boundary we satisfy

Active Set

Page 67: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Quadratic Programs

• Quadratic objective, linear constraints

Page 68: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Quadratic Programs

Page 69: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Quadratic Program

• How do we solve this ?

• Active Set: Try different combinations of

constraints until the minimum is found

• Interior Point: …

Page 70: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

• Replace inequality constraints with special

barrier functions

Interior Point Methods

Special “Constraint” Function

Page 71: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Interior Point: barrier functions

Cost OK! Point will never

End up here

Page 72: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

• Replace inequality constraints with special

barrier functions

• Now use Newton’s method

Interior Point Methods

Special “Constraint” Function

Page 73: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Quadratic Programs and Interior Point

• Quadratic Programs (Active Set)

– Quadprog++

(http://quadprog.sourceforge.net)

– MATLAB: quadprog

• Interior Point

– Ipopt (https://projects.coin-or.org/Ipopt)

Page 74: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Types of Optimization

• Continuous vs. Discrete

• Constrained vs. Unconstrained

Page 75: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Continuous Discrete

This point can move

smoothly

Choose from discrete points in

parameter space

Page 76: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Branch and Bound Optimizations

• most commonly used tool for solving NP-

hard optimization problems

• An optimization technique with 3 phases

– Branch (divide the solution space into a number of

subspaces)

– Bound (compute some upper and lower bound for

the cost of each subspace – worst case,

conservative but feasible solution, best case,

optimistic, usually through relaxation)

– Prune (remove subspaces with upper bounds

worse than the lower bounds of other subspaces)

Page 77: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Branch and Bound Example

Page 78: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Branch and Bound Example

Enumerating all solutions is not feasible – exponential explosion

Page 79: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

• Has four ingredients

– Cost function

– Configuration (made of discrete or continuous

elements)

– Neighbor Generator

– Annealing Schedule

Page 80: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

• Basic Idea taken from cooling of materials

in metallurgy

• At high “heat” atoms undergo rigorous

motion

• As they are cooled they move less

• Explore trade-off between exploration and

exploitation

Page 81: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

• Cost function:

Page 82: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

• Cost function:

• Neighbor Generator: Rearrange Configuration

– Change q to something nearby

• Annealing Schedule

Page 83: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

• Annealing Schedule Te

mpera

ture

Iterations

Page 84: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 85: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 86: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 87: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 88: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 89: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 90: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 91: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 92: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 93: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 94: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 95: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 96: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 97: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 98: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 99: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 100: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

27

SA Block Diagram

n

Reached

equilbrium

at Tj ?

End Tmin

Start To

T<Tmin?

Define initial

configuration Ro

Evaluate energy

E(Ro)

Evaluate energy

E(Ri+1)

Accept Ri+1 as

new configuration

Keep Ri as current

configuration

Perturb configuration

Ri _

> Ri+1

Compute energy

difference

E = E(Ri+1)-E(Ri)

Reduce temperature

Ti+1 =Tj - T E < 0?

Create random

number v in [0,1]exp - E > v?

T

Metropolis step

SA Block Diagram

y

y

y

n

n

n

y

Image by MIT OpenCourseWare.

Page 101: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

• Global optimization

• Combinatorial optimization

• Difficult to define good annealing schedule

and neighbor generation scheme

Page 102: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Simulated Annealing

Page 103: An introduction to Numerical Optimization · An introduction to Numerical Optimization Stelian Coros . Plan for Today •A fast and furious tour through numerical optimization –

Examples from Graphics