You are on page 1of 16

Proceedings of the 20th World Congress

The International
Proceedings Federation
of the 20th Worldof Congress
Automatic Control
The International Federation of Automatic Control
Toulouse,
The France,
Proceedings of the
International July
20th9-14,
World
Federation 2017
of Congress
Automatic Control
Toulouse, France, July 9-14, 2017 Available online at www.sciencedirect.com
The International
Toulouse, France,Federation of Automatic Control
July 9-14, 2017
Toulouse, France, July 9-14, 2017
ScienceDirect
IFAC PapersOnLine 50-1 (2017) 13194–13209
Embedded
Embedded Optimization
Optimization Methods
Methods for
for
Embedded
Industrial Optimization
Automatic Methods
Control 
 for
Embedded
Industrial Optimization
Automatic Methods for
Control
Industrial Automatic Control 
Industrial Automatic Control
H.J. Ferreau ∗∗ S. Almér ∗∗ R. Verschueren ∗∗ ∗∗
∗∗ M. Diehl ∗∗
H.J. Ferreau
∗∗∗ ∗ S. Almér ∗ R. Verschueren
∗∗∗∗ ∗∗ M. Diehl ∗∗
D. H.J.
D. FrickFerreau
Frick S. Almér
∗∗∗ A. Domahidi ∗∗∗∗ R.
J.L. Jerez ∗∗∗∗
Verschueren M. Diehl
∗∗∗∗ G. Stathopoulos


H.J. ∗∗∗ A. Domahidi
Ferreau ∗
S. Almér ∗ J.L. Jerez
∗∗∗∗ R. ∗∗∗∗ G.
Verschueren
† ∗∗ Stathopoulos
M. Diehl ∗∗ †
D. Frick A. Domahidi C. J.L.
Jones
C. Jones Jerez
† G. Stathopoulos
D. Frick ∗∗∗ A. Domahidi ∗∗∗∗ J.L.
C. Jones Jerez
† ∗∗∗∗
G. Stathopoulos †

∗ C. Jones
∗ ABB Corporate Research, Segelhofstrasse 1K, 5405 Baden-Dättwil,
∗ ABB Corporate Research, Segelhofstrasse 1K, 5405 Baden-Dättwil,
ABB Corporate
Switzerland, Research,
e-mail: Segelhofstrasse 1K, 5405 Baden-Dättwil,
{joachim.ferreau,stefan.almer}@ch.abb.com
{joachim.ferreau,stefan.almer}@ch.abb.com
∗ Switzerland, e-mail:
ABB
∗∗ Corporate
Switzerland,
∗∗ Systems Research,
e-mail:
Control Segelhofstrasse 1K, 5405 Baden-Dättwil,
{joachim.ferreau,stefan.almer}@ch.abb.com
and Optimization
∗∗ Systems Control
Switzerland, e-mail:and Optimization Laboratory, Department
Laboratory, Department of
{joachim.ferreau,stefan.almer}@ch.abb.com of
Systems
Microsystems
Microsystems Control and
Engineering
Engineering Optimization
and
and Department
Department Laboratory,
of
of Department
Mathematics,
Mathematics, of
University
University
∗∗
of Systems Engineering
Microsystems
Freiburg, Control and and
Optimization
Department
Georges-Koehler-Allee 102, Laboratory,
of
79110 Department
Mathematics,
Freiburg, of
University
Germany,
of Freiburg, Engineering
Microsystems Georges-Koehler-Allee 102, 79110
and Department Freiburg, Germany,
of Mathematics, University
ofe-mail:
Freiburg,
e-mail: Georges-Koehler-Allee 102, 79110 Freiburg, Germany,
{robin.verschueren,moritz.diehl}@imtek.uni-freiburg.de
{robin.verschueren,moritz.diehl}@imtek.uni-freiburg.de
of∗∗∗
Freiburg,
e-mail:
AutomaticGeorges-Koehler-Allee
Control 102, 79110 Freiburg, Germany,
{robin.verschueren,moritz.diehl}@imtek.uni-freiburg.de
∗∗∗
Automatic
e-mail:
∗∗∗ Control Laboratory,
Laboratory, ETH
ETH Zürich,
Zürich, Physikstrasse
Physikstrasse 3,
{robin.verschueren,moritz.diehl}@imtek.uni-freiburg.de 3,
Automatic
8092
8092 Zurich,
Zurich,Control Laboratory,
Switzerland,
Switzerland, e-mail:
e-mail:ETH Zürich, Physikstrasse 3,
dafrick@control.ee.ethz.ch
dafrick@control.ee.ethz.ch
∗∗∗
∗∗∗∗ 8092Automatic
∗∗∗∗ embotech Zurich,Control Laboratory,
Switzerland,
GmbH, e-mail:
Physikstrasse 3,ETH Zürich,Control
Physikstrasse 3,
dafrick@control.ee.ethz.ch
∗∗∗∗ embotech
8092 GmbH,
Zurich, Physikstrasse
Switzerland, 3, Automatic
e-mail: Automatic Control Laboratory,
Laboratory,
dafrick@control.ee.ethz.ch
8092
8092 embotech
Zurich,
Zurich, GmbH, Physikstrasse
Switzerland,
Switzerland, e-mail:
e-mail: 3, Automatic Control Laboratory,
{domahidi,jerez}@embotech.com
{domahidi,jerez}@embotech.com
∗∗∗∗
† embotech
8092 Zurich, GmbH, Physikstrasse
Switzerland, e-mail: 3, Automatic Control Laboratory,
{domahidi,jerez}@embotech.com
† Automatic Control Laboratory, École Polytechnique Fédérale de
† Automatic
8092 Zurich, Control Laboratory,
Switzerland, e-mail: École Polytechnique Fédérale de
{domahidi,jerez}@embotech.com
Automatic Control Laboratory,
Lausanne,
Lausanne, 1015 École
Lausanne,
1015 Lausanne, Polytechnique
Switzerland, Fédérale de
Switzerland, Fédérale

