Energy Management in Electric Vehicles
Energy Management in Electric Vehicles
IN E LECTRIC V EHICLES
C ONVEX O PTIMIZATION FOR M ODEL P REDICTIVE
C ONTROL
D OCTOR OF P HILOSOPHY
S EBASTIAN E AST
S T. J OHN ’ S C OLLEGE , U NIVERSITY OF OXFORD
T RINITY T ERM 2020
This thesis is dedicated to my parents,
Janet & Bernd.
ACKNOWLEDGEMENTS
Firstly, I would like to extend my deepest gratitude to my supervisor, Professor Mark Can-
non, whose guidance and support has been absolutely phenomenal. Mark’s dedication
to both research and teaching is inspiring, and I am extremely fortunate to have had the
opportunity to work with him for four years. I am particularly grateful for the weekly
meetings, the helpful and unbelievably detailed feedback on my work, the insightful ad-
vice and suggestions, and the rapid completion of countless forms and references. I can’t
possibly thank him enough for all of the time and effort he has invested in me.
More broadly, I would like to thank the Control Group for providing a friendly and
positive research environment throughout my doctoral studies; a particular highlight was
an unforgettable couple of months spent developing a ventilator at the start of the coron-
avirus outbreak. I would also like to thank the engineering fellows at St. John’s College for
my teaching opportunities, Marco Gallieri and the team at NNAISENSE for an incredible
summer in Lugano, and Professor Luigi Del Re and Dr. Philipp Polterauer from Johannes
Kepler University Linz for generously sharing the driver behaviour data used throughout
this thesis.
My time in Oxford wouldn’t have been the same without the MCR community at
St. John’s College; thank you to everyone who has been a part of it for making Oxford
feel like home. I would particularly like to thank the following for their contributions to
the successful completion of my doctoral studies: Ed, Angelica, Kelli, and Cameron for
several years of helpful (and entertaining) discussions over lunch, and Tunrayo for keeping
me motivated whilst writing this thesis during lockdown. I am also very grateful to Abby
for all of the weekends in and out of Oxford, some amazing holidays, and just being great
at taking my mind off of work.
Finally, I am forever grateful to my parents, Janet and Bernd, for the years of loving
support and dedication to my academic development, without whom I would never have
made it to Oxford.
A BSTRACT
I
II
N OMENCLATURE
A := B A is defined as equal to B
A :← C A is redefined as equal to C
A =: B B is defined as equal to A
A∈B A is an element of B
Number Sets
Z the integers
III
NOMENCLATURE
Set operations
0 a vector of zeros
1 a vector of ones
O a matrix of zeros
Throughout this thesis, the dimensions of the vectors and matrices defined above can
be inferred from the context in which they are used.
Vector Operations
IV
NOMENCLATURE
Matrix Operations
Calculus
Logic
A⇒B A implies B
A⇔B A is equivalent to B
A∧B A and B
A∨B A or B
Algorithms
∼ empty placeholder
V
NOMENCLATURE
Common Acronyms
CDCS Charge-Depleting/Charge-Sustaining
SOC State-of-Charge
x battery state-of-charge
VI
C ONTENTS
1 Introduction 1
1.1 Hybrid Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Energy Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Model Predictive Control & Convex Optimization . . . . . . . . . . . . . 4
1.4 Contributions & Outline . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.1 Published Works . . . . . . . . . . . . . . . . . . . . . . . . . . 7
VII
CONTENTS
5 Engine Switching 83
5.1 Model Predictive Controller . . . . . . . . . . . . . . . . . . . . . . . . 84
5.1.1 Feasibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.2 Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.2.1 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.2.2 Convergence & Optimality . . . . . . . . . . . . . . . . . . . . . 88
5.2.3 Variable Updates & Complexity . . . . . . . . . . . . . . . . . . 90
5.3 Numerical Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.3.1 Optimization Performance . . . . . . . . . . . . . . . . . . . . . 93
5.3.2 Closed-loop Control . . . . . . . . . . . . . . . . . . . . . . . . 95
5.4 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.A Optimality and Convergence of Algorithm 5 . . . . . . . . . . . . . . . . 97
5.A.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.A.2 Equivalent Convex Problem . . . . . . . . . . . . . . . . . . . . 99
5.A.3 Optimality and Convergence of the Convex ADMM Iteration . . 101
5.A.4 Optimality and Convergence of the Nonconvex ADMM Iteration . 105
VIII
CONTENTS
8 Conclusion 153
Bibliography 156
IX
C HAPTER 1
I NTRODUCTION
I NTERNAL combustion engines (ICEs) have been a key technology in the development of
modern society and the growth of the global economy for over a century. Innovations
in design and manufacturing have led to lightweight, powerful, and cheap engines, that
are very popular and found in a huge variety of applications and industries. This success
has not been without its drawbacks, however, as ICEs are fuelled almost exclusively with
oil derivatives, and can be directly linked to important environmental and societal issues
including air pollution and climate change [1, §1].
1
1.1. HYBRID TECHNOLOGY
Electric vehicle: A vehicle in which the powertrain includes an electric motor sup-
plied at least in part by a battery, but possibly hybridised with other power sources
and/or energy stores. Thus, all of the terms that follow are a subset of electric vehi-
cles.
All-electric vehicle: An electric vehicle with only electric elements in its power-
train, powered by a conventional battery only.
Plug-in hybrid electric vehicle (PHEV): An electric vehicle for which the battery
can be charged from an external source, and is supplemented with a secondary power
source as a range extender. In this thesis, the second power source is always assumed
to be an internal combustion engine.
Hybrid electric vehicle: An electric vehicle for which the battery cannot be charged
from an external source, and is primarily powered by a non-electric power source
(also assumed to be an internal combustion engine).
Each category can be further subdivided, but the above terms are sufficient for a con-
crete understanding of the following.
The focus of this thesis is on powertrain control for plug-in hybrid electric vehicles
(PHEVs) and battery/supercapacitor electric vehicles (BSEVs). The principle of a PHEV
is to address the range limitation of the battery by combining an electric system with an
internal combustion engine as a range extender. Although this still relies on an internal
combustion engine, analysis of daily driving statistics has revealed that 50% of daily driv-
ing distance is less that 30 miles [9], so a vehicle with an all-electric range of just 30
miles can displace at least 50% of internal combustion miles (assuming that the battery is
charged from an external source each day). The principle of a BSEV is to address the low
2
1.2. ENERGY MANAGEMENT
cycle life and power density of the battery using a hybrid energy storage system consisting
of both a lithium-ion battery pack and a supercapacitor. The idea is that the supercapacitor
provides the high frequency, high magnitude content of the driver’s power demand, whilst
the battery delivers power at a reduced, more constant level. Supercapacitors are ideal
for this application as they have a comparatively high power density (up to 23500 kW/kg,
compared with 2000 W/kg for lithium-ion [6, Table B1]) and effectively infinite cycle life,
but cannot be used for the storage system alone as they they have an energy density even
lower than lithium-ion cells (up to 50 Wh/kg, compared with 350 Wh/kg for lithium-ion
[6, Table B1]). A BSEV can therefore be interpreted as a compromise between the two
technologies.
In both of the cases described above, the inclusion of an additional power source presents a
problem: at each instant during a journey, the driver communicates a single power demand
to the vehicle through the position of the throttle/accelerator pedal, but how much of this
power should the powertrain deliver from each source?
A simple heuristic for the PHEV problem is to run the car in an all-electric mode
until the battery is completely depleted, and then as a hybrid electric vehicle until the
end of the journey (known as a charge-depleting/charge-sustaining (CDCS) strategy). It
has, however, been demonstrated that by providing power from both simultaneously, and
modulating the fraction of power delivered by each throughout the journey (a strategy
known as ‘blended-mode’), the fuel consumption can be significantly reduced without
affecting total battery use [10]. Similarly, a simple method for controlling a BSEV is to
use a low-pass filter to separate the frequencies of the demand power, then deliver the low
frequency content from the battery and the high frequency content from the supercapacitor.
It has also been demonstrated that this approach is sub-optimal (in the sense of minimizing
battery use or maximizing efficiency), and that predictive methods that account for future
driver behaviour can deliver significant performance improvements [11, §4].
Both problems can therefore be considered as optimal control problems, where the
objective is to minimise fuel consumption in the former and minimize battery use in the
latter, and both are achieved by controlling the relative fraction of a total power demand
delivered by two power sources. This class of optimization problems are known as ‘energy
management problems’.
3
1.3. MODEL PREDICTIVE CONTROL & CONVEX OPTIMIZATION
4
1.4. CONTRIBUTIONS & OUTLINE
ware. To date, there has not been a systematic investigation into optimization algorithms
that are specifically tailored to the structure of convex energy management problems.
A similar version of the proof of convexity presented in this chapter was published in [18],
and the projected Newton method was previously published in [19].
5
1.4. CONTRIBUTIONS & OUTLINE
The ADMM algorithm presented in this chapter was originally published in [18], and
both the projected interior point algorithm and a subset of the numerical experiments were
published in [20].
The formulation of the MPC controller and numerical experiments were published in [21],
and a similar proof of convergence for nonconvex problems was published in [22].
6
1.4. CONTRIBUTIONS & OUTLINE
scenario optimization are used to derive a lower bound on the number of scenarios required
for a given confidence of one-step-ahead feasibility. A data-based prediction method is
proposed where predictions of future driver behaviour are generated from a database of
previous examples of a given route being driven, and it is demonstrated in simulation that
this approach provides an extremely close approximation of the results obtained with a
nominal MPC controller that has full preview of future driver behaviour.
[18] S. East and M. Cannon, “An ADMM Algorithm for MPC-based Energy Manage-
ment in Hybrid Electric Vehicles with Nonlinear Losses”, 57th IEEE Conference on
Decision and Control, Miami, USA, pp. 2641–2646, 2018.
doi:10.1109/CDC.2018.8619731
[19] J. Buerger, S. East, and M. Cannon, “Fast Dual-Loop Nonlinear Receding Horizon
Control for Energy Management in Hybrid Electric Vehicles”, IEEE Transactions
on Control Systems Technology, Vol. 27, no. 3, pp. 1060–1070, 2019.
doi:10.1109/TCST.2018.2797058
[20] S. East and M. Cannon, “Energy Management in Plug-in Hybrid Electric Vehicles:
Convex Optimization Algorithms for Model Predictive Control”, IEEE Transactions
on Control Systems Technology (Early Access), Vol. -, pp. 1–13, 2019.
doi:10.1109/TCST.2019.2933793
7
1.4. CONTRIBUTIONS & OUTLINE
[21] S. East and M. Cannon, “Fast Optimal Energy Management with Engine On/Off
Decisions for Plug-in Hybrid Electric Vehicles”, IEEE Control Systems Letters and
CDC 2019, Vol. 3, no. 4, pp. 1074–1079, 2019.
doi:10.1109/LCSYS.2019.2920164
[22] S. East and M. Cannon, “ADMM for MPC with State and Input Constraints, and In-
put Nonlinearity”, American Control Conference, Milwaukee, USA, pp. 4514–4519,
2018.
doi:10.23919/ACC.2018.8431655
The following peer-reviewed publications were also completed during my doctoral studies,
but the results are not included in this thesis.
• Z. Qureshi, S. East, and M. Cannon, “Parallel ADMM for Robust Quadratic Optimal
Resource Allocation Problems”, American Control Conference, Philadelphia, USA,
pp. 3402–3407, 2019.
doi:10.23919/ACC.2019.8814898
C OMPUTATIONAL H ARDWARE
All of the numerical experiments presented in this thesis were programmed in Matlab and
run on a 2.60GHz Intel i7-9750H CPU.
8
C HAPTER 2
T HIS chapter provides an introduction to the PHEV energy management problem, and
an overview of methods for its solution. Firstly, a simplified version of the energy
management problem is formalized mathematically, then a review of common rule-based
and optimization-based methods for computing exact or approximate solutions is pre-
sented.
9
2.1. PROBLEM FORMULATION
Engine Wheels
Fuel
Drivetrain
Torque
Torque
Battery Motor Brakes
Electricity
Figure 2.1: Simplified diagram of components and energy transfers that are relevant to the energy
management problem.
train includes a gearbox to modulate the rotational speed of the engine and motor relative
to the wheels, and mechanical brakes are available to remove energy at the wheels.
The principles described above are now formulated mathematically to aid with the
presentation of the control methods that follow. Figure 2.2 shows a diagram of the power
flows and rotational speeds that are relevant to this formalization, where t ∈ [0, T ] is the
time and T ∈ R++ is the duration of a given journey. Energy management is an inverse
problem: the behaviour of the vehicle is entirely dictated by the driver, and the control
problem is to determine the signals allocated to various components to meet the demand
whilst minimizing a given objective function. An inverse dynamic model is therefore
typically used, where the relevant driver behaviour is defined by the rotational speed of the
wheels, ωw : [0, T ] 7→ R, and demand power, d : [0, T ] 7→ R ∀t ∈ [0, T ]. The rotational
speed of the motor armature, ωm : [0, T ] 7→ R, is subsequently defined by ωm (t) :=
ωw (t)/r(t), where r : [0, T ] 7→ R is the effective gear ratio of the transmission such that
R is the set of available ratios (only forwards driving is considered in this thesis, but the
approach can be readily applied to reverse driving if R contains a negative element). The
clutch control is defined by σ : [0, T ] 7→ {0, 1}, where σ(t) = 1 =⇒ clutch closed,
and σ(t) = 0 =⇒ clutch open. It can be assumed that when the clutch is closed, the
rotational speed of the engine, ωe : [0, T ] 7→ R, is equal to the rotational speed of the
motor armature, and that when it is open, the rotational speed of the engine is zero (i.e. the
engine is off):
(
ωm (t) σ(t) = 1
ωe (t) := , ∀t ∈ [0, T ].
0 σ(t) = 0
10
2.1. PROBLEM FORMULATION
Engine e(t)
ṁf (t) Clutch σ(t)
Losses f (·) d(t)
+ = p(t) =
Gearbox r(t) + +
+
m(t)
Battery c(t) Motor b(t)
u(t)
Losses g(·) Losses h(·)
Figure 2.2: Diagram of the loss functions and variables that are used in the mathematical formu-
lation of the energy management problem. The directions of the arrows represents the direction
of power transfer (note that the arrow between the engine and clutch is bidirectional to allow the
possibility of engine braking). Symbols are also included to indicate how the powerflows are com-
bined at the summing junctions.
If it is also assumed that the gearbox and torque coupler are 100% efficient, then when
the clutch is open the power delivered by the powertrain, p : [0, T ] 7→ R, is equal to
the mechanical power delivered by the motor, m : [0, T ] 7→ R (where m(t) ∈ R−−
corresponds to regenerative braking). When the clutch is closed, the power delivered by
the powertrain is equal to the sum of the power delivered by the motor and the power
delivered by the engine, e : [0, T ] 7→ R. Additionally, the driver demand power is equal to
the power delivered by the powertrain plus the mechanical braking power (which must be
non-positive), given by b : [0, T ] 7→ R− , so
(
e(t) + m(t) + b(t) σ(t) = 1
d(t) =: , ∀t ∈ [0, T ]. (2.1)
m(t) + b(t) σ(t) = 0
The rate of fuel consumption, ṁf : [0, T ] 7→ R+ , can be defined via a map, f : R2 7→ R+ ,
of engine output power and rotational speed, so that ṁf (t) := f (e(t), ωe (t)). Similarly,
the electrical power delivered to the motor, c : [0, T ] 7→ R, can be defined via a map,
h : R2 7→ R, of motor output power and rotational speed, so that c(t) := h(m(t), ωm (t)).
The rate of depletion of the internal energy of the battery, u : [0, T ] 7→ R, is then given by
a time varying function, g : R×[0, T ] 7→ R, of the battery’s electrical output power, so that
u(t) := g(c(t), t) ∀t ∈ [0, T ]. Therefore, the internal energy of the battery, x : [0, T ] 7→ R,
11
2.2. OPTIMAL ENERGY MANAGEMENT
can be given by Z t
x(t) := x(0) − u(τ ) dτ, ∀t ∈ (0, T ],
0
where x(0) is the battery’s initial internal energy (for the purposes of this presentation it is
assumed that u is Riemann integrable).
An important aspect of the energy management problem is that the system components
are subject to hard constraints. The engine has upper and lower limits on torque, T e : R 7→
R and T e : R 7→ R, that may be functions of engine speed, so the limits on engine power
can given by
T e (ωe (t))ωe (t) ≤ e(t) ≤ T e (ωe (t))ωe (t) ∀t ∈ [0, T ].
Similarly, limits on motor power can be given as
T m (ωm (t))ωm (t) ≤ m(t) ≤ T m (ωm (t))ωm (t) ∀t ∈ [0, T ],
where T m : R 7→ R and T m : R 7→ R are upper and lower limits on motor torque.
The engine and motor also have static upper and lower limits on rotational speed given by
ω e , ω e , ω m , ω m ∈ R, so that
ω e ≤ ωe (t) ≤ ω e and ω m ≤ ωm (t) ≤ ω m , ∀t ∈ [0, T ],
and the battery has static limits on internal energy and rate of charge and discharge,
x, x, u, u ∈ R, so that
x ≤ x(t) ≤ x ∀t ∈ (0, T ], and u ≤ u(t) ≤ u ∀t ∈ [0, T ].
Therefore, the necessary and sufficient set of variables to be chosen so that the operation
of the powertrain is well defined are the engine output power, e(t), clutch/engine state,
σ(t), gear selection, r(t), and braking power, b(t) (note that the motor power is implicitly
defined by (2.1) given the listed control variables). It is important to note that the problem
of interest is to determine how the driver’s power demand should be distributed between
the powertrain’s components, and not to control the behaviour of the vehicle in any au-
tonomous sense. The acceleration and deceleration of the vehicle are dictated entirely by
the driver, so d(t) and ωw (t) are set at all times and cannot be changed by the powertrain’s
controller.
12
2.2. OPTIMAL ENERGY MANAGEMENT
Figure 2.3: Comparison of blended mode power allocation and CDCS strategy (reproduced from
[25]), illustrating reduction in fuel use (note that bottom figure represents emissions, but the same
principle applies to fuel consumption).
There are two classes of control methods for reducing fuel consumption in this way:
rule-based and optimization-based. Rule-based controllers are a further set of heuristic
methods that decide the power-split based on a pre-determined set of rules, and whilst
they can improve performance relative to CDCS, they are also inherently suboptimal in
general [10, §2]. Conversely, optimization-based controllers attempt to explicitly address
the question ‘what are the control actions that result in the lowest possible fuel consump-
tion?’. This chapter continues with an overview of five common methods for addressing
this question: dynamic programming, Pontryagin’s minimum principle, equivalent con-
sumption minimization strategy, model predictive control, and convex optimization.
13
2.2. OPTIMAL ENERGY MANAGEMENT
The principle of optimality states that the value function at (t, x) is equal to the minimum
of the running cost over an interval [t, t+∆T ], plus the value function at (t+∆t, x(t+∆t)):
Z t+∆t
V (t, x) = min L(τ, x(τ ), u(τ )) dτ + V (t + ∆t, x(t + ∆t)) .
u[t,t+∆t] t
and the optimal control input, u? (t), can be obtained as the minimizing argument of the
right-hand-side.
For a fuller exposition of dynamic programming and the Hamilton-Jacobi-Bellman
equation in the context of optimal control, see [27, §5]. For Bellman’s original paper on
dynamic programming, see [28], and for his later textbook on the subject see [26]. For a
historical overview of the development of dynamic programming, see [26].
14
2.2. OPTIMAL ENERGY MANAGEMENT
For the most general powertrain models and constraints, obtaining the optimal controller
for (2.2) using dynamic programming is intractable due to the presence of multiple state
and control constraints, and discontinuous and integer decision variables. The standard
approach in the literature is to instead discretise the time, state, and control spaces, so
that xt ∈ X ⊂ Rn and ut ∈ U ⊂ Rm for all t ∈ T , where T := {0, ∆t, . . . , T },
X := X1 × · · · × Xn , and U := U1 × · · · × Um (such that |Xi | ∈ Z++ and |Uj | ∈ Z++ for
all i ∈ {1, . . . , n} and j ∈ {1, . . . , m}). The value function can then be approximated by a
finite-dimensional array, V : T × X 7→ R, which can be obtained by working backwards
in time from the terminal cost function and constraint set. For a hard terminal constraint
XT = x(T ) (where x(T ) ∈ X ), the value function array is initialised at time T as
(
0 xt = x(T )
V[T, xt ] := ,
∞ xt 6= x(T )
and then updated sequentially backwards in time using
V[t, xt ] := min {L(t, xt , ut ) + V[t + ∆t, f (t, xt , ut )]} ∀t ∈ {T − ∆t, . . . , 0}, (2.3)
ut ∈U
The optimal control actions are then determined for a given initial state by setting x0 =
x(0), then sequentially obtaining ut = U[t, xt ] and updating the state for the next timestep
as xt+∆t = ft (xt , ut ). This approximation converges to the continuous time optimal con-
trol law as |Xi |, |Uj | → ∞ for all i ∈ {1, . . . , n} and j ∈ {1, . . . , m}, and as ∆t → 0.
15
2.2. OPTIMAL ENERGY MANAGEMENT
16
2.2. OPTIMAL ENERGY MANAGEMENT
(PMP) are now presented for the free-time, fixed-endpoint optimal control problem to aid
the following discussion.
Consider a system described by a time invariant ODE, ẋ = f (x, u), with a time in-
variant running cost, L(x, u), and no terminal cost. Fixed-endpoint implies a terminal
target set so that x(tf ) ∈ {xf }, whilst free-time implies that the finite horizon, tf , is an
optimization variable. For this problem, the neccesary optimality conditions are given by:
Theorem 2.2.1 (The Minimum Principle for the free-time fixed-endpoint control prob-
lem). Let u? : [0, tf ] 7→ U be an optimal control, and let x? : [0, tf ] 7→ Rn be the
corresponding optimal state trajectory. Then there exists a function p? : [0, tf ] 7→ Rn
satisfying p? (t) 6= 0 ∀t ∈ [0, tf ] and having the following properties:
1. x? and p? satisfy
ẋ? = ∇p H(x? , u? , p? )
ṗ? = −∇x H(x? , u? , p? )
with the boundary conditions x? (t0 ) = x0 and x? (tf ) = x1 , where the Hamiltonian
H : Rn × U × R 7→ R is defined as
H(x, u, p) := p> f (x, u) − L(x, u)
2. For each fixed t, the function u 7→ H(x? (t), u, p? (t)) has a global minimum at
u = u? (t), i.e., the inequality
H(x? (t), u? (t), p? (t)) ≤ H(x? (t), u, p? (t))
holds for all t ∈ [0, tf ] and all u ∈ U.
3. H(x? (t), u? (t), p? (t)) = 0 for all t ∈ [0, tf ].
Proof. The proof is presented in [27, §4].
For an English translation of Pontryagin’s results see [40]. For a historical overview of
the development of Pontryagin’s minimum principle, see [41] or [42].
17
2.2. OPTIMAL ENERGY MANAGEMENT
can be assumed that the gear selection, r(t), braking power, b(t), and clutch engage-
ment, σ(t), are controlled using an external method, and that the engine is always on
(σ(t) = 1 ∀t ∈ [0, T ]). The free-time problem 2.2.1 can be converted to a fixed-time
problem for energy management by augmenting the state vector so that x(t) = (x(t), t),
and using the terminal constraint x(tf ) ∈ {(xf , T )}. Using this definition of the state, the
system is defined by
g(h(d(t) − e(t))) p1 (t)
f (x, u) := , p(t) := , u := e(t),
1 p2 (t)
The necessary condition for optimality given by Theorem 2.2.1 Property 1 states that
which implies that the first element of the costate vector, p1 (t), is constant2 , i.e. p?1 (t) =
p?1 (0) ∀t ∈ [0, T ]. The optimal control input is then defined implicitly by
∇u H = 0 =⇒ −p?1 (t) · gt0 (ht (d(t) − e(t))) · h0t (d(t) − e(t)) − ft0 (e(t)) = 0.
Therefore, the PHEV optimal control problem in this case reduces to an initial value prob-
lem to determine p?1 (0). This can be solved using a shooting method, where for each
estimate of p1 (0), the corresponding control input is obtained from
e(t) ∈ {e(t) : −p1 (0) · gt0 (ht (d(t) − e(t))) · h0t (d(t) − e(t)) − ft0 (e(t)) = 0}, (2.4)
18
2.2. OPTIMAL ENERGY MANAGEMENT
The minimum principle was compared with dynamic programming in [34] for optimiz-
ing both the power split and gear selection variables, and it was found that it resulted in
similar gear-shifting decisions and fuel consumption with significantly less computation.
A hybrid approach was proposed in [33], where an algorithm alternated between optimiz-
ing the gear selection for a fixed power-split using dynamic programming, then optimiz-
ing the power-split for fixed gear selection using the minimum principle. This reduced
the computational time from ∼ 4000 s using dynamic programming to ∼ 12 s using the
hybrid algorithm (the target time for real-time operation is typically < 1 s). The minimum
principle was also used in [43] to optimize both the power split and gear selection, where
it was found to improve fuel consumption by up to 10% relative to a rule-based baseline,
and used in [44] to optimize the power-split only, where it was shown to reduce fuel con-
sumption by ∼ 20% relative to a CDCS baseline. Engine switching was considered in [45]
using both the minimum principle and simulated annealing. The minimum principle was
also used in [46] the generate optimal behaviour used for training a rule-based algorithm.
The PMP formulation presented above has also been extended to consider other con-
straints and objectives. A constraint on the upper and lower state-of-charge of the battery
was enforced at all times in [47] and [48] by introducing a term to the Lagrangian that
penalises a linear cost on state violation. This approach can guarantee hard constraint
satisfaction for a ‘sufficiently’ large constraint penalty, although the ‘sufficient’ threshold
cannot be determined a priori, and an insufficient penalty will allow the constraint to be
violated. An alternative method for enforcing the state-of-charge constraint was proposed
in [49] using a quadratic cost on violations and was compared with dynamic program-
ming in simulation, but was not tested in scenarios for which the constraint was active.
The minimum principle has also been used to minimize CO2 emissions [48] and battery
degradation [50, 51] instead of fuel consumption.
The equivalent consumption minimisation strategy (ECMS) was originally developed for
charge sustaining hybrid electric vehicles on the principle that the consumption of fuel
energy and electrical energy can be equated using an equivalence factor [52]: the idea is
that when electrical energy is sacrificed to reduce fuel consumption in the present, fuel
consumption will need to be increased in the future to replenish the battery. Therefore, the
equivalent fuel consumption, ṁf,equiv , can be given by
19
2.2. OPTIMAL ENERGY MANAGEMENT
where λ(t) is the equivalence factor used to measure the relative cost of fuel and electrical
energy consumption. The power delivered by the engine is then given by
e(t) = argmin ṁf (e(t), t) + λ(t) · gt (ht (d(t) − e(t))) ∀t ∈ [0, T ]. (2.5)
e(t)
The goal when designing an ECMS-style algorithm for energy management is to deter-
mine λ(t) ∀t ∈ [0, T ] such that the hardware constraints are not violated. This echoes
the issue of choosing the initial costate p(0) for PMP, and it has in fact been shown that
ECMS and PMP are mathematically equivalent [53] (note that (2.4) is the first-order nec-
essary condition for (2.5) if p(t) = λ(t) and ṁf,equiv is differentiable). The emphasis for
ECMS approaches in the literature, however, has been on developing adaptive methods for
controlling the equivalence factor to generate a real-time optimization-based controller,
known as adaptive-ECMS [54, 55], rather than on obtaining globally optimal solutions.
The results of a competition to develop a real-time energy management controller for
PHEV fuel consumption minimization is detailed in [56], in which each of the candidate
controllers had no predictive information about future driver behaviour. The submissions
consisted of rule-based and ECMS optimization-based algorithms, and it was found that
ECMS generally outperformed the rule-based controllers and was more robust to sys-
tem variations. A common approach for introducing predictive information to adaptive
ECMS is to generate a reference state-of-charge trajectory for a given journey, and then
use the equivalence factor to penalize deviations in the actual state-of-charge trajectory.
The authors of [57] considered hybrid-electric vehicles where a quadratic cost function
penalizing deviations for a constant state-of-charge was added to the running cost to en-
sure that the controller was charge sustaining. In [58] a linearly decreasing state-of-charge
reference was constructed that reached the terminal state-of-charge constraint at the end
of the journey (which was assumed to be known), and a proportional-integral controller
was then introduced to enforce the reference trajectory through the equivalence factor. A
neural network was used in [59] to predict the energy demand of the vehicle, from which a
state-of-charge trajectory was then generated, and in [60] a neural network was combined
with vehicle-to-infrastructure and vehicle-to-vehicle technology to obtain more accurate
predictions. Other predictive information has also been considered: the effect of road
gradient preview was investigated in [31], and in [61] it was assumed that the controller
was aware of both the future road gradient and distance to the next charging station when
updating the equivalence factor. For a more comprehensive overview of ECMS and its
parallels with PMP see [62].
20
2.2. OPTIMAL ENERGY MANAGEMENT
such that A ∈ Rn×n is the state transition matrix and B ∈ Rn×m is the input matrix. The
principle of MPC is that at each time sample the control input applied to the system is
obtained from the solution of a finite-horizon optimal control problem, e.g.
N
X −1
?
u ∈ argmin Lk (uk , xk+1 ),
u
k=0
s.t. x0 = x(t),
xk+1 = Axk + Buk , (2.6)
xk+1 ∈ Xk+1 ,
uk ∈ Uk ,
∀k ∈ {0, . . . , N − 1},
21
2.2. OPTIMAL ENERGY MANAGEMENT
cost and constraints using the discrete-time dynamic programming algorithm presented
in Section 2.2.13 , although this is too computationally demanding in general. One of the
advantages of a discrete-time, finite-horizon MPC optimization problem is that it can in-
stead be solved using standard finite dimensional numerical optimization techniques [64].
If the cost function is convex and quadratic and the constraint sets are polytopic, then (2.6)
reduces to a quadratic program that can be reliably and efficiently solved on both desktop
[12, 65, 66] and embedded hardware [67, 68]. Note that it is also possible in some cases
to map the nonlinear feedback law explicitly (e.g. [69]), although the memory required to
store the feedback law for each partition of the state-space may become prohibitive.
For a historical overview of the development of MPC since its inception in 1980 see
[70]. For a review of techniques for ensuring closed-loop stability for MPC using a finite
prediction horizon see [71]. For a textbook providing a more comprehensive treatment of
MPC see [72].
The previous section considered the case where it is assumed that the dynamics of the
system being controlled are known with complete precision, a.k.a ‘nominal’ MPC. In re-
ality, the dynamics will not be known exactly and the system will be subject to random
disturbances. The state transition equation can be given in this case by
3
This illustrates a separation between MPC and the previously described optimal control approaches.
The principle of optimality and the minimum principle provide optimality conditions for optimal control
problems, and in particular cases these conditions result in a state-feedback control law (e.g. the linear
quadratic regulator [63]). Model predictive control, on the other hand, is fundamentally a nonlinear state-
feedback control law u(t) = φ(x(t)), where φ is defined implicitly by a state parametrized optimization
problem.
22
2.2. OPTIMAL ENERGY MANAGEMENT
The robust MPC problem associated with this uncertainty can then be given by
N
X −1
?
u ∈ argmin max Lk (uk , xk+1 ),
u w
k=0
s.t. x0 = x(t),
xk+1 = A(wk )xk + B(wk )uk + d(wk ), (2.7)
xk+1 ∈ Xk+1 ,
uk ∈ Uk ,
∀k ∈ {0, . . . , N − 1}.
Note that the cost function now represents the worst case across the uncertainty set. A
limitation of the robust approach is that it does not account for the probability of each
possible realisation of the uncertainty set, so the controller will be conservative in practice.
This limitation is addressed using stochastic MPC, where the uncertainty vectors, wk , are
instead modelled as random variables that induce probability measure P on Wk . The
stochastic MPC problem associated with this uncertainty can instead be given by
" N
#
X
u? ∈ argmin E Lk (uk , xk+1 ) ,
u
k=0
s.t. x0 = x(t),
xk+1 = A(wk )xk + B(wk )uk + d(wk ), (2.8)
P [xk+1 ∈ Xk+1 ] ≥ ,
uk ∈ Uk ,
wk ∼ Wk ,
∀k ∈ {0, . . . , N − 1}.
Note that the objective now considers the expectation of the cost subject to the random
uncertainty (although the worst case as presented in the robust version may also be used),
and that the state is now constrained by a chance constraint. This is included because if
the probability distribution Wt has infinite support, then it may be impossible to guarantee
the state constraints with complete certainty. For a review of robust MPC see [73], and for
a review of stochastic MPC see [74]. For a textbook addressing both see [75].
23
2.2. OPTIMAL ENERGY MANAGEMENT
24
2.2. OPTIMAL ENERGY MANAGEMENT
not match the optimized trajectory. This approach was extended in [86], where the model
was repeatedly re-linearized using sequential quadratic programming.
A further aspect of MPC that requires consideration is the methods used to predict
future driver behaviour, which can be generally divided into artificial intelligence-based
methods and methods based on Markov processes [87, §2.2-2.3]. In a Markov model it
is assumed that future states only depend on the current state, and this approach has been
used to model predictions of future velocity [83, 36], acceleration [83, 82], road gradi-
ent [36], speed limit [36], torque [80, 86] and power demand [79]. The minimum fuel
consumption can be obtained for all possible realisations of a Markov model over the
prediction horizon using stochastic dynamic programming [36], although this approach is
even more computationally demanding than the deterministic dynamic programming dis-
cussed previously. Neural networks have also been used to model future driver behaviour
[84, 82, 88], and have been shown to provide more accurate short-term predictions than
Markov models [88]. The aforementioned methods are typically only used for short-term
behaviour predictions, and long-term prediction is still an open problem [87].
25
2.2. OPTIMAL ENERGY MANAGEMENT
min f (x)
x
s.t. x ∈ X
S CENARIO O PTIMIZATION
Consider the chance constrained optimization problem
min c> x
x∈Rn
s.t. x ∈ X (2.9)
P[x ∈ X (δ)] ≥ ,
δ ∈ ∆,
26
2.2. OPTIMAL ENERGY MANAGEMENT
where the constraint sets X and X (δ) are closed and convex ∀δ ∈ ∆, and X (δ) is a
function of an uncertain parameter δ ∈ ∆ with an associated probability P. Note that
(2.9) can be used to represent an arbitrary convex cost function, f , if c = (1, 0, . . . , 0) and
X ⊆ {x : x1 ≥ f (x2 )}, and is a general form of both the stochastic MPC optimization
problem (2.8) and the robust MPC optimization problem (2.7) (in the case of the latter
= 1).
In the general case, finding a solution to (2.9) with a high probability of constraint
satisfaction is challenging (see [97] for a textbook addressing problems of the form of
(2.9)). An alternative approach is to approximate (2.9) with S ∈ Z++ samples of the
uncertainty as
minn c> x
x∈R
s.t. x ∈ X (2.10)
\
x∈ X (δi )
i∈{1,...,S}
This is known as the scenario approach [98, 99], and results in a deterministic optimization
problem that can now be approached using standard convex optimization algorithms. This
significantly improves the tractability relative to the original stochastic program, and con-
sequently, the scenario approach has been extensively investigated for designing optimal
and model predictive controllers under stochastic uncertainty [100, 101, 102]. A limitation
is that the solution of (2.10), x? , cannot now be guaranteed to satisfy the original chance
constraint, P[x? ∈ X (δ)] ≥ , as x? is a random variable that depends on the chosen sam-
ples of the uncertainty set ∆. Theoretical treatments of the scenario approach therefore
instead address issues such the confidence of constraint violation probability. For example,
a seminal result in scenario optimization theory presented in [98] is that if the violation
probability is defined as V (x? ) := P{δ ∈ ∆, x? ∈ / X (δ)}, then the confidence of a given
violation probability is upper bounded by
Xn−1
? S i
P{V (x ) > } ≤ (1 − )S−i ,
i
i=0
and that this bound is tight for fully supported problems (see [98] for further details).
Results such as this provide a basis for selecting the number of scenarios, S, to provide an
‘adequately’ close approximation of the solution of (2.9).
27
2.2. OPTIMAL ENERGY MANAGEMENT
MPC approaches using quadratic programming are in fact using convex optimization.
However, in order for the energy management problem to be formulated as a quadratic
program, the model of the losses in the battery and motor needs to be linear (or linearized),
rendering the obtained power-split suboptimal. The advantage of using more general con-
vex optimization is that more descriptive models can be used for modelling the powertrain
(for a more comprehensive overview of convex relaxations for hybrid electric powertrain
modelling see [14] or [103]).
The design of a hybrid vehicle is dependent on the controller used for energy man-
agement, as the efficiency of the powertrain influences the required battery size. Con-
sequently, a significant subset of the work on PHEV energy management using convex
optimization has considered the problem of simultaneous component sizing and energy
management. The first investigation using this approach was [17], where it was assumed
that engine switching and gear selection were controlled using heuristics, and convex op-
timization was used to determine the optimal battery size and power-split between the
battery and engine. This approach was extended in [104] and [105] to consider a PHEV
with a battery/supercapacitor hybrid energy storage system. Engine switching was also
optimized in [106] with an algorithm that alternated between using PMP to optimize the
engine control sequence for a given power-split, and convex optimization to optimize the
power split for a given engine control sequence. This approach was then extended to
also optimize gear selection (using dynamic programming instead of PMP) in [107] and
[108]. A continuously variable transmission was considered in [109], and an electric vari-
able transmission was considered in [110]. Simultaneous sizing of the engine, motor,
and battery was considered in [111], and simultaneous sizing, control, and charging was
investigated in [112].
Other studies have approached the energy management problem alone using convex
optimization. In [113], the power-split was controlled using convex optimization and
compared against CDCS to investigate the effect of battery size on powertrain efficiency.
Convex optimization was again combined with PMP to optimize both the power-split and
engine switching in [114], and scenario optimization was used to consider multiple pre-
dictions of future driver behaviour in [80].
One of the limitations of the above approaches is that the convex optimization problem
has typically been parsed with CVX and then solved using general purpose optimization
software such as SDPT3 [115]. This limits the computational performance, and prevents a
real-time solution: up to 13s were required in [114] for a horizon of ∼ 1000 samples when
optimizing the power-split alone. The only examples that could be found in the literature
of optimization algorithms used to solve convex formulations of the energy management
problem were the active set method presented in [116], and the interior point method
presented in [117]. In both of these cases the losses in the battery were ignored and the
28
2.3. CONCLUDING REMARKS
losses in the motor were modelled as linear functions, and as will be demonstrated in
Chapter 4, these approximations necessarily render the obtained control inputs suboptimal.
29
C HAPTER 3
This chapter presents the first MPC formulation in which the state-of-charge of the battery
is subject to a terminal constraint only. The chapter starts with a detailed description of the
PHEV model used throughout this thesis, after which the MPC optimization is formulated
using an approximate model. It is then demonstrated that the MPC optimization is convex
under negligible further approximation when considered in terms of the battery’s discharge
rate. The MPC algorithm is then compared in simulation against PMP where it is shown to
obtain near-optimal performance, but is also limited by the lack of general state constraints.
ROTATION
The rotational speed of the wheels, ωw (t) ∈ R, is defined by
v(t)
ωw (t) := ∀t ∈ {0, . . . , T − 1}, (3.1)
rw
where rw ∈ R++ is the effective radius of the wheels. The first control variable considered
is the gear ratio, r(t), and the vehicle is modelled with a discretely variable transmission so
31
3.1. VEHICLE MODEL
Parameter Value
Vehicle mass (mv ) 1900 kg
Drag coefficient (CD ) 0.27
Rolling resistance coefficient (Cr ) 0.015
Motor power rating 50 kW
Motor torque limits (T , T ) ±200 Nm
Engine power rating 100 kW
Engine torque limits (T , T ) (400, 0) Nm
Battery capacity 8 kWh
Battery current limits (i, i) ±200 A
Engine e(t)
ṁf (t) Clutch σ(t)
Losses f (·) d(t)
+ = p(t) =
Gearbox r(t) + +
+
m(t)
Battery c(t) Motor b(t)
u(t)
Losses g(·) Losses h(·)
Figure 3.1: Diagram of the loss functions and variables that are used in the mathematical formu-
lation of the energy management problem (duplicate of Figure 2.2 for convenience).
32
3.1. VEHICLE MODEL
that the gear ratio is selected as r(t) ∈ {r̂1 , . . . , r̂g } ∀t ∈ {0, . . . , T −1}, where g ∈ Z++ is
the number of available gear ratios given by r̂i ∈ R++ ∀i ∈ {1, . . . , g}. The dynamics of
gear selection are ignored as they are assumed to be significantly faster than the 1s sample
period, so the rotational speed of the motor, ωm (t) ∈ R, is defined by
ωw (t)
ωm (t) := ∀t ∈ {0, . . . , T − 1}. (3.2)
r(t)
The second control variable considered is the clutch engagement, σ(t) ∈ {0, 1} ∀t ∈
{0, . . . , T − 1}, which is coupled to the engine state so that σ(t) = 1 implies that the
clutch is engaged and the engine is on, and σ(t) = 0 implies that the clutch is disengaged
and the engine is off. The engine switching and clutch engagement dynamics are also
ignored as they are assumed to be too fast to be captured by the 1s sampling period. It
is assumed (without loss of generality) that the torque coupling device does not have an
effective gear ratio, so the rotational speed of the engine, ωe (t) ∈ R, is defined by
(
ωm (t) σ(t) = 1
ωe (t) := , ∀t ∈ {0, . . . , T − 1}. (3.3)
0 σ(t) = 0
P OWER
The driver’s power demand (which is externally imposed, and not a decision variable),
d(t) ∈ R, is defined using a longitudinal model (commonly used for energy management,
e.g. [34, 32, 38, 37, 84]) as
h 1 i
2
d(t) := mv v̇(t) + ρa CD Av v(t) + Cr mv g cos θ(t) + mv g sin θ(t) v(t) (3.4)
2
33
3.1. VEHICLE MODEL
The drivetrain components are modelled as 100% efficient1 , and the power delivered by
the engine (through the clutch), e(t) ∈ R, is combined additively with the power delivered
by the motor, m(t) ∈ R, and delivered to the drivetrain so that
(
e(t) + m(t) σ(t) = 1
p(t) := , ∀t ∈ {0, . . . , T − 1}. (3.6)
m(t) σ(t) = 0
The fourth control variable is therefore the engine power, as the motor output power, m(t),
is then implicitly defined by (3.6).
The rate of fuel consumption, ṁf (t) ∈ R+ , is modelled as a static map, f : R × R 7→
R+ , of engine speed and power (as used in, for example, [82, 78, 80, 46, 49]) as
ṁf (t) := f (ωe (t), e(t)) ∀t ∈ {0, . . . , T − 1}. (3.7)
The motor’s input power, c(t) ∈ R, is also modelled as a static map, h : R × R 7→ R, of
motor speed and power (as used in, for example, [82, 80, 46, 49]) as
c(t) := h(ωm (t), m(t)) ∀t ∈ {0, . . . , T − 1}. (3.8)
The fuel mass flow and input power maps are illustrated in Figure 3.2, and obtained from
experimental data for a 100 kW internal combustion engine and 50 kW electric motor.
An 8 kWh battery is modelled using an equivalent circuit with internal resistance only
(as used in [37, 38, 32, 34, 51, 82, 78, 80]), where the open circuit voltage and resistance
are functions, Voc : R 7→ R and Roc : R 7→ R, of the battery’s internal energy, x(t) ∈ R,
as illustrated in Figure 3.3. The power electronics connecting the battery to the motor are
assumed to be 100% efficient, so the internal power of the battery, u(t) ∈ R, is defined as
a function, g : R 7→ R, of motor output power and speed
s !
2
Voc (x(t)) 4Roc (x(t))h(ωm (t), m(t))
u(t) = g(ωm (t), m(t)) := 1− 1− (3.9)
2Roc (x(t)) Voc (x(t))2
∀t ∈ {0, . . . , T − 1}. The power is modelled as constant between sampling intervals, so
the internal energy of the battery, x(t) ∈ R, is defined by
t−1
X
x(t) := x(0) − u(0), ∀t ∈ {1, . . . , T }, (3.10)
i=0
where x(0) ∈ R is the battery’s initial internal energy. Note that there is a one-to-one
mapping between the battery’s internal energy (e.g. in megajoules) and state-of-charge (as
a percentage of its total capacity), and these terms are therefore used interchangeably.
1
The drivetrain efficiency can be set arbitrarily using the proposed method, so long as a fixed fraction of
negative power is provided by the mechanical brakes, as proposed in the following section.
34
3.1. VEHICLE MODEL
Torque (Nm)
300
200 0
100
0 −200
Figure 3.2: Experimental data used as the engine and motor maps for simulation (scale not pro-
vided as the data is proprietary).
0.15
400
Roc
300
Roc (Ω)
0.10
Voc (V )
200
Battery 0.05
Voc
Terminals 100
0 0.00
0 50 100 0 50 100
State-of-charge x(t) (%) State-of-charge x(t) (%)
(a) Equivalent circuit model. (b) Equivalent circuit parameters, obtained from experimental data.
35
3.1. VEHICLE MODEL
C ONSTRAINTS
The engine is subject to upper and lower torque constraints, T e : R 7→ R and T e : R 7→ R,
that may be functions of rotational speed, so that
T e (ωe (t))ωe (t) ≤ e(t) ≤ T e (ωe (t))ωe (t) ∀t ∈ {0, . . . , T − 1}. (3.11)
Similarly, the motor is subject to upper and lower torque constraints, T m : R 7→ R and
T m : R 7→ R, that may be functions of rotational speed, so that
T m (ωm (t))ωm (t) ≤ m(t) ≤ T m (ωm (t))ωm (t) ∀t ∈ {0, . . . , T − 1}. (3.12)
The battery has upper and lower current limits, i ∈ R and i ∈ R, so that
iVoc (x(t)) ≤ u(t) ≤ iVoc (x(t)) ∀t ∈ {0, . . . , T − 1}. (3.13)
The rotational speed of the engine and motor are constrained by lower and upper limits,
ω m , ω m , ∈ R and ω e , ω e (t) ∈ R,
ω m ≤ ωm (t) ≤ ω m , ω e ≤ ωm (t) ≤ ω e ∀t ∈ {0, . . . , T − 1} (3.14)
Finally, the battery has energy limits, x ∈ R and x ∈ R, such that
x ≤ x(t) ≤ x ∀t ∈ {1, . . . , T }. (3.15)
The energy limits are generally not set equal to the battery’s maximum and minimum
capacity, as these charge states are unsafe.
36
3.2. MODEL PREDICTIVE CONTROLLER
H EURISTICS
For the case considered in this chapter, only the relative fraction of power delivered by the
engine and motor is considered by the MPC controller (i.e. the control vector is reduced to
just u), and the other variables are completely determined by heuristics. The gear selection
control, rk ∈ R, is defined by the heuristic
r̂1 v̄1 ≤ vt ≤ v̄2
. ..
rk := .. . , ∀k ∈ {0, . . . , N − 1} (3.16)
r̂g v̄g ≤ vt ≤ ∞
where (v̄1 , . . . , v̄g ) ∈ Rg is a vector of threshold velocities. With the gear selection con-
troller chosen, the rotational speed of the motor is defined using (3.16) and a similar form
of (3.2) ∀k ∈ {0, . . . , N − 1}. The intervals, k, within the prediction horizon are then
separated into the sets
i.e. P is the set of timesteps, k, where the motor speed is greater than or equal to the
minimum engine speed, and C is the set of times where the motor speed is lower than the
minimum engine speed. The clutch and engine control heuristic is then defined by
(
1 k∈P
σk := ∀k ∈ {0, . . . , N − 1}. (3.17)
0 k∈C
37
3.2. MODEL PREDICTIVE CONTROLLER
The predicted rotational speed of the engine, ωe,k , is now well defined by (3.17) and a
similar form of (3.3) for all k ∈ {0, . . . , N − 1}. Finally, the braking power is set at a fixed
fraction, kb ∈ R+ , of the negative driver demand power,
(
0 dk ≥ 0
bk := ∀k ∈ {0, . . . , N − 1}, (3.18)
kb dk dk < 0
so the power required from the drivetrain, pk , can now be defined using (3.18) and a similar
form of (3.5) for all k ∈ {0, . . . , N − 1}.
It is likely that better heuristics exist, and the optimal gear selection, engine switching,
and braking could be estimated using an external optimization routine (such as those used
in [106, 107]), but the purpose of this chapter is to demonstrate that the resulting problem
is convex, so the choice of control for these variables is arbitrary.
L OSSES
The engine and motor input-output maps are approximated by the functions
where α2 (x) > 0 ∀x ∈ dom(α2 ) and β2 (x) > 0 ∀x ∈ dom(β2 ). This is a common
approach to energy management using convex optimization (e.g. [112, 113, 17, 104, 111,
118, 105, 116, 107]), and typically provides a very close approximation of the experimen-
tal loss maps (see, for example, [116, §2], [17, §7]), [107, §2], or [112, §2]). The fuel
consumption rate and input power to the motor, ṁf,k ∈ R and ck ∈ R, can then be defined
as functions, fk : R 7→ R and hk : R 7→ R, of engine power and motor power as
(
α2,k e2k + α1,k ek + α0,k k ∈ P
ṁf,k := fk (ek ) := (3.19a)
0 k∈C
ck := hk (mk ) := β2,k m2k + β1,k mk + β0,k ∀k ∈ {0, . . . , N − 1}, (3.19b)
38
3.2. MODEL PREDICTIVE CONTROLLER
This is also an assumption that is commonly made for convex optimization-based energy
management [17, 114, 106, 104], and Figure 3.3 illustrates that it results in a negligible
approximation for moderate changes in the battery’s internal energy. The predicted rate of
depletion of the battery’s internal energy, uk ∈ R, is then given by
s !
Vk2 4Rk hk (mk )
uk := gk (mk ) := 1− 1− ∀t ∈ {0, . . . , T − 1}. (3.20)
2Rk Vk2
Note that, under the condition that β2,k > 0 for all k (which is true as β2 (x) > 0 by
definition), the functions gk (m
√ k ) are all convex (within a suitable domain). This can be
shown using the fact that − x is strictly convex and strictly decreasing, and that every
function −hk (mk ) is strictly concave and even (with respect to its maximizing argument).
This result is not used within this thesis and is therefore not proven in detail.
C ONSTRAINTS
The power required from the motor is defined by
(
pk − ek k ∈ P
mk := , ∀k ∈ {0, . . . , N − 1}, (3.21)
pk k∈C
and subject to constraints mk ≤ mk ≤ mk defined by
( n o
max T m (wm,k )wm,k , min Z + δ k∈P
mk :=
pk k∈C
( n o (3.22)
min T m (wm,k )wm,k , max Z − δ k∈P
mk := ,
pk k∈C
n o
∀k ∈ {0, . . . , N − 1}, where Z := mk ∈ R : 1 − 4RhVk (m 2
k)
≥ 0 is the interval in which
a real solution of (3.20) exists, and δ ∈ R++ is an arbitrarily small perturbation (the reason
for including this perturbation is discussed later in Remark 3.2.2, and it is for now assumed
to be equal to zero).
Remark 3.2.1 (Existence of min Z and max Z). The set Z is non-empty and closed if
2
4R β1,k
1 ≥ 2 β0,k − . (3.23)
V 4β2,k
For all operating regions of the motor data shown in Figure 3.2 it was found that β2 ≈
1 × 10−5 , β1 ≈ 1 and β0 ≈ 0, so (3.23) is always satisfied.
39
3.2. MODEL PREDICTIVE CONTROLLER
As the engine is off ∀k ∈ C, and the constraints on engine and motor power can be
consolidated into constraints on just engine power using (3.21) ∀k ∈ P, the constraints
ek ≤ ek ≤ ek are defined by
( n o
max T e (we,k )we,k , pk − mk k∈P
ek :=
0 k∈C
( n o
min T e (we,k )we,k , pk − mk k∈P
ek := ,
0 k∈C
For the approach used in this chapter, the general state-of-charge constraint (3.15) is ig-
nored, and only the constraint
N
X −1
x(t) − ui = XT
i=0
40
3.2. MODEL PREDICTIVE CONTROLLER
O PTIMIZATION
The objective is to minimize fuel consumption subject to the above constraints, and the
model predictive controller is defined by e(t) := e?0 , where e?0 is the first element of the
vector e := (e0 , . . . , eN −1 ) that minimizes
N
X −1
min fk (ek ),
e
i=0
ek ≤ ek ≤ ek
mk = pk − ek
s.t. ∀k ∈ {0, . . . , N − 1} (MPC.1a)
uk = gk (mk )
iV ≤ uk ≤ iV
N
X −1
x(t) − ui = XT .
i=0
Note that mk and ek are determined implicitly by any given value of uk , and all other
variables are fixed parameters. Problem (MPC.1a) is nonconvex in general due to the
nonlinear equality constraint uk = gk (mk ), defined in (3.20).
M ATHEMATICAL P RELIMINARIES
Definition 3.2.1 (Increasing Function). A function f : X 7→ Y (where X ⊆ R and
Y ⊆ R) is increasing iff
41
3.2. MODEL PREDICTIVE CONTROLLER
Lemma 3.2.1. The composition of a concave function, g, and a decreasing convex func-
tion, f , is convex.
The property that f is decreasing and convex can then be used to show that
f g(λx1 + (1 − λ)x2 ) ≤ f λg(x1 ) + (1 − λ)g(x2 ) (g concave, f decreasing)
≤ λf g(x1 ) + (1 − λ)f g(x2 ) (f convex)
Lemma 3.2.2. The composition of a strictly concave function, g, and a strictly decreasing,
strictly convex function, f , is strictly convex.
Proof. Can be shown with minor changes to the proof of Lemma 3.2.1.
Lemma 3.2.3. The composition of a strictly convex function, g, and a strictly increasing,
strictly convex function, f , is strictly convex.
Proof. Can be shown with minor changes to the proof of Lemma 3.2.1.
C ONVEX R EFORMULATION
Proposition 3.2.1. Redefine the lower limit on engine power as
α1,k
ek :← max ek , − ∀k ∈ P, (3.25)
2α2,k
42
3.2. MODEL PREDICTIVE CONTROLLER
These new constraints ensure that mk is constrained to the domain of hk (mk ) in which it
is an increasing function, and so that the limits on engine power are also satisfied when
ek = pk − mk . Under the above modifications, problem (MPC.1a) is equivalent to the
convex optimization problem
N
X −1
min Fk (uk ),
u
i=0
N
X −1 (MPC.1b)
s.t. x(t) − ui = XN ,
i=0
uk ≤ uk ≤ uk ∀k ∈ {0, . . . , N − 1},
where
Fk (uk ) := fk (pk − gk−1 (uk )),
and uk ∈ R and uk ∈ R are lower and upper limits on the battery power defined by
( (
max {iV, gk (mk )} k ∈ P min iV, gk (mk ) k∈P
uk := uk :=
gk (pk ) k∈C gk (pk ) k∈C
∀k ∈ {0, . . . , N − 1}.
The principle of Proposition 3.2.1 is that problem (MPC.1a) becomes convex under the
change of variables ek = pk − gk−1 (uk ), subject to the specified constraint modifications.
The proof of Proposition 3.2.1 is constructed in the three Lemmas and the Theorem that
follow; the eventual result is that the functions Fk (uk ) are convex, so (MPC.1b) is convex
as it is only subject to affine equality and inequality constraints.
Proof. fk is quadratic with positive second derivative (α2,k > 0 ∀k ∈ {0, . . . , N − 1})
α
so is strictly convex and has a unique minimizing argument of − 2α1,k2,k
. Furthermore, ek ≥
α1,k
− 2α2,k , so fk is strictly increasing on the interval [ek , ek ].
Lemma 3.2.5. For every k ∈ P, the function gk : [m, m] 7→ [gk (mk ), gk (mk )] defined by
(3.20) is strictly increasing, strictly convex, twice differentiable, and one-to-one.
43
3.2. MODEL PREDICTIVE CONTROLLER
β β
− 2β1,k . Note that m ≥ − 2β1,k > min Z and m < max Z, so ĥk (mt ) is positive and
2,k 2,k
√
strictly decreasing on the interval [m, m]. The function − qx is strictly convex and strictly
decreasing on the domain R+ , so the composite function − ĥk (mk ) is strictly increasing
(the composition of two strictly decreasing functions is necessarily strictly increasing) and
strictly convex (Lemma 3.2.2). The additional constant and positive coefficient in the
definition of gk preserve this result. The derivatives of gk are given by
V ĥ0 (x)
gk0 (mk ) = − q
4R ĥ(mt )
and !
V ĥ0k (mk )
gk00 (mk ) = q ĥ00k (mk ) −
4R ĥ(mt ) 2(ĥk (mk ))2
which exist as ĥk is positive on the interval [m, m] and is twice differentiable, so gk is
twice differentiable.
The property that gk is continuous (the composition of two continuous functions is nec-
essarily continuous) implies that gk maps [m, m] to every element in [gk (mk ), gk (mk )], and
the property that gk is strictly increasing therefore implies that gk maps [m, m] uniquely to
every element in [gk (mk ), gk (mk )]. Therefore, gk is one-to-one on the domain [m, m] and
range [gk (mk ), gk (mk )].
Lemma 3.2.6. The function gk−1 : [gk (mk ), gk (mk )] 7→ [m, m], defined by
s
2
β1,k Ru2k uk − β0,k β1,k
gk−1 (uk ) := − + − + + 2
2β2,k β2,k V 2 β2,k 4β2,k
λgk (x1 ) + (1 − λ)gk (x2 ) > gk (λx1 + (1 − λ)x2 ) ∀x1 , x2 ∈ [m, m] ∀λ ∈ [0, 1]. (3.27)
The inverse map is strictly increasing (this can be trivially shown from the definition of a
strictly increasing function), which implies that
44
3.2. MODEL PREDICTIVE CONTROLLER
If y = gk (x), then
∀y1 , y2 ∈ [gk (mk ), gk (mk )] and λ ∈ [0, 1], which proves that gk−1 is strictly concave.
Finally,
dx 1
= 0
dy gk (x)
and
d2 x −1 d 0 −1 00 dx −gk00 (gk−1 (y))
= g (x) = g (x) = ,
dy 2 (gk0 (x))2 dy k (gk0 (x))2 k dy (gk0 (gk−1 (y)))3
which both exist on the interval [gk (mk ), gk (mk )], so gk−1 is twice differentiable.
Theorem 3.2.1. For all k ∈ P, the composite function Fk : [gk (mk ), gk (mk )] 7→ R defined
by
Fk (uk ) := fk (pk − gk−1 (uk ))
is strictly decreasing, strictly convex, and twice differentiable.
Proof. Firstly, note that {ek : ek = pk − mk , mk = gk−1 (uk ), uk ∈ [gk (mk ), gk (mk )]} ⊆
[ek , ek ], so fk (·) is strictly increasing and strictly convex (Lemma 3.2.4). Furthermore,
pk − gk−1 (·) is strictly decreasing and strictly convex (immediately follows from Lemma
3.2.6 and the negative sign preceding gk−1 ). Therefore, Fk is strictly decreasing (the com-
position of a strictly decreasing function and a strictly increasing function is necessar-
ily strictly decreasing) and strictly convex (Lemma 3.2.3). Twice differentiability can be
demonstrated using the chain rule with the first and second derivatives of fk and gk−1 ,
which all exist on the specified domain.
Theorem 3.2.1 therefore implies that (MPC.1b) is convex, as both the objective func-
tion and constraint set are convex with respect to (u0 , . . . , uN −1 ), which therefore com-
pletes the proof of Proposition 3.2.1. This section is now concluded with an analysis of
the solutions of (MPC.1b), and a discussion of the suboptimality introduced by the updated
constraints in Proposition 3.2.1.
45
3.2. MODEL PREDICTIVE CONTROLLER
Proposition 3.2.2. If the constraint set of (MPC.1b) is nonempty, then the solution exists
and is unique.
Remark 3.2.2 (On Conservatism of the Solution of (MPC.1b)). Two additional constraints
are imposed on (MPC.1a) to obtain the convex formulation (MPC.1b): the functions fk
and gk are constrained to the domain in which they are strictly increasing with the updated
constraints (3.25) and (3.26), and the constraint perturbation δ is introduced in (3.22).
The first of these two constraints is reasonable from a physical interpretation of a loss
function: it would be expected that an increase in engine or motor output power would
require an increase in input power, and the domain in which fk and hk (and therefore gk )
are decreasing is typically a mathematical artefact of a quadratic function and does not
represent important loss characteristics. It is technically possible for operating points to
exist in which this is not the case (in particular, during low-speed high-power regenera-
tive braking), but these operating points are highly inefficient and unlikely to be optimal
with respect to (MPC.1b) anyway. Additionally, these constraints are also required in the
alternative approach to convexity presented in [14].
The perturbation δ is included to ensure that gk (mk ) is twice differentiable ∀mk ∈
[m, m] in the proof of Lemma 3.2.5 (which is subsequently used to prove gk−1 is twice dif-
ferentiable in Lemma 3.2.6). The only points in Z at which the first and second derivative
of gk does not exist are min Z and max Z, so δ can be made arbitrarily small, up to the
finite precision of the processor used to solve (MPC.1b). Furthermore, min Z ∈ / [mk , mk ]
−β1,k
as 2β2,k > min Z, and in practice max Z is typically an order of magnitude larger than the
battery’s power limit, so the conservatism introduced to the solution of (MPC.1b) using δ
is negligible, if it exists at all.
Theorem 3.2.1 is therefore one of the central contributions of this chapter: the MPC
optimization (MPC.1a) can be converted, under negligible further approximation, to a
convex optimization problem by using the battery’s internal power as the decision variable
instead of the engine’s output power.
2
Feasibility is addressed in more detail in Chapter 4. For now, it is assumed that the predictions of
velocity and road gradient always generate a feasible problem.
46
3.3. OPTIMIZATION
3.3 O PTIMIZATION
At each timestep, t, the model predictive control input is now defined by
where u? is the solution of (MPC.1b). A projected Newton method [119] is now proposed
to obtain this solution.
The Lagrangian equation for (MPC.1b) is
N −1 N −1
!
X X
L(u, λ, ν, µ) := [Fk (uk ) + λk (uk − uk ) + νk (uk − uk )] + µ x(t) − uk − xN
k=0 k=0
(3.29)
where u := (u0 , . . . , uN −1 ), and λ := (λ0 , . . . , λN −1 ) ∈ R , ν := (ν0 , . . . , νN −1 ) ∈ RN ,
N
47
3.3. OPTIMIZATION
P −1
where, D(i) := P \ A(i) , F (u) := N k=0 Fk (uk ), ∇D(i) F (u ) is a diagonal matrix of the
2 (i)
k ∈ D(i) diagonal elements of the Hessian of F , and ∇D(i) F (u(i) ) is the k ∈ D(i) elements
of the gradient of F . Note that the definition of (3.31) corresponds to the elements of
k ∈ P where λk and νk are nonzero, and they are therefore not calculated explicitly.
(i)
Remark 3.3.1. Theorem 3.2.1 implies that (3.32) and its solution exist for all uk ∈
[uk , uk ], for all k, and for all i ∈ {0, . . . , ∞}.
and
−Fk0 (u(i) (i)
k )−µ −∆µ
(i)
k ∈ A(i)
(i)
(3.34)
(i)
∆uk = Fk00 (uk ) .
0 / A(i)
k∈
(i) (i)
Remark 3.3.2. The computation of ∆µ(i) and (∆u0 , . . . , ∆uN −1 ) scale linearly with N ,
with no additional memory requirement.
and the algorithm is terminated at the first iteration that the criterion
kJ (i) k ≤
48
3.3. OPTIMIZATION
Proposition 3.3.1. Let u? and µ? denote the optimal argument of (MPC.1b) and optimal
value of the costate in (3.29), and assume that µ? 6= 0. Then (x(i) , µ(i) ) is a fixed point
of the iteration (3.35) if and only if (x(i) , µ(i) ) = (x? , µ? ). Furthermore, the iteration
converges superlinearly in a neighbourhood of (x? , µ? ) if no constraints are weakly active
at the solution.
Proof. The first-order optimality conditions (3.30) that define (u? , µ? ) are equivalent to
Let A? denote the active set at the solution (u? , p? ), then from the optimality conditions
(3.36) and the definition of the active set in (3.31) it follows that: 1) P \ A? must be
nonempty (since the constraints uk ≤ uk ≤ uk cannot be active ∀k ∈ P if (3.36e)
holds because of the assumption that no constraint is weakly active at the solution), and 2)
Fk0 (u?k ) − µ? = 0 ∀k ∈ P \ A? . Therefore, ∆µ? = 0 from (3.33), which therefore implies
that ∆u?k = 0 ∀k ∈ P from (3.34), so (u? , p? ) is a stationary point of the iteration (3.35).
(i)
Conversely, if (u(i) , µ(i) ) is a fixed point of (3.35), then ∆uk = 0 ∀k ∈ P and ∆µ(i) =
(i)
0. In this case, from (3.34) it follows that −Fk0 (uk ) − µ(i) = 0 ∀k ∈ A(i) , so x(t) +
PN −1 (i)
k=0 xk + xN = 0 from (3.33). Therefore, the first-order conditions are satisfied, so the
point u(i) is optimal w.r.t (MPC.1b) as it is convex.
To complete the proof, note that if there are no weakly active constraints at the solution
of (MPC.1b), then there must exist a neighborhood of (u? , µ? ) within which the active set
is constant, so the iteration (3.35) coincides with Newton’s method applied to a subspace
(namely, {uk : k ∈ P, uk 6= uk ∧ uk 6= uk }). A superlinear convergence rate can then be
shown using the standard arguments for unconstrained optimization [64, §3.3].
similar problem in [119] that the stepsize can be adapted at each iteration to ensure global
convergence to the solution of (MPC.1b) from any initial feasible point. For the purposes
of this chapter this modification is unneccessary as rapid convergence to the solution is
observed for all of the following numerical simulations with the fixed iteration (3.35).
49
3.4. NUMERICAL EXPERIMENTS
0.2
30
0.1
20
0.0
10
−0.1
0
−0.2
0 2000 4000 6000 8000 10000 12000 14000
Distance (m)
Figure 3.4: Velocity and road gradient against longitudinal distance for each of the 49 journeys.
C ONTROL
For each of the journeys the battery was initialised at 60% state of charge and the terminal
state-of-charge constraint was set at 50%. Two control algorithms were used:
1. PMP. The PMP algorithm described in Section 2.2.2 was used with the engine,
motor, and battery models that were used for simulation, and extended to include
the instantaneous limits on battery power.
2. MPC. The MPC algorithm described in this Chapter was used where it was assumed
that the controller had perfect predictions of the future velocity and road gradients
50
3.4. NUMERICAL EXPERIMENTS
(i.e. the only uncertainty in predictions was due to model approximation error), and
the predictions were implemented as a shrinking horizon (i.e the prediction horizon
N reduced as the vehicle progressed through the journey).
51
3.4. NUMERICAL EXPERIMENTS
PMP MPC XT
0.6
60
0.5
0.4
50
0.3
0.2
40
0.1
0.0
0 200 400 600 800 1000 0 200 400 600 800 1000
Time (s) Time (s)
Figure 3.5: State-of-charge trajectories and cumulative fuel consumption for each of the 49 jour-
neys where the road gradient is set to zero in both the MPC predictions and simulations. The results
for a single journey are highlighted in both figures, and the terminal state-of-charge constraint is
highlighted in red.
PMP MPC XT
0.6
60
Fuel Consumption (kg)
State-of-charge (%)
0.5
0.4
50
0.3
0.2
40
0.1
0.0
0 200 400 600 800 1000 0 200 400 600 800 1000
Time (s) Time (s)
Figure 3.6: The results from the same experiments as depicted in Figure 3.5, except that the true
road gradient is used for both simulation and MPC prediction.
52
3.5. CONCLUDING REMARKS
which will render the control inputs suboptimal. It is therefore critical that the general
state-of-charge constraints are explicitly considered by the MPC formulation.
53
C HAPTER 4
I Nthis chapter the convex model predictive energy management framework proposed in
the previous is extended to consider upper and lower bounds on the battery’s state-of-
charge across the entire prediction horizon. Previous studies that have approached this
problem using convex optimization have utilized general purpose convex optimization
software (e.g. [17, 104, 106, 118]), and have generally not investigated algorithms that
are tailored to the structure of the problem. Only two examples of convex optimization
algorithms for solving the PHEV energy management problem could be found in the lit-
erature, [116] and [117], although both of these examples completely ignore the losses in
both the battery and motor. The main contribution of this chapter is two algorithms for the
solution of the resulting MPC optimization problem: an alternating direction method of
multipliers (ADMM) algorithm, and a novel projected interior point algorithm. The com-
putational efficiency of the two algorithms is compared on a set of randomly generated
energy management problems, and then the extended MPC framework is implemented in
closed loop in a simulation. It is shown that the ADMM can solve the MPC optimization
in a fraction of a second, even over horizons of up to 1000 samples, and that the MPC
controller provides a close approximation of the globally optimal controls obtained using
dynamic programming. To date, these are the only examples of optimization algorithms
that can solve the PHEV energy management problem in real time when long prediction
horizons and nonlinear electric system dynamics are considered.
55
4.1. MODEL PREDICTIVE CONTROLLER
ditionally, define F : Rn 7→ R as
N
X −1
F (u) := Fk (uk ).
i=0
The MPC optimization including constraint (4.1) is then given by the convex optimization
problem
min F (u),
u
s.t. x = 1x(t) − Ψu,
(MPC.2)
1x ≤ x ≤ 1x,
u ≤ u ≤ u.
Proposition 4.1.1. If the constraint set of (MPC.2) is nonempty, then the solution exists
and is unique.
Proof. The proof can be shown with a minor extension of the proof of Proposition 3.2.2.
4.1.1 F EASIBILITY
Proposition 4.1.2. The constraint set in (MPC.2) is nonempty if and only if Fk 6= ∅ ∀k ∈
{1, . . . , N }, where F0 := {x(t)}, Fk+1 := {Fk ⊕ −Uk } ∩ X ∀k ∈ {0, . . . , N − 1},
Uk := [uk , uk ], and X := [x, x].
Proof. Before starting the proof, note that
Fk+1 = {xk − uk ∈ X : xk ∈ Fk , uk ∈ Uk } ∀k ∈ {0, . . . , N − 1} (4.2)
from the definition of the Minkowski sum, and enumerate the constraints in (MPC.2) as
x = 1x(t) − Ψu, (4.3a)
1x ≤ x ≤ 1x, (4.3b)
u ≤ u ≤ u. (4.3c)
Firstly, assume that Fk+1 6= ∅ ∀k ∈ {0, . . . , N − 1}. If it is also assumed that there
exists xk ∈ Fk such that xk is feasible w.r.t (4.3b), then there exists a value of uk that is
feasible w.r.t (4.3c) such that xk+1 is feasible w.r.t (4.3a) and (4.3b). x0 := x(t) trivially
satisfies (4.3b), so by induction there exists a pair (uk , xk+1 ) that satisfies (4.3a)-(4.3c)
∀k ∈ {0, . . . , N − 1}.
Conversely, assume that there exists u and x that satisfy (4.3a)-(4.3c), then Fk+1 ⊇
{xk+1 } ∀k ∈ {0, . . . , N − 1}, which completes the proof.
56
4.2. OPTIMIZATION
The property that F0 , X , and every Uk ∀k ∈ {0, . . . , N − 1} are closed convex subsets
of R implies that Fk is a closed convex subset of R ∀k ∈ {1, . . . , N }. Consequently, this
implies Fk can be parametrized by Fk = [min Fk , max Fk ], where min F0 = max F0 =
x(t), min Fk+1 := max{x, min Fk − uk }, and max Fk+1 := min{x, max Fk − uk }
∀k ∈ {0, . . . , N − 1}. Therefore, a feasibility certificate for (MPC.2) can be obtained
using Algorithm 1 (note that max Fk and min Fk are treated as variables that are used to
parameterize Fk in Algorithm 1).
Remark 4.1.1. The computational and memory requirements of Algorithm 1 scale linearly
with the prediction horizon, N .
4.2 O PTIMIZATION
Two candidate convex optimization algorithms are proposed for the solution of (MPC.2):
an interior point algorithm and an ADMM algorithm. These algorithms were chosen to
investigate the relative performance benefits of first-order and second-order optimization
algorithms. Additionally, the interior point algorithm was chosen for investigation as it is
a common second-order method for solving MPC optimization problems [120, 121, 122,
123], and a novel approach is proposed that uses a projected Newton step to solve each
successive barrier problem. The ADMM algorithm was chosen because it has recently
received attention for its ability to exploit the structure of MPC problems [124, 125, 126].
57
4.2. OPTIMIZATION
where
−I
ũ := (u, x), B := Ψ , c := (0, 1x(t)).
The augmented Lagrangian function, Lρ : R2N × RN × R2N 7→ R, for (4.5) is
N
X −1
1
Lρ (ũ, ζ, λ) := F (u) + [IUk (uk ) + IX (xk+1 )] + kũ + Bζ − c + λk2ρ (4.6)
k=0
2
where
kxk2ρ := x> ρx, ρ := diag(ρ1 1, ρ2 1), ρ1 , ρ2 ∈ R+ , λ := (λ1 , λ2 ), λ1 , λ2 ∈ RN .
The ADMM iteration is defined by
ũ(i+1) := argmin L(ũ, ζ (i) , λ(i) ), (4.7a)
ũ
58
4.2. OPTIMIZATION
and in [127] it was demonstrated that this algorithm converges to the solution of (4.5) as
the residuals defined by
neccesarily converge to zero (the proof is presented for a scalar value of ρ, but can be
trivially extended to a fixed positive diagonal matrix as presented here, and is also proven
in Section 5.A.3). The algorithm is initialized with
A LGORITHM C OMPLEXITY
The Lagrangian function (4.6) is equivalent to
N
X −1
Lρ (ũ, ζ, λ) := F (u) + [IUk (uk ) + IX (xk+1 )]
k=0
ρ1 ρ2
+ ku − ζ + λ1 k22 + kx + Ψζ − 1x(t) + λ2 k22 ,
2 2
so update (4.7a) is the equivalent of
( h i
ρ1 (i) (i)
(i+1) argmin uk Fk (uk ) + IUk (uk ) + kuk − ζk + λ1,k k22 ∀k ∈ P
uk := 2
, (4.9a)
uk ∀k ∈ C
h i
(i)
x (i+1) (i)
:= ΠX N 1x(t) − Ψζ − λ2 , (4.9b)
59
4.2. OPTIMIZATION
Table 4.1: Summary of the computational complexity of each of the ADMM variable updates.
O(·) u x ζ r s λ
Parallel 1 N N N N 1
Sequential N N N N N N
k, so its computation scales linearly with the prediction horizon when these updates are
performed sequentially, and is constant if they are performed in parallel. The individual
(i+1)
update uk for k ∈ P is a one-dimensional constrained convex optimization problem
that can be solved rapidly and reliably using Newton’s method with a backtracking line-
search [64, §3]. Note that if Fk (·) are approximated as quadratic functions then the update
(i+1)
uk has an analytical solution for all k ∈ P. Multiplication by Ψ is the equivalent
of a cumulative sum (Ψ is a lower triangular matrix of ones), so the computation of the
argument of the projection function in (4.9b) scales linearly with the prediction horizon
and has no memory requirement. The projection ΠX N can be performed element-wise, so
the computation of (4.9b) scales linearly with N overall.
Update (4.7b) is equivalent to
h i
(i) (i)
ζ (i+1) = (ρ1 I + ρ2 Ψ> Ψ)−1 ρ1 (u(i+1) + λ1 ) − ρ2 Ψ> (x(i+1) − 1x(t) + λ2 ) , (4.10)
which is in turn the solution of the general system of linear equations (kI + Ψ> Ψ)x = b,
and can be solved with O(N ) computation and memory requirement (Proposition 4.A.1).
The residual updates are the equivalent of
u(i+1) − ζ (i+1) ρ1 (ζ (i) − ζ (i+1) )
r (i+1)
= (i+1) , s (i+1)
= , (4.11)
x + Ψζ (i+1) − 1x(t) ρ2 Ψ(ζ (i+1) − ζ (i) )
which scale linearly with N and have no additional memory requirement. Finally, (4.7c)
is the equivalent of λ(i+1) = λ(i) + r(i+1) .
The computational requirement of each variable update is summarized in Table 4.1,
and the total memory requirement of the algorithm is O(N ), as only a bandwidth two
Cholesky factor requires storage (defined in Proposition 4.A.1). The algorithm as a whole
is presented in pseudocode in Algorithm 2, for which the output u† can be made arbitrarily
close to the solution of (MPC.2) by setting arbitrarily close to zero.
60
4.2. OPTIMIZATION
61
4.2. OPTIMIZATION
O PTIMALITY C ONDITIONS
A slack variable s ∈ R2N is introduced in (MPC.2) to obtain the equivalent problem
min F (u),
u
s.t. Au − c − s = 0
(IP.a)
s≥0
u ≤ u ≤ u,
where
Ψ 1(x(t) − x)
A := , and c := .
−Ψ −1(x(t) − x)
Problem (IP.a) can then be approximated with
and µ ∈ R+ can be interpreted as the accuracy with which the barrier function approxi-
mates the original inequality constraint s ≥ 0. The Lagrangian function, Lµ : R7N 7→ R,
associated with (IP.b) for a given value of µ is
62
4.2. OPTIMIZATION
where θ1 ∈ R2N and θ2 , θ3 ∈ RN are vectors of Lagrange multipliers. By defining the set
where A:,k is the kth column of A, the necessary and sufficient conditions for the (unique)
values that minimize (IP.b) are
where S ◦ := diag(s◦ ).
It can be demonstrated that to obtain the optimality conditions of the original problem,
(IP.a), two changes must be made to the optimality conditions, (4.12): first, (4.12f) must
become a nonstrict inequality condition, and second, a vector of zeros must replace µ1 1 on
the right-hand side of (4.12b). Therefore, it can be concluded that u◦ converges asymptoti-
cally to u? as µ → ∞ (following what is known as the ‘central path’ [96, §11.2]), where u?
is the minimizing argument of (IP.a) (and therefore also the original problem, (MPC.2)).
The principle of the algorithm presented in this section is that conditions (4.12d)-(4.12g)
hold at all iterations, while a projected Newton method similar to that presented in Chap-
ter 3 is used to obtain an approximation of the point satisfying (4.12a)-(4.12c) for a fixed
value of µ. This is then repeated for progressively larger values of µ, with progressively
higher accuracy, to obtain u? .
I NITIALIZATION
The projected interior-point algorithm is initialized using the tube defined by the sequence
{G0 , . . . , GN }, where GN = FN , and Gk is defined recursively by
Gk := Fk ∩ {Gk+1 ⊕ Uk } ∀k ∈ {N − 1, . . . , 0}.
63
4.2. OPTIMIZATION
(0)
The centreline of this tube, xk = 21 (max Gk +min Gk ), is then used as an initial estimate of
the optimal state-of-charge trajectory, from which an initial feasible estimate of the control
(0) (0) (0)
vector, u(0) , is obtained from uk = xk − xk+1 ∀k ∈ {N, . . . , 1}. The other decision
(0)
variables are then initialized as s(0) = Au(0) − c and θ1 = µ1 (S (0) )−1 1. The initialization
algorithm is summarized in Algorithm 3, where max Gk and min Gk are treated as variables
used to parameterize Gk , and FLAG = TRUE is a certificate that the returned values of u(0) ,
(0)
s(0) , and θ1 , satisfy (4.12c)-(4.12g).
(0)
Proposition 4.2.1. Assume that (MPC.2) is feasible. The values of u(0) , s(0) , and θ1
obtained using Algorithm 3 will satisfy conditions (4.12c)-(4.12g) iff
max Fk > min X ∧ min Fk < max X ∀k ∈ {1, . . . , N }. (4.13)
Proof. Let |S| denote
|S| := max S − min S
for a given set S. If (MPC.2) is feasible, then |Fk | exists ∀k ∈ {0, . . . , N } (Proposition
(4.1.2) states that Fk is nonempty if (MPC.2) is feasible, and Fk is closed).
Equation (4.13) can be used to show that max Fk > min Fk (i.e. |Fk | > 0) for
all k where max Fk = max X and/or min Fk = min X , and from (4.2) it is clear that
64
4.2. OPTIMIZATION
|Fk | ≤ |Fk+1 | if neither max Fk+1 = max X nor min Fk+1 = min X . Suppose that
max Fk = max X and/or min Fk = min X for some k ∈ {0, . . . , N } and let k † be the
smallest such value. It can then be shown by induction that |Fk | > 0 ∀k ∈ {k † , . . . , N }.
Now, note that
Gk = {xk+1 + uk ∈ Fk : xk ∈ Gk+1 , uk ∈ Uk }.
If it is assumed that |Fk | > 0 and |Gk+1 | > 0, it can then be shown that
Since k † ≤ N by assumption, it is therefore known that |FN | > 0, so |GN | > 0, and
the argument in (4.14) can be made recursively to show that |Gk | > 0 ∀k ∈ {N, . . . , k † }.
(0)
Therefore, as Gk ⊆ Fk ⊆ X , it can be concluded that xk ∈ int(X ) ∀k ∈ {k † , . . . , N }.
If (MPC.2) is feasible then |Fk | ≥ 0 for all k, and similar logic to (4.14) can be used
to show that |Gk | ≥ 0 ∀k ∈ {k † − 1, . . . , 1}. From the definition of k † it is known that
max Fk 6= max X and min Fk 6= min X ∀k ∈ {k † − 1, . . . , 1}, so as Gk ⊆ Fk ⊂ X it can
(0)
be concluded that xk ∈ int(X ) ∀k ∈ {k † − 1, . . . , 1}. The same result can also be shown
for ∀k ∈ {N, . . . , 1} if (4.13) holds and k † does not exist.
(0)
The result that xk ∈ int(X ) ∀k ∈ {1, . . . , N } implies that Au(0) − b > 0, so s(0) =
(0)
Au(0) − c ensures (4.12c) and (4.12f), and θ1 = µ1 (S (0) )−1 1 ensures (4.12g).
Finally, it can be shown that
(0) 1
max uk = (max Gk − max Gk+1 + min Gk − min Gk+1 ) = uk ,
2
(0)
and it can similarly be shown that min uk = uk , which therefore demonstrates (4.12c)-
(4.12g) if (4.13) is satisfied. Conversely, a subset of the above results can be shown to be
not true if (4.13) is not satisfied for any k ∈ {1, . . . , N }.
Remark 4.2.2. Condition (4.13) holds if problem (MPC.2) satisfies Slater’s condition [96,
§5.2.3] (the converse statement is not necessarily true).
65
4.2. OPTIMIZATION
U u(0) X F G x(0)
4 10
2 5
uk
xk
0 0
−2 −5
−4 −10
0 5 10 15 20 0 5 10 15 20
k k
Figure 4.1: Example of the tubes defined by F and G, and the solutions obtained for x(0) and
u(0) using Algorithm 3 for a nominal system (the values were chosen to illustrate the operation of
the algorithm, and are not necessarily representative of those observed in the energy management
problem).
An example of the values of x(0) and u(0) obtained by Algorithm 3 for a representative
example is shown in Figure 4.1. In addition to u, s, and θ1 , there are three further param-
eters that are initialized at the start of the algorithm: µ0 ∈ R+ , µ ∈ [µ0 , ∞), kµ ∈ (1, ∞),
and τ ∈ (0, 1). These parameters can be assigned any value within the stated ranges, and
their significance is discussed in the following section.
A LGORITHM
At each iteration, i, the elements k of P are partitioned into the the sets
(i) (i) (i)
A(i) := {k ∈ P : (uk = uk ∧ Fk0 (uk ) − A>
:,k θ1 > 0)
(i) (i) (i)
∨ (uk = uk ∧ Fk0 (uk ) − A>
:,k θ1 < 0)},
D(i) := P \ A(i) ,
then the solution to (4.12a)-(4.12c) is estimated using the Newton step
2 (i)
> (i)
∇D(i) F (u(i) ) 0 −w> ∆uD(i) −∇ D(i) F (u (i)
) + v θ1
(i) (i) ∆s(i) := 1 (i) (i)
(4.15)
0 Θ1 S µ
− S θ1 ,
(i)
w −I 0 ∆θ1 (i)
−Au + c + s (i)
where ∇2D(i) F is a diagonal matrix of the k ∈ D(i) diagonal elements of the Hessian of F ,
∇D(i) F is the k ∈ D(i) elements of the gradient of F , and Θ1 = diag(θ1 ). Define  as the
66
4.2. OPTIMIZATION
(i) (i)
matrix A with the {k ∈ {0, . . . , N − 1} : uk = uk ∨ uk = uk } columns set to zero, then
v is defined as the k ∈ D(i) columns of A, and w is defined as the k ∈ D(i) columns of Â.
The search directions are then obtained from the reduced equations
h > i−1
(j) 2 (i) (i) −1 (i)
∆θ1 = w ∇D(i) F (u ) w + (Θ1 ) S
−1
1 (i) −1
Θ1 1 − Au(i) + c − w ∇2D(i) F (u(i) )
µ
> (i)
(i)
(−∇D(i) F (u ) + v θ1 , (4.16a)
(i) −1 (i) (i)
∆uD(i) = − ∇2D(i) F (u(i) ) ∇D(i) F (u(i) ) − v > θ1 − w> ∆θ1 , (4.16b)
∆uA(i) = 0 (4.16c)
(i)
∆s(i) = Au(i) + w∆uD(i) − c − s(i) , (4.16d)
and step lengths are determined from the ‘fraction to the boundary’ rule [64, §19.2] as
n o
(i) (i)
αs := max α ∈ (0, 1] : s + α∆s ≥ (1 − τ )s (i)
, (4.17a)
n o
(i) (i)
αθ := max α ∈ (0, 1] : θ(i) + α∆θ1 ≥ (1 − τ )θ1 , (4.17b)
where τ ∈ (0, 1) is fixed and arbitrary within this range. The primal-dual interior point
iteration is then defined by
( h i
(i) (i)
(i+1) Π Uk uk + α s ∆uk ∀k ∈ D(i)
uk := , (4.18a)
u(i) ∀k ∈ A(i)
s(i+1) = s(i) + αs ∆s, (4.18b)
(i+1) (i)
θ1 = θ1 + αθ ∆θ1 . (4.18c)
Iteration (4.18) is performed repeatedly until the criterion
(i) (i) > (i) 1 (i) (i) (i) (i) 1
rIP := max −∇D(i) F (u ) + v θ1 , − S θ1 , −Au + c + s <
µ µ
(4.19)
is met, at which point the value of µ is updated using
µ :← min{µ, kµ µ}, (4.20)
where µ ∈ (0, ∞) is a predetermined upper limit on the value of µ, and kµ ∈ (1, ∞) is a
predetermined, arbitrary constant. The projected interior point algorithm is terminated at
the first iteration where both of the conditions (4.19) and µ = µ are met. A pseudocode
implementation of the projected interior point algorithm is presented in Algorithm 4.
67
4.2. OPTIMIZATION
68
4.2. OPTIMIZATION
Table 4.2: Summary of the computational complexity of each of the interior point variable updates.
Equation(s) M −1 · v M ·M M ·v O(2n N n )
(4.16a) Yes Yes Yes n≤3
(4.16b - 4.16d), (4.19), (4.15) No No Yes n≤2
(4.17), (4.18) No No No n=1
C OMPLEXITY
Lines 13 to 18 in Algorithm 4 constitute the variable updates that are performed during
each iteration of the interior point algorithm. The complexity of the operations required
for each variable update are summarized in Table 4.2, considering dense systems of linear
equations, dense matrix-matrix products, and dense matrix-vector products. The signif-
icance of enforcing the box constraints on u as a projection is highlighted, as the com-
plexity of the projected interior-point operations is a function of the first dimension of A,
which is 2N in this case. If the bounds on u were applied as a log-barrier function [i.e.,
A = (Ψ, −Ψ, I − I) and c = (1(x(t) − x), −1(x(t) − x), u, u) in (IP.b)], the relevant
dimension would instead be 4N , and the computational complexity of each update would
become O(4n N n ). In the case of a system of linear equations, this could result in a reduc-
tion in worst cast computational time of almost an order of magnitude. It can be seen that
(4.16a) is the most computationally demanding update due to the presence of both a dense
matrix-matrix multiplication and a dense system of linear equations (note that diagonal
matrix operations, e.g. (∇2D(i) F (u(i) ))−1 are omitted from Table 4.2). The computational
complexity of each iteration of the algorithm is therefore O(N n ), where n ≤ 3 is de-
termined by the method used for matrix multiplication and to solve the systems of linear
equations. The worst case memory complexity is O(N 2 ), as the matrices A, v, and w must
be stored in memory, although it may be possible to exploit the fact that A is constructed
from Ψ blocks to reduce this requirement.
C ONVERGENCE
The iteration (4.18) can be interpreted as as a projected Newton method used to obtain a
stationary point (u◦ , s◦ , θ1◦ ) of the function
69
4.3. NUMERICAL EXPERIMENTS
Newton’s method for nonlinear equations [64, Theorem 11.2]. This means that the right-
hand-side of (4.15) converges to 0 as i → ∞, and the termination criterion (4.19) will be
met in a finite number of steps. Global convergence could be ensured by adapting the ∆u
step at each iteration with a line-search of an appropriate merit function, although the merit
function from [119] cannot be used in the proposed form as the stationary point (u◦ , s◦ , θ1◦ )
is not a minimum of the function (4.21) in general. Despite this limitation, convergence
was demonstrated for all problem classes in the simulations that follow.
It was previously demonstrated that u◦ → u? as µ is increased toward ∞, and the value
of u(i) when criterion (4.19) is met converges to u◦ as µ is increased toward ∞. Therefore,
the value of u† returned when Algorithm 4 terminates can be made arbitrarily close to the
minimizing argument of (IP.a) (and therefore (MPC.2)) by setting µ arbitrarily high. The
algorithm could be further optimized to update the value of µ possibly at every iteration,
to ensure that the iterate remains in, or at least near to, the superlinearly convergent region
around (u◦ , s◦ , θ1◦ ), although superlinear convergence is demonstrated for a broad class of
problems in the numerical experiments that follow using the update (4.20).
70
4.3. NUMERICAL EXPERIMENTS
O PTIMUM
It was previously demonstrated that the
output of Algorithm 4 can be made arbi- µ
trarily close to the solution of (MPC.2) by 10 3
104 105
using a sufficiently large value of µ, and it
is therefore necessary to determine a value 101
of µ that can be used to obtain a suffi-
ku†j − u†j−1 k2
ciently accurate approximation of u? . Ten 100
A LGORITHM T UNING
Both algorithms have multiple parameters that must be tuned to provide computationally
efficient solutions. For the ADMM algorithm, ρ1 and ρ2 (which can be loosely interpreted
as the step length in a gradient descent algorithm) must be determined, whilst µ0 and
kµ must be determined for the projected interior point method. The energy management
MPC framework is commonly implemented with a shrinking horizon, and it is therefore
important that the same set of parameters provide a similar level of performance for a broad
class of problems over both long and short horizons. This section details the results of
71
4.3. NUMERICAL EXPERIMENTS
log10 (kµ )
7.5 28
24
5.0
20
2.5 16
−4 −2 0 −4 −2 0 −4 −2 0 −4 −2 0
log10 (µ0 ) log10 (µ0 ) log10 (µ0 ) log10 (µ0 )
−4
6.0
log10 (ρ2 )
−5
4.8
−6
−7 3.6
−6 −5 −4 −3 −6 −5 −4 −3 −6 −5 −4 −3 −6 −5 −4 −3
log10 (ρ1 ) log10 (ρ1 ) log10 (ρ1 ) log10 (ρ1 )
Figure 4.3: Results of parameter tuning for both the projected interior-point (top row) and ADMM
(bottom row) algorithms. The projected interior-point figures show that average number of iter-
ations required to meet the termination threshold µ = 105 , whereas the ADMM figures show the
average error measure by ku(100) − u? k22 .
72
4.3. NUMERICAL EXPERIMENTS
the 100th iteration of ADMM, u(100) , and the optimum, u? , was recorded for each case.
The results are shown in Figure 4.3, and there is a clear region within approximately two
orders of magnitude of both ρ1 and ρ2 where the control vector has a minimum error
relative to the optimum, and this region does not change significantly with horizon length.
The values of ρ1 = 6 × 10−5 and ρ2 = 4 × 10−7 were therefore selected as the optimal
parameters. To the best of the author’s knowledge, there is no widely accepted method for
tuning the ρ parameters, but note that ρ1 corresponds to a constraint on u, which represents
power, whereas ρ2 corresponds to a constraint on Ψu, which represents energy. Typical
magnitudes for the elements of u? are 103 − 104 W, and the limits on energy are set at
105 , which may suggest the tuned ρ parameters work well because they scale the primal
residuals to approximately the same magnitude. This is only conjecture, however, and
requires further investigation.
C OMPUTATIONAL P ERFORMANCE
After tuning the parameters of both the projected interior point and ADMM algorithm to
the class of problems being investigated, it was possible to analyse their comparative com-
putational performance. This was achieved in two steps: firstly the termination criterion
for a ‘sufficiently’ accurate solution was determined, then the variation in computational
time with horizon length was investigated.
A further twenty test cases were gener- ADMM Interior Point
|F (u(j) ) − F (u? )| (%)
73
4.3. NUMERICAL EXPERIMENTS
xk (kJ)
−5
0 50 96 100
-5
25
-10
-15 0
0 20 40 60 80 100 0 20 40 60 80 100
k k
Figure 4.5: Control and state vectors for the systems highlighted with red circles in Figure 4.4,
plotted against the optimum u? and x? . The feasible tubes U and X are also included, and note
that the additional constraints enforced during the convex formulation specified in Section 3.2.1
have significantly restricted the upper and lower bounds on U from the original ±1.5 × 104 .
74
4.3. NUMERICAL EXPERIMENTS
400 102
Figure 4.6: Axes showing the number of iterations required, mean time per iteration, and time to
completion for twenty systems with 50 ≤ N ≤ 1000, with linear, quadratic, and cubic trend lines.
were recorded for each using both ADMM and the projected interior point algorithm. For
comparison, the problems were also solved using CVX with default solver SDPT3 v.4.0
and default error tolerance, for which only the total time was recorded (it is not possible
to separate the total time from the individual iterations or the overhead required to parse
the problem when using CVX). The results are shown in Figure 4.6, where it can be seen
that whilst the uncertainty in the number of ADMM iterations is high (from as low as 50
to as high as 400), the band of uncertainty is near constant as the horizon is increased, so it
can be assumed that the expected number of iterations is effectively constant with horizon
length. The uncertainty for the number of projected interior point iterations is lower, and
fewer iterations are required for all horizon lengths, however the number of iterations also
increases linearly with horizon length from ∼ 10 iterations at N = 50 to ∼ 16 iterations
at N = 1000.
It was previously shown that as the horizon length is increased the computational bur-
den of the projected interior point algorithm is dominated by the ∆θ1 update, so the meth-
ods used to perform this calculation will largely determine the time required per iteration.
The Matlab operations x=A\b and x=A∗ b were used here, and a quadratic trendline is
shown to have an approximate fit in Figure 4.6. The computation of each iteration of the
ADMM algorithm was previously shown to scale linearly with horizon length, and this is
also illustrated with a linear trendline in Figure 4.6. Additionally, the ADMM iteration
was over two orders of magnitude faster than the interior point iteration as the horizon
length was increased to 1000 samples.
Given the observed scaling properties of the number of iterations required for conver-
gence and the computation of each iteration, it would therefore be expected that the total
75
4.3. NUMERICAL EXPERIMENTS
time taken for the ADMM algorithm to terminate would scale linearly with horizon length
whereas the time taken for the projected interior point method would scale cubically with
horizon length, and this is supported by the results shown in the third plot in Figure 4.6.
It is also shown that, with an assumed interval of one second between controller optimiza-
tions, the projected interior point is only suitable up to a horizon of N ≈ 500, whereas
even up to the maximum horizon length of N = 1000, the ADMM algorithm required
less than ∼ 0.1s, and from the previous scaling properties it can be assumed that ADMM
is real time implementable for horizons significantly in excess of 1000. Therefore, whilst
the projected interior point algorithm has been shown to converge to an extremely accu-
rate solution in fewer iterations than the ADMM algorithm, for the hardware used in these
experiments, less time is required for a moderate level of accuracy using ADMM, and the
ADMM algorithm scales better with horizon length. It is worth noting, however, that if
the accuracy requirement were significantly tightened, it is likely that this performance
relationship could change. Furthermore, it may also be possible to further accelerate the
interior point iteration using efficient factorizations such as those proposed in [120] and
[121].
In comparison with the proposed algorithms, CVX was unable to obtain solutions in
less than 1s for any horizon length, and was at least an order of magnitude slower than both
algorithms over all horizon lengths; compared to ADMM it was a factor of 1000 slower
for N = 1000. Although CVX is solving the problem to a different error tolerance, it
would be expected that ADMM would still be faster were its termination threshold signifi-
cantly tightened. This is the first demonstration of a method capable of solving the energy
management problem in real time, over long horizons (≥1000 samples) when nonlinear
system dynamics are considered and hard limits on both power and state of charge are
enforced over the entire horizon.
1. Dynamic Programming. The gear selection, braking, and engine switching were
controlled using the same heuristics as presented for MPC in Section 3.2, and the
dynamic programming algorithm described in Section 2.2.1 was used with the exact
engine, motor, and battery models to determine the globally optimal power split.
The state space (the battery state xt ) was evenly discretized in 1000 intervals and
76
4.3. NUMERICAL EXPERIMENTS
the control space (the battery power ut ) was evenly discretized in 100 intervals (this
was found through trial-and-error to be sufficient for a highly accurate solution).
2. MPC. The state constrained MPC algorithm described in this chapter was used
where it was assumed that the controller had perfect predictions of the future ve-
locity and road gradients (as in Section 3.4). At each control variable update instant
the power delivered from the battery was implemented as the first element of the so-
lution of (MPC.2), for which the ADMM algorithm was used to obtain the solution.
The ρ parameters were re-tuned as ρ1 = 2.34 × 10−4 and ρ2 = 10−8 , and the termi-
nation criterion, , was set at 5 × 104 , which was found to eliminate the constraint
violation issue illustrated in Figure 4.5.
3. MPC (no electrical losses). The same MPC algorithm as described above was
used with the exception that all of the electrical losses in the predictive model were
ignored (i.e. fk (pk − gk−1 (uk )) = fk (pk − uk ) ∀k ∈ P). The ADMM algorithm was
also used for the MPC optimization.
4. CDCS. In the initial charge-depleting phase the engine was switched off and all
power was delivered from the motor until the lower threshold on the state-of-charge
of the battery was met (the engine was also turned on to meet any power that ex-
ceeded the motor’s power limit, but was then immediately turned off again). Once
the lower limit on the battery’s state of charge was met, the engine was turned on and
kept on until the end of the journey, during which all positive power was delivered
from the motor if the state-of-charge of the battery was above its lower limit, and
from the engine if the lower state-of-charge limit was exceeded. All negative power
was delivered from the battery.
R ESULTS
Figure 4.7 shows the results for all forty-nine journeys using dynamic progamming and
MPC both with and without the electrical losses, and it can now be observed that the state-
of-charge of the battery satisfies its upper and lower constraints at all times. The route used
for simulation consists of approximately 7km of uphill followed by 7km of downhill (it is
a return journey), so a useful artefact is that the vehicle is regenerating for the second half
of the route and ends the journey with the same battery state-of-charge across all control
methods. This means that the relative efficiency of each control method can be determined
by comparing the total fuel consumption alone (if this were not the case the terminal state-
of-charge could be constrained by tightening the state-of-charge constraint for the final
timestep with XT ≤ xN ≤ XT ). It is shown that the MPC controller that considers the
electrical losses in the system achieves an extremely close approximation of the globally
77
4.3. NUMERICAL EXPERIMENTS
0.6 0.6
Consumption (kg)
Terminal Fuel
0.4 0.4
0.2 0.2
0.0 0.0
State-of-charge (%)
60 60
Terminal
50 50
40 40
optimal solution obtained with dynamic programming, and that when the electrical losses
are ignored the fuel consumption increases. On average, the fuel consumption increased
relative to dynamic programming by 3.4% when using MPC without the electrical losses,
but the fuel consumption was equal (to the nearest 0.1%) for both dynamic programming
and MPC when using the full loss model. This provides a clear justification for using non-
linear models of the electric elements of the powertrain in the MPC optimization. Figure
4.8 shows a histogram of the time taken using dynamic programming and the first MPC
optimization (the shrinking horizon implementation means that the computational time re-
duces as the journey progresses) for both powertrain models across all 49 journeys. The
average time taken for dynamic programming is 260 s, which is clearly too slow for a
receding horizon implementation with an update frequency of 1s. Conversely, the time
taken using the ADMM algorithm is significantly less that one second: the average where
the electrical losses is considered is 0.10 s, and is reduced to 0.043 s when the electrical
losses are ignored. This acceleration is achieved because the ADMM update (4.9a) has an
78
4.4. CONCLUDING REMARKS
15
10
5
0
0.01 0.1 1 10 100 1000
Time (s)
Figure 4.8: Time taken for the first MPC optimization (i.e. longest prediction horizon) for each
journey using dynamic programming and both variations of MPC.
analytical solution when the electrical losses are ignored, although it comes at the price of
the reduced closed loop performance illustrated in Figure 4.7.
Figure 4.9 shows the results using CDCS compared with the MPC results from Fig-
ure 4.7, and illustrates the potential limitation of using a suboptimal heuristic for engine
switching control. The MPC controller only switches the engine off if the selected gear
results in the engine speed being reduced below a minimum threshold (return to Section
3.2 for the details of the MPC heuristics), whereas the engine is off for a significant portion
of the start of the journey using CDCS. Consequently, CDCS actually reduces fuel con-
sumption by 1.1 % on average. This demonstrates that the engine switching control should
also be considered in the MPC optimization in order for the resulting energy-management
strategy to be optimal in terms of fuel consumption.
79
4.4. CONCLUDING REMARKS
MPC CDCS x
Consumption (kg)
Consumption (kg)
0.6 0.6
Terminal Fuel
0.4 0.4
Fuel
0.2 0.2
0.0 0.0
60 60
SOC (%)
SOC (%)
Terminal
50 50
40 40
0 10 20 30 40 50
On
Journey
Engine State
Off
On
Off
0 200 400 600 800 1000
Time (s)
Figure 4.9: Closed loop results using MPC and CDCS.
80
4.A. ADMM SYSTEM OF LINEAR EQUATIONS
A PPENDICES
4.A ADMM S YSTEM OF L INEAR E QUATIONS
Proposition 4.A.1. The system of linear equations
and
(kI + Ψ> Ψ)x = b ⇐⇒ (kΨ−1 (Ψ−1 )> + I)x = Ψ−1 (Ψ−1 )> b.
The matrix (kΨ−1 (Ψ−1 )> + I) is diagonally dominant, so is positive definite from the
Gershgorin circle Theorem [129, §6]. This implies that the Cholesky factorization
exists, where L is a lower diagonal matrix with nonzero entries on the diagonal and first
subdiagonal only. The solution to (4.22) can therfore be obtained from
81
C HAPTER 5
E NGINE S WITCHING
I N the previous chapter it was demonstrated that if the engine switching control is deter-
mined by a poorly chosen heuristic then it is possible for the optimal power split to per-
form as badly as a CDCS strategy. Therefore, in this chapter, a convex optimization-based
MPC approach to engine switching control is considered. A significant issue with optimiz-
ing the engine switching with convex optimization is that it introduces an integer decision
variable that is necessarily nonconvex, so previous approaches (e.g. [107, 118, 106]) have
considered algorithms that alternate between using PMP or dynamic programming to de-
termine the optimal engine switching control, and convex optimization to determine the
optimal power split. It has been demonstrated that this approach will converge to a point
that satisfies the necessary conditions for optimality [118, §III.D], but globally optimal
convergence cannot be proven in general. A further limitation with this approach is that
it requires multiple solutions of the convex powersplit sub-problem, which may be com-
putationally intractable on limited hardware (up to 155 s were required in [107]). Here,
an ADMM algorithm is instead used to solve the problem directly in two phases: firstly
it is used to obtain a globally optimal solution to a convex relaxation, then this solution
is used to initialize the same algorithm applied to the original nonconvex problem. It is
proven that the ADMM algorithm will return a power-split that is optimal with respect
to the engine switching sequence at termination, and global convergence is encouraged
using the initial convex phase. The performance of the algorithm is demonstrated in a set
of numerical studies, where it is shown that the ADMM algorithm provides a very close
approximation of the globally optimal solution of the mixed-integer MPC optimization,
and that the algorithm provides a reduction in fuel consumption of 32 % relative to CDCS
when used in closed-loop.
83
5.1. MODEL PREDICTIVE CONTROLLER
Proposition 5.1.1. The constraint set defined by the inequalities in (5.1) is convex in
(uk , σk ) ∈ R × [0, 1].
Proof. The proof immediately follows from the fact that {(uk , σk ) ∈ R × [0, 1] : gk (pk ) +
σk γk ≤ uk ≤ gk (pk ) + σk δk } is the intersection of the epigraph of an affine function and
the hypograph of an affine function.
Note that it can be seen from (5.1) that σk = 0 =⇒ fk (pk − gk−1 (uk )) = fk (0).
Proof. The proof immediately follows from the fact that fk (pk − gk−1 (uk )) is convex on
the domain uk ∈ [uk , uk ] for all k ∈ P, and both (σk − 1)fk (0) and σk fk (0) are affine in
σk .
kd > −1 > −1
d(σ) := σ (Ψ ) Ψ σ,
2
is included in the cost function of the MPC problem, where kd ∈ R++ can be chosen either
to accurately model the fuel consumed when switching the engine on, or chosen arbitrarily
84
5.1. MODEL PREDICTIVE CONTROLLER
to prevent the engine switching control from chattering. The MPC problem for optimizing
the engine switching simultaneously with the power-split is therefore
N
X −1
min ṁf (u, σ) + d(σ),
(u,σ)
i=0
s.t. x = 1x(t) − Ψu,
1x ≤ x ≤ 1x, (MPC.3)
u≤u≤u
gk (pk ) + σk γk ≤ uk ≤ gk (pk ) + σδk ∀k ∈ {0, . . . , N − 1},
σk ∈ S ∀k ∈ {0, . . . , N − 1}.
From the properties of the cost function and constraints demonstrated above, this problem
is nonconvex when the engine switching variable σk is an integer decision variable, i.e.
S = {0, 1}. However, if the constraint set for σk is relaxed to the interval S = [0, 1], then
problem (MPC.3) becomes convex.
Proposition 5.1.3. If the constraint set of (MPC.3) is nonempty, then the solution exists.
Additionally, if S = [0, 1], it is unique.
Proof. The objective of (MPC.3) is continuous, and the constraint set is bounded and
closed (for both S = [0, 1] and S = {0, 1}) and is therefore also compact. The first result
therefore follows from Weierstrass’ Theorem for continuous functions [91, p.237]. For
the second result, observe that ṁf (u, σ) is separable w.r.t. u and σ, strictly convex in u
(this follows from Theorem 3.2.1 for all k ∈ P, and is trivially true for all k ∈ C as
uk = uk ), and affine in σk . Additionally, Ψ−1 is nonsingluar and kd > 0, which implies
that k2d (Ψ−1 )> Ψ−1 0. Therefore, the objective of (MPC.3) is strictly convex, so the
second result follows from Proposition 2.2.1.
85
5.2. OPTIMIZATION
ADMM as a heuristic for solving (MPC.3) as presented in this chapter, and was previously
investigated for PHEV energy management in this way in [132]. That approach, however,
considered a very simple powertrain model and limited hardware constraints (the state-
of-charge constraint, in particular, was ignored) compared to (MPC.3), and neither the
convergence of the algorithm nor the optimality of the returned values were addressed.
5.1.1 F EASIBILITY
This section considers the feasibility of (MPC.3) under the following assumption.
Assumption 5.1.1. gk (pk ) ≥ uk for all k ∈ {0, . . . , N − 1}.
The physical interpretation of the case in which gk (pk ) < uk is that the vehicle is
braking and the braking power cannot be delivered entirely by the motor. Assumption
5.1.1 implicitly requires that if this case occurs for any k ∈ {0, . . . , N − 1}, the magnitude
of the mechanical braking power (bk ∈ R− ) is increased until gk (pk ) = gk (dk − bk ) ≥ uk
(where dk is the demand power) for all k. Note that it is not required that gk (pk ) ≤ uk : the
physical interpretation of this case is that both the motor and engine are required to meet
the driver’s power demand, and the intersection of (5.1) and constraint uk ≤ uk ensures
that σk = 1 (i.e. the engine is on).
Proposition 5.1.4. For both S = {0, 1} and S = [0, 1], the constraint set in (MPC.3)
is nonempty if and only if Fk 6= ∅ ∀k ∈ {1, . . . , N }, where F0 := {x(t)}, Fk+1 :=
{Fk ⊕ −Uk } ∩ X ∀k ∈ {0, . . . , N − 1}, Uk := [uk , uk ], and X := [x, x].
Proof. The projection of the constraint set in (MPC.3) onto (u, x)-space is equivalent to
the constraint set for (MPC.2), so the proof immediately follows from the proof of propo-
sition 4.1.2.
Proposition 5.1.4 implies that Algorithm 1 can be also be used to generate a feasibility
certificate for (MPC.3). This is because the set of all trajectories for uk and xk for all
possible engine switching sequences lies within the set of trajectories that can be obtained
with σk = 1 for all k, so only the case where σ = 1 needs to be checked to determine
feasibility.
5.2 O PTIMIZATION
5.2.1 A LGORITHM
An extension of the ADMM algorithm presented in Chapter 4 is proposed for the solution
of (MPC.3) in two phases: firstly, it is used to find the global solution to the convex
86
5.2. OPTIMIZATION
relaxation of (MPC.3) with S = [0, 1], then this solution is used as the initialization point
for the same algorithm with S = {0, 1}, which is shown to be locally convergent. Three
dummy variables, ζ ∈ RN , η ∈ RN , and κ ∈ RN , are included, so that (MPC.3) is
equivalent to
N
X −1
min ṁf (u, σ) + d(κ) + [IUk (uk ) + IX (xk+1 ) + IS (σk ) + IRk (ηk , σk )] ,
(κ,u,x,σ,η,ζ)
k=0
s.t. x = 1x(t) − Ψu, (5.3)
ζ=u=η
κ = σ,
where
Rk := (uk , σk ) ∈ R2 : gk (pk ) + σk γk ≤ uk ≤ gk (pk ) + σk δk .
Problem (5.3) is in turn equivalent to
where
ũ := (κ, u, x), x̃ := (σ, η, ζ),
X N
X −1
f˜(ũ) := fk (pk − gk−1 (uk )) + d(κ) + [IX (xk+1 ) + IUk (uk )]
k∈P k=0
N
X −1 (5.5)
g̃(x̃) := [σk fk (0) + IS (σk ) + IRk (ηk , σk )] ,
k=0
0 0 −I 0 0 −Ψ
0 I 0 0 0 −I
A := 0 I 0 , B := 0 −I 0 , c := (−1x(t), 0, 0, 0).
I 0 0 −I 0 0
87
5.2. OPTIMIZATION
λ(i+1) := λ (i)
+ Aũ(i+1) + B x̃(i+1) − c. (5.7c)
The notation ∈ is used in (5.7b) because the argmin may not be unique; a tie-breaker
criterion is described for the algorithm in the following section. The algorithm is initialized
with the values (ũ(0) , x̃(0) , λ(0) ) = 0 and the set S = [0, 1], and iteration (5.7) is repeated
until the criterion
max kr(i+1) k, ks(i+1) k ≤ (5.8)
is met, where ∈ R++ is a fixed convergence threshold and the residuals r(i+1) and s(i+1)
are defined by
The set S is then updated with {0, 1}, and the iteration (5.7) is continued until the crite-
rion (5.8) is met again. The ADMM algorithm as a whole is presented in pseudocode in
Algorithm (5) (the generation of a feasibility certificate using Algorithm 1 is omitted for
the sake of conciseness).
88
5.2. OPTIMIZATION
89
5.2. OPTIMIZATION
converge to a fixed point and will satisfy the criterion (5.8) in a finite number of iterations)
and optimality (in the sense that the iterates also converge to the globally optimal engine
switching sequence) by initializing the algorithm with the globally optimal solution of the
convex relaxation S = [0, 1] (for which the ADMM algorithm is globally convergent).
Convergence can be guaranteed more generally by fixing σ (i+1) after a finite number of
iterations, but this was not found to be necessary in the following simulations.
X N
X −1
Lρ (ũ, x̃, λ) = fk (pk − gk−1 (uk )) + d(κ) + [IX (xk+1 ) + IUk (uk )]
k∈P k=0
N
X −1
ρ1
+ k1x(t) − x − Ψζ + λ1 k2
[σk fk (0) + IS (σk ) + IRk (ηk , σk )] +
k=0
2
ρ2 ρ3 ρ4
+ ku − ζ + λ2 k2 + ku − η + λ3 k2 + kκ − σ + λ4 k2 (5.10)
2 2 2
The update (5.7a) considers the variables κ, u, and x, which are completely decoupled in
(5.10). Therefore, the solution of (5.7a) can be obtained by minimizing (5.10) w.r.t each
of κ, u, and x separately, and is therefore equivalent to
−1 (i)
κ(i+1) = kd (Ψ−1 )> Ψ−1 + ρ4 I ρ4 (σ (i) − λ4 ) (5.11a)
ρ2
(i+1) (i) (i)
uk = argmin Fk (uk ) + IUk (uk ) + (uk − ζk + λ2,k )2
uk 2
ρ3
(i)
+ (uk − ηk + λ3,k ) 2
∀k ∈ P (5.11b)
2
(i) (i) (i) (i)
(i+1) ρ2 (ζk − λ2,k ) + ρ3 (ηk − λ3,k )
uk = ∀k ∈ C (5.11c)
ρ2 + ρ3
h i
(i)
x(i+1) = ΠX N 1x(t) − Ψζ (i) + λ1 (5.11d)
The κ update is the solution of the general linear system of equations M x = b where
the matrix M is tridiagonal, diagonally dominant, and does not change between iterations.
The proof of Proposition 4.A.1 can be used to demonstrate that the Cholesky factorization
of M exists, has O(N ) memory requirement, and that the solution of (5.11a) has O(N )
computational requirement at each iteration. The uk update is equivalent to the uk update
90
5.2. OPTIMIZATION
described for the ADMM algorithm in Section 4.2.1 for all k ∈ P 1 , and has an analytical
solution for all k ∈ C. The x update is exactly equal to the x update described in Section
4.2.1.
The update (5.7b) considers the variables σ, η, and ζ, of which σ and η are coupled
in (5.10). Therefore, the solution of (5.7b) is obtained by minimizing (5.10) w.r.t σ and η
together and ζ separately, and is therefore equivalent to
ρ3 (i+1)
(i+1) (i)
(ηk , σk ) ∈ argmin σk fk (0) + IS (σk ) + IRk (ηk , σk ) + ku − η + λ3 k2
(σ,η) 2
ρ4 (i+1)
(i) 2
+ kκ − σ + λ4 k ∀k ∈ P (5.12a)
2
(ηk , σk )(i+1) = (gk (pk ), 0) ∀k ∈ C (5.12b)
−1
(i)
ζ (i+1) = ρ2 I + ρ1 Ψ> Ψ ρ2 (u(i+1) + λ2 ) + ρ1 Ψ> (1x(t) − x + λ1 )
(5.12c)
1
One of the motivations for including both sides of the constraint u ≤ u ≤ u in (MPC.3) is to ensure that
(5.11b) is convex, as Fk is generally nonconvex outside of the domain represented by IUk (uk ).
91
5.2. OPTIMIZATION
ηk σk = 1 gk (pk ) ηk σk = 1 gk (pk )
3 +σk δk +σk δk
6
2 1
gk (pk ) 1 5 gk (pk ) 2
σk σk
7
4 gk (pk ) gk (pk )
+σk γk +σk γk
(a) S = [0, 1] (b) S = {0, 1}
Table 5.1: Summary of the computational complexity of each of the ADMM variable updates.
O(·) κ u x (η, σ) ζ r s λ
Parallel N 1 N 1 N N N 1
Sequential N N N N N N N N
1x(t) − x(i+1) − ζ (i+1)
u(i+1) − ζ (i+1)
r(i+1) :=
u(i+1) − η (i+1)
(i+1) (i+1)
κ −σ
ρ4 (σ (i+1) − σ (i) )
s(i+1) := −ρ3 (η (i+1) − η (i) ) − ρ2 (ζ (i+1) − ζ (i) )
ρ4 Ψ(ζ (i+1) − ζ (i) )
for which the computational and memory requirements scale linearly with N , and update
(5.7c) is equivalent to λ(i+1) = λ(i) +r(i+1) . The computational complexity of the elements
of each instance of iteration (5.7) is summarized in Table 5.1, and the memory requirement
of the iteration is O(N ).
92
5.3. NUMERICAL EXPERIMENTS
93
5.3. NUMERICAL EXPERIMENTS
Consumption (kg)
0.4 0.4
Terminal Fuel
Fuel
0.2 0.2
0.0 0.0
60 60
SOC (%)
SOC (%)
Terminal
50 50
40 40
On Engine Switches
Engine State
60
Total
Off 40
On
20
Off 0
0 200 400 600 800 1000 0 10 20 30 40 50
k Journey
Figure 5.2: Solution of (MPC.3) at time t = 0 obtained using ADMM and dynamic programming.
0 0
0.1 0.3 0.5 1400 1600 1800 2000
Time Taken (s) Time Taken (s)
Figure 5.3: Time taken for each of the solutions in Figure 5.2 using ADMM and dynamic program-
ming.
94
5.4. CONCLUDING REMARKS
95
5.4. CONCLUDING REMARKS
Consumption (kg)
0.6 0.6
Terminal Fuel
0.4 0.4
Fuel
0.2 0.2
0.0 0.0
60 60
SOC (%)
SOC (%)
Terminal
50 50
40 40
On
Engine Switches
Engine State
100
Total
Off
On 50
Off 0
0 200 400 600 800 1000 0 10 20 30 40 50
t Journey
Figure 5.4: Closed-loop simulation using MPC with an approximate solution obtained using
ADMM, compared against CDCS.
Dynamic Progamming ADMM CDCS MPC
50 50
u(t) (kW)
uk (kW)
0 0
−50 −50
96
5.A. OPTIMALITY AND CONVERGENCE OF ALGORITHM 5
A PPENDICES
For the sake of readability in the analysis that follows, the ‘tilde’ accents used in (5.4) have
not been included in (5.13), and all notation used within this appendix can be considered
separately from the rest of this thesis. The full definitions of each of the terms in (5.13)
is provided in (5.5), but the important properties relevant to the following proof are also
recalled here:
• The function f is the sum of continuous convex functions and indicator functions
for closed and convex polyhedral constraint sets.
• The function g is the sum of a linear function of the first N elements of x, an in-
dicator function for a closed and convex polyhedral constraint set, and an indicator
function for the set {0, 1}N × R2N (i.e. the first N elements of x are binary decision
variables).
97
5.A. OPTIMALITY AND CONVERGENCE OF ALGORITHM 5
which is equivalent to the iteration (5.7) for problem (5.4) with y (i) = ρλ(i) . It can readily
be shown that the objective functions of (5.15a) and (5.15b) are closed and coercive, and
under the assumption that (5.13) is feasible, they are proper, so at least one minimizing
argument always exists for the objectives in (5.15a) and (5.15a) (Weierstrass’s Theorem
[91, p. 119]).
Proposition 5.A.1. Assume that there exists a stationary point of the ADMM iteration
(5.15), denoted (u0 , x0 , y 0 ) ∈ R(m+n+l) , such that
a. There exists a neighbourhood of (u(j) , x(j) , y (j) )-space close to (u0 , x0 , y 0 ) where the
values of (u(j+1) , x(j+1) , y (j+1) ) defined by iteration (5.15) converge to (u0 , x0 , y 0 ).
b. Any given (u0 , x0 , y 0 ) minimizes (5.13) for fixed binary decision vector x01 , and any
point (u, x, y) that would minimize (5.13) if the binary decision vector x1 were fixed
is a stationary point of iteration (5.15).
98
5.A. OPTIMALITY AND CONVERGENCE OF ALGORITHM 5
Proof. A sketch of the proof is presented here; the full proof is provided in following
sections.
min Lρ (u0 , (x01 , x2 ), y 0 ) < min Lρ (u0 , (x†1 , x2 ), y 0 ) ∀x†1 ∈ {0, 1}N , x†1 6= x01 . (5.16)
x2 x2
Now define x†2 := argminx2 Lρ (u0 , (x†1 , x2 ), y 0 ) for all fixed x†1 ∈ {0, 1}N . Recall that
g(x) is the sum of a linear function of x1 , an indicator function enforcing a binary decision
constraint on x1 , and an indicator function enforcing a convex closed polyhedral constraint
on x. Consequently, it can be shown that
1
x†2 = argmin (u0 , y 0 , ρ(B1 x†1 + c))> F x2 + x> Hx2
x2 2 2 (5.17)
s.t. x2 ∈ X (x†1 ),
99
5.A. OPTIMALITY AND CONVERGENCE OF ALGORITHM 5
where
h A> ρ i
F := I ρB2 , H := B2> ρB2 ,
I
and X (x†1 ) is a closed convex polyhedral constraint set dependant on the fixed value of
x†1 . The optimization problem in (5.17) returns a unique minimizing argument as H 0
and the constraint set is closed, so (5.17) is a multiparametric quadratic program in terms
of the vector (u0 , y 0 , ρ(B1 x†1 + c)). A change of variables2 can be used to obtain x†2 from
x†2 := z ? − H −1 F > (u0 , y 0 , ρ(B1 x†1 + c)), where z ? is the minimizing argument of
min z > Hz
z (5.18)
s.t. z ∈ Z,
such that Z is also a polyhedral constraint set. It is proven in [69, Theorem 4] that the min-
imizing value of (5.18) varies continuously with u0 and y 0 (using the fact that H 0), and
to return to minx2 Lρ (u0 , (x†1 , x2 ), y 0 )0 from this minimizing value, one must only add ad-
ditional terms that also vary continuously with u0 and y 0 . Hence minx2 Lρ (u0 , (x†1 , x2 ), y 0 )
is continuous w.r.t u0 and y 0 , and the inequality (5.16) also holds within a neighbourhood
of u0 and y 0 . This concludes the proof for any pair (u0 , y 0 ) such that u0 is in the relative
interior of the constraint set enforced by the indicator function in f (u). In the case where
u0 is a boundary point of this set, there exists a sequence of points {uk } that converge to u0
such that Lρ (uk , x0 , y 0 ) = ∞ for all x0 and y 0 . Therefore, the ‘neighbourhood’ proposed in
Lemma 5.A.1 does not exist because x(i+1) does not exist for these points. For the analysis
presented in this section we can sidestep this issue by choosing to redefine x(i+1) such that
it is always equal to x0 for the values of u(i+1) where f (u(i+1) ) = ∞, safe in the knowledge
that the iteration (5.15) can never enter this region.
where τ ∈ R++ can be (and is) chosen such that the projection of Bτ onto (u(j) , y (j) )-space
(j+1)
is entirely contained with the neighbourhood of (u0 , y 0 ) where x1 = x01 . It then follows
from Lemma 5.A.1 that, given (u(j+1) , x(j) , y (j) ) ∈ Bτ , the updates in (5.15) (starting with
2
See [69, §4] for more details.
100
5.A. OPTIMALITY AND CONVERGENCE OF ALGORITHM 5
Hence the updates (5.19) are also the equivalent to an ADMM algorithm applied to the
convex problem
min f (u) + g2 (x2 )
(u,x2 )
(5.20)
s.t. Au + B2 x2 = c2 ,
where g2 (x2 ) := g (x01 , x2 ) for fixed x01 , and c2 := c − B1 x01 . In the context of the
energy management problem considered in this chapter, problem (5.20) equates to problem
(MPC.3) with the engine switching sequence σ fixed, and is therefore also equivalent to
the convex formulation considered in Chapter 4; problem (MPC.2). Consequently, (5.20)
has a unique minimizing argument, denoted (u? , x? , y ? ), for which the first order necessary
and sufficient conditions are
101
5.A. OPTIMALITY AND CONVERGENCE OF ALGORITHM 5
initial point to a globally minimizing argument of (5.20) for very general classes of convex
functions f and g [127]. The convergence result in [127] relies on the construction of a
quadratic Lyapunov function that bounds x(i+1) and y (i+1) with respect to x? and y ? as
i → ∞. In this section a slight variation on this approach is taken: the Lyapunov function
is constructed to also bound u(i+1) relative to u? as i → ∞. The useful consequence of
this variation is that the level sets of the Lyapunov function can be used to bound the mag-
nitude of the iterate in all directions of (u, x, y)-space; a result that is then exploited in the
following section.
Before continuing, recall that the ADMM iteration for problem (5.20) is given in
(5.19), with the caveat that the iteration starts with the u(i+1) update. Additionally, re-
call that the u(i+1) and x(i+1) updates are the minimizing arguments of the augmented
Lagrangian function corresponding to problem (5.20), which is defined as L̂ρ (u, x2 , y)
and is equal to (5.14) with fixed x1 = x0 .
(i+1)
Lemma 5.A.2. (u(i+1) , x2 , y (i+1) ) satisfies the necessary conditions (5.21) iff r(i+1) =
0 and s(i+1) = 0, where
(i+1)
r(i+1) := Au(i+1) + B2 x2 − c2 ,
(i) (i+1)
s(i+1) := A> ρB2 (x2 − x2 ).
(i+1)
Proof. Firstly consider condition (5.21c). Since x2 = x2 is by definition the minimizer
of L̂ρ (u(i+1) , x2 , y (i) ), it follows that
(i+1) (i+1)
0 ∈ ∂g2 (x2 ) + B2> y (i) + B2> ρ(Au(i+1) + B2 x2 − c2 ), (5.22)
(i+1)
so the update law y (i+1) = y (i) + ρ(Au(i+1) + B2 x2 − c2 ) ensures that
(i+1)
0 ∈ ∂g2 (x2 ) + B2> y (i+1) ∀(i + 1) ∈ Z+ , (5.23)
(i)
Next, consider (5.21b). By definition u = u(i+1) minimizes L̂ρ (u, x2 , y (i) ), so
(i)
0 ∈ ∂f (u(i+1) ) + A> (y (i+1) + ρ(Au(i) + B2 x2 − c2 )).
(i+1)
Hence the update law y (i+1) = y (i) + ρ(Au(i+1) + Bx2 − c2 ) gives
(i) (i+1)
0 ∈ ∂f (u(i+1) ) + A> (y (i+1) + ρB2 (x2 − x2 )), (5.24)
which in turn implies
0 ∈ ∂f (u(i+1) ) + A> (y (i+1) ) + s(i+1) ∀(i + 1) ∈ Z++ . (5.25)
Therefore, (5.23) and (5.25) imply that (u(i+1) , x(i+1) , y (i+1) ) satisfies the conditions
(5.21) if and only if r(i+1) = 0 and s(i+1) = 0.
102
5.A. OPTIMALITY AND CONVERGENCE OF ALGORITHM 5
(i)
Proof. It is first shown that V (i) := V (u(i) , x2 , y (i) ) is a Lyapunov function, where
V (u, x2 , y) := ky − y ? k2ρ−1 + kB2 (x2 − x?2 )k2ρ + kr(u, x2 )k2ρ .
This part of the proof is split into three steps:
1. (5.24) demonstrates that the u(i) update (5.15a) can be equivalently written as
>
(i+1) (i+1) (i) (i+1)
u ∈ argmin f (u) + y + ρB(x2 − x2 ) Au ,
u
so > >
(i+1) (i+1)
g2 (x2 ) + y (i+1) B2 x2 ≤ g2 (x?2 ) + y (i+1) B2 x?2 .
(i+1)
Therefore, by defining p(i+1) := f (u(i+1) ) + g2 (x2 ) and p? := f (u? ) + g2 (x?2 ), it
can be shown that
(i+1)
p(i+1) − p? = f (u(i+1) ) − f (u? ) + g2 (x2 ) − g2 (x?2 )
> (i+1)
≤ y (i+1) B2 (x?2 − x2 ) + A(u? − u(i+1) )
(i) (i+1) >
+ (x2 − x2 ) B2> ρA(u? − u(i+1) ) (5.26)
>
= − y (i+1) r(i+1)
(i) (i+1) > (i+1)
+ (x2 − x2 ) B2> ρ −r(i+1) + B2 (x2 − x?2 )
103
5.A. OPTIMALITY AND CONVERGENCE OF ALGORITHM 5
2. Since (u? , x? , y ? ) must satisfy the first order necessary conditions (5.21), it follows
that u = u? is a minimizer of f (u) + (y ? )> Au and x2 = x?2 is a minimizer of
g2 (x2 ) + (y ? )> B2 x2 . Therefore,
for all u and x2 , so f (u? ) + g2 (x?2 ) ≤ f (u) + g2 (x2 ) + (y ? )> (Au + B2 x2 − c2 ) and
hence
p? − p(i+1) ≤ (y ? )> r(i+1) (5.27)
The first term in (5.28) can be simplified using the update law y (i+1) = y (i) + ρr(i+1)
and completing the square:
>
2 y (i+1) − y ? r(i+1)
>
= 2 y (i) − y ? r(i+1) + 2kr(i+1) k2ρ
= ky (i) − y ? + ρr(i+1) k2ρ−1 − ky (i) − y ? k2ρ−1 + kr(i+1) k2ρ
= ky (i) − y ? + y (i+1) − y (i) k2ρ−1 − ky (i) − y ? k2ρ−1 + kr(i+1) k2ρ
= ky (i+1) − y ? k2ρ−1 − ky (i) − y ? k2ρ−1 + kr(i+1) k2ρ .
(i+1) (i)
ky (i+1) − y ? k2ρ−1 − ky (i) − y ? k2ρ−1 + kr(i+1) − B2 (x2 − x2 )k2ρ
(i+1) (i)
+ kB2 (x2 − x?2 )k2ρ − kB2 (x2 − x?2 )k2ρ ≤ 0,
104
5.A. OPTIMALITY AND CONVERGENCE OF ALGORITHM 5
(i)
To bound the right hand side of this expression, recall from 1. that x2 = x2 and
(i+1) > >
x2 = x2 are minimizers of g2 (x2 ) + y (i) B2 x2 and g2 (x2 ) + y (i+1) B2 x2 ,
so that
(i) (i) (i+1) (i+1)
g2 (x2 ) + (y (i) )> B2 x2 ≤ g2 (x2 )> + (y (i) )> B2 x2
and
g(x(i+1) ) + (y (i+1) )> Bx(i+1) ≤ g(x(i) )> + (y (i+1) )> Bx(i) .
Summing these two inequalities yields
(y (i+1) − y (i) )B(x(i+1) − x(i) ) ≤ 0,
and it follows that
(i+1) (i)
V (i+1) − V (i) ≤ −kr(i) k2ρ − kB2 (x2 − x2 )k2ρ .
The positive invariance of Sk follows from its definition as a sublevel set of V (u, x, y) and
from the fact that V (i) is monotonically non-increasing with i. Asymptotic convergence of
the residuals r(i+1) and s(i+1) can be established by summing both sides of the inequality
satisfied by V (i+1) − V (i) over all i ≥ 0:
∞
X
(i+1) (i)
kr(i) k2ρ + kB2 (x2 − x2 )k2ρ ≤ V (0) .
i=0
(i+1) (i)
It can be concluded from this bound that, as i → ∞, r(i) → 0 and B2 (x2 − x2 ) → 0,
and hence also s(i) → 0.
105
5.A. OPTIMALITY AND CONVERGENCE OF ALGORITHM 5
Lemma 5.A.4. Any stationary point, (u0 , x0 , y 0 ), of iteration (5.15), is also a minimizing
argument of (5.20), given x01 . Conversely, for any fixed x01 , the point (u? , (x01 , x?2 ), y ? ) is a
stationary point of iteration (5.15).
(i)
Proof. For the first statement, if x1 = x01 for all i, then iteration (5.15) is always equiv-
alent to iteration (5.19), for which the only stationary point is (u? , (x01 , x?2 ), y ? ). For the
second statement, the point (u? , (x01 , x?2 ), y ? ) is necessarily a fixed point of iteration (5.19),
which is therefore also a stationary point of iteration (5.15).
Lemma 5.A.4 has two significant consequences. Firstly, in the context of the energy
management problem discussed in this chapter, every stationary point of the ADMM it-
eration (5.15) results in the minimum fuel consumption given the engine switching se-
quence. Additionally, it means that (u0 , x0 , y 0 ) and (u? , x? , u? ) (where x? := (x01 , x?2 )) can
be used interchangeably, most importantly in the definitions of Bτ and Sk . The proof is
now completed by showing that there is a locally convergent neighbourhood around every
(u? , x? , u? ).
Lemma 5.A.5. Define the set
Ŝk := (u, x, y) ∈ R9N : (u, x2 , y) ∈ Sk .
For every τ > 0, there exists k > 0 such that Ŝk ⊂ Bτ , and for every k > 0 there exists a
neighbourhood of (u, x, y)-space centred on (u? , x? , y ? ) that is entirely contained within
Ŝk .
Proof. Note that r(u, x) = A(u − u? ) + B(x2 − x?2 ), so the left hand side of the inequality
ky − y ? k2ρ−1 + kB2 (x2 − x?2 )k2ρ + kr(u, x)k2ρ ≤ k (5.29)
in the definition of Sk is equivalent to
>
? 2 A(u − u? ) ρ ρ A(u − u? )
ky − y kρ−1 + .
B2 (x2 − x?2 ) ρ 2ρ B2 (x2 − x?2 )
| {z }
M
106
5.A. OPTIMALITY AND CONVERGENCE OF ALGORITHM 5
Lemma 5.A.6. Choose k > 0 such that Ŝk ⊂ Bτ , and choose arbitrary (u(0) , x(0) , y (0) ).
Define S1 := {(u(i+1) , x(i+1) , y (i+1) )} as the sequence generated using ADMM update
(5.15) as i → ∞, starting from i = 0. Assume that there exists at least one i ∈ Z+
such that (u(i) , x(i) , y (i) ) ∈ Ŝk , and let i be the first such value. Now define S2 :=
{(u(i+1) , x(i+1) , y (i+1) )} as a second sequence generated using the ADMM update (5.15)
for i ∈ {0, . . . , i − 1} only, and then using iteration (5.19) (such that the iteration starts
with u(i+1) ) as i → ∞. It then follows that
• S1 = S2
Proof. To begin, it is clear that the elements of the sequences S1 and S2 are equal for
all i ∈ {0, . . . , i − 1}. Now consider the sequence S2 . If (u(i) , x(i) , y (i) ) ∈ Ŝk , then
(u(i) , x(i) , y (i) ) ∈ Ŝk for all i ≥ i when generated using iteration (5.19). If (u(i) , x(i) , y (i) ) ∈
Ŝk and (u(i+1) , x(i+1) , y (i+1) ) ∈ Ŝk , then both of these points are also elements of Bτ , and
it follows that (u(i+1) , x(i) , y (i) ) is also an element of Bτ . Therefore, the ADMM iteration
(5.19) is equivalent to iteration (5.15) for all i ≥ i, so S2 = S1 . Additionally, the sequence
S2 necessarily converges to (u∗ , x∗ , y ∗ ), which completes the proof.
The immediate consequence of Lemma 5.A.6 is that there is a neighbourhood close
to every (u? , x? , y ? ) in which the iteration (5.19) necessarily converges to (u? , x? , y ? ).
Additionally, due to Lemma 5.A.4, iteration (5.19) is only stationary at points that satisfy
the first order conditions 5.21 (i.e. points that satisfy the conditions to be considered
(u? , x? , y ? )). As a final comment on the result of this appendix, note from the definitions
of A and B in (5.5) that the residual s(i+1) used to terminate the algorithm in (5.8) is the
(i+1) (i)
concatenation of ρ4 (x1 − x1 ) and the residual s(i+1) used in Section 5.A.3. Therefore,
a sufficiently small termination threshold (specifically, < ρ4 if the 2-norm is used in
(i+1) (i)
(5.8)) provides a certificate that x1 − x2 = 0. Additionally, the residual r(i+1) used to
terminate the algorithm in (5.8) is equivalent to the residual r(i+1) used in Section 5.A.3,
so a small value of also provides a certificate that (u(i+1) , x(i+1) , y (i+1) ) is ‘close’ to
(u? , x? , y ? ).
107
C HAPTER 6
T HUS far, it has been assumed that the driver’s future behaviour is known to the con-
troller with complete precision, whereas in reality it is subject to considerable un-
certainty. For each of the frameworks presented in the previous chapters, it is possible to
generate predictions that are sufficiently inaccurate for the MPC to perform as badly as
(or worse than) CDCS. For example, if the predictions estimate that the journey will be
shorter than the all-electric range of the vehicle (when in reality the journey is longer than
the all-electric range), then the MPC strategy will behave very similarly to CDCS. In this
chapter the robustness of MPC is increased by considering multiple predictions of future
driver behaviour, possibly (although not necessarily) drawn from a database of previous
journeys on a given route. In particular, it is demonstrated that the ADMM algorithm used
in previous chapters can be readily extended to a new formulation that takes into account
multiple scenarios of future driver behaviour.
109
6.1. MODEL PREDICTIVE CONTROLLER
Recall from Chapter 4 that the convex MPC controller is defined at each control vari-
able update instance as the first element of the minimizing argument of (MPC.2):
X
min fk (pk − gk−1 (uk )),
u
k∈P
s.t. x = 1x(t) − Ψu,
1x ≤ x ≤ 1x,
u ≤ u ≤ u,
where the parameters of the functions fk and gk−1 , the horizon length N , the elements of
the set P, and the values of u and u are dependent on a single, deterministic prediction of
the future road gradient, θ, and vehicle velocity, v.
Now, consider the case where the predictions of v and θ are drawn from sets V and
Θ according to an associated probability distribution. The objective of the optimization
problem may now be to minimize the expected cost across all possible realizations of the
uncertainty, and the MPC could be defined by the minimizing argument of the stochastic
program
X
min E fvk ,θk (p(vk , θk ) − gv−1
k ,θk
(uk )) ,
u
k∈P(v,θ)
110
6.1. MODEL PREDICTIVE CONTROLLER
arbitrary sampling interval. Additionally, it is assumed that each of the predictions are of
the same length, N , as although the remaining duration of the journey may vary for each
scenario, zeros can be appended to the shorter predictions until they equal the length of
the longest prediction. Therefore, the predictions are given by v ∈ RN ×S and θ ∈ RN ×S ,
where v:,s ∈ V and θ:,s ∈ Θ ∀s ∈ {1, . . . , S}. The approach detailed in Chapter 3 can then
be used to obtain the optimization parameters across all of the predictions, now given by
u ∈ RN ×S , u ∈ RN ×S , and p ∈ RN ×S . Additionally, the set P is defined for each scenario
−1
s ∈ {1, . . . , S} as Ps , and the functions fk,s (·) and gk,s (·) are defined for all elements of
the prediction horizon k ∈ {0, . . . , N − 1}, and scenarios s ∈ {1, . . . , S}. The stochastic
program (6.1) may then be be approximated with
S
1X X −1
min fk,s (pk,s − gk,s (uk,s )) ,
(u,τ ) S
s=1 k∈P s
111
6.1. MODEL PREDICTIVE CONTROLLER
(MPC.4) is O(S −1/2 ) [133]). This may become an issue if both a large number of scenarios
and a long prediction horizon is required, as (MPC.4) has O(N S) decision variables.
An efficient ADMM algorithm for the solution of (MPC.4) is presented in the following
to address this issue. A further limitation is that the solution of (MPC.4) represents S
deterministic, open loop policies, so the optimal value of (MPC.4) does not necessarily
converge to the resulting closed-loop cost as S → ∞. Modifications to (MPC.4) that
reduce this optimality gap are an interesting direction for future work.
6.1.1 F EASIBILITY
This section addresses the feasibility of (MPC.4) when implemented in closed loop. In
particular, results from scenario MPC are used to obtain a bound on the number of scenar-
ios, S, required to bound the confidence that the one-step-ahead instance of (MPC.4) will
be feasible with a given probability.
Assumption 6.1.1. The first element of the predictions of velocity and road gradient are
accurate measurements of the vehicle’s current velocity and the current road gradient, and
are therefore equal for each scenario, i.e v0,s = v(t) and θ0,s = θ(t) for all s ∈ {1, . . . , S}.
Under Assumption 6.1.1, u0,s = u(t) and u0,s = u(t) for all s ∈ {1, . . . , S} (where
u(t) ∈ R and u(t) ∈ R are the lower and upper limits on battery power at time t), so feasi-
bility for a given instance of problem (MPC.4) can be determined by applying Algorithm
1 to each scenario individually.
and
k
X
x(t) − u(t) − ui,s ≥ x (6.3)
i=1
Remark 6.1.1. Assumption 6.1.2 reflects hard constraints on vehicle operation that in turn
also constrain driver behaviour, so every (v, θ) ∈ V × Θ must satisfy (6.2) and (6.3). In
practice, Assumption 6.1.2 can be enforced by rejecting any scenario for which Algorithm
1 returns an infeasibility certificate.
112
6.1. MODEL PREDICTIVE CONTROLLER
Using the definition of the feasible tube, {F0 , . . . , FN }, proposed in 4.1.2, problem
(MPC.4) is feasible under Assumption 6.1.2 if and only if
where (u? (t), τ ? (t)) is the solution of (MPC.4) at time t. Now, note that problem (MPC.4)
is equivalent to
S
1X X −1
min fk,s (pk,s − gk,s (uk,s )) , (6.5a)
(u,τ )∈C S
s=1 k∈P s
where C is a convex constraint set, and is the form of problem considered in [100] and
[99]. To apply the results of these papers, assume that (6.5) is feasible, and define the
violation probability for the one-step-ahead feasibility condition (6.4) as
where u(t+1) and u(t+1) can be interpreted as an unseen sample of the random variables
u1,s and u1,s in (6.5). The support rank of constraint (6.5b) is one1 , since the constraint
fixes a single degree of freedom of the decision variable (u, τ ) (see Definition 10 in [100]).
Therefore, Lemma 13 in [100] implies the confidence bound
113
6.1. MODEL PREDICTIVE CONTROLLER
103
102
S
101
β̂ = 0.999
100 β̂ = 0.99
β̂ = 0.9
0 0.2 0.4 0.6 0.8 1
ˆ
Figure 6.1: Illustration of the values of S that satisfy (6.8) for β̂ ∈ {0.9, 0.99, 0.999} and ˆ ∈
[0.01, 0.99].
then the lower bound on the number of scenarios required to meet a given confidence of
violation probability is
log (1 − β̂)
S≥ . (6.8)
log (1 − ˆ)
This bound is illustrated in Figure 6.1. One-step-ahead feasibility (and by induction, re-
cursive feasibility) is still only guaranteed with complete certainty in the limit as S → ∞.
However, note that (6.7) is a lower bound on the confidence of constraint violation prob-
ability, which will only be tight when the state-of-charge of the battery is ‘close’ to its
limits (i.e. one-step-ahead feasibility is guaranteed when the battery’s state-of-charge is
‘far’ from its limits, as it will not be possible to exceed the limits within two sampling
intervals). It is not common for the state-of-charge of the battery to approach its upper or
lower bounds more than once or twice during a given journey (see for example [84, §5],
[47, §5], [113, §5], and the previous experiments in this thesis), so high confidence of fea-
sibility throughout a given journey may be obtained with a modest number of scenarios.
For example, a bound on constraint violation of ˆ = 0.1 can be achieved with confidence
of β̂ ≥ 0.9 using just S = 22 scenarios. This can be improved to V (τ ? (t)) ≤ 0.01 with a
confidence of β̂ ≥ 0.99 by using S = 459 scenarios.
Note that whilst the energy management problem considered in Section 5 can be ex-
tended, in principle, to consider multiple predictions of future driver behaviour in the same
way as presented in this section, the bound (6.6) would not necessarily hold for the new
114
6.2. OPTIMIZATION
problem as it would not be convex (to apply the results from [100] and [99], it is also
required that τ ? is the minimizing argument, which is not guaranteed using the ADMM
algorithm proposed in Section 5).
6.2 O PTIMIZATION
An ADMM algorithm similar to those presented in previous chapters is now proposed for
the solution of (MPC.4).
A LGORITHM
Problem (MPC.4) is equivalent to the equality constrained problem
!
1X
S X NX−1
−1
min fk,s (pk,s − gk,s (uk,s )) + IUk,s (uk,s ) + IX (xk+1,s ) ,
u S
s=1 k∈Ps k=0
s.t. u = ζ (6.9)
x = Φx(t) − Ψζ,
1τ = u>
0,: ,
where
Problem (6.10) is the canonical ADMM form (5.4) presented in Chapter 5, and the same
ADMM algorithm is therefore used. As problem (MPC.4) is strictly convex (this result
trivially follows from Theorem 3.2.1), the iteration (5.7) can be made to terminate at a
point that can be made arbitrarily close to the unique minimizing argument of (MPC.4) by
setting the termination threshold, , arbitrarily close to zero.
115
6.2. OPTIMIZATION
1X
S X
−1
Lρ (ũ, x̃, λ) := fk,s (pk,s − gk,s (uk,s )) +
S s=1 k∈Ps
N
X −1
ρ1
IUk,s (uk,s ) + IX (xk+1,s ) + ku:,s − ζ:,s + ν:,s k2
k=0
2
!
ρ2 ρ 3
+ kx:,s + Ψζ:,s − 1x(t) + ψ:,s k2 + (τ − u0,s + φs )2 , (6.11)
2 2
where the vector of Lagrange multipliers is now defined by λ := (vec ν, vec ψ, φ), and
ν ∈ RN ×S , ψ ∈ RN ×S , and φ ∈ RS (different symbols are used to increase the readability
of subscripts). The u and x variables are completely decoupled in (6.11), so the ũ ADMM
update (5.7a) is equivalent to
ρ1
(i+1) −1 (i) (i)
u0,s = argmin f0,s (p0,s − g0,s (u0,s )) + IU0,s (u0,s ) + (u0,s − ζ0,s + ν0,s )2
u0,s 2
ρ3 (i)
+ (τ − u0,s + φs(i) )2 ∀s ∈ {0, . . . , S}
2
(i+1) −1 ρ1 (i) (i)
uk,s = argmin fk,s (pk,s − gk,s (uk,s )) + IUk,s (uk,s ) + (uk,s − ζk,s + νk,s )2
uk,s 2
∀s ∈ {0, . . . , S}, k ∈ Ps \ {0}
(i+1)
uk,s = uk,s ∀s ∈ {0, . . . , S}, k ∈ Cs
x(i+1)
:,s = ΠX N 1x(t) − Ψζ:,s (i) (i)
− ψ:,s
(i+1)
The update uk,s is of the equivalent form to (4.9a) for all s ∈ {0, . . . , S} and k ∈ Ps
(i.e. a 1-dimensional convex inequality constrained optimization problem) which can be
solved using Newton’s method. This update is separable w.r.t both the scenarios and the
prediction horizon, and so the computational requirement
PS is constant as both are increased
if the updates are performed in parallel (so long as s=1 |Ps | threads are available). Oth-
erwise, the computational complexity is O(N S) if the updates are performed sequentially.
The update for x(i+1) is equivalent to the deterministic case (4.9b) for each scenario, so the
complexity is O(N ) using parallel processing, and O(N S) using sequential processing.
No additional memory is required for either the u(i+1) or x(i+1) update.
116
6.2. OPTIMIZATION
The τ and ζ variables are also completely decoupled in (6.11), so the x̃ ADMM update
(5.7b) is equivalent to
S
1 X (i+1)
τ (i+1) = (u0,s + φs(i) )
S s=1
> −1 >
ζs(i+1) = (ρ1 I + ρ2 Ψ Ψ) ρ1 (u:,s + ν:,s ) − ρ2 Ψ (x:,s − 1x(t) + ψ:,s ) .
The computation of τ (i+1) scales linearly with S regardless of whether parallel processing
is available, but is only a scalar sum, so will typically be computationally inexpensive. The
ζ (i+1) is equivalent to the deterministic case (4.10) for each scenario, so the computational
complexity is O(N ) if the S updates are performed in parallel, or O(N S) if they are
performed sequentially. The Cholesky factors required for the solution of the linear system
of equations are the same for each scenario so only need storing once. Therefore, the
memory cost of the update is O(N ).
The residual updates (5.9) are equivalent to
vec u(i+1) − vec ζ (i+1)
(i+1) (i+1)
r(i+1) = vec x − 1x(t) + (Ψζ:,1 , . . . , Ψζ:,S )
(i+1)
1τ (i+1) − (u0,: )>
" >
#
ρ1 vec (ζ (i) −
ζ (i+1)
) − ρ 3 (1S ⊗ [1, 0, . . . , 0] )(τ (i)
− τ (i+1)
)
s(i+1) = (i) (i+1) (i) (i+1) ,
ρ2 Ψ(ζ:,1 − ζ:,1 ), . . . , Ψ(ζ:,S − ζ:,S )
for which the computation scales linearly with N and S (the only non-trivial computa-
tions are multiplication by Ψ, which is equivalent to a cumulative sum, and the Kronecker
product (1S ⊗ [1, 0, . . . , 0]> ), which does not involve any decision variables and can be
performed offline). O(N S) memory storage is required to store the variables τ (i) and ζ (i)
for the computation of s(i+1) at the following iteration. The λ update is then obtained again
from λ(i+1) = λ(i) + r(i+1) .
The computational complexity of each iteration of the ADMM algorithm is summa-
rized in Table 6.1. A feature of particular note is that the complexity of the u update, which
may be computationally expensive due to the lack of closed-form solution, is reduced from
O(N S) to O(1) when a sufficient number of parallel threads are available.
117
6.3. NUMERICAL EXPERIMENTS
Table 6.1: Summary of the computational complexity of each of the ADMM variable updates.
O(·) u x τ ζ r s λ
Parallel 1 N S N NS NS 1
Sequential NS NS S NS NS NS NS
1. Nominal MPC. The MPC controller defined by (MPC.2) was used where the con-
troller had perfectly accurate predictions of future driver behaviour.
2. Scenario MPC. An MPC controller defined by u(t) := τ was used where τ was
obtained from the solution of (MPC.4) using the ADMM algorithm described in
Section 6.2. The method used for scenario generation is explained in detail in the
following section.
118
6.3. NUMERICAL EXPERIMENTS
• For each of the S = 48 journeys that had been retrieved from the database, a scenario
was generated by:
– Re-sampling the position indexed velocity and road gradient data for the re-
maining simulation distance in terms of time at a rate of 1 Hz (given by v̂ and
θ̂).
– Calculating the scenario road gradient and velocity values using the ‘blending’
coefficient e−0.25k from2
θk,s θ(t) −0.25k θ̂
:= e + k (1 − e−0.25k ) ∀k ∈ {0, . . . , N − 1}. (6.12)
vk,s v(t) v̂k
• The parameters of problem (MPC.4) were generated, after which Algorithm 1 was
used to determine if any of the scenarios were infeasible, and if so they were dis-
carded.
The principle of this approach is that the predictions are made entirely using other data
‘previously’ recorded from the route, and that the controller has no additional information
about the journey currently being used for simulation. The ‘blending’ process (6.12) was
included as it was found that the near horizon predictions (i.e. k ∈ {0, . . . , 5}) were
otherwise highly inaccurate due to the uncertainty in the velocity at any given point in
the journey, as shown in Figure 3.4. An example of the predictions generated using the
above process is illustrated in Figure 6.2. It can be observed in Figure 3.4 that whilst
there is uncertainty in the velocity at any given point on the route, there is also some
discernible structure: for example, there is a roundabout at the midpoint of the journey,
and the velocity in all examples drops at this point. It is interesting to note that the long-
horizon predictions presented in the top plot of Figure 6.2 do not retain this structure, and
the predictions at the later time steps do not correlate with the simulated velocities at all.
It can, however, also be seen that as the vehicle approaches certain points in the journey
(corresponding to locations at which the data has reduced variability), the mid-horizon
predictions begin to accurately approximate the simulated velocity. For example, it can
be seen in the middle plot that the first ∼100s of the predictions accurately match the
simulated profile.
2
The acceleration values used in the longitudinal power model (3.4) were obtained from v̇k,s :=
v̇(t)e−0.25k + v̂˙ k (1 − e−0.25k ) for all k ∈ {0, . . . , N − 1}, where v̇(t) is the vehicle’s simulated acceleration
at time t and v̂˙ k is obtained from numerical differentiation of v̂. The values of v:,s were not numerically
differentiated directly as additional acceleration may have been introduced by (6.12), which would therefore
distort the predicted power demand.
119
6.3. NUMERICAL EXPERIMENTS
15
30
15
30
15
0
Velocity (ms−1 )
30
15
30
15
30
15
30
15
0
0 200 400 600 800
Time (s)
Figure 6.2: An example of the velocity predictions generated at seven instants during an individual
journey.
120
6.3. NUMERICAL EXPERIMENTS
0.6 0.6
Consumption (kg)
Terminal Fuel
0.4 0.4
0.2 0.2
0.0 0.0
State-of-charge (%)
0.6 0.6
Terminal
0.5 0.5
0.4 0.4
6.3.3 R ESULTS
Figure 6.3 shows the closed-loop simulation results using both nominal MPC controller
and scenario MPC. The results are remarkable: the scenario MPC state-of-charge trajec-
tories and fuel consumption closely match those obtained using nominal MPC, and the
total fuel consumption is equal to within meaningful precision across all 49 journeys (the
scenario MPC therefore also provides a close approximation of the globally optimal con-
trols, as illustrated in Figure 4.7). This is made more remarkable by the fact that the driver
behaviour is collected from 4 different drivers, which implies that modelling an individual
driver’s behaviour may not be necessary to achieve optimal performance. The explanation
for this performance is that, although the optimal state-of-charge trajectories vary with
respect to time, they match extremely closely with respect to distance. This is illustrated
in Figure 6.4a, where the closed-loop state-of-charge trajectories from Figure 6.3 are re-
sampled with respect to the completed distance of the journey, and can be seen to match
closely during the first half of the journey when the car is driving uphill and drive power
is required from the engine. The trajectories do also, however, diverge in the second half
of the journey, but this is because the vehicle is descending a hill and is either braking
121
6.3. NUMERICAL EXPERIMENTS
(a) S = 48 (b) S = 5
60 60
State-of-Charge (%)
State-of-Charge (%)
41 41
40 40
50 39 50 39
7000 8000 9000 7000 8000 9000
40 40
0 2500 5000 7500 10000 12500 0 2500 5000 7500 10000 12500
Distance (m) Distance (m)
Figure 6.4: Closed loop results using scenario MPC re-sampled w.r.t completed distance. a) shows
the results for S = 48, and b) shows the results for S = 5.
or coasting, so the energy that can be regenerated depends on losses such as aerodynamic
drag. It is possible that a route that is not as evenly partitioned into an ascending phase and
a descending phase may cause the scenario controller to behave more poorly. A systematic
investigation into performance on different routes is left to future work.
The results in Figure 6.4a also show that the lower state-of-charge constraint is violated
by up to ∼ 0.2%. The bound (6.7) provides a confidence of β̂ ≥ 0.92 for a violation
probability of ˆ = 0.05 when using S = 48 scenarios, so a portion of this constraint
violation can be attributed to an insufficient number of predictions. This is supported by
the results in Figure 6.4b, which show the results from 6.4a repeated with only S = 5
scenarios, and for which the constraint violation increases up to a maximum of ∼ 0.5%
(more scenarios could not be tested due to a lack of data). It is worth noting, however,
that the bound (6.7) is dependent on the scenarios being sampled from the uncertainty set
V × Θ, and the one-step-ahead predictions obtained using the blending process (6.12) are
not empirical. Therefore, it may also be possible to improve the performance by sampling
the one-step-ahead predictions alone from a separate distribution, possibly conditioned on
the current road gradient, and vehicle velocity and acceleration. Nonetheless, the observed
constraint violation is likely to be lower than the uncertainty in the battery state estimate,
so may not become an issue in practice.
Figure 6.5 shows the time taken for the first MPC optimization (i.e. the longest hori-
zon) of each journey using both nominal and scenario MPC. The averages for nominal and
scenario MPC were 0.098 s and 4.8 s, so the scenario approach does not meet the real-time
requirement for the hardware used for these experiments. However, the ADMM iteration
122
6.4. CONCLUDING REMARKS
10
0
0.01 0.1 1 10
Time (s)
Figure 6.5: Histograms of time taken to solve the first MPC optimization for both nominal MPC
and scenario MPC.
can be accelerated using parallel processing (as discussed in Section 6.2.1), and it has been
demonstrated that the computational time of a similar ADMM algorithm can be signifi-
cantly accelerated using a graphical processing unit (GPU) [134] (the algorithm was im-
plemented in vectorized sequential Matlab code here; the Matlab gpuArray data type was
investigated but not found to provide a performance benefit). Therefore, it is possible that
the algorithm could be accelerated to meet the real-time requirement when implemented
on suitable hardware. Additionally, the overall state-of-charge trajectories in Figure 6.4b
closely match those in 6.4a, so it may be possible to accelerate the algorithm and reduce
the occurrence of constraint violations without negatively affecting performance (in terms
of increased fuel consumption) by using fewer scenarios for the long-horizon predictions,
and more for the one-step-ahead predictions. A systematic investigation into these possi-
bilities is left to future work.
123
6.4. CONCLUDING REMARKS
examples of a driver completing a route, and was simulated in comparison with a nominal
MPC controller that had full route and velocity preview. It was found that the scenario
MPC performance was indistinguishable from the nominal MPC, due to the fact that the
optimal state-of-charge trajectories were in close agreement between journeys with respect
to completed distance along the route. It was shown that the proposed ADMM algorithm
required an average of 4 s to solve the optimization when implemented on the CPU used
for these experiments, but that the algorithm may be accelerated to meet the real-time
requirement using parallel processing hardware such as a GPU.
124
C HAPTER 7
I N this chapter the optimization techniques used for the PHEV energy management prob-
lem are extended to all-electric vehicles where the energy storage system consists of
both a conventional battery and a supercapacitor. The issues motivating the use of such a
system were presented earlier in Chapter 1, but are re-stated here for the sake of readability.
A significant challenge facing the large scale adoption of electric vehicles is the high
cost of lithium-ion batteries, which can reach 50% of the total cost of a vehicle [5, §3].
This limitation is exacerbated by the batteries’ low power density and cycle life (≤2000
W/kg and ∼2000 cycles [6, Table B1]), which imply that the battery may need to be
sized above its total energy requirement in order to meet its power requirement, and also
require replacement at a higher frequency than other powertrain components. A hybrid
energy storage system consisting of a conventional battery and a supercapacitor can be
used to reduce the effect of these limitations. The operational principle is that short term
fluctuations and large spikes in power demand are delivered by the supercapacitor whilst
the battery delivers power at a reduced and more constant level (see [135] for a review
of battery/supercapacitor vehicle architectures). Supercapacitors are appropriate for this
architecture as they have a power density of up to 23,500 W/kg and an effectively infinite
cycle life [6, Table B1]).
One of the factors that determines the effectiveness of the hybrid storage system in re-
ducing battery usage is the control system used to determine the power allocation between
the battery and supercapacitor (see [11, §4] for a comprehensive review of control meth-
ods). A common rule-based approach uses a low pass filter to allocate the low frequency
components of the power demand signal to the battery and the high frequency components
to the supercapacitor [136, 137, 138]. A drawback of this approach is that it does not
account for hardware constraints such as electrical storage capacity, so the vehicle will be
forced to allocate charge/discharge demands to the battery during periods when the super-
125
capacitor is completely charged/discharged. Furthermore, it is unlikely that a rule-based
controller is optimal (in the sense of minimizing energy consumption or battery degrada-
tion) even when hardware limits are not active.
Optimization-based control strategies aim to achieve the best possible power alloca-
tion for a given performance criterion. This approach typically has greater computational
requirements than rule-based heuristics and assumes knowledge of the predicted power
demand over a future horizon, but it is potentially much more effective. Dynamic pro-
gramming can be used to determine the globally optimal control inputs for arbitrary cost
functions, system dynamics, and hardware constraints. However, as demonstrated for
the PHEV energy management problem, dynamic programming is computationally ineffi-
cient, and can typically only be used offline as a benchmark [139, 140, 137]. A possible
use case of dynamic programming is to generate target data for tuning real-time control
methods; a rule-based controller was tuned to dynamic programming results in [141], and
an artificial neural network was trained on dynamic programming results in [142]. A
real-time dynamic programming control strategy was obtained in [143], where the opti-
mal state-feedback law obtained using stochastic dynamic programming was saved as a
look-up table, but this approach has a potentially prohibitive memory requirement (12Gb).
Pontryagin’s Minimum Principle was investigated in [137] and [144] to develop a real-
time optimization-based controller, but these problem formulations considered very lim-
ited hardware constraints in the optimal control formulation. Hard constraint satisfaction
can be addressed using MPC, and in [145, 140] and [146] the hybrid energy storage sys-
tem was modelled as a linear system so that the MPC optimization problem reduced to a
quadratic program, although the linear approximation of the system dynamics renders the
obtained control inputs suboptimal in general.
In this chapter, the limitations of the aforementioned optimization-based control ap-
proaches are addressed using convex optimization. This approach allows the use of nonlin-
ear models of powertrain losses and more general system dynamics than linear-quadratic
MPC, whilst guaranteeing constraint satisfaction. Previous studies have also investigated
convex optimization for this application: in [147] a real-time convex optimization based
controller was presented, although constraints on battery power and energy were not con-
sidered, and only a one-step prediction horizon was used. A primal-dual interior point
algorithm for convex optimization was also implemented in [148], but this did not opti-
mize the power split in regenerative mode, the algorithm was only tested on a single drive
cycle, and the computational performance of the algorithm was not reported. Additionally,
combined sizing and control of supercapacitor-based hybrid energy storage systems was
approached using convex optimization in [104] and [105], but the optimization problems
were solved using general purpose optimization software that is not suitable for real-time,
embedded control.
126
7.1. PROBLEM FORMULATION
C ONTRIBUTIONS
This chapter makes three novel contributions to the electric vehicle energy management
problem using convex optimization.
3. A set of numerical experiments are presented in which the proposed ADMM al-
gorithm is compared with a low-pass filter against an all-battery baseline on 49
examples of real driver behaviour. It is demonstrated that the convex formulation
significantly reduces several metrics of battery use (Root-mean-square (RMS) bat-
tery power, peak battery power, total power throughput, and energy consumption)
relative to the low-pass filter, and that the ADMM algorithm solves the convex opti-
mization problem in an average of 0.38s (even for prediction horizons of up to 1003
samples), compared to an average of 63s using CVX.
127
7.1. PROBLEM FORMULATION
Supercapacitor v̆t bt
vt
Losses ft
Figure 7.1: Power flow diagram for electric vehicle with hybrid energy storage system.
of the internal energy of the battery, and by assuming that the power values are constant
between sampling intervals, the energy stored in the battery, x := (x1 , . . . , xT ) ∈ RT , is
given by
t−1
X
xt := x0 − ui for t ∈ {1, . . . , T },
i=0
where x0 ∈ R is the battery’s internal energy at the start of the journey. Similarly, the
variable v := (v0 , . . . , vT −1 ) ∈ RT represents the rate of change of internal energy in the
supercapacitor, so the energy stored in the supercapacitor, y := (y1 , . . . , yT ) ∈ RT , is
given by
t−1
X
yt := y0 − vi for t ∈ {1, . . . , T },
i=0
where y0 ∈ R is the supercapacitor’s internal energy at the start of the journey. The vari-
able ŭ := (ŭ0 , . . . , ŭT −1 ) ∈ RT represents the electrical power delivered by the battery
after losses, v̆ := (v̆0 , . . . , v̆T −1 ) ∈ RT is the electrical power delivered by the superca-
pacitor after losses, m := (m0 , . . . mT −1 ) ∈ RT is the mechanical power delivered by the
powertrain to the wheels, b := (b0 , . . . , bT −1 ) ∈ RT+ is the mechanical braking power, and
d := (d0 , . . . , dT −1 ) represents the power demanded by the driver throughout the journey.
P OWERTRAIN L OSSES
Battery losses are represented by the time-varying function gt , while powertrain losses are
modelled with the time varying function ht , and the supercapacitor losses are modelled
with the time varying function ft . It is assumed that the losses in the battery and motor are
independent of states such as temperature and state of charge; this assumption is also im-
plicitly made in the predictive model used for the PHEV problem in the previous chapters,
and is extended to the simulation model in this chapter because the same model is used
for both simulation and prediction. Under the above assumptions, the electrical power
128
7.1. PROBLEM FORMULATION
delivered by the battery is given by ŭt := gt (ut ) ∀t ∈ {0, . . . , T − 1} and the electrical
power delivered by the supercapacitor is v̆t := ft (vt ) ∀t ∈ {0, . . . , T − 1}. These are then
combined additively and delivered to the powertrain so that mt := ht (gt (ut ) + ft (vt )) ∀t ∈
{0, . . . , T −1}. Finally, the power delivered by the powertrain is combined additively with
the power from the brakes to meet the driver demand power
dt := bt + ht (gt (ut ) + ft (vt )) ∀t ∈ {0, . . . , T − 1}. (7.1)
Assumption 7.1.1. For all t ∈ {0, . . . , T −1}, ft (·), gt (·), and ht (·) are strictly increasing
functions of their arguments.
Assumption 7.1.2. For all t ∈ {0, . . . , T − 1}, ft (·) and gt (·) are concave functions of
their arguments.
Assumptions 7.1.1 and 7.1.2 are justified by a physical interpretation of a loss function:
it would be expected that an increase in output power would require an increase in input
power, which implies Assumption 7.1.1, and it would be expected that the losses would
increase as the magnitude of the input/output power increases, which implies Assumption
7.1.2. In order for the modelled system to be valid, it is also required that ft (x) ≤ x,
gt (x) ≤ x, and ht (x) ≤ x ∀x, t (i.e. the system cannot create energy), but this condition is
not explicitly required to obtain a convex formulation.
Assumption 7.1.3. For all t ∈ {0, . . . , T − 1}, ft (·), gt (·), and ht (·) are surjective func-
tions.
Assumption 7.1.3 is a technicality required for Assumption 7.1.1 to imply that ft (·),
gt (·), and ht (·) are bijective ∀t ∈ {0, . . . , T − 1}, which therefore implies that ft−1 (·),
gt−1 (·), and h−1
t (·) exist ∀t ∈ {0, . . . , T − 1}.
Note that whilst the focus of this chapter is on battery/supercapacitor electric vehicles,
the proposed approach can be used for any hybrid energy storage system in which the loss
functions satisfy Assumptions 7.1.1-7.1.3.
129
7.1. PROBLEM FORMULATION
represents the total energy loss in the system (although any convex function of u, v, x,
and/or y can be used in the proposed framework). This cost represents the sum over
T steps of the braking energy, −bt , plus the difference between the combined energy
delivered by the battery and supercapacitor, (ut + vt ), and the total energy delivered by
the powertrain, ht (gt (ut ) + ft (vt )). Therefore, the optimal control sequences, denoted
(u, v, b)? , are obtained as the minimizing argument of
T −1
X
min [ut + vt − ht (gt (ut ) + ft (vt )) − bt ]
(u,v,b)
t=0
dt = bt + ht (gt (ut ) + ft (vt ))
bt ≤ 0
ut ≤ ut ≤ ut
v t ≤ vt ≤ v t
(7.2)
s.t. et ≤ gt (ut ) + ft (vt ) ≤ et ∀t ∈ {0, . . . , T − 1}.
Pt
xt+1 = x0 − i=0 ui
xt+1 ≤ xt+1 ≤ xt+1
Pt
yt+1 = y0 − i=0 vi
y t+1 ≤ yt+1 ≤ y t+1
Problem (7.2) is generally nonconvex if any of ft (·), gt (·), or ht (·) are nonlinear for any
t ∈ {0, . . . , T − 1}.
h−1
t (dt ) ≤ gt (ut ) + ft (vt ).
130
7.1. PROBLEM FORMULATION
under Assumption 7.1.2. The constraint gt (ut ) + ft (vt ) ≤ et is in general nonconvex, and
is linearly approximated by
ĝt (ut ) + fˆt (vt ) ≤ et , ĝt (ut ) := gt (ût ) + gt0 (ût )(ut − ût ),
fˆt (vt ) := ft (v̂t ) + f 0 (v̂t )(vt − v̂t ),
t
where gt0 (·) and ft0 (·) are the derivatives of gt (·) and ft (·)1 , and ût ∈ R and v̂t ∈ R are fixed
linearization points2 chosen such that gt0 (ût ) 6= 0 and ft (v̂t ) 6= 0. The concavity of gt and ft
(Assumption 7.1.2) implies that {(vt , ut ) ∈ R2 : ĝt (ut ) + fˆt (vt ) ≤ et } ⊆ {(vt , ut ) ∈ R2 :
gt (ut ) + ft (vt ) ≤ et }, so the linear approximation guarantees that the original constraint is
enforced, and the set {(vt , ut ) ∈ R2 : ĝt (ut ) + fˆt (vt ) ≤ et } is convex. The approximation
does also, however, potentially introduce some conservatism to the solution, but note that
gt (ut ) + ft (vt ) ≤ et is the upper bound on powertrain power (typically imposed by the
torque limits of the powertrain components). Assuming that the driver power demand does
not require this upper bound to be exceeded (i.e. that dt is such that h−1 t (dt ) ≤ et for all t),
the constraint gt (ut ) + ft (vt ) ≤ et can only be active if the mechanical brakes are active
(i.e. bt < 0) while the battery and supercapacitor deliver power in excess of the demand
power. Given that the cost function penalizes energy loss, it is unlikely that this constraint
is active at the optimal solution of (7.2), although it is in principle possible in particular
operating conditions (the issue is discussed further in Appendix 7.A).
Using (7.1), the objective of (7.2) can be simplified:
where d is independent of the decision variables. Problem (7.2) can therefore be approxi-
mated by the convex optimization problem
min 1> (u + v)
(u,v)
s.t. x = 1x0 − Ψu x ∈ X ,
y = 1y0 − Ψv y ∈ Y, (MPC.5)
(ut , vt ) ∈ Ct
ut ∈ Ut ∀t ∈ {0, . . . , T − 1},
vt ∈ Vt
1
if ft (·) or gt (·) are nondifferentiable, then any non-zero element from their subdifferentials can be used
in place of ft0 (·) and gt0 (·).
2
The choice of ût and v̂t is discussed further in Remark 7.C.1 in Appendix 7.C.
131
7.2. OPTIMIZATION ALGORITHM
The optimal braking power sequence, b? , is then obtained from b?t = dt − ht (gt (u?t ) +
ft (vt? )) ∀t ∈ {0, . . . , T − 1}, where u? and v ? are the minimizing arguments of (MPC.5).
7.2.1 A LGORITHM
Problem (MPC.5) is equivalent to the equality constrained problem
T −1
X
min 1> (u + v) + [ICt (ut , vt ) + IUt (ut ) + IVt (vt )]
(u,v)
t=0
+ IX (x) + IY (y),
s.t. u = ζ, (7.3)
v = η,
x = 1x0 − Ψζ,
y = 1y0 − Ψη,
where ζ ∈ RT and η ∈ RT are vectors of dummy variables. Problem (7.3) is in turn the
equivalent of
argmin f˜(ũ) s.t. Aũ + B x̃ = c, (7.4)
(u,v)
132
7.2. OPTIMIZATION ALGORITHM
where
ũ := (u, v, x, y), x̃ := (ζ, η),
T −1
X
f˜(ũ) := 1> (u + v) + [ICt (ut , vt ) + IUt (ut ) + IVt (vt )]
t=1
+IX (x) + IY (y),
I −I
A := I , B := −I , c := (0, 0, 1x0 , 1y0 ).
I Ψ
I Ψ
133
7.2. OPTIMIZATION ALGORITHM
The combined (ut , vt ) update in (7.8a) is a convex optimization problem subject to in-
equality constraints, and a method is presented in Appendix 7.C for solving this problem
from a finite set of candidate solutions, thereby avoiding the use of a general inequality
constrained convex optimization algorithm (e.g. interior-point algorithm), which could in-
crease the computational complexity of the ADMM algorithm as a whole. The update for
(u, v) is separable w.r.t. each element (ut , vt ), and therefore its computational complexity
scales linearly with T when each update is performed sequentially for t ∈ {0, . . . , T − 1},
or is independent of T when they are performed in parallel. The computation of the argu-
ment of the projection in (7.8b) scales linearly with T because multiplication by Ψ is the
equivalent to a cumulative sum (and has no memory requirement). The projection ΠX can
then be performed element-wise, so (7.8b) scales linearly with T overall, and the same is
true for y (j+1) .
Update (7.6b) is equivalent to
h i
(j) (j)
ζ (j+1) := (ρ1 I + ρ3 Ψ> Ψ)−1 ρ1 (u(j+1) + λ1 ) − ρ3 Ψ> (x(j+1) − 1x0 + λ3 ) (7.9a)
h i
(j) (j)
η (j+1) := (ρ2 I + ρ4 Ψ> Ψ)−1 ρ2 (v (j+1) + λ2 ) − ρ4 Ψ> (y (j+1) − 1y0 + λ4 ) (7.9b)
where equations (7.9a) and (7.9b) are the solutions of the general system of linear equa-
tions (kI + Ψ> Ψ)x = b. In Proposition 4.A.1 it is demonstrated that these solutions can
134
7.3. NUMERICAL EXPERIMENTS
Table 7.1: Summary of the complexity of each of the ADMM variable updates w.r.t. horizon length
T.
O(·) (u, v) x y ζ η r s λ
Parallel 1 T T T T T T 1
Sequential T T T T T T T T
be obtained with O(T ) computation and memory requirement. The residual updates are
the equivalent of
u(j+1) − ζ (j+1) ρ1 (ζ (j) − ζ (j+1) )
v (j+1) − η (j+1) ρ2 (η (j) − η (j+1) )
r(j+1) =
x
s(j+1) =
(j+1)
+ Ψζ (j+1)
− 1x0 ρ3 Ψ(ζ (j+1) − ζ (j) )
y (j+1) + Ψη (j+1) − 1y0 ρ4 Ψ(η (j+1) − η(j ))
which scale linearly with T and have no additional memory requirement (multiplication
by Ψ is the equivalent of a cumulative sum). Finally, update (7.6c) is equivalent to
The overall scaling properties w.r.t. horizon T of the computation of each iteration are
summarised in Table 1, and the memory requirement of the algorithm is O(T ), as only
two bandwidth 2 matrices (defined in Proposition 4.A.1) and the variables themselves
require storage.
135
7.3. NUMERICAL EXPERIMENTS
P OWERTRAIN M ODEL
The vehicle was modelled with a single-speed transmission so that the rotational speed of
the motor, ωm ∈ RT , was calculated at each timestep from ωm,t = rwvtrd ∀t ∈ {0, . . . , T −
1}, where rw ∈ R is the effective radius of the wheel and rd ∈ R is the final drive ratio of
the transmission. The losses in the motor were modelled as a quadratic function mapping
the output power, mt , to motor input power, gt (ut ) + ft (vt ), with parameters dependent on
the motor speed, ωm,t :
where β2 (ωm,t ) > 0 ∀ωm,t (i.e. the predictive model used for PHEV energy management
detailed in Section 3.2 was used for both simulation and prediction). It was assumed that
all drivetrain components other than the motor were 100% efficient, so that the inverse
powertrain losses were modelled using the sampled coefficients, βi,t = βi (ωm,t ) ∀i ∈
{0, 1, 2}, for each sample of ωm,t as
h−1 2
t (mt ) := β2,t mt + β1,t mt + β0,t ∀t ∈ {0, . . . , T − 1},
h i h 2
β1,k
i
β1,k
which is invertible on the domain − 2β2,k , ∞ and range β0,k − 4β2,k
,∞ . As a result
the powertrain loss function,
q
2
−β1,t + β1,t − 4β2,t (β0,t − x)
ht (x) := ,
2β2,t
satisfies assumptions 7.1.1 and 7.1.3. The motor was also subject to upper and lower
bounds on power due to its torque limits, so the overall power limits were
2
β1,k
ek := max β0,k − , T ωm,k , ek := T ωm,k ,
4β2,k
where T and T are lower and upper torque limits (set at ±250 Nm).
136
7.3. NUMERICAL EXPERIMENTS
S UPERCAPACITOR M ODEL
It was assumed that the supercapacitor and associated power electronics were 100% effi-
cient so that
ft (vt ) = vt ∀t ∈ {0, . . . , T − 1},
which trivially satisfies Assumptions 7.1.1, 7.1.2, and 7.1.3 (and does not require lineariza-
tion, so the choice of v̂t is arbitrary). The power limits were infinite so that v t = −∞
and v t = ∞ ∀t ∈ {0, . . . , T − 1}. There are currently no commercially available bat-
tery/supercapacitor electric vehicles, so the supercapacitor energy limit was set at 300 Wh
(1.08 MJ) to reflect the parameters used in similar studies (441.5 Wh was used in [150,
Table 2]; 203 Wh in [142, §II.B.]; and 0.8 MJ in [143, Table IV]).
ADMM PARAMETERS
The ρ parameters detailed in Section 7.2.1 require tuning; a two-dimensional parameter
search similar to that detailed in Section 4.3.1 was used to optimize the parameters ρ1 and
ρ3 , with ρ2 = ρ1 and ρ4 = ρ3 , as these parameters correspond to constraints of similar
magnitude. The chosen values were ρ1 = 5 × 10−5 and ρ3 = 1 × 10−8 , which were
137
7.3. NUMERICAL EXPERIMENTS
used for all simulations (the results in [20] and [22] suggest that the ρ values are tuned to
hardware characteristics, and fixed values perform well across a diversity of drive cycles).
The termination criterion (7.7) enforces an upper bound on a measure of constraint
violation (kr(j+1) k) and sub-optimality (ks(j+1) k). In the experiments presented here the
termination criterion = 100 was used, which can be loosely interpreted as a 0.1 % upper
bound on solution error (as u and v took values of the order of magnitude 105 ). The
solutions obtained using CVX and ADMM were indistinguishable using this criterion.
C ONTROL A LGORITHMS
Each of the 49 journeys were simulated using three alternative power allocation methods:
1. All-battery - all positive (and negative power) was delivered from (to) the battery,
unless the upper bound on the battery energy was active and the power demand was
negative, in which case the excess power was delivered by the brakes.
3. Optimal - The battery and supercapacitor were controlled using the optimal controls
obtained from the solution of (MPC.5) in open-loop (no uncertainty was modelled
in the driver behaviour predictions or vehicle model so the full-horizon open-loop
control exactly matches the shrinking horizon MPC). The solution was obtained for
each journey using both ADMM and CVX to determine the relative computational
performance. The ADMM algorithm was programmed in Matlab, the default solver
and tolerance was used for CVX, and a 2.60GHz Intel Core i7-9750H CPU was used
for both.
7.3.1 R ESULTS
Figure 7.2 shows the battery power, supercapacitor power, battery energy, and superca-
pacitor energy obtained using each of the algorithms detailed in Section 7.3 for a single
journey. Qualitatively, it can be seen that the low-pass filter reduces the amplitude and fre-
quency of the peaks in the battery control signal relative to the all-battery controller, whilst
the optimal controls obtained from the solution of (7.3) result in a piecewise constant bat-
tery control signal (this characteristic of the solution is explained further in Appendix 7.B).
The optimal solution suggests that it is challenging to approximate the optimal controls
138
7.3. NUMERICAL EXPERIMENTS
v (kW)
0
0
-100
-100
80
1
x (MJ)
y (MJ)
40 0.5
0 0
using a linear filter, as the presence of both hard discontinuities and periods of constant
output place conflicting requirements on the bandwidth of the filter. The battery power
constraint is violated for the all-battery mode as the battery is the only power source, but
it is also violated using the low pass filter. In particular, it is violated at two large peaks at
∼50 s and ∼200s, where the supercapacitor is completely empty and the battery is forced
to meet the positive power demand alone. Conversely, the battery power constraint is sat-
isfied at all times using the optimal controller, for which the only hard constraints that are
active are the upper and lower limits on supercapacitor energy. It was found that by tight-
ening the battery power or energy limits to ensure that they were active at the solution, the
problem generally becomes infeasible.
An aim of the energy management optimization was to minimize battery degradation,
a complex phenomenon caused by a multitude of factors (see [151] for a comprehensive
review of lithium-ion battery ageing mechanisms). There is a range of explicit models
of battery degradation (for a review of modelling methods see [152]), but these typically
model the battery at a level that is inconsistent with the resolution of the simulations per-
formed here (e.g. the current distribution on a cellular level would depend on the battery
management system, which is not modelled here). Therefore, three metrics of battery
139
7.3. NUMERICAL EXPERIMENTS
Table 7.2: Approximate measures of battery degradation for the trajectories shown in Figure 7.2.
The percentage values are the improvements relative to the all-battery baseline.
power were instead used as approximate measures of battery degradation: the Root-Mean-
Squared (RMS)P battery power, RMS(u), the peak battery power,Pmax |u|, and total power
throughput, |u|. Additionally, the total energy consumption, (u + v), was used to de-
termine relative efficiency of each control method
P (this was the optimization objective in
(MPC.5)). Note that RMS(u), max |u|, and |u| could also be included as objectives in a
convex optimization problem, but the results show that the proposed objective function is a
good heuristic for minimizing all four quantities. Table 7.2 shows each of these measures
for the trajectories shown in Figure 7.2, and it can be seen that the optimal controller pro-
vides a significant improvement over the low-pass filter for all three degradation metrics
and energy consumption. In particular, the low-pass filter provides almost no reduction
in peak battery power due to the instances where a high positive power is demanded and
the supercapacitor is empty, whereas the optimal controller reduces the peak battery power
from 133.3 kW to 36.4 kW. This clearly demonstrates the benefits of a predictive controller
that can ensure the supercapacitor has sufficient charge available for high power events.
Furthermore, the RMS battery power and total battery throughput are also significantly re-
duced using the optimal controller, and the supercapacitor state constraints are only active
for a small fraction of the journey. This suggests that the filter is inherently suboptimal,
even when detrimental control decisions are not being forced by the state constraints.
Figure 7.3 shows the RMS battery power, peak battery power, battery power through-
put, and energy consumption for each control method on all 49 journeys, and the averages
are summarized in Table 7.3. It can be clearly seen that the optimal controller provides
a significant and consistent improvement over the low-pass filter across all four metrics
and every journey. High temperatures and thermal gradients have been identified as fac-
tors contributing to battery degradation [153, §3], and the optimal controller provides the
greatest overall reduction in peak current, which will have an impact on reducing both bat-
tery temperature (there will be a lag between heat being generated within individual cells
and being sensed by the cooling system) and temperature gradients within each cell (the
increased temperature will initially be localised to the core and/or terminals). Conversely,
140
7.3. NUMERICAL EXPERIMENTS
|u| (kW)
30 20
20
15
10
X
10
0
15 8
(u + v) (kW)
max(u) (kW)
10
7
5
X
0 6
0 10 20 30 40 50 0 10 20 30 40 50
Journey Journey
Figure 7.3: Approximate measures of battery degradation for all 49 journeys, using all-battery
control, the low-pass filter, and optimal controls.
for a significant number of journeys the low-pass filter provides no perceptible reduction
in peak battery power, as shown for the journey in Figure 7.2. The optimal controller also
significantly reduces the RMS battery power, which will also reduce thermal degradation,
and total power throughput, which will reduce degradation from battery cycling. Finally,
the optimal controller also increases the efficiency of the powertrain over the low-pass fil-
ter, from a reduction of 3.8% to 5.7% relative to the all battery mode, providing an increase
in the range available to the vehicle from full charge.
Table 7.3: Averages of the approximate measures of battery degradation for all 49 journeys and all
control methods. The stated percentages are the average of the percentage improvements relative
to the all-battery baseline.
141
7.3. NUMERICAL EXPERIMENTS
15 ADMM CVX
Frequency
10
0
0.1 1 10 100
Time (s)
Figure 7.4: Histograms of solution time using ADMM and CVX for all 49 journeys.
Figure 7.4 shows histograms of the solution times using ADMM and CVX. The av-
erage horizon length of T was 815, with a maximum of 1003, for which the average and
maximum solution times using CVX were 51 s and 93 s, and the average and maximum
solution times using ADMM were 0.45 s and 0.59 s. The ADMM algorithm was imple-
mented sequentially using vectorized Matlab code in these experiments, so a compiled
implementation where the combined (u, v) updates are performed in parallel will improve
the absolute performance further.
These results have important implications for electric vehicle powertrain control and
design. The speed of computation suggests that the ADMM algorithm is a promising can-
didate for a real-time, online, receding-horizon MPC implementation, which could signif-
icantly reduce the battery degradation and energy consumption characteristics of a given
electric powertrain design. Furthermore, the algorithm could also be used to determine
the optimal size of the powertrain components (a problem considered in [141] and [139]).
In this case, the speed of computation could allow a brute-force approach, where every
possible combination of a discrete set of powertrain parameters is evaluated against a set
of candidate drive-cycles.
One of the limitations of the proposed approach is that it does not address uncertainty in
the predictions of driver behaviour, and it is possible that sufficiently inaccurate predictions
could be generated so that the performance of optimization-based controllers becomes
worse than a low-pass filter. It is, however, worth highlighting that the convex formulation
permits the use of scenario MPC, which could be implemented using a similar method to
the previous chapter. A systematic investigation of the robustness of the proposed method
to prediction errors is left for future work.
142
7.4. CONCLUDING REMARKS
143
7.A. ANALYSIS OF PROBLEM (MPC.5)
A PPENDICES
7.A A NALYSIS OF P ROBLEM (MPC.5)
The Lagrangian equation for problem (MPC.5) is
− λ> >
9 (g(u) + f (v) − e) − λ10 (e − g(u) − f (v)),
where
g(u) := (g0 (u0 ), . . . , gT −1 (uT −1 ))
f (v) := (f0 (v0 ), . . . , fT −1 (vT −1 )).
The first-order necessary conditions for optimality imply that λ?j ≥ 0 ∀j ∈ {0, . . . , 10},
and ∇u L = 0 and ∇v L = 0 imply that
T −1
X
λ?1,t − λ?2,t + [λ?5,i − λ?6,i ] + gt0 (u?t )(λ?10,t − λ?9,t ) = −1
i=t
T
X −1
λ?3,t − λ?4,t + [λ?7,i − λ?8,i ] + ft0 (vt? )(λ?10,t − λ?9,t ) = −1
i=t
∀t ∈ {0, . . . , T − 1}. Suppose that the constraint et − gt (ut ) − ft (vt ) ≥ 0 is active for
some t, then λ10,t > 0 and λ9,t = 0 so
T −1
X
gt0 (u?t )λ?10,t = −1 + λ?1,t − λ?2,t − [λ?5,i − λ?6,i ], (7.10a)
i=t
T
X −1
ft0 (vt? )λ?10,t = −1 + λ?3,t − λ?4,t − [λ?7,i − λ?8,i ], (7.10b)
i=t
Assumption 7.1.1 implies that gt0 (u? ) ≥ 0 and ft0 (v ? ) ≥ 0, so gt0 (u?t )λ?10,t ≥ 0 and
ft0 (vt? )λ?10,t ≥ 0. In the case where the bounds on battery and supercapacitor energy and
power are not considered (i.e. λ?j = 0 ∀j ∈ {1, . . . , 6}), this contradicts (7.10a) and
(7.10b) so the constraint et − gt (ut ) − ft (vt ) ≥ 0 cannot be active at the solution. In the
case where these bounds are included in the problem formulation, the same conclusion
cannot be reached as λ?1,t and/or λ?6,i for some i ∈ {t, . . . , T − 1} may be nonzero.
145
7.B. PIECEWISE CONSTANT SOLUTION OF (MPC.5)
Consider a set {t, . . . , t} where the upper and lower bounds on x and PT −1y are inactive, i.e.
λ5,t = 0, λ6,t = 0, λ7,t = 0, and λ8,t = 0 ∀t ∈ {t, . . . , t}, then −1− i=t [λ?5,i −λ?6,i ] = c1
? ? ? ?
PT −1 ?
and −1 − i=t [λ7,i − λ?8,i ] = c2 ∀t ∈ {t, . . . , t}. Therefore, u?t , vt? , and λ?9,t are given by
For the system models presented in Section 7.3, ft0 (vt ) = 1 and gt0 (ut ) = 1 − 2Rut
V2
∀t ∈
{0, . . . , T − 1}, so λ?9,t = −c2 ∀t ∈ {t, . . . , t}, and
V2 c1
ut = 1− ∀t ∈ {t, . . . , t},
2R c2
which implies that the optimal control input is constant on the interval {t, . . . , t̄}.
which is a convex (quadratic) inequality constrained optimization problem, and Figure 7.5
shows the constraint set for an illustrative example. A rigorous treatment of the proposed
146
7.C. COMBINED U AND V UPDATE
ut = ut
vt = v t
ut
vt = v t
ut = ut
Figure 7.5: Illustration of constraint sets defined by Ct (in red) and Ut ∩ Vt (in green).
approach is provided below, but the principle is that there are three candidate solutions
that can be obtained from simpler optimization problems: (a) problem (7.12) with the
constraints êt ≤ gt (ut ) + ft (vt ) and ĝt (ut ) + fˆt (vt ) ≤ et discarded, (b) problem (7.12) with
equality constraint ĝt (ut ) + fˆt (vt ) = et , and (c) problem (7.12) with equality constraint
êt = gt (ut ) + ft (vt ). Problems (a) and (b) have analytical solutions, and (c) reduces to a
one-dimensional problem that can be solved numerically. Each of these cases will now be
considered in detail; it is assumed throughout that (7.12) is feasible.
(a) The constraints êt ≤ gt (ut ) + ft (vt ) and ĝt (ut ) + fˆt (vt ) ≤ et (i.e. (ut , vt ) ∈ Ct ) are
discarded, and a candidate solution (u†1 †1
t , vt ) to (7.12) is obtained from
147
7.C. COMBINED U AND V UPDATE
In section 7.1.2 it was specified that û and v̂ were chosen so that g 0 (û) and f 0 (v̂) are
nonzero (and under Assumption 7.1.1 must be positive), so ĝ −1 and fˆ−1 exist and are both
affine and increasing.
Proposition 7.C.1. Define the set
Ût := {ut ∈ R : fˆt−1 (et − ĝt (ut )) ≥ ft−1 (êt − gt (ut ))},
Proof. The set {(ut , vt ) ∈ R2 : êt ≤ gt (ut ) + ft (vt )} is convex under Assumption 7.1.2
and is the epigraph of the function vt = ft−1 (êt − gt (ut )), which therefore must also be a
convex function. Additionally, ĝt (ut ) + fˆt (vt ) = et ⇔ vt = fˆt−1 (et − ĝt (ut )), so
The set Ût therefore defines the values of ut where an affine function is greater than or
equal to a convex function, so is convex.
Consider the illustration of ĝt (ut ) + fˆt (vt ) = et and êt = gt (ut ) + ft (vt ) in Figure 7.5,
and assume that the function ft−1 (êt − gt (ut )) is strongly convex (which is the case for the
models specified in Sections 7.3 and 7.3). This implies that Ût is closed and Ût = [u∩1 ∩2
t , ut ]
(i.e. ut ∈ R and ut ∈ R are the ‘lower’ and ‘upper’ intersection points of the functions
∩1 ∩2
148
7.C. COMBINED U AND V UPDATE
Remark 7.C.1. If êt = gt (ut ) + ft (vt ) is strongly convex and twice continuously dif-
ferentiable (which is the case for the models specified in Sections 7.3 and 7.3), then
et = êt =⇒ u∩1 t t , and Ct has a single element that is trivially the solution to
= u∩2
(7.12). This also implies that u∩1
t = u?t , so the linearization points ût and v̂t should be
chosen so that the power consumed by the powertrain is zero when et = êt , as this occurs
when the vehicle is stationary.
Proposition 7.C.2.
Proof. In section 7.1.2 it was specified that û and v̂ were both chosen so that g 0 (û) and
f 0 (v̂) were non-zero (which under Assumption 7.1.1 implies that they are greater than
zero), so fˆt (·) and ĝt (·) are both increasing, and it can then be shown that
ut ≤ ∩2 −1
min{ut , ut , ĝt (et − fˆt (v t ))}
which is a one-dimensional constrained quadratic optimization problem for ût , with the
constraint set illustrated in blue in Figure 7.6. The solution to the unconstrained problem
can be obtained analytically and projected onto the upper and lower bounds on ût to obtain
u†2 †2 ˆ−1 †2
t , then the corresponding value of vt can then be returned from vt = ft (et − ĝt (ut )).
149
7.C. COMBINED U AND V UPDATE
ut = ut
vt = v t
ut
vt = v t
ut = ut
Figure 7.6: Illustration of constraint sets for reduced problems (7.14) and (7.15).
ut ≤ ∩2 −1
min{ut , ut , ĝt (êt − fˆt (v t ))}
using the same approach as for (b). The constraint set for (7.15) is illustrated in red in
Figure 7.6. The function ft−1 (êt − gt (ut )) is nonlinear, so the cost function in (7.15)
is nonconvex in general, but a stationary point can be obtained without the inequality
constraints using an iterative algorithm (e.g. Newton’s method)3 and then projected onto
the bounds on ut .
The stationary point of (7.15) and (u†2 †2
t , vt ) are then evaluated against the cost function
of (7.12) to determine which is the minimizing argument. If the constraint êt ≤ gt (ut ) +
ft (vt ) is strongly active at the solution then the stationary point of (7.15) corresponds to
the global minimum of (7.12). If the constraint êt ≤ gt (ut )+ft (vt ) is not strongly active at
the solution to (7.12) then problem (7.15) may have multiple stationary points that may not
be minimal for (7.12), but in this case the constraint ĝt (ut ) + fˆt (vt ) ≤ et will be strongly
active at the solution to (7.12), so (u†2 †2
t , vt ) will be the minimizing argument of (7.12).
The overall algorithm for update (7.8a) is presented in Algorithm 6.
3
For the experiments detailed in Section 7.3, the function ft−1 (et − gt (ut )) is quadratic, so the cost
function in (7.15) is quartic, and the stationary points can be found from the roots of a cubic equation.
150
7.C. COMBINED U AND V UPDATE
151
C HAPTER 8
C ONCLUSION
T HIS thesis presents an investigation into convex optimization for model predictive en-
ergy management in plug-in hybrid and battery/supercapacitor electric vehicles. Sev-
eral problem formulations were considered, for which tailored optimization algorithms
were generated, and the closed-loop performance of the model predictive controllers was
presented through numerical studies. Overall, it was shown that convex optimization can
be used to generate model predictive controllers that provide an extremely close approx-
imation of the globally optimal control inputs, even when an exact prediction of future
driver behaviour is not available, and that the associated MPC optimization problems can
be solved reliably in real time. The individual contributions of each of the chapters is now
discussed.
Chapter 2 introduced the PHEV energy management problem and provided an illus-
tration of the common optimization-based approaches for its solution. It was highlighted
that one of the limitations associated with model predictive energy management is that it
requires the repeated on-line solution of a challenging optimization problem, and that this
limitation could be addressed using convex optimization algorithms. In particular, it was
observed that no previous systematic investigation into convex optimization algorithms for
model predictive energy management existed.
Chapter 3 began with a formal presentation of the mathematical PHEV model used for
simulation, and the set of real-world driving data used to evaluate each controller. The first
MPC formulation was presented, which considered nonlinear losses and power constraints
for the engine, motor, and battery, and a terminal state-of-charge constraint for the battery.
It was shown that, under negligible further approximation, the MPC optimization could be
reformulated as a convex optimization problem when considered in terms of the battery
power instead of the engine output power (as commonly used in the energy management
literature). In simulations it was demonstrated that the MPC obtained a very close approx-
imation of the controls obtained using PMP, but that the lack of general state-of-charge
constraints limited the performance of the MPC, for example when the road was not flat.
153
In light of the limitations of the MPC proposed in Chapter 3, Chapter 4 extended
the controller to consider upper and lower bounds on the state-of-charge of the battery
across the entire prediction horizon. Two algorithms were proposed for the solution of
the new MPC optimization: an alternating direction method of multipliers algorithm and
a novel projected interior point method. It was demonstrated through numerical exper-
iments that the projected interior point algorithm obtained a highly accurate solution in
a few iterations, but that the ADMM algorithm obtained a sufficiently accurate solution
much faster in general (and that both were significantly faster than CVX). It was then
demonstrated that the closed-loop convex MPC controller provided an accurate approxi-
mation of the globally optimal power-split obtained using dynamic programming, but that
the engine switching heuristic caused the overall performance to be worse than a simple
charge-depleting/charge-sustaining strategy.
Consequently, in Chapter 5 the MPC optimization and ADMM optimization algorithm
were extended to also consider engine switching. The engine switching control is an inte-
ger decision variable, so the associated MPC optimization problem is necessarily noncon-
vex and only local convergence of ADMM could be guaranteed, but it was also demon-
strated that ADMM will always return the optimal power split given the engine switching
control sequence at termination. Global convergence was therefore encouraged by ini-
tializing the nonconvex ADMM with the solution of a convex relaxation. The ADMM
algorithm was compared against dynamic programming where it shown to reduce the com-
putational requirement from ∼3 hours to a fraction of a second, with only a 5.3% increase
in predicted fuel consumption. The MPC framework and ADMM algorithm were then im-
plemented in closed loop, where they achieved a 32 % improvement in fuel consumption
relative to the CDCS baseline.
Up to this point, it had been assumed that the MPC could predict the driver’s future be-
haviour with complete accuracy, whereas in reality it is likely to be subject to considerable
uncertainty. Therefore, in Chapter 6 driver behaviour uncertainty was explicitly consid-
ered. In particular, a scenario MPC framework was proposed that allowed the predictions
of future driver behaviour to be drawn from previously recorded examples of a route being
driven, thereby avoiding the challenging process of generating an explicit model of driver
behaviour. This approach also allowed the use of results from scenario MPC to generate
a bound on the required number of scenarios for a given confidence of one-step-ahead
feasibility. The ADMM algorithm proposed in Chapter 4 was extended to the scenario
MPC problem, and it was demonstrated that the iteration cost scaled well with both pre-
diction horizon length and number of scenarios, particularly when parallel processing is
available. The scenario MPC framework was then simulated in closed-loop, where it was
shown to achieve a close approximation of the nominal MPC without perfect knowledge
of the driver’s future behaviour.
154
In Chapter 7 a different problem was considered: energy management in all-electric
vehicles with a hybrid energy store consisting of both batteries and supercapacitors. In
this case the control objective is to maximize the efficiency of the powertrain and mini-
mize battery degradation, rather than fuel consumption as in the PHEV problem. A gen-
eral framework for BSEV energy management was proposed, that considered losses and
power limits on the battery, supercapacitor, and motor, and limits on energy stored in the
battery and supercapacitor. It was then shown that this optimal control problem could be
reformulated as a convex optimization problem under minor further approximation, and
an ADMM algorithm was proposed for its solution. The convex formulation was sim-
ulated in open-loop in comparison with a low-pass filter-based controller against an all
electric baseline, and was shown to provide significant improvements in energy efficiency
and battery degradation (inferred through three measures of battery ageing). Additionally,
it was shown that the ADMM algorithm solved the optimization problem in a fraction of
a second in all cases.
Overall, the results have several important implications for electric vehicle control
and design. For the PHEV case it has been demonstrated that the fuel consumption of a
given powertrain can be significantly reduced using the proposed MPC controllers, and the
solution times suggest that real-time embedded implementations are possible. This has the
potential to improve the economic viability of PHEVs, which may increase the adoption
of electrified vehicles in the coming years, and consequently reduce the tailpipe emissions
of global transportation. In particular, the results are the most relevant for heavy-duty
vehicles that repeatedly drive the same route, such as lorries or buses. In these cases all-
electric powertrains have not reached the point of practical or economic viability, and it
is likely that hybrid technology will be required for the foreseeable future. Additionally,
cases in which the vehicle is used repeatedly for the same route would make it feasible
to generate a database of previous driver behaviour to generate predictions as presented in
Chapter 6. The results in Chapter 7 extend the possible impact of convex optimization-
based predictive energy management to all-electric powertrains. The proposed optimal
control framework could be used to increase the life of a given battery design, or could
instead be used to reduce the battery size required to reach a given life-span. This will
then in turn also improve the economic and practical viability of all-electric passenger
vehicles. It is also worth noting that the proposed framework can readily be extended to
applications other than road vehicles: for example, the framework can be readily applied
to energy storage systems used for renewable energy storage (e.g. [155]) by replacing the
motor model with the associated power electronics.
155
F UTURE W ORK
The presented research could be extended in the following directions to aid the develop-
ment of optimization-based energy management systems.
Embedded Control: One of the limitations of the experiments presented in this thesis
is that they have been entirely limited to a simulation environment. The necessary next
step is to start transitioning the experiments in to the real world. This may initially take
the form of hardware-in-the-loop experiments where the MPC optimization alone is solved
on a representative electronic control unit, and then transitioned onto experiments in a test
vehicle. One of the reasons that ADMM algorithms have been extensively used in this
thesis is that the iteration cost can be substantially reduced using parallelization. This
makes them ideal for implementation on hardware such as field-programmable gate arrays
(FPGAs), which may be able to exceed the computational performance demonstrated in
the experiments presented here (which were all implemented on a central processing unit
(CPU) using vectorized sequential Matlab code).
156
B IBLIOGRAPHY
[1] M. Ehsani, Y. Gao, and A. Emadi, Modern Electric, Hybrid Electric, and Fuel Cell
Vehicles, 2nd ed. CRC Press, 2009.
[2] Deloitte. (2019) New market. New entrants. New challenges. Bat-
tery electric vehicles. (Date last accessed 10-July-2020). [On-
line]. Available: https://www2.deloitte.com/content/dam/Deloitte/uk/Documents/
manufacturing/deloitte-uk-battery-electric-vehicles.pdf
[4] J. B. Heywood, Internal Combustion Engine Fundamentals, 2nd ed. McGraw Hill,
2018.
[6] B. Zakeri and S. Syri, “Electrical energy storage systems: A comparative life cycle
cost analysis,” Renewable and Sustainable Energy Reviews, vol. 42, pp. 569–596,
2015.
[9] T. Markel and A. Simpson, “Cost-benefit analysis of plug-in hybrid electric vehicle
technology,” World Electric Vehicle Journal, vol. 1, no. 1, p. 294–301, Dec 2007.
157
BIBLIOGRAPHY
[10] C. M. Martinez, X. Hu, D. Cao, E. Velenis, B. Gao, and M. Wellers, “Energy man-
agement in plug-in hybrid electric vehicles: Recent progress and a connected vehi-
cles perspective,” IEEE Transactions on Vehicular Technology, vol. 66, no. 6, pp.
4534–4549, 2017.
[11] S. F. Tie and C. W. Tan, “A review of energy sources and energy management
system in electric vehicles,” Renewable and Sustainable Energy Reviews, vol. 20,
pp. 82 – 102, 2013.
[15] M. Grant and S. Boyd, “CVX: Matlab software for disciplined convex
programming, version 2.0 beta,” 2013. [Online]. Available: http://cvxr.com/cvx
[16] ——, “Graph implementations for nonsmooth convex programs,” in Recent Ad-
vances in Learning and Control, ser. Lecture Notes in Control and Information
Sciences, V. Blondel, S. Boyd, and H. Kimura, Eds. Springer-Verlag Limited,
2008, pp. 95–110.
[18] S. East and M. Cannon, “An ADMM algorithm for MPC-based energy manage-
ment in hybrid electric vehicles with nonlinear losses,” in 2018 IEEE Conference
on Decision and Control (CDC), 2018, pp. 2641–2646.
[19] J. Buerger, S. East, and M. Cannon, “Fast dual-loop nonlinear receding horizon
control for energy management in hybrid electric vehicles,” IEEE Transactions on
Control Systems Technology, vol. 27, no. 3, pp. 1060–1070, 2019.
158
BIBLIOGRAPHY
[20] S. East and M. Cannon, “Energy management in plug-in hybrid electric vehicles:
Convex optimization algorithms for model predictive control (early access),” IEEE
Transactions on Control Systems Technology, vol. -, pp. 1–13, 2019.
[21] ——, “Fast optimal energy management with engine on/off decisions for plug-in
hybrid electric vehicles,” IEEE Control Systems Letters, vol. 3, no. 4, pp. 1074–
1079, 2019.
[22] ——, “ADMM for MPC with state and input constraints, and input nonlinearity,”
in 2018 Annual American Control Conference (ACC), 2018, pp. 4514–4519.
[24] Y. Gao and M. Ehsani, “Design and control methodology of plug-in hybrid electric
vehicles,” IEEE Transactions on Industrial Electronics, vol. 57, no. 2, pp. 633–640,
2010.
[26] R. Bellman and E. Lee, “History and development of dynamic programming,” IEEE
Control Systems Magazine, vol. 4, no. 4, pp. 24–28, 1984.
[27] D. Liberzon, Calculus of Variations and Optimal Control Theory: A Concise Intro-
duction. USA: Princeton University Press, 2011.
[28] R. Bellman, “On the theory of dynamic programming,” Proceedings of the National
Academy of Sciences, vol. 38, no. 8, pp. 716–719, 1952.
[29] C.-C. Lin, H. Peng, J. W. Grizzle, and J.-M. Kang, “Power management strategy for
a parallel hybrid electric truck,” IEEE Transactions on Control Systems Technology,
vol. 11, no. 6, pp. 839–849, 2003.
[30] Q. Gong, Y. Li, and Z. Peng, “Trip-based optimal power management of plug-
in hybrid electric vehicles,” IEEE Transactions on Vehicular Technology, vol. 57,
no. 6, pp. 3393–3401, 2008.
159
BIBLIOGRAPHY
[31] C. Zhang, A. Vahidi, P. Pisu, X. Li, and K. Tennant, “Role of terrain preview in
energy management of hybrid electric vehicles,” IEEE Transactions on Vehicular
Technology, vol. 59, no. 3, pp. 1139–1147, 2010.
[34] Z. Yuan, L. Teng, S. Fengchun, and H. Peng, “Comparative study of dynamic pro-
gramming and Pontryagin’s minimum principle on energy management for a paral-
lel hybrid electric vehicle,” Energies, vol. 6, no. 4, pp. 1–14, 2013.
[35] L. Li, C. Yang, Y. Zhang, L. Zhang, and J. Song, “Correctional DP-based energy
management strategy of plug-in hybrid electric bus for city-bus route,” IEEE Trans-
actions on Vehicular Technology, vol. 64, no. 7, pp. 2792–2803, 2015.
[36] X. Zeng and J. Wang, “A parallel hybrid electric vehicle energy management strat-
egy using stochastic model predictive control with road grade preview,” IEEE
Transactions on Control Systems Technology, vol. 23, no. 6, pp. 2416–2423, 2015.
[37] V. Larsson, L. Johannesson, and B. Egardt, “Analytic solutions to the dynamic pro-
gramming subproblem in hybrid vehicle energy management,” IEEE Transactions
on Vehicular Technology, vol. 64, no. 4, pp. 1458–1467, 2015.
[39] Z. Chen, C. C. Mi, J. Xu, X. Gong, and C. You, “Energy management for a power-
split plug-in hybrid electric vehicle based on dynamic programming and neural net-
works,” IEEE Transactions on Vehicular Technology, vol. 63, no. 4, pp. 1567–1580,
2014.
160
BIBLIOGRAPHY
[41] Pesch, Hans, Plail, and Michael, “The maximum principle of optimal control: A
history of ingenious ideas and missed opportunities,” Control and Cybernetics,
vol. 38, no. 4A, pp. 973–995, 2009.
[43] L. Serrao and G. Rizzoni, “Optimal control of power split for a hybrid electric refuse
vehicle,” in 2008 American Control Conference, 2008, pp. 4498–4503.
[44] L. Tribioli and S. Onori, “Analysis of energy management strategies in plug-in hy-
brid electric vehicles: Application to the GM chevrolet volt,” in 2013 American
Control Conference, 2013, pp. 5966–5971.
[45] Z. Chen, C. C. Mi, B. Xia, and C. You, “Energy management of power-split plug-in
hybrid electric vehicles based on simulated annealing and Pontryagin’s minimum
principle,” Journal of Power Sources, vol. 272, pp. 160 – 168, 2014.
[47] S. Stockar, V. Marano, G. Rizzoni, and L. Guzzella, “Optimal control for plug-in
hybrid electric vehicle applications,” in Proceedings of the 2010 American Control
Conference, 2010, pp. 5024–5030.
[49] N. Kim, S. Cha, and H. Peng, “Optimal control of hybrid electric vehicles based on
Pontryagin’s minimum principle,” IEEE Transactions on Control Systems Technol-
ogy, vol. 19, no. 5, pp. 1279–1287, 2011.
[50] L. Tang, G. Rizzoni, and S. Onori, “Energy management strategy for HEVs includ-
ing battery life optimization,” IEEE Transactions on Transportation Electrification,
vol. 1, no. 3, pp. 211–222, 2015.
161
BIBLIOGRAPHY
[57] J. Liu and H. Peng, “Modeling and control of a power-split hybrid vehicle,” IEEE
Transactions on Control Systems Technology, vol. 16, no. 6, pp. 1242–1251, 2008.
[58] P. Tulpule, V. Marano, and G. Rizzoni, “Effects of different PHEV control strategies
on vehicle performance,” in 2009 American Control Conference, 2009, pp. 3950–
3955.
[59] F. Tianheng, Y. Lin, G. Qing, H. Yanqing, Y. Ting, and Y. Bin, “A supervisory con-
trol strategy for plug-in hybrid electric vehicles based on energy demand prediction
and route preview,” IEEE Transactions on Vehicular Technology, vol. 64, no. 5, pp.
1691–1700, 2015.
162
BIBLIOGRAPHY
[60] F. Zhang, J. Xi, and R. Langari, “Real-time energy management strategy based
on velocity forecasts using V2V and V2I communications,” IEEE Transactions on
Intelligent Transportation Systems, vol. 18, no. 2, pp. 416–430, 2017.
[61] C. Zhang and A. Vahidi, “Route preview in energy management of plug-in hybrid
vehicles,” IEEE Transactions on Control Systems Technology, vol. 20, no. 2, pp.
546–553, 2012.
[62] A. Sciarretta and L. Guzzella, “Control of hybrid electric vehicles,” IEEE Control
Systems Magazine, vol. 27, no. 2, pp. 60–70, 2007.
[63] R. E. Kálmán, “Contributions to the theory of optimal control,” in Boletin de la
Sociedad Matematica Mexicana, vol. 5, no. 2, 1960, pp. 102–119.
[64] J. Nocedal and S. J. Wright, Numerical Optimization, 2nd ed. New York, NY,
USA: Springer, 2006.
[65] H. J. Ferreau, C. Kirches, A. Potschka, H. G. Bock, and M. Diehl, “qpOASES:
a parametric active-set algorithm for quadratic programming,” Mathematical Pro-
gramming Computation, vol. 6, pp. 327–363, 2014.
[66] B. Hermans, A. Themelis, and P. Patrinos, “QPALM: A Newton-type proximal aug-
mented Lagrangian method for quadratic programs,” in 2019 IEEE 58th Conference
on Decision and Control (CDC), 2019, pp. 4325–4330.
[67] A. Bemporad and P. Patrinos, “Simple and certifiable quadratic programming algo-
rithms for embedded linear model predictive control,” IFAC Proceedings Volumes,
vol. 45, no. 17, pp. 14 – 20, 2012, 4th IFAC Conference on Nonlinear Model Pre-
dictive Control.
[68] J. L. Jerez, G. A. Constantinides, and E. C. Kerrigan, “An FPGA implementation of
a sparse quadratic programming solver for constrained predictive control,” in Pro-
ceedings of the 19th ACM/SIGDA International Symposium on Field Programmable
Gate Arrays (FPGA ’11), 2011, p. 209–218.
[69] A. Bemporad, M. Morari, V. Dua, and E. N. Pistikopoulos, “The explicit linear
quadratic regulator for constrained systems,” Automatica, vol. 38, no. 1, pp. 3 – 20,
2002.
[70] J. H. Lee, “Model predictive control: Review of the three decades of development,”
International Journal of Control, Automation and Systems, vol. 9, no. 3, p. 415–424,
Jun 2011.
163
BIBLIOGRAPHY
164
BIBLIOGRAPHY
[82] S. Xie, X. Hu, Z. Xin, and L. Li, “Time-efficient stochastic model predictive energy
management for a plug-in hybrid electric bus with an adaptive reference state-of-
charge advisory,” IEEE Transactions on Vehicular Technology, vol. 67, no. 7, pp.
5671–5682, 2018.
[83] G. Li, J. Zhang, and H. He, “Battery SOC constraint comparison for predictive
energy management of plug-in hybrid electric bus,” Applied Energy, vol. 194, pp.
578 – 587, 2017.
[84] C. Sun, S. J. Moura, X. Hu, J. K. Hedrick, and F. Sun, “Dynamic traffic feedback
data enabled energy management in plug-in hybrid electric vehicles,” IEEE Trans-
actions on Control Systems Technology, vol. 23, no. 3, pp. 1075–1086, 2015.
[85] M. Koot, J. T. B. A. Kessels, B. de Jager, W. P. M. H. Heemels, P. P. J. van den
Bosch, and M. Steinbuch, “Energy management strategies for vehicular electric
power systems,” IEEE Transactions on Vehicular Technology, vol. 54, no. 3, pp.
771–782, 2005.
[86] Z. Pu, X. Jiao, C. Yang, and S. Fang, “An adaptive stochastic model predictive
control strategy for plug-in hybrid electric bus during vehicle-following scenario,”
IEEE Access, vol. 8, pp. 13 887–13 897, 2020.
[87] Y. Zhou, A. Ravey, and M.-C. Péra, “A survey on driving prediction techniques
for predictive energy management of plug-in hybrid electric vehicles,” Journal of
Power Sources, vol. 412, pp. 480 – 495, 2019.
[88] C. Sun, X. Hu, S. J. Moura, and F. Sun, “Velocity predictors for predictive energy
management in hybrid electric vehicles,” IEEE Transactions on Control Systems
Technology, vol. 23, no. 3, pp. 1197–1204, 2015.
[89] R. E. Bixby, “A brief history of linear and mixed-integer programming computa-
tion,” Documenta Mathematica, pp. 107–121, 2012.
[90] M. Wright, “The interior-point revolution in optimization: History, recent develop-
ments, and lasting consequences,” Bulletin of the American Mathematical Society,
vol. 42, no. 1, pp. 39–56, Jan. 2005.
[91] D. P. Bertsekas, Convex Optimization Theory. Athenea Scientific, 2009.
[92] S. Boyd, L. El Ghaoui, E. Feron, and V. Balakrishnan, Linear Matrix Inequalities
in System and Control Theory, ser. Studies in Applied Mathematics. Philadelphia,
PA: SIAM, Jun. 1994, vol. 15.
165
BIBLIOGRAPHY
[93] X. Liu, P. Lu, and B. Pan, “Survey of convex optimization for aerospace applica-
tions,” Astrodynamics, vol. 1, pp. 23–40, 2017.
[94] P. P. Khargonekar and M. A. Rotea, “Mixed H2 /H∞ control: a convex optimization
approach,” IEEE Transactions on Automatic Control, vol. 36, no. 7, pp. 824–837,
1991.
[95] S. Prajna, P. A. Parrilo, and A. Rantzer, “Nonlinear control synthesis by convex
optimization,” IEEE Transactions on Automatic Control, vol. 49, no. 2, pp. 310–
314, 2004.
[96] S. Boyd and L. Vandenberghe, Convex Optimization. Cambridge University Press,
2004.
[97] P. András, Stochastic Programming. Kluwer Academic Publishers, 1995.
[98] M. C. Campi and S. Garatti, “The exact feasibility of randomized solutions of un-
certain convex programs,” SIAM Journal on Optimization, vol. 19, no. 3, pp. 1211–
1230, 2008.
[99] G. Schildbach, L. Fagiano, and M. Morari, “Randomized solutions to convex pro-
grams with multiple chance constraints,” SIAM Journal on Optimization, vol. 23,
no. 4, pp. 2479–2501, 2013.
[100] G. Schildbach, L. Fagiano, C. Frei, and M. Morari, “The scenario approach for
stochastic model predictive control with bounds on closed-loop constraint viola-
tions,” Automatica, vol. 50, no. 12, pp. 3009 – 3018, 2014.
[101] G. C. Calafiore and M. C. Campi, “The scenario approach to robust control design,”
IEEE Transactions on Automatic Control, vol. 51, no. 5, pp. 742–753, 2006.
[102] G. C. Calafiore and L. Fagiano, “Robust model predictive control via scenario op-
timization,” IEEE Transactions on Automatic Control, vol. 58, no. 1, pp. 219–224,
2013.
[103] N. Murgovski, L. Johannesson, X. Hu, B. Egardt, and J. Sjöberg, “Convex relax-
ations in the optimal control of electrified vehicles,” in 2015 American Control Con-
ference (ACC), 2015, pp. 2292–2298.
[104] N. Murgovski, L. Johannesson, and J. Sjöberg, “Convex modeling of energy buffers
in power control applications,” IFAC Proceedings Volumes, vol. 45, no. 30, pp. 92
– 99, 2012, 3rd IFAC Workshop on Engine and Powertrain Control, Simulation and
Modeling.
166
BIBLIOGRAPHY
[106] N. Murgovski, L. M. Johannesson, and J. Sjöberg, “Engine on/off control for dimen-
sioning hybrid electric powertrains via convex optimization,” IEEE Transactions on
Vehicular Technology, vol. 62, no. 7, pp. 2949–2962, 2013.
[110] Z. Ma, N. Murgovski, B. Egardt, and S. Cui, “Convex modeling for optimal battery
sizing and control of an electric variable transmission powertrain,” Oil Gas Sci.
Technol. - Rev. IFP Energies nouvelles, vol. 74, p. 25, 2019.
167
BIBLIOGRAPHY
vol. 49, no. 11, pp. 271 – 276, 2016, 8th IFAC Symposium on Advances in Auto-
motive Control AAC 2016.
[117] R. S. Vadamalu and C. Beidl, “Online MPC based PHEV energy management using
conic interior-point methods,” in 2016 IEEE Intelligent Vehicles Symposium (IV),
2016, pp. 466–471.
[118] P. Elbert, T. Nüesch, A. Ritter, N. Murgovski, and L. Guzzella, “Engine on/off con-
trol for the energy management of a serial hybrid electric bus via convex optimiza-
tion,” IEEE Transactions on Vehicular Technology, vol. 63, no. 8, pp. 3549–3559,
2014.
[119] D. P. Bertsekas, “Projected Newton methods for optimization problems with simple
constraints,” SIAM Journal on Control and Optimization, vol. 20, no. 2, pp. 221–
246, 1982.
[120] Y. Wang and S. Boyd, “Fast model predictive control using online optimization,”
IEEE Transactions on Control Systems Technology, vol. 18, no. 2, pp. 267–278,
2010.
[123] R. A. Bartlett, A. Wachter, and L. T. Biegler, “Active set vs. interior point strate-
gies for model predictive control,” in Proceedings of the 2000 American Control
Conference (ACC), vol. 6, 2000, pp. 4229–4233 vol.6.
168
BIBLIOGRAPHY
[124] F. Rey, P. Hokayem, and J. Lygeros, “A tailored ADMM approach for power coor-
dination in variable speed drives,” IFAC-PapersOnLine, vol. 50, no. 1, pp. 7403 –
7408, 2017, 20th IFAC World Congress.
[129] R. A. Horn and C. R. Johnson, Matrix Analysis, 2nd ed. USA: Cambridge Uni-
versity Press, 2012.
[130] P. Bonami, M. Kilinç, and J. Linderoth, “Algorithms and software for convex mixed
integer nonlinear programs,” in Mixed Integer Nonlinear Programming, J. Lee and
S. Leyffer, Eds. New York, NY: Springer New York, 2012, pp. 1–39.
[134] Z. Qureshi, S. East, and M. Cannon, “Parallel ADMM for robust quadratic optimal
resource allocation problems,” in 2019 American Control Conference (ACC), 2019,
pp. 3402–3407.
169
BIBLIOGRAPHY
[135] F. Ju, Q. Zhang, W. Deng, and J. Li, “Review of structures and control of battery-
supercapacitor hybrid energy storage system for electric vehicles,” Advances in Bat-
tery Manufacturing, Services, and Management Systems, pp. 303–318, 2016.
[140] A. Santucci, A. Sorniotti, and C. Lekakou, “Power split strategies for hybrid energy
storage systems for vehicular applications,” Journal of Power Sources, vol. 258, pp.
395–407, 2014.
[141] Z. Song, H. Hofmann, J. Li, X. Han, and M. Ouyang, “Optimization for a hybrid
energy storage system in electric vehicles using dynamic programing approach,”
Applied Energy, vol. 139, no. Dc, pp. 151–162, 2015.
[143] C. Romaus, K. Gathmann, and J. Böcker, “Optimal energy management for a hybrid
energy storage system for electric vehicles based on stochastic dynamic program-
ming,” 2010 IEEE Vehicle Power and Propulsion Conference (VPPC), 2010.
[144] C. Zheng, W. Li, and Q. Liang, “An energy management strategy of hybrid energy
storage systems for electric vehicle applications,” IEEE Transactions on Sustain-
able Energy, vol. 9, no. 4, pp. 1880–1888, 2018.
170
BIBLIOGRAPHY
[145] L. Wang, Y. Wang, C. Liu, D. Yang, and Z. Chen, “A power distribution strategy
for hybrid energy storage system using adaptive model predictive control,” IEEE
Transactions on Power Electronics, vol. 35, no. 6, pp. 5897–5906, 2020.
[146] B. Hredzak, V. G. Agelidis, and M. Jang, “A model predictive control system for
a hybrid battery-ultracapacitor power source,” IEEE Transactions on Power Elec-
tronics, vol. 29, no. 3, pp. 1469–1479, 2014.
[147] M. Choi, J. Lee, and S. Seo, “Real-time optimization for power management sys-
tems of a battery/supercapacitor hybrid energy storage system in electric vehicles,”
IEEE Transactions on Vehicular Technology, vol. 63, no. 8, pp. 3600–3611, 2014.
[154] G. Banjac, P. Goulart, B. Stellato, and S. Boyd, “Infeasibility detection in the al-
ternating direction method of multipliers for convex optimization,” Journal of Op-
timization Theory and Applications, vol. 183, no. 2, pp. 490–519, 2019.
171
BIBLIOGRAPHY
[155] T. Bocklisch, “Hybrid energy storage systems for renewable energy applications,”
Energy Procedia, vol. 73, pp. 103 – 111, 2015, 9th International Renewable Energy
Storage Conference (IRES).
172