DOML -- a Compiler Environment for Dynamic Optimization Supporting Multiple Solvers

Tomasz Tarnawski
Warsaw Technical University, Institute of Automatic Control and Robotics, Warsaw, Poland

Radoslaw Pytlak
Warsaw Technical University, Institute of Automatic Control and Robotics, Warsaw, Poland

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

Ingår i: Proceedings of the 10th International Modelica Conference; March 10-12; 2014; Lund; Sweden

Linköping Electronic Conference Proceedings 96:105, s. 1007-1016

Visa mer +

Publicerad: 2014-03-10

ISBN: 978-91-7519-380-9

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


The Modelica language may serve well as a base for defining optimal control problems; given a few relatively minor syntax extensions. One example proving that point is Optimica and another one is DOML (Dynamic Optimization Modeling Language) -- installed on IDOS (Interactive Dynamic Optimization Language) and described in this paper. The DOML implementation is; actually; heavily based on the (open source) compiler of Optimica but it provides a number of important features absent in its precursor. One main extension of the compiler lies in its built-in mechanism supporting the use of many different optimization solvers (selected on the fly; depending on the content of the problem definition) and to seamlessly add new; external; solvers. In result; the range of problems that may be specified with DOML and solved in the IDOS environment is quite wide and keeps growing. The scope of problems ranges from some static optimization problems through regular ODE; parametric optimization; minimum time problems; up to DAE with higher index. DOML language extensions also provide preliminary support for multi-objective optimization and PDE problems.


Dynamic optimization; optimal control; Optimica


[1] Andersson J, Åkesson J, Casella F, Diehl M. Integration od CasADi and JModelica.org. In: Proceedings of the 8th Modelica Conference 2011, Dresden, Germany, Modelica Association, 20-22 March 2011.

[2] Åkesson J. Tools and Languages for Optimization of Large-Scale Systems. Lund, Swe-den: PhD thesis, Department of Automatic Control, Lund University, 2007.

[3] Åkesson J. Optimica–an extension of Modelica supporting dynamic optimization. In: Proceedings of the 6th Modelica Conference 2008, Bielefeld, Germany, Modelica Association, 3-4 March 2008.

[4] Åkesson J, Gäfvert M, Tummescheit H. JModelica—an Open Source Platform for Optimization of Modelica Models. In: Proceedings of MATHMOD 2009 - 6th Vienna International Conference on Mathematical Modelling, Vienna, Austria, TU Wien, February 2009.

[5] Blaszczyk J, Karbowski A, K. Malinowski K. Object Object library of algorithms for dynamic optimization problems: benchmarking SQP and nonlinear interior point methods. In: Journal of Applied Mathematics and Computer Science, Vol. 17, 515–537, 2007.

[6] Bonami P, Wachter A, Biegler L.T, Conn A.R, Cornujols G, Grossmann I.E, Laird C.D, Lee J, Lodi A, Margot F, Sawaya N. An algorithmic framework for convex mixed integer nonlinear programs. In: Discrete Optimization, Vol. 5, 186–204, 2008.

[7] Bonami P, Lee J BONMIN Users’ Manual, 2009.

[8] Bonami P, Lodi A, Cornujols G, Margot F. A feasibility pump for mixed integer nonlinear programs. In: Mathematical Programming, Vol. 119, 331–352, 2009.

[9] Franke R. Anwendung von Interior-Point-Methoden zur Lösung zeitdiskreter Optimalsteuerungsprobleme. Master’s thesis, Techniche Universität Ilmenau, Fakultät für Informatik und Automatsierung, Institut für Automatisierungs- und Systemtechnik Fachgebiet Dynamik und Simulation ökologischer Systeme, Ilmenau, Germany, October 1994 (in German).

[10] Franke R. OMUSES — a Tool for the Optimization of MUltistage Systems and HQP — a Solver for Sparse Nonlinear Optimization. Dept. of Automation and Systems Engineering, Technical University of Ilmenau, Germany, September 1998.

[11] Gondzio J. Multiple centrality corrections in a primal-dual method for linear programming. Technical Report 1994.20, Department of Management Studies, University of Geneva, Geneva, Switzerland, November 1994.