Automatic Control Laboratory,
Lausanne,
e-mail: 1015 École Polytechnique
Lausanne, Switzerland,
{georgios.stathopoulos,colin.jones}@epfl.ch de
e-mail: {georgios.stathopoulos,colin.jones}@epfl.ch
Lausanne, 1015 Lausanne, Switzerland,
e-mail: {georgios.stathopoulos,colin.jones}@epfl.ch
e-mail: {georgios.stathopoulos,colin.jones}@epfl.ch
Abstract:
Abstract:
Abstract:
Starting
Starting in in the
the late
late 1970s,
1970s, optimization-based
optimization-based control control has
has built
built up up an
an impressive
impressive track track record
record of of
Abstract:
Starting
successful in the late
industrial 1970s, optimization-based
applications, in particular control
in the has built
petrochemical up an
andimpressive
process track record
industries. More of
successful
Starting inindustrial applications,
the late 1970s, in particular
optimization-based in the
control petrochemical
has built up and
an process
impressive industries.
track recordMore of
successful
recently, industrial
optimization
recently, optimization applications,
methods forin particular
automatic
methods forinautomatic in the
control
control petrochemical
are more
are more andand and and
more
more process
deployed
deployed industries.
on More
so-called
on so-called
successful
recently,
embedded industrial
optimization
hardware applications,
tomethods
cater forfor particular control
automatic in the petrochemical
application-specific are
needs moresuch and
as more process
deployed
guaranteed industries.
on More
so-called
communication
embeddedoptimization
recently, hardware tomethods cater for application-specific needs such as guaranteed communication
embedded
latency,
latency, low
lowhardware
energy
energy to cater forforapplication-specific
consumption
consumption
automatic
or
or cost
cost
control needs
are more
effectiveness.
effectiveness. suchand
This
This
more deployed
as guaranteed
development
development greatly
greatly
on broadens
so-called
communication
broadens
embedded
latency,
the scope lowhardware
of energy
applicationsto cater
consumption
to for
whichapplication-specific
or cost
optimization needsThis
effectiveness.
methods such
can as guaranteed
development
be applied to communication
greatly
sectors broadens
such
the scopelow
latency, of energy
applications to whichoroptimization
consumption cost methodsThis
effectiveness. can development
be applied togreatly such as
sectorsbroadens as
the scope
robotics,
robotics, of applications
automotive,
automotive, to
aerospace
aerospace which
or optimization
power
or power electronics.
electronics. methods
However,
However, canit be
also
it also applied
poses to sectors
additional
poses additional such
challenges
challenges as
the scope
robotics, of applications to which optimization methods can be applied to sectors such as
regardingautomotive,
regarding
robotics,
both
both the
automotive,
aerospaceconcepts
the algorithmic
algorithmic
aerospace
or powerand
concepts
or power
electronics.
and their
electronics.
However,
their actual
actual it also posesfor
implementations
implementations
However, itembedded
additional
for aa given
also posesoptimization
additional
challenges
given computing
computing
challenges
regarding
hardware.
hardware. both both
This the
This the algorithmic
survey
survey paper concepts
discusses
paper discusses and
key
key their
challenges
challengesactual
for implementations
using
for implementations for
using embedded optimization a given computing
methods
methods
regarding
hardware.
and summarizesThis algorithmic
survey
their paper
main use concepts
discusses
cases in and
key
currenttheir
challengesactual
for
industrial using
practice.embedded
Motivated for abygiven
optimization
this computing
methods
discussion,
and summarizes
hardware. This their
survey main
paper use cases
discusses in current industrial practice. Motivated by this discussion,
and
a summarizes
a number
number of their main
of dedicated
dedicated use
embedded
embedded inkey
casesoptimizationchallenges
current
optimization
for using
industrial
algorithms
algorithms practice.
andembedded
and theirMotivated
their
optimization
actualby
actual methods
this discussion,
implementations
implementations
and
aare summarizes
number
reviewed. of The their
dedicated main use cases
embedded
presentation is in currentaccording
optimization
organized industrial
algorithms practice.
to and
the Motivated
their actual
mathematical byimplementations
this discussion,
structure
aarenumber
reviewed. The presentation
of dedicated embedded is optimization
organized accordingalgorithmsto the mathematical
andprogramming
their actual over structure of
implementations of the
the
are reviewed.
embedded
embedded The
optimization
optimization presentation
problem,
problem, is organized
ranging
ranging from
from according
convex
convex to
quadratic
quadratic the mathematical
programming structure
over more
more of the
general
general
are reviewed.
embedded The presentation
problem, is organized
from according to the mathematical structure of the
convex
convex and
embedded andoptimization
nonconvex
nonconvex problems
problems ranging
to
to formulations
formulations convex quadratic
comprising
comprising programming
discrete
discrete optimization
optimization over more general
variables.
variables.
convex andoptimization
nonconvex problemsproblem, to ranging from convex
formulations quadratic
comprising programming
discrete optimization over more general
variables.
© 2017, and
convex IFACnonconvex
(International Federation
problems of Automatic Control)
to formulations comprisingHosting by Elsevier
discrete Ltd. All rights
optimization reserved.
variables.
Keywords:
Keywords: Optimization;
Optimization; Optimal Optimal control;
control; Automatic
Automatic Control;
Control; Model-based
Model-based control;control;
Keywords:
Predictive Optimization;
Predictive control;
control; Real-time
Real-time Optimal
systems;
systems;control; Automatic
Embedded
Embedded Control;
systems;
systems; Model-based
Industrial
Industrial control control;
control
Keywords:
Predictive Optimization;
control; Real-time Optimal
systems;control; Automatic
Embedded Control;
systems; Model-based
Industrial control control;
Predictive control; Real-time systems; Embedded systems; Industrial control
1.
1. BACKGROUND
BACKGROUND Starting
Starting in in the
the late
late 1970s,
1970s, model
model predictive
predictive control
control (MPC)
(MPC)
1. BACKGROUND Starting
has emergedin the aslate
a 1970s,
successfulmodel predictive
symbiosis of control
numerical(MPC)
op-
1. BACKGROUND has emerged
Starting in and as
theaslatea successful
1970s,control
model symbiosis
predictive of numerical
control op-
(MPC)
1.1 Historical
1.1 Historical remarksremarks has emerged
timization
timization and a successful
feedback
feedback controlsymbiosis
theory,
theory, of
see
see numerical
e.g.
e.g. op-
Richalet
Richalet
1.1 Historical remarks has
et emerged
timization
al. (1978); and as a
Garcı́asuccessful
feedback et control
al. symbiosis
(1989);theory,
Mayne of
see numerical
e.g.
et al. op-
Richalet
(2000);
1.1 Historical remarks et al. (1978);
timization and Garcı́a
feedback et al. (1989);
control Mayne
theory, see et al.Richalet
e.g. (2000);
et al. (1978); Garcı́a (2009).
et al. (1989); Mayne et al.model
(2000);
When
When the the first
first programmable
programmable digital digital computers
computers ap- ap- Rawlings
Rawlings
et al.
and
and Mayne
(1978); Mayne
Garcı́a (2009). Based
Based on
et al. (1989); on aa dynamic
Mayne dynamicet model
al.
of
of
(2000);
When
peared the
in the first
1940s, programmable
mathematicians digital
and computers
engineers ap-
quickly Rawlings
the
the process
process and to
to Mayne
be
be (2009).
controlled,
controlled, Based
MPC
MPC on a
optimizes
optimizesdynamicthe
the model of
predicted
predicted
peared
When in
thethe 1940s,
first mathematicians
programmable and
digital engineers
computers quickly
ap- the Rawlings and Mayne (2009). Basedoptimizes
on thea dynamic model of
peared
adopted in the
this 1940s,
new mathematicians
technology for theand engineers
numerical quickly
solution process
future
future process
process to be controlled,
behavior
behavior by MPC
choosing
by choosing the best the
best predicted
admissible
adoptedinthis
peared
adopted
of this
mathematical
new technology
the 1940s, mathematicians
new optimization
technology
for the and
forproblems.
the
numerical
engineers
numerical
Arguably
solution
quickly
solution
the the process
future
control process to be
actions. controlled,
behavior
The past MPCdecades
bythree
choosingoptimizes
the best theadmissible
have predicted
admissible
witnessed
of mathematical optimization problems. Arguably the control
future actions.
process The
behavior pastby three decades
choosing the have
best witnessed
admissible
adopted this new technology for the numerical solution control actions. The past three decades havein
of
most
mostmathematical
prominent
prominent example optimization
example is theproblems.
is the simplex Arguably
simplex algorithm the
algorithm for thousands
for thousands
control
of
of successful
actions. successful
The the
applications
applications
past three decades
of
of MPC
MPC have inwitnessed
the
the pro-
pro-
of
mostmathematical
prominent
minimizing a optimization
example
linear cost is the
function problems.
simplex
subject Arguably
algorithm
to linear the
for
con- thousands
cess
cess industry,
industry, of successful
where
where the applications
optimizer
optimizer of MPC
typically
typically inwitnessed
solves
solvesthe
a
a pro-
con-
con-
minimizing
most prominenta linear cost
example function
isThe subject
the subsequent
simplex to linear
algorithm con- thousands
for cess of successful applications of MPC incouple
the pro-
minimizing
straints a
(Dantzig linear cost
(1963)). function subject to linear
exponentialcon- industry,
strained
strained where
linear-quadratic
linear-quadratic the optimizer
MPC
MPC problem typically
problem every
everysolves a
couplecon-
of
of
straints (Dantzig
minimizing (1963)).
a linear(1963)).
cost The subsequent
function subject exponential
to exponential
linear con- cess industry, where the optimizer typically solves a con-
straints
growth in(Dantzig
computing power The
(per subsequent
dollar or square centime- strained
seconds
seconds linear-quadratic
or
or minutes
minutes on
on MPC
industrial
industrial problem
PCs,
PCs, every
see
see the
thecouple of
surveys
surveys
growth
straints in computing
(Dantzig power
(1963)). (per dollar
The dollar or
subsequent square centime-
exponential strained linear-quadratic MPC problem every couple of
growth
ter of in computing
silicon) enabled power
the (per
solving of or
ever square
larger centime-
and more seconds
by Qin or
and minutes
Badgwell on industrial
(2003); Darby PCs,
and see
Nikolaouthe surveys
(2012).
ter of silicon)
growth in enabledpower
computing the solving
(per of ever
dollar or larger
square and more by
centime-
Qin and
seconds or Badgwell
minutes (2003);
on DarbyPCs,
industrial and Nikolaou
see the (2012).
surveys
ter of silicon)
difficult problems, enabledand the solving
control of ever
engineers larger
started and more by Qin and Badgwell (2003); Darby and Nikolaou (2012).
difficult
ter problems,
ofmicroprocessors
silicon) enabledandthe control
solving engineers
of ever started to
larger to con-
con- Moreby Qinrecently,
and Badgwell researchers
(2003); achieved
Darby spectacular
and Nikolaouadvances (2012).
difficult
sider
sider problems,
microprocessors anda a control
viable
viable engineers
option
option for
for startedand
process
process to more
con- More
control.
control.
recently, researchers achieved spectacular advances
difficult problems, and control engineers started to con- More
in
in both
both recently,
theory
theory researchers
and
and achieved
algorithms
algorithms for
for spectacular
solving
solving advances
optimization
optimization
sider microprocessors
 Support a viable option for process control. More recently, researchers achieved
 Support
sider by the EU via ERC-HIGHWIND (259 166), ITN-TEMPO
microprocessors a viable
by the EU via ERC-HIGHWIND option (259for by
process control.
166), ITN-TEMPO in both
problems
problems theory
in and algorithms
in real-time
real-time on
on embedded
embedded for spectacular
solving
controller
controller
advances
optimization
hardware.
hardware.

(607 957), by
and ITN-AWESCO (642 682) and theITN-TEMPO
DFG within in both theory and algorithms for solving optimization
Support
(607 the EU via ERC-HIGHWIND (259
957), and ITN-AWESCO (642 682) and by the DFG within 166), problems
For
For example,
example,in real-time
MPC
MPC has on
has embedded
been controller
implemented
been implemented onhardware.
embed-

Reseach
Support
(607 Unit
957),
Reseach
by
and
Unit
FOR
the
FOR
EU 2401
ITN-AWESCO is gratefully
via ERC-HIGHWIND acknowledged.
(642 682)
2401 is gratefully
(259by
and
acknowledged.
166),
theITN-TEMPO
DFG within problems
For example, in real-time
MPC has on embedded
been implementedcontrolleron on
embed-
hardware.
embed-
(607 957), and ITN-AWESCO (642 682)
Reseach Unit FOR 2401 is gratefully acknowledged. and by the DFG within For example, MPC has been implemented on embed-
Reseach Unit FOR 2401 is gratefully acknowledged.
Copyright © 2017 IFAC 13736
Copyright
2405-8963 ©© 2017,
2017 IFAC 13736
IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rights reserved.
Copyright © 2017 IFAC 13736
Peer review under responsibility of International Federation of Automatic Control.
Copyright © 2017 IFAC 13736
10.1016/j.ifacol.2017.08.1946
Proceedings of the 20th IFAC World Congress

Toulouse, France, July 9-14, 2017 H.J. Ferreau et al. / IFAC PapersOnLine 50-1 (2017) 13194–13209 13195

ded CPUs (see e.g. Ferreau et al. (2007); Vukov et al. computations can be setup autonomously. In the container
(2012); Liniger et al. (2015)), digital signal processors (see ship example, if the cluster runs for minutes obeying
e.g. Wills et al. (2005); Almér et al. (2013); Beccuti et al. a strict real-time limit and the result is used without
(2009)), programmable logic controllers (see e.g. Huyck supervision by a human operator, then (and only then)
et al. (2012)), or field-programmable gate arrays (see one may call even this setup embedded optimization.
e.g. Mönnigmann and Kastsian (2011); Hartley and Ma-
The above considerations can be summarized in the fol-
ciejowski (2010); Boechat et al. (2013); Jerez et al. (2014))
lowing two informal definitions:
at up to Megahertz sampling rates.
Definition 1. An optimization method is called embedded
if and only if it a) can run autonomously, i.e., if it delivers a
1.2 What does “embedded” optimization mean? sufficiently accurate solution within a real-time limit given
a priori, and b) can be deployed on a computing hardware
An “embedded system” typically refers to a computer sys- with limited resources.
tem that is an integrated part of a larger, complete device.
Definition 2. An optimization application is called em-
This definition implies little about whether a numerical
bedded if and only if an embedded optimization method
optimization can be carried out on an embedded system
is run autonomously on a computing hardware that is
or not. Consequently, the notion “embedded” is often used
an integrated part of a larger, complete device and its
in a rather vague manner within the optimization and
outcome is used to influence the behaviour of the device.
automatic control community. In order to define the term
“embedded optimization” and to clarify the scope of this
survey, a few related notions will be reviewed first:
1.3 Industry needs
Does “embedded” mean fast? If this notion is used to
express that some computation shall be carried out within
In order for (embedded) optimization to be a viable choice
short time periods, it hardly contributes to a useful defini-
for industrial automatic control, a number of general
tion. A priori there is no maximum time span for perform-
requirements need to be met. We briefly discuss a couple
ing an optimization to be called “embedded”; why should
of important ones.
embedded optimization not run at a sampling rate of one
minute or more? Moreover, mentioning execution times Reliability: According to Definition 2, the embedded op-
without considering dimensions and other characteristics timization algorithm needs to run autonomously and is
of the optimization problem at hand is rather meaningless. an integral part of a larger device, typically a commercial
Embedded optimization may solve large-scale, complex product. Any failure of such a device may lead to serious
problems. If one talks about efficient rather than fast financial damage or even endanger the health of people. It
optimization, this becomes somewhat more descriptive as is therefore of uttermost importance that the optimization
embedded optimization is typically performed on comput- algorithm can be implemented in a highly reliable manner.
ing hardware with limited resources that need to be used If a failure of the algorithm cannot be excluded, such a
with care. situation should at least be reliably detected and mitigated
by means of a suitable backup strategy.
So, does “embedded” mean limited resources? In our expe-
rience, most often this is the case. Main reasons for using Restricted hardware: As customers are often price-sensitive,
embedded computing hardware are reduced hardware cost this implies a pressure to use the least expensive compu-
or size (compared to, e.g., a desktop PC) and reduced tational hardware that meets the requirements. Moreover,
power consumption of the device. Consequently, embedded the choice of the hardware might be pre-determined by
optimization methods shall be deployable on hardware other considerations regarding the product. This favours
with limited computational power or memory, and possibly optimization algorithms that are efficient, allow for a
even reduced accuracy for representing numbers within lightweight implementation and offer “tuning knobs” to
the calculations. However, if that would be all to it, a trade-off computational load against solution accuracy.
resource-efficient implementation for solving large-scale
optimization problems on a computer cluster installed in Rapid prototyping: With product development cycles be-
the hull of a container ship should be called “embedded coming shorter, there is also less time to setup and tune the
optimization”, too. underlying optimization algorithm. This favors algorithms
that are generally applicable and do not rely on some
Does “embedded” mean real-time? This is indeed the most kind of “magic” to make them work well on a specific
important requirement from an algorithmic perspective; problem. Even if these procedures can be automated,
whatever a computation is carried out, it needs to termi- one should note that any kind of time-consuming pre-
nate within a pre-defined maximum time limit returning a processing (which in a broader sense also includes code
sufficiently accurate solution. But why is this important? generation or explicit pre-solving of the problem) makes
prototyping less agile.
Because “embedded” also means autonomous. If there is
always a human operator who can block the result of Maintainability: Scientists may write their PhD thesis and
the optimization algorithm and enforce alternative input leave, products may need to be maintained for decades.
signals to the system, we would be very reluctant to Algorithms that are easier to understand and give clear
call this optimization “embedded”. This also creates a indications of why they failed in a particular situation are
connection to the first notion: if the optimization is carried more likely to be successfully maintained by non-academic
out too frequently for a human operator to supervise the experts and thus more attractive to be used within a
outcome, it needs to run autonomously. However, also slow commercial product.

13737
Proceedings of the 20th IFAC World Congress
13196
Toulouse, France, July 9-14, 2017 H.J. Ferreau et al. / IFAC PapersOnLine 50-1 (2017) 13194–13209

1.4 Outline e.g., load commutated inverters (see Besselmann et al.


(2016b,a)) or a voltage source inverter with LCL filter
The remainder of this paper is organized as follows: Sec- (Almér et al. (2015)).
tion 2 describes important use cases of embedded opti-
There exist many more embedded MPC applications and
mization in industrial applications. These use cases are
we restrict ourselves to mention the following, just to
then categorized by their mathematical structure in Sec-
illustrate how broad the range of possible applications
tion 3. Based on this categorization, different embed-
has become: early experiments using MPC for controlling
ded optimization algorithms and implementations are dis-
a hovercraft has been reported in Seguchi and Ohtsuka
cussed in the following sections. Namely, Section 4 dis-
(2003b), Noga et al. (2014) describes experimental results
cusses algorithms for convex quadratic programming. Sec-
on using nonlinear MPC for cryogenic cooling control, an
tion 5 addresses algorithms for general convex optimiza-
MPC based on a mixed-integer quadratic programming
tion, with a a focus on splitting methods. Section 6 and
formulation for crane control has been proposed in Iles
Section 7 review algorithms for nonconvex and discrete
et al. (2014) and van Duijkeren et al. (2016) employ path-
optimization, respectively. Section 8 concludes the paper.
following MPC for serial-link robot manipulators.
2. USE CASES 2.2 Moving horizon estimation

