Advanced

Multiple-Shooting Optimization using the JModelica.org Platform

Rantil, Jens; Åkesson, Johan LU ; Führer, Claus LU and Gäfvert, Magnus LU (2009) 7th International Modelica Conference, 2009
Abstract
Dynamic optimization is 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... (More)
Dynamic optimization is 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 user-oriented 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. (Less)
Please use this url to cite or link to this publication:
author
organization
publishing date
type
Contribution to conference
publication status
published
subject
conference name
7th International Modelica Conference, 2009
language
English
LU publication?
yes
id
d4603934-936b-4a8b-98b2-9d8dcda237e1 (old id 1625389)
date added to LUP
2010-06-30 09:24:09
date last changed
2017-02-13 13:07:16
@misc{d4603934-936b-4a8b-98b2-9d8dcda237e1,
  abstract     = {Dynamic optimization is 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 user-oriented 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.},
  author       = {Rantil, Jens and Åkesson, Johan and Führer, Claus and Gäfvert, Magnus},
  language     = {eng},
  title        = {Multiple-Shooting Optimization using the JModelica.org Platform},
  year         = {2009},
}