[12] Hairer E, Lubich Ch, Roche M. The numerical solution of differential–algebraic equations by Runge–Kutta methods. In: Lecture Notes in Mathematics 1409, Springer–Verlag, Berlin, Heidelberg, 1989.

[13] Hairer E, Norsett S.P, Wanner G. Solving Ordinary Differential Equations I., Springer–Verlag, Berlin Heidelberg New York, 2008.

[14] Hairer E,Wanner G. Solving Ordinary Differential Equations II, Springer–Verlag, Berlin Heidelberg New York, 1996.

[15] Hindmarsh, A.C., Brown, P.N., Grant, K.E., Lee, S.L., Serban, R., Shumaker, D.E., Woodward, C.S. SUNDIALS: Suite of Nonlinear and Differential/Algebraic Equation Solvers, preprint, UCRL-JRNL-200037, 2004.

[16] Mehrotra S. On the implementation of a primal–dual interior point method. In: SIAM Journal on Optimization, Vol. 2, 575–601, 1992.

[17] Oberle H.J, Grimm W. BNDSCO – A Program for the Numerical Solution of Optimal Control Problems, Report No. 515 der DFVLR (German Test and Research Institute for Aviation and Space Flight), 1989.

[18] Oberle H.J. Numerical Solution of Minimax Optimal Control Problems by Multiple Shooting Technique. In: J. Optimization Theory and Applications, Vol. 50, 331–364, 1986.

[19] Pantelides C. Consistent initialization of differential–algebraic system. In: SIAM J. Scientific and Statistical Computation Vol. 9, 213-231, 1988.

[20] Pytlak R. Numerical procedures for optimal control problems with state constraints. Lecture Notes in Mathematics 1707, Springer–Verlag, Heidelberg, 1999.

[21] Pytlak R. Numerical procedure for optimal control of higher index DAEs. In: J. Discrete and Continuous Dynamical Systems, Vol. 29, 1–24, 2011.

[22] Pytlak R, Tarnawski T, Fajdek B, Stachura M. Interactive dynamic optimization server–connecting one modeling language with many solvers. In: Optimization Methods and Software, 2013. http://dx.doi.org/10.1080/10556788.2013.799159.

[23] Pytlak R (ed.). Interactive computer environment for solving optimal control problems–IDOS. final Research Report, under the grant R02-0009-06, Warsaw, Poland, 2012.

[24] Pytlak R, Blaszczyk J, Krawczyk K, Tarnawski T. Solvers chaining in the IDOS server for dynamic optimization. In: Proceedings of 52nd Conference on Decision and Control, Florence, Italy, 10-13 December 2013.

[25] Pytlak R, Tarnawski T. IDOS – (also) a Web Based Tool for calibrating Modelica model. Accepted for: 10th Modelica Conference 2014, Lund, Sweden, Modelica Association, 10-12 March 2014.

[26] Rantil J, Åkesson J, Führer C, Gäfvert M. Multiple-Shooting Optimization using the JModelica.org Platform. In: Proceedings of the 7th Modelica Conference 2009, Como, Italy, Modelica Association, 20-22 September 2009.

[27] Saldamli L. PDEModelica – A High-Level Language for Modeling with Partial Differential Equations, PhD. thesis, Department of Computer and Information Science, Linköping University, 2006.

[28] Serban R, Hindmarsh A.C. CVODES, the sensitivity-enabled ODE solver in SUNDIALS. In: Proceedings of the 5th International Conference on Multibody Systems, Nonlinear Dynamics and Control, ASME, Long Beach, CA, 2005.

[29] Wachter A, Biegler L.T. On the implementation of an interior point Line search filter algorithm for large scale nonlinear programming. In: Math. Programming, Vol. 106, 25–57, 2006.

[30] Maxima Manual Ver 5.30.0, http://maxima.sourceforge.net/docs/manual/en/maxima.pdf, November 2013.

[31] Open Source Project: JModelica.org. http://www.jmodelica.org/. November 2013.

[32] Interactive Dynamic Optimization Server. http://idos.mchtr.pw.edu.pl/. November 2013.

Citeringar i Crossref