Embedded optimization may be used in different ways. Embedded optimization is also used for estimating the
This section introduces its major use cases and also current state of the process to be controlled. If the process
mentions a couple of examples of successful applications exhibits substantially nonlinear dynamics, moving hori-
of embedded optimization from various fields. Note that zon estimation (MHE) may be the preferred choice for
this paper focuses on methods and implementations for obtaining accurate estimates. Similar to MPC, also MHE
embedded optimization and that a complete survey on requires one to solve sequences of optimization problems
actual applications is beyond its scope. The mathematical whose mathematical structure is fixed but the parameters
structure of the embedded optimization problems to be representing the actual measurements vary over time.
solved is discussed in detail in Section 3.
Embedded MHE has been demonstrated to deliver su-
perior practical performance in a number of applications
2.1 Model predictive control
domains. For example, it has been applied to autonomous
agricultural vehicles (Kraus et al. (2013)), to overhead
Optimization algorithms are only deployed on embedded cranes (see Debrouwere et al. (2014) and Vukov et al.
hardware if they are to run repeatedly. A common rea- (2015)), to induction machines (Frick et al. (2012)) or to
son for doing so is optimization-based control, typically an active cantilever (Abdollahpouri et al. (2017)). In these
in form of model predictive control (MPC). MPC is a applications, embedded MHE was running at sampling
feedback control approach that repeatedly solves optimiza- rates of up to 4 kHz.
tion problems at a fixed sampling rate (see Camacho and
Bordons (2007); Rawlings and Mayne (2009)). For a given 2.3 Static optimization, scheduling and planning
application, these problems are structurally identical but
differ in certain parameters that incorporate the feedback The use of embedded optimization has also been investi-
information into the problem. While MPC has tradition- gated beyond the control domain. For example, Vargas-
ally been used mainly in the process and petrochemical Villamil and Rivera (2000) used it for scheduling of semi-
industry (see Qin and Badgwell (2003)), embedded MPC conductor manufacturing lines, and Biegler and Zavala
is becoming frequently used in industrial domains such as (2009) present a framework for enterprise-wide dynamic
automotive, robotics, aerospace, power electronics or the optimization. An industrial perspective on integrating pro-
energy sector. duction scheduling and control is given in Harjunkoski
MPC problems solved in automotive applications are typi- et al. (2009). An example of embedded static optimiza-
cally of linear-quadratic type and require sampling times in tion is given by Defraene et al. (2012), where a convex
the order of 10–100 milliseconds. For example, linear MPC optimization problem is solved repeatedly for improved
has been used in experiments for Diesel engine air path clipping of audio signals.
control (Ortner and del Re (2007)), combustion control in
a HCCI engine (Widd et al. (2009)), idle speed control 3. MATHEMATICAL STRUCTURE
(Di Cairano et al. (2012)) or hybrid electric vehicle energy
Optimization problems arising in embedded applications
management (Di Cairano et al. (2013)).
almost always feature a deterministic formulation (in con-
A particularly challenging domain is power electronics as trast to stochastic optimization), a single objective func-
the nature of the control problems requires both explicit tion to be optimized (in contrast to multi-objective op-
treatment of nonlinearities or discrete decisions and very timization) and sparse problem data (e.g. in multistage
fast sampling times in the order of 20–1000 microseconds. problems). This section further categorizes such deter-
MPC involving discrete decisions based on explicit ap- ministic, single-objective optimization problems according
proaches have been used for controlling a voltage source to their mathematical structure. This is an important
inverter with LCL filter (Mariethoz and Morari (2009) prerequisite for discussing embedded solution methods
and Almér et al. (2013)) or a step-down DC-DC converter in subsequent sections as the problem structure strongly
(Geyer et al. (2008)). Nonlinear MPC formulations tackled influences both their respective numerical efficiency and
with iterative solution methods have been used to control, their reliability.

13738
Proceedings of the 20th IFAC World Congress
Toulouse, France, July 9-14, 2017 H.J. Ferreau et al. / IFAC PapersOnLine 50-1 (2017) 13194–13209 13197

3.1 Convex optimization 3.2 Non-convex optimization

We state general convex optimization problems in the Continuous optimization problems that are known (or at
following form: least not required) to be non-convex are usually expressed
as nonlinear programming (NLP) problems:
minimize f (w) (1a)
w ∈ Rn minimize f (w) (5a)
subject to Cw = c, (1b) w ∈ Rn
w ∈ Ω, (1c) subject to c(w) = 0, (5b)
d(w) ≤ 0 (5c)
where we define the convex function f : Rn → R,
the matrix C ∈ Rneq ×n , the vector c ∈ Rneq and the with f as in (1) but possibly non-convex. Furthermore, we
convex set Ω. Convex optimization problems constitute define functions c : Rn → Rneq and d : Rn → Rniq . With
an important subclass as any locally optimal solution w∗ each of the constraint functions, we associate Lagrange
(i.e. f (w∗ ) ≤ f (w) for all feasible w in a neighborhood multipliers λ, µ, as in (2), such that the definition of the
around w∗ ) is also a global solution (i.e. f (w∗ ) ≤ f (w) Lagrangian function reads as
for all feasible w) . This strongly reduces the likelihood of L(w, λ, µ) := f (w) + λ c(w) + µ d(w) . (6)
iterative methods getting stuck at sub-optimal “solutions”. Under the common assumption, that f, g, h are smooth
and that LICQ holds at the solution (Nocedal and Wright,
Quadratic programming An important subclass of con- 2006, Ch. 12), the following equations form the first order
vex optimization problems are convex quadratic program- necessary conditions for optimality, and are well-known as
ming (QP) problems, which can be written in different the Karush-Kuhn-Tucker (KKT) conditions:
forms equivalent to the following one:
∇w L(w, λ, µ) = 0, (7a)
1 
minimize w Hw + g  w (2a) c(w) = 0, (7b)
w ∈ Rn 2
d(w) ≤ 0, (7c)
subject to Cw = c, (2b) µ ≥ 0, (7d)
Dw ≤ d (2c) µ d(w) = 0. (7e)
with positive semi-definite Hessian matrix H ∈ R , n×n

gradient vector g ∈ Rn , constraint matrices C ∈ Rneq ×n , Nonlinear optimal control When reviewing methods for
D ∈ Rniq ×n and right-hand side vectors c ∈ Rneq , d ∈ Rniq . solving NLP problems, the focus is on formulations that
We associate the Lagrange multipliers λ ∈ Rneq with the arise from nonlinear optimal control problems (OCP). We
equality constraints and the multipliers µ ∈ Rniq with the consider OCPs that are NLP problems with a partic-
inequalities. The vector of dual variables will be denoted ular stage-wise structure (e.g. obtained through a mul-
by y = [λ , µ ] . If the Hessian matrix is set to zero, one tiple shooting discretization of a continuous-time OCP,
gets a linear programming (LP) problem. see Bock and Plitt (1984)):
N
 −1
Linear optimal control Linear MPC is an optimal control minimize l(xk , uk ) + E(xN ) (8a)
x0 ,...,xN ,
method for systems governed by linear dynamics: u0 ,...,uN −1 k=0
xk+1 = Axk + Buk , (3) subject to xk+1 = Fk (xk , uk ), k = 0, . . . , N − 1, (8b)
where we introduced discrete-time state vectors xk ∈ R nx dk (xk , uk ) ≤ 0, k = 0, . . . , N − 1, (8c)
and control inputs uk ∈ Rnu , as well as the system matrix dN (xN ) ≤ 0, (8d)
A ∈ Rnx ×nx and the control matrix B ∈ Rnx ×nu , re- x0 = x0 . (8e)
spectively. Linear MPC repeatedly optimizes the predicted We define the discrete-time dynamic system equations as
behavior of the system along a finite horizon and therefore Fk : Rnx +nu → Rnx , typically obtained through numerical
solves at each sampling instant a specially structured con- integration of continuous-time dynamic equations. We
vex QP problem: denote the number of inequality constraints in each stage k
N
 −1      by niq,k , such that we can write the inequality constraints
xk Q S  xk
minimize + xN P xN as functions dk : Rnx +nu → Rniq,k . To simplify notation,
x0 ,...,xN , uk S R uk
u0 ,...,uN −1 k=0 we gather all optimization variables of the OCP in the
subject to xk+1 = Axk + Buk , k = 0, . . . , N − 1, (4) vector w = [x    
0 , u0 , x1 , . . . , xN ] .

Dkx xk + Dku uk ≤ dk , k = 0, . . . , N − 1, We observe that the Lagrangian function, as defined in (6),


x
DN xN ≤ dN , is partially separable for problems with OCP structure (8).
More specifically, the Hessian of the Lagrangian has the
x 0 = x0 . following form:
The positive semi-definite weighting matrices are denoted  
Q0 S0
by Q, P ∈ Rnx ×nx , S ∈ Rnu ×nx and R ∈ Rnu ×nu ,  S0 R 0 
whereas the inequality constraint matrices are Dkx ∈   
 Q S 
Rniq,k ×nx , Dku ∈ Rniq,k ×nu , for states and controls, respec- ∇2w L(w, λ, µ) = 
1 1 , (9)
 S1 R 1 
tively, together with the vector d ∈ Rniq,k . At a given  .. 
sampling instant, the initial value for the state is assumed  . 
to be a fixed vector x0 ∈ Rnx . QN

13739
Proceedings of the 20th IFAC World Congress
13198
Toulouse, France, July 9-14, 2017 H.J. Ferreau et al. / IFAC PapersOnLine 50-1 (2017) 13194–13209

where we used the shorthand notation Qk := ∇2xk L, Sk := classes of problems are called mixed-integer linear (or
∇2uk ,xk L, Rk := ∇2uk L, where each matrix is evaluated quadratic) programming (MILP/MIQP) problems; de-
fined as
at the point (w, λ, µ). This observation is important with 1 
respect to the efficiency of numerical methods to solve minimize w Hw + g  w (12a)
nonlinear OCPs, as we will see in Section 6.
nc
w ∈R ×Z ni 2
subject to Cw = c, (12b)
Alternatives to multiple shooting for discretizing a cont-
inuous-time OCP are so-called single shooting (see Sargent Dw ≤ d (12c)
and Sullivan (1978)), which however is not suitable for with n := nc + ni , positive semi-definite Hessian matrix
unstable dynamics, and direct collocation (see Biegler H ∈ Rn×n , and g, C, c, D, d are analogue to (2). In prac-
(1984)), which is useful for large-scale applications, as the tice, many decisions are binary, or can be modeled as a
subproblems contain even more structure than (8). combination of few binary decisions. For these problems,
called mixed-binary linear or quadratic (MBP), Zni is re-
Receding horizon control Nonlinear MPC consists of placed by {0, 1}ni . In the control literature, most problems
continuously solving OCPs of the form (8) in order to referred to as MILP/MIQP problems only contain binary
control the system in an “optimal” fashion. The discrete- decision variables and we will therefore use these terms
time model (8b) is used to predict the future system interchangeably.
behavior and consequently to optimize for the states xk
and controls uk . Once the solution is found, only the first Optimal control with discrete decisions Discrete-time
optimal control value u0 is applied to the system at each hybrid systems can be represented, as discrete hybrid au-
time step and the procedure is repeated. tomata (DHA), piece-wise affine (PWA) systems, mixed-
logical dynamical (MLD) systems, linear complementarity
In (nonlinear) MPC, it is often the case that the desired (LC) systems, and more. Under some mild assumptions, all
control performance is to track some reference signal of these descriptions are equivalent and one can be trans-
closely. Typically, this is expressed with least-squares formed into the other, see Heemels et al. (2001); Torrisi
terms in the objective function (8a): and Bemporad (2004). The MLD framework (Bemporad
N −1
1  and Morari (1999)) is particularly useful from a com-
fLS (w) = hk (xk , uk ) − zk 22 putational perspective, because it represents the hybrid
2 (10)
k=0 dynamics as a system of mixed-integer linear constraints,
1 by introducing auxiliary binary and continuous variables
+ hN (xN ) − zN 22 ,
2 δk ∈ {0, 1}nδ and zk ∈ Rnz :
where hk : Rnx +nu → Rnr , for k = 0, . . . , N − 1, and xk+1 = Axk + Buk + Bδ δk + Bz zk + b , (13a)
hN : Rnx → Rnr are nonlinear output functions that E x x k + E u u k + E δ δ k + E z zk ≤ e , (13b)
should track the reference signal zk ∈ Rnr , k = 0, . . . , N .
where some of the state vectors xk ∈ Rnx,c × {0, 1}nx,b
Moving horizon estimation A related problem is moving and controls uk ∈ Rnu,c × {0, 1}nu,b can also be binary.
horizon estimation (MHE), where instead one looks a The matrices Bδ , Bz , Ex , Eu , Eδ , Ez and the vector b are
fixed number of time steps into the past, using recorded of appropriate dimension, with e ∈ Rniq . In the context
measurements to optimize for an optimal estimate for the of model-predictive control, this gives rise to a multistage
current state of the system x0 . The “controls” for the case MBP formulation for mixed-integer MPC problems:
of MHE take the form of process noise. The fact that the N
 −1     
xk Q S  xk
value x0 is not fixed forms the biggest structural difference minimize + x
N P xN
x0 ,...,xN , uk S R uk
with MPC. u0 ,...,uN −1 , k=0
δ0 ,...,δN −1 ,
z0 ,...,zN −1
3.3 Optimization with discrete decisions subject to xk ∈ Rnx,c × {0, 1}nx,b ,
uk ∈ Rnu,c × {0, 1}nu,b , (14)
Discrete decisions are part of many industrial control ap-
δk ∈ {0, 1}nδ , zk ∈ Rnz ,
plications. Convex problems of the form (1), or nonconvex
problems of form (5) where some or all of the decision xk+1 = Axk + Buk + Bδ δk + Bz zk + b,
variables w are restricted to the set of integers Z are Ex xk + Eu uk + Eδ δk + Ez zk ≤ e,
of particular interest. These problems are called mixed- DN x
xN ≤ dN ,
integer nonlinear programming (MINLP) problems and
take the following form: x 0 = x0 .
x
minimize f (w) (11a) The matrices Q, P, S, DN are as in (4). Standard poly-
w ∈ R nc × Z ni hedral state and input constraints can be added to this
subject to c(w) = 0, (11b) formulation without loss of generality.
d(w) ≤ 0 (11c) 4. METHODS FOR CONVEX QUADRATIC
with n := nc + ni and f, c, d are defined analogously to PROGRAMMING PROBLEMS
their smooth counterparts in (5).
4.1 Overview
Mixed-integer quadratic programming When the cost
of a MINLP problem is restricted to be linear (or con- The first methods for solving convex QP problems emerged
vex quadratic), and the constraints are polyhedral, these from adaptations of the famous simplex method for solving

13740
Proceedings of the 20th IFAC World Congress
Toulouse, France, July 9-14, 2017 H.J. Ferreau et al. / IFAC PapersOnLine 50-1 (2017) 13194–13209 13199

LPs (Dantzig, 1963). These so-called active-set methods start with a guess which inequality constraint will hold
still play an important role in solving QP problems in with equality at the optimal solution (called the working
embedded applications, mainly due to the efficiency of set) and solve the resulting equality-constrained QP prob-
existing implementations and the fact that so-called warm- lem. If it turns out that this guess was not correct, it is
starting (i.e. reusing solution information of the previous updated by adding inequality constraints to or removing
problem instance) may greatly reduce computational load. them from the working set until the optimal solution is
However, from a theoretical perspective, they lack practi- found. Primal AS methods produce a sequence of feasible
cal a priori bounds on the number of iterations that they iterates (i.e. ones that respect all constraints) until the
may need to find a solution. Historically, that has been optimal solution is found, while dual AS methods maintain
a major motivation to develop interior-point (sometimes dual feasibility of the iterates until one is found that is
also called path-following) methods, for which polynomial also (primal) feasible, hence optimal. Matlab’s quadprog
runtime guarantees have been proved in 1984 for the function implements a primal active-set method (among
first time (see Karmarkar (1984)). Nowadays, interior- others). Dual active-set methods are available in the code
point methods are often a preferred choice in embedded qpas (see Wills et al. (2005), based on dual algorithm
quadratic programming due to their rather constant com- proposed in Goldfarb and Idnani (1983)) and QPSchur,
putational load when solving various instances of related see Bartlett and Biegler (2006). A parametric active-set
problems. Moreover, they allow for exploiting the inherent strategy designed for use in MPC is implemented in the
sparsity of optimal control problems as sketched in Sec- open-source software qpOASES, see Ferreau et al. (2008,
tion 3 in a straight-forward manner. 2014).
Both these two traditional approaches for solving con- 4.3 Interior-point methods
vex QP problems suffer from common drawbacks that
have inspired the quest for alternative embedded solution The basic idea of IP methods is not to account for the
methods. First, both active-set (AS) and interior-point inequality constraints (2c) explicitly, but to penalize con-
(IP) methods require rather sophisticated linear algebra straint violations by means of an additional term in the
routines (including matrix factorizations) for performing objective function instead. However, in order to make
the underlying computations. This makes any implemen- this work reliably, a non-quadratic (typically logarithmic)
tation of these methods considerably complex (in terms penalty term needs to be used. The resulting equality-
of amount of source code) and hard to execute on devices constrained NLP problem is then solved using Newton’s
with limited accuracy of the internal number representa- method. Structure exploiting IP methods have been pro-
tion (such as most PLCs or FPGAs). In order to overcome posed for use in embedded optimization, e.g. by Rao
this first drawback, so-called first-order methods have been et al. (1998), where the linear equation system underlying
proposed for use in embedded optimization. They are the Newton step is solved using Riccati recursions, and
particularly simple to implement, allow for warm-starting by Wang and Boyd (2010) whose primal IP approach
and can easily exploit any sparsity pattern. Unfortunately, employs a block-wise Cholesky factorization.
their actual numerical performance strongly depends on
the characteristics of the problem to be solved, such that In order to increase efficiency of the implementation, code
these methods may be anywhere between orders of magni- generation has become a popular approach for obtaining
tudes faster to orders of magnitude slower than traditional customized implementations of IP methods: the generic
AS or IP methods. Moreover, they share another drawback QP solver CVXGEN by Mattingley and Boyd (2009) exploits
of all approaches mentioned so far: they are iterative ap- data sparsity by pre-computing a permutation such that
proaches exhibiting the potential risk of slow convergence the LDLT factorization of the linear system underlying
or even failure to find a solution in certain circumstances. the Newton step is sparse. In contrast, the primal-dual IP
In contrast, so-called explicit methods have been proposed solver FORCES presented in Domahidi et al. (2012) (later
that pre-compute the solutions to all possibly occurring integrated into FORCES PRO) is tailored to the multistage
QP instances offline and store them in a look-up table to structure typical of MPC problems.
be searched online. While this approach has allowed for Another way to increase efficiency of the implementation
astonishingly high sampling rates in certain applications, has been proposed in Frison et al. (2014), where the most
it suffers from the curse of dimensionality and is only time-critical linear algebra operations have been tailored
applicable to embedded optimization problems featuring to the intrinsic CPU features of the target hardware.
small problem dimensions.
In the following, we are going to briefly sketch the main 4.4 First-order methods
ideas and existing embedded implementations of all of
these four major approaches. As there exist even more First-order methods may be further categorized into split-
methods for tackling convex QP problems, some of them ting methods, which are discussed in detail in Section 5,
are mentioned at the end of this section. and gradient methods. The latter iteratively compute a
step towards the solution of the unconstrained QP prob-
lem and then project this step onto the feasible set. As
4.2 Active-set methods this projection is difficult in case of output or polytopic
constraints (in fact, exact projection is as complex as
Active-set methods are based on the observation that solv- solving a full QP problem), several variants to dualize some
ing an equality-constrained QP problem (i.e. one without parts of the problem formulation have been proposed:
inequalities (2c)) is equivalent to solving a single linear the Matlab toolbox FiOrdOs (see Ullmann (2011)) auto-
set of equations, which is fairly trivial. Thus, AS methods generates code for either primal fast gradient methods (if

13741
Proceedings of the 20th IFAC World Congress
13200
Toulouse, France, July 9-14, 2017 H.J. Ferreau et al. / IFAC PapersOnLine 50-1 (2017) 13194–13209

only simple constraints are present) or dual fast gradient one. Although the focus of splitting methods tradition-
methods by applying a Lagrangian relaxation to equality ally lies in large-scale optimization applications, recent
and polytopic constraints as proposed in Richter et al. advances have rendered them a competitive alternative to
(2011). The GPAD algorithm proposed in Patrinos and other optimization algorithms when it comes to embedded
Bemporad (2012) dualizes only the inequality constraints, control. The following section is based on the extended
which allows one to either eliminate or keep the states survey Stathopoulos et al. (2016).
in the primal problem. Recently, generalized versions of
these fast gradient methods were proposed by Giselsson
(2014) and shown to require a significantly lower number 5.1 Splitting methods overview
of iterations on certain problems. Also gradient methods
based on inexact first-order information have been pro- We first rewrite problem (1) as a summation of two convex
posed (see Nedelcu et al. (2014)) and implemented in functions, i.e.,
the open-source toolbox DuQuad as described in Kvamme minimize h(w) + g(v)
(2014–2015). Finally, also the commercial embedded solver w, v ∈ Rn (15)
FORCES PRO can generate code for first-order methods (e.g. subject to w = v ,
primal/dual fast gradient methods).
where
4.5 Explicit MPC h(w) = f (w) + δ(Cw | c), g(w) = δ(w | Ω),
and δ(z | C) is an indicator function for the (convex) set C
Bemporad et al. (2002a) pointed out to the control com- defined as 
munity that the solution of any linear MPC problem is a 0 z∈C
continuous, piece-wise affine function of the initial state x0 , δ(z | C) =
∞ otherwise.
defined over a polyhedral partition of the feasible set.
For optimization problems of sufficiently small problem A slight abuse of notation is used when the set C is a
dimension, this solution function can be pre-computed singleton, and δ(Cw | c) is written, rather than δ(Cw |
offline and then stored into a look-up table. Evaluating {c}). Note that h and g are nonsmooth, extended real-
this look-up table for determining the next control input valued functions, i.e., f, g : Rn → R ∪ {+∞}.
is the only computational task that remains to be done The underlying assumption behind splitting methods is
online. As this evaluation is extremely simple, it can be that minimizing separately over h and g is simpler (less
implemented on virtually any computing platform, as long costly) than solving (1) directly. There are a variety
as sufficient memory for storing the function is available. of ways to proceed with these minimizations, e.g., by
This makes explicit MPC a frequently used tool for embed- forming (augmented) Lagrangian relaxations and then
ded MPC implementations, particularly for systems with applying alternating minimization schemes, by mixing
high sampling rates. A recent survey on explicit methods Lagrangians with augmented Lagrangians or by mixing
can be found in Alessio and Bemporad (2009). alternating minimizations with partial linearization of the
The multi-parametric toolbox (MPT) as developed by Kvas- functions involved. A fairly general method from which
nica et al. (2004) is a mature and popular Matlab toolbox several others can be derived is the Proximal Method of
that implements various explicit methods such as multi- Multipliers (PMM):
parametric quadratic programming and variants that aim (w[i+1] , v [i+1] ) ∈ argmin Pρ (w, v; λ)
at providing an only approximate solution to the QP prob- w,v (16)
lems at the benefit of reduced off-line or online complexity. λ[i+1] = λ[i] + ρ(w[i+1] − v [i+1] ) ,
4.6 Further approaches where Pρ is the proximal augmented Lagrangian function
defined as:
Several further approaches for solving convex QP problems Pρ (w, v; λ) =h(w) + g(v) + λ (w − v)+
have been recently proposed for use in embedded optimiza- ρ 1 1
tion. Among them are the multiplicative update dual opti- w − v2 + w − w[i] 2P1 + v − v [i] 2P2 .
2 2 2
mization algorithm PQP by Di Cairano and Brand (2013), (17)
proposing a simple, highly parallelizable QP algorithm. In
The function (17) comprises the Lagrangian function with
contrast, the dual Newton-type code qpDUNES by Frasch
the addition of a quadratic regularizer for w − v (augmen-
et al. (2014) and the piecewise-smooth Newton method
tation term) and two proximal terms ensuring that the
proposed in Patrinos et al. (2011) are tailored to linear
current primal iterates w and v will not deviate much from
optimal control problems. Both make use of second-order
their former values. The matrices P1 and P2 are positive
information to converge to the optimal solution within
semidefinite, while ρ > 0 is a penalty term.
only a few, but computationally complex iterations.
Although minimizing (17) over (w, v) simultaneously is
5. METHODS FOR (MORE) GENERAL CONVEX as difficult as solving (15), it can be much easier to
OPTIMIZATION PROBLEMS do it in an alternating manner. By doing so and with
proper choices of the matrices P1 and P2 , (16) gives rise
In this section we give a brief overview of splitting meth- to several popular splitting methods like the Alternating
ods, a wide family of conceptual schemes that decompose Direction Method of Multipliers (ADMM) and Douglas-
a (difficult) optimization problem into (significantly) sim- Rachford splitting (Eckstein and Bertsekas (1992)) and the
pler subproblems and solve those instead of the original Chambolle-Pock scheme (Chambolle and Pock (2011)).

13742
Proceedings of the 20th IFAC World Congress
Toulouse, France, July 9-14, 2017 H.J. Ferreau et al. / IFAC PapersOnLine 50-1 (2017) 13194–13209 13201

