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

Abstract

top
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.

How to cite

top

Andreas 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. [1] M.B. Bell, CppAD: A package for C++ Algorithmic Differentiation, COIN-OR foundation, Available at http://www.coin-or.org/CppAD 
  2. [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. [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. [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. [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. [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. [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. [8] L. Hascoët and V. Pascual, Tapenade 2.1 user's guide. Tech. rep. 300, INRIA, 2004. 
  9. [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. [10] M. Knauer and C. Büskens, Real-Time Trajectory Planning of the Industrial Robot IRB6400, PAMM. 3 (2003), 515-516. 

NotesEmbed ?

top

You must be logged in to post comments.

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

Only the controls for the widget will be shown in your chosen language. Notes will be shown in their authored language.

Tells the widget how many notes to show per page. You can cycle through additional notes using the next and previous controls.

    
                

Note: Best practice suggests putting the JavaScript code just before the closing </body> tag.