CasADi: a symbolic package for automatic differentiation and optimal control.

*(English)*Zbl 1251.65020
Forth, Shaun (ed.) et al., Recent advances in algorithmic differentiation. Selected papers based on the presentations at the 6th international conference on automatic differentiation (AD2012), Fort Collins, CO, USA, July 23–27, 2012. Berlin: Springer (ISBN 978-3-642-30022-6/hbk; 978-3-642-30023-3/ebook). Lecture Notes in Computational Science and Engineering 87, 297-307 (2012).

Summary: We present CasADi, a free, open-source software tool for fast, yet efficient solution of nonlinear optimization problems in general and dynamic optimization problems in particular. To the developer of algorithms for numerical optimization and to the advanced user of such algorithms, it offers a level of abstraction which is notably lower, and hence more flexible, than that of algebraic modeling languages such as AMPL or GAMS, but higher than working with a conventional automatic differentiation (AD) tool.

CasADi is best described as a minimalistic computer algebra system (CAS) implementing automatic differentiation in eight different flavors. Similar to algebraic modeling languages, it includes high-level interfaces to state-of-the-art numerical codes for nonlinear programming, quadratic programming and integration of differential-algebraic equations. CasADi is implemented in self-contained C++ code and contains full-featured front-ends to Python and Octave for rapid prototyping. In this paper, we present the AD framework of CasADi and benchmark the tool against AMPL for a set of nonlinear programming problems from the CUTEr test suite.

For the entire collection see [Zbl 1247.65002].

CasADi is best described as a minimalistic computer algebra system (CAS) implementing automatic differentiation in eight different flavors. Similar to algebraic modeling languages, it includes high-level interfaces to state-of-the-art numerical codes for nonlinear programming, quadratic programming and integration of differential-algebraic equations. CasADi is implemented in self-contained C++ code and contains full-featured front-ends to Python and Octave for rapid prototyping. In this paper, we present the AD framework of CasADi and benchmark the tool against AMPL for a set of nonlinear programming problems from the CUTEr test suite.

For the entire collection see [Zbl 1247.65002].

##### MSC:

65D25 | Numerical differentiation |

68W30 | Symbolic computation and algebraic computation |

65K05 | Numerical mathematical programming methods |

90C30 | Nonlinear programming |