Example 1. (Douglas-Rachford splitting). Consider the case schemes have been accelerated by means of adaptive re-
where we set P1 = P2 = 0 in (17) and minimize (16) by laxation sequences. The performance of the accelerated
alternating. The iterations read variants is often remarkable, especially given that the
w[i+1] = argmin h(w) + (ρ/2)w − (v [i] − λ[i] /ρ)2 extra cost per iteration is almost negligible. Refinements of
w accelerated methods have been developed in O’Donoghue
v [i+1]
= argmin δ(v | Ω) + (ρ/2)v − (w[i+1] + λ[i] /ρ)2 and Candes (2015), where the acceleration is occasionally
v halted so as to avoid overly aggressive steps that cause
λ[i+1] = λ + ρ(w[i+1] − v [i+1] )
[i] oscillatory behavior.
When Douglas-Rachford splitting is applied to the dual
of (15), one recovers ADMM applied to (15). Note that
the method can deal with the more general case where v
is an affine mapping of w, or when v and w are coupled Warm-starting. Linear MPC requires the solution of a
via a linear equality of the form M w + N v = b. sequence of convex optimization problems which do not
differ significantly from each other. The change often
5.2 Computational speedup concerns the affine part of the objective function (e.g.,
tracking a time varying signal) and the right-hand side
In linear MPC, f is often a quadratic function correspond- of the linear equality constraints (dynamics), where the
ing to some tracking or regulation objective, w is the vector updated state appears (see (4)). Splitting methods can
of state and input variables, while δ(Cw | c) describes the be easily warm-started by initializing the new optimal
dynamics of the system. State and input constraints can be control problem to the optimal primal and dual iterates
enforced via the indicator functions δ(w | Ω). This being of the previous one. Assuming that the problems are
the case, the first minimization step in Example 1, but also reasonably similar, this heuristic improves the convergence
in several splitting schemes, amounts to solving a system of performance (see (Stathopoulos et al., 2016, Chapter 6) for
linear equations. Provided that the second step, i.e., the several examples).
projection onto the constraint set Ω is often cheap, the
linear system solve is the main computational burden of
the algorithm. It is, therefore, worth investing some effort
to speedup the solve. This can be done in several ways,
e.g., by pre-factorizing the matrix involved in the inver- Non-linearity. Recent results (Attouch and Bolte (2009);
sion or by inverting it offline. When linear time invariant Attouch et al. (2013)) have provided a very general frame-
systems are considered the matrix does not change from work for proving global convergence of descent methods on
one iteration to the next, and significant computational non-smooth semi-algebraic objectives. These techniques
savings can be achieved. For a detailed treatment of the can be exploited to develop splitting, or decomposition
computational linear algebra aspect of splitting methods algorithms for nonlinear problems that require similar op-
the interested reader is referred to (Stathopoulos et al., erators and provide similar benefits to the more classic con-
2016, Chapter 5). vex approaches (Hours and Jones (2016)). When deploying
an embedded nonlinear MPC solution, it is often the case
5.3 Bells and whistles that only a very small number of optimization steps can be
completed in each sample period, before the input is ap-
In the absence of second order information (Hessians plied to the system, the state estimate is updated, and the
of the smooth terms), splitting methods share many of parametric problem to be solved changes. The resulting
the weaknesses of gradient-based optimization algorithms. suboptimality error for these continuously changing family
These issues can be mitigated by using several heuristic of problems has been studied, and general conditions under
and non-heuristic approaches that ‘polish’ the methods which this error is stable have been developed (Hours and
and improve their performance. Jones (2016)).

Conditioning. As is the case with every first order


5.4 Summary
method, splitting schemes suffer from slow convergence
when the problem data are ill-conditioned. Precondition-
ing the data offline is often very helpful to recover per- We conclude this section by giving a rough guideline on
formance. Roughly speaking, by scaling the problem data when splitting methods should be used. Two important
we choose a new coordinate system that adjusts better aspects to keep in mind are that splitting schemes are
to the geometry of the problem. The adjustment typically only useful if (i) the original problem is decomposable into
takes place in the dual space, i.e., the level sets of the subproblems that are much easier to solve (ideally they
smooth part of the dual form of (15) are shaped to be- have closed form solutions) and (ii) when a solution of
come ‘more uniform’. More details on preconditioning of low to medium accuracy is sufficient. Splitting methods
splitting methods are given in Giselsson and Boyd (2015, can tackle a wide variety of convex objectives and con-
2017). straints, a characteristic that makes them more general
than quadratic programming solvers. In addition, they
often enjoy a low memory footprint and are very simple
Acceleration. Inspired by Nesterov’s accelerated gradi- to code, requiring a few tens of lines of code consisting of
ent (Nesterov (1983)) and Tseng’s generalization to prox- simple linear algebra operations. The latter is an appealing
imal gradient methods (Tseng (2008)), several splitting characteristic for embedded control.

13743
Proceedings of the 20th IFAC World Congress
13202
Toulouse, France, July 9-14, 2017 H.J. Ferreau et al. / IFAC PapersOnLine 50-1 (2017) 13194–13209

6. METHODS FOR NONLINEAR OPTIMAL with the definitions of xk , uk , x0 as in (4), as well as


CONTROL PROBLEMS Dkx , Dku , which now form the linearization of the nonlinear
inequality constraints at the current iterate w[i] . Further-
The focus of this section lies on discussing various al- more, we linearized the discrete dynamic equations (8b)
gorithms for solving nonlinear optimal control problems, at w[i] , resulting in the system matrices Ak ∈ Rnx ×nx
tailored to real-time and embedded applications. We will and Bk ∈ Rnx ×nu . Note that the structure of (18) is
be specific on real-time methods for MPC. The methods the same as that of linear MPC problem (4), with the
that we mention in this section are also perfectly suited only difference that all matrices are varying over the MPC
for MHE, due to the stark resemblance of MPC and MHE, horizon. For more details about the connection between
however we will stick to the “control” point of view, for linear and nonlinear MPC we refer the reader to Gros et al.
sake of simplicity. (2017).

6.1 Newton-type methods The primal and dual solution of QP (18) form the up-
dated iterates (w[i+1] , λ[i+1] , µ[i+1] ). It can be solved di-
The overarching strategy of the methods discussed in the rectly by using a structure-exploiting QP solver, e.g.
following is Newton’s method. This method yields iterates HPMPC (Frison et al. (2014)), qpDUNES (Frasch et al.
w[i] , i = 0, 1, . . . that ultimately return a solution of a (2015)), FORCES (Domahidi et al. (2012)). Alternatively,
set of nonlinear equations R(w) = 0. In the context of we can use the so-called condensing approach (Bock and
optimal control, we solve nonlinear OCPs as defined in (8) Plitt (1984)), which results in a much smaller QP due to
the elimination of the dynamic constraints, namely the
by finding approximations (w[i] , λ[i] , µ[i] ), i = 0, 1, . . . , for
equality constraints in (18). Any general purpose dense QP
a solution to the KKT conditions (7).
solver can then be applied to solve the smaller QP. Worth
Two major families of Newton-type algorithms to solve noting in this context is the QP solver qpOASES (Ferreau
nonlinear OCPs exist. They differ in their treatment of the et al. (2014)), which exploits the fact that subsequent
non-smooth complementarity conditions (7c)-(7e). This problems in real-time MPC lie close to each other, as we
leads to the two classes of sequential quadratic program- will explain in Section 6.4.
ming (SQP) and nonlinear interior-point (NIP) methods,
The exact Hessian ∇2w L(w[i] , λ[i] , µ[i] ) might become indef-
respectively, which are sketched in the following.
inite at some iterates. In this case, the step (w[i+1] − w[i] )
in (18) is not guaranteed to be a descent direction, which is
6.2 SQP methods
highly unfavorable. One remedy is to apply regularization.
This consists of adding curvature to the original Hessian
A first way of iteratively solving the KKT system (7) is to in order to obtain a positive definite approximation.
linearize its nonlinear equations (7a)-(7d) at the current
iterate (w[i] , λ[i] , µ[i] ), and from there compute a new Apart from the above exact-Hessian based approach, many
approximation by solving a QP problem in each iteration. widely-used variants of the SQP algorithm exist that use
More specifically, the resulting linearized complementarity an approximation to the Hessian. We mention one which is
system corresponds to the KKT conditions of the following of particular interest to embedded application of receding
QP: horizon control.
1
minimize (w − w[i] ) H(w − w[i] )
w∈R n 2 The Generalized Gauss-Newton method One example
 [i] of an SQP variant that has been proven to work well
+ g (w − w ) (18) in practice is the Generalized Gauss-Newton (GGN)
subject to clin (w) = 0, method (Bock (1983)). This method applies to least-
dlin (w) ≤ 0 , squares problems, e.g. (10). In solving such types of prob-
lems, instead of using the exact Hessian as explained in
of which the structure corresponds to the one of NLP (8), Section (6.2), we can use the following Hessian approxi-
i.e. mation which is cheaper to compute:
 
[i] [i] [i] [i]
w[i] = x0 , u0 , x1 , . . . , xN , as before, 
∂h(w[i] ) ∂h(w[i] )
HGGN = , (19)
H= ∇2w L(w[i] , λ[i] , µ[i] ), as in (9), ∂w ∂w
g= ∇w f (w[i] ), where we stack the nonlinear output functions of (10) in
  h = [h 
x0 − x0 0 , . . . , hN ]. Note that we do not compute second-
  order sensitivities, and that the Gauss-Newton Hessian
 [i] 
x − x[i] − F (x[i] , u[i] ) − [A B ] x0 − x0  is positive semi-definite by construction. Furthermore, no

clin (w) =  1 1 0 0 0 0 0 [i] 
u0 − u0  Lagrange multipliers are required for its computation.
 
.. A special case occurs if the nonlinear OCP objective is
.
   a convex quadratic (f (w) = 12 w HOCP w + gOCP

w, with
[i]
[i] [i] x u x 0 − x0 HOCP  0), then GGN consists of performing SQP with
d(x0 , u0 ) + [D0 D0 ] [i]  subproblems (18), but with H = HOCP .
 u0 − u0 

dlin (w) =  ,
..  When is the Gauss-Newton Hessian a good approximation
 . 
[i] x [i] of the exact Hessian? In Verschueren et al. (2016), it is
d(xN ) + DN (xN − xN ) proven for an SQP method with full steps that a local

13744
Proceedings of the 20th IFAC World Congress
Toulouse, France, July 9-14, 2017 H.J. Ferreau et al. / IFAC PapersOnLine 50-1 (2017) 13194–13209 13203

minimizer of the nonlinear problem becomes unattractive the previous problem shifted in time, 2) we employ a so-
if the approximate Hessian is smaller (in the matrix sense) called tangential predictor that gives us information of the
than half of the exact Hessian. For least-squares problems optimization problem (both IP and SQP methods deliver
as (10), this problem is avoided if the problem is only such a tangential predictor, but unfortunately the interior
mildly nonlinear or when the residuals are small. point solution manifold becomes highly nonlinear at an
active set change, which results in a less accurate predictor
One generalization of the GGN algorithm worth mention-
for those methods compared to SQP). By combining
ing is Sequential Convex Programming (SCP, Tran-Dinh
shifting and the use of a tangential predictor, we usually
et al. (2012)), applicable to NMPC formulations with more
end up with an adequate initial guess for the next optimal
general convex objective function or inequality constraints.
control problem instance.
SCP still does linearize the non-convex dynamic equations,
but passes off the convex objective and/or inequalities to However, when applying an advanced optimal control
a general-purpose convex solver. method in an online fashion, like NMPC, we face the
following problem. At each time instant, we estimate the
6.3 Nonlinear interior-point methods current state, upon which we base our optimal control
problem. Solving this problem takes time, which makes
In interior point methods, the way of treating the nonlinear our current state estimate quickly become outdated. This
KKT system (7) is to smoothen the complementarity might be called the real-time dilemma (Diehl (2001)).
conditions (7c)-(7e) by introducing the so-called barrier
We can take either of two options to solve this dilemma.
parameter τ > 0, such that the perturbed KKT conditions
The first option is to compensate for the computational
read as
delay introduced by the method at hand. This approach
∇w L(w, λ, µ) = 0, (20a) is taken in e.g. the advanced step controller by Zavala and
c(w) = 0, (20b) Biegler (2009), which is based on a nonlinear interior point
µi di (w) + τ = 0, i = 1, . . . , niq . (20c) algorithm. It takes into account a prediction of what the
initial state will be when the computations will be ready.
System (20) is then solved with Newton’s method, for a
given value of the barrier parameter τ . Afterwards, τ is The second option is to not fully solve the optimal control
adapted appropriately and the next iteration starts. The problem to convergence. This is opted for in e.g. the
structure of the linear systems that need to be solved Newton-type controller (Li and Biegler (1989)), which only
in each step is identical to the ones in interior point performs one full Newton SQP-step per sampling time.
methods for convex quadratic problems. The difference This method is based on a single shooting discretization
is that the quantities are linearized in each iteration. and does not make use of a tangential predictor. The
Note that, similar as in SQP methods, one can use an Continuation/GMRES method by Ohtsuka (2004) also
approximation of the exact Hessian ∇2w L(w, λ, µ) for the takes just one Newton step, but is based on an interior
Newton iterations instead. point algorithm, and by contrast does make use of a
tangential predictor.
An important consideration in nonlinear interior point
methods is the strategy for updating the barrier parame- An efficient implementation of the Continuation/GMRES
ter. Different strategies exist, and a good strategy for inte- method is the AutoGenU package (Ohtsuka and Kodama
rior point methods for linear or quadratic programs does (2002)) and an example of experimental validation of this
not necessarily perform well on nonlinear problems (No- method is done on a radio-controlled hovercraft (Seguchi
cedal et al. (2009)). and Ohtsuka (2003a)).

