systemizing the solution of simulation driven
play

Systemizing the Solution of Simulation-Driven Optimization Problems - PowerPoint PPT Presentation

Problem Computations Numerical Results Systemizing the Solution of Simulation-Driven Optimization Problems Marco Enriquez (joint work with William Symes) Center for Advanced Aviation Systems Development (CAASD) menriquez@mitre.org November


  1. Problem Computations Numerical Results Systemizing the Solution of Simulation-Driven Optimization Problems Marco Enriquez (joint work with William Symes) Center for Advanced Aviation Systems Development (CAASD) menriquez@mitre.org November 21, 2013 National Institute of Standards and Technology (NIST) M. Enriquez Systemizing the Solution of SDOs – 1

  2. Problem Computations Numerical Results Outline Definition and Problem Statement ◮ Simulation-Driven Optimization [SDO] Problems ◮ Solution of the SDO Problem ◮ The Adjoint State Method TSOpt (“Time Stepping for Optimization”) Framework ◮ Generic Approach to Solving SDO Problems ◮ TSOpt Components and Features ◮ Implementation variants of the Adjoint State Method Numerical Results ◮ Solving the “Optimal Well Rate Allocation Problem” with TSOpt Conclusion M. Enriquez Systemizing the Solution of SDOs – 2

  3. Problem Computations Numerical Results Definition A Simulation-Driven Optimization Problem: � T [ SD ] min f ( c ) = J ( u ( t ) , c ) dt c 0 where ( u ( t ) , c ) solves: d dtu ( t ) = H ( u ( t ) , c ) , t ∈ [0 , T ] H ≡ 0 for t < 0 Where H is a dynamic operator, and: c ∈ R n , u ∈ C 1 ([0 , T ] × R n , U ) , for a state Hilbert space U , J : C 1 ([0 , T ] × R n , U ) → R Hence f : R n → R M. Enriquez Systemizing the Solution of SDOs – 3

  4. Problem Computations Numerical Results Definition A Simulation-Driven Optimization Problem: � T [ SD ] min f ( c ) = J ( u ( t ) , c ) dt c 0 where ( u ( t ) , c ) solves: d dtu ( t ) = H ( u ( t ) , c ) , t ∈ [0 , T ] H ≡ 0 for t < 0 Where H is a dynamic operator, and: c ∈ R n , u ∈ C 1 ([0 , T ] × R n , U ) , for a state Hilbert space U , J : C 1 ([0 , T ] × R n , U ) → R Hence f : R n → R M. Enriquez Systemizing the Solution of SDOs – 4

  5. Problem Computations Numerical Results Motivating Examples: Optimal Well Rate Allocation Given a reservoir model, along with location of injection and production wells, find the optimal well rates to maximize revenue 1 Images courtesy of www.amerexco.com/recovery M. Enriquez Systemizing the Solution of SDOs – 5

  6. Problem Computations Numerical Results Motivating Examples: Optimal Trajectories Find the optimal aircraft trajectory that minimizes fuel and/or time cost, given path constraints 1 B. Sridhar et al., “Aircraft Trajectory Optimization and Contrails Avoidance in the Presence of Winds” M. Enriquez Systemizing the Solution of SDOs – 6

  7. Problem Computations Numerical Results Claim Despite the variety of problems we can pose, the (numerical) approach to solving [SD] requires similar steps, executed by the same components! Why not “abstract” these steps/interactions, and capture it in a framework? Benefits of “systemization”: ◮ Reduced code base ◮ Consistency checks ◮ Easily switch between computational strategies M. Enriquez Systemizing the Solution of SDOs – 7

  8. Problem Computations Numerical Results Solving the [SD] M. Enriquez Systemizing the Solution of SDOs – 8

  9. Problem Computations Numerical Results “Optimize-then-Discretize” (OtD) M. Enriquez Systemizing the Solution of SDOs – 9

  10. Problem Computations Numerical Results The Continuous Adjoint-State Method Applying the optimality conditions to [SD], for t ∈ [0 , T ] : Continuous State Equation: du dt = H ( u ( t ) , c ) u (0) ≡ 0 Continuous Adjoint Equation: dw dt = − D u H ( u ( t ) , c ) ∗ w ( t ) + J u ( u ( t ) , c ) w ( T ) ≡ 0 Gradient (w.r.t. L 2 inner product): ∇ f ( c )( t ) = D c H ( u ( t ) , c ) ∗ w ( t ) + J c ( u ( t ) , c ) M. Enriquez Systemizing the Solution of SDOs – 10

  11. Problem Computations Numerical Results “Discretize-then-Optimize” (DtO) M. Enriquez Systemizing the Solution of SDOs – 11

  12. Problem Computations Numerical Results The Discrete Optimal Control Problem Using a fixed time-stepping algorithm, the discretized analogue of [SD]: N � J [ u ( i ) , c ]∆ t [ DSD ] min c i =0 u ( n +1) = u ( n ) + ∆ t ¯ H ( n ) [ u ( n ) , c ] n = 0 , . . . , N s.t. u (0) ≡ 0 , H ( n ) is a (time-dependent) discrete dynamic operator. Note that where ¯ each u ( n ) ≃ u ( t n ) is called a (simulation/forward) state M. Enriquez Systemizing the Solution of SDOs – 12

  13. Problem Computations Numerical Results Adjoint-State Methods (ASM) Applying the optimality conditions to [DSD]: w ( n +1) + ∆ t ( D u ¯ H ( n ) [ u ( n ) , c ] ∗ w ( n +1) + J u [ u ( n ) , c ]) w ( n ) [ A ] = w ( N ) ≡ 0 The gradient can then be obtained through the following accumulation � H ( n ) [ u ( n ) , c ] ∗ w ( n ) + J c [ u ( n ) , c ] D c ¯ ∆ t n M. Enriquez Systemizing the Solution of SDOs – 13

  14. Problem Computations Numerical Results Visualizing the Adjoint-State Method Introduce the forward grid (the grid used by the forward evolution) and the adjoint grid (which will be used by the adjoint state method) Note that [A] is dependent on state vector. Further, note that the state vector must be accessed backwards M. Enriquez Systemizing the Solution of SDOs – 14

  15. Problem Computations Numerical Results Visualizing the Adjoint-State Method Once we complete the reference simulation, we can begin the adjoint simulation. Start with the adjoint state’s (given) final value: w ( N ) = 0 M. Enriquez Systemizing the Solution of SDOs – 15

  16. Problem Computations Numerical Results Visualizing the Adjoint-State Method Then start the backward evolution by using the last adjoint state and a corresponding forward state: w ( N ) + ∆ t ( D u ¯ H ( N − 1) [ u ( N − 1) , c ] ∗ w ( N ) + J u [ u ( N − 1) , c ]) w ( N − 1) = M. Enriquez Systemizing the Solution of SDOs – 16

  17. Problem Computations Numerical Results Visualizing the Adjoint-State Method Iterate through this process ... w ( N − 1) + ∆ t ( D u ¯ H ( N − 2) [ u ( N − 2) , c ] ∗ w ( N − 1) + J u [ u ( N − 2) , c ]) w ( N − 2) = M. Enriquez Systemizing the Solution of SDOs – 17

  18. Problem Computations Numerical Results Visualizing the Adjoint-State Method ... to eventually generate all the adjoint states w (1) + ∆ t ( D u ¯ H (0) [ u (0) , c ] ∗ w (1) + J u [ u (0) , c ]) w (0) = M. Enriquez Systemizing the Solution of SDOs – 18

  19. Problem Computations Numerical Results TSOpt (“Time Stepping For Optimization”) TSOpt is “middle-ware” written in C++ , designed to aid solution of simulation-driven optimization problems TSOpt : ◮ abstracts commonalities among time-stepping methods ◮ provides a way for a simulation package to inter-operate with optimization algorithms ◮ supports use of the adjoint-state method Motivating observation: for every simulation driven optimization problem, the solution process is (mostly) the same: ◮ reference, linearized and adjoint simulation execution order ◮ constructing needed data structures for optimization M. Enriquez Systemizing the Solution of SDOs – 19

  20. Problem Computations Numerical Results TSOpt (“Time Stepping For Optimization”) M. Enriquez Systemizing the Solution of SDOs – 19

  21. Problem Computations Numerical Results TSOpt (“Time Stepping For Optimization”) M. Enriquez Systemizing the Solution of SDOs – 19

  22. Problem Computations Numerical Results TSOpt (“Time Stepping For Optimization”) M. Enriquez Systemizing the Solution of SDOs – 19

  23. Problem Computations Numerical Results TSOpt (“Time Stepping For Optimization”) M. Enriquez Systemizing the Solution of SDOs – 19

  24. Problem Computations Numerical Results TSOpt (“Time Stepping For Optimization”) M. Enriquez Systemizing the Solution of SDOs – 19

  25. Problem Computations Numerical Results TSOpt ’s Components In TSOpt , we use Jet objects to perform various simulations. M. Enriquez Systemizing the Solution of SDOs – 20

  26. Problem Computations Numerical Results TSOpt ’s Components In TSOpt , we use Jet objects to perform various simulations. M. Enriquez Systemizing the Solution of SDOs – 20

  27. Problem Computations Numerical Results Inversion Software Construction TSOpt ’s modular structure minimizes the amount of code needed to perform an inversion User: ◮ provides TSOpt with a forward, linearized, and adjoint “step” ◮ provide a “State” class TSOpt : ◮ arranges proper execution forward, linearized and adjoint simulation ◮ implements the Adjoint-State method to form gradients Output can be passed to optimization software M. Enriquez Systemizing the Solution of SDOs – 21

  28. Problem Computations Numerical Results TSOpt and the Adjoint-State (AS) Method Recall the ASM requires access to the reference simulation state history. TSOpt implements the following to manage state storage: ◮ save all : save states as you forward simulate, access as needed ◮ Cost: A typical 3D RTM, O ( TB ) M. Enriquez Systemizing the Solution of SDOs – 22

  29. Problem Computations Numerical Results TSOpt and the Adjoint-State (AS) Method ◮ Griewank’s optimal checkpointing : rely on forward simulations, and use stored simulation states as a starting point for evolution ◮ Recomputation Ratio = Total Number of Forward Traversals /N ◮ Cost: O ( log ( N )) recomputation, given a special distribution of the states and a small amount of buffers M. Enriquez Systemizing the Solution of SDOs – 23

Recommend


More recommend