Jens Rantil
Lund University, Sweden
Johan Åkesson
Department of Automatic Control, Lund University, Sweden \ Modelon AB, Ideon Science Park, Sweden
Claus Führer
Lund University, Sweden
Magnus Gäfvert
Department of Numerical Analysis, Lund University, Sweden \ Modelon AB, Ideon Science Park, Sweden
Download articlehttp://dx.doi.org/10.3384/ecp09430066Published in: Proceedings of the 7th International Modelica Conference; Como; Italy; 20-22 September 2009
Linköping Electronic Conference Proceedings 43:89, p. 757-764
Published: 2009-12-29
ISBN: 978-91-7393-513-5
ISSN: 1650-3686 (print), 1650-3740 (online)
Dynamic optimization addresses the problem of finding the minimum of a cost function subject to a constraint comprised of a system of differential equations. There are many algorithms to numerically solve such optimization problems. One such algorithm is multiple shooting. This paper reports an implementation of a multiple shooting algorithm in Python. The implementation is based on the open source platform JModelica. org; the integrator SUNDIALS and the optimization algorithm scipy_slsqp. The JModelica.org platform supports model descriptions encoded in the Modelica language and optimization specifications expressed in the extension Optimica. The Modelica/Optimica combination provides simple means to express complex optimization problems in a compact and useroriented manner. The JModelica.org platform in turn translates the high-level descriptions into efficient C code which can compiled and linked with Python. As a result; the numerical packages available for Python can be used to develop custom applications based on Modelica/Optimica specifications. An example is provided to illustrate the capabilities of the method.
Optimization; optimal control; parameter optimization; Modelica; Optimica; JModelica.org