# Efficient calculation of sensitivities for optimization problems

Andreas Kowarz; Andrea Walther

Discussiones Mathematicae, Differential Inclusions, Control and Optimization (2007)

- Volume: 27, Issue: 1, page 119-134
- ISSN: 1509-9407

## Access Full Article

top## Abstract

top## How to cite

topAndreas Kowarz, and Andrea Walther. "Efficient calculation of sensitivities for optimization problems." Discussiones Mathematicae, Differential Inclusions, Control and Optimization 27.1 (2007): 119-134. <http://eudml.org/doc/271196>.

@article{AndreasKowarz2007,

abstract = {
Sensitivity information is required by numerous applications such as, for example, optimization algorithms, parameter estimations or real time control. Sensitivities can be computed with working accuracy using the forward mode of automatic differentiation (AD).
ADOL-C is an AD-tool for programs written in C or C++. Originally, when applying ADOL-C, tapes for values, operations and locations are written during the function evaluation to generate an internal function representation. Subsequently, these tapes are evaluated to compute the derivatives, sparsity patterns etc., using the forward or reverse mode of AD. The generation of the tapes can be completely avoided by applying the recently implemented tapeless variant of the forward mode for scalar and vector calculations. The tapeless forward mode enables the joint computation of function and derivative values directly from main memory within one sweep. Compared to the original approach shorter runtimes are achieved due to the avoidance of tape handling and a more effective, joint optimization for function and derivative code.
Advantages and disadvantages of the tapeless forward mode provided by ADOL-C will be discussed. Furthermore, runtime comparisons for two implemented variants of the tapeless forward mode are presented. The results are based on two numerical examples that require the computation of sensitivity information.
},

author = {Andreas Kowarz, Andrea Walther},

journal = {Discussiones Mathematicae, Differential Inclusions, Control and Optimization},

keywords = {automatic differentiation; sensitivities; forward mode},

language = {eng},

number = {1},

pages = {119-134},

title = {Efficient calculation of sensitivities for optimization problems},

url = {http://eudml.org/doc/271196},

volume = {27},

year = {2007},

}

TY - JOUR

AU - Andreas Kowarz

AU - Andrea Walther

TI - Efficient calculation of sensitivities for optimization problems

JO - Discussiones Mathematicae, Differential Inclusions, Control and Optimization

PY - 2007

VL - 27

IS - 1

SP - 119

EP - 134

AB -
Sensitivity information is required by numerous applications such as, for example, optimization algorithms, parameter estimations or real time control. Sensitivities can be computed with working accuracy using the forward mode of automatic differentiation (AD).
ADOL-C is an AD-tool for programs written in C or C++. Originally, when applying ADOL-C, tapes for values, operations and locations are written during the function evaluation to generate an internal function representation. Subsequently, these tapes are evaluated to compute the derivatives, sparsity patterns etc., using the forward or reverse mode of AD. The generation of the tapes can be completely avoided by applying the recently implemented tapeless variant of the forward mode for scalar and vector calculations. The tapeless forward mode enables the joint computation of function and derivative values directly from main memory within one sweep. Compared to the original approach shorter runtimes are achieved due to the avoidance of tape handling and a more effective, joint optimization for function and derivative code.
Advantages and disadvantages of the tapeless forward mode provided by ADOL-C will be discussed. Furthermore, runtime comparisons for two implemented variants of the tapeless forward mode are presented. The results are based on two numerical examples that require the computation of sensitivity information.

LA - eng

KW - automatic differentiation; sensitivities; forward mode

UR - http://eudml.org/doc/271196

ER -

## References

top- [1] M.B. Bell, CppAD: A package for C++ Algorithmic Differentiation, COIN-OR foundation, Available at http://www.coin-or.org/CppAD
- [2] C. Bendtsen and O. Stauning, FADBAD, a flexible C++ package for automatic differentiation, Department of Mathematical Modelling, Technical University of Denmark, 1996, Available at http://www.imm.dtu.dk/fadbad.html
- [3] J. Dongarra, S. Moore, P. Mucci, K. Seymour, D. Terpstra, Q. Xia and H. You, Performance Application Programming Interface, Innovative Computing Laboratory, Department of Computer Science, University of Tennessee, Available at http://icl.cs.utk.edu/papi
- [4] R. Giering and T. Kaminski, Recipes for Adjoint Code Construction, ACM Trans. Math. Software 24 (1998), 437-474. URL: http://www.fastopt.com Zbl0934.65027
- [5] A. Griewank, A. Kowarz and A. Walther, Documentation of ADOL-C, Available at http://www.math.tu-dresden.de/~adol-c, Updated Version of: A. Griewank, D. Juedes, J. Utke J, ADOL-C: A package for the automatic differentiation of algorithms written in C/C++. ACM Trans. Math. Software 22 (1996), 131-167. Zbl0884.65015
- [6] A. Griewank A, Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, Number 19 in Frontiers in Appl. Math. SIAM, Philadelphia, 2000. Zbl0958.65028
- [7] R. Griesse and A. Walther, Parametric sensitivities for optimal control problems using automatic differentiation, Optimal Control Applications and Methods 24 (2003), 297-314. Zbl1073.93518
- [8] L. Hascoët and V. Pascual, Tapenade 2.1 user's guide. Tech. rep. 300, INRIA, 2004.
- [9] F. Mazzia F and F. Iavernaro, Test Set for Initial Value Problem Solvers, Entire test set description, Department of Mathematics, University of Bari, August 2003, Available at http://www.pitagora.dm.uniba.it/~testset
- [10] M. Knauer and C. Büskens, Real-Time Trajectory Planning of the Industrial Robot IRB6400, PAMM. 3 (2003), 515-516.

## NotesEmbed ?

topTo embed these notes on your page include the following JavaScript code on your page where you want the notes to appear.