zbMATH — the first resource for mathematics

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

65D25 Numerical differentiation
68W30 Symbolic computation and algebraic computation
65K05 Numerical mathematical programming methods
90C30 Nonlinear programming
Full Text: DOI