A Toolchain for Solving Dynamic Optimization Problems Using Symbolic and Parallel Computing

Evgeny Lazutkin
Group Simulation and Optimal Processes, Institute for Automation and Systems Engineering, Technische Universität Ilmenau, Ilmenau, Germany

Siegbert Hopfgarten
Group Simulation and Optimal Processes, Institute for Automation and Systems Engineering, Technische Universität Ilmenau, Ilmenau, Germany

Abebe Geletu
Group Simulation and Optimal Processes, Institute for Automation and Systems Engineering, Technische Universität Ilmenau, Ilmenau, Germany

Pu Li
Group Simulation and Optimal Processes, Institute for Automation and Systems Engineering, Technische Universität Ilmenau, Ilmenau, Germany

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

Ingår i: Proceedings of the 11th International Modelica Conference, Versailles, France, September 21-23, 2015

Linköping Electronic Conference Proceedings 118:33, s. 311-320

Visa mer +

Publicerad: 2015-09-18

ISBN: 978-91-7685-955-1

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


Significant progresses in developing approaches to dynamic optimization have been made. However, its practical implementation poses a difficult task and its real-time application such as in nonlinear model predictive control (NMPC) remains challenging. A toolchain is developed in this work to relieve the implementation burden and, meanwhile, to speed up the computations for solving the dynamic optimization problem after transforming it to a nonlinear programming problem (NLP). To achieve these targets, symbolic computing is utilized for calculating the first and second order sensitivities on the one hand and parallel computing is used for separately accomplishing the computations for the individual time intervals on the other hand. The toolchain consists of several open-source tools. The Modelica language is used to establish object-oriented models. The Optimica extension serves for the formulation of the optimal control problem. JModelica.org transforms the optimization model to a symbolic optimization model. The automatic differentiation and symbolic manipulations are done by means of CasADi. The interior-point optimizer Ipopt is applied to solve the NLP. The entire approach of the parallelized modified combined multiple-shooting and collocation (MCMSC) method is realized in the Python scripting language using the standard multi-processing module without any additional software packages. Two optimal control problems, a satellite control and a combined cycle power plant start-up process, are solved. The efficiency of the developed toolchain, which solves one of the problems with approximately 25,000 variables in a reasonable CPU time, is demonstrated by speed-up factors. A comparison with the collocation approach in JModelica.org is also given. In general, the larger the NLP and the more CPU cores are available, the greater the advantages of the proposed parallelized MCMSC approach will be.


nonlinear optimization; combined multiple shooting and collocation; symbolic manipulation; parallel computing; satellite problem; combined cycle power plant;


J. Åkesson. Optimica – an extension of Modelica supporting dynamic optimization. In Proc. 6th Int. Modelica Conf., pages 57–66. Modelica Association, March 3-4 2008.

J. Åkesson, K.-E. Årzén, M. Gåfvert, T. Bergdahl, and H. Tummescheit. Modeling and optimization with Optimica and JModelica.org-languages and tools for solving largescale dynamic optimization problems. Comput. Chem. Eng., 34(11):1737–1749, 2010.

J. Andersson, J. Åkesson, F. Casella, and M. Diehl. Integration of CasADi and JModelica.org. In Proc. 8th Int. Modelica Conf., pages 218–231, 2011. doi: 10.3384/ecp11063.

J. Andersson, J. Åkesson, and M. Diehl. Dynamic optimization with CasADi. In 51st IEEE Conference on Decision and Control, pages 681–686, 10-13 December 2012a. doi: 10.1109/CDC.2012.6426534.

J. Andersson, J. Åkesson, and M. Diehl. CasADi: A symbolic package for automatic differentiation and optimal control. Lect. Notes Comput. Sci. Eng., 87:297–307, 2012b.

B. Bachmann, L. Ochel, V. Ruge, M. Gebremedhin, P. Fritzson, V. Nezhadali, L. Eriksson, and M. Sivertsson. Parallel multiple-shooting and collocation optimization with Open-Modelica. In Proc. 9th Int. Modelica Conf., pages 659–668, 2012.

E. Balsa-Canto, J. R. Banga, A. A. Alonso, and V. S. Vassiliadis. Efficient optimal control of bioprocesses using second-order information. Ind. Eng. Chem. Res., 39(11): 4287–4295, 2000. doi: 10.1021/ie990658p.

M. Bartl, P. Li, and L. T. Biegler. Improvement of state profile accuracy in nonlinear dynamic optimization with the quasisequential approach. AIChE J., 57(8):2185–2197, 2011. doi: 10.1002/aic.12437.

