69
From Simulation to Optimization: Discrete Adjoint Equations Ren´ e Schneider Mathematik in Industrie und Technik Fakult¨ at f¨ ur Mathematik TU Chemnitz Magdeburg, 5. November 2010 1/33 [email protected] Ren´ e Schneider From Simulation to Optimization: Discrete Adjoint Equations

From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

From Simulation to Optimization:Discrete Adjoint Equations

Rene Schneider

Mathematik in Industrie und TechnikFakultat fur Mathematik

TU Chemnitz

Magdeburg, 5. November 2010

1/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 2: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Overview

1 Motivation

2 Sensitivity analysis

3 Examples

2/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 3: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Motivation

Modelling and Simulation of scientific/engineering problems

modelling

PDE or ODE

numerical approximation/simulation

predictions, analysis

really only f(x) for optimisation

3/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 4: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Motivation

Modelling and Simulation of scientific/engineering problems

modelling

PDE or ODE

numerical approximation/simulation

predictions, analysis

really only f(x) for optimisation

3/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 5: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example: Shape optimisation

An object is moving with v = 1 in a channel of viscous fluid.

Goal: find shape such that drag → min.

constraint: a = const, V ≥ const., symmetric

d

b

a d1 2

4/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 6: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

What we want

Evaluation of J(s), DJDs := grad J(s) (sensitivity analysis)

use standard gradient optimisation techniques

NOT just steepest descent!quasi Newton-type (SQP with BFGS for Hessian)robust and reliable algorithms and software available, e.g. [DONLP2]by P. Spellucci.

5/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 7: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

What we want

Evaluation of J(s), DJDs := grad J(s) (sensitivity analysis)

use standard gradient optimisation techniques

NOT just steepest descent!quasi Newton-type (SQP with BFGS for Hessian)robust and reliable algorithms and software available, e.g. [DONLP2]by P. Spellucci.

5/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 8: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

What we want

Evaluation of J(s), DJDs := grad J(s) (sensitivity analysis)

use standard gradient optimisation techniques

NOT just steepest descent!quasi Newton-type (SQP with BFGS for Hessian)robust and reliable algorithms and software available, e.g. [DONLP2]by P. Spellucci.

5/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 9: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

What we want

Evaluation of J(s), DJDs := grad J(s) (sensitivity analysis)

use standard gradient optimisation techniques

NOT just steepest descent!quasi Newton-type (SQP with BFGS for Hessian)robust and reliable algorithms and software available, e.g. [DONLP2]by P. Spellucci.

5/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 10: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

What we want

Evaluation of J(s), DJDs := grad J(s) (sensitivity analysis)

use standard gradient optimisation techniques

NOT just steepest descent!quasi Newton-type (SQP with BFGS for Hessian)robust and reliable algorithms and software available, e.g. [DONLP2]by P. Spellucci.

5/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 11: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Assumptions

number of parameters to be optimised 1

simulation expensive compared to post-processing

Let J be a scalar valued function

J(s) = J(u(s), s), with vector u(s) defined by

0 = R(u(s), s).

6/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 12: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Assumptions

number of parameters to be optimised 1

simulation expensive compared to post-processing

Let J be a scalar valued function

J(s) = J(u(s), s), with vector u(s) defined by

0 = R(u(s), s).

6/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 13: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Naive way 1: Finite Difference

J(s) = J(u(s), s)

0 = R(u(s), s)

solve R(u, s) = 0, evaluate J0 := J(u, s)for i = 1, . . . , dim(s)

perturb i-th parameter in s by h > 0, s = s + h

solve R(u, s) = 0, evaluate Ji := J(u, s)DJDsi≈ Ji−J0

h

Problems: inaccuracies, choice of h.

7/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 14: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Naive way 1: Finite Difference

J(s) = J(u(s), s)

0 = R(u(s), s)

solve R(u, s) = 0, evaluate J0 := J(u, s)for i = 1, . . . , dim(s)

perturb i-th parameter in s by h > 0, s = s + h

solve R(u, s) = 0, evaluate Ji := J(u, s)DJDsi≈ Ji−J0

h

Problems: inaccuracies, choice of h.

7/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 15: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Naive way 2: Sensitivity equation

J(s) = J(u(s), s)

0 = R(u(s), s)

for δs = i-th unit vector, i = 1, . . . , dim(s),

0 = δR =∂R

∂uδu +

∂R

∂sδs

δJ =∂J

∂uδu +

∂J

∂sδs

DJ

Dsi= δJ

8/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 16: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Naive way 2: Sensitivity equation

J(s) = J(u(s), s)

0 = R(u(s), s)

for δs = i-th unit vector, i = 1, . . . , dim(s),

0 = δR =∂R

∂uδu +

∂R

∂sδs

δJ =∂J

∂uδu +

∂J

∂sδs

DJ

Dsi= δJ

8/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 17: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Naive way 2: Sensitivity equation

J(s) = J(u(s), s)

0 = R(u(s), s)

for δs = i-th unit vector, i = 1, . . . , dim(s),

0 = δR =∂R

∂uδu +

∂R

∂sδs

δJ =∂J

∂uδu +

∂J

∂sδs

DJ

Dsi= δJ

8/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 18: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Way 3: Discrete adjoint equation

Take

0 = δR =∂R

∂uδu +

∂R

∂sδs

δJ =∂J

∂uδu +

∂J

∂sδs

=∂J

∂uδu +

∂J

∂sδs −ΨT

(∂R

∂uδu +

∂R

∂sδs

)=

(∂J

∂u−ΨT ∂R

∂u

)δu +

(∂J

∂s−ΨT ∂R

∂s

)δs

9/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 19: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Way 3: Discrete adjoint equation

Take

0 = δR =∂R

∂uδu +

∂R

∂sδs

δJ =∂J

∂uδu +

∂J

∂sδs

=∂J

∂uδu +

∂J

∂sδs −ΨT

(∂R

∂uδu +

∂R

∂sδs

)=

(∂J

∂u−ΨT ∂R

∂u

)δu +

(∂J

∂s−ΨT ∂R

∂s

)δs

9/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 20: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Way 3: Discrete adjoint equation

Take

0 = δR =∂R

∂uδu +

∂R

∂sδs

δJ =∂J

∂uδu +

∂J

∂sδs

=∂J

∂uδu +

∂J

∂sδs −ΨT

(∂R

∂uδu +

∂R

∂sδs

)=

(∂J

∂u−ΨT ∂R

∂u

)δu +

(∂J

∂s−ΨT ∂R

∂s

)δs

9/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 21: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Way 3: Discrete adjoint equation

δJ =

(∂J

∂u−ΨT ∂R

∂u

)δu +

(∂J

∂s−ΨT ∂R

∂s

)δs

Thus δJ can be evaluated without knowing δu if[∂R

∂u

]T

Ψ =∂J

∂u

Then

DJ

Ds=∂J

∂s−ΨT ∂R

∂s

10/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 22: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Way 3: Discrete adjoint equation

δJ =

(∂J

∂u−ΨT ∂R

∂u

)δu +

(∂J

∂s−ΨT ∂R

∂s

)δs

Thus δJ can be evaluated without knowing δu if[∂R

∂u

]T

Ψ =∂J

∂u

Then

DJ

Ds=∂J

∂s−ΨT ∂R

∂s

10/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 23: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Way 3: Discrete adjoint equation

δJ =

(∂J

∂u−ΨT ∂R

∂u

)δu +

(∂J

∂s−ΨT ∂R

∂s

)δs

Thus δJ can be evaluated without knowing δu if[∂R

∂u

]T

Ψ =∂J

∂u

Then

DJ

Ds=∂J

∂s−ΨT ∂R

∂s

10/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 24: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Way 3: Discrete adjoint equation

[∂R

∂u

]T

Ψ =∂J

∂u

DJ

Ds=∂J

∂s−ΨT ∂R

∂s

Discussion:

0 = R(u, s) is N equations in N unknowns u, then the adjoint is Nequations in N unknowns Ψ.

If (nonlinear) system 0 = R(u, s) is uniquely solvable, then adjoint isa uniquely solvable linear system.

Why important:

Requires only one solution of adjoint problem, independent ofdim(s).

In contrast: sensitivity equation or finite differences require onesolution of PDE per component of s.

11/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 25: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Way 3: Discrete adjoint equation

[∂R

∂u

]T

Ψ =∂J

∂u

DJ

Ds=∂J

