Null Space Gradient Flows for Constrained Optimization with Applications to Shape Optimization
Florian Feppon Gr´ egoire Allaire, Charles Dapogny Julien Cortial, Felipe Bordeu SMAI 2019 – Guidel Plages – May 14th, 2019
Null Space Gradient Flows for Constrained Optimization with - - PowerPoint PPT Presentation
Null Space Gradient Flows for Constrained Optimization with Applications to Shape Optimization Florian Feppon Gr egoire Allaire, Charles Dapogny Julien Cortial, Felipe Bordeu SMAI 2019 Guidel Plages May 14th, 2019 Shape
Florian Feppon Gr´ egoire Allaire, Charles Dapogny Julien Cortial, Felipe Bordeu SMAI 2019 – Guidel Plages – May 14th, 2019
Multiphysics, non parametric, shape and topology optimization, in
And in 3D. . .
Figure: 3D shape optimization in linear elasticity
And in 3D. . .
Figure: 3D shape optimization in linear elasticity
. . . Nonlinear, non convex, infinite dimensional optimization problems featuring multiple and arbitrary constraints!
min
x∈X
J(x) s.t.
❤(x) ≤ 0, with J : X → R, ❣ : X → Rp and ❤ : X → Rq Fr´ echet differentiable. The set X can be ◮ a finite dimensional vector space, X = Rn
min
x∈X
J(x) s.t.
❤(x) ≤ 0, with J : X → R, ❣ : X → Rp and ❤ : X → Rq Fr´ echet differentiable. The set X can be ◮ a finite dimensional vector space, X = Rn ◮ a Hilbert space equipped with a scalar product a(·, ·), X = V
min
x∈X
J(x) s.t.
❤(x) ≤ 0, with J : X → R, ❣ : X → Rp and ❤ : X → Rq Fr´ echet differentiable. The set X can be ◮ a finite dimensional vector space, X = Rn ◮ a Hilbert space equipped with a scalar product a(·, ·), X = V ◮ a “manifold”, as in topology optimization: X = {Ω ⊂ D | Ω Lipschitz }
From a current guess xn, how to select the descent direction ξn given objective J and constraints ❣, ❤?
From a current guess xn, how to select the descent direction ξn given objective J and constraints ❣, ❤? ◮ Many “iteratives” methods in literature:
◮ Penalty methods (like Augmented Lagrangian Method) ◮ Linearization methods : SLP, SQP, MMA, MFD
From a current guess xn, how to select the descent direction ξn given objective J and constraints ❣, ❤? ◮ Many “iteratives” methods in literature:
◮ Penalty methods (like Augmented Lagrangian Method) ◮ Linearization methods : SLP, SQP, MMA, MFD
These methods suffer from: ◮ the need for tuning unintuitive parameters.
From a current guess xn, how to select the descent direction ξn given objective J and constraints ❣, ❤? ◮ Many “iteratives” methods in literature:
◮ Penalty methods (like Augmented Lagrangian Method) ◮ Linearization methods : SLP, SQP, MMA, MFD
These methods suffer from: ◮ the need for tuning unintuitive parameters. ◮ “inconsistencies” when ∆t → 0: SLP, SQP, MFD subproblems may not have a solution if ∆t too small. ALG does not guarantee reducing the objective function if constraints are satisfied.
Dynamical systems approaches: ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣
Dynamical systems approaches: ◮ For unconstrained optimization, the celebrated gradient flow: ˙ x = −∇J(x) J(x(t)) decreases necessarily! ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣
Dynamical systems approaches: ◮ For unconstrained optimization, the celebrated gradient flow: ˙ x = −∇J(x) J(x(t)) decreases necessarily! ◮ For equality constrained optimization, projected gradient flow (Tanabe (1980)): ˙ x = −(I − D❣ T(D❣D❣ T)−1D❣)∇J(x) (gradient flow on X = {x ∈ V | ❣(x) = 0}) ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣
Dynamical systems approaches: ◮ For unconstrained optimization, the celebrated gradient flow: ˙ x = −∇J(x) J(x(t)) decreases necessarily! ◮ For equality constrained optimization, projected gradient flow (Tanabe (1980)): ˙ x = −(I − D❣ T(D❣D❣ T)−1D❣)∇J(x) (gradient flow on X = {x ∈ V | ❣(x) = 0}) Then Yamashita (1980) added a Gauss-Newton direction: ˙ x = −αJ(I − D❣ T(D❣D❣ T)−1D❣)∇J(x) −αCD❣ T(D❣D❣ T)−1❣(x) ❣ ❣ ❣
Dynamical systems approaches: ◮ For unconstrained optimization, the celebrated gradient flow: ˙ x = −∇J(x) J(x(t)) decreases necessarily! ◮ For equality constrained optimization, projected gradient flow (Tanabe (1980)): ˙ x = −(I − D❣ T(D❣D❣ T)−1D❣)∇J(x) (gradient flow on X = {x ∈ V | ❣(x) = 0}) Then Yamashita (1980) added a Gauss-Newton direction: ˙ x = −αJ(I − D❣ T(D❣D❣ T)−1D❣)∇J(x) −αCD❣ T(D❣D❣ T)−1❣(x) ❣(x(t)) = ❣(x(0))e−αC t and J(x(t)) is guaranteed to decrease if ❣(x(t)) = 0.
For both equality constraints ❣(x) = 0 and inequality constraints ❤(x) ≤ 0, consider I(x) the set of violated constraints:
❈
I(x) =
| (hi(x))i∈
I(x)
T ❈ ❈ ❈ ❈
For both equality constraints ❣(x) = 0 and inequality constraints ❤(x) ≤ 0, consider I(x) the set of violated constraints:
❈
I(x) =
| (hi(x))i∈
I(x)
T We propose ˙ x = −αJξJ(x(t)) − αCξC(x(t)) with −ξJ(x) :=
with respect to the constraints I(x) −ξC(x) :=
−D❈ T
I(x)D❈ T
I(x)(x)
min
(x1,x2)∈R2
J(x1, x2) = x2
1 + (x2 + 3)2
s.t.
1 + x2
≤ 0 h2(x1, x2) = −x1 − x2 − 2 ≤ 0
We propose: ˙ x = −αJξJ(x(t)) − αCξC(x(t)) with ξJ(x) := (I − D❈ T
I(x)D❈ T
I(x))(∇J(x))
ξC(x) := D❈ T
I(x)D❈ T
I(x)(x).
We propose: ˙ x = −αJξJ(x(t)) − αCξC(x(t)) with ξJ(x) := (I − D❈ T
I(x)D❈ T
I(x))(∇J(x))
ξC(x) := D❈ T
I(x)D❈ T
I(x)(x).
I(x) is a subset of the active or violated constraints which can be computed by mean of a dual subproblem.
The best descent direction −ξJ(x) must be proportional to ξ∗ = arg min
ξ∈V
DJ(x)ξ s.t. D❣(x)ξ = 0 D❤
I(x)(x)ξ ≤ 0
||ξ||V ≤ 1. where ❤
I(x)(x) = (hi(x))i∈ I(x)
Proposition
Let (λ∗(x), µ∗(x)) ∈ Rp × RCard
I(x) the solutions of the following
dual minimization problem: (λ∗(x), µ∗(x)) := arg min
λ∈Rp µ∈R
q(x), µ0
||∇J(x)+D❣(x)T λ+D❤
I(x)(x)T µ||V .
Then, unless x is a KKT point, the best descent direction ξ∗(x) is given by ξ∗(x) = − ∇J(x) + D❣(x)T λ∗(x) + D❤
I(x)(x)T µ∗(x)
||∇J(x) + D❣(x)T λ∗(x) + D❤
I(x)(x)T µ∗(x)||V
.
Proposition
Let I(x) the set obtained by collecting the non zero components of µ∗(x):
I | µ∗
i (x) > 0}. ❈ ❈ ❈
❈ ❈ ❈ ❈
Proposition
Let I(x) the set obtained by collecting the non zero components of µ∗(x):
I | µ∗
i (x) > 0}.
Then ξ∗(x) is explicitly given by: ξ∗(x) = − Π❈
I(x)(∇J(x))
||Π❈
I(x)(∇J(x))||V
, with Π❈
I(x)(∇J(x)) = (I − D❈ T
I(x)D❈ T
I(x))(∇J(x))
We can prove:
❣(x(t)) = e−αC t❣(x(0)) and ❤
I(x(t)) ≤ e−αC t❤(x(0))
I(x(t)) is sufficiently
small
A multiple load case. ΓD ΓD ❣0 Γ0 ❣1 Γ1 ❣2 Γ2 ❣3 Γ3 ❣4 Γ4 ❣5 Γ5 ❣6 Γ6 ❣7 Γ7 ❣8 Γ8 −div(Ae(✉i)) = 0 in Ω Ae(✉i)♥ = 0
Ae(✉i)♥ = ❣i
Ae(✉i)♥ = 0
✉i = 0
Volume minimization subject to multiple load rigidity constraints min
Ω
dx s.t.
Ae(✉i) : e(✉i)dx ≤ C, ∀i = 1 . . . 9
(a) One load (only ❣4 is considered). (b) Three loads (only ❣0, ❣4, ❣8 are considered). (c) All nine loads.
50 100 150 200 250 300 0.45 0.50 0.55 0.60 0.65 0.70
(a) J(Ω) = Vol(Ω).
50 100 150 200 250 300 0.22 0.24 0.26 0.28 C4
(b) Constraints Ci.
Figure: Single load case.
50 100 150 200 250 300 0.45 0.50 0.55 0.60 0.65 0.70
(a) J(Ω) = Vol(Ω).
50 100 150 200 250 300 0.125 0.150 0.175 0.200 0.225 0.250 0.275 0.300 C0 C4 C8
(b) Constraints Ci.
Figure: Three load case.
50 100 150 200 250 300 0.50 0.55 0.60 0.65 0.70
(a) J(Ω) = Vol(Ω).
50 100 150 200 250 300 0.10 0.15 0.20 0.25 0.30 C0 C1 C2 C3 C4 C5 C6 C7 C8
(b) Constraints Ci.
Figure: Nine load case.
Test cases and perspectives
Thermal heat minimization:
max
Ωf ⊂D
Tdx s.t.
dx = V0
Figure: Thermal conduction.
Test cases and perspectives
Thermal heat minimization:
max
Ωf ⊂D
Tdx s.t.
dx = V0
Figure: Thermal conduction.
Test cases and perspectives
Lift maximization subject to maximum drag constraint:
max
Ωf ⊂D
❡y · σf (✈, p) · ♥ds s.t.
2νe(✈) : e(✈)dx ≤ C0
dx = V0
xdx = x0
Figure: Lift maximization (Navier Stokes flow).
Test cases and perspectives
Lift maximization subject to maximum drag constraint:
max
Ωf ⊂D
❡y · σf (✈, p) · ♥ds s.t.
2νe(✈) : e(✈)dx ≤ C0
dx = V0
xdx = x0
Figure: Lift maximization (Navier Stokes flow).
Test cases and perspectives
Lift maximization subject to maximum drag constraint:
max
Ωf ⊂D
❡y · σf (✈, p) · ♥ds s.t.
2νe(✈) : e(✈)dx ≤ C0
dx = V0
xdx = x0
Figure: Lift maximization (Navier Stokes flow).
Test cases and perspectives
Lift maximization subject to maximum drag constraint:
max
Ωf ⊂D
❡y · σf (✈, p) · ♥ds s.t.
2νe(✈) : e(✈)dx ≤ C0
dx = V0
xdx = x0
Figure: Lift maximization (Navier Stokes flow).
Test cases and perspectives
Heat exchange subject to maximal pressure drop (with Dirichlet boundary condition on Γ): max
Ωf ⊂D
ρcp✈ · ∇Tdx s.t.
pds −
pds ≤ DP0, T = T0 on Γ
Figure: Single pipe heat exchanger.
Test cases and perspectives
Heat exchange subject to maximal pressure drop (with Dirichlet boundary condition on Γ): max
Ωf ⊂D
ρcp✈ · ∇Tdx s.t.
pds −
pds ≤ DP0, T = T0 on Γ
Figure: Single pipe heat exchanger.
Test cases and perspectives. . . in 3D
Figure: 3D shape optimization in heat conduction
Test cases and perspectives. . . in 3D
Figure: 3D shape optimization in heat conduction
Test cases and perspectives. . . in 3D
Figure: 3D lift maximization for a Navier Stokes flow
Test cases and perspectives. . . in 3D
Figure: 3D lift maximization for a Navier Stokes flow
Feppon, F., Allaire, G., Bordeu, F., Cortial, J., and Dapogny, C. Shape optimization of a coupled thermal fluid-structure problem in a level set mesh evolution framework. SeMA Journal (2019). Feppon, F., Allaire, G., and Dapogny, C. Null space gradient flows for constrained optimization with applications to shape optimization. HAL preprint hal-01972915 (2019). Feppon, F., Allaire, G., and Dapogny, C. A variational formulation for computing shape derivatives of geometric constraints along rays. HAL preprint hal-01879571 (2019).
◮ For a vector space X = V , a sequence of updates will be of the form xn+1 = xn − ∆tξn where −ξn is the current descent direction. ◮ For a manifold, this becomes xn+1 = ρxn(−∆tξn) xn+1 xn ∆tξn TxnM M ρxn
Warning: ∇J(x) and the transpose T must be computed with respect to the scalar product a of the Hilbert space V or Txn. In practice this means solving ∀ξ ∈ V , a(∇J(x), ξ) = DJ(x)ξ ∀ξ ∈ V , a(∇gi(x), ξ) = Dgi(x)ξ ∀ξ ∈ V , a(∇hi(x), ξ) = Dhi(x)ξ Then D❣ T (x) =
· · · ∇gp(x) T D❤T (x) =
· · · ∇hq(x) T
What is truely required by the user:
❣ ❤
What is truely required by the user:
echet derivatives DJ(x), D❣(x), D❤(x) given as linear
What is truely required by the user:
echet derivatives DJ(x), D❣(x), D❤(x) given as linear
What is truely required by the user:
echet derivatives DJ(x), D❣(x), D❤(x) given as linear
What is truely required by the user:
echet derivatives DJ(x), D❣(x), D❤(x) given as linear
i.e. the speed at which violated constraints become satisfied.