A C++ Class Supporting Adjoint-State Methods

Date
2009-09
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract

The adjoint-state method is widely used for computing gradients in simulation- driven optimization problems. The adjoint-state evolution equation requires access to the entire history of the system states. There are instances, however, where the required state for the adjoint-state evolution is not readily accessible; consider large- scale problems, for example, where the entire simulation history is not saved to con- serve memory. This thesis introduces a C++ state-access class, StateHistory, to support a myriad of solutions to this problem. Derived StateHistory classes im- plement a (simulation) time-altering function and data-access functions, which can be used in tandem to access the entire state history. This thesis also presents a derived StateHistory class, GriewankStateHistory, which uses Griewank's opti- mal checkpointing scheme. While only storing a small fraction of simulation states, GriewankStateHistory objects can reconstitute unsaved states for a small computa- tional cost. These ideas were implemented in the context of TSOpt, a time-stepping library for simulation-driven optimization algorithms.

Description
This work was also published as a Rice University thesis/dissertation.
Advisor
Degree
Type
Technical report
Keywords
Citation

Enriquez, Marco. "A C++ Class Supporting Adjoint-State Methods." (2009) https://hdl.handle.net/1911/102133.

Has part(s)
Forms part of
Published Version
Rights
Link to license
Citable link to this page