∂s−ΨT ∂R

∂s

Discussion:

0 = R(u, s) is N equations in N unknowns u, then the adjoint is Nequations in N unknowns Ψ.

If (nonlinear) system 0 = R(u, s) is uniquely solvable, then adjoint isa uniquely solvable linear system.

Why important:

Requires only one solution of adjoint problem, independent ofdim(s).

In contrast: sensitivity equation or finite differences require onesolution of PDE per component of s.

11/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 26: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Way 3: Discrete adjoint equation

[∂R

∂u

]T

Ψ =∂J

∂u

DJ

Ds=∂J

∂s−ΨT ∂R

∂s

Discussion:

0 = R(u, s) is N equations in N unknowns u, then the adjoint is Nequations in N unknowns Ψ.

If (nonlinear) system 0 = R(u, s) is uniquely solvable, then adjoint isa uniquely solvable linear system.

Why important:

Requires only one solution of adjoint problem, independent ofdim(s).

In contrast: sensitivity equation or finite differences require onesolution of PDE per component of s.

11/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 27: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Way 3: Discrete adjoint equation

[∂R

∂u

]T

Ψ =∂J

∂u

DJ

Ds=∂J

∂s−ΨT ∂R

∂s

Discussion:

0 = R(u, s) is N equations in N unknowns u, then the adjoint is Nequations in N unknowns Ψ.

If (nonlinear) system 0 = R(u, s) is uniquely solvable, then adjoint isa uniquely solvable linear system.

Why important:

Requires only one solution of adjoint problem, independent ofdim(s).

In contrast: sensitivity equation or finite differences require onesolution of PDE per component of s.

11/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 28: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Way 3: Discrete adjoint equation

[∂R

∂u

]T

Ψ =∂J

∂u

DJ

Ds=∂J

∂s−ΨT ∂R

∂s

Discussion:

0 = R(u, s) is N equations in N unknowns u, then the adjoint is Nequations in N unknowns Ψ.

If (nonlinear) system 0 = R(u, s) is uniquely solvable, then adjoint isa uniquely solvable linear system.

Why important:

Requires only one solution of adjoint problem, independent ofdim(s).

In contrast: sensitivity equation or finite differences require onesolution of PDE per component of s.

11/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 29: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 1: Heat conduction

Stationary heat equation

−∆u = f in Ω

u = 0 on ∂Ω

Finite Element or Finite Difference Discretisation

⇒ K (s)u = b(s)

⇔ 0 = R(u, s) := K (s)u − b(s)

∂R(u, s)

∂u= K

Adjoint FEM

⇒ KT Ψ =∂J

∂u

12/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 30: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 1: Heat conduction

Stationary heat equation

−∆u = f in Ω

u = 0 on ∂Ω

Finite Element or Finite Difference Discretisation

⇒ K (s)u = b(s)

⇔ 0 = R(u, s) := K (s)u − b(s)

∂R(u, s)

∂u= K

Adjoint FEM

⇒ KT Ψ =∂J

∂u

12/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 31: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 1: Heat conduction

Stationary heat equation

−∆u = f in Ω

u = 0 on ∂Ω

Finite Element or Finite Difference Discretisation

⇒ K (s)u = b(s)

⇔ 0 = R(u, s) := K (s)u − b(s)

∂R(u, s)

∂u= K

Adjoint FEM

⇒ KT Ψ =∂J

∂u

12/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 32: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 2: ODE solver

e.g. forward Euler

u = f (u, t, s) ∀t ∈ [a, b],

u(a) = ua(s)

u0 = ua(s)

ui = ui−1 + τ f (ui−1, ti−1, s) ∀i = 1, . . . , n

⇒ 0 = Ri (u, s) = ui −(ui−1 + τ f (ui−1, ti−1, s)

)

∂R(u, s)

∂u

T

=

I δT

1

δ1 I δT2

δ2 I. . .

. . .. . . δT

n

δn I

,

δi = −(

I + τ∂f (ui−1, ti−1)

∂u

)13/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 33: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 2: ODE solver

e.g. forward Euler

u = f (u, t, s) ∀t ∈ [a, b],

u(a) = ua(s)

u0 = ua(s)

ui = ui−1 + τ f (ui−1, ti−1, s) ∀i = 1, . . . , n

