0% found this document useful (0 votes)
191 views

Real-Time Optimization For Large Scale Nonlinear Processes - DIEHL

This document is an inaugural dissertation submitted by Moritz Mathias Diehl to obtain a doctoral degree from the University of Heidelberg. The dissertation proposes efficient numerical methods for solving optimal control problems in real-time for large scale nonlinear processes. It presents a direct multiple shooting approach for real-time optimization that allows combining advanced differential algebraic equation solvers with a simultaneous strategy. The methods are demonstrated experimentally by applying real-time model predictive control to a pilot plant distillation column.

Uploaded by

koponas
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
191 views

Real-Time Optimization For Large Scale Nonlinear Processes - DIEHL

This document is an inaugural dissertation submitted by Moritz Mathias Diehl to obtain a doctoral degree from the University of Heidelberg. The dissertation proposes efficient numerical methods for solving optimal control problems in real-time for large scale nonlinear processes. It presents a direct multiple shooting approach for real-time optimization that allows combining advanced differential algebraic equation solvers with a simultaneous strategy. The methods are demonstrated experimentally by applying real-time model predictive control to a pilot plant distillation column.

Uploaded by

koponas
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 201

INAUGURAL-DISSERTATION

zur

Erlangung der Doktorwürde

der

Naturwissenschaftlich-Mathematischen Gesamtfakultät

der

Ruprecht-Karls-Universität

Heidelberg

vorgelegt von

Dipl. Phys. Moritz Mathias Diehl

aus Hamburg

Tag der mündlichen Prüfung: 25. Juni 2001


Real-Time Optimization
for Large Scale Nonlinear Processes

Gutachter: Prof. Dr. Dr. h.c. Hans Georg Bock

Prof. Dr.-Ing. Frank Allgöwer


Abstract
Ecient numerical methods for the real-time solution of optimal control problems arising
in nonlinear model predictive control (NMPC) are presented. The practical applicability
of the methods is demonstrated in an experimental application to a pilot plant distillation
column, involving the real-time optimization of a large scale dierential algebraic process
model, with sampling times of only a few seconds.
The solution approach is based on the direct multiple shooting method, which allows
to combine the use of advanced, fully adaptive DAE solvers with the advantages of a simul-
taneous strategy. The real-time approach is characterized by an initial value embedding
strategy, that eciently exploits solution information in subsequent optimization problems.
Dovetailing of the solution iterations with the process development in a real-time iteration
scheme allows to reduce sampling times to a minimum, but maintains all advantages of a
fully nonlinear treatment of the optimization problems. It is shown how the computations
in each real-time iteration can be divided into a preparation phase and a considerably
shorter feedback phase, which avoids the delay of one sampling time that is present in all
previous NMPC schemes. A Gauss-Newton approach for least squares integrals is realized
which allows to compute an excellent Hessian approximation at negligible computational
costs.
The contraction properties of the algorithm are investigated theoretically, and contrac-
tivity of the real-time iterates is shown under mild conditions. Bounds on the loss of
optimality with respect to the optimal solution are established.
In an experimental proof-of-concept study the developed numerical methods are applied
to the NMPC of a pilot plant distillation column situated at the Institut für Systemdy-
namik und Regelungstechnik at the University of Stuttgart. A suitable system model is
developed, which is sti and comprises more than 200 state variables, and the system pa-
rameters are tted to experimental data. A variant of the Extended Kalman Filter (EKF)
is developed for state estimation. Using the real-time optimization algorithm, sampling
times of less than 20 seconds and feedback delays below 400 milliseconds could be realized
under practical conditions. The scheme shows good closed-loop performance, especially for
large disturbances.
In a numerical experiment, the periodic control of an unstable system, an airborne
kite that is ying loopings, is investigated. The algorithm shows excellent robustness and
real-time performance for this challenging on-line optimization example.

Keywords
Boundary Value Problems, Constrained Gauss-Newton, Dierential Algebraic Equations,
Direct Multiple Shooting, Distillation Columns, Dynamic Chemical Processes, Embedding
Techniques, Index One DAEs, Large-Scale Systems, Newton Type Methods, Nonlinear
Model Predictive Control, Optimal Feedback Control, Periodic Control, Real-Time Opti-
mization
Acknowledgements
I thank my advisors Prof. Dr. Dr. h.c. Hans Georg Bock and Dr. Johannes Schlöder, Inter-
disziplinäres Zentrum für Wissenschaftliches Rechnen (IWR), University of Heidelberg, for
their excellent support over the last three years, and for their contribution to major ideas of
the presented real-time optimization scheme. It was a pleasure to build on their extraor-
dinary knowledge in the area of dynamic optimization, and their open minded attitude
towards applied research deeply inuenced my view on mathematics and its applications.
I also thank Prof. Dr. Frank Allgöwer, Institute for Systems Theory in Engineering (IST),
University of Stuttgart, for the direct and indirect support that he provided for my work.
His enthusiasm initially convinced me to enter the area of Nonlinear Model Predictive
Control, and his talent to ask the right questions at the right time did decisively inuence
the course of my work.
I owe an enormous debt of gratitude to Rolf Findeisen from the IST, for his willing-
ness and extraordinary ability to explain engineering issues to a numerical analyst, which
helped considerably to make a fruitful and lasting collaboration possible. I want to thank
him and Dr. Ilknur Uslu and Stefan Schwarzkopf from the Institut für Systemdynamik
und Regelungstechnik (ISR), University of Stuttgart, for many inspiring discussions and
for their commitment to our project, the experimental application of nonlinear model pre-
dictive control to a pilot plant distillation column at ISR. All experimental results with
the distillation column were obtained together with them. Furthermore, I want to thank
Prof. Dr.-Ing. Dr. h.c. mult. Ernst Dieter Gilles, Dr.-Ing. Achim Kienle and Erik Stein,
Max-Planck-Institut für Dynamik komplexer technischer Systeme, Magdeburg, for support
of the project.
Many people have directly or indirectly contributed to the success of this work: rst
and foremost, I thank Dr. Daniel Leineweber, who not only introduced me into the world
of numerical process optimization, but also continued to be a constant source of advice. I
had the chance to build on the software in the simulation and optimization group at IWR,
especially on his well structured software package MUSCOD-II, which signicantly helped
towards the successful realization of the numerical methods developed in this thesis. I
also thank Andreas Schäfer, the coauthor of MUSCOD-II, for many invaluable discussions
about implementation details, and for his generous willingness to help with diverse software
problems. It was a pleasure to share a room with him.
I am grateful to Tobias Bürner, who provided valuable help in the area of parameter
and state estimation. Dr. Zoltan Nagy from Babes-Bolyai University, Cluj, Romania, de-
veloped large parts of the employed distillation model during a research stay in Heidelberg,
and I want to thank him and Rolf Findeisen for the productive time we had together in
Heidelberg. Moritz Wendt from the Institut für Prozess- und Anlagentechnik , Technical
University Berlin, gave helpful advice about the modelling of hydrodynamics.
In the very nal phase of this work, several colleagues helped with proofread-
ing and critical remarks. I especially thank Wolfgang Bangerth, Ulrich Brandt-
Pollmann, Dr. Chrys Correa, Julia Hartmann, Dr. Ekaterina Kostina, Jan Schrage and
Dr. Michael Winckler.
I heartily thank our group's secretary Margret Rothfuÿ for her contribution to the
friendly environment in the workgroup, and our system administrator Thomas Kloepfer
for many hours he spent helping me in various respects. I like to extend my thanks to the
other people of the group for creating the open and constructive atmosphere that made
my time there very pleasant.
Here I like to express my gratitude to Prof. Dr. Dr. h.c. mult. Willi Jäger for having
incited my interest in applied mathematics through his inspiring introductory lectures and
for his support and advice at several stages of my career. I thank him and the managing
board of directors of the IWR for creating a great environment for doing interdisciplinary
research. I have been particularly lucky to be a member of the IWR's postgraduate program
Modeling and Scientic Computing in Mathematics and Natural Sciences (Chairman:
Prof. Dr. Dr. h.c. Hans Georg Bock), which provided many inspiring interdisciplinary
contacts.
Financial support by the Deutsche Forschungsgemeinschaft (DFG) within this post-
graduate program as well as within the DFG-Schwerpunktprogramm Real-Time Opti-
mization of Large Systems in the project Echtzeit-Optimierung bei groÿen nichtlinearen
DAE Modellen der Verfahrenstechnik am Beispiel gekoppelter Destillationskolonnen is
gratefully acknowledged.
Finally, I happily thank my friends, my at mates, my family and my girlfriend Anne
for the wonderful support and encouragement at home.
Contents

Acronyms xi
List of Selected Symbols xiii
Introduction 1
1 Real-Time Optimal Control 9
1.1 Optimal Control Problems in DAE . . . . . . . . . . . . . . . . . . . . . . 9
1.1.1 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2 A Guiding Example: Continuous Stirred Tank Reactor . . . . . . . . . . . 12
1.2.1 Dynamic Model of the CSTR . . . . . . . . . . . . . . . . . . . . . 12
1.2.2 The Optimal Control Problem . . . . . . . . . . . . . . . . . . . . . 15
1.3 Optimal Feedback Control . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.1 Linearized Neighboring Feedback Control . . . . . . . . . . . . . . . 18
1.3.2 Innite Horizon Problems . . . . . . . . . . . . . . . . . . . . . . . 19
1.4 Nonlinear Model Predictive Control . . . . . . . . . . . . . . . . . . . . . . 21
1.4.1 Schemes to Ensure Nominal Stability . . . . . . . . . . . . . . . . . 21
1.4.2 Alternative Feedback Strategies . . . . . . . . . . . . . . . . . . . . 24

2 Direct Multiple Shooting 27


2.1 Problem Parameterization . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.1.1 Time Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.1.2 Control Discretization . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.1.3 State Parameterization . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.1.4 Discretization of Path Constraints . . . . . . . . . . . . . . . . . . . 30
2.2 The Nonlinear Programming Problem . . . . . . . . . . . . . . . . . . . . . 30
2.2.1 Free and Dependent Variables . . . . . . . . . . . . . . . . . . . . . 32

3 Local Optimality and SQP Methods 35


3.1 Local Optimality Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2 Piecewise Dierentiable Dependence on Perturbations . . . . . . . . . . . . 39
3.3 Sequential Quadratic Programming . . . . . . . . . . . . . . . . . . . . . . 44
3.3.1 The Full Step Exact Hessian SQP Method . . . . . . . . . . . . . . 44

vii
viii CONTENTS

3.3.2 Active Set Determination . . . . . . . . . . . . . . . . . . . . . . . 46


3.4 SQP for a Parameterized Problem Family . . . . . . . . . . . . . . . . . . 46
3.4.1 Large Disturbances and Active Set Changes . . . . . . . . . . . . . 50

4 Real-Time Iterations 53
4.1 Practical Real-Time Optimal Control . . . . . . . . . . . . . . . . . . . . . 53
4.1.1 A Conventional Approach . . . . . . . . . . . . . . . . . . . . . . . 54
4.1.2 The Real-Time Iteration Idea . . . . . . . . . . . . . . . . . . . . . 55
4.2 The Initial Value Embedding . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.3 Real-Time Iterations on Shrinking Horizons . . . . . . . . . . . . . . . . . 58
4.3.1 A Real-Time Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 59
4.3.2 Comparison with Linearized Neighboring Feedback Control . . . . . 60
4.3.3 Problems with Free Final Time . . . . . . . . . . . . . . . . . . . . 62
4.4 Real-Time Iterations on Moving Horizons . . . . . . . . . . . . . . . . . . . 63
4.4.1 Shift Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.4.2 Warm Start Technique . . . . . . . . . . . . . . . . . . . . . . . . . 65

5 Contractivity of the Real-Time Iterations 69


5.1 The O-Line Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.1.1 Newton Type Optimization Methods . . . . . . . . . . . . . . . . . 70
5.1.2 The Constrained Gauss-Newton Method . . . . . . . . . . . . . . . 71
5.1.3 Sucient Conditions for Local Convergence . . . . . . . . . . . . . 73
5.2 The On-Line Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.2.1 The Fixed Control Formulation . . . . . . . . . . . . . . . . . . . . 77
5.2.2 Fixing Some Controls . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.2.3 Convergence of the Real-Time Iterations . . . . . . . . . . . . . . . 85
5.3 Comparison of On-Line and O-Line Solutions . . . . . . . . . . . . . . . . 89
5.3.1 Distance to Optimal Solutions . . . . . . . . . . . . . . . . . . . . . 89
5.3.2 Size of First Step after Initial Value Embedding . . . . . . . . . . . 90
5.3.3 Bounds on the Loss of Optimality . . . . . . . . . . . . . . . . . . . 91

6 A Close Look at one Real-Time Iteration 93


6.1 Problem Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.2 The Partial Reduction Technique . . . . . . . . . . . . . . . . . . . . . . . 95
6.3 Ecient Sensitivity Computation . . . . . . . . . . . . . . . . . . . . . . . 97
6.3.1 Directional Derivatives . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.4 A Gauss-Newton Method for Integral Least Squares Terms . . . . . . . . . 100
6.4.1 A Partially Reduced Hessian Approximation . . . . . . . . . . . . . 100
6.5 QP Solution by a Condensing Approach . . . . . . . . . . . . . . . . . . . 101
6.5.1 First Condensing Step . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.5.2 Second Condensing Step and Immediate Feedback . . . . . . . . . . 103
6.5.3 Expansion of the QP Solution . . . . . . . . . . . . . . . . . . . . . 105
6.6 A Riccati Recursion Approach . . . . . . . . . . . . . . . . . . . . . . . . . 106
CONTENTS ix

6.6.1 Backwards Recursion . . . . . . . . . . . . . . . . . . . . . . . . . . 107


6.6.2 Immediate Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.6.3 Forward Recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.6.4 Comparison of Condensing and Riccati Recursion . . . . . . . . . . 109
6.7 Division into Preparation and Feedback Phase . . . . . . . . . . . . . . . . 110
6.7.1 Five Computation Steps . . . . . . . . . . . . . . . . . . . . . . . . 110
6.7.2 The O-Line Steps in a Rotated Order . . . . . . . . . . . . . . . . 110

7 Control of a Distillation Column 113


7.1 The Distillation Column . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.1.1 The DAE Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.2 Determination of the System Parameters . . . . . . . . . . . . . . . . . . . 119
7.2.1 Static System Parameters . . . . . . . . . . . . . . . . . . . . . . . 120
7.2.2 Dynamic System Parameters . . . . . . . . . . . . . . . . . . . . . . 121
7.3 Optimal Control Problem Formulation . . . . . . . . . . . . . . . . . . . . 123
7.3.1 Steady State Determination . . . . . . . . . . . . . . . . . . . . . . 124
7.3.2 The Optimal Control Problem . . . . . . . . . . . . . . . . . . . . . 124
7.3.3 Numerical Realization . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.4 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.4.1 NMPC Controller Setup . . . . . . . . . . . . . . . . . . . . . . . . 127
7.4.2 PI Controller Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.5 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.5.1 Feed Flow Change . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.5.2 Feed Concentration Change . . . . . . . . . . . . . . . . . . . . . . 130
7.5.3 Short Reux Breakdown . . . . . . . . . . . . . . . . . . . . . . . . 131
7.5.4 Large Disturbance Scenario . . . . . . . . . . . . . . . . . . . . . . 133
7.5.5 Brief Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

8 Control of a Looping Kite 139


8.1 The Dual Line Kite Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
8.1.1 Newton's Laws of Motion in Polar Coordinates . . . . . . . . . . . 139
8.1.2 Kite Orientation and the Aerodynamic Force . . . . . . . . . . . . . 141
8.2 A Periodic Orbit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
8.2.1 Stability Analysis of the Open-Loop System . . . . . . . . . . . . . 146
8.3 The Optimal Control Problem . . . . . . . . . . . . . . . . . . . . . . . . . 147
8.4 Closed-Loop Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

Conclusions and Outlook 153


A An Extended Kalman Filter Variant 157
A.1 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
A.2 The EKF Type Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
A.3 Heuristic Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
B Details of the Distillation Model 163
C Proof of Theorem 3.4 167
D Proof of Theorem 5.3 171
E The Recursive Condensing Technique 173
Bibliography 175
Acronyms

BDF Backward Dierentiation Formulae


CSTR Continuous Stirred Tank Reactor
DAE Dierential Algebraic Equation
EKF Extended Kalman Filter
END External Numerical Dierentiation
HJB Hamilton-Jacobi-Bellman
IND Internal Numerical Dierentiation
IPM Interior-Point Method
IVP Initial Value Problem
LMPC Linear Model Predictive Control
LQR Linear Quadratic Regulator
KKT Karush-Kuhn-Tucker
NLP Nonlinear Programming
NMPC Nonlinear Model Predictive Control
ODE Ordinary Dierential Equation
PRSQP Partially Reduced Sequential Quadratic Programming
QIH Quasi-Innite Horizon
QP Quadratic Programming
RHC Receding Horizon Control
SQP Sequential Quadratic Programming
ZTC Zero Terminal Constraint

xi
List of Selected Symbols

Symbol Meaning Dened in

G equality constraint function Sec. 3.1


G̃ equalities and active inequalities Sec. 3.1
G̃s equalities and stricly active inequalities Sec. 3.1
H inequality constraint function Sec. 3.1
H act active components of H, Sec. 3.1
H s.act strongly active components of H Sec. 3.1
H w.act weakly active components of H Sec. 3.1
λ Lagrange multiplier vector for equality constraints Sec. 3.1
µ Lagrange multiplier vector for inequality constraints Sec. 3.1
N number of multiple shooting intervals Sec. 2.1
p constant system parameter vector Sec. 1.1
Poc (x0 ) optimal control problem for initial value x0 Sec. 1.1.1
P (x0 ) multiple shooting NLP for initial value x0 Sec. 2.2
P (t) NLP for xed homotopy parameter t Chap. 3
P̆ (t̆) augmented version of P (t) Sec. 3.4
Pk (xk ) k -th shrinking horizon problem, initial value xk Sec. 4.3
Pk xed control formulation of Pk (xk ) Sec. 5.2.1
q vector of free NLP variables (controls q0 , . . . , qN −1 ) Sec. 2.2
qi control parameter value on i-th multiple shooting interval Sec. 2.1
s vector of dependent NLP variables (states s0 , . . . , s N ) Sec. 2.2
x z
si state node value si = (si , si ) Sec. 2.1
sxi dierential state node value Sec. 2.1
szi algebraic state node value Sec. 2.1

xiii
xiv List of Selected Symbols

Symbol Meaning Dened in

T length of the time horizon Sec. 1.1.1


T (x0 ) optimal horizon length for problem Poc (x0 ) Sec. 1.1.1
t 1) physical time Sec. 1.1
t 2) scalar parameter for problems P (t) Chap. 3
τ rescaled time τ = t/T Sec. 2.1.1
u control vector Sec. 1.1
uS steady state controls Sec. 1.2
uf (x) optimal feedback control (shrinking horizon) Eq. (1.5)
uf∞ (x) optimal feedback control (innite horizon) Sec. 1.3.2
ufT (x) NMPC feedback control (horizon length T) Sec. 1.4
u∗ (t; x0 ) optimal control trajectory for problem Poc (x0 ) Sec. 1.1.1
w vector of all NLP variables w = (q, s) Sec. 2.2
x dierential state vector Sec. 1.1
xcl dierential state of closed-loop system Sec. 1.3
x0 initial value Sec. 1.1
xS dierential steady state Sec. 1.2
x∗ (t; x0 ) optimal dierential state trajectory for problem Poc (x0 ) Sec. 1.1.1
y KKT triple y = (w, λ, µ) Sec. 3.3
y∗ 1) solution of o-line problem (= y0∗) Sec. 5.1
y∗ 2) real-time iteration limit point Sec. 5.2
yk∗ solution of shrunk problem P
k
Sec. 5.3
z algebraic state vector Sec. 1.1
zcl algebraic state of closed-loop system Sec. 1.3
z ∗ (t; x0 ) optimal algebraic state trajectory for problem Poc (x0 ) Sec. 1.1.1
Introduction

Optimization techniques have a fundamental impact on current industrial practice. Opti-


mization plays a crucial role not only in operations research and in product design, but also
in the design of dynamic industrial processes . In many cases, an optimal control problem
is solved o-line, i.e., before the actual process operation begins, and a variety of highly
developed algorithms have been developed to attack this task.
In practical applications, however, control trajectories that are the result of an o-line
optimization are of limited applicability, as the real process does not typically coincide
completely with the mathematical model and is most probably subject to disturbances.
Therefore, the generation of optimization-based feedback controls is of major practical
interest. As optimal feedback controls cannot usually be precalculated in advance for all
possible disturbances, the need for real-time optimization of the controlled process arises.

Model Predictive Control


The idea of model predictive control (MPC) is to determine the control at time t0 by
solving an optimal control problem on a prediction horizon [t0 , t0 + T ] (see Fig. 1). The
resulting optimal controls are given to the real process for a short time δ only, and at time
t0 + δ a new problem is solved on a horizon [t0 + δ, t0 + T + δ] that is moved forward. A
sequence of optimization problems is formulated and solved in real-time, which provides
the possibility of reacting to disturbances. Linear model predictive control (LMPC), that
is based on constrained linear system models, has achieved a state of considerable maturity
(cf. García et al [GPM89], Lee et al. [LMG94]). It has had a strong impact on industrial
control practice and LMPC techniques are nowadays widely applied, especially in the
process industries (cf. Qin and Badgwell [QB96]).

Nonlinear Model Predictive Control


For processes operating during load changes, or for batch and periodic processes, however,
nonlinear models that are based on rst principles are expected to capture the system be-
haviour more accurately than linear ones. Nonlinear model predictive control (NMPC)
promises to increase productivity and control performance and has long been investi-
gated theoretically (for overview articles see e.g. Rawlings et al. [RMM94], Allgöwer et
+
al. [ABQ 99], De Nicolao et al. [DMS00], or Mayne [May00]).

1
2 Introduction


 past  prediction horizon 

x(t) predicted
state
current state
x0 

optimized
controls
past controls u0 u(t)
   
t0 t0+δ ... t0 +T

Figure 1: The principle of model predictive control: The optimization problem at time t0 ,
for the current system state x0 .

In the industry, however, NMPC is still being perceived as an academic concept rather
than a practicable control strategy, and in a recent survey, Qin and Badgwell [QB00]
report only 88 NMPC applications worldwide, only 5 of which are based on rst principle
models. As detailed nonlinear process models are increasingly being used for the design
+
of industrial processes (see, e.g. Pantelides and Barton [PB93], Ross et al. [RBP 99],
or Sorensen [Sor99]) they may, as a byproduct, also become easily available for NMPC
applications.
The diculty of solving the arising optimal control problems in real-time, however, is
widely regarded as the principal impediment to a practical application of NMPC. In their
survey, Qin and Badgwell [QB00] point out that speed and the assurance of a reliable
solution in real-time are major limiting factors in existing applications.
In this thesis, we present a new approach to respond to the challenge of real-time
optimization in NMPC.

Existing Real-Time Optimization Approaches


In the last decade, the area of numerical techniques for the on-line solution of dynamic
optimization problems in NMPC has undergone rapid development. Most real-time ap-
proaches are applications of optimal control methods which were originally developed for
o-line use, and therefore they can be easily classied within the established framework of
dynamic optimization methods.
3

Dynamic optimization algorithms based on the direct solution approach have proven
to be particularly successful for the practical solution of constrained optimal control prob-
lems. In the direct approach, the originally innite optimal control problem is parame-
terized to yield a nite dimensional Nonlinear Programming (NLP) problem, that can be
solved eciently by highly developed variants of sequential quadratic programming (SQP)
(Han [Han76] and Powell [Pow78]). A variety of strategies for formulating the nite di-
mensional NLP exists. The approaches can roughly be classied into sequential and simul-
taneous solution strategies.

Sequential Approach
The sequential approach parameterizes the control trajectory and eliminates the cor-
responding state trajectory from the optimization problem by a numerical solution of
the dynamic model equations (cf. Hicks and Ray [HR71], Sargent and Sullivan [SS78],
Kraft [Kra85]). Only the control parameters remain as degrees of freedom in the NLP. Sim-
ulation and optimization calculations are performed sequentially , one after the other. The
approach can easily be coupled with advanced simulation tools and is applied in many prac-
tical o-line applications (cf. e.g. Pantelides et al. [PSV94], Vassiliadis [VSP94a, VSP94b],
Engl et al. [EKKvS99]; an overview of existing software packages can be found in Binder
+
et al. [BBB 01]).
Many real-time optimization schemes for NMPC are based on the sequential approach.
We particularly mention the so called multistep, Newton-type control algorithm that was
proposed by Li and Biegler [LB89] and de Oliveira and Biegler [OB95b] and which cor-
responds to a constrained Gauss-Newton method. This approach was often applied for
numerical tests of NMPC, see e.g. Abel et al. [ADM95] and M'hamdi et al. [MHAM96]. A
sequential approach was also used, e.g., by Weber [Web95] and Chen [Che97]. For a large-
scale application of the sequential approach in real-time optimization see also Kronseder
et al. [KvSB01].
Sequential optimization schemes for NMPC suer from the drawback that poor initial
guesses for the control trajectory may lead the predicted state trajectories far away from
desired reference trajectories. This often causes an unnecessarily strong nonlinearity of
the resulting NLPs and poor convergence behaviour, especially for unstable systems. In
some cases, an open-loop simulation on a longer horizon is even impossible (see Fig 8.4 in
Chap. 8 for an example).

Simultaneous Approach
The simultaneous approach avoids this diculty by parameterizing both, the control and
the state trajectory, and by solving the dynamic model equations and the control op-
timization problem simultaneously in a large constrained NLP. The parameterized state
trajectory becomes a part of the optimization variables, and instability and nonlinearity
of the dynamic model can be better controlled.
4 Introduction

Many researchers have applied collocation in order to parameterize the dynamic model
(see e.g. Tsang et al. [THE75], Bock [Boc83], Biegler [Bie84], Cuthrell and Biegler [CB89],
Schulz [Sch96]), resulting in very large, but also very sparse NLPs. The collocation ap-
proach has been proposed for the solution of NMPC optimization problems by Biegler
in [Bie00].
A second simultaneous approach to optimal control, the direct multiple shooting
method, was presented by Plitt in 1981 [Pli81]. This method forms the basis for our
real-time algorithm. The optimization horizon of interest is divided into a number of
subintervals with local control parameters, and the dynamic model equations are solved
independently on each of these subintervals, cf. Chap. 2. Continuity of the state trajectory
from one interval to the next is enforced on the NLP level only, thus oering the possi-
bility to deal with unstable and strongly nonlinear system models, as collocation. The
method has long been known as a fast o-line optimization method in ODE and DAE (see
e.g. Bock et al. [BP84, BES88, Boc87, BBLS99], Tanartkit and Biegler [TB95, TB96],
+
Leineweber [Lei96, Lei99], Petzold et al. [PRG 97], Hinsberger et al. [HMP96, Hin98]).
Recently, the direct multiple shooting method was proposed for real-time optimization
problems and NMPC. Santos et al. [SOB95] emphasize the strength of the method in
dealing with unstable modes and apply it to an NMPC simulation example, the Tennesse
Eastman problem (Downs and Vogel [DV93]), but do not address the question of real-time
feasibility. Leineweber et al. [LBS97] proposes a scheme for the fast reoptimization of batch
processes after large disturbances and presents an application example from biochemical
engineering.
In the last year, an experimental feasibility study of NMPC based on the conventional
+
direct multiple shooting method has been presented by Santos et al. [SAC 00, San00],
for an experimentally simulated unstable continuous stirred tank reactor. The nonlinear
rst principle model consists of four dierential states and two controls. Choosing short
prediction horizons, optimization times of a few seconds are realized, which is suciently
fast for the considered example.
Despite these successful applications of direct multiple shooting to real-time optimiza-
tion, the use of an algorithm that was essentially designed for o-line use certainly has
its limits, and this fact is reected in the moderate system sizes of the above examples.
Large scale problems with strict real-time constraints have therefore not been treated in
experimental application examples so far.

The Conventional Scheme


Most numerical real-time optimization schemes are based on the idea that one moving
horizon optimization problem can be formulated after the other, and that each of these
problems can be solved independently, with higher or lower accuracy. The solution method
itself is, in direct approaches, typically an iterative SQP type method. The following
algorithmic scheme summarizes the conventional scheme:

1. Formulate an optimization problem according to the k -th data


5

2. Initialize the solution procedure.

3. Perform iterations.

4. Stop when a termination criterion is satised (or when the time limit is reached)

5. Give the rst control value to the plant.

6. Increase k by one and go to 1.

The focus is on chosing an ecient o-line method and to formulate the optimization
problems in such a way that the real-time requirements can be met. Note that a delay of
one sampling time is present in this scheme.

The Real-Time Iteration Scheme


In contrast to a conventional scheme, our real-time iteration approach shifts the focus from
the sequence of optimization problems towards the solution algorithm itself. The algorithm
is regarded to be iterating continuously  and while the algorithm is iterating, the problem
data are modied from one iteration to the next. The scheme can be sketched as follows:

1. Prepare the k -th real-time iteration as far as possible without knowledge of the k -th
data.

2. When the k -th data are available, modify the problem, and perform quickly those
calculations that are necessary to obtain the rst control value.

3. Give this control value immediately to the plant.

4. Perform the remaining calculations of the k -th iterate.

5. Increase k by one and go to 1.

This approach does only perform one iteration per sampling time and thus allows to reduce
the sampling times considerably. Furthermore, the feedback step 2 is itself much shorter
than a full iteration, so that the response delay can practically be avoided. Note that
the scheme still oers the advantages of a fully nonlinear treatment of the optimization
problems.
The approach can only perform well if the iteration scheme has good contraction prop-
erties  this is typically the case for simultaneous approaches like direct multiple shooting
 and if the problem modications are implemented in such a way that they have minimal
interference on the iterates.
6 Introduction

The Initial Value Embedding Strategy


The crucial observation is that essentially one parameter suces to distinguish between
dierent optimization problems, the initial value x0 of the state trajectory (cf. Fig. 1). If
derivative information with respect to x0 is available, which is the case for simultaneous
solution approaches, neighboring problems can be initialized very eciently by a so called
initial value embedding strategy. After each problem modication, the strategy obtains
an excellent rst order correction in the state and control trajectory that is based on the
previous system linearization. Roughly spoken, the approach allows the inclusion of linear
MPC feedback into the predicted trajectory, before a new system linearization is performed.
The approach exploits the similarity between subsequent problems as much as possible. In
conjunction with the excellent contraction properties of a simultaneous solution approach
like direct multiple shooting, the real-time iterates stay very close to the exact solutions of
the optimization problem.

The idea to dovetail the solution iterations by employing the initial value embedding
idea was rst proposed by Bock et al. [BDLS00], with a focus on shrinking horizon pro-
cesses. The initial value embedding strategy without a dovetailing of iterations and pro-
cess was implemented in a rst version of the on-line direct multiple shooting method
(Diehl [Die98]), and several numerical feasibility studies have been carried out with this
algorithm: in Diehl et al. [DBLS99] real-time feasibility of the NMPC of a continuous
stirred tank reactor is shown for rather long control horizons (cf. Sec 1.2); in Nagy et
+ + +
al. [NFD 00], Allgöwer et al. [AFN 00], and Findeisen et al. [FAD 00] the NMPC of a
large scale process control example, namely a binary distillation column, is considered, and
real-time feasibility is demonstrated in numerical simulations.
In this thesis we present the newly developed real-time iteration scheme and inves-
tigate the contraction properties of the approach, and present experimental results that
have been obtained by an application of the developed algorithm to the NMPC of a pilot
plant distillation column at the Institut für Systemdynamik und Regelungstechnik (ISR),
University of Stuttgart, employing a sti DAE optimization model with over 200 states.

We mention here that several singular features of algorithm have been presented by
other researchers in the area of practical real-time optimization.
In particular, a one-iteration scheme has been proposed by Li and Biegler [LB89], for the
sequential approach. Their scheme, however, did not include the initial value embedding
strategy for the initialization from one problem to the next, and it seems that the scheme
was not further pursued in application examples. In a subsequent paper, de Oliveira and
Biegler [OB95a] focus on the converged form of the algorithm, which essentially equals a
1
conventional Gauss-Newton method for the sequential approach.
In the application of conventional optimization schemes to on-line control, the question
of how to initialize subsequent problems has found some attention in the literature. Lieb-
man [LEL92] observes that warm starts of the optimization algorithm can save up to 80%
1 Note
that it would be possible to combine the initial value embedding idea with a sequential approach,
though it is not as straightforward as for simultaneous approaches.
7

computation time, cf. also Biegler and Rawlings [BR91]. A shift strategy that accounts for
the movement of the optimization horizon forward in time is proposed, e.g., by de Oliveira
and Biegler [OB95a] for the sequential approach.

Highlights of the Thesis and Overview


The aim of this thesis is threefold. First, we want to describe in full detail how the real-time
iteration scheme can be realized for the direct multiple shooting method. This is done in
Chapters 2, 4 and 6. Secondly, the theoretical properties of the scheme are investigated
in Chapter 5, which contains a contractivity result and bounds on the loss of optimality.
Finally, we demonstrate the practical applicability of the approach in an experimental
study that involves the NMPC of a pilot plant distillation column, which is modelled by a
large scale process model (Chapter 7), and show in a simulation study that the approach
can successfully be applied to an unstable periodic control example with strict real-time
requirements (Chapter 8).

1. In Chapter 1, we introduce the class of real-time optimal control problems that


can be treated with our approach. We also introduce a guiding example problem
from chemical engineering that will be used several times in the thesis for illustra-
tive purposes. Some theory regarding optimal feedback control and nonlinear model
predictive control is briey reviewed.

2. The direct multiple shooting parameterization is reviewed in Chapter 2 and the


parameterized nonlinear programming (NLP) problem that will be regarded in the
remainder of this thesis is formulated and discussed.

3. In Chapter 3, we recall optimality conditions for constrained NLPs and review a


result from parametric optimization, which investigates the solution of neighboring
optimization problems. The Sequential Quadratic Programming (SQP) technique is
described, and its astonishing power in the solution of perturbed optimization prob-
lems is shown for a one dimensional analog of the initial value embedding strategy.

4. The new real-time iteration algorithm is presented in Chapter 4. We present the


initial value embedding strategy and show how the approach can be realized on
shrinking and on moving horizons.

5. Chapter 5 contains the major theoretical results of this thesis. After a review of the
convergence properties for general o-line Newton type methods in Sec. 5.1, we show
contractivity of the real-time iterates for the on-line problem on shrinking horizons
(Sec. 5.2). The contractivity result is exploited to investigate the properties of the
on-line solution, compared to the optimal o-line solution.

6. The specic algorithmic realization of one real-time iteration is described in Chap-


ter 6. The chapter mostly presents well known techniques from the o-line direct
8 Introduction

multiple shooting method in a new setting, leading to the division into preparation
and feedback phase. However, a newly developed Gauss-Newton approach for least
squares integrals is presented in Sec. 6.4, which can be employed for both, the o-
and the on-line direct multiple shooting method.

7. Experimental results are presented in Chapter 7. The study involves the NMPC of a
pilot plant distillation column using a sti dierential algebraic optimization model
with over 200 states. We develop the system model and describe how the system
parameters were determined using experimental data from the real column. The
experimental results demonstrate that NMPC with a large scale process model is
feasible.

8. To demonstrate the power and versatility of the proposed real-time iteration scheme,
we present in Chapter 8 numerical simulations for an unstable periodic control exam-
ple, namely an airborne kite. Control aim is to let the kite y loopings. A new kite
model is developed and a periodic orbit determined. Numerical tests show the real-
time feasibility and an astonishing robustness of the real-time optimization approach
even for large disturbances.

9. We nally conclude this thesis with a summary and an outlook of interesting future
developments.

The developed real-time algorithm, that has also been presented in some publications
+ + +
(Bock et al. [BDS 00], Diehl et al. [DBS 01, DUF 01]), is currently considered for use in
an industrial application.
Chapter 1

Real-Time Optimal Control

In this chapter we will rst introduce a general class of optimal control problems for which
our algorithms are designed, and review some theory regarding optimal feedback control
and nonlinear model predictive control.

1.1 Optimal Control Problems in DAE


Dierential Algebraic System Models
Let us assume that a system that we want to control can be described by a dierential-
algebraic equation (DAE) model of the following form:

B(x(t), z(t), u(t), p, t) · ẋ(t) = f (x(t), z(t), u(t), p, t)


0 = g(x(t), z(t), u(t), p, t).

Here, x ∈ R nx and z ∈ R nz denote the dierential and the algebraic state vectors, re-
spectively, u ∈ R u is the vector valued control function, whereas p ∈ R p is a vector of
n n

constant system parameters such as reaction constants or material parameters.


∂g
We also assume that the Jacobian
∂z
(·) and the matrix B(·) are invertible, so that the
DAE is of index-one and of semi-explicit type.

Objective Functional
Let us introduce a general Bolza type objective functional on a time horizon [t0 , tf ] with
start time t0 and nal time tf
 tf
L(x(t), z(t), u(t), p, t) dt + E(x(tf ), z(tf ), p, tf ),
t0

where L is often called the Lagrange term, and E the Mayer term of the objective. This
objective functional denes the overall costs that shall be minimized.

9
10 Real-Time Optimal Control

Least Squares Objectives for Tracking Problems: An important subclass of optimal


control problems are tracking problems that have as their aim to determine controls that
lead the system state or more general an output function l(x(t), z(t), u(t), p, t) ∈ R l close
n

to some specied reference output trajectory l (p, t) ∈ R on the interval t ∈ [t0 , tf ].


r nl

Typically, the distance from the reference trajectory is measured by the integral of a
squared dierence, that may be weighted by a positive denite matrix Q, so that the
integral

 tf
1
Q 2 · (l(x(t), z(t), u(t), p, t) − lr (t, p))22 dt
t0

1
shall be minimized.
By redening l(x(t), z(t), u(t), p, t), we can assume that Q=I and lr (p, t) = 0, ∀ t ∈
[t0 , tf ]. By also introducing a least squares Mayer term with a vector valued residual
function e(x(tf ), z(tf ), p, tf ) ∈ R ne , the general form of an objective functional in least
squares form is given as

 tf
l(x(t), z(t), u(t), p, t)22 dt + e(x(tf ), z(tf ), p, tf )22 .
t0

This form can be exploited for the ecient solution of the optimization problems by a
Gauss-Newton approach that is presented in Section 6.4.

Path Constraints and Boundary Conditions


The state and control trajectories are required to satisfy so called path constraints on the
horizon of interest

h(x(t), z(t), u(t), p, t) ≥ 0, t ∈ [t0 , tf ].

The most common form of this constraint type are minimum and maximum values for the
controls, but also e.g. safety restrictions on the system state may enter here. In addition,
terminal equality or inequality constraints

r e (x(tf ), z(tf ), p, tf ) = 0
r i (x(tf ), z(tf ), p, tf ) ≥ 0

may be imposed, e.g. to specify that a semi-batch process should stop when the tank is
full. In some nonlinear model predictive control formulations, the terminal constraints help
to guarantee nominal stability (cf. Sec. 1.4.1).
One constraint that plays an important role in the presented algorithms is the initial
value constraint

x(t0 ) = x0 .
1 We nl
use the denition l22 := 2
i=1 li .
1.1 Optimal Control Problems in DAE 11

We will also treat the xed parameters p and the initial time t0 as if they were constrained
variables:

p = p̄
t0 = t̄0

The introduction of t0 and p as trivially constrained optimization variables seems to be an


unnecessary blow-up of the problem. However, this formulation will turn out to be crucial
for the proposed real-time algorithms.

Elimination of Parameter and Time Dependence


For notational simplicity we will in the remainder of this thesis drop the dependence of the
problem functions on the system parameters p and the time t. This is no loss of generality:
by introducing an augmented state vector

   
x x0
x̃ := p 
 and initial condition x̃0 :=  p̄  ,
t̃ t̄0

and introducing the augmented dierential equation B̃(·) x̃˙ = f˜(·) with

   
B(·) 0 0 f (·)
B̃(·) :=  0 Inp 0  , and f˜(·) :=  0  ,
0 0 1 1

the original formulation of the initial value problem formulation can be recaptured if the
clock variable t̃(t) is inserted wherever a direct dependence of the time t was present.
Note, however, that the trivial additional dierential equations are treated indepen-
dently from the others in the numerical solution procedures, for reasons of eciency. Fur-
thermore, only those parameters p that may have dierent values at practically relevant
process conditions should be kept in this way, whereas all denitely known parameters can
be taken as constants that are hidden in the problem functions.
As the optimization problem has become time independent, the time horizon of interest
may start at t0 = 0. Let us dene T to be the horizon length.
If the nal time tf should be xed, this can now be achieved by formulating a terminal
equality constraint

r e (x̃(T )) := t̃(T ) − tf = 0.

Note that in this case the duration T depends implicitly on the initial value x̃0 , because
at a feasible solution tf = t̃(T ) = t̃(0) + T = t̄0 + T , so that T = tf − t̄0 .
12 Real-Time Optimal Control

1.1.1 Problem Formulation


We can now formulate an optimal control problem

 T
Poc (x0 ) : min L(x(t), z(t), u(t)) dt + E(x(T ), z(T )) (1.1a)
u(·), x(·), 0
z(·), (T )

subject to

B(x(t), z(t), u(t)) · ẋ(t) − f (x(t), z(t), u(t)) = 0, t ∈ [0, T ], (1.1b)

g(x(t), z(t), u(t)) = 0, t ∈ [0, T ], (1.1c)

x(0) − x0 = 0, (1.1d)
e
r (x(T ), z(T )) = 0, (1.1e)

r i (x(T ), z(T )) ≥ 0, (1.1f )

h(x(t), z(t), u(t)) ≥ 0, t ∈ [0, T ]. (1.1g)

The length T may either be xed, or appear as a degree of freedom in the optimization
problem.
Solving the optimal control problem (1.1) for an initial value x0 we obtain optimal tra-
∗ ∗ ∗
jectories x (t; x0 ) and z (t; x0 ) and an open-loop optimal control u (t; x0 ), for t ∈ [0, T (x0 )].
In order to keep the dependency of the optimal trajectories on the initial value x0 in mind,
we have taken them as additional arguments to the solution functions.
We shall now introduce as a guiding example an optimal control problem from chemical
engineering, which will be cited several times in this thesis for illustrative purposes.

1.2 A Guiding Example: Continuous Stirred Tank Re-


actor
Let us consider a continuous stirred tank reactor (CSTR) model that was introduced by
Chen et al. [CKA95] as a benchmark example for Nonlinear Model Predictive Control. The
reactor is designed to produce cyclopentenol from cyclopentadiene by an acid-catalyzed
electrophilic hydration in aqueous solution, an exothermal reaction that makes a cooling
jacket necessary. The considered ODE model was originally introduced by Klatt and
Engell [KE93].

1.2.1 Dynamic Model of the CSTR


A schematic diagram of the reactor (taken from [CKA95]) is shown in Fig. 1.1. The reac-
tion and heat transfer scheme developed by Klatt and Engell [KE93] is based on physical
modelling; it leads to an ODE model with four states and two controls.
1.2 A Guiding Example: Continuous Stirred Tank Reactor 13

Figure 1.1: Schematic diagram of the CSTR (as shown in [CKA95])

The feed inow has temperature ϑ0 and contains only cyclopentadiene (substance A)
with concentration cA0 . Its ow rate V̇ can be controlled. In order to keep the liquid tank
volume constant, the outow is kept at the same rate as the inow. The outow contains a
remainder of cyclopentadiene, the product cyclopentenol (substance B), and two unwanted
by-products, cyclopentanediol (substance C) and dicyclopentadiene (substance D), with
concentrations cA , cB , cC , and cD . The scheme for this so-called van der Vusse reaction is
given as

1 k
2 k
A −→ B −→ C
k3
2A −→ D.

The reaction rates ki depend on the reactor temperature ϑ via an Arrhenius law

 
Ei
ki (ϑ) = ki0 · exp , i = 1, 2, 3.
ϑ/o C + 273.15

The temperature ϑK in the cooling jacket is held down by an external heat exchanger
whose heat removal rate Q̇K can be controlled. As the substances C and D are unwanted
and do not react further, it is not necessary to keep track of their concentrations.
14 Real-Time Optimal Control

The nonlinear ODE model can be derived from component balances for the substances
A and B in the aqueous solution, and from enthalpy balances for the reactor and cooling
jacket:


c˙A = (cA0 − cA ) −k1 (ϑ)cA −k3 (ϑ)c2A
VR


c˙B = − cB +k1 (ϑ)cA −k2 (ϑ)cB
VR

V̇ kw AR (1.2)
ϑ̇ = (ϑ0 − ϑ) + (ϑK − ϑ)
VR ρCp VR
1

− k1 (ϑ)cA H1 + k2 (ϑ)cB H2 + k3 (ϑ)c2A H3


ρCp

1
ϑ˙K = Q̇K + kw AR (ϑ − ϑK ) .
mK CP K
Here, CP K and Cp denote the heat capacities of coolant and aqueous solution, ρ the solu-
tion's density, H1 ,H2 , and H3 the reaction enthalpies. Values of these parameters as well
as for the Arrhenius coecients ki0 and Ei for i = 1, 2, 3 and the employed reactor specic
quantities (volume VR , surface AR and heat transfer coecient kW for cooling jacket and
coolant mass mK ) are listed in Table 1.1. By introducing the system state x and the
control vector u as

cA  
 cB  V̇
x=
 ϑ 
 and u= VR
Q̇K
ϑK
we can summarize Eqs. (1.2) as

ẋ = f (x, u).
cB |S
The result of a steady state optimization of the yield
cA0
=
with respect to the design
parameter ϑ0 (feed temperature) and the two controls yields the steady state and controls
 
2.1402 mol
l  
 1.0903 mol  14.19 h−1
xS =  l 
 114.19 ◦ C  and uS = .
−1113.5 kJ
h
112.91 ◦ C
We will take this steady state as a desired reference value in the optimal control problem
that follows  please note that it is of no importance in the following that xS , uS was itself
the result of an optimization; the only property that is important for the optimal control
problem is that f (xS , uS ) = 0.
Note that we do not introduce the constant system parameters as additional variables,
because we assume that they will never be subject to changes.
1.2 A Guiding Example: Continuous Stirred Tank Reactor 15

Symbol Value Symbol Value


12 −1 kg
k10 1.287 ·10 h ρ 0.9342
l
kJ
k20 1.287 ·1012 h−1 Cp 3.01
kg·K
kJ
k30 9.043 ·109 h−1 kw 4032
h·m2 ·K
2
E1 -9758.3 AR 0.215 m
E2 -9758.3 VR 10 l
E3 -8560 mK 5 kg
kJ kJ
H1 4.2
mol
CP K 2.0
kg·K
kJ mol
H2 -11.0
mol
cA0 5.1
l
kJ ◦
H3 -41.85
mol
θ0 104.9 C

Table 1.1: Constant system parameters.

1.2.2 The Optimal Control Problem


Given an initial state x0 , the optimal control problem Poc (x0 ) is to steer the system safely
and quickly into the steady state xS . We take the formulation chosen by Chen in [Che97],
that aims at minimizing the integrated weighted quadratic deviaton of the trajectory from
the optimal steady state values. We dene a Lagrange term

L(x, u) := (x − xS )T Q(x − xS ) + (u − uS )T R(u − uS )

with diagonal matrices


 
0.2 mol−2 l2 0 0 0
 0 1.0 mol−2 l2 0 0 
Q := 
 ◦ −2


0 0 0.5 C 0
◦ −2
0 0 0 0.2 C

and
 
0.5h2 0
R := .
0 5.0 · 10−7 kJ−2 h2

Control bounds uLB ≤ u(t) ≤ uUB are given by


   
3.0 h−1 35.0 h−1
uLB := and uUB := ,
−9000 kJh
0 kJ
h

so that we dene the path inequality constraint function to be:


 
u(t) − uLB
h(x(t), u(t)) := ≥ 0.
uUB − u(t)

We formulate the following optimal control problem Poc (x0 ):


16 Real-Time Optimal Control

3
1

2
x

1
0 200 400 600 800 1000 1200 1400 1600 1800 2000
1.5
1
2
x

0.5
0 200 400 600 800 1000 1200 1400 1600 1800 2000
120
110
x3

100
0 200 400 600 800 1000 1200 1400 1600 1800 2000
120
110
x4

100
0 200 400 600 800 1000 1200 1400 1600 1800 2000
25
20
1
u

15
10
0 200 400 600 800 1000 1200 1400 1600 1800 2000
0
−1000
2
u

−2000
0 200 400 600 800 1000 1200 1400 1600 1800 2000
time [s]

Figure 1.2: Example solution of the optimization problem (1.3). The rst four graphs show

the optimal state trajectories x (t; x0 ) and the last two the optimal control trajectories

u (t; x0 ).
1.3 Optimal Feedback Control 17
 T
min L (x(t), u(t)) dt (1.3)
u(·),x(·) 0
subject to

ẋ(t) = f (x(t), u(t)) , ∀ t ∈ [0, T ],


x(t0 ) = x0 ,
h(x(t), u(t)) ≥ 0, ∀ t ∈ [0, T ].

In contrast to the formulation chosen in [Che97] we choose a considerably longer horizon


length of T = 2000 seconds, which is suciently large to allow the assumption that our
problem formulation is a good approximation for T = ∞.
∗ ∗
The optimal trajectories x (t; x0 ) and u (t; x0 ) of an example solution of this optimiza-
tion problem for the initial value

 
1.0 mol
l
 0.5 mol 

x0 :=  l  (1.4)
100 ◦ C 
100 ◦ C

are shown in Figure 1.2.

1.3 Optimal Feedback Control


Let us for a moment assume that we can precompute, for all x0 ∈ R nx
for which the

optimization problem Poc (x0 ) has a solution, the optimal control trajectories u (t; x0 ) as
∗ ∗
well as the corresponding optimal state trajectories x (t; x0 ) and z (t; x0 ) on the time
horizon t ∈ [0, T (x0 )]. We will assume that T is not xed, but open to optimization. The
length T may, however, be determined by the nal state constraint (1.1e), e.g. in the case
of a xed end time tf . Note that in this case the clock variable t̃ is part of the system
state x.

Let us pick a xed value of x0 and consider the optimal solution trajectories x (·; x0 ),
∗ ∗
z (·; x0 ), and u (·; x0 ) of Poc (x0 ). Let us also pick a time t1 ∈ [0, T (x0 )] and the correspond-
∗ ∗
ing state x1 := x (t1 ; x0 ) on the optimal dierential state trajectory x (·; x0 ). Consider
now the related optimization problem Poc (x1 ). How are its optimal solution trajectories
x∗ (·; x1 ), z ∗ (·; x1 ), and u∗ (·; x1 ) on [0, T (x1 )] related to those of Poc (x0 )? From the principle
of optimality , also known as the optimality of subarcs , it follows that T (x1 ) = T (x0 ) − t1
and that the solution trajectories of Poc (x1 ) coincide with the remaining part of the solution
trajectories of Poc (x0 ) after t1 , i.e.,


x∗ (t; x1 ) = x∗ (t1 + t; x0 ) 
z ∗ (t; x1 ) = z ∗ (t1 + t; x0 ) ∀ t ∈ [0, T (x1 )].
∗ ∗ 
u (t; x1 ) = u (t1 + t; x0 )
18 Real-Time Optimal Control

By chosing t = 0 and formulating the last identity for all t1 ∈ [0, T (x0 )], we can conversely
yield the optimal control trajectory u(·; x0 ) by

u(t1 ; x0 ) = u∗ (0; x∗ (t1 ; x0 )), ∀ t1 ∈ [0, T (x0 )].

Hence, the result of the precomputation can be captured in an optimal feedback control
f
(cf. [BH69]) function u that is dened as

uf (x0 ) := u∗ (0; x0 ). (1.5)

This function may be used as a feedback control that leads to the closed-loop DAE system

B(·) · ẋcl (t) = f (xcl (t), zcl (t), uf (xcl (t)))


0 = g(xcl (t), zcl (t), uf (xcl (t))).

One computationally expensive and storage consuming possibility would be to precalculate


such a feedback control law o-line on a suciently ne grid. The technique of choice to
compute this feedback control would be dynamic programming [Bel57], or an approach
using the Hamilton-Jacobi-Bellman (HJB) equation [LM68, Son90]. However, even for
moderate state dimensions nx this would require a prohibitively large computational eort.
In contrast to this our work is concerned with ecient ways to calculate the optimal
feedback control uf (x0 ) in real-time while the real process runs.

1.3.1 Linearized Neighboring Feedback Control


One possibility to approximate the optimal feedback control law uf (xcl (t)) in the vicinity
of a reference trajectory is provided by linearized neighboring feedback control (also called

perturbation feedback control [BH69]). It requires a nominal or reference solution x (·; x0 ),
z ∗ (·; x0 ), and u∗ (·; x0 ) of a nominal problem Poc (x0 ), and is a good approximation if the

distance x(t) − x (t; x0 ) of the real trajectory x(t) to the reference trajectory remains
small. The idea is to approximate

uf (xcl (t)) = u∗ (0; xcl (t)), ∀t ∈ [0, T (x0 )],

by the linearization

ulnfc (xcl (t)) := u∗ (t; x0 ) + K(t)(xcl (t) − x∗ (t; x0 )),

where

∂uf ∗
K(t) := (x (t; x0 ))
∂x

that is dened for all t ∈ [0, T (x0 )]. Note that the constant term u (t; x0 ) is equal to
f ∗ ∗ ∗
u (x (t; x0 )) = u (0; x (t; x0 )) due to the principle of optimality. The derivative or gain
matrix K, if it exists, can eciently be calculated by using rst and second derivative
1.3 Optimal Feedback Control 19

information along the reference trajectory x∗ (·; x0 ), z ∗ (·; x0 ), and u∗ (·; x0 ), see e.g. Bryson
and Ho [BH69].
The method can be extended to the case that the derivative K does not exist in a strict
sense, e.g. in the case of bang-bang controls, but where it is still possible to use deriva-
tive information along a reference trajectory. Numerical techniques to compute linearized
neighboring feedback controls have been developed, e.g., by Pesch [Pes78], Krämer-Eis et
al. [KE85, KEB87], and Kugelmann and Pesch [KP90a, KP90b]. Linearized neighboring
techniques have been applied for on-line control of batch reactors, e.g., by Terwiesch and
Agarwal [TA94].
Note that the approximations provided by these techniques are only valid in the neigh-
borhood of a reference trajectory. If the real-system has moved far away from the reference
trajectory during process development, the approximation of the optimal feedback control
may become very poor and may drive the system even into directions opposite to what is
desired. Cf. Sec. 4.3.2 and Example 4.4.

Example 1.1 (Optimal and Linearized Neighboring Feedback)


As an example for a tabulation of the optimal feedback controls uf (x), and for the linearized
lnfc
neighboring feedback approximation u (x) we show in Figure 1.3 a one dimensional cut
through the four dimensional state space of the CSTR of Section 1.2, for initial values

x := xS + 0(x0 − xS ),
that interpolate between the steady state xS and the disturbed initial value x0 from (1.4).
f ∗
The graphs for u (x ) := u (0; x ) have been obtained by a numerical solution of the
optimal control problem (1.3) (which we take as an approximation for T = ∞) for 141
lnfc
initial values x , 0 ∈ {−0.20, −0.19, . . . , 1.19, 1.20}, whereas u (x ) := uS +K(0)(x −xS )
is based on a linearization of uf (·) at the steady state xS . For a closed-loop trajectory due
to a linearized neighboring feedback technique, cf. Example 4.4.

In our considerations about optimal feedback control we have assumed that the horizon
length T of the optimization problem (1.1) is a variable in the optimization problem that
is either determined by some constraints or a real degree of freedom. In this case we speak
of shrinking horizon problems, because the time horizon T is shrinking during optimal
process development, as we have seen by the principle of optimality for subarcs. In chemical
engineering this problem type arises typically for batch or semi-batch processes, in robotics
e.g. for time optimal maneuvers.

1.3.2 Innite Horizon Problems


On the other hand, a major application for feedback control systems are systems that
run innitely long, so that the choice T =∞
would be appropriate. It is straightforward
∗ ∗
that the principle of optimality holds also for the solution trajectories x∞ (·; x0 ), z∞ (·; x0 ),

and u∞ (·; x0 ), and we may accordingly dene an optimal feedback control law for innite
horizon problems

uf∞ (x0 ) := u∗∞ (0; x0 ).


20 Real-Time Optimal Control

25

20

1
u
15

0 0.2 0.4 0.6 0.8 1

4000

2000
2

0
u

−2000

−4000
0 0.2 0.4 0.6 0.8 1
ε

Figure 1.3: Optimal (solid) and linearized neighboring feedback controls (dashed), for the
initial values x := xS + 0(x0 − xS ) of Example 1.1. The dots indicate the optimal feedback
controls for the steady state xS (0 = 0) and the disturbed value x0 (0 = 1) (cf. Fig. 1.2,
t = 0)

Nominal Stability
∞
For steady state tracking problems with an objective
0
L(x(t), z(t), u(t)) dt that satises
L(x, z, u) > 0 for all (x, z, u) = (xS , zS , uS ) and L(xS , zS , uS ) = 0 at the steady state, the
principle of optimality ensures nominal stability of the corresponding closed-loop system,
as the optimal cost function

 ∞
V∞ (x0 ) := L(x∗∞ (t; x0 ), z∞

(t; x0 ), u∗∞(t; x0 )) dt,
0

if it remains nite, serves as a Lyapunov function (as dened e.g. in [Son90]) for the
closed-loop system.
1
To sketch the idea of the nominal stability proof, let us assume that V∞ (·) ∈ C and
∗ 0
that u∞ (·; x0 ) ∈ C ∀ x0 , and furthermore that the level sets of V∞ (·) are compact in R nx .
First note that V∞ (xS ) = 0 and V∞ (x0 ) > 0, x0 = xS . It will now be shown that

d
V∞ (xcl (t)) < 0, ∀ xcl (t) = xS , (1.6)
dt

so that the only accumulation point of the closed-loop trajectory xcl (t), t ∈ [0, ∞), can be
xS . As the level sets are compact, an accumulation point must exist, so that asymptotic
1.4 Nonlinear Model Predictive Control 21

stability follows. To show the descent property (1.6), rst note that the closed-loop trajec-

tory xcl (·) for the initial value x0 coincides with the optimal trajectory x∞ (·; x0 ). Therefore
it needs only to be shown that

d
V∞ (x∗∞ (t; x0 )) < 0, ∀ x∗∞ (t; x0 ) = xS . (1.7)
dt
Dierentiation of the identity
 t
V∞ (x∗∞ (t; x0 )) = V∞ (x0 ) − L(x∗∞ (τ ; x0 ), z∞

(τ ; x0 ), u∗∞ (τ ; x0 )) dτ,
0

(which is a direct consequence of the principle of optimality) with respect to t yields

d
V∞ (x∗∞ (t; x0 )) = −L(x∗∞ (t; x0 ), z∞

(t; x0 ), u∗∞ (t; x0 )) < 0, ∀ x∗∞ (t; x0 ) = xS .
dt

1.4 Nonlinear Model Predictive Control


Unfortunately, innite horizon problems are in general very dicult to handle for nonlinear
and constrained systems. Therefore, a so called moving horizon approach is often used
instead, where a constant control horizon of length T
is chosen in all optimization prob-

lems. If the constant T is suciently large, the computed optimal trajectories xT (·; x0 ),
∗ ∗
, zT (·; x0 ), and uT (·; x0 ) are expected to be similar to the corresponding innite horizon
∗ ∗ ∗
values x∞ (·; x0 ), z∞ (·; x0 ), and u∞ (·; x0 ) on [0, T ] so that the denition for moving horizon
problems,

ufT (x0 ) := u∗T (0; x0 )


f
is a good approximation for the innite horizon optimal feedback control u∞ (x). We call
f +
the resulting feedback law uT (x) optimal moving horizon feedback control [BBB 01] or
Nonlinear Model Predictive Control (NMPC). Often also the term Receding Horizon
Control (RHC) [MM90] is used to denote this moving horizon scheme. The computation
f
of the optimal moving horizon control law uT (x0 ) in real-time is the main application of
our algorithms.

1.4.1 Schemes to Ensure Nominal Stability


Note that the principle of optimality does no longer hold for moving horizon problems;
however, a variety of schemes to ensure nominal stability for steady state tracking problems
has been devised. These schemes make strong use of articially introduced end point
constraints as formulated in Eqs. (1.1e) and (1.1f), and of the Mayer term E(x(T ), z(T ))
in the objective functional (1.1a). The principal idea is to formulate the optimization
problems in such a way that the optimal cost function
 T
VT (x0 ) := L(x∗T (t; x0 ), zT∗ (t; x0 ), u∗T (t; x0 )) dt + E(x∗T (T ; x0 ))
0
22 Real-Time Optimal Control

can serve as a Lyapunov function of the closed-loop system, as for innite horizon problems.
For an overview of such schemes, we refer to the articles by Mayne [May96, May00] or De
Nicolao, Magni, and Scattolini [DMS00]. Here, we will briey introduce three of these
schemes. All three have in common that the so called monotonicity property [DMS00]
holds in a neighborhood ΩT of the steady state xS :
VT (x) ≤ VT−δ (x), ∀ δ ≥ 0, δ ≤ T, x ∈ ΩT . (1.8)

Nominal stability follows together with the principle of optimality for subarcs, which states
that
 δ
VT (x0 ) = L(x∗T (t; x0 ), zT∗ (t; x0 ), u∗T (t; x0 )) dt + VT−δ (x∗T (δ; x0 ))
0

so that (using x0 = xT (0; x0 ))
VT (x∗T (δ; x0 )) − VT (x∗T (0; x0 )) ≤ VT−δ (x∗T (δ; x0 )) − VT (x∗T (0; x0 ))

= − 0 L(x∗T (t; x0 ), zT∗ (t; x0 ), u∗T (t; x0 )) dt.
Dierentiating this inequality by δ we can deduce that
d
V (x∗T (0; x0 ))
dt T
= ∂VT
∂x
(x∗T (0; x0 )) ẋ∗T (0; x0 )
≤ −L(x∗T (0; x0 ), zT∗ (0; x0 ), u∗T (0; x0 )) < 0, ∀ x0 = xS .
Let us now choose x0 := xcl (t) to be one state of the closed-loop trajectory, at time t. The
time development of the nominal closed-loop system obeys the same DAE as the model;

because at time t the dierential system state is xcl (t) = x0 = xT (0; x0 ) and the closed-
f ∗
loop control is chosen to be uT (xcl (t)) := uT (0; x0 ), the algebraic state also coincides with

the start of the optimal trajectory: zcl (t) = zT (0; x0 ) (due to the algebraic consistency
condition); therefore, the time derivatives coincide:

ẋcl (t) = ẋ∗T (0; x0 ).


This allows to conclude that
d ∂VT
VT (xcl (t)) = (xcl (t)) ẋcl (t) < 0, ∀xcl (t) = xS .
dt ∂x

Zero Terminal Constraint


The idea of the zero terminal constraint (ZTC) scheme is to formulate the terminal point
constraint

r e (x(T )) := x(T ) − xS ,
where xS is the dierential part of the desired steady state, and to employ no nal penalty
E(x(T )). Nominal stability for nonlinear continuous time systems was proven by Mayne
and Michalska [MM90]. The monotonicity property (1.8) follows from the fact that the
∗ ∗ ∗
optimal solution xT−δ (t; x0 ), zT−δ (t; x0 ), and uT−δ (t; x0 ) of a problem Poc,T−δ (x0 ) on a short
horizon [0, T−δ] can be prolonged to a feasible trajectory of the problem Poc,T (x0 ) on a long
∗ ∗
horizon [0, T ], by adding for t ∈ [T −δ, T ] the nal parts xT (t; x0 ) := xS , zT (t; x0 ) := zS ,

and uT (t; x0 ) := uS , that have no additional costs, cf. Fig.1.4.
1.4 Nonlinear Model Predictive Control 23

 horizon of Poc,T−δ (x0 ) 


 horizon of Poc,T (x0 ) 

x∗T−δ (t)
x0 

u∗T−δ (t)

xS , uS   
T −δ T
Figure 1.4: Monotonicity property for the zero terminal constraint (ZTC) scheme: the
solution trajectories of problem Poc,T−δ (x0 ) can be prolonged to feasible trajectories for
problem Poc,T (x0 ) without increasing the objective.

Quasi-Innite Horizon NMPC


The quasi-innite horizon (QIH) scheme employs a positive denite penalty matrix P ∈
R nx ×nx that allows to formulate a terminal penalty term
1
E(x(T )) := x(T ) − xS 2P := P 2 (x(T ) − xS )22
and a terminal constraint

r i (x(T )) := α − x(T ) − xS 2P ≥ 0,


(with α > 0) that constrains x(T ) to be in an elliptic region Ω := {x ∈ R nx |x−xS 2P ≤ α}.
Chen and Allgöwer [CA98, Che97] have shown how the matrix P and the constant α can
be computed so that the monotonicity property (1.8) is satised. Their approach, that
was originally formulated for ODE systems, was generalized to DAE systems of index-
one by Findeisen and Allgöwer [FA00]. Using the system linearization around the steady
state and a linear closed-loop law u(x) = uS + K · (x − xS ), the matrix P is computed
as the solution of a Lyapunov equation, and the constant α is determined so that the
elliptic region Ω is positively invariant for the linearly controlled closed-loop system, and
so that the path constraints h(x, z, uS + K · (x − xS )) ≤ 0 are not violated in the set
{(x, z) ∈ R nx × R nz |x ∈ Ω, g(x, z, uS + K · (x − xS )) = 0}.

Innite-Horizon Closed-Loop Costing


The idea of the innite-horizon closed-loop costing approach, that was proposed by De
Nicolao, Magni, and Scattolini [DMS96], is to introduce a terminal penalty that is itself
the innite integral of the Lagrange objective
 ∞
E(x(T )) := L(x̂(t; x(T )), ẑ(t; x(T )), û(t; x(T ))) dt
T
24 Real-Time Optimal Control

where x̂(t; x(T )) and ẑ(t; x(T )) are the trajectories corresponding to the following closed-
loop initial value problem on the horizon [T, ∞):
˙
B(·) · x̂(t) = f (x̂(t), ẑ(t), K(x̂(t))),
0 = g(x̂(t), ẑ(t), K(x̂(t))),
x̂(T ) = x(T ).
The function K : R nx → R nu is chosen so as to stabilize the system in the vicinity of the
steady state (typically by a LQR control law for the system linearization). The nal state
i
constraint r (x(T )) ≥ 0 must constrain x(T ) so that all predicted closed-loop trajectories
x̂(t; x(T )), ẑ(t; x(T )), and û(t; x(T )) := K(x̂(t; x(T ))) remain feasible and have nite costs.
The monotonicity property (1.8) follows from the fact that a prolongation of the horizon
from [0, T −δ] to [0, T ] only increases the degrees of freedom; the new degrees of freedom,
the controls u(t) for t ∈ [T −δ, T ], can still be chosen to be u(t) = K(x(t)), which would
yield equal costs as for the short horizon. A practical implementation of this approach must
i
overcome the nontrivial problems of determining the nal state constraint r (x(T )) ≥ 0,
and the on-line computation of the innite integral to determineE(x(T )). Note, however,
that the computation of a nite horizon approximation of E(x(T )) can be very cheap even
on relatively long horizons, if adaptive implicit DAE solvers are used, as the stepsizes in
the vicinity of the steady state can be made very large. We have employed such a scheme
for the control experiments with a distillation column that are presented in Chap. 7, where
the trivial closed-loop law K(·) := uS could be chosen because the system is stable.

1.4.2 Alternative Feedback Strategies


Optimal feedback control and nonlinear model predictive control as dened above are not
the only ways to derive feedback laws, and among these they are not necessarily the best.
They suer from an inherent contradiction: on the one hand the employed system model
is deterministic, but on the other hand the necessity for feedback control is created by the
non-deterministic behaviour of the system, or by the presence of model-plant mismatch.
There are several strategies that include some sort of knowledge that the real system does
not obey the deterministic model equations. We will briey mention two of these here.

Stochastic Optimal Control


Stochastic optimal control techniques employ a stochastic system model instead of a de-
terministic one, and aim at optimizing the expectation value of an objective functional.
The stochastic point of view makes it possible to design feedback controllers that take
future disturbances into account  provided that realistic assumptions on the governing
stochastics are available. The method of choice for the solution of stochastic optimal con-
trol problems is dynamic programming, which is originally due to Bellman [Bel57]. (We
recommend the two excellent books on Optimal Control and Dynamic Programming by
Bertsekas [Ber95a, Ber95b] and refer also to Bertsekas et al. [BT96, BS96]). For linear sys-
tems with quadratic costs the solution of stochastic optimal control problems is equivalent
1.4 Nonlinear Model Predictive Control 25

to the solution of a corresponding deterministic optimal control problem (see e.g. Bryson
and Ho, [BH69]), a fact that leads to the separation theorem or certainty-equivalence prin-
ciple [Sim56, JT61] for linear systems. Nonlinear stochastic optimal control problems,
however, are dicult to solve even for moderate system sizes.

Robust Control
The area of so called robust control techniques is vast and has undergone rapid development
in the last two decades. Roughly spoken, robust control techniques aim at designing
rc
feedback control laws u (x) that are not only able to stabilize a nominal system model,
but that show a good control performance for a whole set of perturbed/disturbed systems.
For an introduction into linear robust control techniques we refer to Zhou et al. [ZDG96]
or to Morari [Mor87]. Though robust control theory is highly developed for linear systems,
only a few extensions exist that take explicitly nonlinear system models into account. The
question of robustness of NMPC is mostly unsolved. Some preliminary steps have been
outlined for example in [OM94, MM93, YP93], and even some approaches exist that try
to synthesize robust NMPC controllers, e.g. Chen et al. [CSA97] (cf. also [May00]).
Chapter 2

Direct Multiple Shooting

In this chapter we will present, as a rst step towards the numerical solution of the optimal
control problem (1.1), the so called direct multiple shooting parameterization which is
the basis for all algorithms presented later in this thesis. The direct multiple shooting
parameterization transforms the original innite optimal control problem Poc (x0 ) (1.1) into
a nite dimensional Nonlinear Programming (NLP) problem that we will denote by P (x0 ).
The direct multiple shooting method is originally due to Bock and Plitt [Pli81, BP84],
and its most recent form has been developed by Leineweber [Lei99] and implemented
in his optimal control package MUSCOD-II, which also forms the basis for the actual
implementation of the real-time algorithms presented in this work.

2.1 Problem Parameterization


In order to reformulate the innite optimal control problem (1.1) as a nite dimensional
nonlinear programming (NLP) problem, both its controls and its states are parameterized
in the direct multiple shooting method. Let us rst introduce a time transformation that
prepares the control and state parameterization.

2.1.1 Time Transformation


In order to be able to treat problems with a variable horizon length T conveniently, we
introduce a time transformation

t : [0, 1] → [0, T ], τ → t(τ, T ) := T τ


which allows us to regard an optimization problem on the xed horizon [0, 1] only. By
interpreting the trajectories of x, z , and u as functions of τ ∈ [0, 1] we can formulate a
problem on the horizon [0, 1] that is equivalent to problem (1.1). If the horizon length T
is variable, we will treat it as a free global parameter, that can conceptually be localized
by introduction of an additional trivial dierential equation Ṫ (τ ) = 0 with a free initial
value. To keep notation simple we will in the following subsections assume that T is xed,
but keep in mind that the case of a variable horizon is captured by this approach, too.

27
28 Direct Multiple Shooting

q4 • • s5 •
s4 •
q3 • s3 •
u(τ ) x(τ )
q2 • s2 •
q1 • s1 •
q0• s0 •
0 τ1 τ2 τ3 τ4 1 0 τ1 τ2 τ3 τ4 1
τ τ

Figure 2.1: Control and state parameterization (N = 5).

2.1.2 Control Discretization


In the direct multiple shooting method (as in all direct solution approaches) the innitely
many degrees of freedom u(τ ) for τ ∈ [0, 1] are approximated by a nite control represen-
tation. For this aim we choose a multiple shooting grid

0 = τ0 < τ1 < . . . < τN = 1, (2.1)

and approximate the control u(τ ) by a piecewise constant control representation, i.e., we
set

u(τ ) := qi for τ ∈ [τi , τi+1 ), i = 0, 1, . . . N − 1, (2.2)

with N vectors qi ∈ R nu , as sketched on the left hand side of Fig. 2.1. For completeness,
we set as control at the nal time

u(1) := qN := qN −1 ,
where the vector qN is introduced for notational convenience only and will not be regarded
as a new parameter, but just as a second name for qN −1 . Note that the point value u(1)
of the control may directly inuence the nal algebraic state z(1) (that is determined by
g(x(1), z(1), u(1)) = 0) and can therefore not be neglected in the case of DAE models.
It is possible to use other, possibly higher order control parameterizations on the in-
tervals (e.g. linear or cubic polynomials), but it is of crucial importance for the direct
multiple shooting method that the control parameterization has local support on the mul-
tiple shooting intervals [τi , τi+1 ], so that the control parameters have a local inuence only
(cf. Sec. 6.1).
Where continuity of the controls is desired, the control can e.g. be treated as an
additional dierential system state whose time derivative can be controlled.

2.1.3 State Parameterization


2(N + 1) additional vectors sx0 , sx1 , . . . , sxN and sz0 , sz1 , . . . , szN of the
In a crucial second step,
same dimensions nx and nz as dierential and algebraic system states are introduced, which
2.1 Problem Parameterization 29

we will denote dierential and algebraic node values. For brevity we will often combine
x z
them in the vectors si := (si , si ).
All but the last node value serve as initial values for N independent relaxed initial value
problems on the intervals [τi , τi+1 ]:
B(·) · ẋi (τ ) = T f (xi (τ ), zi (τ ), qi ) (2.3)
 
τ − τi
0 = g(xi (τ ), zi (τ ), qi ) − exp −β g(sxi , szi , qi ) (2.4)
τi+1 − τi
xi (τi ) = sxi . (2.5)

The decaying subtrahend in (2.4) with β > 0 is deliberately introduced to facilitate an e-
x z
cient DAE solution for initial values and controls si , si , qi that may temporarily violate the
x z
consistency conditions (1.1c) (note that (si , si , qi ) is per denition a consistent initial value
for the relaxed initial value problem). This modication (Bock et al. [BES88]), is commonly
referred to as a relaxed DAE formulation, cf. Schulz et al. [SBS98], Leineweber [Lei99].
The solutions of these initial value problems are N independent trajectories xi (τ ), zi (τ )
on [τi , τi+1 ], which are a function of si and qi only. In order to keep this dependency in
mind, we will denote them often by xi (τ ; si , qi ) and zi (τ ; si , qi ). See the right hand side of
Fig. 2.1 for an illustration.
By substituting the independent trajectories xi (τ ), zi (τ ) into the Lagrange term L in
Eq. (1.1a) we can simultaneously calculate the integral objective contributions Li (si , qi )
that are given by
 τi+1
Li (si , qi ) := T L(xi (τ ), zi (τ ), qi )) dτ. (2.6)
τi

The introduction of the values sxi and szi has introduced non-physical degrees of freedom
that have to be removed by corresponding equality constraints in the NLP. First, we have
to require that the relaxation terms in the relaxed DAE formulation (2.4) vanish, i.e.,
formulate the algebraic consistency conditions

g(sxi , szi , qi ) = 0 i = 0, 1, . . . , N. (2.7)

Secondly, we have to enforce continuity of the dierential state trajectory by formulating


x
the following matching conditions which require that each dierential node value si+1
should equal the nal value of the preceding trajectory xi :

sxi+1 = xi (τi+1 ; si , qi ), i = 0, . . . , N − 1. (2.8)

The rst dierential node value sx0 is required to be equal to the initial value x0 of the
optimization problem:

s0 = x0 . (2.9)

Together, the constraints (2.7), (2.8), and (2.9) remove the additional degrees of freedom
which were introduced with the parameters si , i = 0, . . . , N . It is by no means necessary
that these constraints are satised during the optimization iterations  on the contrary, it
is a crucial feature of the direct multiple shooting method that it can deal with infeasible
initial guesses of the variables si .
30 Direct Multiple Shooting

2.1.4 Discretization of Path Constraints


Using the multiple shooting grid τ0 , . . . , τN , the innite dimensional path inequality con-
straints (1.1g) are transformed into N + 1 vector inequality constraints

h(sxi , szi , qi ) ≥ 0, i = 0, 1, . . . , N.

Note that it would be equally possible to use a ner grid for the discretization of the path
constraints.

2.2 The Nonlinear Programming Problem


The nite dimensional NLP in the direct multiple shooting parameterization is given as


N −1
P (x0 ) : min Li (sxi , szi , qi ) + E(sxN , szN ) (2.10a)
q0 , . . . , qN −1 , i=0
s0 , . . . , sN

subject to

sxi+1 − xi (τi+1 ; sxi , szi , qi ) = 0, i = 0, . . . , N − 1, (2.10b)

g(sxi , szi , qi ) = 0, i = 0, . . . , N, (2.10c)

sx0 − x0 = 0, (2.10d)

r e (sxN , szN ) = 0, (2.10e)

r i (sxN , szN ) ≥ 0, (2.10f )

h(sxi , szi , qi ) ≥ 0, i = 0, . . . , N. (2.10g)

This is the NLP problem formulation that we will use as a reference in the following
chapters. For a visualization of the NLP variables, see Fig. 2.2. It turns out that the NLP
has a very favourable sparse structure, due to the fact that all constraint functions and the
additive terms of the objective function each depend only on a small number of variables,
and conversely, each variable appears only in a few problem functions.
To conveniently write the NLP (2.10) in a shorter form let us introduce the vectors
   
q0 s0  
 ..   ..  q
 ∈ R q,  ∈ R s, ∈ R nw
n n
q :=  . s :=  . and w :=
s
qN −1 sN

with n := Nnu , ns := (N + 1)(nx + nz ), and nw = nq + ns , and dene F (w) :=


N −1 q
i=0 Li (si , qi ) + E(sN ) and summarize all equality constraints in a function G : R →
nw
2.2 The Nonlinear Programming Problem 31

q1
 q2
 sN
q0 






 qN−1
 s3
 s2
s0 s1
     

Figure 2.2: The NLP variables in the multiple shooting parameterization

R nG and all inequality constraints in a function H : R nw → R nH . The NLP can then be


summarized as

G(w) = 0,
min F (w) subject to
w ∈ R nw H(w) ≥ 0.
We will in the following Chapter 3 discuss how to decide if a point w ∈ R nw is a local
optimum of the NLP 2.10. But let us beforehand briey mention some structural features
of the NLP, and also give an example for the multiple shooting parameterization.

Remark on the Initial Value Constraint


In a real-time application of our optimization algorithms, the problem P (x0 ) has to be
solved several times, each time for a dierent initial value x0 . In our real-time strategies
we will exploit the fact that the actual value of x0 enters the problem P (x0 ) only via the
initial value constraint (2.10d). We may therefore isolate this constraint, and summarize
the optimization problem P (x0 ) as

 sx0 − x0 = 0,
P (x0 ) : min F (sx0 , w̃) subject to G̃(sx0 , w̃) = 0,
sx
0∈ R R
nx ,w̃∈ (nw−nx ) 
H(sx0 , w̃) ≥ 0.
This formulation will become crucial in our description of the real-time iteration scheme
in Chapter 4.

Remark on Free Horizon Lengths


Note that in the case that the horizon length T is variable, we simply augment the dif-
ferential state vectors by an additional component Ṫ (τ ) = 0, ∀τ ∈ [0, 1]; in the multiple
32 Direct Multiple Shooting

shooting formulation, the continuity conditions (2.10b) enforce that T is constant over the
whole horizon; its initial value, however, is free , in contrast to the other initial values x0 .
To capture problems with variable T in the above NLP formulation, we therefore only have
to modify the initial value constraint sx0 − x0 = 0 to (Inx | 0)sx0 − x0 = 0 (note that x0 ∈ R nx
n +1
and si ∈ R x ).
x

2.2.1 Free and Dependent Variables


Note that the variables q = (q0 , q1 , . . . , qN −1 ) may be denoted the free components, and
s = (s0 , s1 , . . . , sN ) the dependent components, since the constraints (2.10b)-(2.10d)
allow to determine all variables s uniquely if q is given (in the case of a free horizon length,
as discussed above, the last initial value sx0 nx +1 is also free and actually becomes a part of
q ). If we assume for a moment that no nal equality constraint (2.10e) and no inequality
constraints (2.10f),(2.10g) are present, we can write the optimization problem in the form

min F (q, s) subject to G(q, s) = 0,


q ∈ R nq , s ∈ R ns

where the function G has the useful property that its Jacobian ∂G ∂s
with respect to the
∂G
dependent variables, s, is invertible. To see this, note that is lower block triangular
∂s
 
Inx
 ∂g ∂g 
 ∂sx ∂sz0 
 ∂x0 (τ1 )
0
0 (τ1 )

 − ∂sx − ∂x∂s Inx 
 0
z
0 
 .. 
 . 
 
 ∂xN−1(τN)
− ∂sx − ∂x∂sN−z 1(τN) Inx 
 N−1 N−1 
∂g ∂g
∂sx
N ∂szN

with invertible blocks Inx and


∂g
∂szi
on the diagonal (the invertibility of
∂g
∂szi
follows from the

index one assumption of the DAE system).


In the presence of nal equality constraints (2.10e) some previously free variables of
the vector q
may be declared dependent and it may again be possible to nd a separation
∂G
into free and dependent variables q and s with the invertibility of . The same may be
∂s
done in the presence of active inequality constraints (2.10f) or (2.10g).
The separability into free and dependent components will be used for some convergence
results in Chapter 5; it is also exploited by the numerical solution algorithms described in
Sections 6.5 and 6.6.

Example 2.1 (Direct Multiple Shooting for the CSTR)


Let us again consider the guiding example of Section 1.2. Choosing N =100 multiple
shooting intervals each of 20 seconds length, we arrive at an NLP formulation that com-
prises nw = nq + ns = Nnu + (N + 1)nx = 100 × 2 + 101 × 4 = 604 NLP variables.
2.2 The Nonlinear Programming Problem 33

3
sx1
2

1
0 10 20 30 40 50 60 70 80 90 100
1.5
2

1
x
s

0.5
0 10 20 30 40 50 60 70 80 90 100
120
110
sx3

100
0 10 20 30 40 50 60 70 80 90 100
120
110
sx4

100
0 10 20 30 40 50 60 70 80 90 100
25
20
q1

15
10
0 10 20 30 40 50 60 70 80 90 100
0
−1000
2
q

−2000
0 10 20 30 40 50 60 70 80 90 100
node index i

Figure 2.3: Content of NLP variables in the direct multiple shooting method, corresponding
to the solution of Figure 1.2. The dots in the rst four graphs indicate the multiple shooting
node values si , the last two graphs show the piecewise constant controls qi .

The overall number of continuity constraints (2.10b) is Nnx = 400, the initial value
constraint (2.10d) has dimension nx = 4. Together, they form ns constraints, so that
nw − ns = 604 − 404 = 200 = nq eective degrees of freedom remain. The values for all 604
multiple shooting variables at the solution of problem P (x0 ), with x0 according to (1.4), are
visualized in Figure 2.3.
Chapter 3

Local Optimality and SQP Methods

This chapter is aimed at the preparation of our numerical methods for the solution of
neighboring optimization problems in real-time. We will therefore consider not only one
single NLP problem, but a parameterized family of optimization problems


G(t, w) = 0
P (t) : min F (t, w) subject to
w ∈ R nw H(t, w) ≥ 0

2
with C functions F : R × R w → R , G : R × R w → R G , and H : R × R w →
n n n n

R . Please note that the scalar homotopy parameter t has no relation to the physical
nH

time t. It can be thought of as a one dimensional analog for the initial value x0 that
distinguishes between dierent optimization problems P (x0 ) as they arise in the multiple
shooting parameterization. The vector w can be regarded as the multiple shooting variables
q0 , . . . , qN −1 , s0 , . . . , sN .
We will rst review in Sec. 3.1 some conditions which allow to decide if a point w ∗ (t) is
a (local) solution of an optimization problem P (t) for xed t. In Section 3.2 we will review
a result from parametric optimization that allows to conclude that the solution manifold
w ∗ (t) is continuous and piecewise dierentiable with respect to t, in all benign points
w ∗ (t) that satisfy rather mild conditions. The nondierentiable points are those points
where the set of binding inequalities changes.
The so called Sequential Quadratic Programming (SQP) method is an approach to

nd a (local) minimum w (t) of a problem P (t) for xed homotopy parameter t. It will
be introduced in Sec. 3.3. We also show in Sec. 3.4 that its prototype algorithm, the so
called exact Hessian SQP method , when applied to an optimization problem P (t + 0) and

initialized with the solution of problem P (t), is able to provide a prediction for w (t+0) that
2
is of O(0 ), even if the set of binding inequalities changes at the point t. This astonishing
property, however, requires a slight reformulation of the optimization problems, which leads
directly to the idea of the initial value embedding strategy, a crucial feature of the real-time
iteration approach presented in Chap. 4.

35
36 Local Optimality and SQP Methods

3.1 Local Optimality Conditions


For notational convenience, let us rst drop the parameter t and treat a single NLP problem


G(w) = 0
min F (w) subject to (3.1)
w ∈ R nw H(w) ≥ 0

where the functions F : R nw → R , G : R nw → R nG , and H : R nw → R nH are twice


continuously dierentiable.
Let us generalize the denition of the gradient ∇F of a scalar function F to the gradient
∇w G of vector functions G as the transpose of the Jacobian matrix

∂G
T
∇w G(w) := ∂w
(w) .

A feasible point is a point w ∈ R nw


that satises G(w) = 0 and H(w) ≥ 0. A local minimum
∗ ∗
of the NLP (3.1) is a feasible point w which has the property that F (w ) ≤ F (w) for all
∗ ∗
feasible points w in a neighborhood of w . A strict local minimum satises F (w ) < F (w)

for all neighboring feasible points w = w .
Active inequality constraints at a feasible pointw are those components Hj (w) of H(w)
with Hj (w) = 0. We will subsume the equality constraints and the active inequalities at a
point w (the so called the active set) in a combined vector function of active constraints:

 
G(w)
G̃(w) := .
H act (w)

Note that the active set may be dierent at dierent feasible points w.
Regular points are feasible points w that satisfy the condition that the Jacobian of
the active constraints, ∇G̃(w)T , has full rank, i.e., that all rows of ∇G̃(w)T are linearly
independent.
To investigate local optimality in the presence of constraints, it is very useful to intro-
duce the Lagrangian multiplier vectors λ ∈ R nG and µ ∈ R nH , that are also called adjoint
variables , as they correspond one-to-one to the constraint functions G and H , and to dene
the so called Lagrangian function L by

L(w, λ, µ) := F (w) − λT G(w) − µT H(w). (3.2)

We will now state a variant of the Karush-Kuhn-Tucker necessary conditions for local

optimality of a point w . These conditions have been rst derived by Karush in 1939 [Kar39]
 and independently by Kuhn and Tucker in 1951 [KT51]. (A proof of the following two
theorems can be found in virtually any textbook on nonlinear programming, e.g. Bazaara
and Shetty [BS79] or Nocedal and Wright [NW99].) For brevity, we will restrict our
attention to regular points only.
3.1 Local Optimality Conditions 37

Theorem 3.1 (Karush-Kuhn-Tucker Conditions)


If a regular point w ∗ ∈ R nw is a local optimum of the NLP (3.1), then there exist unique
Lagrange multiplier vectors λ∗ ∈ R nG and µ ∗ ∈ R nH so that the triple (w ∗, λ∗ , µ∗ ) satises
the following necessary conditions:

∇w L(w ∗, λ∗ , µ∗ ) = 0 (3.3a)

G(w ∗) = 0, (3.3b)

H(w ∗) ≥ 0, (3.3c)

µ∗ ≥ 0, (3.3d)

µ∗j Hj (w ∗ ) = 0, j = 1, 2, . . . , nH . (3.3e)

A triple(w ∗, λ∗ , µ∗ ) that satises the Karush-Kuhn-Tucker conditions (3.3) is called a KKT



point. Note that the so called complementarity condition (3.3e) implies that µj = 0 at
∗ ∗
inactive constraints Hj (w ) > 0. At active constraints Hj (w ) = 0 the corresponding

multipliers µ may also become zero. Active constraints with zero multipliers are called
weakly active, and those with positive multipliers strongly active. Let us subdivide the
act ∗ ∗ ∗ ∗
active set vector function H (w ) at a KKT point (w , λ , µ ) into its strongly and weakly
active parts, i.e., let us write

 
act ∗ H s.act
H (w ) =: (w ∗).
H w.act

A KKT point for which all active constraints are strongly active is said to satisfy the strict
complementarity condition.

Quadratic Programs
One special class of optimization problem plays a preeminent role in the SQP algo-
rithms that are presented later in this chapter and deserves some remarks: quadratic pro-
grams (QP) are those optimization problems (3.1) that have a quadratic objective function
and linear constraint functions, i.e., problems of the type


1 T b + Bw = 0
min w Aw + aT w subject to (3.4)
w ∈ R nw 2 c + Cw ≥ 0

with vectors a ∈ R w , b ∈ R nG , c ∈ R nH , A ∈ R nw × R nw , B ∈ R nG × R nw ,
n
and matrices
and C ∈ R H × R w .
n n

A variety of highly developed algorithms to solve QPs exists, and the success of SQP
type methods is to a large part due to the fact that QPs are very eciently solvable.
38 Local Optimality and SQP Methods

The conditions (3.3) for a point (w ∗ , λ∗ , µ∗ ) to be a KKT point of the above QP are:

Aw ∗ + a − B T λ∗ − C T µ∗ = 0
b + Bw ∗ = 0,
c + Cw ∗ ≥ 0,
µ∗ ≥ 0,
µ∗j (cj + Cj,·w ∗ ) = 0, j = 1, 2, . . . , nH .

For QPs without inequalites, the KKT conditions can be written in the compact form

    
A BT w∗ −a
= .
B 0 −λ∗ −b

The matrix on the left hand side is called the KKT matrix. It is invertible, if B has full
rank nG and A is positive denite on the null space of B , as stated in the following lemma.
The invertibility of the KKT matrix implies that the equality constrained QP has a unique
KKT point.

Lemma 3.2 (Invertibility of the KKT Matrix)


Let us assume that A ∈ Rn×Rn is a symmetric matrix and B ∈ Rm×Rn has full rank
m ≤ n. Let us furthermore assume that A is positive denite on the null space of B. Then
the matrix
 
A BT
B 0

is invertible.

A short proof of this lemma can be found in Nocedal and Wright [NW99, Lemma 16.1].
The existence and uniqueness of a KKT point can also be shown for inequality con-
strained QPs, e.g. under the two additional assumptions that the feasible set is non-empty,
T T
and that the combined constraint matrix (B , C ) has full rank nG +nH . We will encounter
such a uniquely solvable quadratic programming problem in Theorem 3.4.
First, however, let us review sucient conditions for a KKT point to be a strict local
optimizer.

Theorem 3.3 (Strong Second Order Sucient Conditions)


Sucient conditions for a point w ∗ ∈ R nw to be a strict local minimizer of (3.1) are:

• w∗ is a regular point,

• there exist multiplier vectors λ∗ ∈ R nG and µ ∗ ∈ R nH , such that (w ∗ , λ∗ , µ∗ ) is a


KKT point, and
3.2 Piecewise Dierentiable Dependence on Perturbations 39

• the Hessian matrix ∇w2 L(w ∗, λ∗ , µ∗ )1 is positive denite on the null space Ns of the
linearized strongly active constraints
 
s ∗ G
G̃ (w ) := (w ∗),
H s.act

i.e., for every non-zero vector ∆w ∈ N s ,

N s := {∆w ∈ R nw |∇w G̃s (w ∗)T ∆w = 0},

it holds that

∆w T ∇w2 L(w ∗, λ∗ , µ∗ ) ∆w > 0.

Remark: The sucient conditions of the theorem are called strong second order su-
cient conditions, because weaker sucient conditions exists, which require only the positive
2 ∗ ∗ ∗
deniteness of ∇w L(w , λ , µ ) on a cone

N w := {∆w ∈ N s |∇w H̃ w.act (w ∗ )T ∆w ≥ 0}.

We have chosen the strong formulation, as it turns out that the strong second order su-
cient conditions for optimality, as stated in Theorem 3.3, have the desirable property that
∗ ∗ ∗
a KKT point (w , λ , µ ) that satises them is stable against perturbations in the problem
functions F, G and H, as we will investigate in the following section.

3.2 Piecewise Dierentiable Dependence on Perturba-


tions
Let us now consider a parameterized family of optimization problems P (t)


G(t, w) = 0
min F (t, w) subject to (3.6)
w ∈ R nw H(t, w) ≥ 0

where the functions F : R × R w → R , G : R × R w → R G , and H : R × R w → R H


n n n n n
2 ∗ ∗ ∗
are C . We want to investigate how the solution points (w (t), λ (t), µ (t)) depend on the
variable t, or, in the language of parametric optimization, we want to investigate the set

Σloc := {(t, w) ∈ R × R nw |w is a local minimizer for P (t))}.

We restrict our attention to the subset of points (t, w ∗ (t)) from Σloc that satisfy the strong
second order sucient conditions of Theorem 3.3. The main result of this section is that

1 Here ∂2 L
we use the denition ∇w2 L := ∂w 2 .
40 Local Optimality and SQP Methods

the points (w ∗ (t), λ∗ (t), µ∗ (t)) form a continuous and piecewise dierentiable curve on this
subset, if an additional technical assumption is satised. For a much more detailed discus-
sion of the properties of the set Σloc we refer to the book on parametric optimization by
Guddat, Guerra Vasquez and Jongen [GVJ90].
Before we formulate this theorem, we will give a simple example for illustration.

Example 3.1 (Piecewise Dierentiability)


Consider the family P (t) of simple optimization problems

1 2
min w subject to −t + sinh(w) ≥ 0
w∈R 2

The solution curves w ∗ (t), µ∗ (t) can easily be found to be

w ∗ (t) = max(0, arcsinh(t)),


w ∗ (t)
µ∗ (t) = .
cosh(w ∗ (t))
These curves are continuous and piecewise dierentiable with piecewise derivatives

∂w ∗ 0, if t < 0,
(t) = −1
∂t cosh(arcsinh(t)) , if t > 0,

∂µ ∂w ∗
(t) = cosh(w ∗(t))−1 (1 − tanh(w ∗ (t))) (t).
∂t ∂t
The graph of w ∗ (t)
is depicted in Figure 3.1. How can the manifold be characterized in

the vicinity of the continuous but non-dierentiable point w (0)?
We will now formulate the basic theorem of this section, which is proved in Appendix C.
A very similar formulation of the theorem and a proof can be found in [GVJ90] (Theo-
rem 3.3.4 and Corollary 3.3.1 (2)).

Theorem 3.4 (One Sided Dierentiability)


Consider a parameterized family of optimization problems P (t) as dened in (3.6). Let
∗ ∗ ∗
us assume that we have found, for problem P (0), a KKT point (w (0), λ (0), µ (0)) that
satises the sucient optimality conditions of Theorem 3.3, with strongly and weakly active
set vectors H s.act and H w.act .
Let us furthermore assume that the solution (δw∗ , δλ∗ , δµs.act
∗ , δµw.act
∗ ) of the following
∗ ∗ ∗
quadratic program (with all derivatives evaluated at the solution point (w (0), λ (0), µ (0))
for t = 0)
 T
1 2 ∂
min δw ∇ L δw +
T
∇w L δw
δw∈Rnw 2  w ∂t

∂G
∂t
+ ∇w GT δw = 0 (3.7)
s.act
+ (∇w H s.act ) δw
∂H T
subject to = 0.
 ∂H w.act
∂t
+ (∇w H w.act ) δw
T
∂t
≥ 0.
3.2 Piecewise Dierentiable Dependence on Perturbations 41

1
w (t)
0
*

−1

−2

−3
−5 0 5

Figure 3.1: Graph of the solution manifold w ∗ (t) of Example 3.1.

satises the strict complementarity condition for the multiplier vector δµw.act
∗ of the in-
equality constraints.
Then there exists an 0>0 and a dierentiable curve v : [0, 0) → R nw × R nG × R nH ,
 
w ∗ (t)
t →  λ∗ (t) 
µ∗ (t)

of KKT points that satisfy the sucient optimality conditions of Theorem 3.3 for the
corresponding problems P (t), t ∈ [0, 0). At t=0 the one sided derivative of this curve is
given by

  
 δw∗  δw∗
w ∗ (t) − w ∗(0)  δλ∗   δλ∗ 
1 ∗    s.act 

λ (t) − λ (0)  = 
∗  :=  δµ∗ 
lim
t→0,t>0 t   .
∗ ∗
µ (t) − µ (0)   δµ∗    w.act 
δµ∗
0

Remark 1: Note that the QP (3.7) always has a unique solution (δw∗ , δλ∗ , δµ∗
s.act
, δµw.act
∗ ).
2
This is due to the positive deniteness of ∇w L on the null space of the equality constraint
sT
matrix ∇w G̃ , the feasibility of the QP (δw = 0 is feasible), and the fact that the constraint
s.act
matrix (∇w G, ∇w H , ∇w H w.act ) has full rank due to the assumption that w ∗ (0) is a regular
point.
42 Local Optimality and SQP Methods

Remark 2: The only further requirement in addition to the sucient conditions of The-
orem 3.3 is the  technical  assumption of strict complementarity in the solution of the
QP (3.7). It is needed to guarantee that there exists an 0>0 so that the active set of the
local solutions of P (t) does not change for t ∈ (0, 0).

Remark 3: The theorem treats only the existence of the right hand side of the solution
∗ ∗ ∗
curve (w (t), λ (t), µ (t)) on the interval t ∈ [0, 0). If the strict complementarity condition


s.act

is also satised for the solution (δw∗ , δλ∗ , δµ∗ , δµw.act


∗ ) of an inverted version of the
QP (3.7), namely of

 T
1 2 ∂
min δw ∇ L δw +
T
− ∇w L δw
δw∈Rnw 2  w ∂G
∂t

 − + ∇w GT δw = 0
 ∂H s.act ∂t (3.8)
+ (∇w H s.act ) δw = 0.
T
subject to − ∂t


 − ∂H w.act + (∇w H w.act )T δw ≥ 0,
∂t

then also the left hand side solution curve t ∈ (−0


, 0] → (w ∗ (t), λ∗ (t), µ∗ (t)), 0
> 0,
exists, with the one sided derivative


 ∗  −δw ∗
w (t) − w ∗ (0)  −δλ
∗ 
1 ∗  
lim λ (t) − λ∗ (0)  = 
 −δµ s.act

∗ .
t→0,t<0 t
µ∗ (t) − µ∗ (0)  −δµw.act


This is an immediate consequence of the theorem, applied to the reversed problem family
P
(t) := P (−t).

Remark 4: If the reference point (w ∗(0), λ∗ (0), µ∗ (0)) itself satises the strict comple-
w.act
mentarity condition, then no weakly active constraints H exist, and the original and
inverted QP, (3.7) and (3.8), do not contain any inequality constraints. Therefore, the
assumption of strict complementarity in the QP solution is trivially satised for both

problems, and the solution curve exists on both sides, for t ∈ (−0 , 0). Furthermore, from
symmetry follows that the QP solutions coincide (up to a sign change),

   
δw∗ −δw∗

 δλ∗  =  −δλ
∗  ,

δµ∗s.act −δµs.act

so that the derivative of the curve t ∈ (−0


, 0) → (w ∗(t), λ∗ (t), µ∗(t)) exists and is continu-
ous everywhere, also at the point t = 0.
3.2 Piecewise Dierentiable Dependence on Perturbations 43

3
δw ⋅t
*
2

−δ w’ ⋅ t
w (t)
*
0
*

−1

−2

−3
−5 0 5
t

Figure 3.2: Two sided derivative of the solution manifold w ∗ (t) of Example 3.1.

Example 3.2 (One Sided Dierentiability)


Let us again consider the family P (t) of simple optimization problems of Example 3.1.
∗ ∗
For t = 0 the reference solution is w (0) = µ (0) = 0, and the quadratic programming
subproblem (3.7) as in Theorem 3.4 is

1
min δw 2 subject to −1 + δw ≥ 0,
δw ∈ R 2

with the solution

δw∗ = 1 and δµw.act


∗ = 1,

which corresponds to the right hand side derivatives of w ∗ (t), µ∗ (t) for t → 0, t > 0.
Conversely, the inverted quadratic programming subproblem (3.8) is

1
min δw 2 subject to 1 + δw ≥ 0,
δw ∈ R 2

which has the solution

δw∗
= 0 and δµw.act
∗ = 0.

This solution corresponds to the (inverted) derivatives of w ∗ (t), µ∗ (t) for t → 0, t < 0. The
two sides of the derivative are illustrated in Figure 3.2.
44 Local Optimality and SQP Methods

3.3 Sequential Quadratic Programming


Sequential Quadratic Programming (SQP) is an iterative technique to nd a KKT point
(w ∗ , λ∗ , µ∗ ) of an NLP

G(w) = 0
min F (w) subject to
w ∈ R nw H(w) ≥ 0

Starting with an initial guess y0 = (w0 , λ0 , µ0 ), an SQP method iterates

yk+1 = yk + αk ∆yk (3.9)

where αk ∈ (0, 1] and

   
∆wk ∆wk
∆yk =  ∆λk  :=  λ̃k − λk 
∆µk µ̃k − µk

is obtained from the solution point (∆wk , λ̃k , µ̃k ) of the following quadratic program

1
min ∆w T Ak ∆w + ∇w F (wk )T ∆w
∆w ∈ Ωk 2
 (3.10)
G(wk ) + ∇w G(wk )T ∆w = 0
subject to
H(wk ) + ∇w H(wk )T ∆w ≥ 0

Existing SQP methods dier mainly by the choice of the steplength αk , the choice of
the so called Hessian matrix Ak and the choice of the set Ωk ⊂ R w . The iterates yk
n

according to Eq. (3.9) form a sequence that is expected to converge towards a KKT point
y ∗ = (w ∗ , λ∗ , µ∗ ) of the NLP. In practice, the iterations are stopped when a prespecied
convergence criterion is fullled.
We will in this section introduce only one SQP method that is theoretically very appeal-
ing: the full step exact Hessian SQP method, that was rst introduced by Wilson [Wil63].

3.3.1 The Full Step Exact Hessian SQP Method


The full step exact Hessian SQP method is distinguished by the choices αk := 1, Ωk := R nw ,
and, most important,

Ak := ∇w2 L(wk , λk , µk ).

To see why this choice is advantageous, let us rst regard an equality constrained problem.
In this case, the necessary optimality conditions for the QP solution (∆wk , λ̃k ) are

∇w2 L(wk , λk )∆wk + ∇w F (wk ) − ∇w G(wk )λ̃k = 0,


G(wk ) + ∇w G(wk )T ∆wk = 0.
3.3 Sequential Quadratic Programming 45

By substituting λ̃k = λk + ∆λk we can write this equivalently as

∇w L(wk , λk ) +∇w2 L(wk , λk ) ∆wk −∇w G(wk ) ∆λk = 0,


G(wk ) +∇w G(wk )T ∆wk =0

which corresponds to the Newton-Raphson iteration rule

    
∇w L(wk , λk ) ∂ ∇w L(wk , λk ) ∆wk
+ = 0,
G(wk ) ∂(w, λ) G(wk ) ∆λk

for the solution of the KKT system

   
∇w L(w, λ) ∇w F (w) − ∇w G(w)λ
= = 0.
G(w) G(w)

This equivalence proves that the full step exact Hessian SQP method shows the same
excellent local convergence behaviour as the Newton-Raphson method, in the vicinity of
∗ ∗
a solution (w , λ ) of the KKT system. Note, however, that it is necessary to start with
a good initial guess not only for the primal variables w, but also for the multipliers λ.
Fortunately, it turns out that the initial guess λ0 of the multipliers is not as crucial as the
initial guess w0 for the primal variables, due to the special structure of the KKT system.
This is expressed in the following theorem (for a proof we refer to Fletcher [Fle87]).

Theorem 3.5 (Convergence of the Exact Hessian SQP Method)


If a point (w ∗ , λ∗ ) satises the sucient optimality conditions of Theorem 3.3 of an
equality-constrained NLP problem, and if w0 is suciently close to w∗, and if λ0 is chosen
such that the matrix
 
∇w2 L(w0, λ0 ) −∇w G(w0 )
∇w G(w0 )T 0

is invertible, then the sequence of iterates generated by the full step exact Hessian SQP
method, i.e., the sequence (wk , λk ) of iterates that satises

    
∇w2 L(wk , λk ) −∇w G(wk ) wk+1 − wk ∇w F (wk )
= −
∇w G(wk )T 0 λk+1 G(wk )

converges q-quadratically to (w ∗, λ∗ ), i.e.,

   
 wk+1 − w ∗   wk − w ∗ 2
   
 λk+1 − λ∗  ≤ C  λk − λ∗ 

with some constant C ≥ 0.


46 Local Optimality and SQP Methods

3.3.2 Active Set Determination


In Theorem 3.5, local convergence is only proven for equality constrained problems. In the
presence of inequality constraints, however, we may assume that close to the solution the
active set does not change, so that the reasoning for equality constrained problems is still
∗ ∗ ∗
applicable. This assumption is valid in the vicinity of a KKT point (w , λ , µ ) that satis-
es the second order sucient conditions of Theorem 3.3 and the strict complementarity
condition.
The strength of the QP formulation (3.10) during the SQP iterations is that it allows
to determine the multipliers and the active set without prior knowledge of them. To show
∗ ∗ ∗ ∗
this, let us assume that we have found a KKT point y = (w , λ , µ ) that satises the rst
order necessary conditions of Theorem 3.1:

∇F (w ∗) − ∇w G(w ∗ )λ∗ − ∇H(w ∗ )µ∗ = 0


G(w ∗ ) = 0
H(w ∗ ) ≥ 0
µ∗ ≥ 0
µ∗j H(w ∗)j = 0, j = 1, 2, . . . , nH .

Let us now assume that we formulate the rst QP 3.10 for the determination of ∆y0 ,

initialized at y0 = y , with some Hessian matrix A0 . The necessary conditions of optimality
for the QP solution (∆w0 , λ̃0 , µ̃0 ) are

A0 ∆w0 + ∇F (w ∗ ) − ∇w G(w ∗ )λ̃0 − ∇H(w ∗)µ̃0 = 0


G(w ∗) + ∇w G(w ∗ )T ∆w0 = 0
H(w ∗) + ∇w H(w ∗)T ∆w0 ≥ 0
µ̃0 ≥ 0
∗ ∗ T
µ̃0,j (H(w ) + ∇w H(w ) ∆w0 )j = 0, j = 1, 2, . . . , nH .

It can be seen that (∆w0 , λ̃0 , µ̃0 ) = (0, λ∗ , µ∗ ) satises these conditions, and assuming
positive deniteness of A0 on the null space of the equality constraints ∇w G(w ∗ )T , this
solution is also the unique optimum of the QP: multipliers and active set are detected

from knowledge of w only. We may therefore infer that even in a neighborhood of a

local optimum w , the multipliers and active set can be determined by the SQP algorithm,
under a weak positive deniteness assumption on the matrix A0 . This can indeed be
(w ∗, λ∗ , µ∗ ) satises the second order sucient conditions
proven, under the condition that
of Theorem 3.3 and the strict complementarity condition. For a detailed discussion and a
proof we refer to Robinson [Rob74].

3.4 SQP for a Parameterized Problem Family


Let us in the sequel consider the parameterized family of augmented optimization problems
3.4 SQP for a Parameterized Problem Family 47


 t − t̆ = 0
P̆ (t̆) : min F (t, w) subject to G(t, w) = 0 (3.14)
t ∈ R , w ∈ R nw 
H(t, w) ≥ 0

where the functions F : R × R w → R , G : R × R w → R G , and H : R × R w → R H


n n n n n
2
are in C . This family is equivalent to the family P (t) of problems (3.6) in Section 3.2,
with the only dierence that t is now introduced as an additional variable which is xed
by the additional constraint t − t̆ = 0. This addition of t to the SQP variables has the
consequence that derivatives with respect to t are evaluated in the SQP algorithm, which
allows to perform the transition between dierent optimization problems in such a way
that a rst order approximation of the solution manifold as in Theorem 3.4 is provided by
the rst iterate.
Let us for brevity dene
     
t λt t − t̆
w̆ := , λ̆ := , and Ğ(w̆) := ,
w λ G(t, w)

so that the Lagrangian function L̆ of problem P̆ (t̆) can be written as

L̆(w̆, λ̆, µ) := F (w̆) − λ̆T Ğ(w̆) − µT H(w̆)


= F (t, w) − λt (t − t̆) − λT G(t, w) − µT H(t, w)
= L(t, w, λ, µ) − λt (t − t̆),
where

L(t, w, λ, µ) = F (t, w) − λT G(t, w) − µT H(t, w)


is the Lagrangian function for the parameterized family of optimization problems P (t) of
Section 3.2.
We will now show that the rst full step exact Hessian SQP iterate for the enlarged
∗ ∗ ∗
problem P̆ (0), when started at the solution (w̆ (0), λ̆ (0), µ (0)) of P̆ (0), is closely related
∗ ∗ ∗
to the one sided derivative of the solution manifold (w (·), λ (·), µ (·)) of the problems
P (t), as in Theorem 3.4.

Theorem 3.6 (First Order Prediction by Exact Hessian SQP)


Let us assume that we have found a KKT point (w̆ ∗ (0), λ̆∗ (0), µ∗(0)) of problem P̆ (0) that
satises the sucient optimality conditions of Theorem 3.3. If a full step SQP algorithm
with exact Hessian for the solution of the problem P̆ (0), with 0 > 0 suciently small,
is started with this solution as an initial guess, then the nontrivial part of the rst SQP
step, (∆w, ∆λ, ∆µ), is identical to 0 times the one sided derivative of the solution manifold
(w ∗ (·), λ∗(·), µ∗ (·)) of problems P (t) as given in Theorem 3.4, i.e.,
     ∗ 
∆w δw∗ w (t) − w ∗(0)
1 1 ∗
∆λ  =  δλ∗  = lim λ (t) − λ∗ (0) 
0 t→0,t>0 t
∆µ δµ∗ µ∗ (t) − µ∗ (0)
48 Local Optimality and SQP Methods

Remark: The rst order prediction provided by the exact Hessian SQP is equivalent to
one step of the Euler predictor pathfollowing method in parametric optimization [GVJ90,
Sec. 3.3, p. 73].

Proof: For a proof rst note that ∇w̆2 L̆ = ∇w̆2 L due to the linearity of the constraint
t − 0 = 0, so that the value of the additional multiplier λt plays no role in the QP (3.10).
∗ ∗ ∗
Furthermore, it can easily be seen that (w̆ (0), λ̆ (0), µ (0)) satises the sucient optimal-
∗ ∗ ∗
ity conditions of Theorem 3.3 for problem P̆ (0) if and only if (w (0), λ (0), µ (0)) satises

them for problem P (0), and λt (0) =

∂t
L(0, w ∗(0), λ∗(0), µ∗ (0)).
The QP (3.10) for the rst SQP iterate can be written in the form

1 ∂ ∂F 1 ∂2L 2
min ∆w T ∇w2 L∆w + ∆t ∇w LT ∆w + ∇w F T ∆w + ∆t + ∆t
∆t,∆w 2  ∂t ∂t 2 ∂t2
 ∆t − 0 = 0
subject to G + ∂t ∆t + ∇w GT ∆w = 0
∂G

H + ∂H∂t
∆t + ∇w H T ∆w ≥ 0,

where all functions and derivatives are evaluated at the point t = 0, w ∗ (0), λ∗ (0) and µ∗ (0).
The variable ∆t = 0 can directly be eliminated, and using the fact that G(0, w ∗(0)) = 0
act
and H (0, w ∗ (0)) = 0 as well as the fact that

∇w F (0, w ∗(0)) = ∇w G(0, w ∗ (0))λ∗(0) + ∇w H (0, w ∗(0))µ∗ (0)

2
we can formulate the equivalent QP (dropping the constant
∂F
∂t
0 + 12 ∂∂tL2 02 in the objective)

1 ∂
min ∆w T ∇w2 L∆w + 0 ∇w LT ∆w + (∇w Gλ∗ (0) + ∇w H µ∗ (0))T ∆w
∆w 2  ∂t

∂G
∂t
0 + ∇w GT ∆w = 0
act
0 + ∇w H act ∆w ≥ 0
∂H T
subject to
 inact ∂H inact
∂t
T
H + ∂t 0 + ∇w H inact ∆w ≥ 0,
3.4 SQP for a Parameterized Problem Family 49

The conditions (3.3) according to Theorem 3.1 for a triple (∆w, λ, µ) to be a KKT point
∗ ∗
of this QP problem are, using λ = λ (0) + ∆λ and µ = µ (0) + ∆µ:


∇w2 L∆w + 0 ∇w L − ∇w G∆λ − ∇w H ∆µ = 0, (3.15a)
∂t
∂G
0 + ∇w GT ∆w = 0, (3.15b)
∂t
∂H s.act
0 + ∇w H s.act ∆w
T
≥ 0, (3.15c)
∂t
∂H w.act
0 + ∇w H w.act ∆w
T
≥ 0, (3.15d)
∂t
inact
∂H T
H inact + 0 + ∇w H inact ∆w ≥ 0, (3.15e)
∂t
µ∗,s.act (0) + ∆µs.act ≥ 0, (3.15f )

∆µw.act ≥ 0, (3.15g)

∆µinact ≥ 0, (3.15h)
 
∗ s.act ∂H s.act s.act T
(µ (0) + ∆µ)j 0 + ∇w H ∆w = 0, (3.15i)
∂t j
 w.act

∂H
∆µw.act 0 + ∇w H w.act ∆w
T
j = 0, (3.15j)
∂t j
 inact

∂H
∆µinact
T
j H inact + 0 + ∇w H inact ∆w = 0. (3.15k)
∂t j

By assuming that ∆w , ∆µ can be made arbitrarily small by choosing 0 small, we can assume
inact T
inact
that H + ∂H∂t 0 + ∇w H inact ∆w > 0 and therefore drop (3.15e), and replace (3.15k)
by ∆µj
inact
= 0. Additionally, we conclude that (µ∗ (0) + ∆µ)js.act > 0, so that (3.15i)
and (3.15c) can be replaced by

∂H s.act
0 + ∇w H s.act ∆w = 0.
T
∂t

By a division by 0 and a redenition

∆w ∆λ ∆µ
δw∗ := , δλ∗ := , and δµ∗ := ,
0 0 0
50 Local Optimality and SQP Methods

we can write the necessary conditions as


∇w2 Lδw∗ + ∇w L − ∇w Gδλ∗ − ∇w H δµ∗ = 0,
∂t
∂G
+ ∇w GT δw∗ = 0,
∂t
∂H s.act
+ ∇w H s.act δw∗
T
= 0,
∂t
∂H w.act
+ ∇w H w.act δw∗
T
≥ 0,
∂t
δµw.act
∗ ≥ 0,
 
∂H w.act
δµ∗ w.act w.act T
j + ∇w H δw∗ = 0,
∂t j
δµinact
∗ = 0,

which are exactly the KKT conditions for the QP (3.7) that is formulated in Theorem 3.4.
By the unique existence of this solution we conrm our assumption that ∆w and ∆µ can
be made arbitrarily small by chosing 0 suciently small.

3.4.1 Large Disturbances and Active Set Changes


In the proof of Theorem 3.6 we have made 0 suciently small to ensure that the active set
of the rst QP corresponds to the active set in the immediate vicinity of the solution point
w ∗ (0)  in this way it was possible to show that the rst iterate of the exact Hessian SQP
∗ ∗
method, when started at a solution y (t) delivers a prediction y (t) + ∆y(0) of the solution
y ∗ (t + 0) that is y ∗(t + 0) − (y ∗ (t) + ∆y(0)) = O(02) under rather mild conditions, even
at the points where the active set changes, as treated in Theorem 3.4.

In practical applications, however, when we want to solve a problem P (t2 ) starting


with the solution of a problem P (t1 ),
we will typically encounter the case that the non-

dierentiable point of the solution curve w (t) lies somewhere in the interval between t1
and t2 . It is very important to note that the SQP method is in practice also able to treat
this case, as it can even reproduce distant active set changes, which will be illustrated by
the following example.

Example 3.3 (First Order Prediction of Exact Hessian SQP)


Let us again consider the family of simple optimization problems of Examples 3.1 and 3.2,
but in an augmented formulation P̆ (t̆):
3.4 SQP for a Parameterized Problem Family 51

1
w +∆w
0 t*=0.5
*

*
w =0.48
−1

−2

−3
−5 0 5
*
t +ε

Figure 3.3: First step ∆w of exact Hessian SQP method for Example 3.1, as a function of
∗ ∗
0, for the initialization t = 0.5, w = 0.48 = arcsin(0.5).


1 2 t − t̆ = 0
min w subject to
t ∈ R ,w ∈ R 2 −t + sinh(w) ≥ 0

Initialized at a solution t∗ = t̆, w ∗ = max(0, arcsin(t∗ ), µ∗ = w ∗ / cosh(w ∗ ) of P̆ (t̆), the QP


of the rst exact Hessian SQP iteration for the solution of P̆ (t̆ + 0) is

1
min ∆w T (1 − tanh(w ∗ )w ∗ ∆w + w ∗ ∆w
∆t ∈ R , ∆w ∈ R 2

∆t − 0 = 0
subject to
−t + sinh(w ) − ∆t + cosh(w ∗ ) ∆w ≥ 0,
∗ ∗

which has the solution

∆t = 0,
w∗ t∗ −sinh(w ∗ )+
∆w = max(− 1−tanh(w ∗ )w ∗ , cosh(w ∗ )
),
w ∗ +(1−tanh(w ∗ )w ∗ )∆w
µ̃ = cosh(w ∗ )

as depicted in Figure 3.3 for an initialization t∗ , w ∗ that is in the neighborhood of the


corner t = 0, w = 0.
Chapter 4

Real-Time Iterations

In this chapter we will develop the main algorithmic ideas of our real-time iteration ap-
proach. We will rst present in Sec. 4.1 the challenges that every real-time optimal control
scheme has to face, and motivate the idea of the real-time iteration scheme. In Sec. 4.2 we
present the initial value embedding approach for perturbed problems, that arises quite nat-
urally in the framework of the direct multiple shooting method. The algorithm is described
in Sec. 4.3 for shrinking horizon problems, and in Sec. 4.4 for moving horizon problems,
that are typical for practical NMPC applications.
After the presentation of the real-time iteration idea in this chapter, we will in Chap. 5
prove that the proposed approach leads to a contractive algorithm under suitable condi-
tions, and in Chap. 6 we will have a close look at one real-time iteration.

4.1 Practical Real-Time Optimal Control


In a real-time scenario we aim at not only solving one optimization problem, but a whole
sequence of problems. Let us denote the dierential state of the plant at time t by x0 (t).
Then, ideally, at every time t,
the optimal control problem of Sec. 1.1.1 with an initial

value x0 (t) would be solved instantaneously, and the optimal control u (0; x0 (t)) be given
as a control to the real plant at time t. This strategy would yield an optimal feedback
control, or, for moving horizons, a Receding Horizon Control (RHC) law as e.g. dened
in [MM90]. In all real implementations of NMPC, however, two approximations to this
ideal approach are made:

• First, it is not the innite optimal control problem from Sec. 1.1.1 that is solved, but
a parameterized, nite dimensional formulation of it. In our approach it is the NLP
from Sec. 2.2 that arises after the direct multiple shooting parameterization, which
was denoted P (x0 (t)).

• Secondly, the optimization problems cannot be solved instantaneously, so that the


problems are solved only at discrete sampling times . . . , ti , ti+1 , . . . , with interval

53
54 Real-Time Iterations

durations δi = ti+1 − ti that are long enough to perform the necessary computations
for the solution of problem P (x0 (ti )).

Note that in this framework the optimal control corresponding to the system state
x0 (ti ) at time ti is usually only available at time ti+1 , after the computations have been
performed. This leads to a delay that may result in poor real-time performance, if the
sampling intervals δi are not short enough.
x0 (ti+1 ) already at time ti and to solve the
In principle, it is possible to predict the state
corresponding problem P (x0 (ti+1 )) during the time interval [ti , ti+1 ], so that at time ti+1
the optimal solution for the problem P (x0 (ti+1 )) is already available. However, unpredicted
disturbances that have occured in the interval [ti , ti+1 ] are not taken into account, so that
the feedback delay of one sampling time is still present.

4.1.1 A Conventional Approach


A straightforward approach to real-time optimal control would be to just employ a fast
o-line algorithm to solve the arising optimization problems, and use the completely con-
verged solution of the optimization problem to provide the feedback. We call this approach
the conventional approach to NMPC , and it is for example described by Binder et al.
+
in [BBB 01]. Note, however, that the duration δi may not be known in advance, if it is
insisted that each solution should satisfy a prespecied convergence criterion: in fact, the
number of SQP iterations cannot be bounded at all! In all practical implementations some
safeguards must exist, that stop the solution algorithm in time, e.g. after a xed number
of SQP iterations, even if the convergence criterion is not met.

Example 4.1 (Conventional NMPC)


Let us consider again the scenario that was presented in Sec. 1.2 and introduce it as a
real-time example. We assume that the system state is disturbed at time t0 = 0, so that
it suddenly jumps to the disturbed initial value x0 , that is known immediately, but could
not be known in advance. We choose a multiple shooting parameterization with N = 100
intervals each of 20 seconds length. Let us assume that one SQP iteration takes 20 seconds
computation time, and that after 5 iterations all occuring optimization problems are solved
with satisfying accuracy: therefore, we can choose a sampling time of δ = 100 seconds.
During this time we have to apply the best available controls to the real plant, which are
the steady state controls in the rst 100 seconds, and in the following sampling times the
outcome of the previous optimization. The optimizations are carried out for the predicted
initial values after 100 seconds, to alleviate the eect of the delay. We will assume that the
model and the real plant coincide, so that the open-loop solution that is available after the
rst 100 seconds corresponds already to the closed-loop trajectory and is not modied in
the following sampling intervals. The resulting closed-loop trajectory is shown in Fig. 4.1,
and compared to the optimal feedback control. The integrated least squares objective that we
can regard as a performance measure of the closed-loop trajectories, is for the conventional
NMPC scheme increased by 17 % compared to the optimal feedback control.
4.1 Practical Real-Time Optimal Control 55

3
1
2
x

1
0 200 400 600 800 1000 1200 1400 1600 1800 2000
1.5
1
2
x

0.5
0 200 400 600 800 1000 1200 1400 1600 1800 2000
120
110
x3

100
0 200 400 600 800 1000 1200 1400 1600 1800 2000
120
110
x4

100
0 200 400 600 800 1000 1200 1400 1600 1800 2000
25
20
1
u

15
10
0 200 400 600 800 1000 1200 1400 1600 1800 2000
0
−1000
2
u

−2000
0 200 400 600 800 1000 1200 1400 1600 1800 2000
time [s]

Figure 4.1: State and control trajectories of a conventional NMPC scheme, compared with
optimal feedback control (which is dotted).

4.1.2 The Real-Time Iteration Idea

The reason for the poor performance of the conventional NMPC scheme is that we have to
wait a long time until a feedback to disturbances is delivered, and in the meantime we have
to apply a rather arbitrary, uncorrected control. Would it not be possible to use some other
feedback control that is not necessarily optimal, but better than the uncorrected values?
In Example 3.3 at the end of Chap. 3 we have seen that the rst QP solution of a full step
exact Hessian SQP algorithm provides already a rather good approximation of the exact
solution, if the algorithm is initialized in a neighborhood of this solution. Motivated by
this observation, we conclude that  in a real-time scenario  it would probably be better
to use the result of this rst correction instead of waiting until the SQP algorithm has
converged (without reacting to disturbances). After the rst SQP iteration, there would
already be the chance to react to new disturbances  and if no further disturbance occurs,
the algorithm could continue to improve the outcome of the previous iterates. Compared
56 Real-Time Iterations

with the conventional approach, our real-time algorithm diers therefore in two important
respects:

• We restrict the number of solution iterations that are performed for each problem to
one single SQP iteration , allowing to reduce the sampling intervals δi to a minimum.
This approach is only possible if we ensure that the subsequent optimization problems
are carefully initialized in order to maintain the excellent convergence properties of
the direct multiple shooting method in the absence of disturbances.

• Secondly, we divide the necessary computations during each real-time iteration into
a (long) preparation phase that can be performed without knowledge of x0 , and a
considerably shorter feedback phase that allows to make the delay even shorter than
the sampling time δi . As this remaining delay is typically orders of magnitude smaller
than δi , we will in the following neglect it and assume that the result of each real-time
iteration is immediately available, and that the sampling time δi is only needed to
prepare the following real-time iteration.

Both algorithmic features are based on an initialization strategy that can be understood
as an initial value embedding , which will be described in the following section.

4.2 The Initial Value Embedding


In Theorem 3.6 of Sec. 3.4 we have shown that the rst iterate of a full step exact Hessian
SQP algorithm that is initialized at a neighboring solution delivers a rst order approx-
imation of the exact solution, if an augmented problem formulation (3.14) is used. The
crucial feature of this augmented formulation is that the actual value of the parameter that
distinguishes between dierent problems is introduced as an additional NLP variable, that
is xed by a trivial equality constraint, so that derivatives with respect to the parameter
are present in the SQP framework. Fortunately, in the direct multiple shooting NLP for-
mulation of Sec. 2.2, the distinguishing parameter of the NLPs P (x0 ) is the initial value
x0 , that is itself constraining sx0 by a trivial equality constraint sx0 − x0 = 0. Therefore, we
may regard the NLP formulation (2.10) as an embedded problem formulation of the form

 sx0 − x0 = 0,
min F (sx0 , w̃) subject to G̃(sx0 , w̃) = 0,
0 ∈R
sx nx ,w̃∈R(nw−nx ) 
H(sx0 , w̃) ≥ 0,
with w = (sx0 , w̃) (cf. Sec. 2.2). Comparing with the notation of (3.14), sx0 has taken the
place of t, and x0 the place of t̆.
Let us assume that we have found a solution y ∗(x0 ) = (w ∗ (x0 ), λ∗ (x0 ), µ∗ (x0 )) of prob-
lem P (x0 ). If the SQP algorithm for the solution of a neighboring problem P (x0 + 0) is
initialized with this solution, the rst full step exact Hessian SQP iterate provides already

an excellent (rst order) approximation of the solution y (x0 + 0). This rst iterate is even
able to approximate distant active set changes, as was shown in Example 3.3, and will also
be illustrated in the following example for a parameterized optimal control problem.
4.2 The Initial Value Embedding 57
25 25
second iterate
20 20

q10
q10

15 initialization 15
first iterate first iterate=initialization

0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1

4000 4000

2000 2000

q2
0
2
q0

0 0

−2000 −2000

−4000 −4000
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
ε ε

Figure 4.2: First order correction in q01 and q02 after initial value embedding as a function of
0, for two dierent initializations: on the left hand side the algorithm was initialized with
the steady state trajectory, on the right hand side with the outcome of the rst iterate for
0=1 from the left hand side. The exact solution manifold (cf. Fig. 1.3) is dotted.

Example 4.2 (Initial Value Embedding)


Let us again consider the continuous stirred tank reactor with a disturbed initial value x0
as in Example 4.1. We will regard a whole family of optimization problems P (x ) with
perturbed initial values

x := xS + 0(x0 − xS ),

that interpolate between the steady state xS and the disturbed initial value x0 (cf. Exam-
ple 1.1). Let us initialize the SQP algorithm with the steady state trajectory, which is the
solution of P (xS ) (0 = 0). The number nw of NLP variables is 604, as discussed in Ex-
ample 2.1. We restrict our attention only to the rst control vector, q0 . A comparison of
the rst correction in q0 after the initial value embedding with the exact solution manifold
(cf. Example 1.1) is shown on the left hand side of Fig. 4.2 for dierent values of 0; this
illustrates that the initial value embedding strategy provides a rst order approximation of
the exact solution manifold, that takes active set changes into account (cf. lower left graph
of Fig. 4.2). On the right hand side of Fig. 4.2 we investigate what happens if we choose the
rst iterate itself as an initialization of the algorithm, so that we obtain a second iterate.
Note that the rst iterate itself is not the solution of any problem, so that the manifold of
second iterates does not touch the exact solution manifold at a reference point, as before.
But it can be seen that in the vicinity of 0 = 1 it provides already a quite good approximation
of the exact solution manifold.
58 Real-Time Iterations

4.3 Real-Time Iterations on Shrinking Horizons


So far we have assumed that the initialization of the SQP algorithm is given. In a real-
time scenario, there is essentially only one source which can provide an initial guess for the
current problem: the outcome of the previous iterate. Depending on the problem class,
dierent strategies come to mind to use the previous real-time iteration to initialize the
current one.
In the case of shrinking horizon problems, there exists a very natural initialization that
∗ ∗ ∗
is based on the principle of optimality: if a solution x (t), z (t), u (t) is optimal on the time
horizon t ∈ [ti , tf ] for an initial value x0 (ti ), its restriction to the shrunk horizon [ti+1 , tf ] =
[ti + δi , tf ] is still optimal for the initial value x0 (ti+1 ) = x∗ (ti+1 ). This can be translated
into the direct multiple shooting context, if the length of the multiple shooting intervals,
T (τi+1 − τi ), corresponds to the length of the sampling intervals, δi = ti+1 − ti . Let us for
this scope regard a problem discretization with N multiple shooting intervals, and let us
assume that for the optimization problem P (x0 (t0 )) on the full horizon [t0 , t0 +T ] a solution

w ∗ = (q0 , . . . , qN −1 , s0 , . . . , sN ) has been found. At time tk = t0 + ki=1 δi = t0 + T τk , a
reduced problem can be formulated, on a shrunk horizon with only N −k multiple shooting
intervals, for the initial value xk := x0 (tk ). We will denote this problem by Pk (xk ). Let
us adopt the convention that the multiple shooting variables wk of the reduced NLP are
numbered so that the indices start with k , i.e., wk = (qk , . . . , qN −1 , sk , . . . , sN ), so that the
problem Pk (xk ), k = 0, . . . , N − 1 can be written as:


N −1
Pk (xk ) : min Li (sxi , szi , qi ) + E(sxN , szN ) (4.1a)
qk , . . . , qN −1 , i=k
sk , . . . , sN

subject to

sxi+1 − xi (τi+1 ; sxi , szi , qi ) = 0, i = k, . . . , N − 1, (4.1b)

g(sxi , szi , qi ) = 0, i = k, . . . , N, (4.1c)

sxk − xk = 0, (4.1d)

r e (sxN , szN ) = 0, (4.1e)

r i (sxN , szN ) ≥ 0, (4.1f )

h(sxi , szi , qi ) ≥ 0, i = k, . . . , N. (4.1g)

Note that P0 (x0 )corresponds to the original problem P (x0 ) formulated in (2.10).
Clearly, if we have found a solutionyk∗ = (wk∗ , λ∗k , µ∗k ) of problem Pk (xk ), and if the state
xk+1 corresponds to the predicted optimal value on this trajectory, i.e., xk+1 = (sxk+1 )∗k , the

restriction of the solution to the remaining horizon provides the solution yk+1 for the shrunk
problem Pk+1 (xk+1 ), which is a good initialization also for disturbed initial values xk+1 + 0,
4.3 Real-Time Iterations on Shrinking Horizons 59

when the initial value embedding is employed. Let us introduce the shrink operator Sk ,
that just removes the rst components qk , sk and the corresponding multipliers from a
vector yk = (wk , λk , µk ), i.e., the operator that projects the variables and multipliers of
Pk (·) to the variable and multiplier space of Pk+1(·). Using Sk , the above statement can
be expressed as

yk+1 = Sk yk∗.

4.3.1 A Real-Time Algorithm


In the real-time iteration context, the algorithm would proceed as follows: Starting with
0 0 0 0
an initial guess y0 = (w0 , λ0 , µ0 ) for the problems P0 (·) prepare the rst real-time iteration
as far as possible without knowledge of x0 . Then perform for for k = 0, . . . , N − 1 the
following cycle:

1. At the moment tk that xk is known, perform the prepared real-time iteration (based
k
on a linearization at yk and the initial value embedding idea) towards the solution of
Pk (xk ). This yields the rst order correction ykk+1.
k+1
2. Give the resulting value of the rst control vector (qk )k (which is contained in the
k+1
vector yk ) immediately as a control to the plant.

3. Shrink the rst order correction ykk+1 to the variable space of the new problem Pk+1(·),
i.e., dene the new iterate
k+1
yk+1 := Sk ykk+1.
4. Prepare the rst iterate of problem Pk+1 (·) as far as possible without knowledge of
k+1
xk+1 , using the shrunk vector yk+1 as an initialization.

5. Increase k by one and go to 1.

Note that in our algorithm the rst two steps do only need a very short computation time
compared to the fourth step (cf. Chap. 6).

Example 4.3 (Real-time iterations)


The closed-loop trajectory resulting from the real-time iteration approach for the scenario
that was presented in Sec. 1.2 is shown in Fig. 4.3. The number of multiple shooting
intervals is N = 100, with intervals of equal length δk = 20 sec for k = 0, . . . , N − 1. The
0
initialization y0 was chosen to be the steady state trajectory, i.e., the solution of P (xS ). We
assume that the preparation time per real-time iteration is exactly 20 seconds (in reality,
the computation time per iteration was always less than 1 second, cf. Fig. 4.5).
It can be seen that the real-time iteration approach delivers a trajectory that is nearly
identical with an optimal feedback control (dotted line)  apart from the outlier of u1 in the
rst interval which is due to linearization errors, and which corresponds to the rst iterate
in Fig. 4.2. In the second real-time iteration, when nonlinearities are taken into account,
u1 is already very close to its optimal value. The performance index is only increased by 3
% compared to optimal feedback control.
60 Real-Time Iterations

3
1
2
x

1
0 200 400 600 800 1000 1200 1400 1600 1800 2000
1.5
1
2
x

0.5
0 200 400 600 800 1000 1200 1400 1600 1800 2000
120
110
x3

100
0 200 400 600 800 1000 1200 1400 1600 1800 2000
120
110
x4

100
0 200 400 600 800 1000 1200 1400 1600 1800 2000
25
20
1
u

15
10
0 200 400 600 800 1000 1200 1400 1600 1800 2000
0
−1000
2
u

−2000
0 200 400 600 800 1000 1200 1400 1600 1800 2000
time [s]

Figure 4.3: State and control trajectories of the real-time iteration approach. The dotted
lines, that are nearly identical, show the trajectory due to optimal feedback control.

4.3.2 Comparison with Linearized Neighboring Feedback Control


It is interesting to compare the above real-time iteration scheme with a well-known approx-
imation of optimal feedback control, namely with linearized neighboring feedback control
0
as introduced in Sec. 1.3.1. For this aim let us assume that the initial guess y0 is the solu-
tion of a nominal problem P0 (x̄0 ), and that the predicted optimal trajectory goes through
the points x̄1 , . . . , x̄N , that we call the nominal or reference trajectory. By the principle
0
of optimality it is clear that for a given k < N the restriction of y0 to the variable space of
Pk (·), that we denote by yk0 , is the solution of the problem Pk (x̄k ). The idea of linearized
0 0
neighboring feedback control is to use only the initial guess y0 and its subvectors yk for
the initialization of the real-time iterations. The preparation of the rst iterate for all
problems Pk (·) can be performed o-line, reducing the necessary on-line computations to
a minimum.

In linearized neighboring feedback control, usually the assumption is made that the
active set does not change during the on-line QP solutions, so that the QP can largely be
4.3 Real-Time Iterations on Shrinking Horizons 61

presolved, leaving only one matrix vector multiplication that has to be performed on-line:
the control uk on the interval [tk , tk+1 ] is given by uk = ūk − Kk (xk − x̄k ), where ūk is the
nominal control, and the matrix Kk is the precomputed gain matrix . Virtually no on-line
computations have to be performed in this case, and very short sampling times can be
realized.
For larger deviations in xk − x̄k , however, this may lead to control responses that exceed
the control bounds  therefore we present here a modied linearized feedback control scheme
that solves the prepared QPs on-line, so that all linearized constraints can be taken into
account, when active set changes occur. Note that bounds are linear constraints and
therefore exactly satised in each QP solution. The dierence to the real-time iteration
scheme is that all control responses are based on the same system linearization, at the
0
reference solution y0 . This algorithm would proceed as follows:
0 0 0 0 0
Based on the reference solution y0 = (w0 , λ0 , µ0 ) and on its subvectors yk =
0
Sk Sk−1 . . . S1 y0 (that are the solutions of the nominal problems Pk (x̄k )), prepare the rst
QP solution of the problems Pk (·) as far as possible without knowledge of xk . Then perform
for for k = 0, . . . , N − 1 the following cycle:

1. At the moment tk that xk is known, perform the prepared QP solution towards the
solution of Pk (xk ). This yields the rst order correction yk1 .

2. Give the resulting value of the rst control vector (qk )1k (which is contained in the
1
vector yk ) immediately as a control to the plant.

3. Increase k by one and go to 1.

Note that this linearized neighboring feedback control scheme is very closely related to
linear model predictive control on shrinking horizons, as it is based on a linear system
model, and only a QP has to be solved in each iteration. It is superior to what is commonly
called linear model predictive control, however, in the respect that nonlinearities of the
system equations along the nominal trajectory are taken into account, and that the Hessian
matrix does not only represent a quadratic objective, but the full second order information
1
of the Lagrangian function along the nominal trajectory. Note that the values yk are rst

order approximations of the optimal solutions yk of the full nonlinear problems Pk (xk ), i.e.,
yk1 − yk∗  = O(xk − x̄k 2 ), due to the initial value embedding.
The low computational on-line cost of linearized neighboring feedback control, however,
comes along with the inability to adapt to large deviations from the nominal solution (i.e.,
for big xk − x̄k ), as the system nonlinearity is not taken into account in the on-line
context.

Example 4.4 (Linearized neighboring feedback control)


In Fig. 4.4 a closed-loop trajectory corresponding to the described linearized neighboring
feedback control for the same scenario as in Example 4.3 is shown, and compared with the
real-time iteration scheme. It can be seen that the two trajectories dier signicantly, and
that the linearized neighboring feedback control shows considerably poorer performance, see
62 Real-Time Iterations

3
1
2
x

1
0 200 400 600 800 1000 1200 1400 1600 1800 2000
1.5
1
2
x

0.5
0 200 400 600 800 1000 1200 1400 1600 1800 2000
120
110
x3

100
0 200 400 600 800 1000 1200 1400 1600 1800 2000
120
110
x4

100
0 200 400 600 800 1000 1200 1400 1600 1800 2000
25
20
1
u

15
10
0 200 400 600 800 1000 1200 1400 1600 1800 2000
0
−1000
2
u

−2000
0 200 400 600 800 1000 1200 1400 1600 1800 2000
time [s]

Figure 4.4: Linearized neighboring feedback control: state and control trajectories, com-
pared with the real-time iteration trajectories (dotted). Both schemes coincide on the rst
interval, but the linearized neighboring scheme does not take nonlinearities into account.

Table 4.1. Note that the two schemes coincide on the rst interval, where they both use
the same initialization (cf. Fig. 4.2). In the linearized neighboring feedback control, this
initialization is kept for the whole trajectory, whereas it is continuously updated during the
real-time iteration cycles.

4.3.3 Problems with Free Final Time


So far we have focused on problems where the overall duration was prespecied. In practical
shrinking horizon problems, however, often the nal time is open to optimization, or is
determined implicitly by terminal constraints. As discussed in Sec. 2.2, the formulation of
x
a free nal time can be achieved by an augmentation of the dierential state vectors si by
4.4 Real-Time Iterations on Moving Horizons 63

Strategy relative costs


Optimal Feedback Control 100 %
Real-Time Iterations 103 %
Conventional NMPC Approach 117 %
Linearized Neighboring Feedback 121 %

Table 4.1: Performance of dierent real-time strategies, measured in terms of the objective
function, from Examples 4.1, 4.3, and 4.4.

one component, and the formulation (4.1) of the optimization problem Pk (xk ) needs to be
modied only at the initial value constraint (4.1d), which is changed to

(Inx |0)sxk − xk = 0.

As before, the principle of optimality holds, so that a solution of problem Pk (xk ) provides
a solution of the shrunk problem Pk+1 (xk+1 ), if xk+1 corresponds to the predicted value
(Inx |0)sxk+1. If disturbances occur, the initial value embedding and real-time iteration
scheme can be applied without modications; however, it should be kept in mind that the
interval durations may now change during the real-time iterations.
Apart from the shrinking problem formulation as described above, there exists an in-
teresting second possibility to formulate the series of optimization problem on a shrinking
horizon with free nal time: instead of the problems P0 (x0 ), P1 (x1 ), . . . , PN −1 (xN −1 ) with
shrinking multiple shooting interval numbers, we can consider always the same multiple
shooting discretization and regard only one type of parameterized problem, P (·) = P0 (·),
i.e., we treat successively P (x0 ), P (x1 ), . . . , P (xN −1 ). In this case it is not straightforward
how to initialize the subsequent real-time iterations. One way would be to take the vari-
able and multipliers from the previous iterate without any modication, i.e., to perform
successive warm starts and to rely on the approximation capacities of the initial value em-
bedding (cf. Sec. 4.4.2). Though such a scheme can be successful in practical applications,
especially for short sampling times, it is dicult to prove convergence, as it will be done
for the shrinking problem formulation in Chap. 5.

4.4 Real-Time Iterations on Moving Horizons


In applications of nonlinear model predictive control (NMPC) to continuous processes
the optimization problems are typically formulated on moving horizons, which aim to
approximate an innite prediction horizon. This results in problems which all have the
same horizon length, and which are only distinguished by the initial value xk . We will
therefore only treat one type of optimization problem P (·), and adopt the convention that
the subvectors of the primal variables w are denoted by q0 , . . . , qN −1 and s0 , . . . , sN in all
problems, i.e., we disregard the absolute position of the moving horizon in time, in contrast
to the shrinking horizon case.
64 Real-Time Iterations

We will present two basic strategies how to proceed from one optimization problem
to the next. Both show their advantages in dierent circumstances: the rst, the shift
strategy, is especially advantageous for periodic or time dependent processes, as it considers
the movement of the horizon in time explicitly. The second strategy, the warm start, is
especially useful in applications where the multiple shooting intervals are chosen to be
considerably longer than the sampling times.

4.4.1 Shift Strategy


The principle of optimality does not hold for nite moving horizons, but it is approximately
valid if the horizon length is long enough to justify the assumption that the remaining costs
on the innite horizon can be neglected. This motivates an adaptation of the shrinking
horizon initialization strategy to moving horizons that we call the shift strategy .
k+1
For the initialization of a problem P (xk+1 ) it uses the iterate yk = (wkk+1, λk+1 k+1
k , µ k ),
that is the outcome of the previous iteration towards the solution of problem P (xk ), to
k+1
initialize the new problem with yk+1 as follows.

Shift in the Primal Variables


If the primal variables wkk+1 are denoted by

wkk+1 = (q0 , q1 , . . . , qN −2 , qN −1 ; s0 , s1 , . . . , sN −2 , sN −1 , sN )
then the shift initialization sets

new new new


wkk+1 := (q1 , q2 , . . . , qN −1 , qN −1 ; s1 , s2 , . . . , sN −1 , sN −1 , sN ),
new new
where the new values qN −1 , sN −1 , and snew
N can be specied in dierent ways:

• One straightforward way is to keep the old values at their place, i.e., to initialize

new
qN −1 := qN −1 , snew
N −1 := sN −1 , and snew
N := sN ,

which has the advantage that the only infeasibility that is introduced into a feasible
trajectory is the violation of the continuity condition at the start of the last interval,
i.e., at τN −1 .
• A second possibility would be to solve the DAE on the new last interval, starting
new
with sN , and employing the control qN −1 , which yields the nal value sN (sN , qN −1 )
for dierential and algebraic states, i.e., we initialize:

new
qN −1 := qN −1 , snew
N −1 := sN , and snew new new new
N := sN (sN −1 , qN −1 ).

In this case, both the continuity condition and the algebraic consistency condition at
τN −1 are fulllled, if the previous solution was feasible: for the continuity condition
this is trivially true, and for the consistency condition note that previously, at τN ,
0 = g(sN , qN ) = g(sN , qN −1 ), as qN −1 provides per denition the control qN at the
nal multiple shooting node. However, path and terminal constraints may be violated
new
by the new nal value sN .
4.4 Real-Time Iterations on Moving Horizons 65

• Yet another possibility is to solve the DAE on the last interval starting at sN , but to
employ a dierent control than qN −1 . Though this may sacrice algebraic consistency
at τN −1 , this strategy may be advantageous, e.g. for periodic processes, where a time
dependent nominal control may be taken. This strategy was employed for the periodic
control example of Chap. 8.

Note that the initial violation of constraints is naturally treated in the direct multiple
shooting framework and does not create any additional diculty in the following SQP
iterations. During the real-time iterations the outcome of the previous iterate will usually
not be feasible anyway, and additional infeasibility is introduced by initial values xk that
are not in accordance with the predictions.

Shift in the Multipliers


The initialization of the multipliers is also performed by a shift; for the multiplier values
on the nal interval we usually keep the old values. It is clear that a shifted solution, even
if it may be feasible, is in general not optimal. For suciently long horizons, however,
we expect the principle of optimality to hold, so that the shifted primal variables and the
k+1 k+1
shifted multipliers yk+1 are close to a solution of P (xk+1 ) if yk was a solution of P (xk )
x
and the system has developed as predicted (i.e., xk+1 = s1 ).

4.4.2 Warm Start Technique


On the other hand, if the horizon length is relatively short, so that the principle of optimal-
ity does not hold at all, subsequent optimization problems may have very similar solutions,
that are mainly determined by terminal conditions, such as e.g. a Mayer term and terminal
constraints that are introduced to bound the neglected future costs (cf. Sec. 1.4). In this
case the best initialization of subsequent problems should be a warm start strategy , which
k+1
takes the result of the previous iteration, yk , without further changes to initialize the
k+1 k+1
current iteration: yk+1 := yk .
k+1
If yk was the solution to problem P (xk ), then the only infeasibility in problem P (xk+1 )
is introduced by the initial value constraint, as in general xk+1 = xk . In this case, however,
k+2
the next iterate yk+1 is identical to the rst order correction to the optimal solution, as

we proved in Theorem 3.6, i.e., its distance to the optimal solution is yk+1 − yk+1  =
k+2

O(xk+1 − xk 2 ), if an exact Hessian SQP method is used. To shed more light on this
desirable property, we regard the (unsolved) problem P (xk+1) as a member in a family
of perturbed problems P (xk + 0(xk+1 − xk )), where a solution for 0 = 0 exists, and the
solution for 0=1 is desired (cf. Example 4.2). The warm start strategy therefore has a
very natural connection to the initial value embedding strategy.

Interpretation as Modied SQP Iterations


Another interesting property of the warm start technique occurs if the initial values xk , xk+1
coincide during some iterates k, k + 1, . . . . In this case, all real-time iterations treat the
66 Real-Time Iterations

same problem, so that the standard convergence properties of SQP methods can be ex-
pected. This observation motivates a new look on the real-time iteration idea: rather
than interpreting the real-time iterations as many prematurely stopped solution attempts
of subsequent optimization problems, we regard them as a continuous series of SQP it-
erates with the particularity that one parameter, the initial value x0 , is slightly modied
during the iterations. This interpretation captures very well the philosophy of the real-
time iterations; in every practical implementation of a real-time iteration algorithm it has
meticulously to be taken care that the initialization from one problem to the next does
preserve all informations that are necessary to guarantee the convergence properties of an
o-line method. This is most easily realized for the warm start strategy.

Short Sampling Times


In some practical NMPC applications it may be desirable to choose the multiple shooting
intervals longer than the sampling time; this allows e.g. long prediction horizons with a
limited number of multiple shooting nodes, which may be a crucial real-time advantage,
as the computation time generally grows with the number of multiple shooting nodes.
Another practical reason for choosing relatively long control intervals may be to detune
the NMPC controller, whose aggressive response may otherwise excite unmodelled system
modes with short timescales.
In the warm start technique, short sampling times can be treated without diculty.
Even sampling times of variable size are allowed  the only requirement for good perfor-
mance is that the problems (i.e., the initial value x0 ) do not change too much from one
iteration to the next. Therefore, the shorter the sampling time, the better the contraction
behaviour.

Self-Synchronization of the Real-Time Iterations


Where a continuous stream of state estimates is available, the warm start technique even
oers the possibility to let the sampling times be determined on-line by the optimizer itself.
Whenever a new real-time iterate is prepared, say at time tk , the current state estimate
x0 (tk ) is used to perform the next real-time iteration towards the solution of P (x0 (tk )),
whose response is given immediately to the real-plant, and then the next iterate is prepared,
until the algorithm is ready to perform, at time tk+1 , the next feedback phase. Note that
in this scheme it is not necessary to know the computation time tk+1 − tk in advance. In
our practical implementation of NMPC in Chap. 7 we have employed this scheme.

Successive Generation of Feedback Laws


Yet another possibility, that can be employed if a full real-time iteration takes too long to
be able to respond to relevant disturbances, is to separate the preparation phase and the
feedback phase of each real-time iteration completely. Then, the self-synchronized major
SQP iterations are performed as one process, that gives all data that are necessary for the
immediate feedback to another process. This feedback process delivers a feedback u(x0 (t))
4.4 Real-Time Iterations on Moving Horizons 67

with a frequency that can be considerably higher than that of the major nonlinear iterates.
Only at the end of each major SQP iteration, say at the time points tk , all updated data
are transferred from the SQP process to the feedback process, and simultaneously the the
current system state x0 (tk ) is given to the SQP process, to modify the next major real-time
iteration. The scheme can be visualized as follows:

updates 0u(x (t))



Major
Immediate
Real-Time System
x (t ) Feedback x (t)
Iterations  0 k  0


Note that between the updates (that occur only at the major sampling times tk ) the
feedback is based on a linear system model that is obtained by a linearization along the
best available predicted trajectory, similar to the linearized neighboring feedback control
scheme that was presented in Sec. 1.3.1.

Example 4.5 (Comparison of Moving Horizon Strategies)


The CSTR real-time scenario that was treated in the previous examples can in a straight-
forward way be formulated as a moving horizon problem. Instead of shrinking the time
horizon of the problems, the time horizon is kept at constant length and moved forward.
We can imagine that we continuously append multiple shooting intervals at the end of the
horizon. With the chosen horizon length of 2000 seconds the closed loop system was already
at steady state in the middle of the horizon of the rst optimization problem; therefore the
appended parts do practically not matter at all, and for the shift strategy with exact Hessian
SQP we obtain exactly the same closed loop trajectory as before in the real-time iteration
Example 4.3 on a shrinking horizon. We have carried out closed-loop simulations for the
same scenario also with the warm start technique, and the result is that the closed-loop
trajectories are practically identical. We also carried out tests with an algorithm where the
exact Hessian matrix was replaced by a Gauss-Newton approximation, which again yields
no visible dierence of the trajectories. The performance of the dierent strategies can be
measured by the objective function on the considered interval of 2000 seconds compared to
the optimal value, as in Table 4.1. For all four moving horizon strategies we have observed
nearly identical values of 103 % of the optimal costs.
For the chosen application, all strategies require more or less the same computational
costs per real-time iteration, which is dominated by linear algebra, because the ODE solution
and sensitivity computation do not require much time for a system of such a small size.
The necessary CPU time per iteration, and the share of it which is needed to deliver the
immediate feedback are depicted in Fig. 4.5 for the above scenario, where a Gauss-Newton
method was employed. First, it can be seen that the overall cost of at most one second is
much below the 20 seconds that we have chosen as sampling time, thus ensuring practical
applicability of the algorithm for this type of problem. But it can also be seen that the
immediate feedback requires a considerable proportion of the overall CPU time for this
example problem and is therefore not as immediate as postulated. Note, however, that in
68 Real-Time Iterations

1
overall CPU time per iteration
CPU time [s]

0.5

feedback response time

0
0 200 400 600 800 1000 1200 1400 1600 1800 2000
time [s]

Figure 4.5: Preparation and feedback times for the real-time iterations for the moving
horizon CSTR scenario of Example 4.5, on an AMD Athlon processor with 1009 MHz.
The horizon length was chosen to be N = 100 multiple shooting intervals.

large scale applications the lion's share of the computational cost is incurred by the DAE
solution, which does not contribute to the response time, so that the immediate feedback
is indeed orders of magnitude smaller than the overall computation time (cf. Figs. 7.7
and 7.16 in Chap. 7). Details on the separation into preparation and feedback phase are
given in Chap. 6.
Chapter 5

Contractivity of the Real-Time


Iterations

In the last chapter we have presented a new scheme for the approximate solution of op-
timization problems in real-time, which shows very promising performance in numerical
examples. From the previous discussion, however, it is far from clear how this scheme
behaves theoretically.

To motivate why this is important, let us imagine that we apply the real-time iteration
scheme in a NMPC framework to stabilize a system, and that the real system coincides
with the employed system model. If the subsequent optimization problems could be solved
exactly in real-time, proofs exist that ensure nominal stability of the closed-loop system
for dierent NMPC schemes (cf. Sec. 1.4). Now the question arises if it is also possible
to establish nominal stability results if the optimization problems are not solved exactly,
but with our real-time iteration scheme. Otherwise, it may be possible that the real-time
controller does not stabilize the system, but drives it in the worst case even away from
the desired operating point: linearization errors may increase from iteration to iteration,
and the approximations to the exact solutions may become worse and worse. We will
show that this need not be feared, and we will prove that the real-time iterations deliver
approximations of the exact solutions that become better and better, under reasonable
conditions.

Unfortunately, standard convergence results for o-line SQP methods cannot be ap-
plied, because each real-time iteration belongs to a dierent optimization problem. Never-
theless, we will start the chapter in Sec. 5.1 by reviewing the local convergence properties
for a class of o-line optimization algorithms that are commonly referred to as Newton
type methods, which comprise the exact Hessian SQP method and the Constrained Gauss-
Newton method. We will then in Sec. 5.2 present the real-time iteration scheme in a new
setting, which allows to compare the real-time iterates on shrinking horizons with those
of the o-line method. This makes it possible to prove contractivity of the real-time iter-
ations. We usually avoid the term convergence in the real-time framework on shrinking
horizons, because the iterates stop after N cycles, when the time horizon of interest is over.

69
70 Contractivity of the Real-Time Iterations

The principal result is that the real-time iteration scheme on shrinking horizons is
contracting under the same sucient conditions as the corresponding o-line scheme. This
result can conceptually be generalized to the shift strategy on innite moving horizons and
allows to conclude that the real-time iteration scheme leads to a convergent closed-loop
behaviour in this case. Finally, in Sec. 5.3 we investigate how far the result of the real-time
iterations deviates from the theoretical optimal solutions.
Throughout the chapter we will assume that the iterates are started suciently close
to a KKT point that satises the sucient conditions of Theorem 3.3 and the strict com-
plementarity condition, so that we can assume that the active set is known and we can
restrict our attention to equality constrained problems. Furthermore, we will assume that
the variables w can be split into free variables q ∈ R q and dependent ones s ∈ R s , so
n n

that the o-line optimization problem on the full horizon of interest can be formulated as
follows:

P (x0 ) : min F (q, s) s.t. G(q, s) = 0 (5.1)


q,s

with F : D̂ ⊂ R nq × R ns → R G : D̂ ⊂ R nq × R ns → R ns twice continuously


and
∂G
dierentiable, where we assume that the constraint function G is such that is invertible
∂s
for all (q, s) ∈ D̂ . This last property can naturally be achieved for the direct multiple
shooting method, as discussed in Sec. 2.2.1, where q are the controls, and s the state
variables. This separation helps to formulate the shrinking of the time horizon in the
real-time setting; the shrinking will be expressed by decreasing step-by-step the degrees of
freedom for the controls.

5.1 The O-Line Problem


5.1.1 Newton Type Optimization Methods
Using the Lagrangian function L : D̂ × R ns → R

L(q, s, λ) := F (q, s) − λT G(q, s)

we can formulate necessary optimality conditions of rst order, according to Theorem 3.1:
 
∇q F (q, s) − ∇q G(q, s)λ
∇(q,s,−λ) L(q, s, λ) =  ∇s F (q, s) − ∇s G(q, s)λ  = 0. (5.2)
G(q, s)
Let us dene for later convenience the vector y ∈ Rn with n := nq + ns + ns and the
function R : D ⊂ D̂ × R s → R
n n
as
  
q ∇q F (q, s) − ∇q G(q, s)λ
y :=  s  and R(y) :=  ∇s F (q, s) − ∇s G(q, s)λ  , (5.3)
−λ G(q, s)
5.1 The O-Line Problem 71

so that the above system (5.2) is equivalent to R(y) = 0.


To solve this system, the exact
0
Newton-Raphson method would start at an initial guess y and compute a sequence of
1 2
iterates y , y , . . . according to

y k+1 = y k + ∆y k , (5.4)

where each ∆y k is the solution of the linearized system

∂R k
R(y k ) + (y )∆y k = 0, (5.5)
∂y

or, fully written,

   ∂2L ∂2L T ∂G T
 
∇q L ∂q 2 ∆q k
 ∇s L  +  
∂q∂s ∂q
 ∂2L ∂2L ∂G T  ∆sk  = 0. (5.6)
∂q∂s ∂s2 ∂s
G(q, s) ∂G ∂G
0 −∆λk
∂q ∂s

We have seen in Sec. 3.3.1 that these Newton-Raphson iterates are identical to the full step
exact Hessian SQP method.
The Newton type methods considered in this chapter dier from the exact Newton-
∂2L
Raphson method in the way that the exact Hessian is replaced by a (symmetric)
∂(q,s)2
approximation

 
Aqq ATqs
A(y) = ,
Aqs Ass

so that we can dene an approximate derivative of R by:

 
∂G T
Aqq ATqs
 ∂q
∂G T

J(y) :=  Aqs Ass . (5.7)
∂s
∂G ∂G
∂q ∂s
0

For our Newton type method, Eq. (5.5) is replaced by the approximation

R(y k ) + J(y k )∆y k = 0. (5.8)

5.1.2 The Constrained Gauss-Newton Method


An important special case of the Newton type methods considered in this chapter is the
constrained Gauss-Newton method, which is applicable for problems with a least squares
form of the objective function F:
1
F (q, s) = l(q, s)22 (5.9)
2
72 Contractivity of the Real-Time Iterations

with l : D̂ → R nl , nl ≥ 1, a vector valued function. For this case, the Hessian approxima-
tion A is dened to be
 T  
∂l ∂l
A(q, s) := . (5.10)
∂(q, s) ∂(q, s)
∂2L ∂2L
The error
∂(q,s)2
−A can be quantied by calculation of
∂(q,s)2

 T   
nl  n
∂2L ∂l ∂l ∂ 2 li s
∂ 2 Gi
− = li + λ i .
∂(q, s)2 ∂(q, s) ∂(q, s) i=1
∂(q, s)2 i=1 ∂(q, s)2

At a solution y ∗ = (q ∗ , s∗ , λ∗ ), the necessary optimality conditions (5.2) require that

 T
∗ ∂l
∇s F − ∇s Gλ = l(q ∗ , s∗ ) − ∇s Gλ∗ = 0,
∂s
so that

∂l T ∗ ∗
λ∗ = −∇s G−1 l(q , s ) = O (l(q ∗ , s∗ )) ,
∂s
which allows to conclude that
 2 
 ∂ L 
 − A(q ∗
, s ∗
))  = O (l(q ∗ , s∗ )) .
 ∂(q, s)2 

Thus we expect the Gauss-Newton method to work well for small residual vectors l(q, s).
Note that A(q, s) is independent of the multiplier vector λ.

Remark: The least squares function l(q, s) needs not to be a mapping into a nite
dimensional space R l , but may more generally be a mapping into any Hilbert space H . If
n

·, ·H is the inner product in H, the least squares objective function of Eq. (5.9) is then
written as

1
F (q, s) = l(q, s), l(q, s)H ,
2
and the Gauss-Newton approximation of the Hessian in Eq. (5.10) is given by the symmetric
matrix
 
∂l ∂l
A(q, s)ij := Re , ,
∂(q, s)i ∂(q, s)j H

where the indices i, j run through all components of (q, s). Note that this matrix is nite
dimensional, which allows to treat this general case with the presented numerical methods.
In Sec. 6.4 it is shown how to compute A(q, s) eciently in the presence of integral least
squares terms as introduced in Sec. 1.1.
5.1 The O-Line Problem 73

5.1.3 Sucient Conditions for Local Convergence


Let us now state sucient conditions for convergence of a series of general Newton type
iterates (y ), k = 0, 1, . . . in a space R
k n
dened by

y k+1 = y k + ∆y k = y k − J(y k )−1 R(y k ), (5.11)

towards a solution of the system

R(y) = 0. (5.12)

Theorem 5.1 (Local Convergence of Newton Type Methods)


Let us assume that R : D ⊂ R n → R n is continuously dierentiable and that the approxi-
(n×n)
derivative J : D ⊂ R → R
n
mation of the is continuous and has a continuous inverse
on D. Furthermore, let us make the following assumptions:
  
 
J(y1 )−1 J(y2 ) − ∂R (y2 )  ≤ κ < 1, ∀ y1 , y2 ∈ D (5.13a)
 ∂y 
and
 
J(y1 )−1 (J(y2 ) − J(y3 )) ≤ ωy2 − y3 , ∀ y1 , y2 , y3 ∈ D. (5.13b)

Additionally, we suppose that the rst step ∆y 0 := −J(y 0 )−1 R(y 0 ) starting at an initial
guess y0 is suciently small, so that
ω
δ0 := κ + ∆y 0 < 1 (5.13c)
2
and that
 
0 ∆y 0 
D0 := y ∈ R | y − y  ≤
n
⊂ D. (5.13d)
1 − δ0
Under these conditions the sequence of Newton type iterates (y k ) dened by Eq. (5.11)

remains inside D0 and converges towards a y ∈ D0 satisfying the sytem (5.12), R(y ∗) = 0.

Proof: Slightly modifying a proof that can be found in Bock [Boc87], we rst show that
k k
the norm of the steps ∆y contracts, and show then that (y ) is a Cauchy sequence. The
contraction can be shown as follows:

∆y k+1 = J(y k+1)−1 · R(y k+1)


= J(y k+1)−1 · (R(y k+1) − R(y k ) − J(y k ) · ∆y k )
1
= J(y k+1)−1 · 0 ( ∂R (y k + t∆y k ) − J(y k )) · ∆y k dt
 1
∂y
= J(y k+1)−1 · 0 ( ∂R (y k + t∆y k ) − J(y k + t∆y k ))∆y k dt
 1
∂y
+J(y k+1)−1 · 0 (J(y k + t∆y k ) − J(y k ))∆y k dt (5.14)
1
≤ 0 J(y k+1)−1 ( ∂R (y k + t∆y k ) − J(y k + t∆y k ))∆y k  dt
1 ∂y
+ 0 J(y k+1)−1 (J(y k + t∆y k ) − J(y k ))∆y k  dt
1
≤ κ∆y

k
 + ωt∆y k 2 dt
0

= κ + ω2 ∆y k  ∆y k  =: δk ∆y k .


74 Contractivity of the Real-Time Iterations

If δk ≤ 1, then ∆y k+1 ≤ ∆y k , and δk+1 ≤ δk ≤ 1. Therefore, we can inductively


deduce that

∆y k+1 ≤ δ0 ∆y k , ∀k ≥0


so that

1 δ0k
y k+m − y k  ≤ ∆y k  ≤ ∆y 0 , ∀ k, m ≥ 0. (5.15)
1 − δ0 1 − δ0
In particular,

1
y m − y 0  ≤ ∆y 0 , ∀m ≥ 0.
1 − δ0
Therefore, (y k )
is a Cauchy sequence that remains inside the compact set D0 and hence
∗ −1
converges towards a limit point y . By continuity of R and J ,

0 = lim ∆y k = lim −J(y k )−1 R(y k ) = −J(y ∗ )−1 R(y ∗ )


k→∞ k→∞

so that R(y ∗ ) = 0.

We will state a second, stricter form of the above theorem, which is applicable to opti-
mization problems only, and implies local convergence of the Newton type iterates towards
a strict local minimum. Before this second version of the theorem can be formulated, we
have to give an explicit formula for the inverse of the approximate derivative J(y).
Lemma 5.2 (Inverse of the KKT Matrix)
Let us assume that J(y) is a matrix as dened in Eq. (5.7), i.e.,
 
∂G T
Aqq ATqs
 ∂q
∂G T

J(y) =  Aqs Ass 
∂s
∂G ∂G
∂q ∂s
0
∂G
with ∂s invertible, and let us also assume that the so called reduced Hessian matrix

  
∂G
−T Aqq ATqs I
Ar (y) := I − ∂G
T
∂G
−1 (5.16)
∂q ∂s Aqs Ass − ∂s ∂G
∂q

is positive denite. Then the inverse of J(y) exists and is given by the formula

J(y)−1 = C1 (y)Ar (y)−1C1 (y)T + C2 (y) (5.17)

with
 
I
∂G
−1
 − ∂G 
C1 (y) :=  ∂s  (5.18)
∂G
−T
−1
∂q
− ∂s
Aqs − Ass ∂G
∂s
∂G
∂q
5.1 The O-Line Problem 75

and
 
0 0 0
 ∂G
−1 
C2 (y) :=  0
∂G
−1 
0 . (5.19)
∂G
−T ∂G
−T∂s
0 ∂s − ∂s Ass ∂s

Remark: Note that the assumptions of this lemma coincide with those of Lemma 3.2,
with the constraint matrix B set to B = ( | ). They are also closely related to the
∂G ∂G
∂q ∂s
sucient optimality conditions of Theorem 3.3. The positive deniteness of Ar will be
used in the proof of Theorem 5.3 to show that the Newton type iterates converge towards
a local minimum.

Proof: The invertibility follows from Lemma 3.2. The inversion formula (5.17) can be
veried by checking that

J(y)(C1 (y)Ar (y)−1C1 (y)T + C2 (y)) = I

and using the fact that


   
Ar (y) C1 (y)T
J(y)C1(y) =  0  and J(y)C2(y) = I −  0 .
0 0

Theorem 5.3 (O-Line Convergence)


Let us assume that R : D → Rn is dened according to (5.3) to be the residual of the
necessary optimality conditions of the equality constrained optimization problem (5.1).
We assume that the reduced Hessian approximation Ar (y) from Eq. (5.16) is positive
denite on the whole domain D, with bounded inverse:

Ar (y)−1  ≤ βA < ∞, ∀ y ∈ D. (5.20a)

We also assume boundedness of C1  and C2  as dened in Eqs. (5.18) and (5.19) on D:

C1 (y) ≤ βC1 < ∞, ∀ y ∈ D, (5.20b)

and

C2 (y) ≤ βC2 < ∞, ∀ y ∈ D. (5.20c)

Let us dene β := βC1 βA βC1 + βC2 . Let us suppose that a Lipschitz condition

β J(y1 ) − J(y2 ) ≤ ωy1 − y2 , ω < ∞, ∀ y1 , y2 ∈ D, (5.20d)

holds for the derivative approximation J(y) and that


 
 ∂2L 
β
A(y) − 2
(y)
 ≤ κ, κ < 1, ∀ y ∈ D. (5.20e)
∂(q, s)
76 Contractivity of the Real-Time Iterations
0

−1

−2

log10 ||∆ wk||


Gauss−Newton
−3

−4

Newton
−5

−6
0 1 2 3 4 5 6 7
index k

Figure 5.1: Convergence rates for o-line Newton type methods, for the solution of Exam-
ple 5.1. Comparison of Newton and Gauss-Newton method, when started at the steady
state trajectory.

Additionally, we assume as in Theorem 5.1 that the rst step ∆y 0 := −J(y 0 )−1 R(y 0 )
0
starting at an initial guess y is suciently small, so that

ω
δ0 := κ + ∆y 0 < 1 (5.20f )
2
and that
 
∆y 0 
0
D0 := y ∈ R | y − y  ≤
n
⊂ D. (5.20g)
1 − δ0

Under these circumstances the Newton type iterates (y k ) according to Eq. (5.8) converge
∗ ∗ ∗ ∗
towards a KKT point y = (q , s , λ ) ∈ D whose primal part (q ∗ , s∗ ) is a strict local
minimum of Problem (5.1).

A proof of the theorem is given in Appendix D.

Example 5.1 (Continuous Stirred Tank Reactor)


Let us again consider the optimal control problem that was introduced in Sec. 2.1, respec-
tively its multiple shooting parameterization as described in Example 2.1. The solution w∗
of the NLP with initial value as in Sec. 2.1 was shown in Fig. 2.3; a comparison of the
convergence rates for the Newton and Gauss-Newton method is given in Fig. 5.1, where the
algorithm is started at the steady state trajectory. The plot for the Gauss-Newton method
allows us to estimate that κ ≈ 0.1.
5.2 The On-Line Problem 77

5.2 The On-Line Problem


We will now regard real-time iterations on shrinking horizons as introduced in Sec. 4.1.2,
in the framework of the o-line optimization problem. It is shown in Sec. 5.2.1 that the
essential dierence to the o-line iterations is that after each Newton type iteration some
components of the free variables q are xed, i.e., that the optimization problem (5.1) is
changed to a problem in the same space, but with some more (trivial) equality constraints.
In the following Sec. 5.2.2 we will show that the nonlinearity and incompatibility constants
ω and κ for the o-line problem are still valid for a problem with some xed controls. This
allows to conclude in Theorem 5.6 that the real-time iterations contract if the sucient
conditions for o-line convergence of Theorem 5.3 are satised, which is the main result
of this chapter. In Sec. 5.3 we investigate how far the result of the real-time iterations
deviates from the theoretical optimal solutions.
Let us rst discuss why xing of some free components is equivalent to the real-time
iteration scheme as introduced in Sec. 4.1.2.

5.2.1 The Fixed Control Formulation


In the real-time iteration framework for shrinking horizons of Sec. 4.3, we have reduced the
number of multiple shooting nodes from one problem to the next, in order to keep pace
with the process development.
We regard a problem discretization with N multiple shooting intervals on a xed length

T
time horizon with duration
N
, and assume that the computation time for the k -th real-time
iteration is δk , k=1 δk = T (this is e.g. the case if all iterations take the same
and that
time δ and the time horizon of interest has the length T = Nδ ). The multiple shooting
points are chosen so that the times tk := T τk satisfy tk − tk−1 = δk , i.e.,


k
t0 = 0, tk = δi , for k = 1, . . . , N.
i=1

Let x0 , x1 , . . . , xN denote the dierential system states of the real system at times
t0 , t1 , . . . , tN , that serve as initial values for the parameterized optimization problems
Pk (xk ) of shrinking length, as dened in Sec. 4.3, Eq. (4.1).
At time t0 the state x0 is known, and the initial value embedding strategy quickly yields
the control value u0 that will be implemented on the rst time interval, up to time t1 . At
time t1 the next immediate feedback has been prepared, and is applied to the shrunk
problem P1 (x1 ). If the model and the real system coincide, the new system state x1 is
identical to the nal value x(t1 ) of the initial value problem

B(·)ẋ(t) = f (x(t), z(t), u0 ), t ∈ [t0 , t1 ],


0 = g(x(t), z(t), u0 ), t ∈ [t0 , t1 ],
x0 (t0 ) = x0 ,
and the initial value constraint for the problem P1 (x1 ) is

sx1 = x1 .
78 Contractivity of the Real-Time Iterations

Let us now regard the original problem P0 (x0 ) on the full horizon, but with an additional
constraint that xes the control q0 on the rst interval to be equal to the implemented
0 0 1
value u0 = q0 + ∆q0 = q0 . This problem then contains the constraints

sx1 − x0 (t1 ; sx0 , sz0 , q0 ) = 0,


g(sx0 , sz0 , q0 ) = 0,
sx0 − x0 = 0,
q0 − u0 = 0,

which constrain sx0 , sz0 , q0 and sx1 uniquely. In the solution, sx1 = x1 , because the relaxed
initial value problem

B(·)x˙0 (t) = f (x0 (t), z0 (t), q0 ), t ∈ [t0 , t1 ],


t−t0
−β t
0 = g(x0 (t), z0 (t), q0 ) − e 1 −t0 g(sx0 , sz0 , q0 ), t ∈ [t0 , t1 ],
x0 (t0 ) = sx0 ,
x x z
is equivalent to the real system dynamics if s0 = x0 , q0 = u0 , g(s0 , s0 , q0 ) = 0, so that
x z
x0 (t1 ; s0 , s0 , q0 ) = x(t1 ) = x1 . Once the correct values for s0 , q0 are found during the
iterative solution procedure, they are not changed anymore, and the above constraints are
x
completely equivalent to s1 = x1 .
x
For ODE models, the correct solution for s0 , q0 is already found after the rst iterate,
due to the linearity of the initial value constraint, and due to the fact that u0 was set just
to the outcome of this rst iterate. Therefore, xing of q0 is completely equivalent to the
shrinking of the horizon. One slight complication arises, however, for DAE models: after
z
the rst iterate, s0 may still not be at its correct value in the xed control formulation (i.e.,
g(s0 , s0 , q0 ) = 0) and this may result in a value x0 (t1 ; sx0 , sz0 , q0 ) that is slightly dierent
x z

from the correct value x(t1 ), due to the DAE relaxation. We will disregard this slight
dierence that is only present in the relaxed DAE case (and that could even be interpreted
as a slight superiority of the real implementation over the xed control formulation, which
we only introduce here for theoretical purposes).
Let us therefore assume in the remaining part of this chapter that the real-time itera-
q0 , . . . , qN −1
tions on shrinking horizons are identical to a subsequent xing of the controls
in the original o-line optimization problem (5.1), which we denoted by P (x0 ) or P0 (x0 ).
0
For notational convenience, we will in the following dene P := P0 (x0 ) = P (x0 ) to be
k
the original (o-line) problem, and denote by P the problems with more and more xed
controls that are generated during the real-time iterations and which are equivalent to the
shrinking horizon problems Pk (xk ). A visualization of the outcome of the rst two real-time
iterations is given in Figures 5.2 and 5.3.
k
The series of problems P , k = 0, . . . , N are given by


k G(q, s) = 0,
P : min F (q, s) subject to
q,s qi − ui = 0, i = 0, . . . , k − 1.
5.2 The On-Line Problem 79

q11
 q21
 s1
q10  N


x1 



 1
 s13 qN−1
s10  s11 s12
     
t0 t1 t2 t3 tN

Figure 5.2: NLP variable content after the rst real-time iteration. The next optimization
1
problem, P , is formulated by xing the rst control value q0 , which implicitly xes the
value x1 .


q20
s21
 s22 s23

 
  
x2   

s20 q21
     
t0 t1 t2

Figure 5.3: NLP variable content after the second real-time iteration. The problem P2 can
be formulated by xing q0 and q1 , which implicitly xes x2 .
80 Contractivity of the Real-Time Iterations

(Recall that q = (q0 , q1 , . . . , qN −1 ).) In a shorter formulation, we will also write these
problems as

k G(q, s) = 0,
P : min F (q, s) s.t. T
q,s Qk1 (q − uk ) = 0.
Here, the matrices Qk1 ∈ R nq ×mk , mk = knu , are of the form
 
k Imk
Q1 := , (5.21)
0
and the vectors u k ∈ R nq are dened as
 
u0  
 ..  q0 − u0
  T  . 
uk :=  .  , with Qk1 (q − uk ) =  .. ,
 uk−1 
qk−1 − uk−1

so that the last components of uk , that are introduced only for later notational convenience,
N
can carry arbitrary values. Note that in the last problem P no degrees of freedom remain,
as all components of q are xed.

5.2.2 Fixing Some Controls


We will now prove that the nonlinearity and incompatibility constants ω and κ from the
k
o-line problem (5.1) are still valid for any modied problem P , when some controls are
k
xed. Let us in this subsection consider only one modied optimization problem P and
drop the index k for notational simplicity:

G(q, s) = 0
min F (q, s) s.t. (5.22)
q,s QT1 (q − u) = 0
where the matrix Q1 ∈ R nq ×m , m ≤ nq consists of m orthonormal columns, as in (5.21).
We also introduce the orthonormal complement of Q1 by
 
0
Q2 := ∈ R nq ×(nq −m) .
I(nq −m)
Let us formulate the necessary rst-order conditions of optimality for the modied problem.
We introduce the Lagrangian function L̃ of the modied problem (5.22)

L̃(q, s, λ, µ) := L(q, s, λ) − λQ T QT1 (q − u),


where L is the Lagrangian function of the original problem (5.1). The necessary conditions
of optimality for the modied problem are:
 
∇q L − Q1 λQ
 ∇s L 
∇(q,s,−λ,−λQ ) L̃(q, s, λ, λQ) = 

 = 0.
 (5.23)
G(q, s)
Q1 (q − u)
T
5.2 The On-Line Problem 81

Multiplying the rst component of this vector by the orthogonal matrix (Q1 |Q2 )T ∈ R nq ×nq
yields
   
−λQ + QT1 ∇q L
 QT2 ∇q L 
 
 ∇s L =0
 
 G(q, s) 
QT1 (q − u)

and it can be seen that the upper part can always be made zero by choosing

λQ := QT1 ∇q L.

Therefore, the trivial rst condition can be omitted in the formulation of the necessary
conditions for optimality of the modied problem and we do not have to regard the addi-
tional multipliers λQ . This allows us to treat the modied problem in the same primal-dual
space of y ∈ R
n
as the original problem, with n = nq + ns + ns . Dening the essential part
of the residual of the necessary optimality conditions to be
   T   
QT1 (q − u) Q1 (q − u) 0
 QT2 ∇q L   0   QT2 
R̃(y) := 

=
 
+
 
 R(y)

∇s L 0 I
G(q, s) 0 I

we can compute the derivative


   
QT1 0
∂ R̃  0   QT2  ∂R
=  
 0 +

 ∂y (5.24)
∂y I
0 I

and provide an approximation of this derivative which uses the approximation J(y) of the
original problem
   
QT1 0
 0   QT2 
˜
J(y) :=  +
 0  
 J(y)

I
 0T I 
Q1 0 0 (5.25)
 QT A T T T ∂G T 
 2 qq Q2 Aqs Q2 ∂q 
= ∂G T
.
 Aqs Ass ∂s

∂G ∂G
∂q ∂s
0

Theorem 5.4 (Contraction Constants for the Modied Problem)


Let us assume that the sucent conditions for local convergence of Theorem 5.3 are satised
82 Contractivity of the Real-Time Iterations

for the original (o-line) problem (5.1). Then the derivative approximation J˜ : D → R n
of the modied problem (5.22) satises the two conditions
  
 
˜ −1 ˜ ∂ R̃ 
 1
J(y ) J(y 2 ) − (y 2 )  ≤ κ < 1, ∀ y1 , y2 ∈ D, and (5.26a)
 ∂y 
 
˜ ˜ 3) 
J(y1 )−1 J(y
˜ 2 ) − J(y  ≤ ωy2 − y3 , ∀ y1 , y2 , y3 ∈ D, (5.26b)

with the same values of κ and ω as the o-line problem.

Remark: These two bounds correspond to the properties (5.13a) and (5.13b) in Theo-
rem 5.1.3, thus allowing to conclude that the contraction inequality
ω
∆y k+1 ≤ κ + ∆y k  ∆y k 
2
also holds for the modied problem. This implies that the optimization problem does not
become less tractable from the algorithmic viewpoint when we add additional constraints.
However, we do not address the question a suitable problem initialization, yet.
To prove the theorem, let us rst give an explicit formula of the inverse ˜ −1.
J(y)
Lemma 5.5 (KKT Inverse for the Modied Problem)
The inverse of the matrix ˜
J(y) as dened in Eq. (5.25) is given by the formula
  
I I
   −QT2 Aqq Q1 I 
˜ −1
J(y) =Q 


  −Aqs Q1
,
 (5.27)
C̃1 Ã−1
r C̃ T
1 + C̃ 2 I
− ∂q Q1
∂G
I
with
 
Q1 Q2
Q :=  I ,
I

Ãr (y) := QT2 Ar (y)Q2, (5.28a)

 
QT2
C̃1 (y) :=  I  C1 (y)Q2, (5.28b)
I
and
   
QT2 Q2
C̃2 (y) :=  I  C2 (y)  I , (5.28c)
I I
where Ar (y), C1 (y), and C2 (y) are dened as in Lemma 5.2 for the original problem.
5.2 The On-Line Problem 83

Proof of Lemma 5.5: We will check that J(y) ˜ −1 = I.


˜ J(y) First note that

 
I
 QT A Q QT A Q QT AT QT ∂G T 
˜ Q=
J(y) 
2 qq 1 2 qq 2 2 qs 2 ∂q 
.
 Aqs Q1 ∂G T 
Aqs Q2 Ass ∂s
∂G ∂G ∂G
Q
∂q 1
Q
∂q 2 ∂s
0

The inverse of the lower-right part of this matrix can be obtained by an application of
Lemma 5.2 (using Q2 Q2 = I). Its inverse is given as
T

 T
−1
QT2 Aqq Q2 QT2 ATqs QT2 ∂G
 ∂q

 Aqs Q2 Ass ∂G T  = C̃1 (y)Ã−1 T
r (y)C̃1 (y) + C̃2 .
∂s
∂G ∂G
Q
∂q 2 ∂s
0

Therefore,

   
I I
   QT2 Aqq Q1 I 
˜ Q
J(y) = ,
 −1 T
C̃1 Ãr C̃1 + C̃2   Aqs Q1 I 
∂G
Q
∂q 1
I

which is the inverse of the rightmost block Frobenius matrix in formula (5.27).

Proof of Theorem 5.4: Note that C̃1 (y) and C̃2 (y) as dened in Eqs. (5.28b) and (5.28c)
are projections of C1 (y) and C2 (y), so that their (spectral) matrix norm satises

C̃1 (y) ≤ C1 (y) ≤ βC1 , ∀y ∈ D,

and

C̃2 (y) ≤ C2 (y) ≤ βC2 , ∀y ∈ D.

To provide a bound on the inverse Ãr (y)−1


we have to use the fact that Ar (y) is
T
positive denite. First we show that the eigenvalues of the projection Ãr (y) = Q2 Ar (y)Q2
lie between the maximum and minimum eigenvalues of Ar (y). To prove this we note that
Ãr (y) is a submatrix of Ar (y), as
 T  
Q1 * *
Ar (y) = Ar (y) (Q1 |Q2 ) =
QT2 * Ãr (y)

By the interlacing property (see e.g. [Wil65], pp. 103104), the eigenvalues
λ̃1 (y), . . . , λ̃(nq −m) (y) of the submatrix Ãr (y) must lie in the spectrum of Ar (y), i.e.,

λ̃k (y) ∈ [λ1 (y), λnq (y)]. In particular, λ1 (y) ≤ λ̃1 (y) for the smallest eigenvalues. The
84 Contractivity of the Real-Time Iterations

inverse of the smallest eigenvalue corresponds to the spectral norm of the inverse of a
positive denite matrix, so that we deduce that

1 1
Ãr (y)−1 = ≤ = A−1
r (y) ≤ βA , ∀y ∈ D.
λ̃1 (y) λ 1 (y)

This allows to nd a bound on the central part of the inverse J˜(y)−1 in formula (5.27):
 
 T 
C̃1 (y)Ãr (y)−1C̃1 (y) + C̃2 (y) ≤ βC1 βA βC1 + βC2 = β, ∀y ∈ D.

From Eqs. (5.24) and (5.25) it follows that


 
0  
 T 
˜ 2 ) − ∂ R̃ (y2 ) =  Q2
J(y  J(y2 ) − ∂R
(y2 )
∂y  I  ∂y
I
and
 
0
 QT2 
˜ 3) = 
˜ 2 ) − J(y
J(y  (J(y2 ) − J(y3 ))
 I 
I

and from formula (5.27) that


 
0
 QT2 
J˜−1 (y1 ) 



I
I
   
Q2 QT2
=   ,
T
I C̃1 (y1 )Ãr (y1 )−1 C̃1 (y1 ) + C̃2 (y1 ) I
I I
which has a spectral norm less or equal to β. This allows to establish the desired bounds:
  
 
 ˜−1 ˜ 2) − ∂ R̃ 
J (y1 ) J(y (y2 ) 
 ∂y 
   
 0 
  
 −1  QT2  ∂R 
= 
˜ (y1 ) 
J 
 J(y2 ) −
 (y 2 ) 

 I ∂y 
 
 I
 
 ∂ R̃ 
= β J(y2 ) − (y2 ) ≤ κ < 1, ∀y1 , y2 ∈ D,
 ∂y 
5.2 The On-Line Problem 85

and
 
 ˜−1 ˜ 3) 
˜ 2 ) − J(y
J (y1 ) J(y 
= β J(y2 ) − J(y3 ) ≤ ωy2 − y3 , ∀y1 , y2 , y3 ∈ D.

5.2.3 Convergence of the Real-Time Iterations


In this subsection we nally consider the scenario that we subsequently x more and more
free components during the Newton type iterations. To be able to speak conveniently
∗ k
about convergence, and to be able to dene a limit point y of the real-time iterates y , we
k
will regard an innite sequence of optimization problems P , k = 0, 1, . . . , where we dene
P N +k := P N for k > 0. Following the N -th iterate, no degrees of freedom remain, but the
1
iterates may still be converging towards feasibility.
As discussed above, at the k -th iterate the problem Pk

k G(q, s) = 0
P : min F (q, s) s.t. T (5.29)
q,s Qk1 (q − uk ) = 0
is treated, where the matrices Qk1 ∈ R nq ×mk and their orthonormal complements Qk2 ∈
R nq ×(nq −mk ) are of the form
   
Imk 0
Qk1 := , and Qk2 :=
0 I(nq −mk )
with nondecreasing integers mk that satisfy 0 = m0 ≤ mk ≤ nq . Note that
 
0
Qk+1
2 = Qk2 Πk with Πk := ∈ R (nq −mk )×(nq −mk+1 ) .
I(nq −mk+1 )
The vectors uk will be dened during the iterations with iterates y k = (q k , sk , λk ), to be

uk := q k , k = 0, . . .
Note that the rst problem P0 has no additional constraint, because
and corre- m0 = 0,
0
sponds to the original o-line problem (5.1) that was treated in Sec. 5.1. In contrast to P ,
1 2
the problems P , P , . . . are only generated during the iterations and therefore depend on
0
the initialization y and on the chosen Newton type method.
k k
Each problem P is equivalent to nding the zero of a function R as follows:

T 
Qk1 (q − uk )
 Qk T ∇ L 
Rk (y) := 

2 q  = 0.

∇s L
G(q, s)
1 Note, however, that for ODE models a feasible solution is already obtained after the N -th iterate.
86 Contractivity of the Real-Time Iterations

Note that the necessary optimality conditions R0 (y) = 0 correspond to the o-line condition
k
R(y) = 0 that was dened in Eq. (5.3) in Sec. 5.1.1. The derivative approximation J (y)
is dened according to Eq. (5.25) to be

 T   
Qk1 0
 0   Qk T 
J k (y) = 
 0
+ 2
 
 J(y),

I
0 I

where J(y) R(y).


is the derivative approximation of
k
During the real-time iterations, each step ∆y = y
k+1
− yk is generated by an attempt
k k
to attack problem P , starting at the current best guess y :

∆y k := −J k (y k )−1 Rk (y k ). (5.30)

Theorem 5.6 (Convergence of the Real-Time Iterations)


Let us assume that the sucent conditions for local convergence of Theorem 5.3 are satis-
ed for the original (o-line) problem (5.1). Then the sequence of real-time iterates (y k )
according to Eq. (5.30) converges towards a feasible point

 
∗ 0 ∆y 0  ω
y ∈ D0 = y ∈ R | y − y  ≤
n
⊂ D, δ0 = κ + ∆y 0.
1 − δ0 2

Remark: Though this theorem uses the term convergence and regards the innite
sequence y k
, it is not the behaviour for k→∞ that causes the diculty, as from k = N
N
on we treat always the same optimization problem P ; the diculty lies in showing that
1 2 N
the rst iterates y , y , . . . , y remain in the set D0 .

Proof: We will follow the lines of the proof of Theorem 5.1. Note that the rst step ∆y 0
of the real-time iterations coincides with the rst step of the o-line iterations. Therefore,
∗ ∗ ∗ ∗
to prove convergence towards a limit point y = (q , s , λ ), we only have to show that the
contraction propery

ω
∆y k+1 ≤ κ + ∆y k  ∆y k  (5.31)
2
is satised for the real-time iterates. In a second step, we will show that the primal part
(q ∗ , s∗ ) of the limit point is feasible.
In Theorem 5.4 in Sec. 5.2.2 we have already shown that xing of components does not
increase the constants κ<1 and ω that are used to prove the contraction property for a
single optimization problem. This means that all derivative approximations J k satisfy the
bounds (5.13a) and (5.13b).
But how to compare the steps ∆y k and ∆y k+1 that correspond to dierent residual
k k+1
functions R and R ?
5.2 The On-Line Problem 87
k
The trick to prove the contraction property (5.31) is to treat two subsequent steps ∆y
k+1 k+1
and ∆y as if they were belonging to the same optimization problem P with residual
k+1
function R . If this is true, Eq. (5.14) can directly be used to prove the contraction
property. This trick is paradoxical because it assumes that the constraint

T T
Qk+1
1 (q − uk+1) = Qk+1
1 (q − q k+1 ) = 0

is already dened before the iterate y k+1 = (q k+1 , sk+1, λk+1 ) is computed, i.e., before q k+1
is known!
Fortunately, it can be shown that the step ∆y k is not changed, if it would have been
dened by

∆y k := −J k+1 (y k )−1 Rk+1 (y k )

instead of

∆y k := −J k (y k )−1 Rk (y k )
k
as in Eq. (5.30). To see this, note that ∆y is the unique solution of Rk (y k )+J k (y k )∆y k = 0.
k+1 k
We will show that it also satises R (y ) + J k+1 (y k )∆y k = 0.

Rk+1 (y k ) + J k+1 (y k ) ∆y k
   k+1 T 
Qk+1
T k
(q −q k+1
) Q1  k+1 k 
 1 k+1 T   k+1 T k+1 T T k+1 T∂G T  q −q
 Q2 ∇ L  Q2 Aqq Q2 Aqs Q2 ∂q   k+1 k 
=  q  +   s −s
 ∇s L   Aqs Ass ∂G T 
∂s λk −λk+1
G(q, s) ∂G ∂G
0
  ∂q

∂s
 
0   ∂G T
Qk+1 T  ∇ q L A qq A T
qs
  ∇s L  +   
∂q
=  2  ∂G T  ∆y k 
 I  A qs A ss ∂s
G(q, s) ∂G ∂G
0
I ∂q ∂s
 
0    ∂G T
 
ΠT Qk T  ∇ q L A qq A T
qs
  ∇s L  +   
∂q
=  k 2  ∂G T  ∆y k 
 I  A qs A ss ∂s
G(q, s) ∂G ∂G
0
 I
∂q ∂s
   
0  T  kT kT T k T∂G T
ΠT  Q2 ∇q L
k Q A
2 qq Q A
2 qs Q 2 ∂q
=  k   ∇s L +   ∂G T
 
 ∆y k 
 I  Aqs Ass ∂s
G(q, s) ∂G ∂G
I 0
  ∂q ∂s
0  
 ΠTk  0
=    0  = 0.
 I 
0
I
88 Contractivity of the Real-Time Iterations

sx1
2

1
0 10 20 30 40 50 60 70 80 90 100
1.5
2

1
x
s

0.5
0 10 20 30 40 50 60 70 80 90 100
120
110
3
x
s

100
0 10 20 30 40 50 60 70 80 90 100
120
110
4
x
s

100
0 10 20 30 40 50 60 70 80 90 100
25
20
1
q

15
10
0 10 20 30 40 50 60 70 80 90 100
0
−1000
q2

−2000
0 10 20 30 40 50 60 70 80 90 100
node index k

Figure 5.4: Limit point w∗ of the real-time iteration approach (with Gauss-Newton it-
erations) in Example 5.2, which is very similar to the exact o-line solution (dotted, cf.
Fig. 2.3).


Therefore, the iterations converge towards a limit point y ∈ D0 . To show that this
k0
point is feasible, note that at some problem P no more components can be xed (to
k0 = N in the real-time
be specic, iterations for the multiple shooting method), so that
R = R , ∀ k ≥ k0 . Therefore
k k0

0 = lim −J k (y k )−1 Rk (y k ) = lim −J k0 (y k )−1 Rk0 (y k ) = −J k0 (y ∗)−1 Rk0 (y ∗ ),


k→∞ k→∞

so that Rk0 (y ∗) = 0 which implies G(q ∗ , s∗ ) = 0.

Example 5.2 (Continuous Stirred Tank Reactor)


Let us again consider Example 5.1. The limit point w ∗ = (q ∗ , s∗ ) is shown in Fig. 5.4; a
comparison of the convergence rates for the Newton and Gauss-Newton method is shown
in Fig. 5.5.
5.3 Comparison of On-Line and O-Line Solutions 89
0

−1

−2

log10 ||∆ wk||


Gauss−Newton
−3

−4

Newton
−5

−6
0 1 2 3 4 5 6 7
index k

Figure 5.5: Convergence rates for Newton type methods, for the real-time iterations of
Example 5.2. Comparison of Newton and Gauss-Newton method. The dotted lines indicate
the convergence rates for the o-line solution (cf. Example 5.1).

5.3 Comparison of On-Line and O-Line Solutions


We will now investigate the error that we make by using the real-time iteration scheme,
0 ∗
compared to the exact o-line solution of P . We denote the o-line solution now by y0 to
∗ ∗
distinguish it from the limit point y of the real-time iterations. We will also compare y

with the exact solutions yk of the optimization problems P for k ≥ 1. Note that not only
k
∗ 0
the limit point y depends on the initial guess y and the chosen Newton type method, but
∗ k
also the exact solutions yk , because the optimization problems P are generated on-line.
∗ ∗
Several results are established; rst, we bound the distances y − yk  in the space of
0
KKT points y = (q, s, λ) by the size of the rst step ∆y . Secondly, we show how the
0 0
rst step ∆y itself is bounded, if the initial guess y was the solution of a neighboring
optimization problem. Finally, we will investigate how much optimality is lost with respect
to the objective function.

5.3.1 Distance to Optimal Solutions


Theorem 5.7 (Distance to O-Line Solution)
If the sucient conditions for o-line convergence of Theorem 5.3 are satised, the distance
between the limit point y ∗ of the real-time iterations as dened in Eq. (5.30) and the solution
y0∗ of the o-line
0
optimization problem P can be bounded by

2δ0 ∆y 0  ω
y ∗ − y0∗  ≤ , δ0 = κ + ∆y 0 . (5.32)
1 − δ0 2

Proof: We make use of the fact that the iterates for the solution of the o-line problem as
in Theorem 5.3 and the real-time iterations (y k ) coincide on y 0 and y 1 before they separate.
90 Contractivity of the Real-Time Iterations

As they have the same contraction constants κ<1 and ω, also δ0 is identical for both.
Using the property (5.15) from the proof of Theorem 5.1 for the Newton type iterates

1 δ0k
y k+m − y k  ≤ ∆y k  ≤ ∆y 0 , ∀ k, m ≥ 0,
1 − δ0 1 − δ0
we deduce that

δ0
y ∗ − y 1 = lim y 1+m − y 1 ≤ ∆y 0 .
m→∞ 1 − δ0
∗ 0
For the o-line solution y0 of P , the same inequality holds, so that

2δ0
y ∗ − y0∗  ≤ y ∗ − y 1  + y0∗ − y 1  ≤ ∆y 0 .
1 − δ0

An interesting corollary of this theorem is the following:

Corollary 5.8 (Shrinking Distance to Optimal Solutions)


The distance between the limit point y∗ of the real-time iterations as dened in Eq. (5.30)

and the rigorous solution yk of the k -th on-line optimization problem Pk can be bounded by

2δk ∆y k  2δ k+1∆y 0 


y ∗ − yk∗  ≤ ≤ 0 .
1 − δk 1 − δ0

This means that the limit point y of the real-time iterations is close to the rigorous
∗ ∗
solution of a problem P , if k < N is chosen large enough (note that for k ≥ N , yk = y
k

anyway, as the problem does not change anymore). Note that the iterates converge in
typical application problems much faster than the horizon shrinks (e.g. Example 5.2).
This allows to conclude that the real-time iterates practically provide an optimal solution
yk∗ of a problem P k with a relatively small k < N , i.e., for a problem with a slightly
shortened horizon only.

5.3.2 Size of First Step after Initial Value Embedding


∗ ∗
To know more about the distance between the two points y and y0 , it is necessary to nd
0
a bound on the rst step ∆y . Let us therefore go back to the formulation for the o-line
0
optimization problem P = P (x0 ) that was given in Sec. 2.2, which keeps the initial value
constraint separate:

0 sx0 − x0 = 0,
P : min F (q, s) subject to
q,s G̃(q, s) = 0,
The optimality residual vector therefore has the structure
 
∇q L
 ∇s L 
Rx0 (y) :=  
 sx0 − x0  .
G̃(q, s)
5.3 Comparison of On-Line and O-Line Solutions 91
∂R
Note that the derivative
∂y
and the derivative approximation J do not depend on the
0
value of the parameter x0 .
We will now establish a bound on the rst step ∆y after the
0
initial value embedding, if the iterations are started at an initial guess y that is itself the
result of a neighboring optimization problem (cf. Theorem 3.6 on the rst order prediction
by an exact Hessian SQP, and the initial value embedding idea in Sec. 4.2).

Lemma 5.9 (Bound on First Step)


Let us assume that ȳ0∗ is the solution of an optimization problem P0 (x̄0 ), and that x0 = x̄0 +0.
0 0
Then the rst step ∆y of the iterations for the solution of problem P = P0 (x0 ) when

starting at y0 := ȳ0 can be bounded by

∆y 0  ≤ β0,

where β is dened as in Theorem 5.3.

Proof: We make use of the fact that Rx̄0 (y 0) = Rx̄0 (ȳ0∗ ) = 0 and calculate ∆y 0 directly:

∆y 0 = −J(y 0 )−1 R 0
x0 (y )   
0 0
  0   0 
= −J(y 0 )−1 
R (y 0
) +   = J(y 0 )−1 
 −0  
.
x̄ 0
0 
0 0

The proof is completed by using J(y 0)−1  ≤ β as shown in the proof of Theorem 5.3.

As an immediate consequence of this lemma and of Theorem 5.7, we obtain the following:

Corollary 5.10 (Distance after Initial Disturbance)


The distance between the rigorous solution y0∗ of the optimization problem P0 (x0 ) and the

limit point y of the real-time iterations, when started at the solution ȳ0∗ of a neighboring
optimization problem P0 (x̄0 ), is  for a general Newton type method  of rst order in the
size of the disturbance 0 = x0 − x̄0

κ + ω2 β0
y ∗ − y0∗  ≤ 2 β0,
1 − (κ + ω2 β0)

and  for an exact Newton method  of second order in the size of the disturbance

ω
y ∗ − y0∗  ≤ β 2
02 .
1− ω
2
β0

5.3.3 Bounds on the Loss of Optimality


Now that we know how far the limit point y∗ is from the optimal solution, we can also
investigate how much optimality is lost, in terms of the objective function F (q ∗ , s∗ ).
92 Contractivity of the Real-Time Iterations

Theorem 5.11 (Loss of Optimality)


Let us assume that the sucient conditions for o-line convergence of Theorem 5.3 are
∂R
satised. Let us also assume that the exact derivative matrix ∂y is bounded on D0 :
 
 ∂R 
 
 ∂y (y) ≤ BR , ∀y ∈ D0 .

Denoting the limit point of the real-time iterations by y ∗ = (q ∗ , s∗ , λ∗ ), and the optimal

o-line solution by y0 = (q0∗ , s∗0 , λ∗0 ), the loss of optimality can be bounded by
1
F (q ∗ , s∗ ) − F (q0∗ , s∗0 ) ≤ BR y ∗ − y0∗2 . (5.33)
2

Proof: ∗ ∗ ∗ ∗
First note that not only the point (q0 , s0 ), but also the point (q , s ) is feasible
∗ ∗ ∗ ∗
according to Theorem 5.6, i.e., G(q0 , s0 ) = G(q , s ) = 0. Therefore, we can compare the
values of the Lagrangian function L(q, s, λ) = F (q, s) − λ G(q, s) that coincide with the
T

objective in both points.

1
L(y ∗)−L(y0∗) = 0 ∂L (y ∗ + t1 (y ∗ − y0∗ )) (y ∗ − y0∗ ) dt1
 1 ∂y ∗0
= 0 R(y0 + t1 (y ∗ − y0∗ ))T (y ∗−y0∗ ) dt1
 1  t ∗ ∗ ∗ ∗ ∗
T
∗ ∗
= 0 0 1 ∂R ∂y
(y 0 + t 2 (y −y 0 ))(y −y 0 ) dt2 (y −y0 ) dt1
  T
1 t
= (y ∗−y0∗ )T 0 0 1 ∂R ∂y
(y ∗
0 + t2 (y ∗
−y ∗
0 )) dt2 dt ∗ ∗
1 (y −y0 )

where we have used the fact that R(y0∗ ) = 0. We conclude that

1
L(y ∗)−L(y0∗) ≤ Br y ∗−y0∗2 .
2

This theorem together with Corollary 5.10 implies the following:

Corollary 5.12 (Loss of Optimality after Initial Disturbance)


The loss of optimality due to the real-time iterations for the approximate solution of P0 (x0 )
is of second order in the size of an initial disturbance 0 as in Corollary 5.10 for a general
Newton type method:

 2
∗ ∗ κ + ω2 β0
F (q , s ) − F (q0∗ , s∗0 ) ≤ 2Br β 02 , (5.34)
1 − (κ + ω2 β0)

and  for an exact Newton method  of fourth order in the size of the disturbance:

Br ω 2 β 4
F (q ∗ , s∗ ) − F (q0∗ , s∗0 ) ≤
4

2 0 . (5.35)
2 1 − 2 β0
ω
Chapter 6

A Close Look at one Real-Time


Iteration

In this chapter we describe in detail what computations are necessary to perform one real-
time iteration, and we show how these computations can be performed eciently. Starting
with the current iterate of the variables (w, λ, µ), we describe how to nally arrive at the
solution (∆w, λ̃, µ̃) of the QP (3.10), that allows to generate the next iterate. Though most
parts of the algorithm are well known, we present all details here, to be able to show what
is meant by the separation into preparation and feedback phase, which is important for
the real-time iterations. The feedback phase comprises only a small fraction of the overall
computations, which can be found in Subsections 6.5.2 and 6.5.2 for two alternative QP
solution approaches.

We will start the chapter by briey investigating the structure of the nonlinear pro-
gramming problem in Sec. 6.1, and show how this structure leads to a favourable structure
of the QP that has to be generated and solved in each cycle. In our approach, QP genera-
tion and QP solution are intertwined, so that we cannot clearly separate these two steps.
In Sec. 6.2 we show that only a so called partially reduced QP has to be generated if some
solution steps are performed in advance, and in Sec. 6.3 we will explain how the remaining
sensitivities can be computed eciently. We closely follow the lines of Leineweber [Lei99],
who developed the employed partial reduction strategy.

An newly developed Gauss-Newton approach to obtain an excellent approximation of


the Hessian in the presence of integral least squares terms is presented in Sec. 6.4.

We present two alternative approaches to solve the partially reduced QP: in Sec. 6.5
we describe the so called condensing technique, which we actually used for the presented
numerical examples, and which condenses the large, but structured QP into a small, but
unstructured QP, which is then solved by standard techniques. The alternative approach
presented in Sec. 6.6 does directly attack the large structured QP by a dynamic program-
ming approach that leads to a Riccati recursion. Both methods allow to perform the
most expensive steps before the actual value of x0 is known, thus allowing to prepare an
immediate feedback. Finally, we give a summary of the necessary computation steps

93
94 A Close Look at one Real-Time Iteration

per real-time iteration, and show that the algorithm can be interpreted as a successive
generation of approximated optimal feedback control laws.

6.1 Problem Structure


An important feature of the direct multiple shooting method is the sparse structure of the
large scale NLP (2.10). Its Lagrangian function L(w, λ, µ) can be written as
N −1
L(w, λ, µ) := x z x
i=0 Li (si , si , qi ) + E(sN , sN )
z
 −1 x T
− N λi+1 (xi (τi+1 ) − sxi+1 )
i=0
− N zT
i=0 λi g(si , s
x z
i , qi ) − λx0 T (x0 − sx0 ) − λTr r e (sxN , szN )
−µTr r i (sxN , szN ) − N T x z
i=0 µi h(si , si , qi ),

with λ = (λx0 , . . . , λxN , λz0 , . . . , λzN , λr )


µ = (µr , µ0 , . . . , µN ). This Lagrangian function
and
x z 1
is partially separable : Let us reorder the vector w = (w0 , . . . , wN ) with wi = (si , si , qi ).
2
Then it can be seen that the Hessian matrix ∇w L is block diagonal with non-zero blocks
Ai that correspond each to the variables wi only (Bock and Plitt, [BP84]), i.e.
 
A0
 .. 
2  . 
∇w L =  .
 AN −1 
AN
The unreduced QP that could be formulated at a current iterate w looks as follows:

1
N N −1
2 i=0 ∆wiT Ai ∆wi + i=0 ∇wi Li (sxi , szi , qi )T ∆wi
min (6.1a)
∆w0 , . . . , ∆wN +∇(sxN ,szN ) E(sxN , szN )T ∆(sxN , szN )

subject to

∂xi (τi+1 )
sxi+1 − xi (τi+1 ) + ∆sxi+1 − ∆wi = 0, i = 0, . . . , N − 1, (6.1b)
∂wi
∂g ∂g ∂g
g(sxi , szi , qi ) + x ∆sxi + z ∆szi + ∆qi = 0, i = 0, . . . , N, (6.1c)
∂si ∂si ∂qi
sx0 − x0 + ∆sx0 = 0, (6.1d)

∂r e
r e (sxN , szN ) + x z
∆(sxN , szN ) = 0, (6.1e)
∂(sN , sN )
∂r i
r i (sxN , szN ) + ∆(sxN , szN ) ≥ 0, (6.1f )
∂(sxN , szN )
∂h
h(sxi , szi , qi ) + ∆wi ≥ 0, i = 0, . . . , N. (6.1g)
∂wi
∆qN − ∆qN −1 = 0 (6.1h)

1 We recall here that qN := qN −1 is only introduced for notational convenience and has to be eliminated
again. Due to the linearity of the constraint qN = qN −1 it does not aect the Hessian matrix.
6.2 The Partial Reduction Technique 95

It is a crucial feature of our algorithm that this QP is never generated directly. Instead,
following the partial reduction approach developed by Leineweber [Lei99], rst only the
z
linearized consistency conditions (6.1c) are generated that allow to eliminate ∆si from the
QP, as will be described in the following section.

6.2 The Partial Reduction Technique


The partial reduction approach starts as follows: once the linearized consistency condi-
tions (6.1c)
   
∂g  ∂g  ∂g
g(sxi , szi , qi ) +   i = 0, . . . , N,
∂sxi  ∂sz  ∂qi ∆wi = 0,
i

are generated, the (usually sparse) systems


     
∂g
 ∂g  ∂g
dzi Di sx
Diq = − g(si , si , qi )  x 
x z
, i = 0, . . . , N
∂szi ∂si ∂qi

2 ∂g
are resolved. The matrix is always invertible due to the index-one assumption for
∂szi
x

the DAE system. The solution dzi Dis Diq of this system allows to construct the
vector and matrix
  
0 I 0
di :=  dzi  Di :=  Dis Diq  ,
x
and
0 0 I
that are called the range space and null space component of the linearized consistency
conditions, because

∂g(sxi , szi , qi ) ∂g(sxi , szi , qi )


x z
di = −g(sxi , szi , qi ) and Di = 0.
∂(si , si , qi ) ∂(sxi , szi , qi )
It is straightforward to see that
 
∆sxi
∆wi := di + Di (6.2)
∆qi
satises the linearized consistency conditions (6.1c) for arbitrary values of ∆sxi ∆qi . It
and
is therefore possible to formulate an equivalent, reduced QP, where the variables ∆szi are
completely eliminated. For this aim let us dene
 
Qi SiT
:= DiT Ai Di , i = 0, . . . , N,
Si Ri
 x
gi
:= DiT ∇wi Li + DiT Ai di , i = 0, . . . , N − 1, (6.3a)
giq
 x
gN
q := DNT
∇wN E(sxN , szN ) + DN T
AN dN , (6.3b)
gN
2 We employ an advanced direct sparse solver, the Harwell subroutine MA48 by Du and Reid [DR96].
96 A Close Look at one Real-Time Iteration

for the reduced objective, as well as

∂xi (τi+1 ) z ∂xi (τi+1 )


ci+1 := sxi+1 − xi (τi+1 ) − di , (Xi |Yi ) := Di , (6.4)
∂szi ∂wi
∂h z ∂h
hi := h(sxi , szi , qi ) + d , (Hix |Hiq ) := Di , i = 0, . . . , N − 1,
∂szi i ∂wi

and

∂r e z ∂r e
r e := r e (sxN , szN ) + d , (Re,x |Re,q ) := DN ,
∂szN N ∂wN
∂r i ∂r i
r i := r i (sxN , szN ) + z dzN , (Ri,x |Ri,q ) := DN ,
∂sN ∂wN

for the constraints, so that we can formulate the following reduced QP that is equivalent
to (6.1)

N 1 1
i=0 { 2 ∆si Qi ∆si + 2 ∆qi Ri ∆qi
xT x T
min T (6.5a)
∆sx0 , . . . , ∆sxN +∆qiT Si ∆sxi + gix T ∆sxi + giq ∆qi }
∆q0 , . . . , ∆qN

subject to

ci+1 + ∆sxi+1 − Xi ∆sxi − Yi ∆qi = 0, i = 0, . . . , N − 1, (6.5b)

sx0 − x0 + ∆sx0 = 0, (6.5c)

r e + Re,x ∆sxN + Re,q ∆qN = 0, (6.5d)

r i + Ri,x ∆sxN + Ri,q ∆qN ≥ 0, (6.5e)

hi + Hix ∆sxi + Hiq ∆qi ≥ 0, i = 0, . . . , N, (6.5f )

∆qN − ∆qN −1 = 0. (6.5g)

In partial reduction approaches the full space Hessian blocks Ai are never computed. There-
T
fore, the terms Di Ai di are usually dropped in the denitions (6.3), causing only a minor
x z
change, as di are proportional to g(si , si , qi ), which are expected to be close to zero near
a solution. However, in Sec. 6.4 we present a newly developed approach to compute e-
T
ciently approximations of both, the reduced Hessian Di Ai Di and the gradient contribution
DiT Ai di , that is based on a Gauss-Newton approach for least squares integrals. But let us
rst describe how the linearized continuity conditions (6.5b) of the partially reduced QP
can be generated eciently.
6.3 Ecient Sensitivity Computation 97

6.3 Ecient Sensitivity Computation


On each multiple shooting interval [τi , τi+1 ], the relaxed initial value problems (2.3)-(2.5)

B(·) · ẋi (τ ) = T f (xi (τ ), zi (τ ), qi )


 
τ − τi
0 = g(xi (τ ), zi (τ ), qi ) − exp −β g(sxi , szi , qi )
τi+1 − τi
xi (τi ) = sxi

have to be solved to yield the solution trajectories xi (τ ) and zi (τ ). These trajectories


x z
depend on the initial values si , si of dierential and algebraic states, and on the control
parameters qi . In a naive implementation, we would also have to compute the derivatives
of the nal value xi (τi+1 ) with respect to these quantities. As mentioned above, a crucial
feature of Leineweber's partial reduction approach to multiple shooting for DAE [Lei99] is
that the full derivative matrices

∂xi (τi+1 )
∂(sxi , szi , qi )

are never calculated, but instead directly the directional derivatives

 

0 I 0
∂xi (τi+1 )  z
di Dis Diq 
x
k i Xi Yi := x z
∂(si , si , qi )
0 0 I
3
that are actually needed to formulate the partially reduced QP (6.5). This saves a consid-
erable amount of computational eort for problems with a large share of algebraic variables.
Before we describe this approach in detail, a remark is in order about how to generally
approach the problem of computing derivatives of a DAE solver output.

Remark on External and Internal Numerical Dierentiation


One straightforward approach that is simple to implement is to start an existing DAE solver
several times with perturbed initial values and control parameters, and to subtract the
perturbed outputs xi (τi+1 ) to compute an approximation of the desired matrix (ki |Xi |Yi )
by nite-dierences (see e.g. Rosen and Luus [RL91]). This approach, which may be
called External Numerical Dierentiation (END), has serious drawbacks, as the output of
a modern, adaptive DAE solver is usually a discontinuous function of the initial values
and control parameters. If the inputs for the DAE solver are varied continuously, the
output xi (τi+1 ) usually jumps discontinuously, with jumps that have to be expected to be
as big as the integrator tolerance permits (see e.g. Gear and Vu [GV83]). If the perturbed
trajectories are chosen close to each other, as it is required in nite-dierence schemes to
yield a good approximation of the derivative, these discontinuities can outweigh the desired

3 The ∂xi (τi+1 ) z


vectors ki = ∂szi di are needed to generate ci+1 according to Eq. (6.4).
98 A Close Look at one Real-Time Iteration

derivative information, if the integrator accuracy is not chosen extraordinarily high; if such
an accuracy is feasible at all, this will cause excessive computation times.
An approach which avoids the drawbacks of END is the so called Internal Numerical
Dierentiation (IND) as described by Bock [Boc81]. The idea is to freeze the discretiza-
tion scheme for the neighboring trajectories, so that the output becomes a dierentiable
function of the inputs. This allows to perform the DAE solution even with low accuracy,
without jeopardizing the accuracy of the derivative approximation. The frozen discretiza-
tion scheme is usually adapted to the nominal trajectory.
In addition, much eort can be saved if the perturbed trajectories are computed simul-
taneously, as many matrix evaluations and factorizations then need to be performed only
once for all trajectories.
A related approach that may be interpreted as the analytical limit of IND [Boc83]
is to solve the sensitivity equations along the nominal system trajectory. We will briey
describe how this approach can be used to compute directional derivatives.

6.3.1 Directional Derivatives


Let us for notational convenience assume that the DAE is explicit, i.e., that B(·) = I, and
let us also assume that T = 1, so that the initial value problem (2.3)-(2.5) can be written
as

ẋi (τ ) = f (xi (τ ), zi (τ ), qi ),
τ −τi
−β τ
0 = g(xi (τ ), zi (τ ), qi ) − e i+1 −τi g(sxi , szi , qi ),
xi (τi ) = sxi .
Dierentiation of this system with respect to the initial values and control parameters
(sxi , szi , qi ) and a multiplication from the right by the matrix (di |Di ) yields a linear matrix
DAE. Dening the matrix functions

∂xi (τ )

ki (τ ) Xi (τ ) Yi (τ ) := ∂(sx z d i Di ,
i ,si ,qi )


∂zi (τ )

kiz (τ ) Xiz (τ ) Yiz (τ ) := ∂(sx z d i Di ,


i ,si ,qi )

this matrix DAE can be written as


 
k (τ ) Xi (τ ) Yi (τ )
d
∂f (·)  zi
ki (τ ) Xi (τ ) Yi (τ ) = ki (τ ) Xiz (τ ) Yiz (τ )  ,
dτ ∂(x, z, u)
0 0 I
 
k (τ ) Xi (τ ) Yi (τ )
∂g(·)  zi
0 = ki (τ ) Xiz (τ ) Yiz (τ ) 
∂(x, z, u)
0 0 I
−β
τ −τi

−e τi+1 −τi −g(sxi , szi , qi ) 0 0 ,



ki (τi ) Xi (τi ) Yi (τi ) = 0 I 0 .


6.3 Ecient Sensitivity Computation 99

The consistent initial value for the algebraic matrix kiz Xiz Yiz is

kiz (τi ) Xiz (τi ) Yiz (τi ) = dzi Dis Diq .

This linear matrix DAE can be solved simultaneously with the original initial value prob-
lem (2.3)-(2.5), as it is done e.g. in the version of the advanced BDF integrator DAESOL
(Bauer [Bau00]) that we used for most computations that are presented in this thesis. The
nal values are then used to dene

k i Xi Y i := ki (τi+1 ) Xi (τi+1 ) Yi (τi+1 ) .

Computation of the Reduced Objective Gradient


We have so far not discussed how to compute the reduced objective gradients DiT ∇wi Li
that are needed to compute

 
gix
gi :=
giq

in (6.3a), i.e., how to compute the directional derivatives of the objective integrals

 τi+1
Li (sxi , szi , qi ) = L(xi (τ ), zi (τ ), qi )) dτ.
τi

The objective integrals can be computed by introducing an additional dierential state


xL , and solving the following initial value problem together with the original initial value
problem:

ẋLi (τ ) = L(xi (τ ), zi (τ ), qi )), for τ ∈ [τi , τi+1 ],


ẋLi (τi ) = 0.

The directional derivatives can then be computed as above.

Numerical Calculation of the Exact Hessian Matrix


Leineweber [Lei99] has developed a scheme to compute a nite-dierence approximation
of the exact Hessian matrix blocks Ai , which is so far only applicable to systems described
by ordinary dierential equations (ODE). His approach generalizes the idea of Internal
Numerical Dierentiation to second order derivatives, by solving the rst order sensitivity
equations several times for perturbed initial values, with a xed discretization scheme. We
have employed this method in some examples for comparison with our newly developed
Gauss-Newton approach that is described in the following section.
100 A Close Look at one Real-Time Iteration

6.4 A Gauss-Newton Method for Integral Least Squares


Terms
In the case of a Lagrange term L that has least squares form, i.e., if

L(xi (τ ), zi (τ ), qi ) = l(xi (τ ), zi (τ ), qi )22

with a vector valued function l(·), there exists a possibility to obtain a cheap approximation
of the Hessian blocks Ai by an extension of the Gauss-Newton approach to least squares
integrals. This approximation is good if the residual l(·) and if the multipliers λ, and µ
are close to zero (cf. the discussion in Sec. 5.1.2).
To derive an expression for the Gauss-Newton approximation of the full Hessian let
us neglect the constraint contributions and regard only the objective contribution of the
Hessian that is
 τi+1
∇2(sxi ,szi ,qi) l(xi (τ ), zi (τ ), qi )22 dτ.
τi

A Gauss-Newton approximation of the Hessian can be obtained by dierentiating twice


under the integral and dropping terms that contain l(xi (τ ), zi (τ ), qi ):
 τi+1
Ai := 2 Ji (τ )T Ji (τ ) dτ, (6.7)
τi

where
 ∂xi (τ ) ∂xi (τ ) ∂xi (τ )

  ∂sx ∂szi ∂qi
∂l(xi (τ ), zi (τ ), qi )  i
∂zi (τ ) ∂zi (τ ) ∂zi (τ ) 
Ji (τ ) :=  ∂sx ∂szi
.
∂(x, z, u) i ∂qi
0 0 I

6.4.1 A Partially Reduced Hessian Approximation


If we are interested only in the Gauss-Newton approximation DiT Ai Di of the reduced
T
Hessian , we can multiply Eq. (6.7) from the left and the right with Di and Di :

 τi+1
DiT Ai Di =2 DiT Ji (τ )T Ji (τ )Di dτ.
τi

Fortunately the matrix products Ji (τ )Di are cheaply available, if directional derivatives
are calculated as described in the previous section. Using the notation of that section,
Ji (τ )Di can be seen to have the simple form

 
  Xi (τ ) Yi (τ )
∂l(xi (τ ), zi (τ ), qi )  Xiz (τ ) Yiz (τ )  .
Ji (τ )Di = J˜i (τ ) :=
∂(x, z, u)
0 I
6.5 QP Solution by a Condensing Approach 101

The partially reduced objective gradient


  τi+1 
gi = 2DiT ∇(sxi ,szi ,qi ) l(xi (τ ), zi (τ ), qi ))22 dτ + DiT Ai di .
τi

as dened in Eq. (6.3a) can also be calculated exactly, without ever computing the full
Hessian approximation. For the exact computation of the reduced obejctive gradient (6.3)
T
we also need the terms Di Ai di . A multiplication of Eq. (6.7) from the left and the right
T
with Di and di yields
 τi+1   
∂l(xi (τ ), zi (τ ), qi ) ki (τ )
DiT Ai di =2 J˜i (τ ) T
dτ.
τi ∂(x, z) kiz (τ )

so that
 τi+1    
∂l(xi (τ ), zi (τ ), qi ) ki (τ )
gi := 2 J˜i (τ ) T
l(xi (τ ), zi (τ ), qi ) + dτ.
τi ∂(x, z) kiz (τ )

The matrix J˜i (τ ) can be computed simultaneously with the DAE solution. The integral
can be calculated by using a suitable integration formula. Note that the evaluation of the
integrand is very cheap compared to the computations necessary for the DAE solution.
Furthermore, if an interpolation of the sensitivity matrices is employed in the DAE solver,
the integrand can be evaluated at arbitrary points on the interval, without the necessity to
stop the integration routine (cf. Bock and Schlöder [BS81]); these evaluation points are in
particular independent of the stepsizes of the DAE solver.
We have implemented this extension of the Gauss-Newton method, which delivers
the Hessian approximation at virtually no additional costs, in the current version of
the optimal control package MUSCOD-II, in conjunction with the implicit DAE solver
DAESOL [BBS99, Bau00].

Remark: In previous Gauss-Newton approaches to NMPC, only least squares terms at


discrete time points had been formulated (cf. de Oliveira and Biegler [OB95b] for the
sequential approach, and Santos et al. [SOB95] for the direct multiple shooting method),
which leads to an unnecessary overhead especially on long prediction intervals with constant
controls.

6.5 QP Solution by a Condensing Approach


After we have discussed how the partially reduced QP (6.5) can be generated, we will in
this and the following section present two alternative strategies to solve such a QP.
The so called condensing approach reduces the QP further to yield a smaller QP in the
variables ∆q0 , . . . , ∆qN −1 only.
In the real-time context, the algorithm proceeds in two
x x
steps: rst, it uses the linearized continuity conditions (6.5b) to eliminate ∆s1 , . . . ∆sN
from the QP (6.5). We will also eliminate ∆qN using (6.5g). The resulting QP is called the
102 A Close Look at one Real-Time Iteration

condensed QP. In a second step, the initial value constraint (6.5c) will be used to eliminate
∆sx0 , so that a fully reduced QP in the variables ∆q := (∆q0 , . . . , qN −1 ) only needs to be
solved by a standard QP solver. Finally, the solution of the fully reduced QP is expanded
to yield the solution in variable and multiplier space of the partially reduced QP.

6.5.1 First Condensing Step


For the rst condensing step, let us reorder the variables of the partially reduced QP and
summarize them into a partitioned vector

   
∆sx1 ∆sx0
   ..   ∆q0 
∆w1    
, with ∆w1 :=  . x  , and ∆w2 :=  ..  .
∆w2  ∆sN   . 
∆qN ∆qN −1

By introducing

   
c1 I
 c2   −X1 I 
   
 c3   −X2 I 
   
b1 :=  ..  , B11 :=  .. .. ,
 .   . . 
   
 cN   −XN −1 I 
0 I

and

 
−X0 −Y0
 −Y1 
 
 −Y2 
 
B12 :=  .. ,
 . 
 
 −YN −1 
−I

the continuity conditions (6.5b) and (6.5f) can be written as

b1 + B11 ∆w1 + B12 ∆w2 = 0,

and the uncondensed QP (6.5) can be summarized as


6.5 QP Solution by a Condensing Approach 103

1
min 2
∆w1T A11 ∆w1 + ∆w1T A12 ∆w2
∆w1 ,∆w2 (6.8)
+ 12 ∆w2T A22 ∆w2 + aT1 ∆w1 + aT2 ∆w2

subject to

b1 + B11 ∆w1 + B12 ∆w2 = 0


b2 + B21 ∆w1 + B22 ∆w2 = 0
c + C1 ∆w1 + C2 ∆w2 ≥ 0.

The idea of the condensing approach is to exploit the invertibility of B11 to eliminate ∆w1
by

−1
∆w1 = −B11 (B12 ∆w2 + b1 ) =: M∆w2 + m (6.9)

and to replace the above QP by a so called condensed QP :


1 b̃ + B̃∆w2 = 0
min ∆w2T Ã∆w2 + ãT ∆w2 s.t. (6.10a)
∆w2 2 c̃ + C̃∆w2 ≥ 0

with

à = M T A11 M + M T A12 + AT12 M + A22 ,


ã = M T A11 m + AT12 m + M T a1 + a2 ,
b̃ = b2 + B21 m,
B̃ = B21 M + B22 ,
c̃ = c + C1 m, and
C̃ = C1 M + C2 .

The generation of the condensed QP can be achieved eciently by recursive techniques that
have been introduced by Bock and Plitt [Pli81, BP84]. They are described in Appendix E.

6.5.2 Second Condensing Step and Immediate Feedback


In the real-time context it is important to note that all computations of the rst condensing
step can be performed before the actual value of x0 is known, allowing to prepare an
Immediate Feedback. So let us have a close look at the condensed QP (6.10a). Since
∆w2 = (∆sx0 , ∆q), it has the following structure
104 A Close Look at one Real-Time Iteration

1
min 2
∆sx0 T Ãss ∆sx0 + 12 ∆q T Ãqq ∆q
∆sx
0 ,∆q (6.10b)
+∆sx0 T Ãsq ∆q + ãTs ∆sx0 + ãTq ∆q

subject to

sx0 − x0 + ∆sx0 = 0
b̃r + B̃rs ∆sx0 + B̃rq ∆q = 0
c̃ + C̃s ∆sx0 + C̃q ∆q ≥ 0.

At the moment when x0 is known, the fully reduced QP can be formulated:


1
min 2
∆q T Ãqq ∆q + (x0 − sx0 )T Ãsq + ãTq ∆q (6.11)
∆q

subject to

b̃r + B̃rs (x0 − sx0 ) + B̃rq ∆q = 0

c̃ + C̃s (x0 − sx0 ) + C̃q ∆q ≥ 0.

This dense QP can be solved by a standard QP solver. It is of rather small size compared
to the original uncondensed QP (6.8), and bears nearly no sparsity. We usually employ
4
QPSOL by Gill, Murray, Saunders, and Wright [GMSW83], a routine that makes use of
an active set strategy and is able to cope with indenite Hessian matrices. Note that in
principle even large parts of the fully reduced QP (6.11) can be precomputed before x0
x
is available, if matrix factorizations based on the active set for x0 = s0 are calculated in
advance, as proposed in [BDLS00].
The solution of the fully reduced QP are the optimal values for ∆q0 , . . . , ∆qN −1 . The
value of ∆q0 plays a crucial role in the real-time context, as it is this control that is given
directly to the real system as an immediate feedback.

Remark: The fact that an active set strategy is used to determine the active set carries
some danger in the real-time context, as it is well known that the worst case complex-
ity of such an algorithm can be exponential in the number of variables (cf. Klee and
Minty [KM72]). Experience shows, however, that the computational burden of this dense
QP solution is bounded in practice. In typical applications of our real-time algorithms it is
considerably smaller than the eort needed for the rst condensing step, which itself needs
only a small share of the overall time of a full real-time iteration cycle. A theoretically
appealing alternative to active set strategies is provided by Interior-Point Methods (IPM),
4 QPSOL is available as a NAG routine under the name E04NAF.
6.5 QP Solution by a Condensing Approach 105

that have polynomial run time bounds. For an introduction into IPM algorithms and
their application to quadratic programs we refer e.g. to Nocedal and Wright [NW99] or
Wright [Wri97].

6.5.3 Expansion of the QP Solution


The expansion of the QP solution passes through the two condensing steps in reverse order:
rst the fully reduced QP solution is expanded to the condensed QP solution, and secondly,
the condensed QP solution is expanded to the full solution of the uncondensed QP (6.8).

First Expansion Step


The solution (∆q, λ̃r , µ̃) of the fully reduced QP (6.11) can trivially be expanded to yield
the solution (∆w2 , λ̃2 , µ̃) of the condensed QP (6.10a) (resp. (6.10b) ) with
   
∆sx0 λ̃x0
∆w2 = , and λ̃2 =
∆q λ̃r

by computing

∆sx0 = x0 − sx0 , and λ̃x0 = Ãss ∆sx0 + Ãsq ∆q + ãs − B̃rs


T
λ̃r − C̃sT µ̃.

That (∆w2 , λ̃2 , µ̃) is a solution of the condensed QP can be seen by comparing the KKT
conditions of (6.10b) with those of (6.11).

Expansion of the Condensed QP Solution


Similarly, the solution (∆w2 , λ̃2 , µ̃) of the condensed QP (6.10a) can further be expanded
to the full solution (∆w1 , ∆w2 , λ̃1 , λ̃2 , µ̃) of the uncondensed QP (6.8) by computing

∆w1 = M∆w2 + m

and

−T
λ̃1 = B11 (A11 ∆w1 + A12 ∆w2 + a1 − B21
T
λ̃2 − C1T µ̃). (6.12)

To justify Eq (6.12) let us formulate the stationarity condition of the Lagrange gradient of
the uncondensed QP (6.8) as follows:

A11 ∆w1 + A12 ∆w2 + a1 − B11


T
λ̃1 − B21
T
λ̃2 − C1T µ̃ = 0,
A22 ∆w2 + AT12 ∆w1 + a2 − B12
T
λ̃1 − B22
T
λ̃2 − C2T µ̃ = 0.
106 A Close Look at one Real-Time Iteration

The rst condition is equivalent to Eq. (6.12), whereas the second can be seen to be satised,
if Lagrange stationarity with respect to ∆w2 is attained in the condensed QP (6.10a):

0 = Ã∆w2 + ã − B̃ T λ̃2 − C̃ T µ̃
= (M T A11 M + M T A12 + AT12 M + A22 )∆w2 + M T A11 m + AT12 m
+M T a1 + a2 − (B21 M + B22 )T λ̃2 − (C1 M + C2 )T µ̃
= A22 ∆w2 + AT12 ∆w1 + a2 − B22 T
λ̃2 − C2T µ̃
+M T {A11 ∆w1 + A12 ∆w2 + a1 − B21 T
λ̃2 − C1T µ̃}
= A22 ∆w2 + AT12 ∆w1 + a2 − B12 T
λ̃1 − B22
T
λ̃2 − C2T µ̃.
The expansion step can eciently be performed by a backwards recursion that is e.g.
described by Leineweber [Lei99]. We mention here that the partial reduction approach
z
does not allow to recapture the multipliers λi of the algebraic consistency conditions,
because this would require knowledge of derivatives that are not computed. Fortunately,
these multipliers are of minor importance in our real-time iteration scheme, as the current
multiplier values only enter the next QP formulation through the Hessian approximation.
If the extended Gauss-Newton approach is used, the multiplier values do not matter at all
in the QP formulation.

6.6 A Riccati Recursion Approach


A second basic strategy to attack the solution of the partially reduced QP (6.5), that
leads to a Riccati recursion scheme, can best be presented in the framework of dynamic
programming. We will here only introduce the underlying idea, and refer the interested
reader to Steinbach [Ste95] or Rao et al. [RWR98] for a more detailed description of the
approach. For ease of presentation, we restrict our attention to QP problems (6.5) without
nal state and inequality constraints (6.5d)-(6.5f). We will also assume that RN , SN , and
q
gN are zero, so that the last control ∆qN can directly be eliminated from the problem, i.e.,
we consider the QP


N −1
{ 12 ∆qiTRi ∆qi + ∆qiTSi ∆sxi + gix T∆sxi + giq ∆qi
T
min (6.14)
∆sx0 , . . . , ∆sxN i=0
+ 12 ∆sxi TQi ∆sxi } + 1
∆sxNT QN ∆sxN + xT
gN ∆sxN
∆q0 , . . . , ∆qN−1 2

subject to

ci+1 + ∆sxi+1 − Xi ∆sxi − Yi ∆qi = 0, i = 0, . . . , N − 1,


sx0 − x0 + ∆sx0 = 0.
The idea of the recursive algorithm to solve the above QP can be summarized as follows:
starting with the cost function

1
ΠN (∆sxN ) := ∆sxN T QN ∆sxN + gN
xT
∆sxN (6.15)
2
6.6 A Riccati Recursion Approach 107
x
of the nal node, we construct the so called optimal cost-to-go function ΠN −1 (∆sN −1 ) of
x
the previous stage, by choosing for each value ∆sN −1 the control ∆qN −1 that optimizes
the added costs to go to the nal stage, i.e., the sum of the stage costs and the nal stage
costs ΠN . This procedure is repeated for ΠN −2 down to Π0 . At each step the following
small optimization problem

1 xT 1
Πi (∆sxi ) := min
x
∆si Qi ∆sxi + ∆qiT Ri ∆qi + ∆qiT Si ∆sxi
∆si+1 ,∆qi 2 2
T
+gi ∆si + giq ∆qi + Πi+1 (∆sxi+1 )
xT x
(6.16)
subject to
ci+1 + ∆sxi+1 − Xi ∆sxi − Yi ∆qi = 0

is solved. It turns out that the cost-to-go functions Πi (∆sxi ) remain quadratic functions, a
fact that makes the dynamic programming approach so ecient. Let us therefore write

1
Πi (∆sxi ) = ∆sxi T Pi ∆sxi + pTi ∆sxi + πi , for i = 0, . . . , N.
2
The algorithm that we propose for the real-time solution of the QP consists of three steps,
rst a backwards recursion that prepares the second step (the immediate feedback), and
nally a forward recursion which recovers the full QP solution.

6.6.1 Backwards Recursion


The backwards recursion is started by dening ΠN according to Eq. (6.15), i.e.,

x
PN := QN , pN := gN , and πN = 0.

For the recursion step, let us assume that the optimal cost-to-go function Πi+1 (∆sxi+1 ) has
already been computed, i.e., that the matrix Pi+1 , the vector pi+1 and the scalar πi+1 are
known. The QP (6.16) can be solved as follows: rst we eliminate

∆sxi+1 = −ci+1 + Xi ∆sxi + Yi ∆qi (6.17)

in the objective function

1
∆sxi T Qi ∆sxi + 12 ∆qiT Ri ∆qi + ∆qiT Si ∆sxi
T
Fi (∆sxi , ∆qi , ∆sxi+1 ) := 2
+ gix T ∆sxi + giq ∆qi
+ 12 ∆sxi+1 T Pi+1 ∆sxi+1 + pTi+1 ∆sxi+1 + πi+1

that becomes

1
Fi (·) = 2
∆qiT (Ri + YiT Pi+1 Yi )∆qi
+((Si + YiT Pi+1 Xi )∆sxi + giq − YiT Pi+1 ci+1 + YiT pi+1 )T ∆qi
+ 12 ∆sxi T (Qi + XiT Pi+1 Xi )∆sxi + gix T ∆sxi + cTi+1 Pi+1 ci+1
−cTi+1 Pi+1 Xi ∆sxi − pTi+1 ci+1 + pTi+1 Xi ∆sxi + πi+1 .
108 A Close Look at one Real-Time Iteration

The minimum of this function with respect to ∆qi is attained at

∆qi = −(Ri + YiT Pi+1 Yi )−1 (Si + YiT Pi+1 Xi ) ∆sxi


−(Ri + YiT Pi+1 Yi )−1 (giq − YiT Pi+1 ci+1 + YiT pi+1 ) (6.18)
=: −Ki ∆sxi − ki ,

which inserted into the objective function Fi gives the optimal cost-to-go according to
(6.16) as

1
Πi (∆sxi ) = ∆sxi T Pi ∆sxi + pTi ∆sxi+1 + πi
2
with

Pi := Qi + XiT Pi+1 Xi
−(Si + YiT Pi+1 Xi )T (Ri + YiT Pi+1 Yi )−1 (Si + YiT Pi+1 Xi ),

pi := gix + XiT pi+1 − XiT Pi+1 ci+1


−(Si + YiT Pi+1 Xi )T (Ri + YiT Pi+1 Yi )−1 (giq − YiT Pi+1 ci+1 + YiT pi+1 ),

πi := πi+1 + cTi+1 Pi+1 ci+1 − pTi+1 ci+1 − (giq − YiT Pi+1 ci+1 + YiT pi+1 )T ·
(Ri + YiT Pi+1 Yi )−1 (giq − YiT Pi+1 ci+1 + YiT pi+1 ).

The values πi+1 are irrelevant for the determination of ∆sxi+1 and ∆qi ; therefore they are
usually omitted. The matrix recursion formula for Pi is also known as the discrete-time
Riccati matrix equation for time-varying systems.
The only quantities that have to be stored for subsequent use in the forward recur-
sion are the matrices K0 , . . . , KN −1 and P0 , . . . , PN , and the vectors k0 , . . . , kN −1 and
p0 , . . . , pN .

6.6.2 Immediate Feedback


The complete backwards recursion can be performed before the actual value of x0 is known.
Then, at the moment when x0 is known, the control response ∆q0 can be quickly determined
according to Eq. (6.18),

∆q0 = −K0 (x0 − sx0 ) − k0 ,

and can immediately be given to the plant. The control response can be interpreted as
the rst part of the forward recursion that will be described in the following. However, we
stress the fact that it is only the above matrix vector multiplication and vector addition
that needs to be performed to deliver the part of the QP solution, ∆q0 , that is actually
needed for the approximate optimal feedback control response.
This computation requires only nu ×nx +nu oating point operations which can certainly
be considered an immediate feedback, when compared to the complete real-time iteration
cycle, which needs many orders of magnitude higher computational eort.
6.6 A Riccati Recursion Approach 109

6.6.3 Forward Recursion


Starting with a known value of ∆sx0 = x0 − sx0 , Eqs. (6.18) and (6.17) are alternately used
to compute

∆qi = −Ki ∆sxi − ki , for i = 0, . . . , N − 1,

and

∆sxi+1 = −ci+1 + Xi ∆sxi + Yi ∆qi for i = 0, . . . , N − 1.

The QP multipliers λ̃xi for i = 0, . . . , N are computed as follows

∂Πi (∆sxi )
λ̃xi = = Pi ∆sxi + pi .
∂∆sxi

6.6.4 Comparison of Condensing and Riccati Recursion


The Riccati recursion scheme allows to solve the QP with a numerical eort of O(N),
2
which is in sharp contrast to the condensing approach, which in turn is of O(N ) for the
3
condensing itself, and even O(N ) for the solution of the dense QP, if we disregard active
set changes. For the practical applications that we have encountered so far, however, we
have employed the condensing approach. This was motivated by the following observations:

• Active set changes during the QP solution are rather expensive in the Riccati ap-
proach, as each active set change would require a full backwards and forward recur-
sion. In practical implementations, the Riccati recursion is therefore usually imple-
mented in conjunction with an interior-point method (IPM) to treat the inequalities
(cf. [Ste95, Wri96, RWR98]). But even the IPM approach requires some complete
recursions until the QP solution is found, and is therefore not strictly in line with
our idea of an immediate feedback, that takes active set changes into account.

• Furthermore, practical experience shows that the sensitivity computation dominates


by far the overall computational eort during each real-time iteration cycle for typical
application problems which have large state dimensions nx and a small number N of
multiple shooting intervals, when the condensing approach is employed. This reduces
the practical benets of alternative QP solution procedures.

Though the condensing approach works well in current applications, we want to point out
that it has its limits, especially for long horizon lenghts N, and that a solution scheme
that employs the Riccati recursion with an interior-point method, as e.g. developed by
Steinbach [Ste95] for the multiple shooting method, promises to oer advantages in the
real-time context and deserves further investigation.
110 A Close Look at one Real-Time Iteration

6.7 Division into Preparation and Feedback Phase


We will now summarize the version of the real-time algorithm that we used for most
numerical tests in this thesis. It makes use of the newly developed Gauss-Newton approach
to obtain the Hessian approximation, and employs the condensing strategy to solve the
partially reduced QP. Though we rst present the necessary computations in the same
order as in the above presentation, we will give a second ordering of the steps that allows
to interpret the algorithm as the successive generation of approximated optimal feedback
control laws.

6.7.1 Five Computation Steps


During each real-time iteration the following steps have to be performed:

1. Partial reduction: Linearize the consistency conditions and resolve the linear system
z x
to eliminate the ∆si as a linear function of ∆si and ∆qi , as described in Sec. 6.2

2. DAE solution and derivative generation: Linearize the continuity conditions by solv-
ing the relaxed initial value problems and computing directional derivatives with
x
respect to ∆si and ∆qi following the scheme of Sec. 6.3. Simultaneously, compute
the gradient of the objective function, and the Hessian approximation according to
the Gauss-Newton approach described in Sec. 6.4. Linearize also the remaining point
constraints.

3. First condensing step: Using the linearized continuity conditions, eliminate the vari-
x x
ables ∆s1 , . . . ∆sN . Project the objective gradient onto the space of the remaining
x
variables ∆s0 , ∆q0 , . . . , ∆qN −1 , and also the Hessian and the linearized point con-
straints.

4. Step generation: at the moment that x0 is known, perform the second condensing step
and solve the fully reduced QP with an ecient dense QP solver using an active set
strategy. The solution yields the nal values of ∆q0 , . . . , ∆qN −1 . The value q0 + ∆q0
can immediately be given as a control to the real-system.

5. Expansion: Expand the fully reduced QP solution to yield the full QP solution
(∆w, λ̃, µ̃). Based on this QP solution, pass over to the next SQP iterate and go
back to step 1.

6.7.2 The O-Line Steps in a Rotated Order


It is an important feature of the above cycle that the value x0 needs only to be known
before step 4 can be performed. In our real-time implementation, we isolate step 4 and
rotate the order of the above steps, to yield the following scheme:
6.7 Division into Preparation and Feedback Phase 111

I) Feedback phase: After observation of the current value x0 perform only step 4 and
apply the resulting value of q0 + ∆q0 immediately to the real process. Maintain the
new control value during some process duration δ which is suciently long to perform
all calculations of one cycle.

II) Preparation phase: During this period δ


rst expand the outcome of step 4 to the
k+1
full QP solution (expansion step 5), then compute the new iterate w = w k + ∆w k ,
and based on this new iterate, perform the steps 1, 2 and 3 to prepare the feedback
response for the following step. Go back to I.

The feedback phase itself is typically orders of magnitude shorter than the preparation
phase (cf. Fig 7.7). Thus, our algorithm can be interpreted as the successive generation of
immediate feedback laws (cf. Sec. 4.4.2) that take state and control inequality constraints
on the complete horizon into account. Experience with the investigated large scale examples
shows that the active set does not change much from one cycle to the next so that the
computation time for the feedback is bounded and very small in practice.
Chapter 7

Control of a Distillation Column

As an application example for the proposed real-time iteration schemes we consider the
control of a high purity binary distillation column. We have performed a variety of closed-
loop experiments at a pilot plant distillation column that is located at the Institut für
Systemdynamik und Regelungstechnik (ISR) of the University of Stuttgart. All experi-
ments were carried out in collaboration with Dr. Ilknur Uslu, Stefan Schwarzkopf, and
Rolf Findeisen. Financial support by the Deutsche Forschungsgemeinschaft (DFG) within
the DFG-Schwerpunktprogramm Real-Time Optimization of Large Systems is gratefully
acknowledged.
In rst numerical tests, the feasibility of the real-time optimization scheme could be
+
shown, with computation times in the range of seconds for a 164th order model [DBS 01],
and the practical applicability was conrmed in a rst series of closed-loop experi-
+
ments [DUF 01]; however, the observed closed-loop performance suered from oscillations
that were due to time delays in the real plant, that have not been captured by the 164th
order distillation model. We therefore improved the model by including hydrodynamic
eects that have been responsible for the time delays, resulting in a considerably stier
and larger system model. We will in this chapter present new numerical and experimental
results that have been obtained with this improved system model. Parts of the presenta-
+
tion, especially of the experimental setup, follow the lines of a previous paper [DUF 01],
from which originate also the Figures 7.1, 7.8, and 7.9.

7.1 The Distillation Column


The distillation column is used for the separation of a binary mixture of Methanol and
n-Propanol. It has a diameter of 0.10 m and a height of 7 m and consists of 40 bubble
cap trays. The overhead vapor is totally condensed in a water cooled condenser which
is open to atmosphere. The reboiler is heated electrically. A owsheet of the distillation
system is shown in Fig. 7.1. The preheated feed stream enters the column at the feed
tray as saturated liquid. It can be switched automatically between two feed tanks in
order to introduce well dened disturbances in the feed concentration. In the considered

113
114 Control of a Distillation Column

DCS PC Workstation

40
Dvol
L vol
28

F vol ; xF 21

14

Tank 1 Tank 2 1

B vol

Figure 7.1: Flowsheet of the distillation column

conguration, the process inputs that are available for control purposes are the heat input
to the reboiler, Q, and the reux ow rate Lvol . Control aim is to maintain high purity
specications for the distillate and bottom product streams Dvol and Bvol .
The column is controlled by a distributed control system (DCS), that is used for the
lower level control and data acquisition. Basic control loops for the levels, the ow rates,
and the heat input are realized on the DCS system. To implement more advanced con-
trol schemes the DCS is connected to a PC from and to which direct access from UNIX
workstations is possible.

7.1.1 The DAE Model


We will refer to the N = 40 trays by C = 1, 2, . . . , N , counting from the bottom to the top,
with C = NF = 20 being the feed tray. For notational convenience, let us refer with C=0
7.1 The Distillation Column 115

 






















Condenser
D
 
 VN LN +1
















VN −1 LN 
·
·
·
 V NF LNF +1
F 















VNF −1 LNF
· 
·
·
V1 L2














 
V0 L1 



















B
Reboiler

 

Figure 7.2: Molar ows in the distillation column.

to the reboiler and to the condenser by C = N + 1. The corresponding temperatures are


denoted by T0 , . . . , TN +1 .
As we treat a binary distillation we have only two components, Methanol and n-
Propanol. Let us denote the liquid Methanol concentrations of reboiler, trays and condenser
by X1 for C = 0, 1, 2, . . . , N + 1. The concentration Xn−Prop.,1 of n-Propanol is determined
by the closing condition, so that we will substitute Xn−Prop.,1 := 1 − X1,1 directly.
The molar vapor and liquid uxes out of each tray are denoted by V1 and L1 for
C = 1, 2, . . . , N . The molar vapor ux out of the reboiler is denoted by V0 and the liquid
bottom product stream by B. Similarly, LN +1 denotes the molar liquid reux out of the
condenser into the top tray while D denotes the distillate stream out of the condenser.
The molar feed stream entering at tray C = NF is denoted by F; it is assumed to be liquid.
All molar ows in the distillation column are depicted in Fig. 7.2.

The molar concentrations of the liquid uxes are equal to the tray concentrations X1 ,
whereas the vapor uxes' molar concentrations are denoted by Y1 for C = 0, 1, . . . , N .
116 Control of a Distillation Column

We assume that the pressures P1 of reboiler, trays and condenser are constant, as well
v v
as the volume holdups n0 and nN +1 of reboiler and condenser. The liquid volume holdups
nv1 of the trays may vary. All volume holdups are related to the molar holdups n1 by
nv1 = V m (X1 , T1 ) n1 for C = 0, . . . , N + 1,
The molar volumes V m (X1 , T1 ) of the liquid mixture are specied in Appendix B.
To determine the (constant) pressures we assume that the condenser pressure is xed
to the outside pressure, i.e., PN +1 = Ptop whereas the pressures P1 on the trays and the
reboiler are calculated under the assumption of constant pressure drop from tray to tray,
i.e.,

P1 = P1+1 + ∆P1 C = N, N − 1, . . . , 2, 1, 0.
The tray temperatures T1 are implicitly dened by the assumption that the sum of the
partial pressures equals the total pressure on each tray, i.e.,

P1 − P1s (T1 )X1 − P2s (T1 )(1 − X1 ) = 0, C = 0, 1, . . . , N + 1, (7.1)

where the partial pressures Pks (T1 ) are computed according to the Antoine Equation, as
specied in Appendix B.
The derivative of the temperature with respect to time, Ṫ1 , is given by the implicit
function theorem:

(P s (T1 ) − P2s (T1 ))Ẋ1


Ṫ1 = − ∂P s1 ∂P s
.
1
∂T
X1 + ∂T2 (1 − X1 )

To account for non-ideality of the trays and other unmodelled eects we have introduced
the tray eciencies α1 for C = 1, 2, . . . , N to calculate the composition Y1 of the vapor ow
out of tray C as a linear combination of the ideal vapor composition on the tray and the
incoming vapor composition from the tray below, i.e.,

P1s (T1 )
Y 1 = α1 X1 + (1 − α1 ) Y1−1 , C = 1, . . . , N,
P1
P1s (T0 )
starting with
P0
Y0 = X0 . The concentration of the liquid outow D at the top of the
column is equal to the condenser concentration XN +1 .

Mass balances: The dierential equations that determine the change of the molar
holdups n1 of the trays are given by the mass conservation for C = 1, 2, . . . , NF − 1, NF +
1, . . . , N
ṅ1 = V1−1 − V1 + L1+1 − L1 , (7.2)

and for C = NF by

ṅNF = VNF −1 − VNF + LNF +1 − LNF + F, (7.3)


7.1 The Distillation Column 117

where F is the molar inow on the feed tray, that can be determined from the volume feed
ow Fvol , the Methanol concentration XF in the feed and its temperature TF via

Fvol = V m (XF , TF )F.

Mass conservation in reboiler and condenser are given by

ṅ0 = −V0 + L1 − B, (7.4)

and

ṅN +1 = VN − D − LN +1 . (7.5)

The assumption that reboiler and condenser volume nv0 and nvN +1 are xed leads to two
further equations for C = 0, N + 1

∂V m
0= ṅv1 m
= V (X1 , T1 )ṅ1 + (Ẋ1 , Ṫ1 )T n1 , (7.6)
∂(X, T )

that allow to eliminate ṅ0 and ṅN +1 . Therefore, n0 and nN +1 are chosen to be no dierential
variables.
The liquid reux stream Lvol from the condenser is controlled and allows to determine
LN +1 via

Lvol = V m (XN+1 , TC )LN +1 ,

where TC is the temperature of the condensate.


The componentwise mass conservation in the reboiler requires

Ẋ0 n0 + X0 ṅ0 = −V0 Y0 + L1 X1 − BX0 , (7.7)

on the trays C = 1, 2, . . . , NF − 1, NF + 1, . . . , N ,

Ẋ1 n1 + X1 ṅ1 = V1−1 Y1−1 − V1 Y1 + L1+1 X1+1 − L1 X1 , (7.8)

on the feed tray

ẊNF nNF + XNF ṅNF = VNF −1 YNF −1 − VNF YNF


(7.9)
+LNF +1 XNF +1 − LNF XNF + F XF ,

and in the condenser

ẊN +1 nN +1 + XN +1 ṅN +1 = VN YN − DXN +1 − LN +1 XN +1 . (7.10)


118 Control of a Distillation Column

Enthalpy balances: With the liquid and vapor stream enthalpies abbreviated as h1 :=
L

hL (X1 , T1 ) and hV1 := hV (Y1 , T1 , P1 ) for C = 0, . . . , N (see Appendix B), we can formulate
the enthalpy balance in the reboiler that allows to determine the vapor stream V0 :
 
∂hL0 ∂hL
ṅ0 hL0 + n0 Ẋ0 + 0 Ṫ0 = Q − Qloss − V0 hV0 + L1 hL1 − BhL0 . (7.11)
∂X0 ∂T0
Here Q is the applied heat input, and with Qloss we account for possible heat losses in the
reboiler. The enthalpy balances for the trays C = 1, 2, . . . , NF − 1, NF + 1, . . . , N − 1 are

∂hL ∂hL
ṅ1 hL1 + n1 

∂X 1
+ 

∂T 1
= V1−1 hV1−1 − V1 hV1 + L1+1 hL1+1
(7.12)
−L1 hL1 ,

and for the feed tray


 
∂hL
N ∂hL
N
ṅNF hLNF + nNF F
∂XNF
ẊNF + F
∂TNF
ṪNF
(7.13)
= VNF −1 hVNF −1 − VNF hVNF + LNF +1 hLNF +1 − LNF hLNF
+F hL (XF , TF , PF ).

As the liquid reux LN +1 of the condensate is at a temperature TC , the enthalpy balance


on tray N reads
L
∂h ∂hL
ṅN hLN + nN ∂XNN ẊN + ∂TNN ṪN
(7.14)
= VN −1 hVN −1 − VN hVN + LN +1 hL (XN +1 , TC , PN +1 ) − LN hLN .

Hydrodynamics: To determine the liquid outow L1 of each tray, we use a heuristic


scheme that is based on the so called Francis weir formula. It requires only two parameters
ref
per tray, one is a reference volume n1 , the second is denoted by W1 . The formula postulates
that

3
L1 V m (X1 , T1 ) = W1 (nv1 − nref
1 ) , C = 1, . . . , N,
2 (7.15)

and can be derived by an analysis of the gravity ow over a horizontal weir with vertical
walls, that is given in Appendix B.

Summarizing the DAE


We can subsume all system states in two vectors x and z which denote the dierential and
the algebraic state vectors, respectively.
The (molar) Methanol concentrations in reboiler, on the 40 trays, and in the condenser
X1 C = 0, 1, . . . , N + 1 are the rst 42 components of the dierential state vector x, and
for
the molar tray holdups n1 for C = 1, . . . , N are the second 40 components.
The liquid and vapor (molar) uxes L1 and V1 (C = 1, 2, . . . , N ) out of the
40 trays as well as the 42 temperatures T1 (C = 0, 1, 2, . . . , N + 1) of reboiler,
7.2 Determination of the System Parameters 119

trays and condenser form the 122 components of the algebraic state vector z =
(L1 , . . . , LN , V1 , . . . , VN , T0 , . . . , TN +1 )T .1 Note that many algebraic variables that can
L s
easily be eliminated (as e.g. h1 , Pk (T1 ), V0 , etc.) do not count as algebraic variables in
this formulation.

The two components of the control vector u = (Lvol , Q)T are the volumetric reux ow
Lvol , and the heat input Q,
that determines implicitly the molar vapor ux V0 out of the
v v ref
reboiler. All remaining system parameters, i.e., n0 , Ptop , nN +1 , ∆P0,... ,N , n1,... ,N , α1,... ,N ,
Fvol , XF , W1,... ,N , TF , Qloss , and TC , can be subsumed in a vector p.
The equations (7.7)(7.10) and (7.2)(7.3) are the 82 dierential equations f, and
(7.15), (7.12)(7.14), and (7.1) form the 122 algebraic equations g of the system.

After substituting ṅ1 in Eqs. (7.7)(7.10) and dividing these equations by n1 , we can
summarize the DAE system, which has index one, in the following form:

ẋ(t) = f (x(t), z(t), u(t), p) (7.16)

0 = g(x(t), z(t), u(t), p). (7.17)

The employed values for the parameters p


have been estimated and are listed in Table 7.1
m s
in Section 7.2. A complete reference to the material property functions V (x, T ), Pk (T ),
L V
h (X, T ), and h (Y, T, P ) is given in Appendix B.

7.2 Determination of the System Parameters


In the actual application, the performance of NMPC crucially depends on the quality of
the model. Considering this fact, steady state and open-loop dynamic experiments have
been performed. To obtain measurements of the dynamic behaviour of the column step
changes in the feed rate Fvol and composition XF , the reux rate Lvol , and heat input Q
were performed. Measurements of all 42 temperatures T0 , . . . , TN +1 were taken to obtain
a least squares t of the simulated to the observed behaviour. The additional assumptions
for this t are that the tray eciencies are constant on each of the two column sections,
i.e.,α1 = . . . = αNF and αNF +1 = . . . = αN , that the pressure losses are constant on both
sections: ∆P0 = . . . = ∆PNF −1 and ∆PNF = . . . = ∆PN , and that the volumetric reference
ref ref
tray holdups coincide: n1 = . . . = nN . Reboiler and condenser holdup are dicult to
determine from temperature measurements, as they both contain very pure liquids during
reasonable operating conditions and which have constant boiling temperatures. Conversely,
these two volumes do not matter much for the NMPC performance. They were determined
according to user knowlegde.

1 The equilibrium temperature of the condenser mixture may help to dene the temperature of the
reux by TC := TN +1 when TC is not specied. Otherwise, this last algebraic variable could be eliminated
without changing the dynamics.
120 Control of a Distillation Column

Symbol Value Symbol Value


nv0 8.5 l Ptop 939 h Pa
nvN +1 0.17 l ∆Pstrip 2.5 h Pa
nref
tray 0.155 l ∆Prect 1.9 h Pa

αstrip 62 % TF 71 C

αrect 35 % TC 47.2 C
− 21 −1 −1
Wtray 0.166 l s Fvol 14.0 l h
Qloss 0.51 kW XF 0.32

Table 7.1: Constant system parameters

The 10 parameters that could be adjusted to dynamic experimental data were:

αstrip := α1,... ,NF ,


αrect := αNF +1,... ,N ,
Ptop ,
∆Pstrip := ∆P0,... ,NF −1 ,
∆Prect := ∆PNF ,... ,N ,
(7.18)
Qloss ,
TF ,
TC
nref ref
tray := n1,... ,N , and
Wtray := W1,... ,N .
During the test series, these parameters have been adjusted several times using static and
dynamic experiments, exploiting both, engineering intuition and advanced software tools.
The nally estimated system parameters are listed in Table 7.1.

7.2.1 Static System Parameters


The estimation of the rst eight of the parameters (7.18), that we call the static system
parameters, can in principle be performed using steady state data only. Denoting the
measured steady state temperature averages of a steady state experiment by the vector
T m := (T0m , . . . , TNm+1 )T and the averaged steady state controls by um := (Lm m T
vol , Q ) , and
introducing the projection matrix T that extracts the temperatures from the algebraic
T
system state, so that T z = (T0 , . . . , TN +1 ) , we can formulate the following least squares
problem:

min T zS − T m 2Q (7.19)


xS ,zS ,p

subject to

f (xS , zS , um , p) = 0,
g(xS , zS , um , p) = 0,
7.2 Determination of the System Parameters 121

40

35

30
tray number

25

20

15

10

0
60 70 80 90 100
o
temperature [ C]

Figure 7.3: Comparison of temperature measurements and estimated steady state temper-
ature prole (solid line).

where the constraints ensure that only steady states are allowed. The positive denite
weighting matrix Q would ideally be the inverse of the covariance matrix of the tempera-
ture measurements, that can be expected to be diagonal with equal entries. For the NMPC
performance tests, however, we have explicitly given more weight to the controlled tem-
peratures, T28 and T14 , by a factor of ten, to avoid steady state oset due to model-plant
mismatch.

7.2.2 Dynamic System Parameters


The last two parameters from the set (7.18), nref
tray and Wtray , can only be estimated by
dynamic experiments. They have been determined by the solution of a nonlinear least
squares t of the dynamic model to the measurement data. Let us for this aim dene
m
the time dependent temperature measurement function T (t) and the measured control
m
trajectory u (t), on a horizon [0, T ]. Then the estimation problem can be formulated as:

 T
min T z(t) − T m (t)2Q dt (7.20)
x(·),z(·),p 0
122 Control of a Distillation Column

71
T28 [ C] 70
o

69
68
0 1000 2000 3000 4000 5000
89
[oC]

88
14

87
T

86
0 1000 2000 3000 4000 5000
5
Lvol [l/h]

4.5

4
0 1000 2000 3000 4000 5000
3
Q [kW]

2.5

2
0 1000 2000 3000 4000 5000
time [s]

Figure 7.4: Comparison of measured (noisy) and simulated trajectories (smooth) of the
temperatures T28 and T14 , for a small step change in the reux Lvol .

subject to

ẋ(t) − f (x(t), z(t), um (t), p) = 0, t ∈ [0, T ],


g(x(t), z(t), um (t), p) = 0, t ∈ [0, T ].

If the dynamic experiment starts in steady state, we add the steady state constraint

f (x(0), z(0), um (0), p) = 0,


g(x(0), z(0), um(0), p) = 0.

Though specically tailored parameter estimation algorithms based on the multiple


shooting method exist for the solution of this type of problem (see, e.g., Bock et
al. [Boc87, BES88]), we have solved the least squares problems with our current implemen-
tation of the Gauss-Newton approach in the software package MUSCOD-II, as described
in Sec. 6.4 (with a piecewise polynomial representation of the temperature measurement
data). This approach has the practical advantage of being able to perform both, parameter
estimation and dynamic optimization, in the same modelling environment, and thus re-
ref
duces the risk of transcription errors. The nally employed parameter values for ntray and
Wtray have been determined by Bürner in a MUSCOD-II/MATLAB environment [Bür01].
7.3 Optimal Control Problem Formulation 123

74 8
6
[ C]

[l/h]
72
o

vol
28

70
T

L
2
68 0
0 500 1000 1500 2000 2500 0 500 1000 1500 2000 2500
92 3

90
[ C]

Q [kW]
o

2.5
88
14
T

86
2
0 500 1000 1500 2000 2500 0 500 1000 1500 2000 2500
time [s] time [s]

Figure 7.5: Comparison of measured (noisy) and simulated trajectories (smooth), for an
a posteriori test with a control scenario which involves large but short reux variations
(right). The dotted lines show for comparison a simulation with an equilibrium model,
which does not capture hydrodynamic eects.

In Fig. 7.4, simulated and measured proles for the temperatures T28 and T14 are shown,
for an experiment involving a step change in the reux Lvol , and starting at the nominal
operating conditions. The compared temperature proles show that the medium time scale
dynamics are captured well by the model.
An a posteriori test of the model can be seen on the right hand side of Fig. 7.5, where a
simulation was performed using the same control proles as in a closed-loop experiment (cf.
Fig. 7.14), with very large steps in Lvol . The time horizon is shorter and the comparison
shows that the model does roughly capture short time scale eects that are due to hydro-
dynamics, in contrast to an equilibrium model, that cannot reproduce the corresponding
+
delays (dotted line) (cf. [DUF 01]).

7.3 Optimal Control Problem Formulation


The control aim is to maintain the specications on the product purities X0 and XN +1 in
reboiler and condenser despite disturbances.
As usual in distillation control, the concentrations X0 and XN +1 are not controlled
directly  instead, an inferential control scheme which controls the deviation of the con-
centrations on tray 14 and 28 from a given setpoint is used. These two concentrations are
much more sensitive to changes in the inputs of the system than the product concentra-
tions; if they are kept constant, the product purities are safely maintained for a large range
of process conditions. As concentrations are dicult to measure, we consider instead the
124 Control of a Distillation Column

tray temperatures , which correspond directly to the concentrations via the Antoine equa-
T
tion. In the following we will use the projection T̃ z := (T28 , T14 ) to extract the controlled
ref ref
T
temperatures from the vector z , and dene T̃ref := T28 , T14 = ( 70 ◦ C, 88 ◦ C )T for
the desired setpoints.

7.3.1 Steady State Determination


Alternative A (Algebraic Constraints): A desired steady state xS , zS , and the corre-
sponding control uS could in principle be determined, for given parameters p, as a solution
of the steady state equation

f (xS , zS , uS , p) = 0,
g(xS , zS , uS , p) = 0,
T̃ zS − T̃ref = 0.

Here the last equation restricts the steady state to satisfy the inferential control aim of
keeping the temperatures at the xed reference values. The necessary degrees of freedom
are provided by the two components of the steady state controls uS . This approach was
+ +
used in the rst series of numerical and experimental tests [DBS 01, DUF 01].

Alternative B (End Point Constraint): In the practical computations in this thesis,


however, we have adopted an alternative approach to determine the desired steady state: to
this end note that the steady state xS , zS for given p and uS could equally be determined by
an integration of the model DAE over a suciently long time horizon with constant controls
uS , yielding xS , zS as nal values, which are practically independent of the initial values.
The requirement that the steady state should satisfy T̃ zS = T̃ref can then be formulated
as a nal state constraint that implicitly determines uS . We employ this second approach
to determine uS by using an additional long prediction interval at the end of the control
horizon in the problem formulation. Note that the use of this approach does not cause
additional numerical eort if a prediction horizon is employed anyway; on the contrary,
this formulation avoids introducing additional variables xS , zS into the NLP.

7.3.2 The Optimal Control Problem


Objective Function: The open-loop objective is formulated as the integral of a least
squares term

L(z, u, uS ) := T̃ z − T̃ref 22 + R(u − uS )22 , (7.21)

where the second term is introduced for regularization, with a small diagonal weighting
matrix
 
0.05 ◦ C h l−1 0
R= .
0 0.05 C kW−1

7.3 Optimal Control Problem Formulation 125

Prediction Interval: To ensure nominal stability of the closed-loop system, an addi-


tional prediction interval [t0 + Tc , t0 + Tp ] is appended to the control horizon [t0 , t0 + Tc ],
with the controls xed to the setpoint values uS . The objective contribution of this interval
provides an upper bound of the neglected future costs that are due after the end of the
control horizon, if its length is suciently large (cf. Sec. 1.4.1). A length of Tp −Tc = 36000
seconds has been considered to be sucient in all performed experiments. Note that the
optimized system state x(t0 + Tc ) at the start of this interval (i.e., at the end of the control
horizon) is in practice already very close to the desired steady state value xS .

Problem Formulation
The resulting optimal control problem is formulated as follows:

 t0 +Tp  2 
 
min T̃ z(t) − T̃ref  + R(u(t) − uS )22 dt (7.22)
u(·),x(·),p,uS t0 2

subject to the model DAE

ẋ(t) = f (x(t), z(t), u(t), p)


for t ∈ [t0 , t0 + Tp ].
0 = g(x(t), z(t), u(t), p)

Initial values for the dierential states and values for the system parameters are prescribed:

x(t0 ) = x0 ,
p = p0 .

State and control inequality constraints are formulated by

h(x(t), z(t), u(t), p) ≥ 0 t ∈ [t0 , t0 + Tp ],

where h := (D, B)T is the function calculating the uxes D and B out of condenser and
reboiler according to the model equations which cannot become negative. This implicitly
provides upper limits to the controls.
The steady state control uS is determined implicitly by the requirements that u is
constant on the long prediction interval

u(t) = uS for t ∈ [t0 + Tc , t0 + Tp ],

and by the nal state constraint

T̃ z(t0 + Tp ) − T̃ref = 0.
126 Control of a Distillation Column

74 74
T28 [ C]

[oC]
72 72
o

28
70 70

T
68 68
0 500 1000 1500 2000 0 500 1000 1500 2000
T14 [ C]

[oC]
90 90
o

14
T
85 85
0 500 1000 1500 2000 0 500 1000 1500 2000
Lvol [l/h]

Lvol [l/h]
5 5

0 0
0 500 1000 1500 2000 0 500 1000 1500 2000
3 3
Q [kW]

Q [kW]

2.5 2.5

2 2
0 500 1000 1500 2000 0 500 1000 1500 2000
time [s] time [s]

Figure 7.6: Numerical simulation of a closed-loop response after a reux breakdown of ve
minutes and snapshot of a predicted trajectory (dotted). The right hand side shows the
rst 2100 seconds of the predicted trajectory, for the solution of the optimization problem
at time t=400 seconds. The remaining 34500 seconds of the prediction horizon are not
shown.

7.3.3 Numerical Realization


The length Tc of the control horizon and the control discretization have to be chosen such
that the computation time for one real-time iteration does not exceed the relevant time
scale of the system or of the disturbances. Based on numerical experiments on the available
computer (AMD Athlon processor with 1009 MHz) and on the requirement that one real-
time iteration should not exceed 20 seconds, we found that Tc =600 seconds with 5 control
intervals each of 120 seconds length is a good choice. For a visualization of the control
horizon, see the right hand side of Fig. 7.6, which shows an example solution prole.

As the control interval length is 6 times longer than the desired sampling time, the
initialization strategy for subsequent real-time iterations was chosen to be the warm start
strategy (cf. Sec. 4.4.2). For the Hessian approximation we have chosen the Gauss-Newton
approach for least squares integrals that is described in Sec. 6.4.
7.4 Experimental Setup 127

Full Real−Time Iteration Feedback Phase


30 100

CPU [ms]
CPU [s]

20
50
10
0 0
0 500 1000 1500 2000 0 500 1000 1500 2000
time [s] time [s]

Figure 7.7: CPU times for the full real-time iteration cycles and time that is needed in the
feedback phase, for the numerical experiment in Fig. 7.6.

As a rst numerical test of the closed-loop algorithm we consider the following scenario:
starting at the nominal operating conditions, a reux breakdown happens and leaves the
−1
control inputs xed to Lvol =0.5 l h and Q=2.5 kW for a duration of ve minutes. After
these ve minutes the plant can again be controlled by the NMPC scheme. The optimizer
works all the time, even if the feedback is not given to the simulated plant. The closed-loop
behaviour is shown in Fig. 7.6.
The necessary CPU times for each real-time iteration, as well as the recorded response
times are shown in Fig. 7.7. Note that the response times are roughly two orders of
magnitude smaller than the CPU time for one iteration.

7.4 Experimental Setup


As said above, we have tested the described NMPC scheme on the pilot plant distillation
column for various scenarios. For comparison, we also performed closed-loop experiments
with a conventional controller, namely a Proportional Integral (PI) control scheme. We
describe in this section how the two schemes were practically set up.

7.4.1 NMPC Controller Setup


On-Line State Estimation
To obtain an estimate of the 82 dierential system states and of the model parameter XF
by measurements of the three temperatures T14 , T21 and T28 only, we have implemented a
variant of an Extended Kalman Filter (EKF).
In contrast to an ordinary EKF our estimator can incorporate additional knowledge
about the possible range of states and parameters in form of bounds. This is especially
useful as the tray concentrations need to be constrained to be in the interval [0, 1] from
physical reasoning. The algorithm is described in Appendix A. A comparison of esti-
128 Control of a Distillation Column
XF , Fvol

ref ref
T14 , T28 Q, Lvol T14 , T28
NMPC column 11
00
Fvol , T21 , Q, Lvol

EKF
x0 , XF , Fvol

Figure 7.8: Closed-loop NMPC setup

mated and measured temperature proles can be found in Fig. 7.15  note that only the
temperatures T14 , T21 and T28 are available to the state estimator.

The described EKF type algorithm is currently extended by Bürner to a moving horizon
estimator [Bür01]. This new algorithm  so far with a horizon length of 10 seconds only 
was already employed for one of the closed-loop experiments, which involved a step change
in XF (cf. Fig. 7.12). The performance in the estimation of XF can be seen in Fig. 7.13.
The large estimation oset is due to model-plant mismatch.

Coupling with the Process Control System


As mentioned above, the distillation column is controlled by a lower level distributed control
system (DCS), which is connected to a PC (cf. Fig. 7.1). Access to this PC from UNIX
workstations is possible via ftp, so that all higher level algorithms, in particular the state
estimator and the real-time iteration scheme, could be implemented on a powerful LINUX
workstation with an AMD Athlon processor (1009 MHz). With the given equipment it was
only possible to obtain measurements and to write the computed control inputs to the DCS
every 10 seconds, i.e., a sampling time of 10 seconds was used for the state estimator. The
real-time iteration scheme was implemented in a self-synchronizing way (cf. Sec. 4.4.2),
which made it robust against CPU load changes due to other users; its adaptive sampling
time did in practice never exceed 20 seconds (cf. Fig. 7.16).

The three processes  data acquisition, state estimation and real-time optimization 
were running independently and communicating only via input and output les, in such
a way that a breakdown of one component did not cause an immediate breakdown of the
others. Missing new inputs were simply replaced by old values. This construction made the
whole system suciently stable against unexplained delays in the data transfer between
the UNIX workstation and the PC. Figure 7.8 shows the overall controller/plant/estimator
setup.
7.5 Experimental Results 129

ref
T28 XF , F
− PI T28
Lvol
column T14
ref
T14

PI Q

Figure 7.9: Closed-loop PI setup

7.4.2 PI Controller Setup


To be able to assess the performance of the proposed NMPC scheme, we also carried out
experiments with an existing PI controller that is usually employed for the control of the
column. This conventional control scheme consists of two decoupled single-input/single-
output PI loops, one of which uses the heat input Q to control the temperature T14 , the
other using the reux Lvol to control the temperature T28 .
The controlled variables are, as in the NMPC case, the temperatures T14 and T28 . The
manipulated variables are the heat input Q to the boiler (corresponding to the liquid ow
V0 out of the boiler) and the reux ow Lvol . The PI setup is shown in Fig. 7.9.

7.5 Experimental Results


We have tested the NMPC scheme and the PI control scheme on various scenarios. As
scenarios we used step changes in the feed ow rate (Fvol ); a step change in the feed
composition (XF ); a short reux breakdown of ve minutes (Lvol ); and a large disturbance
scenario where the column was driven with too much heat input and too low reux ow
for over ten minutes.

7.5.1 Feed Flow Change


Figure 7.10 shows the controlled outputs (T28 and T14 ) and input responses (Lvol and Q)
where the feed ow rate Fvol is changed by −10 % at time t = 1000 seconds. The plots on
the left hand side show the results of the NMPC scheme and those on the right hand side
belong to the PI controller. It can be seen that the performance of the NMPC scheme is
better than that of the PI controller, both with respect to the size of the oscillation, mainly
in T28 , and with respect to the attenuation time: 1000 seconds after the feedow change
the system is more or less in the new steady state, whereas the PI closed-loop system is
still oscillating 3000 seconds after the load change. In Fig. 7.11 we show a second step
change in Fvol . Starting from the steady state for a feedow that is reduced by −10 %
from its nominal value, we increase it at time t = 1000 sec. by 20 %, to + 10 % of the
130 Control of a Distillation Column

NMPC PI
70.4 70.4
70.2 70.2
T28 [oC]

T28 [ C]
o
70 70
69.8 69.8
69.6 69.6
0 1000 2000 3000 4000 0 1000 2000 3000 4000
90 90
[oC]

T14 [ C]
o
88 88
14
T

86 86
0 1000 2000 3000 4000 0 1000 2000 3000 4000
5 5
Lvol [l/h]

Lvol [l/h]
4 4

3 3
0 1000 2000 3000 4000 0 1000 2000 3000 4000

2.6 2.6
Q [kW]

Q [kW]

2.4 2.4
2.2 2.2
2 2
0 1000 2000 3000 4000 0 1000 2000 3000 4000
time [s] time [s]

Figure 7.10: Feed ow change: Comparison of real-time iteration NMPC with a conven-
tional PI controller, for a step reduction of 10 % in the feed ow Fvol .

nominal value. Again, the NMPC performance is considerably better, having completed
the transition 1000 seconds after the feed ow change, and with a maximum deviation

in T28 of 0.3 C. This is in sharp contrast to the PI performance, which has a maximum

deviation of 0.8 C, and which did not even complete the transition to the new steady state
3500 seconds after the step change.

7.5.2 Feed Concentration Change


For the next test, a step change in the feed composition is considered; XF is decreased from
0.320 to 0.272 at t=1000 sec. In Fig. 7.12, the NMPC closed-loop response is compared to
that of the PI controller; here the NMPC controller shows no superior performance to the
PI. The steady state oset can be explained by the fact that the NMPC controller does
not have an integral term (as the PI controller), that is able to remove steady state oset
7.5 Experimental Results 131

NMPC PI
71 71
T28 [oC]

T28 [ C]
70.5 70.5

o
70 70

0 1000 2000 3000 4000 0 1000 2000 3000 4000


90 90
[oC]

T14 [ C]
o
88 88
14
T

86 86
0 1000 2000 3000 4000 0 1000 2000 3000 4000
6 6
Lvol [l/h]

Lvol [l/h]
5 5

4 4

3 3
0 1000 2000 3000 4000 0 1000 2000 3000 4000
3 3
Q [kW]

Q [kW]

2.5 2.5

2 2
0 1000 2000 3000 4000 0 1000 2000 3000 4000
time [s] time [s]

Figure 7.11: Feed ow change: Comparison of real-time iteration NMPC with a conven-
tional PI controller, for a feed ow step change by 20 % (from -10% to +10 % of the
nominal value).

in the presence of model-plant mismatch, which has been increased due to the change in
XF . Note that the NMPC performance depends crucially on the quality of the on-line
state and parameter estimates, as the jump in XF has to be detected correctly to yield an
appropriate response. For a comparison of estimated and real values of XF , see Fig. 7.13. It
can be seen that it took roughly 600 seconds to detect the composition change completely.

7.5.3 Short Reux Breakdown


In the previous two cases the disturbing eects of load changes (in the feed ow and
composition) on the controlled temperatures T28 and T14 are relatively small. In order to
have a larger disturbance eect we simulated a short reux ow breakdown, i.e., we xed
132 Control of a Distillation Column

NMPC PI
70.5 70.5
T28 [oC]

T28 [ C]
o
70 70

69.5 69.5
0 1000 2000 3000 4000 5000 0 1000 2000 3000 4000 5000
90 90
[oC]

T14 [ C]
o
88 88
14
T

86 86
0 1000 2000 3000 4000 5000 0 1000 2000 3000 4000 5000
6 6
Lvol [l/h]

Lvol [l/h]
5 5

4 4

3 3
0 1000 2000 3000 4000 5000 0 1000 2000 3000 4000 5000
3 3
Q [kW]

Q [kW]

2.5 2.5

2 2
0 1000 2000 3000 4000 5000 0 1000 2000 3000 4000 5000
time [s] time [s]

Figure 7.12: Feed concentration change: Comparison of real-time iteration NMPC with a
conventional PI controller, for a feed concentration change from XF = 0.32 to XF = 0.275.

the inputs for ve minutes, setting the reux to a very small value of Lvol = 0.5 l/h. At
time t = 1000 sec., the reux breakdown is assumed to be over, so that feedback can again
be applied to the column. The closed-loop responses of NMPC and PI controllers are
+
shown in Fig. 7.14 (this result can also be found in [DUF 01]). Note that both controllers
start with the same system state at t = 1000 sec.; the PI performance is worse than the
◦ ◦
NMPC scheme, as T28 is increasing up to 72 C, whereas it only increases to 71.3 C for
the NMPC scheme, and the disturbance eects last until 3000 sec. after the disturbance,
compared to less than 2000 sec. for NMPC.

Valve Saturation: The micro reux breakdown that happens for both scenarios in the
feedback phase is due to valve saturation , i.e., due to the fact that the lling level of the
reux drum was shortly becoming too low because more reux L was desired than the
amount of vapor ow VN entering the condenser (cf. Fig. 7.2). This causes an automatic
7.5 Experimental Results 133

0.3

XF [−]
0.25

0.2
0 1000 2000 3000 4000
time [s]

Figure 7.13: On-line estimate of XF (solid), compared to the real value (dashed), in the
scenario of Fig. 7.12.

stop of the reux pump. In the NMPC scheme, this phenomenon should have been avoided
by the constraint D ≥ 0, i.e., the requirement that the distillate outow remains non-
negative (note that in the model the condenser hold up is assumed constant). However,
due to model-plant mismatch, the constraint was violated in the real-plant even though it
was satised in the model prediction. To account for the uncertainty, we have sharpened
−5 kmol
the constraint to D ≥ 0.2 · 10 in the following experiments, to provide a security
sec
margin of 10 % of the nominal value of D . For the PI controllers, there is no easy way
to circumvent valve saturation in the presence of large disturbances; therefore we did not
perform the large disturbance scenario with the PI controllers.

7.5.4 Large Disturbance Scenario


To have even larger disturbance eects, we consider the following scenario: starting with a
steady state for an increased feed ow rate (by 20 %), we reduce at timet = 700 seconds
l
simultaneously the feedow (back to its nominal value) and the reux, from Lvol = 5.3
h
l
down to Lvol = 2 , while maintaining the heating power constant at its (high) value
h
Q = 2.9 kW. These inputs, that are maintained constant for 800 seconds, heat the column
up and move the temperature prole far away from the nominal operationg conditions, as
can be seen in the right hand side of Fig. 7.15, where the distorted temperature prole at
time t = 1500 is shown. Only at this time the NMPC feedback is switched on. The closed-
loop response can be seen on the left hand side in Fig. 7.15. While Q jumps immediately
down to its minimum value of 1.5kW, Lvol is not increased to its maximum value, as would
from rst sight be the best thing to cool the column. However, this would have resulted in
−5 kmol
valve saturation, as discussed above; it was the constraint D ≥ 0.2 · 10 that caused
sec
this interesting feature of the closed-loop behaviour.

7.5.5 Brief Discussion


We have seen that the proposed real-time iteration NMPC control scheme is not only fea-
sible for a practical large scale application, but that it results in a good performance when
134 Control of a Distillation Column

NMPC PI
72 72
T28 [oC]

T28 [oC]
71 71

70 70

0 2000 4000 6000 0 2000 4000 6000


92 92

90 90
T14 [oC]

T14 [oC]
88 88

86 86
0 2000 4000 6000 0 2000 4000 6000
8 8
6 6
[l/h]

Lvol [l/h]
4 4
vol
L

2 2
0 0
0 2000 4000 6000 0 2000 4000 6000
3 3
Q [kW]

Q [kW]

2.5 2.5

2 2
0 2000 4000 6000 0 2000 4000 6000
time [s] time [s]

Figure 7.14: Reux breakdown: Comparison of real-time iteration NMPC with a con-
ventional PI controller, after a reux breakdown of 5 minutes. At time t=1000 s both
closed-loop scenarios start at the same state.

no estimation diculties exist. The poorest performance occurred in the feed composition
change scenario, where the state estimator was not able to track the system parameter
XF instantly. On the other hand, the NMPC scheme shows good performance when con-
straints play a role, which are dicult to handle with a PI control scheme. Especially
the closed-loop response of the large disturbance scenario shows interesting features and
deserves further analysis. We will have a closer look at the observed real-time performance,
and we will also compare the experimentally observed trajectory with computations that
have been performed a posteriori.

Observed Computation Times: Let us rst have a look on the computation times
under experimental conditions. We measure not only the overall time for each real-time
iteration, but also the response time, i.e., the time between the moment that the current
7.5 Experimental Results 135

NMPC Profile
74
40
[oC]

72
28
T

35
70

0 1000 2000 3000 4000 5000


94 30
92
[oC]

90
14

88 25
T

tray number
86
0 1000 2000 3000 4000 5000
20
8
6
Lvol [l/h]

4 15
2
0
0 1000 2000 3000 4000 5000 10
4

3
Q [kW]

1 0
0 1000 2000 3000 4000 5000 60 70 80 90 100
time [s] temperature [oC]

Figure 7.15: Large disturbance scenario. Left: Closed-loop response. Feedback starts only
at time t = 1500 seconds. The temperature prole at this time is shown on the right hand
side (+), together with the estimated prole (solid) and compared to the nominal prole
(dots/dashed).

observed state x0 is given to the optimizer, and the moment that the control response is
available for the data transfer to the column. Both time measurements were done externally
(from a MATLAB environment), i.e., they are not CPU times in the strict sense, but the
overall times that the computations required under the given CPU load conditions. The
observed times can be seen in Fig. 7.16. Note that due to the fact that the communication
sampling rate was technically restricted to be not shorter than 10 seconds, the immediate
response may in our realization have taken up to 10 seconds until it arrives at the distillation
column, depending on the phase dierence of the (self-synchronizing) optimizer and the
data transfer system.
136 Control of a Distillation Column

Full Real−Time Iteration Feedback Phase


30

Comp.time [ms]
Comp.time [s]

400
20

10 200

0 0
0 1000 2000 3000 4000 0 1000 2000 3000 4000
time [s] time [s]

Figure 7.16: Overall computation times for the full real-time iteration cycles and the time
that is needed in the feedback phase, for the large disturbance experiment (cf. Fig. 7.15).

Prediction Horizon Contents: To analyse the working of the NMPC controller better,
we will have a look at the predicted control trajectory at the time point t = 1500 seconds,
and compare it to the nal closed-loop response, in Fig. 7.17. It can be seen that the
predicted and real trajectory dier signicantly. This is mainly caused by the fact that
the control horizon of 600 seconds is too short to capture all necessary control actions for
a disturbance as large as the one considered.
We will compare the experimentally observed performance with a simulated closed-loop
trajectory, and with the optimal solution, according to the model.

Closed-Loop Simulation: It is interesting to test how similar the experimental result


in Fig. 7.15 is to a closed-loop simulation , where noise eects and model-plant mismatch
do not play a role. We have therefore taken the (estimated) system state at time t = 1500,
to start a closed-loop simulation, using the same controller setup as before, but under the
assumption that the plant is identical to the model. The result of this simulation can be
seen in the central column in Fig. 7.18.

Optimal Solution: For completeness, the experimental and simulated closed-loop tra-
jectories are compared with a theoretical o-line result, namely with the optimal open-loop
trajectory, that can be seen on the right column of Fig. 7.18. It can be seen that the ex-
perimental and simulated closed-loop trajectories show considerable similarity with the
theoretically optimal solution.
The computation of the optimal trajectory with the o-line multiple shooting method
required 23 major SQP iterations with a CPU time of 3356 seconds (AMD Athlon processor
with 1009 MHz), where the control horizon was chosen to consist of 45 multiple shooting
intervals, each of 30 seconds length. Note that the computation time for this problem is
in the same order as the whole process duration.
7.5 Experimental Results 137

Experimental Closed−Loop NMPC Prediction


74 74
T28 [ C]

T28 [oC]
72 72
o

70 70

0 1000 2000 3000 4000 5000 0 1000 2000 3000 4000 5000
94 94
92 92
T14 [ C]

T14 [oC]

90 90
o

88 88
86 86
0 1000 2000 3000 4000 5000 0 1000 2000 3000 4000 5000
8 8
6 6
[l/h]

Lvol [l/h]

4 4
vol
L

2 2
0 0
0 1000 2000 3000 4000 5000 0 1000 2000 3000 4000 5000
4 4

3 3
Q [kW]

Q [kW]

2 2

1 1
0 1000 2000 3000 4000 5000 0 1000 2000 3000 4000 5000
time [s] time [s]

Figure 7.17: Comparison of experimental closed-loop trajectory (left) with the NMPC
prediction horizon at time t = 1500 seconds (right).
138 Control of a Distillation Column

Experimental Closed−Loop Simulated Closed−Loop Optimal Solution


74 74 74
T28 [ C]

T28 [oC]

T28 [oC]
72 72 72
o

70 70 70

0 1000 2000 3000 0 1000 2000 3000 0 1000 2000 3000


94 94 94
92 92 92
T14 [ C]

T14 [oC]

T14 [oC]
90 90 90
o

88 88 88
86 86 86
0 1000 2000 3000 0 1000 2000 3000 0 1000 2000 3000
8 8 8
6 6 6
[l/h]

Lvol [l/h]

Lvol [l/h]

4 4 4
vol
L

2 2 2
0 0 0
0 1000 2000 3000 0 1000 2000 3000 0 1000 2000 3000
4 4 4

3 3 3
Q [kW]

Q [kW]

Q [kW]

2 2 2

1 1 1
0 1000 2000 3000 0 1000 2000 3000 0 1000 2000 3000
time [s] time [s] time [s]

Figure 7.18: Comparison of experimental closed-loop trajectory (left) with simulated


closed-loop (center) and theoretical optimal trajectory (right).
Chapter 8

Control of a Looping Kite

In order to demonstrate the versatility of the proposed real-time iteration scheme we present
here the control of an airborne kite as a periodic control example. The kite is held by two
lines which allow to control the lateral angle of the kite, see Fig. 8.1. By pulling one line
the kite will turn in the direction of the line being pulled. This allows an experienced kite
pilot to y loops or similar gures. The aim of our automatic control is to make the kite
y a gure that may be called a lying eight, with a cycle time of 8 seconds (see Fig. 8.2).
The corresponding orbit is not open-loop stable, so that feedback has to be applied during
the ight  we will show simulation results where our proposed real-time iteration scheme
was used to control the kite, with a sampling time of one second.

8.1 The Dual Line Kite Model


The movement of the kite at the sky can be modelled by Newton's laws of motion and
a suitable model for the aerodynamic force. Most diculty lies in the determination of
suitable coordinate systems: we will rst describe the kite's motion in polar coordinates,
and secondly determine the direction of the aerodynamic forces.

8.1.1 Newton's Laws of Motion in Polar Coordinates


The position p ∈ R 3 of the kite can be modelled in 3-dimensional Euclidean space, choosing
the position of the kite pilot as the origin, and the third component p3 to be the height of
3
the kite above the ground. With m denoting the mass of the kite and F ∈ R the total
force acting on the kite, Newton's law of motion reads

d 2p F
p̈ = = .
dt2 m
Let us introduce polar coordinates θ , φ, r :
   
p1 r sin(θ) cos(φ)
p =  p2  =  r sin(θ) sin(φ)  .
p3 r cos(θ)

139
140 Control of a Looping Kite

et
el

Figure 8.1: A picture of the kite.

Note that the distance r between pilot and kite is usually constant during ight, and θ is
the angle that the lines form with the vertical. In these coordinates, p̈ looks as follows
 
d ∂p ∂p ∂p
p̈ = θ̇ + φ̇ + ṙ
dt ∂θ ∂φ ∂r
∂p ∂p ∂p ∂2p ∂2p ∂2p
= θ̈ + φ̈ + r̈ + 2 θ̇2 + 2 φ̇2 + 2 ṙ 2 (8.1)
∂θ ∂φ ∂r ∂θ ∂φ ∂r
∂2p ∂2p ∂2p
+ 2 φ̇θ̇ + 2 ṙθ̇ + 2 ṙφ̇.
∂φ∂θ ∂r∂θ ∂r∂φ
Let us introduce a local right handed coordinate system with the three basis vectors
     
cos(θ) cos(φ) − sin(φ) sin(θ) cos(φ)
eθ =  cos(θ) sin(φ)  , eφ =  cos(φ)  , and er =  sin(θ) sin(φ)  .
− sin(θ) 0 cos(θ)
In this coordinate system, the partial derivatives of p with respect to θ , φ, r become

∂p ∂p ∂p
= reθ , = r sin(θ)eφ , and = er ,
∂θ ∂φ ∂r
and

∂2p ∂2p ∂2p


= −rer , = −r sin2 (θ)er − r sin(θ) cos(θ)eθ , and = 0,
∂θ2 ∂φ 2 ∂r 2
as well as

∂2p ∂2p ∂2p


= r cos(θ)eφ , = eθ , and = sin(θ)eφ .
∂φ∂θ ∂r∂θ ∂r∂φ
8.1 The Dual Line Kite Model 141

Eq. (8.1) can therefore be written as:



2
p̈ = eθ r θ̈ − r sin(θ) cos(θ)φ̇ + 2ṙ θ̇

+ eφ r sin(θ)φ̈ + 2r cos(φ)φ̇θ̇ + 2 sin(θ)ṙ φ̇

+ er r̈ − r θ̇2 − r sin2 (θ)φ̇2 .

Dening

Fθ := F · eθ , Fφ := F · eφ , and Fr := F · er ,

we can write Newton's laws of motion in the form


r θ̈ − r sin(θ) cos(θ)φ̇2 + 2ṙ θ̇ = ,
m

r sin(θ)φ̈ + 2r cos(θ)φ̇θ̇ + 2 sin(θ)ṙ φ̇ = ,
m
Fr
r̈ − r θ̇2 − r sin2 (θ)φ̇2 = . (8.2)
m
If the length of the lines, denoted by r , is kept constant, all terms involving time derivatives
of r will drop out. Furthermore, the last equation (8.2) will become redundant, as the
force in the radial direction will be augmented by a constraint force contribution Fc , so

that Eq. (8.2) is automatically satised when the augmented force Fr := Fr − Fc replaces
Fr , with Fc = Fr + r θ̇2 + r sin2 (θ)φ̇2 . In this case the equations of motion1 simplify to

θ̈ = + sin(θ) cos(θ)φ̇2 , (8.3)
rm

φ̈ = − 2 cot(θ)φ̇θ̇. (8.4)
rm
gra
In our model, the force vector F = F + F aer consists of two contributions, the grav-
gra aer gra
itational force F and the aerodynamic force F . In cartesian coordinates, F =
(0, 0, −mg)T with g = 9.81 m s−2 being the earth's gravitational acceleration. In local
coordinates we therefore have

Fθ = Fθgra + Fθaer = sin(θ)mg + Fθaer and Fφ = Fφaer .

It remains to derive an expression for the aerodynamic force F aer .

8.1.2 Kite Orientation and the Aerodynamic Force


To model the aerodynamic force that is acting on the kite, we rst assume that the kite's
trailing edge is always pulled by the tail into the direction of the eective wind, as seen

1 Note
that the validity of these equations requires that Fc = Fr + rθ̇2 + r sin2 (θ)φ̇2 ≥ 0, as a line can
only pull, not push.
142 Control of a Looping Kite

Name Symbol Value


line length r 50 m
kite mass m 1 kg
wind velocity vw 6 m/s
3
density of air ρ 1.2 kg/m
2
characteristic area A 0.5 m
lift coecient Cl 1.5
drag coecient Cd 0.29

Table 8.1: The kite parameters.

from the kite's inertial frame. Under this assumption the kite's longitudinal axis is always
in line with the eective wind vector we := w − ṗ, where w = (vw , 0, 0) is the wind as seen
T

from the earth system, and ṗ the kite velocity. If we introduce a unit vector el pointing
from the front towards the trailing edge of the kite (cf. Fig. 8.1), we therefore assume that

we
el = .
we 
The transversal axis of the kite can be described by a perpendicular unit vector et that is
pointing from the left to the right wing tip. Clearly, it is orthogonal to the longitudinal
axis, i.e.,

et · we
et · el = = 0. (8.5)
we 
The orientation of the transversal axis et against the lines' axis (which is given by the
vector er ) can be inuenced by the length dierence ∆l of the two lines. If the distance
between the two lines' xing points on the kite is d, then the vector from the left to the
right xing point is det , and the projection of this vector onto the lines' axis should equal
∆l (being positive if the right wingtip is farther away from the pilot), i.e., ∆l = d et · er .
Let us dene the lateral angle ψ to be
 
∆l
ψ = arcsin .
d
We will assume that we control this angle ψ directly. It determines the orientation of et
which has to satisfy:

∆l
et · er = = sin(ψ). (8.6)
d
A third requirement that et should satisfy is that

we × et
(el × et ) · er = · er > 0, (8.7)
we 
8.1 The Dual Line Kite Model 143

which takes account of the fact that the kite is always in the same orientation with respect
to the lines.
How to nd a vector et that satises these requirements (8.5)(8.7)? Using the projec-
tion wep of the eective wind vector we onto the tangent plane spanned by eθ and eφ ,
wep := eθ (eθ · we ) + eφ (eφ · we ) = we − er (er · we ),
we can dene the orthogonal unit vectors

wep
ew := and eo := er × ew ,
wep 
so that (ew , eo , er ) form an orthogonal right-handed coordinate basis. Note that in this
basis the eective wind we has no component in eo direction, as

we = wep ew + (we · er )er .


We will show that the denition

et := ew (− cos(ψ) sin(η)) + eo (cos(ψ) cos(η)) + er sin(ψ)


with
 
we · er
η := arcsin tan(ψ)
wep 
satises the requirements (8.5)(8.7). Equation (8.5) can be veried by substitution of the
denition of η into

et · we = − cos(ψ) sin(η)wep  + sin(ψ)(we · er ) = 0.


Eq. (8.6) is trivially satised, and Eq. (8.7) can be veried by calculation of

(we × et ) · er = (we · ew ) cos(ψ) cos(η) − (we · eo )(− cos(ψ) sin(η))


= wep  cos(ψ) cos(η)
(where we used the fact that we · eo = 0). For angles ψ and η in the range from −π/2 to
π/2 this expression is always positive. The above considerations allow to determine the
orientation of the kite depending on the control ψ and the eective wind we only. Note
that the considerations would break down if the eective wind we would be equal to zero,
or if
 
 we · er 
 
 we · ew tan(ψ) > 1.

The two vectors el × et and el are the directions of aerodynamic lift and drag, respectively.
To compute the magnitudes Fl and Fd of lift and drag we assume that the lift and drag
coecients Cl and Cd are constant, so that we have

1 1
Fl = ρwe 2 ACl and Fd = ρwe 2 ACd ,
2 2
144 Control of a Looping Kite

with ρ being the density of air, and A


being the characteristic area of the kite.
aer
Given the directions and magnitudes of lift and drag, we can compute F as their
sum, yielding

F aer = Fl (el × et ) + Fd el

or, in the local coordinate system

Fθaer = Fl ((el × et ) · eθ ) + Fd (el · eθ ) and Fφaer = Fl ((el × et ) · eφ ) + Fd (el · eφ ).

The system parameters that have been chosen for the simulation model are listed in Ta-
T
ble 8.1. Dening the system state x := (θ, θ̇, φ, φ̇) and the control u := ψ we can summa-
rize the system equations (8.3)(8.4) in the short form

ẋ = f (x, u),

with

 
θ̇
 F aer (θ, θ̇, φ, φ̇, ψ) 
 θ + sin(θ) + sin(θ) cos(θ)φ̇2 
g
 
f ((θ, θ̇, φ, φ̇)T , ψ) := 

rm r .

 φ̇ 
 Fφaer (θ, θ̇, φ, φ̇, ψ) 
− 2 cot(θ)φ̇θ̇
rm

8.2 A Periodic Orbit


Using the above system model, a periodic orbit was determined that can be characterized
as a lying eight and which is depicted as a φ − θ−plot
in Fig. 8.2, and as a time plot
o
in Fig. 8.3. The wind is assumed to blow in the direction of the p1 -axis (θ = 90 and
φ = 0o ). The periodic solution was computed using the o-line variant of MUSCOD-II,
imposing periodicity conditions with period T = 8 seconds and suitable state bounds
and a suitable objective function in order to yield a solution that was considered to be
a meaningful reference orbit. Note that the control ψ (see Fig. 8.3) is positive when the
kite shall turn in a clockwise direction, as seen from the pilot's viewpoint, and negative
for an anti-clockwise direction. We will denote the periodic reference solution by xr (t) and
ur (t). This solution is dened for all t ∈ (−∞, ∞) and satises the periodicity condition
xr (t + T ) = xr (t) and ur (t + T ) = ur (t).
It is interesting to note that small errors accumulate very quickly so that the uncon-
trolled system will not stay in the periodic orbit very long during a numerical simulation
(see Fig. 8.4). This observation can be conrmed by investigating the asymptotic stability
properties of the periodic orbit.
8.2 A Periodic Orbit 145

30

40
3

50 7
θ [deg]
2 0/8 4 6
60

70 5
1
80

90
60 40 20 0 −20 −40 −60
φ [deg]

Figure 8.2: Periodic orbit plotted in the φ − θ−plane, as seen by the kite pilot. The dots
separate intervals of one second.

40
θ [deg]

60
80
d θ / dt [deg/s]

0 1 2 3 4 5 6 7 8
−50

50
0 1 2 3 4 5 6 7 8
50
φ [deg]

0
−50
d φ / dt [deg/s]

0 1 2 3 4 5 6 7 8
50

0
−50
0 1 2 3 4 5 6 7 8
10
ψ [deg]

−10
0 1 2 3 4 5 6 7 8
time [s]

Figure 8.3: Periodic orbit: system states and control ψ plotted for one period T =8 s .
Note that θ and θ̇ oscillate with double frequency.
146 Control of a Looping Kite

30

40

50
θ [deg]
60

70

80

90
60 40 20 0 −20 −40 −60
φ [deg]

Figure 8.4: Open-loop control applied to the undisturbed system.

8.2.1 Stability Analysis of the Open-Loop System


To determine the asymptotic stability properties of the open-loop system along the periodic
orbit, let us consider an initial value problem for the open-loop system on the interval [0, T ]
corresponding to one period:

ẋ(t) = f (x(t), ur (t)), ∀t ∈ [0, T ],


x(0) = x0 .

The solution trajectories x(t) can be regarded as functions of the initial value x0 . Note that
for x0 = xr (0) the solution is identical to the reference trajectory xr (t). The sensitivity
matrices

∂x(t)
W (t) := (xr (0)), t ∈ [0, T ],
∂x0
can therefore be obtained as the solution of the matrix initial value problem:

∂f
Ẇ (t) = (xr (t), ur (t)) · W (t) ∀t ∈ [0, T ],
∂x
W (0) = Inx .

The nal value W (T ) is called the monodromy matrix . It characterizes the sensitivity of the
nal state of each period with respect to the initial value. Asymptotically stable periodic
orbits are characterized by a monodromy matrix whose eigenvalues (also called Floquet
Multipliers) all have a modulus smaller than one, which means that initial disturbances
are damped out during the cycles. For a proof see e.g. Amann [Ama83].
8.3 The Optimal Control Problem 147

A numerical computation of W (T ) for the kite model along the chosen periodic orbit
yields
 
3.0182 2.4014 0.9587 −0.1307
 3.3399 2.5500 0.0054 −0.3935 
W (T ) =  
 −2.7170 −1.8596 0.8436 0.5072  ,
−2.8961 −2.0491 0.5601 0.4640

which has the eigenvalue spectrum

σ (W (T )) = { 5.29, 1.53, 6.16 · 10−2 , 4.17 · 10−7 },

containing two eigenvalues that have a modulus bigger than one. This conrms that the
system is asymptotically unstable in the periodic reference orbit.

8.3 The Optimal Control Problem


Given an initial state xt0 at time t0 , an optimal control problem can be formulated that
takes account of the objective to keep the system close to the reference orbit. For this aim
we dene a Lagrange term

L(x, u, t) := (x − xr (t))T Q(x − xr (t)) + (u − ur (t))T R(u − ur (t))

with diagonal weighting matrices


 
1.2 0 0 0
 0 3.0s2 0 0 
Q := · 
 0
 10−4 deg−2 s−1 and R := 1.0 · 10−2 deg−2 s−1 .
0 3.0 0 
0 0 0 3.0s2

A hard constraint is given by the fact that we do not want the kite to crash onto the
ground (θ = 90 degrees), and for security, we require a path constraint function

h(x, u) := 75 deg − θ

to be positive. Using these denitions, we formulate the following optimal control problem
on the moving horizon [t0 , t0 + 2T ]:
 t0 +2T
min L(x(t), u(t), t) dt (8.8)
u(·),x(·) t0
subject to

ẋ(t) = f (x(t), u(t)), ∀t ∈ [t0 , t0 + 2T ],


x(t0 ) = xt0 ,
h(x(t), u(t)) ≥ 0, ∀t ∈ [t0 , t0 + 2T ].
148 Control of a Looping Kite

30

40

50
θ [deg]
60

70

80

90
60 40 20 0 −20 −40 −60
φ [deg]

Figure 8.5: Closed-loop control applied to the undisturbed system, simulation of 100 peri-
ods. Numerical errors are attenuated by very small control responses (with u(t) − ur (t) in
−2
the order of 10 degree) and do not accumulate.

8.4 Closed-Loop Simulations


In the multiple shooting discretization the multiple shooting intervals were chosen to be
each of one second length, thus allowing eight control corrections per period T. The Hessian
matrix was approximated using the Gauss-Newton approach for integral least squares terms
described in Sec. 6.4. The initialization of subsequent optimization problems was achieved
with a shift strategy where the new nal interval was initialized by an integration using
the nominal open-loop control ur (t), cf. Sec. 4.4.1.
As a rst test of the algorithm we try to control the undisturbed system, and the result
of a simulation of 100 periods is depicted in Fig. 8.5. It can be seen that the reference
orbit is perfectly tracked. The dots separate intervals of one second length and correspond
to the sampling times.
For a second test we give the kite a slight kick at time t = 1.0 seconds that leads
to a disturbance in the angular velocity θ̇. It changes from −1 deg/s to +5 deg/s. The
closed-loop response is depicted in Fig. 8.6 as a φ − θ−plot.
As a third test we give the kite a moderate kick at time t = 3.5 seconds that lets the
angular velocity θ̇ change from 12 deg/s to 25 deg/s. The closed-loop response is depicted
in Fig. 8.7. For a comparison we also show the open-loop response to this disturbance in
Fig. 8.8, which results in a crash 5 seconds after the disturbance.
In a fourth test we kick the kite strongly at time t = 4.0 seconds so that the angular
velocity θ̇ changes abruptly from 20 deg/s to −7 deg/s. The closed-loop response is depicted
in Fig. 8.9.
8.4 Closed-Loop Simulations 149

30

40

50
θ [deg]

60

70

80

90
60 40 20 0 −20 −40 −60
φ [deg]

Figure 8.6: Closed-loop response to a small disturbance in θ̇ that changes from −1 deg/s to
+5 deg/s at time t = 1.0 seconds. After one period the disturbance is nearly attenuated.

30

40

50
θ [deg]

60

70

80

90
60 40 20 0 −20 −40 −60
φ [deg]

Figure 8.7: Closed-loop control response to a moderate disturbance in θ̇ that changes


from 12 deg/s to 25 deg/s at time t = 3.5 seconds. After 1.5 periods the disturbance is
attenuated.
150 Control of a Looping Kite

30

40

50
θ [deg]

60

70

80

90
60 40 20 0 −20 −40 −60
φ [deg]

Figure 8.8: Open-loop response to the same disturbance as in Fig. 8.7, at time t = 3.5 sec-
onds. Five seconds after the disturbance the kite crashes onto the ground (θ =90 degrees).

30

40

50
θ [deg]

60

70

80

90
60 40 20 0 −20 −40 −60
φ [deg]

Figure 8.9: Closed-loop response to a strong disturbance in θ̇ that changes from 20 deg/s
to a value of −7 deg/s at time t = 4.0 seconds. After two periods the disturbance is
completely attenuated.
8.4 Closed-Loop Simulations 151

30

40

50
θ [deg]
60

70

80

90
60 40 20 0 −20 −40 −60
φ [deg]

Figure 8.10: Closed-loop trajectory for the weak disturbance test, simulated over 100
periods.

As a last test we apply random noise of various magnitude to the system: disturbances
happen with probability p = 10% s−1 , and they simultaneously disturb all 4 components
of the system state, with independent magnitudes that are characterized by the standard
deviations

sθ = 0.9 deg, sθ̇ = 0.9 deg s−1 , sφ = 0.6 deg, and sφ̇ = 0.6 deg s−1

for the weak disturbance test, and

sθ = 4.5 deg, sθ̇ = 4.5 deg s−1 , sφ = 3 deg, and sφ̇ = 3 deg s−1

for the strong disturbance test. For each scenario, we have carried out simulations for
100 periods (i.e., for 800 seconds). The resulting φ − θ−plots can be seen in Fig. 8.10 for
the weak disturbance scenario, and in Fig. 8.11 for the strong disturbance scenario. While
the weak scenario shows how nicely the closed-loop system behaves even in the presence
of moderate disturbances, the strong disturbance scenario is certainly at the limits of
the applicability of the chosen control approach, as the disturbances sometimes push the
system state out of the state bounds specied in the optimization problem (θ ≤ 75 degrees).
The resulting infeasibility of the optimization problems was cushioned by the relaxation
strategy of the QP solver. However, this does not give any guarantee for the working of
our approach in the presence of severe disturbances. Instead, a scheme employing soft
constraint formulations should be employed.
The computation time for each real-time iteratiion cycle did not exceed the sampling
time of one second in all simulations and averaged to 0.45 seconds with a standard deviation
152 Control of a Looping Kite

30

40

50
θ [deg]
60

70

80

90
60 40 20 0 −20 −40 −60
φ [deg]

Figure 8.11: Closed-loop trajectory for the strong disturbance test, simulated over 100
periods.

of 0.02 seconds (on a Compaq Alpha XP1000 workstation). The immediate feedback took
in average one tenth of this value, 0.05 seconds.
Conclusions and Outlook

Summary and Conclusions


We have presented a new numerical method for the real-time optimization of constrained
nonlinear processes and have demonstrated its practical applicability in an experimental
case study, the nonlinear model predictive control of a distillation column which is de-
scribed by a large scale sti DAE model. Sampling times in the range of seconds could
be realized. The theoretical contraction properties of the algorithm have been investigated
and computable bounds on the loss of optimality with respect to a rigorous solution could
be established.

Description of the Method (Chapters 1  4 and 6)


The proposed approach is based on the direct multiple shooting method (Chap. 2) that
allows to combine the use of ecient state-of-the-art DAE solvers with the advantages of a
simultaneous strategy, like the possibility to treat unstable system models. In particular,
the presented algorithm is characterized by the following, newly developed features:

• The initialization of subsequent optimization problems with an initial value em-


bedding strategy delivers, for an exact Hessian SQP, a rst-order predictor for the
solution of new problems even in the presence of active set changes (Chap. 3). For
general Newton type methods, the initial value embedding still delivers an excellent
predictor (Chap. 5, Sec. 5.3).

• Dovetailing of the solution iterations with the process development in a real-time


iteration scheme allows to reduce sampling times to a minimum, but maintains all
advantages of a fully nonlinear treatment of the optimization problems (Chap. 4).

• A separation of the computations in each real-time iteration into a preparation


phase and a feedback phase is realized (Chap. 6). The feedback phase is typically
orders of magnitude shorter than the preparation phase, and allows to deliver a
linearized feedback that takes all linearized constraints into account. This feedback
is equivalent to linear MPC schemes, using a system linearization along the current
optimal reference trajectory. The delay of one sampling time that is present in all
previous NMPC schemes is avoided.

153
154 Conclusions and Outlook

• A Gauss-Newton approach for least squares integrals allows to compute an ex-


cellent Hessian approximation at negligible computational costs. The Gauss-Newton
Hessian is computed simultanously with the sensitivity computation without the ne-
cessity to stop the integration routine (Sec. 6.4). This is especially useful on long
prediction intervals with constant controls.

Contractivity of the Real-Time Iteration Scheme (Chapter 5)


Contractivity of the scheme is proven for real-time iterations on shrinking horizons, and
the outcome of the iterates is compared to the corresponding exact solution on the full
horizon. The scenario assumes that plant and optimization model coincide, but that one
unpredicted disturbance happens at the start of the considered time period.

• The real-time iteration scheme is contracting under the same conditions as the o-
line method (Theorem 5.6). This means: if the full horizon optimization problem
and a given initialization satisfy the sucient conditions for local convergence of the
o-line Newton type method, then the real-time iteration scheme is contracting.

• The iterates approach the optimal solution on the remaining horizon, with
a velocity that depends on the contraction rate (Corollary 5.8). Due to the excellent
contraction properties of the direct multiple shooting method, this means that after
a few iterations the real-time solution is practically identical to the exact solution on
the remaining horizon.

• We establish a bound on the loss of optimality with respect to the optimal


solution on the full horizon (Theorem 5.11). This bound limits possible losses on
the rst intervals, before the iterates approach the optimal solution on the remaining
horizon.

• If the algorithm was initialized at a neighboring solution, as it typically happens


in practice, the loss of optimality is of fourth order in the size of the initial
disturbance for an exact Newton method (Corollary 5.12).

Application Tests of the Scheme (Chapters 7 and 8)


Experimental Control of a Distillation Column: The algorithm is successsfully
applied to a nontrivial process control example, namely the NMPC of a pilot plant distil-
lation column situated at the Institut für Systemdynamik und Regelungstechnik , Stuttgart.
A model for the column is developed, considering enthalpy balances and hydrodynamics,
which results in a sti DAE with 82 dierential and 122 algebraic state variables. Model
parameters are tted to experimental dynamic data.
The optimization problem is formulated using the integrated squared deviation of two
controlled temperatures as objective, and employing a control horizon with 5 sampling
intervals of 120 seconds each, and a prediction horizon of 36 000 seconds. The computation
155

times for each real-time iteration are below 20 seconds, and the realized feedback times are
under practical conditions below 400 milliseconds. The experimentally observed closed-
loop behaviour shows good performance, especially for large disturbances.
The study proves that NMPC using large scale process models is feasible under practical
conditions, when the real-time iteration scheme is used (Chap. 7).

Simulated Control of a Looping Kite: In a second example, the real-time iteration


approach is applied to a simulated unstable periodic process, an airborne kite. The newly
developed kite model consists of four dierential states and one control. The control aim
is to let the kite y an unstable periodic trajectory with a period of eight seconds. The
real-time iteration scheme is able to successfully stabilize the system for all investigated
disturbance scenarios, meeting the real-time requirement of at maximum one second per
iteration. Simulation results show excellent robustness of the real-time optimization algo-
rithm even in the presence of large disturbances. (Chap. 8).

Outlook
Within this thesis, we have demonstrated the practical feasibility of NMPC using large scale
detailed process models. Several future developments of numerical methods for NMPC
come to mind, which may extend its area of applicability.

Parallelization
A parallelization of the developed algorithm, which has already been achieved for the o-
line direct multiple shooting method, promises to reduce computation times considerably.
The method is particularly well suited for parallel computation, since the most expensive
part of the algorithm, the integrations and sensitivity computations, are decoupled on
dierent multiple shooting intervals and can be performed in parallel [GB94, BS01]. For
the distillation model developed in this thesis, processor eciencies in the range of 80 %
for 8 nodes have been observed. Only minor modications have to be made to adapt the
existing parallel version of the o-line method to the real-time iteration context.

Reduced Approach
Another interesting future development is to employ a reduction approach that exploits the
initial value constraint and the continuity conditions for an ecient derivative computation
in the multiple shooting method. The approach, that is originally due to Schlöder [Sch88],
has long been successfully applied to large scale parameter estimation problems (see e.g.
Dieses [Die01] for recent developments and applications). An application of the approach
to the described Gauss-Newton method for optimal control is possible and promises large
savings in computation times in the sensitivity generation, thus allowing to further reduce
sampling times. The reduced approach is fully compatible with most algorithmic ideas of
156 Conclusions and Outlook

this thesis, especially with the initial value embedding and the dovetailing of the solution
iterations with the process development. However, the separation into preparation and
feedback phase cannot be realized as easily as before, as some parts of the DAE sensitivity
calculation can only be performed after the initial value x0 is known.
The approach would be especially ecient for models with large dierential state di-
mensions and a relatively small number of control parameters.

On-Line Parameter and State Estimation


In the application of NMPC techniques, an important requirement is knowledge of the
system state and of the current values of the system parameters. Moving horizon strategies
to attack this task have been formulated (see e.g. Rao and Rawlings [RR00]), but the eld of
numerical methods for the real-time solution of the resulting optimal control problems still
needs considerable development. A transfer of the real-time iteration scheme to this type
of problem promises to deliver a powerful method for the on-line solution of moving horizon
state estimation problems, and is currently under investigation (cf. Bürner [Bür01]).

Periodic Control
In the last numerical example we showed the feasibility of an NMPC approach designed to
control an unstable periodic system. Given the existing optimization scheme, the stabilizing
periodic feedback law was easily obtained by a straightforward periodic formulation of the
least squares objective. In the area of periodic control, the use of NMPC techniques may
allow new periodic process designs that have so far been avoided, and an application of
the developed numerical methods to this problem class deserves further investigation.
Appendix A

An Extended Kalman Filter Variant

We will here describe the variant of the Extended Kalman Filter (EKF) that was used for
the state estimation in the experimental tests of Chap. 7. For an introduction into current
developments in the area of nonlinear state estimation we refer e.g. to Muske and Edgar
[ME96] or to Rao and Rawlings [RR00]. We also refer to an overview article by Binder et
+
al. [BBB 01] that discusses some aspects of state estimation, and to the work of Bürner
on numerical methods of moving horizon state estimation [Bür01].
In contrast to a standard Extended Kalman Filter (EKF), our variant is able to treat
bounds on the system state, a feature that can be crucial for the practical applicability
of the algoritm. We will rst formulate the on-line estimation problem in Sec. A.1 and
introduce the EKF type algorithm in Sec. A.2, and afterwards motivate it by heuristic
arguments in Sec. A.3.

A.1 Problem Formulation


Transformation into Discrete Time
Let us consider the system development on intervals of xed length δ only, which correspond
to the sampling rate of measurements. Given initial values xk (that may also comprise
constant system parameters, cf. Sec. 1.1) and controls uk , the system DAE can be solved
on the interval [tk , tk + δ]

B(·) ẋ(t) = f (x(t), z(t), uk ),


0 = g(x(t), z(t), uk ), (A.1)
x(tk ) = xk .

In the following, we are interested only in the values x(tk +δ) and z(tk ) of this solution. Let
us denote them by Xk (xk ) and Zk (xk ), where the constant control values uk are accounted
for by the index k . As some of the states can be measured, let us also introduce the
measurement function

hk (xk ) := Hx xk + Hz Zk (xk )

157
158 An Extended Kalman Filter Variant

with constant matrices Hx and Hz . For the distillation model with temperature mea-
surements we have set Hx = 0, and chosen Hz such that it just extracts the measured
temperatures from the algebraic state vector.

The undisturbed system development {yk , xk }k=0 with an initial value x0 under a given

control sequence {uk }k=0 can then be described by the equations

xk+1 = Xk (xk ), for k = 0, 1, . . . ,


(A.2)
yk = hk (xk ).

Stochastic Formulation
The necessity to estimate the system state arises because the real system does not coincide
with the model. To account for this, we model the discrete time system as a stochastic
system, and we also assume that the measurements are distorted by noise. Let us therefore
regard the discrete time stochastic system and measurement model

xk+1 = Xk (xk ) + wk ,
(A.3)
yk = hk (xk ) + vk .
The state disturbance and measurement noise sequences {wk }∞
k=0 and {vk }∞
k=0 are assumed
to be independent and identically distributed, both with zero mean and known (positive
denite) covariance matrices

Σw := E {wk wkT } and Σv := E {vk vkT }.


The notation E {·} denotes the expectation values. From the real system behaviour at a
sampling time k , only the measurement sequence {yi }i=0 is available. Additional knowledge
k

exists in form of state bounds that require that

xLB ≤ xi ≤ xUB for i = 0, . . . , k.


The problem is to infer the system state xk from this given information.

The Idea of Kalman Filtering


The Extended Kalman Filter (EKF) for nonlinear systems proceeds in principle as the
linear Kalman lter [Kal60, Son90], but is based on subsequent linearizations of the sys-
tem model at the best available estimate. The idea of the Kalman lter is to compare
each measurement with the prediction of the model, and to correct the estimated state
x̂ according to the deviation. The weight of past measurement information is kept in a
weighting matrix P.

A.2 The EKF Type Algorithm


Given a current estimate x̂k ∈ R x , a nonsingular square weighting matrix Pk (of the same
n
nx ×nx
dimension R as Σw ) and a measurement yk ∈ R y at time k , the recursive algorithm
n

computes the matrix Pk+1 and the vector x̂k+1 as follows:


A.2 The EKF Type Algorithm 159
∂hk (x̂k )
1. Compute h := hk (x̂k ) and H := ∂ x̂k
.

2. Compute a QR decomposition
 
Pk
−1 =: Q̂R̂ (A.4)
Σv 2 H

with R̂ upper triangular and of full rank (note that this is always possible as Pk is
nonsingular). Obtain a corrected dierential state value
 
0
x
:= x̂k − R̂−1 Q̂T −1 . (A.5)
Σv 2 (h − yk )

3. To avoid a violation of upper and lower bounds (that may make the DAE solution
impossible), solve

min R̂(x − x
)22 subject to xLB ≤ x ≤ xUB .
x

Denote the solution by x̃. Once the active set and x̃ are known, dene a matrix Q1 =
(e1 , e2 , . . . , ena ) consisting of na unit vectors ei corresponding to the na components
of the active set, so that the equivalent problem

min R̂(x − x
)22 subject to QT1 (x − x̃) = 0, (A.6)
x

can be formulated (which has the solution x̃ itself ). Denote by Q2 the orthonor-
mal complement to Q1 , (Q1 |Q2 ) is an orthonormal (permutation) matrix.
so that

Perform another QR factorization R̂Q2 =: Q R to yield the invertible matrix


R
∈ R (nx −a)×(nx −a) . This is the only step that is additional to a standard EKF

scheme, and it can be justied heuristically. If no bounds are active, x̃ = x and


R = R̂.
∂Xk (x̃)
4. Compute x̂k+1 := Xk (x̃) and G := ∂ x̃
.

5. Compute a complete QR decomposition


   
R


−1 =: Q̄ Q̃
−Σw 2 GQ2 0

with R̄ non-singular.

6. Compute
 
0
Pk+1 := Q̃T −1 .
Σw 2

Note that our algorithm produces predictive estimates x̂k+1 with knowledge of the k -th
measurement yk (and the control value uk ) only.
160 An Extended Kalman Filter Variant

Derivative Generation
∂Xk
The function Xk (xk ) and its derivative
∂xk
can eciently be computed by a DAE solver
using the principle of internal numerical dierentiation (IND) (cf. Sec. 6.3). We use the
DAE solver DAESOL [Bau00]. The computation of hk (xk ) = Hx xk +Hz Zk (xk ) requires the
determination of consistent algebraic variables Zk (xk ) that satisfy g(xk , Zk (xk ), uk ) = 0.
This is achieved in our implementation by a (damped) Newton's method which causes
very little computational eort compared to the DAE solution. By the implicit function
∂hk
theorem, the derivative can be evaluated to be
∂xk

 −1
∂hk ∂g ∂g
= Hx + Hz .
∂xk ∂z ∂x

A.3 Heuristic Motivation


The idea behind the EKF algorithm is based on dynamic programming arguments. Let us
dene a function

 
Pk (x − x̂k )
 −1 
F (x, x̄) :=  Σv 2 (hk (x) − yk ) 
−1
Σw 2 (x̄ − Xk (x))

that represents the costs on stage k, given a past state estimate x̂k and a weighting matrix
Pk . The idea is to approximately summarize the optimal value

min F (x, x̄)22 subject to xLB ≤ x ≤ xUB , (A.7)


x

that depends on the state x̄, in a quadratic function

Pk+1 (x̄− x̂k+1 )22 + const .

To obtain this approximation, we will linearize the system, as only then it is possible to
summarize the optimal stage costs in a quadratic function (using the discrete time Kalman
lter idea).
The linearization of problem (A.7) does not only concern the function F, as usual
in EKF algorithms, but also the constraints, which have to be converted into appropriate
equality constraints to make the problem truly linear. The procedure of the previous section
can be regarded as a dovetailing of the problem linearization and the linear Kalman lter
algorithm.
We linearize the problem during the solution procedure, as described in the previous
section: let us linearize hk (x) at the point x̂k to yield the approximation h+H(x− x̂k ) (step
1), then let us choose a point x̃ (the outcome of the QP solution, steps 2 and 3) at which
A.3 Heuristic Motivation 161

we linearize Xk (x) to yield the linearization x̂k+1 + G(x− x̃) = x̂k+1 + G(x̂k − x̃) + G(x− x̂k )
(step 4). We can therefore approximate F (x, x̄) by the linear function
 
˜ x − x̂k
f + (F̃x |F̃x̄ )
 x̄ − x̂
k+1  
0 Pk 0  
 − 12   − 12  x − x̂k
=  Σv (h − yk )  +  Σv H 0  .
− 12 − 12 − 12
x̄ − x̂k+1
−Σw G(x̂k − x̃) −Σw G Σw
Fixing also the active set we transform the inequality constraints into equalities

QT1 (x − x̃) = 0,
so that the linearization of problem (A.7) can be written as
  2
 x − x̂k 
 ˜
min f + (F̃x |F̃x̄ )  subject to QT1 (x − x̃) = 0,
x x̄ − x̂k+1  2

or, equivalently, as an unconstrained problem, where we directly substitute x = x̃ + Q2 y


(using the orthonormal complement Q2 of Q1 ):
  2
 y 
min 
f¯ + (F̃x Q2 |F̃x̄ )  , (A.8)
y x̄− x̂k+1  2

with
   
0 Pk
1 1
f¯ := f˜ + F̃x (x̃ − x̂k ) =  Σ−
v (h − yk )
2  +  Σ− 2
v H
 (x̃ − x̂k ). (A.9)

0 0

Our EKF type algorithm computes a QR factorization of (F̃x Q2 |F̃x̄ ), as


 
Pk Q2 0   
 − 12  Q̂ 0 R̂Q2 0
(F̃x Q2 |F̃x̄ ) =  Σv HQ2 0 = −1 −1
−1 − 12 0 I −Σw 2 GQ2 Σw 2
−Σw 2 GQ2 Σw
   
Q̂ 0 Q 0
R
0
= −1 −1
0 I 0 I −Σw 2 GQ2 Σw 2
 
  
Q̂ 0 Q 0 R̄ R

= (Q̄|Q̃)
0 I 0 I 0 Pk+1
 
0
with R

:= Q̄T −1 . The linear problem (A.8) is therefore equivalent to:


Σw 2
 T   T  T    2
 Q̄ Q

0 Q̂ 0 R̄ R

y 
min  ¯+
f  .
y  Q̃ T
0 I 0 I 0 Pk+1 x̄− x̂k+1 2
162 An Extended Kalman Filter Variant

The optimal solution of this linearized problem can be summarized as

Pk+1 (x̄− x̂k+1 )22 .

if
  
Q
T 0 Q̂T 0
Q̃ T
f¯ = 0.
0 I 0 I

To see that this is indeed the case, note that

   
Q̂T 0 R̂(x̃ − x
)
f¯ =
0 I 0

due to (A.4), (A.5) and (A.9), and that

−T
Q
R̂(x̃ − x
) = R
(R̂Q2 )T R̂(x̃ − x
)
T

must be zero, because y = 0 is solution of the following optimization problem, that is


equivalent to (A.6) with x = x̃ + Q2 y :

min R̂(x̃ − x
) + R̂Q2 y22.
y

Note that at the solution y = 0 the gradient of the objective with respect to y is
2(R̂Q2 )T R̂(x̃ − x
), which is zero due to the necessary optimality conditions.
Appendix B

Details of the Distillation Model

Physical Property Functions


Molar Volume V m (X, T )
The molar volume V m (x, T ) of the liquid tray content is calculated as a linear combination
of the molar volumes of the undiluted components, i.e.,

V m (X, T ) := XV1m (T ) + (1 − X)V2m (T ).

with Vkm (T ) calculated according to

1
Vkm (T ) := expbk (1 + exp(1−T /ck ) (dk )).
ak
The molar volume coecients ak , bk , ck , dk b are given in Table B.1.

Partial Pressures Pks(T )


The partial pressures Pks (T ) of the undiluted components are determined by the Antoine
equation
 
Bk
Pks (T ) := exp Ak − k = 1, 2.
T + Ck
The employed Antoine coecients are given in Table B.2.

Component Molar volume coecients


−1
k ak [kmol l ] bk ck [K] dk
1 (Methanol) 2.288 0.2685 512.4 0.2453
2 (n-Propanol) 1.235 0.27136 536.4 0.2400

Table B.1: The molar volume coecients

163
164 Details of the Distillation Model

Component Antoine coecients


k Ak Bk [K] Ck [K]

1 (Methanol) 23.48 3626.6 -34.29


2 (n-Propanol) 22.437 3166.4 -80.15

Table B.2: The Antoine coecients

Enthalpy coecients
−1 −2
k h1,k [K ] h2,k [K
] h3,k [K−3 ] Tkc [K] Pkc [Pa] Ωk
−2 −5 6
1 18.31 1.713 10 6.399 10 512.6 8.096 10 0.557
−2 −5 6
2 31.92 4.49 10 9.663 10 536.7 5.166 10 0.612

Table B.3: The enthalpy coecients

The Enthalpies hL (X, T ) and hV (Y, T, P )


The vapour and liquid stream enthalpies hL (X, T ) and hV (Y, T, P ) are given by

hL (X, T ) := XhL1 (T ) + (1 − X)hL2 (T )


and

hV (Y, T, P ) := Y hV1 (T, P ) + (1 − Y )hV2 (T, P ).


The pure liquid enthalpies hLk (T ) are determined according to
!
hLk (T ) := C h1,k (T − T0 ) + h2,k (T − T0 )2 + h3,k (T − T0 )3
with T0 = 273.15 K and C = 4.186 J mol−1 , and the pure vapour enthalpies hVk (T, P )
according to
" −3
hVk (T, P ) := hLk (T ) + RTkc 1 − PPc TTc
 k k
7  7 
a − b TTc + c TTc + Ωk d − e TTc + f TTc
k k k k

with R = 8.3147 J mol−1 K−1 , a = 6.09648, b = 1.28862, c = 1.016, d = 15.6875, e =


13.4721, and f = 2.615.
The employed coecients are given in Table B.3.

Derivation of the Francis Weir Formula


The Francis weir formula that was introduced in Eq. (7.15), gives a relationship between
v
the volumetric owrate Lvol and the volume holdup n of an idealized tray by
3
Lvol = W (nv − nref ) 2 ,
165

                    

 h
y

 w 

Figure B.1: Cross section of the liquid ow out of a weir.

where the ow constant W and the reference volume nref are constant. For a derivation,
let us regard the gravity ow over a horizontal weir of width w with vertical walls, where
the water level is at height h over the lower edge of the weir, as depicted in Figure B.1.
The liquid level h can be determined from the excess volume on the tray, if its ground area
A is known:

nv − nref
h= .
A
Introducing a coordinate y that starts at the liquid surface and measures the depth, we
can determine the (horizontal) water velocity v(y) due to gravity by Bernoulli's equation

1 2
ρv = ρgy,
2

where ρ is the mass density and g the gravity constant. Note that v(y) = 2gy is inde-
pendent of the liquid's density ρ. The overall outow rate Lvol can now be determined by
an integration over y from the top level (y = 0) down to the weir's upper edge (y = h):
h √ h 1 √ 3
Lvol = v(y)wdy = w 2g 0 y 2 dy = w 2g 23 h 2
0
√ 3
3
3
= w 2g 23 A− 2 nv − nref 2 =: W nv − nref 2 .

The real values of the ow width w depend on the tray geometry (see e.g. Lockett [Loc86]).
However, since we know that the geometry of the bubble cap trays in the pilot plant
distillation column is dierent from ideal trays, we use the Francis weir formula as a
ref
heuristic scheme only, and estimate the two parameters W and n by using dynamic
experimental data.
Appendix C

Proof of Theorem 3.4

In this appendix we will give a proof of Theorem 3.4 from Sec. 3.2. A similar proof of the
theorem can be found in [GVJ90, Theorem 3.3.4 and Corollary 3.3.1 (2)].
w.act
To prove the theorem, let us subdivide the weakly active constraints H into those
w.act,+ w.act,+ w.act,0 w.act,0
components H with δµ∗ > 0 and those H with δµ∗ = 0 in the solution
of QP (3.7), i.e., we write

 
w.act H w.act,+
H (t, w) =: (t, w).
H w.act,0

Let us introduce the function


 
G
Ḡ(t, w) :=  H s.act  (t, w).
H w.act,+

We will see that this is the function of active constraints for all P (t) on t ∈ (0, 0), and
furthermore, that all these constraints are strongly active on (0, 0). Let us therefore consider
the family of equality constrained problems

min F (t, w) subject to Ḡ(t, w) = 0,


w ∈ R nw

with Lagrangian function L̄(t, w, λ̄) := F (t, w) − λ̄T Ḡ(t, w). The system of necessary
optimality conditions 3.3 for these problems can be stated as

 
∗ ∗ ∇w L̄(t, w ∗ (t), λ̄∗ (t))
∇(w,λ̄) L̄(t, w (t), λ̄ (t)) = = 0. (C.1)
−Ḡ(w ∗ (t))

A tentative total dierentiation of these conditions with respect to t yields


 
∂ ∂ w ∗(t)
∇ L̄(t, w ∗ (t), λ̄∗ (t)) + 2
∇(w, ∗ ∗
λ̄) L̄(t, w (t), λ̄ (t)) = 0.
∂t (w,λ̄) ∂t λ̄∗ (t)

167
168 Proof of Theorem 3.4

The matrix
 
2 ∗ ∗ ∇w2 L̄(t, w ∗ (t), λ̄∗ (t)) −∇w Ḡ(t, w ∗(t))
∇(w, λ̄) L̄(t, w (t), λ̄ (t)) =
−∇w Ḡ(t, w ∗ (t))T 0

is the Karush-Kuhn-Tucker (KKT) matrix of the nonlinear problem. For t = 0 it is


invertible as can be proven with the help of Lemma 3.2. To apply the lemma, we set
A := ∇w2 L̄(0, w ∗(0), λ̄∗ (0)) and B := −∇w Ḡ(0, w ∗(0))T , and note that ∇w ḠT has full rank
∗ 2 2
due to the regularity of w (0), and that A = ∇w L̄ = ∇w L because the multipliers of the
weakly active and inactive constraints are zero. Matrix A is positive denite on the null
s
space N of B = ∇w Ḡ , because N is a subspace of the null space N of the linearized
B T B
sT s
strongly active constraints ∇w G̃ , and A is positive denite on N due to the sucient
conditions 3.3.
By the implicit function theorem, the invertibility of the KKT matrix at t = 0ensures 
w ∗ (t)
that there exists for a suciently small 0 > 0 a curve v̄ : (−0, 0) → R ×R , t →
nw nḠ
λ̄∗ (t)
of points satisfying condition (C.1), with continuous derivative

  −1 ∂
∂ w ∗(t) 2 ∗ ∗
= − ∇(w, L̄(t, w (t), λ̄ (t)) ∇ L̄(t, w ∗(t), λ̄∗(t)). (C.2)
∂t λ̄∗(t) λ̄)
∂t (w,λ̄)

Let us enlarge this curve v̄ in a straightforward way to yield a curve ṽ : (−0, 0) → R nw ×


R nG × R nH ,
     
w∗ w∗  w ∗(t)
 λ∗   λ∗   
     ∗s.act   
   µ    λ̄ (t)  

t →     
  µ∗   =  µ∗w.act,+  (t) := 
.

     ∗w.act,0   
   µ   0 
∗inact
µ 0

By comparing the necessary optimality conditions 3.3 for the quadratic programming prob-
lem (3.7) with Eq. (C.2) for t=0 it can be veried that

     
w∗ ∗
w  δw∗
 λ∗     δλ∗ 
 ∗s.act     

∂  µ  ∂   λ̄ ∗    δµs.act 
 (0) =   (0) =  w.act,+
∗ .
∂t  µ ∗w.act,+
 ∗w.act,0 
 ∂t 



 δµ∗



µ   0   0 
∗inact
µ 0 0

We will show that the restriction of this curve to the interval t ∈ [0, 0) is the desired curve
v of strictly optimal KKT points of the corresponding problems P (t).
For this aim we
∗ ∗
show that the points w (t), t ∈ [0, 0), are feasible and that the multipliers µ (t) remain
non-negative for t ∈ [0, 0).
169

First, by continuity of the function H inact it is clear that

H inact (t, w ∗ (t)) > 0, ∀t ∈ [0, 0)

if 0 is chosen suciently small. The total derivative of the zero part H w.act,0 of the weakly
active constraints with respect to t is the vector

d w.act,0 ∂H w.act,0
T
D := H (0, w ∗(0)) = + ∇w H w.act,0 δw∗ > 0,
dt ∂t
whose components are positive due to the strict complementarity assumption for the solu-
tion of the quadratic programming problem (3.7). Therefore,

H w.act,0 (t, w ∗(t)) = Dt + O(t2) ≥ 0, ∀t ∈ [0, 0),

if 0 is chosen suciently small. Taking into account that all other constraints are contained

in the vector Ḡ, and exploiting the fact that Ḡ(w (t)) = 0 along the curve, we can conclude

that w (t) are feasible points for all t ∈ [0, 0).
Conversely, let us check that the multipliers µ∗ (t) remain non-negative for t ∈ [0, 0).
∗s.act
From continuity we can conclude that µ > 0, t ∈ [0, 0), and from δµw.act,+
∗ > 0 we
conclude that

µ∗w.act,+ = δµw.act,+
∗ t + O(t2 ) ≥ 0, ∀t ∈ [0, 0).

The multipliers µ∗w.act,0 and µ∗inact are identical to zero on the curve. Therefore, the points
∗ ∗ ∗
(w (t), λ (t), µ (t)) are KKT points for t ∈ [0, 0).
Furthermore, we can ensure by continuity of the rst and second order partial
∗ ∗ ∗ 2 ∗ ∗ ∗
derivatives ∇w,λ,µ L(t, w (t), λ (t), µ (t)) and ∇w,λ,µ L(t, w (t), λ (t), µ (t)) that the two
remaining conditions of Theorem 3.3 (regularity and positive deniteness on the lin-
earized strongly active constraints), are satised at all points on the curve v, by
choosing 0 suitably small. Note that the set Ḡ of strongly active constraints on the
curve (w ∗ (t), λ∗ (t), µ∗ (t)), t ∈ (0, 0), comprises always the set G̃s of strongly active
∗ ∗ ∗
constraints at the point (w (0), λ (0), µ (0)). As the Hessian is positive denite on the null
s
space of the linearized constraints G̃ , it is also positive denite on the null space of the
∗ ∗ ∗
linearized strongly active constraints at a point (w (t), λ (t), µ (t)), which is a subspace.
Appendix D

Proof of Theorem 5.3

We will prove Theorem 5.3 in two steps: rst it is shown that the assumptions of The-

orem 5.1 are met and that the iterates therefore converge towards a KKT point y , and
secondly it is shown that this point also satises the sucient conditions of optimality as
stated in Theorem 3.3.
Using the inversion formula (5.17)

J(y)−1 = C1 (y)Ar (y)−1C1 (y)T + C2 (y)

from Lemma 5.2 and the bounds (5.20a), (5.20b), and (5.20c), a bound on the norm of the
−1
inverse of J on the domain D can be established:

 
J(y1 )−1  ≤ βC1 βA βC1 + βC2 = β < ∞, ∀ y1 ∈ D.
−1
From continuity of J(y), J(y) is continuous on D . Using the denition (5.7) of J and
∂R
the full form of as shown in Eq. (5.6), we can conclude with assumption (5.20e) that
∂y
   
 ∂R   ∂ 2
L  κ
J(y2 ) − (y2 ) =A(y2 ) − (y ) ≤ , ∀ y2 ∈ D,
 ∂y   ∂(q, s)2
2  β

and therefore that the rst condition (5.13a) of Theorem 5.1 is satised:
  
 
J(y1 )−1 J(y2 ) − ∂R (y2 )  ≤ κ < 1, ∀ y1 , y2 ∈ D.
 ∂y 

Assumption (5.20d) ensures that condition (5.13b) of Theorem 5.1 is also satised:

 
J(y1 )−1 (J(y2 ) − J(y3 )) ≤ ωy2 − y3 , ∀ y1 , y2 , y3 ∈ D.

This allows to apply Theorem 5.1 to conclude that the iterates converge towards a point
y ∗ ∈ D0 ⊂ D which satises R(y ∗ ) = 0.

To prove that this point y is not only a regular KKT point, but also satises the
sucient conditions of optimality according to Theorem 3.3, it suces to show that the

171
172 Proof of Theorem 5.3
2
Hessian matrix ∇(q,s) L(q ∗ , s∗ , λ∗ ) is positive denite on the null space of the linearized
constraints ∇(q,s) G(q ∗ , s∗ ). For this scope rst note that the null space of the linearized
constraints is spanned by the matrix
 
I
∂g
−1 ,
− ∂s
∂g
∂q

and therefore it only needs to be shown that the reduced exact Hessian

 
∂2L ∂2L T  
∂g
−T  ∂q 2 I
∂q∂s
 ∂g
−1
Are (y ∗ ) :=
T
I − ∂g  
∂q ∂s
∂2L ∂2L
− ∂s
∂g
∂q
∂q∂s ∂s2

is positive denite. To show this, let us introduce the homotopy Aα : [0, 1] → R (nq ×nq )

Aα := (1 − α)Ar (y ∗ ) + αAre (y ∗),

and note that


 
 I 
 ∂g
−1 ∂g 
  ≤ C1  ≤ βC1 ,
 − ∂s ∂q


so that
 
∂g
−T ∂ 2 L I
Aα − Ar  = I − ∂g
T
α ∂(q,s)2 − A ∂g
−1
∂q ∂s − ∂s
∂g
∂q
κ ακ
≤ βC1 α βC1 ≤ .
βC1 βA βC1 + βC2 βA

Aα is invertible for all α ∈ [0, 1], as its inverse can be written


−1
−1 −1
A−1
α = Ar − (Ar − Ar A−1
r Aα ) = I − (I − A−1
r Aα ) Ar

and

I − A−1 −1
r Aα  = Ar (Ar − Aα )
≤ A−1
r Ar − Aα 
ακ
≤ βA = ακ ≤ κ < 1.
βA

As A0 = Ar is positive denite and Aα remains invertible for all α ∈ [0, 1], none of the
eigenvalues of Aα can become negative on the way from α = 0 to α = 1, so that in
particular A1 = Are is positive denite.
Appendix E

The Recursive Condensing Technique

For the rst step of the condensing approach that was introduced in Sec. 6.5, some matrix
products and sums have to be computed that involve the block sparse matrices B11 , B12 ,
B21 , B22 , A11 , A12 , and A22 , as dened in Sec. 6.5. We will show how the sparsity can be
exploited to perform these computations eciently.
−1 −1
The matrix M := −B11 B12 and the vector m := −B11 b1 can be calculated as follows.
Computing

X0|0 := I, Xi+1|0 := Xi Xi|0 , i = 0, . . . , N − 1,

and for j = 0, . . . , N − 1

Yj+1|j := Yj , Yi+1|j := Xi Yi|j , i = j + 1, . . . , N − 1,

as well as m0 := 0, mi+1 := Xi mi − ci , i = 0, . . . , N − 1, the matrix M and the vector


m can be written as
   
X1|0 Y1|0 m1
 X2|0 Y2|0
Y2|1   m2 
   
 X3|0 Y3|0
Y3|1 Y3|2   m3 
   
M :=  .. . . .. ..  and m :=  ..  .
 . .
.
.
. . .   . 
   
 XN |0 YN |0 YN |1 YN |2 · · · YN |N −1   mN 
0 0 0 0 0 I 0

The condensed Hessian matrix à := M T A11 M + M T A12 + AT12 M + A22 of the condensed
QP can be eciently computed if the structure of A and M is exploited. Computing


Ãss := N T
i=0 Xi|0 Qi Xi|0 ,

Ãs,j T
:= Xj|0 SjT + N T
Xk|0 Qk Yk|j , for j = 0, . . . , N,
N k=j+1 T
Ãi,i := Ri + k=i+1 Yk|i Qk Yk|i , for i = 0, . . . , N,

Ãi,j T T
:= Yj|i Sj + N T
k=j+1 Yk|i Qk Yk|j , for 0 ≤ i < j ≤ N,

i,N −1 := Ãi,N −1 + Ãi,N , for i = 0, . . . , N − 2,

173
174 The Recursive Condensing Technique

and Ã
s,N −1 := Ãs,N −1 + Ãs,N as well as Ã
N −1,N −1 := ÃN −1,N −1 + ÃN −1,N + ÃTN −1,N + ÃN,N ,
we can dene
 
Ãss Ãs,0 ··· Ãs,N −2 Ã
s,N −1
 ÃTs,0 Ã0,0 ··· Ã0,N −2 Ã
0,N −1 
 
 . .. . 
à :=  .. . .. .
 T 
 Ãs,N −2 Ã0,N −2 · · ·
T
ÃN −2,N −2 Ã
N −2,N −1 
T T T

s,N −1 Ã
0,N −1 · · · Ã
N −2,N −1 Ã
N −1,N −1

Similarly, the condensed objective gradient ã = M T A11 m + AT12 m + M T a1 + a2 =


(ãs , ã0 , . . . , ãN −2 , ã
N −1 ) can be calculated with


N
T

ãTs := g0x T + mi Qi + gix T Xi|0 ,


i=1

and for j = 0, . . . , N

T

N
T

ãTj := gjq + mTj SjT + mi Qi + gix T Qk Yk|j ,


k=j+1

and


N −1 := ãN −1 + ãN .

The two remaining condensed constraint functions


   
b̃s B̃s
b̃ + B̃∆w2 := + ∆w2 ,
b̃r B̃r
   
c̃r C̃r
 c̃0   C̃ 
   0
c̃ + C̃∆w2 :=  ..  +  .  ∆w2 ,
 .   .. 
c̃N C̃N

are built according to

b̃s := sx0 − x0 , B̃s := −I,


e e,x

b̃r := r + R mN , B̃r := Re,x XN |0 |YN |0| . . . |YN |N −1 + (0| . . . |0|Re,q ),


c̃r := r i + Ri,x mN , C̃r := Ri,x XN |0 |YN |0| . . . |YN |N −1 + (0| . . . |0|Ri,q ),


c̃i = hi + Hix mi , C̃i := Hix Xi|0 |Hix Yi|0 | . . . |Hix Yi|i−1 |Hiq |0| . . . ,
c̃N = hN + HNx mN ,

C̃N := HNx XN |0 |HNx YN |0 | . . . |HNx YN |N −2 |HNx YN |N −1 + HNq .


Bibliography

+
[ABQ 99] F. Allgöwer, T. A. Badgwell, J. S. Qin, J. B. Rawlings, and S. J. Wright.
Nonlinear predictive control and moving horizon estimation  An introductory
overview. In P. M. Frank, editor, Advances in Control, Highlights of ECC'99,
pages 391449. Springer, 1999.

[ADM95] O. Abel, T. Daszkowski, and W. Marquardt. Vergleich konventioneller und


prädiktiver Regelung am Beispiel eines absatzweise betriebenen Reaktors.
Technical Report 1995-07, Lehrstuhl für Prozesstechnik, RWTH Aachen, 1995.

+
[AFN 00] F. Allgöwer, R. Findeisen, Z. Nagy, M. Diehl, H.G. Bock, and J.P. Schlöder.
Ecient nonlinear model predictive control for large scale constrained pro-
cesses. In Proceedings of the Sixth International Conference on Methods and
Models in Automation and Robotics, pages 4354. Miedzyzdroje, Poland, 2000.

[Ama83] Herbert Amann. Gewöhnliche Dierentialgleichungen. de Gruyter, Berlin;


New York, 1983.

[Bau00] I. Bauer. Numerische Verfahren zur Lösung von Anfangswertaufgaben und zur
Generierung von ersten und zweiten Ableitungen mit Anwendungen bei Opti-
mierungsaufgaben in Chemie und Verfahrenstechnik. PhD thesis, University
of Heidelberg, 2000.

+
[BBB 01] T. Binder, L. Blank, H.G. Bock, R. Bulirsch, W. Dahmen, M. Diehl,
T. Kronseder, W.Marquardt, J.P. Schlöder, and O. v.Stryk. Introduction
to model based optimization of chemical processes on moving horizons. In
M. Groetschel, S.O. Krumke, and J. Rambau, editors, Online Optimization of
Large Scale Systems: State of the Art. Springer, 2001.

[BBLS99] H.G. Bock, I. Bauer, D.B. Leineweber, and J.P. Schlöder. Direct multiple
shooting methods for control and optimization of dae in chemical engineering.
In F. Keil, W. Mackens, H. Voÿ, and J. Werther, editors, Scientic Computing
in Chemical Engineering II, volume 2, pages 218, Berlin, 1999. Springer.

[BBS99] I. Bauer, H. G. Bock, and J. P. Schlöder. DAESOL  a BDF-code for the


numerical solution of dierential algebraic equations. Internal report, IWR,
SFB 359, Universität Heidelberg, 1999.

175
176 BIBLIOGRAPHY

[BDLS00] H.G. Bock, M. Diehl, D. Leineweber, and J.P. Schlöder. A direct multiple
shooting method for real-time optimization of nonlinear DAE processes. In
F. Allgöwer and A. Zheng, editors, Nonlinear Predictive Control, volume 26
of Progress in Systems Theory, pages 246267, Basel, 2000. Birkhäuser.

+
[BDS 00] H.G. Bock, M. Diehl, J.P. Schlöder, F. Allgöwer, R. Findeisen, and Z. Nagy.
Real-time optimization and nonlinear model predictive control of processes
governed by dierential-algebraic equations. In ADCHEM2000 - International
Symposium on Advanced Control of Chemical Processes, volume 2, pages 695
703, Pisa, 2000.

[Bel57] R.E. Bellman. Dynamic Programming. Princeton University Press, 1957.

[Ber95a] D.P. Bertsekas. Dynamic Programming and Optimal Control, volume 1.


Athena Scientic, Belmont, MA, 1995.

[Ber95b] D.P. Bertsekas. Dynamic Programming and Optimal Control, volume 2.


Athena Scientic, Belmont, MA, 1995.

[BES88] H.G. Bock, E. Eich, and J.P. Schlöder. Numerical solution of constrained
least squares boundary value problems in dierential-algebraic equations. In
K. Strehmel, editor, Numerical Treatment of Dierential Equations. Teubner,
Leipzig, 1988.

[BH69] A. E. Bryson and Y.-C. Ho. Applied Optimal Control. Ginn and Company,
Waltham, Massachusetts, 1969.

[Bie84] L. T. Biegler. Solution of dynamic optimization problems by successive


quadratic programming and orthogonal collocation. Comput. Chem. Engng.,
8:243248, 1984.

[Bie00] L. Biegler. Ecient solution of dynamic optimization and NMPC problems.


In F. Allgöwer and A. Zheng, editors, Nonlinear Predictive Control, volume 26
of Progress in Systems Theory, pages 219244, Basel, 2000. Birkhäuser.

[Boc81] H.G. Bock. Numerical treatment of inverse problems in chemical reaction


kinetics. In K. H. Ebert, P. Deuhard, and W. Jäger, editors, Modelling of
Chemical Reaction Systems, volume 18 of Springer Series in Chemical Physics.
Springer, Heidelberg, 1981.

[Boc83] H. G. Bock. Recent advances in parameter identication techniques for ODE.


In P. Deuhard and E. Hairer, editors, Numerical Treatment of Inverse Prob-
lems in Dierential and Integral Equations. Birkhäuser, Boston, 1983.

[Boc87] H.G. Bock. Randwertproblemmethoden zur Parameteridentizierung in Sys-


temen nichtlinearer Dierentialgleichungen, volume 183 of Bonner Mathema-
tische Schriften. University of Bonn, Bonn, 1987.
BIBLIOGRAPHY 177

[BP84] H.G. Bock and K.J. Plitt. A multiple shooting algorithm for direct solution
of optimal control problems. In Proc. 9th IFAC World Congress Budapest.
Pergamon Press, 1984.

[BR91] L. T. Biegler and J. B. Rawlings. Optimization approaches to nonlinear model


predictive control. In Y. Arkun and W. H. Ray, editors, Chemical Process
Control  CPC IV, pages 543571, Austin, Texas, 1991. The CACHE Corp.

[BS79] M. S. Bazaara and C. M. Shetty. Nonlinear Programming: Theory and Appli-


cations. Wiley, New York, 1979.

[BS81] H.G. Bock and J.P. Schlöder. Numerical solution of retarded dierential equa-
tions with state-dependent time lags, volume 61. Z. angew. Math. Mech., 1981.

[BS96] D.P. Bertsekas and S.E. Shreve. Stochastic Optimal Control: The Discrete
Time Case. Athena Scientic, Belmont, MA, 1996.

[BS01] H.G. Bock and J.P. Schlöder. An ecient multiple shooting based reduced
sqp strategy for large-scale dynamic process optimization. Comp. Chem. Eng.,
2001. in preparation.

[BT96] D.P. Bertsekas and J.N. Tsitsiklis. Neuro-Dynamic Programming. Athena


Scientic, Belmont, MA, 1996.

[Bür01] Tobias Bürner. Algorithmen zur on-line Parameter- und Zustandsschätzung


bei DAE Systemen. Master's thesis, University of Heidelberg, 2001.

[CA98] H. Chen and F. Allgöwer. A quasi-innite horizon nonlinear model predictive


control scheme with guaranteed stability. Automatica, 34(10):12051218, 1998.

[CB89] J.E. Cuthrell and L.T. Biegler. Simultaneous optimization and solution me-
thods for batch reactor proles. Comp. & Chem. Eng., 13(1/2):4962, 1989.

[Che97] H. Chen. Stability and Robustness Considerations in Nonlinear Model Pre-


dictive Control. Fortschr.-Ber. VDI Reihe 8 Nr. 674. VDI Verlag, Düsseldorf,
1997.

[CKA95] H. Chen, A. Kremling, and F. Allgöwer. Nonlinear predictive control of a


benchmark CSTR. In Proc. 3rd European Control Conference ECC'95, pages
32473252, Rome, 1995.

[CSA97] H. Chen, C.W. Scherer, and F. Allgöwer. A game theoretic approach to non-
linear robust receding horizon control of constrained systems. In Proc. Amer.
Contr. Conf., pages 30733077, Albuquerque, 1997.
178 BIBLIOGRAPHY

[DBLS99] M. Diehl, H.G. Bock, D.B. Leineweber, and J.P. Schlöder. Ecient direct mul-
tiple shooting in nonlinear model predictive control. In F. Keil, W. Mackens,
H. Voÿ, and J. Werther, editors, Scientic Computing in Chemical Engineering
II, volume 2, pages 218227, Berlin, 1999. Springer.

+
[DBS 01] M. Diehl, H.G. Bock, J.P. Schloeder, R. Findeisen, Z. Nagy, and F. Allgoewer.
Real-time optimization and nonlinear model predictive control of processes
governed by dierential-algebraic equations. J. Proc. Contr., 2001.

[Die98] M. Diehl. A direct multiple shooting method for the optimization and control
of chemical processes. Master's thesis, University of Heidelberg, 1998.

[Die01] Angelika Dieses. Numerical methods for optimization problems in water ow
and reactive solute transport processes of xenobiotics in soils. Technical Report
SFB Preprint 2001-07, University of Heidelberg, 2001. Ph.D. Thesis.

[DMS96] G. De Nicolao, L. Magni, and R. Scattolini. Stabilizing nonlinear receding hori-


zon control via a nonquadratic terminal state penalty. In Symposium on Con-
trol, Optimization and Supervision, CESA'96 IMACS Multiconference, pages
185187, Lille, 1996.

[DMS00] G. De Nicolao, L. Magni, and R. Scattolini. Stability and robustness of non-


linear receding horizon control. In F. Allgöwer and A. Zheng, editors, Nonlin-
ear Predictive Control, volume 26 of Progress in Systems Theory, pages 323,
Basel, 2000. Birkhäuser.

[DR96] I. S. Du and J. K. Reid. The design of MA48: A code for the direct solution
of sparse unsymmetric linear systems of equations. ACM Trans. Math. Softw.,
22:187226, 1996.

+
[DUF 01] M. Diehl, I. Uslu, R. Findeisen, S. Schwarzkopf, F. Allgöwer, H.G. Bock,
T. Bürner, E.D. Gilles, A. Kienle, J.P. Schlöder, and E. Stein. Real-time
optimization of large scale process models: Nonlinear model predictive control
of a high purity distillation column. In M. Groetschel, S.O. Krumke, and
J. Rambau, editors, Online Optimization of Large Scale Systems: State of the
Art. Springer, 2001.

[DV93] J.J. Downs and E.F. Vogel. A plant-wide industrial process control problem.
Comp. & Chem. Eng., 17:245255, 1993.

[EKKvS99] G. Engl, A. Kröner, T. Kronseder, and O. von Stryk. Numerical simulation


and optimal control of air separation plants. In Chr. Zenger H.-J. Bungartz,
F. Durst, editor, High Performance Scientic and Engineering Computing,
volume 8 of Lecture Notes in Computational Science and Engineering, pages
221231. Springer, 1999.
BIBLIOGRAPHY 179

[FA00] R. Findeisen and F. Allgöwer. Nonlinear model predictive control for index
one DAE systems. In F. Allgöwer and A. Zheng, editors, Nonlinear Predictive
Control, pages 145162. Birkhäuser, 2000.

+
[FAD 00] R. Findeisen, F. Allgöwer, M. Diehl, H.G. Bock, J.P. Schlöder, and Z. Nagy.
Ecient nonlinear model predictive control. submitted, 2000.

[Fle87] R. Fletcher. Practical Methods of Optimization. Wiley, Chichester, 2 edition,


1987.

[GB94] J. V. Gallitzendörfer and H. G. Bock. Parallel algorithms for optimization


boundary value problems in dae. In H. Langendörfer, editor, Praxisorientierte
Parallelverarbeitung. Hanser, München, 1994.

[GMSW83] P. E. Gill, W. Murray, M. A. Saunders, and M. H. Wright. User's guide for


SOL/QPSOL: a fortran package for quadratic programming. Technical Re-
port SOL 83-7, Systems Optimization Laboratory, Department of Operations
Research, Stanford University, 1983.

[GPM89] C. E. García, D. M. Prett, and M. Morari. Model predictive control: Theory


and practice  a survey. Automatica, 25:335, 1989.

[GV83] C. W. Gear and T. Vu. Smooth numerical solutions of ordinary dierential


equations. In P. Deuhard and E. Hairer, editors, Numerical Treatment of
Inverse Problems in Dierential and Integral Equations. Birkhäuser, Boston,
1983.

[GVJ90] J. Guddat, F. Guerra Vasquez, and H. Th. Jongen. Parametric Optimization:


Singularities, Pathfollowing and Jumps. B.G.Teubner; John Wiley & Sons,
1990.

[Han76] S. P. Han. Superlinearly convergent variable-metric algorithms for general


nonlinear programming problems. Math. Progr., 11:263282, 1976.

[Hin98] H. Hinsberger. Ein direktes Mehrzielverfahren zur Lösung von Optimalsteue-


rungsproblemen mit groÿen, dierential-algebraischen Gleichungssystemen und
Anwendungen aus der Verfahrenstechnik. PhD thesis, Technical University of
Clausthal, 1998.

[HMP96] H. Hinsberger, S. Miesbach, and H. J. Pesch. Optimal temperature control


of semibatch polymerization reactors. In F. Keil, H. VoÿW. Mackens, and
J. Werther, editors, Scientic Computing in Chemical Engineering, Heidel-
berg, 1996. Springer.

[HR71] G. A. Hicks and W. H. Ray. Approximation methods for optimal control


systems. Can. J. Chem. Engng, 49:522528, 1971.
180 BIBLIOGRAPHY

[JT61] P.D. Joseph and J.T. Tou. On linear control theory. Trans. AIEE, 80(18),
1961.

[Kal60] R.E. Kalman. A new approach to linear ltering and prediction problems.
Trans. ASME, J. Basic Engineering, pages 3545, March 1960.

[Kar39] W. Karush. Minima of functions of several variables with inequalities as


side conditions. Master's thesis, Department of Mathematics, University of
Chicago, 1939.

[KE85] P. Krämer-Eis. Ein Mehrzielverfahren zur numerischen Berechnung opti-


maler Feedback-Steuerungen bei beschränkten nichtlinearen Steuerungsproble-
men, volume 166 of Bonner Mathematische Schriften. University of Bonn,
1985.

[KE93] K.-U. Klatt and S. Engell. Rührkesselreaktor mit Parallel- und Folgereaktion.
In S. Engell, editor, Nichtlineare Regelung  Methoden, Werkzeuge, Anwendun-
gen. VDI-Berichte Nr. 1026, pages 101108. VDI-Verlag, Düsseldorf, 1993.

[KEB87] P. Krämer-Eis and H.G. Bock. Numerical treatment of state and control
constraints in the computation of feedback laws for nonlinear control problems.
In P. Deuhard et al., editor, Large Scale Scientic Computing, pages 287306.
Birkhäuser, 1987.

[KM72] V. Klee and G.J. Minty. How good is the simplex algorithm? In O. Shisha,
editor, Inequalities, volume III, pages 159175. Academic Press, New York,
1972.

[KP90a] B. Kugelmann and H.J. Pesch. New general guidance method in constrained
optimal control, part 1: Numerical method. J. Optimization Theory and Ap-
plication, 67(3):421435, 1990.

[KP90b] B. Kugelmann and H.J. Pesch. New general guidance method in constrained
optimal control, part 2: Application to space shuttle guidance. J. Optimization
Theory and Application, 67(3):437446, 1990.

[Kra85] D. Kraft. On converting optimal control problems into nonlinear programming


problems. In K. Schittkowski, editor, Computational Mathematical Program-
ming, volume F15 of NATO ASI, pages 261280. Springer, 1985.

[KT51] H. W. Kuhn and A. W. Tucker. Nonlinear programming. In J. Neyman, editor,


Proceedings of the Second Berkeley Symposium on Mathematical Statistics and
Probability, Berkeley, 1951. University of California Press.

[KvSB01] T. Kronseder, O. von Stryk, and R. Bulirsch. Towards nonlinear model based
predictive optimal control of large-scale process models with application to air
BIBLIOGRAPHY 181

separation plants. In J. Rambau M. Groetschel, S.O. Krumke, editor, Online


Optimization of Large Scale Systems: State of the Art. Springer, 2001.

[LB89] W.C. Li and L.T. Biegler. Multistep, newton-type control strategies for con-
strained nonlinear processes. Chem. Eng. Res. Des., 67:562577, 1989.

[LBS97] D.B. Leineweber, H.G. Bock, and J.P. Schlöder. Fast direct methods for real-
time optimization of chemical processes. In Proc. 15th IMACS World Congress
on Scientic Computation, Modelling and Applied Mathematics Berlin, Berlin,
1997. Wissenschaft- und Technik-Verlag.

[Lei96] D. B. Leineweber. The theory of muscod in a nutshell. IWR-Preprint 96-19,


University of Heidelberg, 1996.

[Lei99] D.B. Leineweber. Ecient reduced SQP methods for the optimization of chem-
ical processes described by large sparse DAE models, volume 613 of Fortschr.-
Ber. VDI Reihe 3, Verfahrenstechnik. VDI Verlag, Düsseldorf, 1999.

[LEL92] M.J. Liebman, T.F. Edgar, and L.S. Lasdon. Ecient data reconciliation and
estimation for dynamic processes using nonlinear programming techniques.
Comp. & Chem. Eng., 16(10/11):963986, 1992.

[LM68] E.B. Lee and L. Markus. Foundations of Optimal Control Theory. Wiley, New
York, 1968.

[LMG94] J. H. Lee, M. Morari, and C.E. García. State-space interpretation of model


predictive control. Automatica, 30(4):707717, 1994.

[Loc86] M.J. Lockett. Distillation Tray fundamentals. Cambridge University Press,


Cambridge, 1986.

[May96] D.Q. Mayne. Nonlinear model predictive control: An assessment. In J.C.


Kantor, C.E. Garcia, and B. Carnahan, editors, Fifth International Conference
on Chemical Process Control  CPC V, pages 217231. American Institute of
Chemical Engineers, 1996.

[May00] D.Q. Mayne. Nonlinear model predictive control: Challenges and opportuni-
ties. In F. Allgöwer and A. Zheng, editors, Nonlinear Predictive Control, vol-
ume 26 of Progress in Systems Theory, pages 2344, Basel, 2000. Birkhäuser.

[ME96] K.R. Muske and T.F. Edgar. Nonlinear state estimation. In M.A. Henson
and D.E. Seborg, editors, Nonlinear Process Control, pages 311370. Prentice
Hall, 1996.

[MHAM96] A. M'hamdi, A. Helbig, O. Abel, and W. Marquardt. Newton-type receding


horizon control and state estimation. In Proc. 13rd IFAC World Congress,
pages 121126, San Francisco, 1996.
182 BIBLIOGRAPHY

[MM90] D.Q. Mayne and H. Michalska. Receding horizon control of nonlinear systems.
IEEE Trans. Automat. Contr., 35(7):814824, 1990.

[MM93] H. Michalska and D.Q. Mayne. Robust receding horizon control of constrained
nonlinear systems. IEEE Trans. Automat. Contr., AC-38(11):16231633, 1993.

[Mor87] M. Morari. Robust process control. Chem. Eng. Res. Des., 65:462479, 1987.

+
[NFD 00] Z. Nagy, R. Findeisen, M. Diehl, F. Allgöwer, H.G. Bock, S. Agachi, J.P.
Schlöder, and D.B. Leineweber. Real-time feasibility of nonlinear predictive
control for large scale processes  a case study. In Proc. of ACC 2000, Chicago,
2000. in press.

[NW99] J. Nocedal and S. J. Wright. Numerical Optimization. Springer, 1999.

[OB95a] N. M.C. de Oliveira and L. T. Biegler. Newton-type algorithms for nonlinear


process control. algorithm and stability results. Automatica, 31(2):281286,
1995.

[OB95b] N.M.C. de Oliveira and L.T. Biegler. An extension of Newton-type algorithms


for nonlinear process control. Automatica, 31(2), 1995.

[OM94] S. de Oliveira and M. Morari. Robust model predictive control for nonlinear
systems. In Proc. 33rd IEEE Conf. Decision Contr., pages 35613566, Lake
Buena Vista, FL, December 1994. IEEE.

[PB93] C.C. Pantelides and P.I. Barton. Equation oriented dynamic simulation: Cur-
rent status and future perspectives. Comp. Chem. Eng., 17S:S263S285, 1993.

[Pes78] H.J. Pesch. Numerische Berechnung optimaler Flugbahnkorrekturen in


Echtzeitrechnung. PhD thesis, TU München, 1978.

[Pli81] K.J. Plitt. Ein superlinear konvergentes Mehrzielverfahren zur direkten


Berechnung beschränkter optimaler Steuerungen. Master's thesis, University
of Bonn, 1981.

[Pow78] M. J. D. Powell. A fast algorithm for nonlinearly constrained optimization


calculations. In G. A. Watson, editor, Numerical Analysis, Dundee 1977,
volume 630 of Lecture Notes in Mathematics, Berlin, 1978. Springer.

+
[PRG 97] L. Petzold, J.B. Rosen, P.E. Gill, L.O. Jay, and K. Park. Numerical optimal
control of parabolic PDEs using DASOPT. In Biegler, Coleman, Conn, and
Santosa, editors, Large Scale Optimization with Applications, Part II. Springer,
1997.
BIBLIOGRAPHY 183

[PSV94] C. C. Pantelides, R. W. H. Sargent, and V. S. Vassiliadis. Optimal control of


multistage systems described by high-index dierential-algebraic equations. In
R. Bulirsch and D. Kraft, editors, Computational Optimal Control. Birkhäuser,
Basel, 1994.

[QB96] S.J. Qin and T.A. Badgwell. An overview of industrial model predictive control
technology. In J.C. Kantor, C.E. Garcia, and B. Carnahan, editors, Fifth
International Conference on Chemical Process Control  CPC V, pages 232
256. American Institute of Chemical Engineers, 1996.

[QB00] S.J. Qin and T.A. Badgwell. An overview of nonlinear model predictive con-
trol applications. In F. Allgöwer and A. Zheng, editors, Nonlinear Predictive
Control, volume 26 of Progress in Systems Theory, pages 370392, Basel, 2000.
Birkhäuser.

+
[RBP 99] R. Ross, V. Bansal, J.D. Perkins, E.N. Pistikopoulos, J.M.G. van Schijndel,
and G.L.M. Koot. Optimal design and control of an industrial distillation
system. Comput. Chem. Eng., 23(SS):S875S878, 1999.

[RL91] O. Rosen and R. Luus. Evaluation of gradients for piecewise constant optimal
control. Comput. Chem. Engng, 15:273281, 1991.

[RMM94] J.B. Rawlings, E.S. Meadows, and K.R. Muske. Nonlinear model predictive
control: A tutorial and survey. In Proc. Int. Symp. Adv. Control of Chemical
Processes, ADCHEM, Kyoto, Japan, 1994.

[Rob74] S. M. Robinson. Perturbed kuhn-tucker points and rates of convergence for a


class of nonlinear programming algorithms. Math. Progr., 7:116, 1974.

[RR00] C.V. Rao and J.B. Rawlings. Nonlinear moving horizon state estimation. In
F. Allgöwer and A. Zheng, editors, Nonlinear Predictive Control, pages 4569.
Birkhäuser, 2000.

[RWR98] C.V. Rao, S.J. Wright, and J.B. Rawlings. Application of interior-point me-
thods to model predictive control. J. Opt. Theory and Appl., 99:723757,
1998.

+
[SAC 00] L. O. Santos, P. Afonso, J. Castro, N. M.C. de Oliveira, and L. T. Biegler.
On-line implementation of nonlinear MPC: An experimental case study. In
ADCHEM2000 - International Symposium on Advanced Control of Chemical
Processes, volume 2, pages 731736, Pisa, 2000.

[San00] L.O. Santos. Multivariable Predictive Control of Nonlinear Chemical Processes.


PhD thesis, Universidade de Coimbra, 2000.
184 BIBLIOGRAPHY

[SBS98] V.H. Schulz, H.G. Bock, and M.C. Steinbach. Exploiting invariants in the
numerical solution of multipoint boundary value problems for daes. SIAM J.
Sci. Comp., 19:440467, 1998.

[Sch88] J.P. Schlöder. Numerische Methoden zur Behandlung hochdimensionaler Auf-


gaben der Parameteridentizierung, volume 187 of Bonner Mathematische
Schriften. University of Bonn, Bonn, 1988.

[Sch96] V.H. Schulz. Reduced SQP methods for large-scale optimal control problems in
DAE with application to path planning problems for satellite mounted robots,
volume 96-12 of IWR-Preprint. University of Heidelberg, 1996. Ph.D. thesis.

[Sim56] H.A. Simon. Dynamic programming under uncertainty with a quadratic cri-
terion function. Econometrica, 24:7481, 1956.

[SOB95] L. O. Santos, N. M.C de Oliveira, and L. T. Biegler. Reliable and ecient


optimization strategies for nonlinear model predictive control. In Proc. Fourth
IFAC Symposium DYCORD+'95, pages 3338, Oxford, 1995. Elsevier Science.

[Son90] E.D. Sontag. Mathematical Control Theory. Springer-Verlag, New York, 1990.

[Sor99] E. Sorensen. A cylic operating policy for batch distillation - theory and prac-
tice. Comput. Chem. Eng., 23 (4-5):533542, 1999.

[SS78] R. W. H. Sargent and G. R. Sullivan. The development of an ecient optimal


control package. In J. Stoer, editor, Proceedings of the 8th IFIP Conference
on Optimization Techniques (1977), Part 2, Heidelberg, 1978. Springer.

[Ste95] M.C. Steinbach. Fast recursive SQP methods for large-scale optimal control
problems. Ph.d. thesis, University of Heidelberg, 1995.

[TA94] P. Terwiesch and M. Agarwal. On-line corrections of pre-optimized input


proles for batch reactors. Comp. Chem. Eng., 18:433437, 1994.

[TB95] P. Tanartkit and L. T. Biegler. Stable decomposition for dynamic optimization.


Ind. Eng. Chem. Res., 34:12531266, 1995.

[TB96] P. Tanartkit and L. T. Biegler. A nested, simultaneous approach for dynamic


optimization problems  i. Comput. Chem. Engng, 20:735741, 1996.

[THE75] T.H. Tsang, D.M. Himmelblau, and T.F. Edgar. Optimal control via colloca-
tion and non-linear programming. Int. J. Control, 1975.

[VSP94a] V.S. Vassiliadis, R.W.H. Sargent, and C.C. Pantelides. Solution of a class
of multistage dynamic optimization problems. 1. problems without path con-
straints. Ind. Eng. Chem. Res., 10(33):21112122, 1994.
BIBLIOGRAPHY 185

[VSP94b] V.S. Vassiliadis, R.W.H. Sargent, and C.C. Pantelides. Solution of a class of
multistage dynamic optimization problems. 2. problems with path constraints.
Ind. Eng. Chem. Res., 10(33):21222133, 1994.

[Web95] R. Weber. Prädiktive regelung von nichtlinearen systemen. Semesterarbeit ifa


8781, Institut für Automatik, ETH Zürich, 1995.

[Wil63] R. B. Wilson. A simplicial algorithm for concave programming. PhD thesis,


Harvard University, 1963.

[Wil65] J. H. Wilkinson. The Algebraic Eigenvalue Problem. Claredon Press, Oxford,


1965.

[Wri96] S. J. Wright. Applying new optimization algorithms to model predictive con-


trol. In J.C. Kantor, C.E. Garcia, and B. Carnahan, editors, Fifth Inter-
national Conference on Chemical Process Control  CPC V, pages 147155.
American Institute of Chemical Engineers, 1996.

[Wri97] S.J. Wright. Primal-Dual Interior-Point Methods. SIAM Publications,


Philadelphia, 1997.

[YP93] T. H. Yang and E. Polak. Moving horizon control of nonlinear systems with
input saturation, disturbances and plant uncertainty. Int. J. Contr., 58(4):875
903, 1993.

[ZDG96] K. Zhou, J.C. Doyle, and K. Glover. Robust and optimal control. Prentice-Hall,
1996.

You might also like