
MUSCODII
A Software Package for Numerical Solution of Optimal Control
Problems involving DifferentialAlgebraic Equations (DAE)
Functionality
The optimization package MUSCODII is designed to
efficiently and reliably solve optimal control problems for systems
described by ordinary differential equations (ODE) or by
differentialalgebraic equations (DAE) of index one. MUSCODII 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 realtime environment for use in
nonlinear model predictive control (NMPC), a tailored GaussNewton
approach for tracking problems, and a parallel code version based on
the portable MPI standard. Currently, MUSCODII is being extended to
treat largescale DAE models even more efficiently, and to solve
problems involving DAE with switching points.
Due to its flexible model interfaces, its robustness and efficiency,
MUSCODII is an ideal tool for the modeling, simulation and optimization of
complex processes.
Sketch of the Algorithm
and
Short History of MUSCODII
MUSCODII 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 stateoftheart ODE or DAE solver. This
approach allows to reformulate the optimal control problem as a
largescale 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 KarlJosef 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 MUSCODII, 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 MUSCODII, 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 GaussNewton approach allows to efficiently treat
leastsquares objective functions of pointwise or integral type, and a
realtime 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
ADOLC
has been established, allowing to use exact derivatives of models written
in C (Ulrich BrandtPollmann, 2002).
At the moment, further developments based on MUSCODII 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 BrandtPollmann. Secondly, an efficient algorithm for
largescale DAE models with fixed initial values, as they arise in the
discretization of partial differentialalgebraic equations (PDAE), is
developed by Andreas Schäfer.
Overview of MUSCODII 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 MUSCODII
 BASF, Ludwigshafen
 Bayer Technology
Services, Leverkusen
 Institute for
Systems Theory in Engineering, Univ. of Stuttgart
(Prof. Frank Allgöwer)

Institut für Systemdynamik und Regelungstechnik, Stuttgart
(Stefan Schwarzkopf)
 Institute for Energy
Engineering, TU Berlin (Thinh NguyenXuan)
 Dipartimento di Informatica e Sistemistica, Univ. of Pavia, Italy (Dr. Lalo Magni)

Rami Tzafriri, Computer Science Department, The Hebrew University, Jerusalem

Process Control Laboratory, University of Dortmund
(Prof. S. Engell)
Please contact the head of the workgroup,
Prof. Dr. Dr. h.c. Hans Georg Bock, if you are interested in a
collaboration.
References
 M. Diehl, D. B. Leineweber, A. Schäfer: MUSCODII Users' Manual.
IWRPreprint 200125. Universität Heidelberg, 2001.
[PS File (gzipped)]
[PDF File]
 D. B. Leineweber: The theory of MUSCOD in a nutshell. IWRPreprint
9619. 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. FortschrittBerichte
VDI, Reihe 3, Nr. 613. VDIVerlag 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 largescale dynamic process
optimization  part I: theoretical aspects. Comput. Chem. Engng 27,
157166, 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 largescale
dynamic process optimization  part II: software aspects and applications.
Comput. Chem. Engng 27, 167174, 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.
IWRPreprint 9656. Universität Heidelberg, 1996.
[Abstract]
[PS
File (gzipped)] [PDF
File]
 M. Diehl:
RealTime 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 multiplefraction batch distillation with recycled
waste cuts. AIChE J. 48, 28692874, 2002. Preprint
Version (IWR Preprint 200122):
[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: RealTime 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 largescale systems.
Part I: Description of the method. Automatisierungstechnik, 12, 2002.
Part II: Application to a Distillation Column. Automatisierungstechnik, 1, 2003.
slightly different as IWRPreprint 200211:
[PS File (gzipped)]
[PDF File ]