Another algorithmic component is globalization, in order Another approach for online NMPC and NMHE that has
to ensure convergence to a local optimum. Recently, filter been proven to be efficient in practice is the real-time
line-search methods became popular (Wächter and Biegler iteration (RTI) scheme (Diehl et al. (2002)). This SQP-
(2006a)). An excellent implementation is the package type method only solves one QP (18) per sampling instant.
IPOPT (Wächter and Biegler (2006b)). Other codes that The underlying idea is to approach a local solution while
are more practical for use on embedded and/or real-time controlling the plant. The RTI scheme has some attractive
platforms, are FORCES PRO (Zanelli et al. (2016)) and properties for practical application. First, it makes use of
PIPS-NLP (Chiang et al. (2016)). a generalized tangential predictor, which can be shown to
work well across active set changes, even when started from
6.4 Online methods for nonlinear MPC an approximate solution (we refer to Diehl et al. (2009) for
a more in-depth comparison between the different types
A useful realization in the context of receding horizon of tangential predictors). Secondly, we can save time by
control is that the subsequent optimization problems that splitting our computations in a feedback and preparation
we are trying to solve bear a striking similarity. Often, phase. The preparation phase consists of simulation of
the state of the underlying plant does not change all that the nonlinear system, as well as generating first- and
much, depending on the difference between the time con- second-order derivative information. Also condensing is
stant of the plant and the sampling time of the controller. part of this phase. The feedback phase starts when the
measurement of the initial state becomes available, and
Supposing that we have a solution to some instant of the consists just of the solution of one QP, thus minimizing
online control problem, we can do at least two things to feedback delay.
prepare for the control problem in the next time instant:
1) we use an initial guess which consists of the solution of

13745
Proceedings of the 20th IFAC World Congress
13204
Toulouse, France, July 9-14, 2017 H.J. Ferreau et al. / IFAC PapersOnLine 50-1 (2017) 13194–13209

A popular implementation of the RTI is the ACADO Tool- 7.2 Enumeration-based methods
kit (Houska et al. (2011)). Special code generated inte-
grators for embedded optimization exploit the iterative Most effective online methods for solving mixed-integer
nature of the process and allow for a significant CPU problems rely on some form of enumeration of the discrete
time reduction (Quirynen et al., 2017). Many examples decisions. Methods based on pure enumeration are some-
of experimental application of the RTI scheme exist, e.g. times used (Geyer (2005); Rodriguez et al. (2013)), par-
on electrical drives in the megawatt range (Besselmann ticularly for input-switched/switched-affine systems with
et al. (2016b)), on small-scale race cars (Verschueren et al. very short control horizons. The trajectory of such systems
(2014)), on autonomous agricultural vehicles (Kayacan is fully determined by the (measured) initial state and the
et al. (2014)) and on a 6-DOF robotic manipulator (van sequence of switching inputs. Therefore, the trajectories
Duijkeren et al. (2016)). resulting from all possible switching sequences can be pre-
dicted numerically and the sequence leading to the lowest-
7. METHODS FOR OPTIMAL CONTROL cost trajectory chosen. This technique can be used for arbi-
PROBLEMS WITH DISCRETE DECISIONS trary (possibly nonconvex) cost, constraints and discrete-
time dynamics. It can even be applied to continuous-
Receding horizon optimal control problems involving dis- time dynamics, using numerical integrators. The required
crete decisions can be broadly classified into pure- and computation grows exponentially in control horizon N ,
mixed-integer problems. Pure-integer (or integer) prob- but is fixed and known a-priori, making this method
lems are optimization problems, where all decision vari- well-suited for embedded applications. For systems with
ables are restricted to a subset of the integers, i.e., all continuous inputs or larger control horizon, this method
decision variables are discrete. Such problems are often becomes impractical, and smarter methods of enumeration
related to scheduling and planning, many of which have are required.
been studied extensively and have counterparts as opti- The most popular of these techniques is branch-and-bound
mization over graphs, such as the caterer problem (Jacobs (Wolsey and Nemhauser (1988); Bertsimas and Weisman-
(1954)), the vehicle routing problem (Dantzig and Ramser tel (2005)). For problems, where the only source of noncon-
(1959)), or the assignment problem (Martello and Toth vexity is the discrete nature of some of the decision vari-
(1987)). For these problems, tailored methods for finding ables, e.g. in a convex optimization problem of form (1),
global or approximate solutions exist, some of which can where some of the decision variables are restricted to
be implemented in an embedded context. be integers, a hierarchy (or tree) of relaxations can be
In most cases, however, control problems involve both established. Each node in the tree corresponds to fixing
discrete and continuous quantities and therefore fall in the one of the discrete decision variables to a particular value
latter category of mixed-integer problems. In the following, and relaxing all others to an interval containing all possible
we will elaborate on different solution methods for mixed- discrete decisions of that variable. The branch-and-bound
integer problems, that are suited for embedded control algorithm traverses this tree, solving the relaxation, a
applications. convex optimization problem, at each node. The solution
of this relaxed problem provides a (local) lower bound
7.1 Explicit solutions on the objective value for all nodes further down in the
tree, i.e., nodes where more discrete decision variables
are fixed. The decision of determining which node of the
Similar to the linear MPC case as discussed in Section 4.5,
tree to explore next is called branching. Traversing the
the solution of mixed-integer MPC problems of form (14) is
tree downwards, fixing more and more discrete variables,
likewise a piece-wise affine function of the initial state, x0
leads to better and better lower bounds. Leaf nodes of
(Bemporad et al. (2002b)). However, it is usually dis-
the tree represent convex optimization problems, where all
continuous and its domain is non-convex, i.e., a finite
discrete decisions have been fixed. If the convex problem
union of polyhedra. Furthermore, the number of regions
at a leaf node is feasible, we obtain a feasible solution of
of the piece-wise affine function grows exponentially, not
the original mixed-integer problem, and therefore a global
only in the control horizon N , but also in the number of
upper bound on the optimal objective value. If at some
binary optimization variables. Generating and storing the
node, the local lower bound exceeds the best global upper
explicit solution therefore becomes a major limitation, and
bound, none of the nodes further down the tree need
is feasible only for problems with few binary variables and
to be explored, since they can only lead to suboptimal
a short horizon N . If the explicit solution can be generated,
solutions. This is called bounding and helps avoiding to
it can be evaluated very efficiently using a binary tree
enumerate all possible combinations of discrete decisions.
search, see Tøndel et al. (2003); Christophersen et al.
The method of branch-and-cut combines branching with
(2007). Furthermore, it is possible to obtain suboptimal
cutting-plane techniques (Wolsey and Nemhauser, 1988).
explicit solutions with reduced storage complexity, see
In branch-and-cut, the relaxed problems are augmented
Axehill et al. (2014).
with constraints that are redundant for the original mixed-
Generating explicit solutions of mixed-integer MPC prob- integer problem but reduce the feasible set of the relaxed
lems, as well as efficient embeddable C-code, is imple- problem, reducing the number of nodes that have to be
mented as part of the multi-parametric toolbox (Herceg explored. Both of these methods can be extended to be
et al. (2013)) for Matlab. Also the hybrid toolbox (Be- used for solving general MINLP problems, using spatial
mporad (2004)) for Matlab implements tools for the branch-and-bound, with tools such as BARON (Sahinidis
generation of explicit MPC controllers involving discrete (2014)), Bonmin (Bonami et al. (2013)) or Couenne (Belotti
decisions. et al. (2009)).

13746
Proceedings of the 20th IFAC World Congress
Toulouse, France, July 9-14, 2017 H.J. Ferreau et al. / IFAC PapersOnLine 50-1 (2017) 13194–13209 13205

Solving general MINLPs is very rarely feasible in an em- PWA description of the hybrid dynamics, yielding a non-
N M
bedded context. However, branch-and-bound is particu-
larly well suited for solving MIQPs (Fletcher and Leyffer
×
convex set of the form Ω = k=0 i=1 Ωk,i , where the
sets Ωk,i are simple, low-dimensional polyhedra. Evalu-
(1998)), in part, because the relaxed problems, needed ating the projection πΩ (w) reduces to projections onto
to be solved at each node, are simple, convex quadratic the individual sets Ωk,i and then choosing the minimum
programs. In control, mixed-integer MPC problems can distance solution among the solutions of πΩk,i (wk ) for each
be formulated as MIQPs, see (14), where the multistage k. For some cases, guarantees for local convergence and
structure of the optimization problem can be exploited to local optimality are given. Both of these methods are very
further improve the speed at which the relaxed QPs can simple, can be warmstarted and are therefore well suited
be solved, thereby improving the overall computational to be implemented in an embedded setting. Furthermore,
efficiency of the branch-and-bound scheme. This fact has they can be used to handle larger problems, for which
been exploited in (Axehill, 2008, p. 123ff), where a dual using explicit solutions is not feasible. Finally, they often
active-set method tailored to the MPC structure was used outperform solvers based on branch-and-bound.
as a solver for the relaxed problems in branch-and-bound.
In Frick et al. (2015) a method for generating embedded C-
code for a parametric branch-and-bound solver that can be 7.4 Other approaches
tailored to the particular mixed-integer MPC problem was
presented. The method utilizes FORCES (Domahidi et al. Other notable approaches include Hempel (2015), where
(2012)), a tool for generating customized interior-point using inverse optimization, hybrid MPC problems with
solvers for parametric QPs. FORCES PRO (Domahidi and piece-wise affine dynamics are transformed into linear com-
Jerez (2014)) can now generate tailored statically allocated plementarity problems with special structure. These linear
branch-and-bound solvers. Similarly, in Bemporad (2015), complementarity problems can be solved using standard
a tailored active-set method based on non-negative least NLP solvers, and often outperform commercial mixed-
squares is proposed as a relaxed QP solver in combination integer programming solvers.
with branch-and-bound. The active-set method features In the case of integer controls and nonlinear continuous dy-
warm-starting and early-stopping, which can be used to namics, a convexification strategy was developed by Sager
accelerate the branch-and-bound procedure, particularly (2005) that allows one to efficiently obtain solutions of a
in a receding horizon setting. Heuristics for improving relaxed problem that can be transformed into -feasible
the performance of branch-and-bound schemes, tailored solution approximations whose error can be bounded in
to mixed-integer MPC problems, are discussed in Frick practice and in theory (Sager et al., 2012).
et al. (2015). In Axehill et al. (2010), it is shown that
semi-definite programming (SDP) relaxations are at least
as tight as QP relaxations, and in Moehle and Boyd 8. CONCLUSIONS
(2015) a perspective-based formulation for switched-affine
systems, with general convex programs as relaxations, is Embedded optimization is becoming a mature technology
presented. These relaxations are also at least as tight as and the field is still developing and expanding quickly.
the QP relaxations. Such methods can lead to fewer nodes While most applications used to rely on rather simple,
that have to be explored in a branch-and-bound scheme, convex QP formulations just a decade ago, nowadays even
however efficient SDP or general convex solvers are not yet highly nonlinear or mixed-integer formulations for indus-
available in an embedded context. trially relevant problems are solvable within a couple of
milliseconds on embedded computing hardware. This sur-
vey provided an overview of the most promising algorith-
7.3 Splitting methods
mic concepts as well as state-of-the-art implementations.
With the recent interest in methods based on operator Current trends such as “internet of things” are about to
splitting for solving convex and smooth nonconvex prob- make embedded computing resources ubiquitous, natu-
lems, there have been efforts to develop similar methods rally asking for smart software to harvest their full po-
for nonsmooth problems arising in MPC with discrete tential. For many applications it will not be sufficient to
decisions. As in the convex case, a consensus problem of just control systems and devices decently. Rather, it is
form (15) is considered, where the problem is split into going to be expected that they behave optimally and in
two parts h and g. In the case of mixed-integer problems an autonomous manner. Embedded optimization will not
the function g(w) = δ(w | Ω) is the indicator function be the answer to all questions arising from this evolution,
for a nonconvex set and contains constraints modeling but it is likely to be a key building block.
the discrete nature of the problem. Ω is usually chosen
such that g becomes separable for each stage of the MPC REFERENCES
problem, i.e, Ω = Ω0 × . . . × ΩN . Douglas-Rachford split-
ting/ADMM (see Example 1 in Section ref) is used as a Abdollahpouri, M., Takács, G., and Rohal’-Ilkiv, B.
heuristic in Takapoui et al. (2016) to solve problems of (2017). Real-time moving horizon estimation for a
this type, when a solution w to the projection πΩ (w) := vibrating active cantilever. Mechanical Systems and
argminw∈Ω w − w2 onto the set Ω can be computed Signal Processing, 86, 1–15.
efficiently. Neither optimality, nor convergence guarantees Alessio, A. and Bemporad, A. (2009). Nonlinear model
are available in this case, which is a topic of active research. predictive control, volume 384 of Lecture Notes in Con-
In Frick et al. (2016) a method based on operator splitting trol and Information Sciences, chapter A Survey on
was developed to find KKT points of (15). It utilizes the Explicit Model Predictive Control, 345–369. Springer.

13747
Proceedings of the 20th IFAC World Congress
13206
Toulouse, France, July 9-14, 2017 H.J. Ferreau et al. / IFAC PapersOnLine 50-1 (2017) 13194–13209

