Null Space Gradient Flows for Constrained Optimization with Applications to Shape Optimization Florian Feppon Gr´ egoire Allaire, Charles Dapogny Julien Cortial, Felipe Bordeu SIAM CSE – Spokane – February 26, 2019
Shape optimization Multiphysics, non parametric, shape and topology optimization, in 2D. . .
Shape optimization And in 3D. . .
Shape optimization And in 3D. . . . . . Nonlinear, non convex, infinite dimensional optimization problems featuring multiple and arbitrary constraints!
Outline 1. Gradient flows for equality and inequality constrained optimizations 2. Demonstration on topology optimization test cases
1. Constrained optimization min J ( x ) x ∈X � ❣ ( x ) = 0 s.t. ❤ ( x ) ≤ 0 , with J : X → R , ❣ : X → R p and ❤ : X → R q Fr´ echet differentiable. The set X can be ◮ a finite dimensional vector space, X = R n
1. Constrained optimization min J ( x ) x ∈X � ❣ ( x ) = 0 s.t. ❤ ( x ) ≤ 0 , with J : X → R , ❣ : X → R p and ❤ : X → R q Fr´ echet differentiable. The set X can be ◮ a finite dimensional vector space, X = R n ◮ a Hilbert space equipped with a scalar product a ( · , · ), X = V
1. Constrained optimization min J ( x ) x ∈X � ❣ ( x ) = 0 s.t. ❤ ( x ) ≤ 0 , with J : X → R , ❣ : X → R p and ❤ : X → R q Fr´ echet differentiable. The set X can be ◮ a finite dimensional vector space, X = R n ◮ a Hilbert space equipped with a scalar product a ( · , · ), X = V ◮ a “manifold”, as in topology optimization: X = { Ω ⊂ D | Ω Lipschitz }
1. A generic optimization algorithm From a current guess x n , how to select the descent direction ξ n given objective J and constraints ❣ , ❤ ?
1. A generic optimization algorithm From a current guess x n , 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
1. A generic optimization algorithm From a current guess x n , 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.
1. A generic optimization algorithm From a current guess x n , 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.
❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ 1. A generic optimization algorithm Dynamical systems approaches:
❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ 1. A generic optimization algorithm Dynamical systems approaches: ◮ For unconstrained optimization, the celebrated gradient flow: x = −∇ J ( x ) ˙ J ( x ( t )) decreases necessarily!
❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ 1. A generic optimization algorithm 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 ) − 1 D ❣ ) ∇ J ( x ) ˙ (gradient flow on X = { x ∈ V | ❣ ( x ) = 0 } )
❣ ❣ ❣ 1. A generic optimization algorithm 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 ) − 1 D ❣ ) ∇ 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 ) − 1 D ❣ ) ∇ J ( x ) ˙ − α C D ❣ T ( D ❣ D ❣ T ) − 1 ❣ ( x )
1. A generic optimization algorithm 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 ) − 1 D ❣ ) ∇ 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 ) − 1 D ❣ ) ∇ J ( x ) ˙ − α C D ❣ 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.
❈ ❈ ❈ ❈ 1. A generic optimization algorithm For both equality constraints ❣ ( x ) = 0 and inequality constraints ❤ ( x ) ≤ 0, consider � I ( x ) the set of violated constraints: � I ( x ) = { i ∈ { 1 , . . . , q } | h i ( x ) � 0 } . � � T ❈ � I ( x ) = ❣ ( x ) | ( h i ( x )) i ∈ � I ( x )
1. A generic optimization algorithm For both equality constraints ❣ ( x ) = 0 and inequality constraints ❤ ( x ) ≤ 0, consider � I ( x ) the set of violated constraints: � I ( x ) = { i ∈ { 1 , . . . , q } | h i ( x ) � 0 } . � � T ❈ � I ( x ) = ❣ ( x ) | ( h i ( x )) i ∈ � I ( x ) We propose x = − α J ξ J ( x ( t )) − α C ξ C ( x ( t )) ˙ with � the “best” descent direction − ξ J ( x ) := with respect to the constraints � I ( x ) � the Gauss-Newton direction − ξ C ( x ) := − D ❈ T I ( x ) D ❈ T I ( x ) ) − 1 ❈ � I ( x ) ( D ❈ � I ( x ) ( x ) � �
1. A generic optimization algorithm J ( x 1 , x 2 ) = x 2 1 + ( x 2 + 3) 2 min ( x 1 , x 2 ) ∈ R 2 � h 1 ( x 1 , x 2 ) = − x 2 1 + x 2 ≤ 0 s.t. h 2 ( x 1 , x 2 ) = − x 1 − x 2 − 2 ≤ 0
1. A generic optimization algorithm We propose: x = − α J ξ J ( x ( t )) − α C ξ C ( x ( t )) ˙ with I ( x ) ) − 1 D ❈ � ξ J ( x ) := ( I − D ❈ T I ( x ) D ❈ T I ( x ) ( D ❈ � I ( x ) )( ∇ J ( x )) � � I ( x ) ) − 1 ❈ � ξ C ( x ) := D ❈ T I ( x ) D ❈ T I ( x ) ( D ❈ � I ( x ) ( x ) . � �
1. A generic optimization algorithm We propose: x = − α J ξ J ( x ( t )) − α C ξ C ( x ( t )) ˙ with I ( x ) ) − 1 D ❈ � ξ J ( x ) := ( I − D ❈ T I ( x ) D ❈ T I ( x ) ( D ❈ � I ( x ) )( ∇ J ( x )) � � I ( x ) ) − 1 ❈ � ξ C ( x ) := D ❈ T I ( x ) D ❈ T I ( x ) ( D ❈ � I ( x ) ( x ) . � � � I ( x ) ⊂ � I ( x ) is a subset of the active or violated constraints which can be computed by mean of a dual subproblem.
1. A generic optimization algorithm The best descent direction − ξ J ( x ) must be proportional to ξ ∗ = arg min D J ( x ) ξ ξ ∈ V D ❣ ( x ) ξ = 0 I ( x ) ( x ) ξ ≤ 0 D ❤ � s.t. || ξ || V ≤ 1 . where ❤ � I ( x ) ( x ) = ( h i ( x )) i ∈ � I ( x )
1. A generic optimization algorithm Proposition Let ( λ ∗ ( x ) , µ ∗ ( x )) ∈ R p × R Card � I ( x ) the solutions of the following dual minimization problem: ||∇ J ( x )+ D ❣ ( x ) T λ + D ❤ � I ( x ) ( x ) T µ || V . ( λ ∗ ( x ) , µ ∗ ( x )) := arg min λ ∈ R p µ ∈ R � q ( x ) , µ � 0 Then, unless x is a KKT point, the best descent direction ξ ∗ ( x ) is given by ∇ J ( x ) + D ❣ ( x ) T λ ∗ ( x ) + D ❤ � I ( x ) ( x ) T µ ∗ ( x ) ξ ∗ ( x ) = − . ||∇ J ( x ) + D ❣ ( x ) T λ ∗ ( x ) + D ❤ � I ( x ) ( x ) T µ ∗ ( x ) || V
1. A generic optimization algorithm Proposition Let � I ( x ) the set obtained by collecting the non zero components of µ ∗ ( x ) : � I ( x ) := { i ∈ � I | µ ∗ i ( x ) > 0 } . Then ξ ∗ ( x ) is explicitly given by: Π ❈ � I ( x ) ( ∇ J ( x )) ξ ∗ ( x ) = − , || Π ❈ � I ( x ) ( ∇ J ( x )) || V with I ( x ) ) − 1 D ❈ � I ( x ) ( ∇ J ( x )) = ( I − D ❈ T I ( x ) D ❈ T Π ❈ � I ( x ) ( D ❈ � I ( x ) )( ∇ J ( x )) � �
1. A generic optimization algorithm We can prove: 1. Constraints are asymptotically satisfied: ❣ ( x ( t )) = e − α C t ❣ ( x (0)) and ❤ � I ( x ( t )) ≤ e − α C t ❤ ( x (0)) 2. J decreases as soon as the violation ❈ � I ( x ( t )) is sufficiently small 3. All stationary points x ∗ of the ODE are KKT points
❣ ❤ 2. Applications to shape optimization What is truely required by the user: 1. Specification of objective and constraints J , ❣ , ❤
2. Applications to shape optimization What is truely required by the user: 1. Specification of objective and constraints J , ❣ , ❤ 2. Fr´ echet derivatives D J ( x ), D ❣ ( x ), D ❤ ( x ) given as linear operators
2. Applications to shape optimization What is truely required by the user: 1. Specification of objective and constraints J , ❣ , ❤ 2. Fr´ echet derivatives D J ( x ), D ❣ ( x ), D ❤ ( x ) given as linear operators 3. Scalar product a for identifying these derivatives
Recommend
More recommend