Adaptive simulation, the adjoint state method, and optimization
Adaptive grids in inverse and control problems can lead to computed objective functions that are nonsmooth, even though the underlying problem is well-behaved. This leads to the question of how to compute the linearization of the scheme—how should a nonsmooth function be differentiated? The C++ class afdtd uses automatic differentiation techniques to implement an abstract marching scheme in an object-oriented fashion, making it possible to use the resulting simulator to solve inverse or control problems. The class takes a complete specification of a single step of the scheme, and assembles from it a complete simulator, along with the linearized and adjoint simulations. The result is a (nonlinear) operator in the sense of the Hilbert Class Library, a C++ package for optimization. Moreover, afdtd supports locally “frozen” grids, allowing the implementation of an operator that is piecewise smooth in spite of the use of adaptivity.
Large-Scale PDE-Constrained Optimization
Symes, W. W.
Adaptive simulation, the adjoint state method, and optimization.
Large-Scale PDE-Constrained Optimization, 281-297.
Retrieved from: https://digitalcommons.mtu.edu/math-fp/31