IWR - Simulation and Optimization

Home | Research | Teaching | People | Grants | Open Positions | Internships | Conferences | Publications | Local | Links |

Open Positions


A Software Package for Numerical Solution of Optimal Control Problems
involving Differential-Algebraic Equations (DAE)


    The optimization package MUSCOD-II is designed to efficiently and reliably solve optimal control problems for systems described by ordinary differential equations (ODE) or by differential-algebraic equations (DAE) of index one. MUSCOD-II can treat system models formulated either in the gPROMS modeling language (PSE Ltd.), in FORTRAN, or in C, and it has been widely applied to industrial problems, in particular in the field of chemical engineering. The software has the capability to solve highly nonlinear problems with complex equality or inequality constraints on states and controls, as e.g., final state constraints, periodicity conditions, or path constraints. Furthermore, a unique multistage formulation allows to optimize integrated batch processes consisting of several coupled process stages, e.g., a batch reaction step followed by a batch separation step.

    Recent developments include a real-time environment for use in nonlinear model predictive control (NMPC), a tailored Gauss-Newton approach for tracking problems, and a parallel code version based on the portable MPI standard. Currently, MUSCOD-II is being extended to treat large-scale DAE models even more efficiently, and to solve problems involving DAE with switching points.

    Due to its flexible model interfaces, its robustness and efficiency, MUSCOD-II is an ideal tool for the modeling, simulation and optimization of complex processes.

Sketch of the Algorithm and Short History of MUSCOD-II

    MUSCOD-II is based on the direct multiple shooting method, i.e., the optimization horizon is divided into a number of subintervals, and the differential equations are solved independently on each of these subintervals by a state-of-the-art ODE or DAE solver. This approach allows to reformulate the optimal control problem as a large-scale nonlinear programming (NLP) problem with a favorable block sparse structure. The NLP problem is solved with a specifically tailored sequential quadratic programming (SQP) method which fully exploits the inherent structure. Originally, the direct multiple shooting method is due to Karl-Josef Plitt and Hans Georg Bock, who first implemented it in a software package called MUSCOD (MUltiple Shooting CODe for optimization) for ODE models in 1981. An important requirement for the success of the method is the efficient generation of derivatives of the differential equation model according to the principle of internal numerical differentiation (IND). The original version of MUSCOD has been sucessfully used in many applications involving ODE models, e.g., the optimization of robot movements.

    Nearly twenty years later, Daniel Leineweber developed an efficient approach to treat DAE models with direct multiple shooting, and implemented the package MUSCOD-II, in collaboration with Andreas Schäfer and with the help of Jochen Jost, in 1997. The SQP method was modified to exploit the large share of algebraic variables that typically arises in DAE models, resulting in a partially reduced sequential quadratic programming (PRSQP) method. The method needs to evaluate only derivatives with respect to differential variables and makes use of a DAE relaxation strategy, thus saving a lot of computation time compared to a full space SQP method for DAE. Many features of MUSCOD-II, e.g., the multistage formulation, the exact penalty line search, the limited memory BFGS updates, an exact Hessian trust region approach, etc., date back to this time.

    Since then, the functionality of the package has continuously been extended (and is still being so): a Gauss-Newton approach allows to efficiently treat least-squares objective functions of pointwise or integral type, and a real-time optimization scheme enables use for online control (Moritz Diehl, 2000); a parallelization based on the portable MPI standard has been realized (Amit Sharma, Moritz Diehl, Andreas Schäfer, 2000); the software has been coupled with the gPROMS modeling platform, making efficient use of gPROMS model residuals and derivatives delivered via the ESO interface (Andreas Schäfer, 2001); furthermore, an interface for the automatic differentiation tool ADOL-C has been established, allowing to use exact derivatives of models written in C (Ulrich Brandt-Pollmann, 2002).

    At the moment, further developments based on MUSCOD-II are being made in two directions: firstly, a dynamic optimization algorithm which is able to treat switching behaviour (e.g., tray overflow in a distillation column) is developed by Ulrich Brandt-Pollmann. Secondly, an efficient algorithm for large-scale DAE models with fixed initial values, as they arise in the discretization of partial differential-algebraic equations (PDAE), is developed by Andreas Schäfer.