Almér, S., Mariéthoz, S., and Morari, M. (2013). Sampled Industrial Electronics, 63(7), 4641–4648.
Data Model Predictive Control of a Voltage Source In- Biegler, L. (1984). Solution of dynamic optimization prob-
verter for Reduced Harmonic Distortion. IEEE Transac- lems by successive quadratic programming and orthog-
tions on Control Systems Technology, 21(5), 1907–1915. onal collocation. Computers and Chemical Engineering,
Almér, S., Mariéthoz, S., and Morari, M. (2015). Dy- 8, 243–248.
namic Phasor Model Predictive Control of Switched Biegler, L. and Zavala, V. (2009). Large-scale nonlinear
Mode Power Converters. IEEE Transactions on Control programming using IPOPT: An integrating framework
Systems Technology, 23(1), 349–356. for enterprise-wide dynamic optimization. Computers
Attouch, H. and Bolte, J. (2009). On the convergence of and Chemical Engineering, 33(3), 575–582.
the proximal algorithm for nonsmooth functions involv- Bock, H.G. (1983). Recent advances in parameter identifi-
ing analytic features. Mathematical Programming, 116, cation techniques for ODE. In Numerical Treatment of
5–16. Inverse Problems in Differential and Integral Equations,
Attouch, H., Bolte, J., and Svaiter, B. (2013). Convergence 95–121. Birkhäuser.
of descent methods for semi-algebraic and tame prob- Bock, H.G. and Plitt, K.J. (1984). A multiple shooting al-
lems: proximal algorithms, forward-backward splitting gorithm for direct solution of optimal control problems.
and regularised Gauss-Seidel methods. Mathematical In Proceedings of the IFAC World Congress, 242–247.
Programming, 137, 91–129. Pergamon Press.
Axehill, D. (2008). Integer Quadratic Programming for Boechat, M.A., Liu, J., Peyrl, H., Zanarini, A., and
Control and Communication. Ph.D. thesis, Linköping Besselmann, T. (2013). An architecture for solving
University, The Institute of Technology. quadratic programs with the fast gradient method on
Axehill, D., Besselmann, T., Raimondo, D.M., and Morari, a field programmable gate array. In Proceedings of the
M. (2014). A parametric branch and bound approach 21st Mediterranean Conference on Control Automation
to suboptimal explicit hybrid MPC. Automatica, 50(1), (MED), 1557–1562.
240–246. Bonami, P., Belotti, P., D’Ambrosio, C., Forrest,
Axehill, D., Vandenberghe, L., and Hansson, A. (2010). J.J., Ladanyi, L., Laird, C., Lee, J., Margot, F.,
Convex relaxations for mixed integer predictive control. Vigerske, S., and Waechter, A. (2013). Bonmin (ba-
Automatica, 46(9), 1540–1545. sic open-source mixed integer programming). URL
Bartlett, R. and Biegler, L. (2006). QPSchur: A Dual, Ac- https://projects.coin-or.org/Bonmin.
tive Set, Schur Complement Method for Large-scale and Camacho, E. and Bordons, C. (2007). Model Predictive
Structured Convex Quadratic Programming Algorithm. Control. Springer, 2nd edition.
Optimization and Engineering, 7, 5–32. Chambolle, A. and Pock, T. (2011). A first-order primal-
Beccuti, A.G., Mariethoz, S., Cliquennois, S., Wang, S., dual algorithm for convex problems with applications to
and Morari, M. (2009). Explicit model predictive control imaging. Journal of Mathematical Imaging and Vision,
of DC-DC switched-mode power supplies with extended 40(1), 120–145.
kalman filtering. IEEE Transactions on Industrial Elec- Chiang, N.Y., Hang, R., and Zavala, V.M.
tronics, 56(6), 1864–1874. (2016). An augmented lagrangian filter method
Belotti, P., Lee, J., Liberti, L., Margot, F., and Wächter, for real-time embedded optimization. URL
A. (2009). Branching and bounds tightening techniques http://www.optimization-online.org/DB HTML/
for non-convex MINLP. Optimization Methods and 2016/10/5664.html.
Software, 24(4-5), 597–634. Christophersen, F.J., Kvasnica, M., Jones, C.N., and
Bemporad, A. (2004). Hybrid toolbox - user’s guide. Morari, M. (2007). Efficient evaluation of piecewise
http://cse.lab.imtlucca.it/∼bemporad/hybrid/ control laws defined over a large number of polyhedra.
toolbox. In European Control Conference, 2360–2367.
Bemporad, A. and Morari, M. (1999). Control of systems Dantzig, G.B. (1963). Linear Programming and Exten-
integrating logic, dynamics, and constraints. Automat- sions. Princeton University Press.
ica, 35(3), 407–427. Dantzig, G.B. and Ramser, J.H. (1959). The truck dis-
Bemporad, A., Morari, M., Dua, V., and Pistikopoulos, patching problem. Management Science, 6(1), 80–91.
E.N. (2002a). The explicit linear quadratic regulator Darby, M. and Nikolaou, M. (2012). MPC: Current
for constrained systems. Automatica, 38, 3–20. practice and challenges. Control Engineering Practice,
Bemporad, A. (2015). Solving mixed-integer quadratic 20, 328–342.
programs via nonnegative least squares. IFAC- Debrouwere, F., Vukov, M., Quirynen, R., Diehl, M., and
PapersOnLine, 48(23), 73–79. Swevers, J. (2014). Experimental validation of combined
Bemporad, A., Borrelli, F., and Morari, M. (2002b). On nonlinear optimal control and estimation of an overhead
the Optimal Control Law for Linear Discrete Time crane. IFAC Proceedings Volumes, 47(3), 9617–9622.
Hybrid Systems, 105–119. Springer, Berlin Heidelberg. Defraene, B., van Waterschoot, T., Ferreau, H., Diehl, M.,
Bertsimas, D. and Weismantel, R. (2005). Optimization and Moonen, M. (2012). Real-time perception-based
over integers, volume 13. Dynamic Ideas Belmont. clipping of audio signals using convex optimization.
Besselmann, T.J., Almér, S., and Ferreau, H.J. (2016a). Transactions on Audio, Speech and Language Process-
Model Predictive Control of Load-Commutated ing, 20(10), 2657–2671.
Inverter-Fed Synchronous Machines. IEEE Transactions Di Cairano, S. and Brand, M. (2013). On a multiplicative
on Power Electronics, 31(10), 7384–7393. update dual optimization algorithm for constrained lin-
Besselmann, T.J., de moortel, S.V., Almér, S., Jörg, P., ear MPC. In Proceedings of the 52nd IEEE Conf. on
and Ferreau, H.J. (2016b). Model predictive control Decision and Control, Firenze, Italy, 1696–1701.
in the multi-megawatt range. IEEE Transactions on

13748
Proceedings of the 20th IFAC World Congress
Toulouse, France, July 9-14, 2017 H.J. Ferreau et al. / IFAC PapersOnLine 50-1 (2017) 13194–13209 13207

