A MODULAR APPROACH TO SIMULATION WITH AUTOMATIC SENSITIVITY CALCULATION

Description

When using simulation codes, one often has the task of minimizing a scalar objective function with respect to numerous parameters. This situation occurs when trying to fit (assimilate) data or trying to optimize an engineering design. For simulations in which the objective function to be minimized is reasonably well behaved, that is, is differentiable and does not contain too many multiple minima, gradient-based optimization methods can reduce the number of function evaluations required to determine the minimizing parameters. However, gradient-based methods are only advantageous if one can efficiently evaluate the gradients of the objective function. Adjoint differentiation efficiently provides these ...
continued below

Publisher

Provided By

UNT Libraries Government Documents Department

Serving as both a federal and a state depository library, the UNT Libraries Government Documents Department maintains millions of items in a variety of formats. The department is a member of the FDLP Content Partnerships Program and an Affiliated Archive of the National Archives.

Contact Us

What

Descriptive information to help identify this article.
Follow the links below to find similar items on the Digital Library.

Description

When using simulation codes, one often has the task of minimizing a scalar objective function with respect to numerous parameters. This situation occurs when trying to fit (assimilate) data or trying to optimize an engineering design. For simulations in which the objective function to be minimized is reasonably well behaved, that is, is differentiable and does not contain too many multiple minima, gradient-based optimization methods can reduce the number of function evaluations required to determine the minimizing parameters. However, gradient-based methods are only advantageous if one can efficiently evaluate the gradients of the objective function. Adjoint differentiation efficiently provides these sensitivities. One way to obtain code for calculating adjoint sensitivities is to use special compilers to process the simulation code. However, this approach is not always so ''automatic''. We will describe a modular approach to constructing simulation codes, which permits adjoint differentiation to be incorporated with relative ease.