Overview of MUSCOD-II Key Algorithmic Features

  • simultaneous dynamic optimization strategy for DAE models based on multiple shooting and partially reduced sequential quadratic programming (PRSQP)
  • use of fully adaptive DAE solvers (allows to decouple the integration accuracy from the discretization used on the optimization level)
  • relaxed DAE formulation with damping factor (allows inconsistent values of state variables at multiple shooting nodes, improves robustness by forcing solution toward consistency during integration)
  • use of sparse linear solvers at the optimization level as well as within the integrator (allows to exploit sparsity of large DAE process models)
  • direct computation of the reduced linearized constraint set via directional derivatives (allows to significantly decrease the computational work for the linearization of large problems having many algebraic variables)
  • complete decoupling of state and sensitivity integrations on different multiple shooting intervals (allows parallel function and gradient evaluations)
  • combination of the advantages of simultaneous and sequential strategies (explicit discretization of the dynamic model, but still relatively small NLP problem)
  • solution of general multistage problems with control and path constraints and multipoint boundary conditions
  • large degree of compatibility with existing dynamic process simulators (only requires a DAE solver which is capable of efficiently generating directional sensitivities)

Some Collaborators using MUSCOD-II

Please contact the head of the workgroup, Prof. Dr. Dr. h.c. Hans Georg Bock, if you are interested in a collaboration.


  • M. Diehl, D. B. Leineweber, A. Schäfer: MUSCOD-II Users' Manual. IWR-Preprint 2001-25. Universität Heidelberg, 2001.
  • [PS File (gzipped)] [PDF File]
  • D. B. Leineweber: The theory of MUSCOD in a nutshell. IWR-Preprint 96-19. Universität Heidelberg, 1996. [Abstract] [PS File (gzipped)] [PDF File]
  • D. B. Leineweber: Efficient reduced SQP methods for the optimization of chemical processes described by large sparse DAE models. Fortschritt-Berichte VDI, Reihe 3, Nr. 613. VDI-Verlag GmbH, Düsseldorf, 1999. [Abstract] [PS File (gzipped)] [PDF File]
  • D. B. Leineweber, I. Bauer, H. G. Bock, J. P. Schlöder: An efficient multiple shooting based reduced SQP strategy for large-scale dynamic process optimization - part I: theoretical aspects. Comput. Chem. Engng 27, 157-166, 2003. Preprint Version: [Abstract] [PS File (gzipped)] [PDF File]
  • D. B. Leineweber, A. Schäfer, H. G. Bock, J. P. Schlöder: An efficient multiple shooting based reduced SQP strategy for large-scale dynamic process optimization - part II: software aspects and applications. Comput. Chem. Engng 27, 167-174, 2003. Preprint Version: [Abstract] [PS File (gzipped)] [PDF File]
  • D. B. Leineweber, J. A. Jost: LIBLAC - structured data types and basic operations for numerical linear algebra in an ANSI C/Fortran 77 environment. IWR-Preprint 96-56. Universität Heidelberg, 1996. [Abstract] [PS File (gzipped)] [PDF File]
  • M. Diehl: Real-Time Optimization for Large Scale Nonlinear Processes . PhD Thesis, University of Heidelberg, 2001.
  • M. Diehl, D. B. Leineweber, A. Schäfer, J. P. Schlöder, H. G. Bock: Optimization of multiple-fraction batch distillation with recycled waste cuts. AIChE J. 48, 2869-2874, 2002. Preprint Version (IWR Preprint 2001-22): [Abstract] [PS File (gzipped)] [PDF File]
  • M. Diehl, I. Uslu, S. Schwarzkopf, F. Allgöwer, H.G. Bock, R. Findeisen, E.D. Gilles, A. Kienle, J.P. Schlöder, and E. Stein: Real-Time Optimization for Large Scale Processes: Nonlinear Model Predictive Control of a High Purity Distillation Column In Groetschel, Krumke, Rambau (eds.): Online Optimization of Large Scale Systems: State of the Art, Springer, 2001. Preprint version: [PS File] [PDF File]
  • M.Diehl, R. Findeisen, S. Schwarzkopf, I. Uslu, F. Allgöwer, H. G. Bock, E. D. Gilles, and J. P. Schlöder: An efficient algorithm for nonlinear model predictive control of large-scale systems.
    Part I: Description of the method. Automatisierungstechnik, 12, 2002.
    Part II: Application to a Distillation Column. Automatisierungstechnik, 1, 2003.
    slightly different as IWR-Preprint 2002-11: [PS File (gzipped)] [PDF File ]

[ Top | Home]

Last Modified By: Moritz Diehl
Last Update:2010-12-03