Modeling and Optimization with Modelica and Optimica Using the JModelica.org Open Source Platform

Hubertus Tummescheit
Modelon AB, Sweden

Johan Åkesson
Modelon AB, Sweden \ Department of Automatic Control, Lund University, Sweden

Tove Bergdahl
Modelon AB, Sweden

Megnus Gäfvert
Modelon AB, Sweden

Ladda ner artikelhttp://dx.doi.org/10.3384/ecp09430057

Ingår i: Proceedings of the 7th International Modelica Conference; Como; Italy; 20-22 September 2009

Linköping Electronic Conference Proceedings 43:4, s. 29-38

Visa mer +

Publicerad: 2009-12-29

ISBN: 978-91-7393-513-5

ISSN: 1650-3686 (tryckt), 1650-3740 (online)


This paper reports a new Modelica-based open source project entitled JModelica.org; targeted towards dynamic optimization. The objective of the project is to bridge the gap between the need for high-level description languages and the details of numerical optimization algorithms. JModelica.org is also intended as an extensible platform where algorithm developers; particularly in the academic community; may integrate new and innovative methods. In doing so; researchers gain access to a wealth of industrially relevant optimization problems based on existing Modelica models; while at the same time facilitating industrial use of state of the art algorithms. In this contribution; an overview of the platform is presented and the main features of JModelica.org are highlighted.


Modelica; Optimica; Optimization; Model Predictive Control


[1] Johan Åkesson. Tools and Languages for Optimization of Large-Scale Systems. PhD thesis; Department of Automatic Control; Lund University; Sweden; November 2007.

[2] Johan Åkesson. Optimica - an extension of modelica supporting dynamic optimization. In In 6th International Modelica Conference 2008. Modelica Association; March 2008.

[3] Johan Åkesson; Torbjörn Ekman; and Görel Hedin. Implementation of a modelica compiler using jastadd attribute grammars. Sci ence of Computer Programming; July 2009.

[4] Mats Andersson. Object-Oriented Modeling and Simulation of Hybrid Systems. PhD thesis; Department of Automatic Control; Lund Institute of Technology; Sweden; December 1994.

[5] Karl Johan Åström; Hilding Elmqvist; and Sven Erik Mattsson. Evolution of continuous-time modeling and simulation. In Proceedings of the 12th European Simulation Multiconference; ESM’98; pages 9–18; Manchester; UK; June 1998. Society for Computer Simulation International.

[6] B. M. Bell. CppAD Home Page; 2008. http://www.coin-or.org/CppAD/.

[7] L.T. Biegler; A.M. Cervantes; and A Wächter. Advances in simultaneous strategies for dynamic optimization. Chemical Engineering Science; 57:575–593; 2002. doi: 10.1016/S0009-2509(01)00376-1

[8] H.G. Bock and K. J. Plitt. A multiple shooting algorithm for direct solution of optimal control problems. In Ninth IFAC world congress ; Budapest; 1984.

[9] F. Casella; D. Filippo; and J. Åkesson. N XML Representation of DAE Systems Obtained from Modelica Models. In In 7th International Modelica Conference 2009. Modelica Association; 2009.

[10] Henrik Danielsson. Vehicle path optimisation. Master’s Thesis ISRN LUTFD2/TFRT--5797-SE; Department of Automatic Control; Lund University; Sweden; June 2007.

[11] Dassault Systèmes. iSIGHT Home Page; 2009. http://www.simulia.com/products/isight.html.

[12] DLR; Dynasim; ITI and Qtronic. The functional model interface. Draft.

[13] Dmitrey L. Kroshko. OpenOpt Home Page; 2009. http://openopt.org/Welcome.

[14] Dynasim AB. Dynasim AB Home Page; 2008. http://www.dynasim.se.

[15] T. Ekman and G. Hedin. Rewritable Reference Attributed Grammars. In Proceedings of ECOOP 2004; volume 3086 of LNCS; pages 144–169. Springer-Verlag; 2004.

[16] Torbjön Ekman and Görel Hedin. The jastadd extensible java compiler. In Proceedings of OOPSLA 2007; 2007.

[17] Torbjörn Ekman; Görel Hedin; and Eva Magnusson. JastAdd; 2008. http://jastadd.cs.lth.se/web/.

[18] H. Elmqvist; H. Olsson; S.E. Mattsson; D. Brück; C. Schweiger; D. Joos; and M. Otter. Optimization for design and parameter estimation. In In 7th International Modelica Conference 2009. Modelica Association; 2005.

[19] Inc. Enthought. Ipython FrontPage; 2009. http://ipython.scipy.org/moin/.

[20] Inc. Enthought. SciPy; 2009. http://www.scipy.org/.

