Results 1 - 10
of
40
Recipes for Adjoint Code Construction
"... this paper, is the Adjoint Model Compiler (AMC). ..."
Abstract
-
Cited by 108 (16 self)
- Add to MetaCart
this paper, is the Adjoint Model Compiler (AMC).
Optimization by direct search: New perspectives on some classical and modern methods
- SIAM Review
, 2003
"... Abstract. Direct search methods are best known as unconstrained optimization techniques that do not explicitly use derivatives. Direct search methods were formally proposed and widely applied in the 1960s but fell out of favor with the mathematical optimization community by the early 1970s because t ..."
Abstract
-
Cited by 72 (14 self)
- Add to MetaCart
Abstract. Direct search methods are best known as unconstrained optimization techniques that do not explicitly use derivatives. Direct search methods were formally proposed and widely applied in the 1960s but fell out of favor with the mathematical optimization community by the early 1970s because they lacked coherent mathematical analysis. Nonetheless, users remained loyal to these methods, most of which were easy to program, some of which were reliable. In the past fifteen years, these methods have seen a revival due, in part, to the appearance of mathematical analysis, as well as to interest in parallel and distributed computing. This review begins by briefly summarizing the history of direct search methods and considering the special properties of problems for which they are well suited. Our focus then turns to a broad class of methods for which we provide a unifying framework that lends itself to a variety of convergence results. The underlying principles allow generalization to handle bound constraints and linear constraints. We also discuss extensions to problems with nonlinear constraints.
Computing Gradients in Large-Scale Optimization Using Automatic Differentiation
- PREPRINT MCS-P488-0195, MATHEMATICS AND COMPUTER SCIENCE DIVISION, ARGONNE NATIONAL LABORATORY
, 1995
"... The accurate and efficient computation of gradients for partially separable functions is central to the solution of large-scale optimization problems, since these functions are ubiquitous in large-scale problems. We describe two approaches for computing gradients of partially separable functions via ..."
Abstract
-
Cited by 24 (9 self)
- Add to MetaCart
The accurate and efficient computation of gradients for partially separable functions is central to the solution of large-scale optimization problems, since these functions are ubiquitous in large-scale problems. We describe two approaches for computing gradients of partially separable functions via automatic differentiation. In our experiments we employ the ADIFOR (Automatic Differentiation of Fortran) tool and the SparsLinC (Sparse Linear Combination) library. We use applications from the MINPACK-2 test problem collection to compare the numerical reliability and computational efficiency of these approaches with hand-coded derivatives and approximations based on differences of function values. Our conclusion is that automatic differentiation is the method of choice, providing code for the efficient computation of the gradient without the need for tedious hand-coding.
To be recorded” analysis in reverse-mode automatic differentiation
- Future Generation Computer Systems
"... The automatic generation of adjoints of mathematical models that are implemented as computer programs is receiving increased attention in the scientific and engineering communities. Reverse-mode automatic differentiation is of particular interest for large-scale optimization problems. It allows the ..."
Abstract
-
Cited by 19 (6 self)
- Add to MetaCart
The automatic generation of adjoints of mathematical models that are implemented as computer programs is receiving increased attention in the scientific and engineering communities. Reverse-mode automatic differentiation is of particular interest for large-scale optimization problems. It allows the computation of gradients at a small constant multiple of the cost for evaluating the objective function itself, independent of the number of input parameters. Source-to-source transformation tools apply simple differentiation rules to generate adjoint codes based on the adjoint version of every statement. In order to guarantee correctness, certain values that are computed and overwritten in the original program must be made available in the adjoint program. For their determination we introduce a static dataflow analysis called “to be recorded ” analysis. Possible overestimation of this set must be kept minimal to get efficient adjoint codes. This efficiency is essential for the applicability of source-to-source transformation tools to real-world applications. 1 Automatically Generated Adjoints We consider a computer program P evaluating a vector function y = F (x), where F: IR n → IR m. Usually, P implements the mathematical model of some underlying real-world application and it is referred to as the original code. The goal of automatic differentiation (AD) [3,7,15] by source transformation is to build automatically a new source program P ′ evaluating some derivatives of F. This is arrow AD in Figure 1. We consider a simplified mathematical model, symbolized by arrow R in Figure 1: Every particular run of P on a particular set of inputs is equivalent to a simple sequence of p scalar assignments vj = ϕj(vk)k≺j, j = 1,..., q, (1)
More AD of Nonlinear AMPL Models: Computing Hessian Information and Exploiting Partial Separability
- in Computational Differentiation: Applications, Techniques, and
, 1996
"... We describe computational experience with automatic differentiation of mathematical programming problems expressed in the modeling language AMPL. Nonlinear expressions are translated to loop-free code, which makes it easy to compute gradients and Jacobians by backward automatic differentiation. ..."
Abstract
-
Cited by 15 (10 self)
- Add to MetaCart
We describe computational experience with automatic differentiation of mathematical programming problems expressed in the modeling language AMPL. Nonlinear expressions are translated to loop-free code, which makes it easy to compute gradients and Jacobians by backward automatic differentiation. The nonlinear expressions may be interpreted or, to gain some evaluation speed at the cost of increased preparation time, converted to Fortran or C. We have extended the interpretive scheme to evaluate Hessian (of Lagrangian) times vector. Detecting partially separable structure (sums of terms, each depending, perhaps after a linear transformation, on only a few variables) is of independent interest, as some solvers exploit this structure. It can be detected automatically by suitable "tree walks". Exploiting this structure permits an AD computation of the entire Hessian matrix by accumulating Hessian times vector computations for each term, and can lead to a much faster computation...
Efficient Derivative Codes Through Automatic Differentiation And Interface Contraction: An Application In Biostatistics
, 1997
"... . Developing code for computing the first- and higher-order derivatives of a function by hand can be very time-consuming and is prone to errors. Automatic differentiation has proven capable of producing derivative codes with very little effort on the part of the user. Automatic differentiation avoid ..."
Abstract
-
Cited by 15 (9 self)
- Add to MetaCart
. Developing code for computing the first- and higher-order derivatives of a function by hand can be very time-consuming and is prone to errors. Automatic differentiation has proven capable of producing derivative codes with very little effort on the part of the user. Automatic differentiation avoids the truncation errors characteristic of divided difference approximations. However, the derivative code produced by automatic differentiation can be significantly less efficient than one produced by hand. This shortcoming may be overcome by utilizing insight into the high-level structure of a computation. This paper focuses on how to take advantage of the fact that the number of variables passed between subroutines frequently is small compared with the number of variables with respect to which one wishes to differentiate. Such an "interface contraction," coupled with the associativity of the chain rule for differentiation, allows one to apply automatic differentiation in a more judicious f...
Toward differentiation-enabled Fortran 95 compiler technology
- In Proceedings of the 2003 ACM Symposium on Applied Computing
, 2003
"... The availability of first derivatives of vector functions is crucial for the robustness and efficiency of a large number of numerical algorithms. An upcoming new version of the differentiation-enabled NAGWare Fortran 95 compiler is described that uses programming language extensions and a semantic c ..."
Abstract
-
Cited by 14 (10 self)
- Add to MetaCart
The availability of first derivatives of vector functions is crucial for the robustness and efficiency of a large number of numerical algorithms. An upcoming new version of the differentiation-enabled NAGWare Fortran 95 compiler is described that uses programming language extensions and a semantic code transformation known as automatic differentiation to provide Jacobians of numerical programs with machine accuracy. We describe a new user interface as well as the relevant algorithmic details. In particular, we focus on the source transformation approach that generates locally optimal gradient code for single assignments by vertex elimination in the linearized computational graph. Extensive tests show the superiority of this method over the current overloading-based approach. The robustness and convenience of the new compiler-feature is illustrated by various case studies.
Impact Of Partial Separability On Large-Scale Optimization
- COMP. OPTIM. APPL
, 1997
"... ELSO is an environment for the solution of large-scale optimization problems. With ELSO the user is required to provide only code for the evaluation of a partially separable function. ELSO exploits the partial separability structure of the function to compute the gradient efficiently using automati ..."
Abstract
-
Cited by 11 (4 self)
- Add to MetaCart
ELSO is an environment for the solution of large-scale optimization problems. With ELSO the user is required to provide only code for the evaluation of a partially separable function. ELSO exploits the partial separability structure of the function to compute the gradient efficiently using automatic differentiation. We demonstrate ELSO's efficiency by comparing the various options available in ELSO. Our conclusion is that the hybrid option in ELSO provides performance comparable to the hand-coded option, while having the significant advantage of not requiring a hand-coded gradient or the sparsity pattern of the partially separable function. In our test problems, which have carefully coded gradients, the computing time for the hybrid AD option is within a factor of two of the hand-coded option.
Inversion Based On Computational Simulations
, 1998
"... A standard approach to solving inversion problems that involve many parameters uses gradient-based optimization to find the parameters that best match the data. We will discuss enabling techniques that facilitate application of this approach to large-scale computational simulations, which are the on ..."
Abstract
-
Cited by 11 (10 self)
- Add to MetaCart
A standard approach to solving inversion problems that involve many parameters uses gradient-based optimization to find the parameters that best match the data. We will discuss enabling techniques that facilitate application of this approach to large-scale computational simulations, which are the only way to investigate many complex physical phenomena. Such simulations may not seem to lend themselves to calculation of the gradient with respect to numerous parameters. However, adjoint differentiation allows one to efficiently compute the gradient of an objective function with respect to all the variables of a simulation. When combined with advanced gradient-based optimization algorithms, adjoint differentiation permits one to solve very large problems of optimization or parameter estimation. These techniques will be illustrated through the simulation of the time-dependent diffusion of infrared light through tissue, which has been used to perform optical tomography. The techniques discussed have a wide range of applicability to modeling including the optimization of models to achieve a desired design goal.
Sensitivity Analysis For Atmospheric Chemistry Models Via Automatic Differentiation
- Environ
, 1997
"... . Automatic differentiation techniques are used in the sensitivity analysis of a comprehensive atmospheric chemical mechanism. Specifically, ADIFOR software is used to calculate the sensitivity of ozone with respect to all initial concentrations (of 84 species) and all reaction rate constants (178 c ..."
Abstract
-
Cited by 10 (4 self)
- Add to MetaCart
. Automatic differentiation techniques are used in the sensitivity analysis of a comprehensive atmospheric chemical mechanism. Specifically, ADIFOR software is used to calculate the sensitivity of ozone with respect to all initial concentrations (of 84 species) and all reaction rate constants (178 chemical reactions) for six different chemical regions. Numerical aspects of the application of ADIFOR are also presented. Automatic differentiation is shown to be a powerful tool for sensitivity analysis. Key words. Atmospheric chemistry, Automatic Differentiation. 1. Introduction. Comprehensive sensitivity analysis of air pollution models remains the exception rather than the rule. Most sensitivity analysis applied to air pollution modeling studies has focused on the calculation of the local sensitivities (first order derivatives of output variables with respect to model parameters) in box model studies of gas phase chemistry (see [Cho86]). The most common form of sensitivity studies with ...

