Multiple-Shooting Optimization using the JModelica.org Platform
Jens Rantil, Johan Furunäs Åkesson, Claus Führer, Magnus Gäfvert · Linköping electronic conference proceedings · 2009
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.orgplatform 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.orgplatform 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.