⇒ 0 = Ri (u, s) = ui −(ui−1 + τ f (ui−1, ti−1, s)

)

∂R(u, s)

∂u

T

=

I δT

1

δ1 I δT2

δ2 I. . .

. . .. . . δT

n

δn I

,

δi = −(

I + τ∂f (ui−1, ti−1)

∂u

)13/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 34: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 2: ODE solver

e.g. forward Euler

u = f (u, t, s) ∀t ∈ [a, b],

u(a) = ua(s)

u0 = ua(s)

ui = ui−1 + τ f (ui−1, ti−1, s) ∀i = 1, . . . , n

⇒ 0 = Ri (u, s) = ui −(ui−1 + τ f (ui−1, ti−1, s)

)

∂R(u, s)

∂u

T

=

I δT

1

δ1 I δT2

δ2 I. . .

. . .. . . δT

n

δn I

,

δi = −(

I + τ∂f (ui−1, ti−1)

∂u

)13/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 35: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 2: ODE solver

∂R(u, s)

∂u

T

=

I δT

1

I δT2

I. . .. . . δT

n

I

Adjoint discrete ODE:

∂R

∂u

T

Ψ =∂J

∂u

⇒ Ψn =∂J

∂un

Ψi = Ψi+1 + τ∂f (ui+1, ti+1, s)

∂uΨi+1 +

∂J

∂ui

∀i = n − 1, . . . , 0

14/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 36: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 2: ODE solver

Compare:

Discrete ODE (forward in time)

u0 = ua(s)

ui = ui−1 + τ f (ui−1, ti−1, s) ∀i = 1, . . . , n

Discrete adjoint ODE (backward in time)

Ψn =∂J

∂un

Ψi = Ψi+1 + τ∂f (ui+1, ti+1, s)

∂uΨi+1 +

∂J

∂ui

∀i = n − 1, . . . , 0

15/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 37: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 2: ODE solver

Compare:

Discrete ODE (forward in time)

u0 = ua(s)

ui = ui−1 + τ f (ui−1, ti−1, s) ∀i = 1, . . . , n

Discrete adjoint ODE (backward in time)

Ψn =∂J

∂un

Ψi = Ψi+1 + τ∂f (ui+1, ti+1, s)

∂uΨi+1 +

∂J

∂ui

∀i = n − 1, . . . , 0

15/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 38: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Comparison of approaches

m := dim(J), k := dim(s)

sensitivity discrete adj. adj. PDEO(k) LS O(m) LS O(m) PDE

discrete consistent discrete consistent not d. consistentfwd adaptive fwd adaptive fwd+adj adaptive

fwd time fwd+bwd time fwd+bwd timesimplest simple more difficult (e.g. BC)

Difficulties:

A priori effort.

Re-use of code.

Verifiability of results.

Automatisation of code generation.

Introduction: [Giles 2000]

16/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 39: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Comparison of approaches

m := dim(J), k := dim(s)

sensitivity discrete adj. adj. PDEO(k) LS O(m) LS O(m) PDE

discrete consistent discrete consistent not d. consistentfwd adaptive fwd adaptive fwd+adj adaptive

fwd time fwd+bwd time fwd+bwd timesimplest simple more difficult (e.g. BC)

Difficulties:

A priori effort.

Re-use of code.

Verifiability of results.

Automatisation of code generation.

Introduction: [Giles 2000]

16/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 40: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Comparison of approaches

m := dim(J), k := dim(s)

sensitivity discrete adj. adj. PDEO(k) LS O(m) LS O(m) PDE

discrete consistent discrete consistent not d. consistentfwd adaptive fwd adaptive fwd+adj adaptive

fwd time fwd+bwd time fwd+bwd timesimplest simple more difficult (e.g. BC)

Difficulties:

A priori effort.

Re-use of code.

Verifiability of results.

Automatisation of code generation.

Introduction: [Giles 2000]

16/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 41: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 3: Shape optimisationNavier Stokes, drag minimisation

An object is moving with v = 1 in a channel of viscous fluid.

Goal: find shape such that drag → min.

constraint: a = const, V ≥ const., symmetric

d

b

a d1 2

17/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 42: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 3: Shape optimisationNavier Stokes, drag minimisation