[21] ESTECO. modeFRONTIER Home Page; 2009. http://www.esteco.com/.

[22] Python Software Foundation. Ctypes: A foreign function library for Python; 2009. http://docs.python.org/library/ctypes.html.

[23] Python Software Foundation. Python Programming Language – Official Website; 2009. http://www.python.org/.

[24] P. Giselsson; J. Åkesson; and A. Robertsson. Op timization of a pendulum system using optimica and modelica. In In 7th International Modelica Conference 2009. Modelica Association; 2009.

[25] M. Hast; J. Åkesson; and A. Robertsson. Optimal Robot Control using Modelica and Optimica. In In 7th International Modelica Conference 2009. Modelica Association; 2009. Proceedings 7th Modelica Conference; Como; Italy; Sep. 20-22; 2009 © The Modelica Association; 2009.

[26] Staffan Haugwitz; Johan Åkesson; and Per Hagander. Dynamic start-up optimization of a plate reactor with uncertainties. Journal of Process Control; 2009. doi: 10.1016/j.jprocont.2008.07.005.

[27] Görel Hedin; Johan Åkesson; and Torbjön Ekman. Building DSLs by leveraging base compilers—from Modelica to Optimica. IEEE Software; 2009. Submitted for publication.

[28] Görel Hedin and Eva Magnusson. JastAdd: an aspect-oriented compiler construction system. Science of Computer Programming; 47(1):37–58; 2003. doi: 10.1016/S0167-6423(02)00109-0

[29] J. Hunter; D. Dale; and M. Droettboom. Matplotlib: python plotting; 2009. http://matplotlib.sourceforge.net/.

[30] IEEE. Standard VHDL Analog and Mixed-Singnal Extensions. Technical report; IEEE; 1997.

[31] Gregor Kiczales; Erik Hilsdale; Jim Hugunin; Mik Kersten; Jeffrey Palm; and William G. Griswold. An overview of AspectJ. LNCS; 2072:327–355; 2001.

[32] Donald E. Knuth. Semantics of contextfree languages. Mathematical Systems Theory; 2(2):127–145; June 1968. Correction: Mathematical Systems Theory 5; 1; pp. 95-96 (March 1971).

[33] Y.D. Lang and L.T. Biegler. A software environment for simultaneous dynamic optimization. Computers and Chemical Engineering; 31(8):931–942; 2007. doi: 10.1016/j.compchemeng.2006.10.017

[34] Center for Applied Scientific Computing Lawrence Livermore National Laboratory. SUNDIALS (Suite of Nonlinear and Differential/Algebraic equation Solvers); 2009. https://computation.llnl.gov/casc/sundials/main.html.

[35] S. Menard. Jpype Home Page; 2009. http://jpype.sourceforge.net/.

[36] Modelon AB. Jmodelica Home Page; 2009.http://www.jmodelica.org.

[37] Numerica Technology. Jacobian Home Page; 2009. http://www.numericatech.com/jacobian.htm.

[38] T. Oliphant. Numpy Home Page; 2009. http://numpy.scipy.org/.

[39] OPTEC K.U. Leuven. ACADO Home Page; 2009. http://www.acadotoolkit.org/.

[40] OptiY. OptiY Home Page; 2009. http://www.optiy.de/.

[41] Phoenix Integration. ModelCenter Home Page; 2009. http://www.phoenix-int.com/software/phx_modelcenter.php.

[42] Process Systems Enterprise. gPROMS Home Page; 2009. http://www.psenterprise.com/gproms/index.html.

[43] J. Rantil; J. Åkesson; C. Führer; and M. Gäfvert. Multiple-Shooting Optimization using the Jmodelica.org Platform. In In 7th International Modelica Conference 2009. Modelica Association; 2009.

[44] The Modelica Association. The Modelica Association Home Page; 2007. http://www.modelica.org.

[45] Jan Tuszynskia; Mathias Persson; Johan Åkesson; Johan Andreasson; and Magnus Gäfvert. Model-based approach for design and validation of a novel concept of public mass transport. In 21st International Symposium on Dynamics of Vehicles on Roads and Tracks; 2009. Accepted for publication.

[46] University of Heidelberg. MUSCOD-II Home Page; 2009. http://www.iwr.uni-heidelberg.de/~agbock/RESEARCH/muscod.php.

[47] Triple-J Group for Molecular Cell Physiology University of Stellenbosch. PySUNDIALS: Python Suite of Nonlinear and Differential/Algebraic equation Solvers; 2009. http://pysundials.sourceforge.net/.

[48] Andreas Wächter and Lorenz T. Biegler. On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. Mathematical Programming; 106(1):25–58; 2006.

Citeringar i Crossref