|
|
Dynamic optimization with CasADi-
Part of a collection
- | |
|
Area Dynamic Optimization |
Author(s)
J. Andersson
, J. \AAkesson
, M. Diehl
|
Published in Decision and Control (CDC), 2012 IEEE 51st Annual Conference on
|
Year 2012 |
Abstract We demonstrate how CasADi, a recently developed, free, open-source, general purpose software tool for nonlinear optimization, can be used for dynamic optimization in a flexible, interactive and numerically efficient way. CasADi is best described as a minimalistic computer algebra system (CAS) implementing automatic differentiation (ad) in eight different flavors. Similar to algebraic modeling languages like AMPL or GAMS, it includes high-level interfaces to state-of-the-art numerical codes for nonlinear programming, quadratic programming and integration of differentialalgebraic 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 discuss CasADi from the perspective of the developer or advanced user of algorithms for dynamic optimization for the first time, leaving out details on the implementation of the tool. We demonstrate how the tool can be used to model highly complex dynamical systems directly or import existing models formulated in the algebraic modeling language AMPL or the physical modeling language Modelica. Given this symbolic representation of the process models, the resulting optimal control problem can be solved using a variety of methods, including transcription methods (collocation), methods with embedded integrators (multiple shooting) as well as indirect methods. |
AD Tools CasADi |
BibTeX
@INPROCEEDINGS{
Andersson2012Dow,
author = "Andersson, J. and {\AA}kesson, J. and Diehl, M.",
booktitle = "Decision and Control ({CDC}), 2012 {IEEE} 51st Annual Conference on",
title = "Dynamic optimization with {CasADi}",
year = "2012",
month = "Dec",
pages = "681--686",
abstract = "We demonstrate how CasADi, a recently developed, free, open-source, general purpose
software tool for nonlinear optimization, can be used for dynamic optimization in a flexible,
interactive and numerically efficient way. CasADi is best described as a minimalistic computer
algebra system (CAS) implementing automatic differentiation (AD) in eight different flavors. Similar
to algebraic modeling languages like AMPL or GAMS, it includes high-level interfaces to
state-of-the-art numerical codes for nonlinear programming, quadratic programming and integration of
differentialalgebraic 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 discuss
CasADi from the perspective of the developer or advanced user of algorithms for dynamic optimization
for the first time, leaving out details on the implementation of the tool. We demonstrate how the
tool can be used to model highly complex dynamical systems directly or import existing models
formulated in the algebraic modeling language AMPL or the physical modeling language Modelica. Given
this symbolic representation of the process models, the resulting optimal control problem can be
solved using a variety of methods, including transcription methods (collocation), methods with
embedded integrators (multiple shooting) as well as indirect methods.",
keywords = "C++ language;differentiation;dynamic programming;integration;interactive
systems;public domain software;quadratic programming;symbol manipulation;AD;AMPL algebraic modeling
language;C++ code;CAS;CasADi*;GAMS algebraic modeling language;Modelica physical modeling
language;Octave;Python;automatic differentiation;collocation transcription methods;complex dynamical
system model;computer algebra system;differential-algebraic equation integration;dynamic
optimization;free open-source general purpose software tool;high-level interfaces;indirect
methods;multiple shooting embedded integrators;nonlinear programming;numerical codes;optimal control
problem;process models;quadratic programming;rapid prototyping;symbolic
representation;Computers;Equations;Jacobian matrices;Mathematical model;Numerical models;Optimal
control;Optimization",
doi = "10.1109/CDC.2012.Andersson2012Dow",
issn = "0743-1546",
ad_tools = "CasADi",
ad_area = "Dynamic Optimization"
}
| |
back
|
|