Di Cairano, S., Liang, W., Kolmanovsky, I.V., Kuang, Frick, D., Domahidi, A., Vukov, M., Mariethoz, S., Diehl,
M.L., and Phillips, A.M. (2013). Power smoothing M., and Morari, M. (2012). Moving horizon estimation
energy management and its application to a series hy- for induction motors. In Sensorless Control for Electri-
brid powertrain. IEEE Transactions on control systems cal Drives (SLED), 2012 IEEE Symposium on.
technology, 21(6), 2091–2103. Frick, D., Jerez, J.L., Domahidi, A., Georghiou, A., and
Di Cairano, S., Yanakiev, D., Bemporad, A., Kol- Morari, M. (2016). Low-complexity iterative method
manovsky, I.V., and Hrovat, D. (2012). Model predictive for hybrid MPC. arXiv preprint:1609.02819, 1–27. URL
idle speed control: Design, analysis, and experimental http://arxiv.org/abs/1609.02819.
evaluation. IEEE Transactions on Control Systems Frison, G., Sorensen, H.B., Dammann, B., and Jørgensen,
Technology, 20(1), 84–97. J.B. (2014). High-performance small-scale solvers for
Diehl, M. (2001). Real-Time Optimization for Large linear model predictive control. In Proceedings of the
Scale Nonlinear Processes. Ph.D. thesis, Universität European Control Conference (ECC), 128–133.
Heidelberg. Garcı́a, C., Prett, D., and Morari, M. (1989). Model
Diehl, M., Bock, H.G., Schlöder, J., Findeisen, R., Nagy, Predictive Control: Theory and Practice – a Survey.
Z., and Allgöwer, F. (2002). Real-time optimization and Automatica, 25, 335–348.
nonlinear model predictive control of processes governed Geyer, T., Papafotiou, G., Frasca, R., and Morari, M.
by differential-algebraic equations. Journal of Process (2008). Constrained optimal control of the step-down
Control, 12(4), 577–585. dc-dc converter. Power Electronics, IEEE Transactions
Diehl, M., Ferreau, H.J., and Haverbeke, N. (2009). Effi- on, 23(5), 2454–2464.
cient numerical methods for nonlinear mpc and moving Geyer, T. (2005). Low complexity model predictive control
horizon estimation. In L. Magni, M. Raimondo, and in power electronics and power systems. Ph.D. thesis,
F. Allgöwer (eds.), Nonlinear model predictive control, Eidgenössische Technische Hochschule ETH Zürich, Nr.
volume 384 of Lecture Notes in Control and Information 15953, 2005.
Sciences, 391–417. Springer. Giselsson, P. (2014). Improved fast dual gradient methods
Domahidi, A., Zgraggen, A., Zeilinger, M., Morari, M., for embedded model predictive control. In Proceedings
and Jones, C. (2012). Efficient Interior Point Methods of the 19th IFAC World Congress, Cape Town, South
for Multistage Problems Arising in Receding Horizon Africa, 2303–2309.
Control. In Proceedings of the IEEE Conference on Giselsson, P. and Boyd, S. (2015). Metric Selection in Fast
Decision and Control (CDC), 668 – 674. Maui, HI, USA. Dual Forward-Backward Splitting. Automatica, 62, 1–
Domahidi, A. and Jerez, J. (2014). 10.
FORCES professional. embotech GmbH Giselsson, P. and Boyd, S. (2017). Linear convergence
(http://embotech.com/FORCES-Pro). and metric selection in douglas-rachford splitting and
Eckstein, J. and Bertsekas, D.P. (1992). On the Douglas- ADMM. To appear in IEEE Transactions on Automatic
Rachford Splitting Method and the Proximal Point Al- Control, 62(2), 532–544.
gorithm for Maximal Monotone Operators. Mathemat- Goldfarb, D. and Idnani, A. (1983). A numerically stable
ical Programming, 55(1), 293–318. dual method for solving strictly convex quadratic pro-
Ferreau, H.J., Bock, H.G., and Diehl, M. (2008). An online grams. Mathematical Programming, 27, 1–33.
active set strategy to overcome the limitations of explicit Gros, S., Zanon, M., Quirynen, R., Bemporad, A., and
MPC. International Journal of Robust and Nonlinear Diehl, M. (2017). From linear to nonlinear MPC: bridg-
Control, 18(8), 816–830. ing the gap via the real-time iteration. International
Ferreau, H.J., Kirches, C., Potschka, A., Bock, H.G., and Journal of Control. (in press).
Diehl, M. (2014). qpOASES: a parametric active-set Harjunkoski, I., Nyström, R., and Horch, A. (2009). Inte-
algorithm for quadratic programming. Mathematical gration of scheduling and control – Theory or practice?
Programming Computation, 6(4), 327–363. Computers & Chemical Engineering, 33(12), 1909–1918.
Ferreau, H., Ortner, P., Langthaler, P., del Re, L., and FOCAPO 2008 – Selected Papers from the Fifth Inter-
Diehl, M. (2007). Predictive control of a real-world diesel national Conference on Foundations of Computer-Aided
engine using an extended online active set strategy. Process Operations.
Annual Reviews in Control, 31(2), 293–301. Hartley, E. and Maciejowski, J. (2010). Predictive control
Fletcher, R. and Leyffer, S. (1998). Numerical experience for spacecraft rendezvous in an elliptical orbit using
with lower bounds for MIQP branch-and-bound. Opti- an FPGA. In Proceedings of the European Control
mization, SIAM Journal on, 8(2), 604–616. Conference, 1359–1364. Zurich, Switzerland.
Frasch, J.V., Sager, S., and Diehl, M. (2015). A parallel Heemels, W., Schutter, B.D., and Bemporad, A. (2001).
quadratic programming method for dynamic optimiza- Equivalence of hybrid dynamical models. Automatica,
tion problems. Mathematical Programming Computa- 37(7), 1085–1091.
tions, 7(3), 289–329. Hempel, A.B. (2015). Control of Piecewise Affine Sys-
Frasch, J.V., Vukov, M., Ferreau, H.J., and Diehl, M. tems Through Inverse Optimization. Ph.D. thesis, ETH
(2014). A new quadratic programming strategy for Zürich. Dissertation, ETH-Zürich, Nr. 23222, 2015.
efficient sparsity exploitation in SQP-based nonlinear Herceg, M., Kvasnica, M., Jones, C.N., and Morari, M.
MPC and MHE. In Proceedings of the 19th IFAC World (2013). Multi-parametric toolbox 3.0. In Proceedings
Congress. of the European Control Conference, 502–510. Zürich,
Frick, D., Domahidi, A., and Morari, M. (2015). Embed- Switzerland.
ded optimization for mixed logical dynamical systems. Hours, J.H. and Jones, C.N. (2016). A parametric non-
Computers & Chemical Engineering, 72, 21–33. A Trib- convex decomposition algorithm for real-time and dis-
ute to Ignacio E. Grossmann.

13749
Proceedings of the 20th IFAC World Congress
13208
Toulouse, France, July 9-14, 2017 H.J. Ferreau et al. / IFAC PapersOnLine 50-1 (2017) 13194–13209

tributed nmpc. IEEE Transactions on Automatic Con- Mönnigmann, M. and Kastsian, M. (2011). Fast explicit
trol, 61(2), 287–302. model predictive control with multiway trees. In Pro-
Houska, B., Ferreau, H.J., and Diehl, M. (2011). An auto- ceedings of the 18th IFAC World Congress, 1356–1361.
generated real-time iteration algorithm for nonlinear Nedelcu, V., Necoara, I., and Quoc, D.Q. (2014). Com-
MPC in the microsecond range. Automatica, 47(10), putational complexity of inexact gradient augmented
2279–2285. lagrangian methods: Application to constrained MPC.
Huyck, B., Ferreau, H., Diehl, M., Brabanter, J.D., Impe, SIAM Journal on Control and Optimization, 52(5),
J.V., Moor, B.D., and Logist, F. (2012). Towards 3109–3134.
online model predictive control on a programmable logic Nesterov, Y. (1983). A method for solving a convex pro-
controller: Practical considerations. Article ID 912603. gramming problem with rate of convergence O(1/k 2 ).
Iles, S., Matusko, J., and Kolonic, F. (2014). Real-time Doklady Mathematics, 269(3), 543–547.
Predictive Control of 3D tower crane. In 2014 IEEE Nocedal, J. and Wright, S.J. (2006). Numerical Opti-
23rd International Symposium on Industrial Electronics mization. Springer Series in Operations Research and
(ISIE), 224–230. Financial Engineering. Springer, 2 edition.
Jacobs, W. (1954). The caterer problem. Naval Research Nocedal, J., Wächter, A., and Waltz, R.A. (2009). Adap-
Logistics Quarterly, 1(2), 154–165. tive barrier update strategies for nonlinear interior
Jerez, J., Goulart, P., Richter, S., Constantinides, G., methods. SIAM Journal on Optimization, 19(4), 1674–
Kerrigan, E., and Morari, M. (2014). Embedded Online 1693.
Optimization for Model Predictive Control at Mega- Noga, R., de Prada, C., Ohtsuka, T., Blanco, E., and
hertz Rates. IEEE Transactions on Automatic Control, Casas, J. (2014). Non-linear moving horizon state esti-
59(12), 3238–3251. mation and control for the superfluid helium cryogenic
Karmarkar, N. (1984). A new polynomial time algorithm circuit at the large Hadron Collider. In 53rd IEEE
for linear programming. Combinatorica, 4, 373–395. Conference on Decision and Control, 3530–3535.
Kayacan, E., Kayacan, E., Ramon, H., and Saeys, W. O’Donoghue, B. and Candes, E. (2015). Adaptive Restart
(2014). Distributed nonlinear model predictive control for Accelerated Gradient Schemes. Foundations of
of an autonomous tractor-trailer system. Mechatronics, Computational Mathematics, 15(3), 715–732.
24(8), 926–933. Ohtsuka, T. and Kodama, A. (2002). Automatic code gen-
Kraus, T., Ferreau, H.J., Kayacan, E., Ramon, H., eration system for nonlinear receding horizon control.
De Baerdemaeker, J., Diehl, M., and Saeys, W. (2013). Transactions of the Society of Instrument and Control
Moving horizon estimation and nonlinear model predic- Engineers, 38(7), 617–623.
tive control for autonomous agricultural vehicles. Com- Ohtsuka, T. (2004). A continuation/GMRES method for
puters and electronics in agriculture, 98, 25–33. fast computation of nonlinear receding horizon control.
Kvamme, S. (2014–2015). DuQuad Webpage. Automatica, 40(4), 563–574.
http://sverrkva.github.io/duquad/. Ortner, P. and del Re, L. (2007). Predictive Control of a
Kvasnica, M., Grieder, P., Baoti, M., and Morari, M. Diesel Engine Air Path. IEEE Transactions on Control
(2004). Multi parametric toolbox (MPT). In R. Alur Systems Technology, 15(3), 449–456.
and G. Pappas (eds.), HSCC (Hybrid Systems: Compu- Patrinos, P. and Bemporad, A. (2012). An accelerated
tation and Control), volume 2993 of Lecture Notes in dual gradient-projection algorithm for linear model pre-
Computer Science, 448–462. Springer Verlag. dictive control. In Proc. IEEE 51st Conf. on Decision
Li, W. and Biegler, L. (1989). Multistep, Newton-Type and Control (CDC), 662–667.
Control Strategies for Constrained Nonlinear Processes. Patrinos, P., Sopasakis, P., and Sarimveis, H. (2011). A
Chem. Eng. Res. Des., 67, 562–577. global piecewise smooth newton method for fast large-
Liniger, A., Domahidi, A., and Morari, M. (2015). scale model predictive control. Automatica, 47, 2016–
Optimization-based autonomous racing of 1: 43 scale 2022.
RC cars. Optimal Control Applications and Methods, Qin, S. and Badgwell, T. (2003). A survey of industrial
36(5), 628–647. model predictive control technology. Control Engineer-
Mariethoz, S. and Morari, M. (2009). Explicit model- ing Practice, 11, 733–764.
predictive control of a pwm inverter with an LCL filter. Quirynen, R., Gros, S., Houska, B., and Diehl, M. (2017).
Industrial Electronics, IEEE Transactions on, 56(2), Lifted collocation integrators for direct optimal control
389–399. in ACADO toolkit. Mathematical Programming Compu-
Martello, S. and Toth, P. (1987). Linear assignment tation. (under review, preprint available at Optimization
problems. In Surveys in Combinatorial Optimization, Online).
volume 132 of North-Holland Mathematics Studies, 259– Rao, C., Wright, S., and Rawlings, J. (1998). Application
282. North-Holland. of Interior-Point Methods to Model Predictive Control.
Mattingley, J. and Boyd, S. (2009). Convex Optimiza- Journal of Optimization Theory and Applications, 99,
tion in Signal Processing and Communications, chapter 723–757.
Automatic Code Generation for Real-Time Convex Op- Rawlings, J. and Mayne, D. (2009). Model Predictive
timization. Cambridge University Press. Control: Theory and Design. Nob Hill.
Mayne, D., Rawlings, J., Rao, C., and Scokaert, P. (2000). Richalet, J., Rault, A., Testud, J., and Papon, J. (1978).
Constrained model predictive control: stability and op- Model predictive heuristic control: applications to in-
timality. Automatica, 26(6), 789–814. dustrial processes. Automatica, 14, 413–428.
Moehle, N. and Boyd, S. (2015). A perspective-based Richter, S., Morari, M., and Jones, C.N. (2011). Towards
convex relaxation for switched-affine optimal control. computational complexity certification for constrained
Systems & Control Letters, 86, 34–40.

13750
Proceedings of the 20th IFAC World Congress
Toulouse, France, July 9-14, 2017 H.J. Ferreau et al. / IFAC PapersOnLine 50-1 (2017) 13194–13209 13209

MPC based on lagrange relaxation and the fast gradient Control Conference (ECC).
method. In Conference on Decision and Control and Vargas-Villamil, F.D. and Rivera, D.E. (2000). Multilayer
European Control Conference (CDC-ECC), 5223–5229. optimization and scheduling using model predictive con-
Rodriguez, J., Kazmierkowski, M.P., Espinoza, J.R., trol: application to reentrant semiconductor manufac-
Zanchetta, P., Abu-Rub, H., Young, H.A., and Rojas, turing lines. Computers & Chemical Engineering, 24(8),
C.A. (2013). State of the art of finite control set model 2009–2021.
predictive control in power electronics. IEEE Transac- Verschueren, R., Bruyne, S.D., Zanon, M., Frasch, J.V.,
tions on Industrial Informatics, 9(2), 1003–1016. and Diehl, M. (2014). Towards time-optimal race car
Sager, S. (2005). Numerical methods for mixed–integer driving using nonlinear MPC in real-time. In Proceed-
optimal control problems. Der andere Verlag, Tönning, ings of the IEEE Conference on Decision and Control
Lübeck, Marburg. ISBN 3-89959-416-9. (CDC), 2505–2510.
Sager, S., Bock, H.G., and Diehl, M. (2012). The integer Verschueren, R., van Duijkeren, N., Quirynen, R., and
approximation error in mixed-integer optimal control. Diehl, M. (2016). Exploiting convexity in direct optimal
Mathematical Programming (Series A), 133, 1–23. control: a sequential convex quadratic programming
Sahinidis, N.V. (2014). BARON: Global Optimization of method. In Proceedings of the IEEE Conference on
Mixed-Integer Nonlinear Programs, User’s Manual. Decision and Control (CDC).
Sargent, R. and Sullivan, G. (1978). The development of Vukov, M., Loock, W.V., Houska, B., Ferreau, H., Swevers,
an efficient optimal control package. In J. Stoer (ed.), J., and Diehl, M. (2012). Experimental Validation of
Proceedings of the 8th IFIP Conference on Optimization Nonlinear MPC on an Overhead Crane using Automatic
Techniques (1977), Part 2. Springer, Heidelberg. Code Generation. In Proceedings of the American
Seguchi, H. and Ohtsuka, T. (2003a). Nonlinear Receding Control Conference, Montreal, Canada, 6264–6269.
Horizon Control of an Underactuated Hovercraft. In- Vukov, M., Gros, S., Horn, G., Frison, G., Geebelen,
ternational Journal of Robust and Nonlinear Control, K., Jørgensen, J.B., Swevers, J., and Diehl, M. (2015).
13(3–4), 381–398. Real-time nonlinear MPC and MHE for a large-scale
Seguchi, H. and Ohtsuka, T. (2003b). Nonlinear receding mechatronic application. Control Engineering Practice,
horizon control of an underactuated hovercraft. Interna- 45, 64–78.
tional journal of robust and nonlinear control, 13(3-4), Wächter, A. and Biegler, L.T. (2006a). Line Search Filter
381–398. Methods for Nonlinear Programming: Motivation and
Stathopoulos, G., Shukla, H., Szűcs, A., Pu, Y., and Jones, Global Convergence. SIAM Journal on Optimization,
C.N. (2016). Operator Splitting Methods in Control. 16, 1–31.
Foundations and Trends(R) in Systems and Control, Wächter, A. and Biegler, L.T. (2006b). On the implemen-
3(3), 249–362. tation of an interior-point filter line-search algorithm
Takapoui, R., Moehle, N., Boyd, S., and Bemporad, A. for large-scale nonlinear programming. Mathematical
(2016). A simple effective heuristic for embedded mixed- Programming, 106(1), 25–57.
integer quadratic programming. In Proceedings of the Wang, Y. and Boyd, S. (2010). Approximate dynamic
American Control Conference, Boston, MA, USA. programming via iterated bellman inequalities.
Tøndel, P., Johansen, T., and Bemporad, A. (2003). An Widd, A., Ekholm, K., Tunestal, P., and Johansson, R.
Algorithm for Multi-Parametric Quadratic Program- (2009). Experimental evaluation of predictive com-
ming and Explicit MPC Solutions. Automatica, 39, 489– bustion phasing control in an HCCI engine using fast
497. thermal management and VVA. In 2009 IEEE Control
Torrisi, F. and Bemporad, A. (2004). HYSDEL – a tool Applications,(CCA) & Intelligent Control,(ISIC), 334–
for generating computational hybrid models for analysis 339. IEEE.
and synthesis problems. IEEE Transactions on Control Wills, A., Bates, D., Fleming, A., Ninness, B., and Mo-
Systems Technology, 12(2), 235–249. heimani, S. (2005). Application of MPC to an active
Tran-Dinh, Q., Savorgnan, C., and Diehl, M. (2012). structure using sampling rates up to 25kHz. 3176–3181.
Adjoint-based predictor-corrector sequential convex 44th IEEE Conference on Decision and Control and
programming for parametric nonlinear optimization. European Control Conference, Seville, Spain.
SIAM J. Optimization, 22(4), 1258–1284. Wolsey, L.A. and Nemhauser, G.L. (1988). Integer and
Tseng, P. (2008). On accelerated proximal gradient Combinatorial Optimization. John Wiley & Sons.
methods for convex-concave optimization. URL Zanelli, A., Domahidi, A., Jerez, J., and Morari, M. (2016).
http://www.mit.edu/∼dimitrib/PTseng/papers/ FORCES NLP: An efficient implementation of interior-
apgm.pdf. point methods for multistage nonlinear nonconvex pro-
Ullmann, F. (2011). FiOrdOs: A MATLAB Toolbox for grams. International Journal of Control: Special Issue
C-Code Generation for First Order Methods. Master on MPC Algorithms and Applications. (accepted for
thesis, ETH Zurich, Switzerland. publication).
van Duijkeren, N., Verschueren, R., Pipeleers, G., Diehl, Zavala, V.M. and Biegler, L. (2009). The Advanced Step
M., and Swevers, J. (2016). Path-following NMPC for NMPC Controller: Optimality, Stability and Robust-
serial-link robot manipulators using a path-parametric ness. Automatica, 45, 86–93.
system reformulation. In Proceedings of the European

13751

You might also like