Fluid dynamics: stationary Navier-Stokes Equations

− 1

Re∆u + u.∇u +∇p = f,

∇.u = 0.

Discretised by FEM (Taylor-Hood elements).

Shape discretised by Bezier-Splines:

18/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 43: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 3: Shape optimisationNavier Stokes, drag minimisation

Fluid dynamics: stationary Navier-Stokes Equations

− 1

Re∆u + u.∇u +∇p = f,

∇.u = 0.

Discretised by FEM (Taylor-Hood elements).

Shape discretised by Bezier-Splines:

18/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 44: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Way 3: Discrete adjoint equation

[∂R

∂u

]T

Ψ =∂J

∂u

DJ

Ds=∂J

∂s−ΨT ∂R

∂s

Discussion:

0 = R(u, s) is N equations in N unknowns u, then the adjoint is Nequations in N unknowns Ψ.

If (nonlinear) system 0 = R(u, s) is uniquely solvable, then adjoint isa uniquely solvable linear system.

Why important:

Requires only one solution of adjoint problem, independent ofdim(s).

In contrast: sensitivity equation or finite differences require onesolution of PDE per component of s.

19/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 45: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Evaluation of required partial derivatives

Non-trivial part is −ΨT ∂R∂s , s are nodal coordinates.

Jacobian ∂R∂s is sparse.

But needs not be build as a whole.

Only required for one matrix-vector product −ΨT ∂R∂s .

⇒ Cheaper to evaluate only locally and sum up local contributionsto −ΨT ∂R

∂s (assembly).

Local contributions:by hand, algorithmic differentiation, or even finite differences[S./Jimack 2008]

20/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 46: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Evaluation of required partial derivatives

Non-trivial part is −ΨT ∂R∂s , s are nodal coordinates.

Jacobian ∂R∂s is sparse.

But needs not be build as a whole.

Only required for one matrix-vector product −ΨT ∂R∂s .

⇒ Cheaper to evaluate only locally and sum up local contributionsto −ΨT ∂R

∂s (assembly).

Local contributions:by hand, algorithmic differentiation, or even finite differences[S./Jimack 2008]

20/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 47: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Evaluation of required partial derivatives

Non-trivial part is −ΨT ∂R∂s , s are nodal coordinates.

Jacobian ∂R∂s is sparse.

But needs not be build as a whole.

Only required for one matrix-vector product −ΨT ∂R∂s .

⇒ Cheaper to evaluate only locally and sum up local contributionsto −ΨT ∂R

∂s (assembly).

Local contributions:by hand, algorithmic differentiation, or even finite differences[S./Jimack 2008]

20/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 48: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Evaluation of required partial derivatives

Non-trivial part is −ΨT ∂R∂s , s are nodal coordinates.

Jacobian ∂R∂s is sparse.

But needs not be build as a whole.

Only required for one matrix-vector product −ΨT ∂R∂s .

⇒ Cheaper to evaluate only locally and sum up local contributionsto −ΨT ∂R

∂s (assembly).

Local contributions:by hand, algorithmic differentiation, or even finite differences[S./Jimack 2008]

20/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 49: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 3: Shape optimisationNavier Stokes, drag minimisation, Re = 10

solution: velocities

21/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 50: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 3: Shape optimisationNavier Stokes, drag minimisation, Re = 10

adjoint: velocities

22/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 51: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 3: Shape optimisationNavier Stokes, drag minimisation, Re = 10

shape gradient

-0.4

-0.2

0

0.2

0.4

0 0.2 0.4 0.6 0.8 1

shapeshape + a*grad

23/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 52: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 3: Shape optimisationNavier Stokes, drag minimisation, Re = 10

optimisation result

f0 = 1.4056 f∗ = 1.3714 ⇒ 2.4% reduced

10 parameters for optimisation

18 SQP steps

69 function evaluations

∼ 145,000 DOFs in each nonlinear equation system,J(s) : 9:20 min, adjoint 6:10 min

24/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 53: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 3: Shape optimisationNavier Stokes, drag minimisation, Re = 10

optimisation movie

f0 = 1.4056 f∗ = 1.3714

24/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 54: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 3: Shape optimisationLinear elasticity (with Andreas Gunnel)

sketch of pedal crank problem:

24 free parameters

performance functional: deformation energy

