A C++ class supporting adjoint-state methods
Date
Authors
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 conserve memory. This thesis introduces a C++ state-access class, StateHistory , to support a myriad of solutions to this problem. Derived StateHistory classes implement 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 optimal checkpointing scheme. While only storing a small fraction of simulation states, GriewankStateHistory objects can reconstitute unsaved states for a small computational cost. These ideas were implemented in the context of TSOpt, a time-stepping library for simulation-driven optimization algorithms.
Description
Advisor
Degree
Type
Keywords
Citation
Enriquez, Marco U.. "A C++ class supporting adjoint-state methods." (2008) Master’s Thesis, Rice University. https://hdl.handle.net/1911/103546.