T. Barz, R. Klaus, L. Zhu, G. Wozny, and H. Arellano-Garcia. Generation of discrete first- and second-order sensitivities for single shooting. AIChE J., 58(10):3110–3122, 2012.

L. T. Biegler, A. M. Cervantes, and A. Wächter. Advances in simultaneous strategies for dynamic process optimization. Chem. Eng. Sci., 57(4):575–593, 2002.

F. Casella and F. Pretolani. Fast Start-up of a Combined-Cycle Power Plant: a Simulation Study with Modelica. In Proc. 5th Modelica Conf., pages 3–10, 2006.

F. Casella, F. Donida, and J. Åkesson. Object-Oriented Modeling and Optimal Control: A Case Study in Power Plant Start-Up. In Prepr. 18th IFAC World Congress. Milano. Italy, pages 9545–9554, 2011a.

F. Casella, M. Farina, F. Righetti, R. Scattolini, D. Faille, F. Davelaar, A. Tica, H. Gueguen, and D. Dumur. An optimization procedure of the start-up of Combined Cycle Power Plants. In Prepr. 18th IFAC World Congress. Milano. Italy, pages 7043–7048, 2011b.

T. A. Davis. Direct methods for sparse linear systems. SIAM, 2006.

P. Fritzson. Principles of object-oriented modeling and simulation with Modelica 3.3: A cyber-physical approach. Wiley-IEEE Press, 2014.

D. Hellmann. The Python standard library by example. Addison-Wesley Professional, 1st edition edition, 2011.

W. R. Hong, S. Q. Wang, P. Li, G. Wozny, and L. T. Biegler. A quasi-sequential approach to large-scale dynamic optimization problems. AIChE J., 52(1):255–268, 2006. doi: 10.1002/aic.10625.

B. Houska, H. J. Ferreau, and M. Diehl. An auto-generated real-time iteration algorithm for nonlinear MPC in the microsecond range. Automatica, 47(10):2279–2285, 2011.

C. Kirches, L. Wirsching, H. G. Bock, and J. P. Schlöder. Efficient direct multiple shooting for nonlinear model predictive control on long horizons. J. Process Contr., 22(3):540–551, 2012.

E. Lazutkin, A. Geletu, S. Hopfgarten, and P. Li. Modified multiple shooting combined with collocation method in JModelica.org with symbolic calculations. In Proc. 10th Int. Modelica Conf., pages 999–1006, 2014. doi: 10.3384/ECP14096999.

D. Q. Mayne. Model predictive control: Recent developments and future promise. Automatica, 50(12):2967–2986, 2014.

P. E. Rudquist and M. M. Edvall. PROPT - Matlab Optimal Control Software. User’s Guide. TOMLAB Optimization, 2009.

V. Ruge, W. Braun, B. Bachmann, A. Walther, and K. Kulshreshtha. Efficient Implementation of Collocation Methods for Optimization using OpenModelica and ADOL-C. In Proc. 10th Int. Modelica Conf., pages 1017–1025, 2014. doi: 10.3384/ECP140961017.

A. Schäfer, P. Kühl, M. Diehl, J. Schlöder, and H. G. Bock. Fast reduced multiple-shooting method for nonlinear model predictive control. Chem. Eng. Process., 46(11):1200–1214, 2007.

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 7th IFAC Symp. on Advances in Automotive Control, volume 1, pages 446–451, 2013. doi: 10.3182/20130904-4-JP-2042.00166.

J. Tamimi and P. Li. Nonlinear model predictive control using multiple shooting combined with collocation on finite elements. In 7th IFAC Int. Symp. on Advanced Control of Chemical Processes, pages 703–708, 2009. doi: 10.3182/20090712-4-TR-2008.00114.

J. Tamimi and P. Li. A combined approach to nonlinear model predictive control of fast systems. J. Process Contr., 20(9): 1092–1102, 2010.

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

Y. Wang and S. Boyd. Fast model predictive control using online optimization. IEEE T. Contr. Syst. T., 18(2):267–278, 2010.

D. P. Word, J. Kang, J. Åkesson, and C. D. Laird. Efficient parallel solution of large-scale nonlinear dynamic optimization problems. Comput. Optim. Appl., 59(3):667–688, 2014. doi: 10.1007/s10589-014-9651-2.

V. M. Zavala, C. D. Laird, and L. T. Biegler. Interior-point decomposition approaches for parallel solution of large-scale nonlinear parameter estimation problems. Chem. Eng. Sci., 63(4834-4845):19, 2008.

Citeringar i Crossref