Efficient Implementation of Collocation Methods for Optimization using OpenModelica and ADOL-C

Vitalij Ruge
Bielefeld University of Applied Sciences, Department of Mathematics and Engineering, Bielefeld, Germany

Willi Braun
Bielefeld University of Applied Sciences, Department of Mathematics and Engineering, Bielefeld, Germany

Bernhard Bachmann
Bielefeld University of Applied Sciences, Department of Mathematics and Engineering, Bielefeld, Germany

Andrea Walther
Universität Paderborn, Institut für Mathematik, Paderborn, Germany

Kshitij Kulshreshtha
Universität Paderborn, Institut für Mathematik, Paderborn, Germany

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

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

Linköping Electronic Conference Proceedings 96:106, s. 1017-1025

Visa mer +

Publicerad: 2014-03-10

ISBN: 978-91-7519-380-9

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


Efficient calculation of the solutions of nonlinear optimal control problems (NOCPs) is becoming more and more important for today’s control engineers. The systems to be controlled are typically described using differential-algebraic equations (DAEs); which can be conveniently formulated in Modelica. In addition; the corresponding optimization problem can be expressed using Optimica.

Solution algorithms based on collocation methods are highly suitable for discretizing the underlying dynamic model formulation. Thereafter; the corresponding discretized optimization problem can be solved; e.g. by the interior-point optimizer Ipopt. The performance of the optimizer heavily depends on the availability of derivative information for the underlying optimization problem. Typically; the gradient of the objective function; the Jacobian of the DAEs as well as the Hessian matrix of the corresponding Lagrangian formulation need to be determined. If only some or none of these derivatives are provided; usually numerical approximations are used by the optimizer internally.

OpenModelica supports the Optimica language and is capable of automatically generating the discretized optimization problem using collocation methods as well as the whole symbolic machinery available. In addition; all necessary derivative information is determined using the automatic differentiation capabilities of ADOL-C; which has now been integrated into the OpenModelica environment.


Modelica; optimization; automatic differentiation; collocation; OpenModelica; ADOL-C


[1] J. Åkesson. Languages and Tools for Optimization of Large-Scale Systems. PhD thesis, Regler, nov 2007.

[2] J. Åkesson,W. Braun, P. Lindholm, and B. Bachmann. Generation of sparse jacobians for the function mock-up interface 2.0. In Proceedings of the 9th International Modelica Conference, 2012.

[3] B. Bachmann, L. Ochel, V. Ruge, M. Gebremedhin, P. Fritzson, V. Nezhadali, L. Eriksson, and M. Sivertsson. Parallel multiple-shooting and collocation optimization with openmodelica. In Proceedings of the 9th International Modelica Conference, 2012.

[4] L.T. Biegler. Nonlinear programming. Concepts, algorithms, and applications in chemical processes. SIAM, 2010.

[5] W. Braun, S. Gallardo-Yances, B. Bachmann, and K. Link. Fast simulation of fluid models with colored jacobians. In Proceedings of the 9th International Modelica Conference, 2012.

[6] F. Casella, F. Donida, and J. Åkesson. Objectoriented modeling and optimal control: A case study in power plant start-up. In Proceedings of the 8th IFAC World Congress, Milano, Italy, 2011.

[7] P. Deuflhard and F.A. Bornemann. Numerische Mathematik 2: Gewöhnliche Differentialgleichungen. De Gruyter Lehrbuch Series. Walter De Gruyter Incorporated, 2008.

[8] H. Elmqvist, S. E. Mattsson, and M. Otter. Modelica - a language for physical system modeling, visualization and interaction. 1999 IEEE Symposium on Computer-Aided Control System Design, 1999.

[9] R. Franke. Formulation of dynamic optimization problems using modelica and their efficient solution. In Proceedings of the 2th International Modelica Conference, pages 315 –323, 2002.

[10] T.L. Friesz. Dynamic optimization and differential games. Springer, 2010.

[11] P. Fritzson, P. Aronsson, H. Lundvall, K. Nyström, A. Pop, L. Saldamli, and D. Broman. Openmodelica - a free open-source environment for system modeling, simulation, and teaching. In IEEE International Symposium on Computer-Aided Control Systems Design,2006, pages 1588–1595, oct. 2006.

[12] A.H. Gebremedhin, F. Manne, and A. Pothen. What color is your Jacobian? Graph coloring for computing derivatives. SIAM Review, 47(4):629–705, 2005.

[13] A.H. Gebremedhin, A. Tarafdar, F. Manne, and A. Pothen. New acyclic and star coloring algorithms with application to computing Hessians. SIAM J. Sci. Comput., 29:1042–1072, 2007.

[14] A. Griewank, K. Kulshreshtha, and A. Walther. On the numerical stability of algorithmic differentiation. Computing, 94(2-4):125–149, 2012.

[15] A. Griewank and A. Walther. Principles and Techniques of Algorithmic Differentiation, Second Edition. SIAM, 2008.

[16] E. Hairer and G. Wanner. Solving ordinary differential equations. II: Stiff and differentialalgebraic problems. Springer, 2010.

[17] U. Naumann. The art of differentiating computer programs. An introduction to algorithmic differentiation. SIAM, 2012.

[18] A. Shitahun, V. Ruge, M. Gebremedhin, B. Bachmann, L. Eriksson, J. Andersson, M. Diehl, and P. Fritzson. Model-based dynamic optimization with openmodelica and casadi. In Proceedings of the 7th IFAC Symposium on Advances in Automotive Control, pages 446–451, 2013.

[19] A. Wächter and L. Biegler. On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. Math. Program., 106(1):25–57, 2006.

[20] A. Walther. Computing sparse Hessians with automatic differentiation. ACM Trans. Math. Softw., 34(1), 2008. Paper 3.

[21] A. Walther and A. Griewank. Getting started with ADOL-C. In U. Naumann and O. Schenk, editors, Combinatorial Scientific Computing, pages 181–202. Chapman-Hall, 2012. see also http://www.coin-or.org/projects/ADOLC.xml.

Citeringar i Crossref