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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend