The browser you are using is not supported by this website. All versions of Internet Explorer are no longer supported, either by us or Microsoft (read more here: https://www.microsoft.com/en-us/microsoft-365/windows/end-of-ie-support).

Please use a modern browser to fully experience our website, such as the newest versions of Edge, Chrome, Firefox or Safari etc.

CasADi -- A symbolic package for automatic differentiation and optimal control

Author

  • Joel Andersson
  • Johan Åkesson
  • Moritz Diehl

Summary, in English

We present CasADi, a free, open-source software tool for rapid, yet efficient solution of 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 modelling 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 show how CasADi can be used for optimal control using either a collocation approach or a shooting approach.

Publishing year

2012

Language

English

Pages

297-307

Publication/Series

Recent Advances in Algorithmic Differentiation

Document type

Conference paper

Publisher

Springer

Topic

  • Control Engineering

Conference name

6th International Conference on Automatic Differentiation

Conference date

2012-07-23

Status

Published

Research group

  • LCCC

ISBN/ISSN/Other

  • ISBN: 978-3-642-30022-6