I (F) :=1

2a(u, u)− b(u) + α

∫Ω

1 dΩ

25/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 55: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 3: Shape optimisationLinear elasticity (with Andreas Gunnel)

initial design

25/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 56: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 3: Shape optimisationLinear elasticity (with Andreas Gunnel)

optimal shape: I (F) α = 10

25/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 57: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 4: Mesh optimisation

Singularly perturbed reaction diffusion problem

−ε2∆u + u = 1 in Ωu = 0 on ΓD

∂u∂n = 0 on ΓN

J :=∑

T∈TJ2e,T local DWR error estimate

26/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 58: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 4: Mesh optimisation

Domain, Solution

−1 −0.5 0 0.5 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

y

initial mesh, max(AR)=2.5e+00

−1−0.5

00.5

1

−1

−0.5

0

0.5

10

0.2

0.4

0.6

0.8

1

x

u

y

27/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 59: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 4: Mesh optimisation

Meshes, ε = 10−3

initial and optimised coarse mesh256 DOFS for optimisation

−1 −0.5 0 0.5 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

y

initial mesh, max(AR)=2.5e+00

−1 −0.5 0 0.5 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

y

final mesh for eps=1.0e−03, max(AR)=2.0e+02

28/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 60: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 4: Mesh optimisation

Meshes, ε = 10−3

28/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 61: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 4: Mesh optimisation

Meshes, ε = 10−3

opt-adapt

−1 −0.5 0 0.5 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

y

opt−adapt final mesh for eps=1.0e−03, max(AR)=2.0e+02

−0.21 −0.205 −0.2 −0.195 −0.190.19

0.192

0.194

0.196

0.198

0.2

0.202

0.204

0.206

0.208

0.21

x

y

opt−adapt final mesh for eps=1.0e−03 (close−up)

28/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 62: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Example 4: Mesh optimisation

Convergence

101

102

103

104

105

106

107

10−4

10−3

10−2

10−1

100

101

102

103

#nodes

rela

tive

erro

r |J

(e)/

J|

history for eps=1.0e−03

J

est − opt−adapt

Jest

− iso adapt

Jest

− Shishkin

Jest

− uniform

ref o(h)=o(1/sqrt(n))

ref o(h2)=o(1/n)

29/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 63: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Conclusions

Discrete-Adjoint-Technique gives a relatively simple way to extendan existing simulation code to include sensitivity analysis, and thusto allow optimisation.

Advantages: simple, reuse of code.Disadvantages: optimisation of the discretised problem, rather thanapproximation of the optimal solution of the continuous problem.

Technique very general, can be applied in very different settings[S., PhD Thesis 2006]

30/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 64: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Conclusions

Discrete-Adjoint-Technique gives a relatively simple way to extendan existing simulation code to include sensitivity analysis, and thusto allow optimisation.

Advantages: simple, reuse of code.Disadvantages: optimisation of the discretised problem, rather thanapproximation of the optimal solution of the continuous problem.

Technique very general, can be applied in very different settings[S., PhD Thesis 2006]

30/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 65: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Conclusions

Discrete-Adjoint-Technique gives a relatively simple way to extendan existing simulation code to include sensitivity analysis, and thusto allow optimisation.

Advantages: simple, reuse of code.Disadvantages: optimisation of the discretised problem, rather thanapproximation of the optimal solution of the continuous problem.

Technique very general, can be applied in very different settings[S., PhD Thesis 2006]

30/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 66: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Conclusions

Discrete-Adjoint-Technique gives a relatively simple way to extendan existing simulation code to include sensitivity analysis, and thusto allow optimisation.

Advantages: simple, reuse of code.Disadvantages: optimisation of the discretised problem, rather thanapproximation of the optimal solution of the continuous problem.

Technique very general, can be applied in very different settings[S., PhD Thesis 2006]

30/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 67: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Thank you!

31/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 68: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Congratulations Peter!

32/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations

Page 69: From Simulation to Optimization: Discrete Adjoint Equations€¦ · From Simulation to Optimization: Discrete Adjoint Equations Ren e Schneider Mathematik in Industrie und Technik

Hope you to see you in Chemnitz now and then.

33/33 [email protected] Rene Schneider From Simulation to Optimization: Discrete Adjoint Equations