0% found this document useful (0 votes)
26 views188 pages

Energy Management in Electric Vehicles

This thesis investigates the use of convex optimization for model predictive energy management in electric vehicles. It develops convex formulations that allow more general system dynamics descriptions than linear quadratic MPC, while ensuring the resulting optimization problem can be solved online. A key contribution is optimization algorithms tailored to the convex problem structure. The thesis focuses on minimizing fuel consumption in plug-in hybrid electric vehicles using MPC, progressively extending the formulation to consider more constraints and driver behavior uncertainty. Numerical studies demonstrate the controllers obtain highly accurate approximations of the globally optimal solution with dramatically reduced computation compared to state-of-the-art.

Uploaded by

Jovana Nikolic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views188 pages

Energy Management in Electric Vehicles

This thesis investigates the use of convex optimization for model predictive energy management in electric vehicles. It develops convex formulations that allow more general system dynamics descriptions than linear quadratic MPC, while ensuring the resulting optimization problem can be solved online. A key contribution is optimization algorithms tailored to the convex problem structure. The thesis focuses on minimizing fuel consumption in plug-in hybrid electric vehicles using MPC, progressively extending the formulation to consider more constraints and driver behavior uncertainty. Numerical studies demonstrate the controllers obtain highly accurate approximations of the globally optimal solution with dramatically reduced computation compared to state-of-the-art.

Uploaded by

Jovana Nikolic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

O PTIMAL E NERGY M ANAGEMENT

IN E LECTRIC V EHICLES
C ONVEX O PTIMIZATION FOR M ODEL P REDICTIVE
C ONTROL

A THESIS SUBMITTED FOR THE DEGREE OF

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

Increased electrification of road vehicles has been identified as an important method of


mitigating air pollution and climate change, and the past ten years has seen a paradigm
shift in the automotive market towards hybrid, plug-in hybrid, and all-electric vehicles.
Electric vehicle battery technology currently suffers from several limitations relating to
cost, lifespan, and energy density, so a common approach to electric powertrain design
is a hybrid system in which an additional power or energy source is included to reduce
the battery’s shortcomings. The performance of a hybrid powertrain is strongly dependent
on the control system used to determine the power delivered from each source. There-
fore the design of control systems that can balance the power demand in a way that is
optimal (in the sense of minimizing fuel consumption, for example) is of great interest
to both academia and industry. Model predictive control (MPC) is a strong candidate for
this problem as it explicitly considers predictions of future driver and vehicle behaviour
together with hard constraints on system performance. However MPC requires that a po-
tentially challenging constrained optimization problem is solved repeatedly throughout a
given journey. This introduces a trade off between the closed loop performance of the
controller and the tractability of the associated MPC optimization problem.
This thesis presents an investigation into the use of convex optimization for model
predictive energy management in electric vehicles. The aim is to generate convex for-
mulations that permit more general descriptions of system dynamics than linear quadratic
MPC, whilst still ensuring that the resulting optimization problem can be readily solved
online using limited hardware. A particular contribution relative to previous work in the
area is the development of optimization algorithms that are specifically tailored to the
structure of the resulting convex optimization problem. The major part of the thesis is
focussed on energy management in plug-in hybrid electric vehicles (where the objective is
to minimize fuel consumption over a given journey), although the methods are extended
to all-electric vehicles with hybrid energy storage systems consisting of both conventional
batteries and supercapacitors (in this case the objective is to minimize energy consump-
tion and battery degradation). The MPC optimization problem for plug-in hybrid electric
vehicles is first formulated considering only the terminal constraint on the battery state
of charge, then progressively extended to consider the general state-of-charge constraints,
optimal engine switching, and driver behaviour uncertainty. In each case, the performance
of the MPC formulation and optimization algorithm is demonstrated in numerical studies,
and it is shown the the controllers obtain a highly accurate approximation of the globally
optimal solution, whilst dramatically reducing the computational requirement relative to
the current state-of-the-art.

I
II
N OMENCLATURE

Definitions, Equality, & Inequality

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

A≈B A is approximately equal to B

A > (≥) B A is element-wise greater than (or equal to) B

A < (≤) B A is element-wise less than (or equal to) B

A ()  B A − B is positive (semi)definite

f : A 7→ B f is a function that maps A onto B

Number Sets

Z the integers

Z++ the positive integers

{a, . . . , b} the interval of integers between a and b {x ∈ Z : a ≤ x ≤ b}

R the real numbers

R̄ the extended real numbers

R+ (R++ ) the non-negative (positive) real numbers

R− (R−− ) the non-positive (negative) real numbers

(a, b) the open interval between a and b {x ∈ R̄ : a < x < b}

[a, b] the closed interval between a and b {x ∈ R̄ : a ≤ x ≤ b}

Rn the set of n dimensional real vectors

III
NOMENCLATURE

Rm×n the set of m-by-n dimensional real matrices

Set operations

A∩B the intersection of A and B

A∪B the union of A and B

A\B the difference set of A and B

A⊕B the Minkowski sum of A and B

Vectors & Matrices

0 a vector of zeros

1 a vector of ones

O a matrix of zeros

I the identity matrix

Ψ a lower triangular matrix of ones

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

xi the ith element of vector x

x> the transpose of x

kxk a vector norm

kxk2 the vector 2-norm


p
kxkQ the vector Q-norm (Q ∈ Rn×n ) kxkQ := x> Qx

diag(x) a matrix formed with the elements of x on the diagonal

IA (·) the indicator function of set A

ΠA (x) the Euclidean projection of x onto A ΠA (x) := argminx̂∈A kx − x̂k2

IV
NOMENCLATURE

Matrix Operations

Ai,j the element on the ith row and jth column of A

Ai,: the ith row of A

A:,j the jth column of A

A⊗B the Kronecker product of A and B

vec (A) the columns of A stacked into a vector

Calculus

f 0 (·) the derivative of f

∇f (·) the gradient of f

∇i f (·) the ith element of the gradient of f

∇A f (·) the i ∈ A elements of the gradient of f

∇2 f (·) the Hessian of f

∂f (·) the subdifferential of f

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

A←B the value of B is assigned to A

V
NOMENCLATURE

Common Acronyms

ADMM Alternating Direction Method of Multipliers

BSEV Battery/Supercapacitor Electric Vehicle

CDCS Charge-Depleting/Charge-Sustaining

MPC Model Predictive Control

PHEV Plug-in Hybrid Electric Vehicle

PMP Pontryagin’s Minimum Principle

SOC State-of-Charge

Commonly Used Variables (PHEV Model)

e engine output power

m motor output power

d driver’s power demand

b mechanical braking power

p powertrain output power

σ engine on/off state

x battery state-of-charge

ωw wheel rotational speed

ωe engine rotational speed

ωm motor rotational speed

f (·) engine output-input power mapping

h(·) motor output-input power mapping

g(·) battery output-input power mapping

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

2 The Energy Management Problem 9


2.1 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Optimal Energy Management . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.1 Dynamic Programming . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.2 Pontryagin’s Minimum Principle . . . . . . . . . . . . . . . . . . 16
2.2.3 Equivalent Consumption Minimisation Strategy . . . . . . . . . . 19
2.2.4 Model Predictive Control . . . . . . . . . . . . . . . . . . . . . . 21
2.2.5 Convex Optimization . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3 Terminal State Constraint 31


3.1 Vehicle Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Model Predictive Controller . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.1 Convex Formulation . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3 Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4 Numerical Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.5 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4 General State Constraint 55


4.1 Model Predictive Controller . . . . . . . . . . . . . . . . . . . . . . . . 55
4.1.1 Feasibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.2 Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2.1 Alternating Direction Method of Multipliers . . . . . . . . . . . . 58
4.2.2 Projected Interior Point Method . . . . . . . . . . . . . . . . . . 62
4.3 Numerical Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3.1 Algorithm Comparison . . . . . . . . . . . . . . . . . . . . . . . 70
4.3.2 Energy Management . . . . . . . . . . . . . . . . . . . . . . . . 76

VII
CONTENTS

4.4 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79


4.A ADMM System of Linear Equations . . . . . . . . . . . . . . . . . . . . 81

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

6 Driver Behaviour Uncertainty 109


6.1 Model Predictive Controller . . . . . . . . . . . . . . . . . . . . . . . . 109
6.1.1 Feasibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.2 Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6.2.1 Variable Updates & Complexity . . . . . . . . . . . . . . . . . . 116
6.3 Numerical Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.3.1 Control Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.3.2 Scenario Generation . . . . . . . . . . . . . . . . . . . . . . . . 118
6.3.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.4 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

7 Battery/Supercapacitor Electric Vehicles 125


7.1 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.1.1 Optimal Control Problem . . . . . . . . . . . . . . . . . . . . . . 129
7.1.2 Convex Formulation . . . . . . . . . . . . . . . . . . . . . . . . 130
7.2 Optimization Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.2.1 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.2.2 Variable Updates & Algorithm Complexity . . . . . . . . . . . . 134
7.3 Numerical Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

VIII
CONTENTS

7.3.1 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138


7.4 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
7.A Analysis of Problem (MPC.5) . . . . . . . . . . . . . . . . . . . . . . . 145
7.B Piecewise Constant Solution of (MPC.5) . . . . . . . . . . . . . . . . . . 146
7.C Combined u and v update . . . . . . . . . . . . . . . . . . . . . . . . . . 146

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].

Increased electrification of vehicles has been identified as a short-term solution to these


problems, and improvements in practical and economic viability of electric powertrains
have ensured that both hybrid and fully electric vehicles have surged in popularity in the
past decade. It is expected that electric vehicles will reach a passenger vehicle market share
of 10% by 2024 [2, p. 3]. Whilst all-electric vehicles provide regeneration capabilities,
zero tailpipe emissions, and greater energy efficiency than internal combustion vehicles,
a significant limitation is the driving range available from a full battery charge, due to
the low energy density of the current state-of-the-art in battery technology (lithium-ion,
∼360kJ/kg [3, Fig.1]) compared to petrol (∼45,000kJ/kg [4, Appendix. D]). This issue is
exacerbated by the additional time required to charge a battery compared to filling a tank
with fuel. A further limitation of all-electric vehicles is the cost of the battery-pack, which
can currently reach 50% of the total cost of the vehicle [5, §3]. A factor contributing to
this is the low cycle-life and power density of lithium-ion batteries (∼2000 cycles and
≤2000 W/kg [6, Table B1]), which can cause the battery to be sized above its total energy
requirement. That is, a larger battery will reduce the frequency of high and low charge
states that increase the rate of battery ageing [7], and a larger battery may be needed to
meet the power requirement of the vehicle.

1
1.1. HYBRID TECHNOLOGY

1.1 H YBRID T ECHNOLOGY


A method for reducing the limitations of all-electric vehicles is to hybridize the battery and
motor with an additional power source and/or energy store. Many alternative energy/power
sources have been proposed, including hydrogen fuel-cells, flywheels, and supercapacitors
[8], and in a range of configurations. Consequently, a large vocabulary of terms has been
generated for specific hybrid architectures that is not always used consistently. Therefore,
before proceeding, the terminology used throughout this thesis is defined.

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.

Battery/supercapacitor electric vehicle (BSEV): An electric vehicle with an elec-


tric motor supplied by a hybrid energy storage system, consisting of a battery and
supercapacitor.

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.

1.2 E NERGY M ANAGEMENT

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

1.3 M ODEL P REDICTIVE C ONTROL & C ONVEX


O PTIMIZATION
It is possible to construct an optimal open-loop controller for a given journey a priori by
constructing a mathematical model of the vehicle and solving a corresponding optimiza-
tion problem based on a prediction of the driver’s behaviour. A limitation of this approach
is that there will always be a discrepancy between the modelled and physical dynamics of
the vehicles, and between the predicted and ensuing driver behaviour. If a power split that
is calculated this way is implemented during an actual journey, not only will the resulting
performance be sub-optimal compared with that predicted by the optimization, but there is
no guarantee that the vehicle will operate within hardware limits (e.g the upper and lower
limits on state of charge of the battery), which can be dangerous.
A method for addressing these limitations is model predictive control (MPC), where
instead of solving the optimization problem once it is solved repeatedly throughout the
journey and the power split is updated at each instant using the most recently computed
optimal control signal. This creates a feedback mechanism that provides a degree of ro-
bustness to modelling and prediction errors, as discrepancies between the model and the
actual vehicle dynamics and errors in the predictions of driver behaviour and traffic condi-
tions can be compensated for in future computations. A drawback of this approach is that
it introduces challenging computational constraints: the energy management optimization
problem is initially challenging to solve, and it must now be solved faster than the control
variable update frequency using the vehicle’s embedded powertrain control unit.
If the predictive powertrain model used for MPC is linear (or linearised), then the op-
timization problem reduces to a quadratic program that can be solved quickly and reliably
using widely available solvers (e.g. [12]). In reality, the losses in the powertrain are highly
nonlinear, and this approach therefore renders the applied control inputs suboptimal. A
more general class of problems that are considered ‘tractable’ are convex optimization
problems: those in which the objective function and constraint set are both convex. For
these cases a local minimum is also a global minimum, and fast optimization algorithms
exist for broad classes of canonical problem structures [13]. In the context of energy
management, this approach permits more accurate models of powertrain dynamics than
allowed by linear-quadratic MPC, and previous studies have demonstrated that the energy
management problem can be formulated as a convex optimization problem with minor
model approximation [14]. These studies, however, have typically used general purpose
convex optimization software to model and solve the problem (e.g. CVX [15, 16]), which
cannot obtain an accurate solution in real time using desktop hardware in simulation (e.g.
up to 21.4s were required in [17]), and also cannot generally be used with embedded hard-

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.

1.4 C ONTRIBUTIONS & O UTLINE


This thesis presents an investigation into convex formulations and optimization algorithms
for predictive energy management in electric vehicles. The aim is to develop MPC frame-
works that can consider detailed powertrain models and long, descriptive predictions,
whilst also being readily solvable using an embedded powertrain controller. Several for-
mulations are presented, in which varied levels of control authority and hardware con-
straints are considered, and the computational performance of each is demonstrated in
numerical simulations.
The outline of this thesis is as follows: Chapters 2-6 are concerned with energy man-
agement in PHEVs, and propose a set of MPC frameworks in which the complexity of the
model and constraints are incrementally increased. Chapter 7 is a standalone chapter con-
cerned with energy management in BSEVs. The individual contributions of each chapter
are described in more detail below.

C HAPTER 2: T HE E NERGY M ANAGEMENT P ROBLEM


An illustrative formulation of the PHEV energy management problem is introduced, and
common methods for optimization-based powertrain control are then formulated mathe-
matically with a discussion of the relevant literature.

C HAPTER 3: T ERMINAL S TATE C ONSTRAINT


The PHEV powertrain model used for Chapters 3-6 is presented, and a simple MPC con-
troller is proposed where the battery is only subject to a terminal state-of-charge constraint.
It is demonstrated that if the MPC problem is reformulated in terms of battery power it is
convex; a key result used throughout the rest of the PHEV energy management chapters. A
projected Newton method is proposed for the solution of the MPC optimization problem,
and convergence results are presented. The MPC algorithm is simulated in closed-loop
where it is demonstrated that the lack of general state-of-charge constraint is a fundamen-
tal limitation when the road is not flat.

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

C HAPTER 4: G ENERAL S TATE C ONSTRAINT


The MPC controller proposed in Chapter 3 is extended to consider upper and lower bounds
on the battery’s state of charge throughout the journey. Two optimization algorithms are
proposed for its solution: a first-order alternating direction method of multipliers (ADMM)
algorithm and a second-order projected interior-point algorithm. The performance of the
two algorithms is investigated in a set of numerical studies where it is demonstrated that
the ADMM algorithm can obtain a sufficiently accurate solution to the MPC optimization
problem in a fraction of a second, even with horizons of up to 1000 samples. The MPC
controller is then simulated in closed loop where it is shown to satisfy the state of charge
constraints at all times, and provide a close approximation of the globally optimal controls
obtained using DP. It is also, however, demonstrated that if the engine switching controller
is sufficiently suboptimal, then the optimization based controller may perform worse than
a CDCS strategy.

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].

C HAPTER 5: E NGINE S WITCHING


The MPC controller proposed in Chapter 4 is extended to consider engine switching to
improve its performance relative to the CDCS strategy. An ADMM algorithm is proposed
as a fast heuristic for the MPC optimization problem, which is necessarily nonconvex
due to the integer decision variable, and is shown to obtain a close approximation of the
globally optimal solution in practice. The MPC controller is then simulated in closed-
loop, where it is shown to provide significant fuel savings relative to CDCS control. A
comprehensive analysis of the convergence properties of the ADMM algorithm is included
in the appendix.

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].

C HAPTER 6: D RIVER B EHAVIOUR U NCERTAINTY


The MPC controller proposed in Chapter 4 is extended to consider uncertainty in future
driver behaviour. A scenario-based MPC formulation is proposed where the controller
optimizes over multiple predictions of future driver behaviour, and it is shown that the
ADMM algorithm proposed in Chapter 4 readily extends to the new case. Results from

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.

C HAPTER 7: BATTERY /S UPERCAPACITOR E LECTRIC V EHICLES


The approach used in the previous chapters for the PHEV energy management problem
is extended to the case of an all-electric vehicle with a hybrid energy storage system con-
sisting of batteries and supercapacitors. A general framework is proposed, considering
limits on battery, supercapacitor, and motor power, and battery and supercapacity energy,
and is shown to be convex under minor approximation. An ADMM algorithm is proposed
for the solution of the convex optimal control problem. A set of numerical studies is pre-
sented, where the convex formulation is shown to provide significant reductions in battery
degradation relative to a low-pass filtering controller.

This chapter was published in [23].

1.4.1 P UBLISHED W ORKS


A significant fraction of the work presented in this thesis has been presented in the follow-
ing peer-reviewed publications:

[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

[23] S. East and M. Cannon, “Optimal Power Allocation in Battery/Supercapacitor Elec-


tric Vehicles using Convex Optimization”, IEEE Transactions on Vehicular Tech-
nology, Vol. 69, no.11, pp. 12751-12762, 2020.
doi: 10.1109/TVT.2020.3023186

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

• S. East, M. Gallieri, J. Masci, J. Koutnik, and M. Cannon, “Infinite-Horizon Differ-


entiable Model Predictive Control”, International Conference on Learning Repre-
sentations (ICLR), Addis Ababa, Ethiopia, April 2020.
arXiv:2001.02244

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 HE E NERGY M ANAGEMENT P ROBLEM

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.

2.1 P ROBLEM F ORMULATION


Figure 2.1 shows a simplified overview of the powerflows in a PHEV powertrain, which
is the architecture considered for the majority of this thesis. The specific architecture
considered here is a parallel, pre-transmission PHEV1 , where the output of the engine
is mechanically coupled with the motor to a common drivetrain. In a series PHEV the
engine would be connected to a separate generator that would supply electric power to the
motor and battery, resulting in a mathematical structure that fits within the hybrid energy
storage formulation addressed in Chapter 7. A post-transmission PHEV has the motor(s)
connected directly to the wheels, and can be controlled using the framework proposed in
this chapter with minor modifications.
The high-level power transfers and kinematics considered for PHEV energy manage-
ment are as follows: fuel mass flow is delivered from a fuel tank to the engine, where it
is converted to mechanical power that is delivered through a clutch. Simultaneously, the
battery’s internal charge is converted to electrical power at its terminals, which is then con-
verted to mechanical power by the motor (and this power-flow can be reversed to charge
the battery). When the clutch is closed, the power from the motor and engine is combined
additively to power the drivetrain, otherwise it is driven entirely by the motor. The drive-
1
From this point, the preceding terms are dropped, and it can be assumed that every use of PHEV (without
qualifying the type) refers to a parallel pre-transmission PHEV.

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.

2.2 O PTIMAL E NERGY M ANAGEMENT


A simple PHEV powertrain control method is to determine the engine switching, gear
selection, and braking control inputs with heuristics, and control the relative fraction

12
2.2. OPTIMAL ENERGY MANAGEMENT

of power delivered by the motor and engine with a charge-depleting/charge-sustaining


(CDCS) strategy [24]. In this case, all of the driver’s demand power is delivered from the
motor until the battery is completely depleted, after which the state-of-charge of the bat-
tery is sustained by either not using the electric system or by controlling the powertrain as
a hybrid electric vehicle (e.g. only using the battery to brake and accelerate from a stand-
still). It has, however, been demonstrated that by delivering power from the motor and
engine simultaneously, and modulating the power fraction delivered from each through-
out the journey in a ‘blended mode’, the total fuel consumption can be reduced without
affecting total electrical energy consumption, as shown in Figure 2.3.

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

2.2.1 DYNAMIC P ROGRAMMING


BACKGROUND
The concept of dynamic programming was introduced and developed by Richard E. Bell-
man during the 1950’s, and is based on the principle of optimality:
“An optimal policy has the property that whatever the initial state and initial
decision are, the remaining decisions must constitute an optimal policy with
regard to the state resulting from the first decision” [26]
Dynamic programming is a fundamental tool of control theory, and a common approach
to energy management problems. The principles of dynamic programming are now de-
veloped mathematically to aid later discussion. Consider a system described by an ODE,
ẋ = f (t, x(t), u(t)), where x(t) ∈ Rn is the system state and u(t) ∈ Rm is the control
input. In order to measure the relative optimality of each candidate control input, consider
a running cost function L(t, x(t), u(t)), and terminal cost function LT (x(T )), so that the
cost functional for the optimal control problem is given by
Z T
J(t, x(t), u[t,T ] ) := L(τ, x(τ ), u(τ )) dτ + LT (x(T )) ∀t ∈ [0, T ].
t
The value function associated with this problem is the minimum (assuming that it exists)
of the cost functional at a given time and state:
V (t, x) := min J(t, x(t), u[t,T ] ) ∀t ∈ [0, T ].
u[t,T ]

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

By taking the limit as ∆t → 0, a partial differential equation known as the Hamilton-


Jacobi-Bellman equation is obtained,
n o
−∇t V (t, x) = min L(t, x, u) + h∇x V (t, x), f (t, x, u)i ,
u

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

DYNAMIC P ROGRAMMING A PPLIED TO PHEV E NERGY M ANAGEMENT


If the PHEV management problem described in Section 2.1 were to be approached us-
ing Dynamic Programming as presented above, the state could be given by x = x, the
control input given by u = (u, σ, r, b), and dynamics given by f (x) = −u(t). The hard
constraints on system operation could be represented by a time-varying indicator function,
I(u(t), t), that maps to infinity if any of the constraints are violated and to zero otherwise,
and a terminal constraint on the battery’s state-of-charge could be included with LT (x(t))
(which could also be an indicator function enforcing a terminal constraint set). The cost
functional would then be
Z Th i
J(u) := ṁf (t) + I(u(t), t) dt + LT (x(T )). (2.2)
0

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

where f : T × X × U 7→ X is is a function representing the discrete system dynamics


and L : T × X × U 7→ R is the stage cost. Simultaneously, the optimal control law,
U : T × X 7→ U, is generated from
U[t, xt ] := argmin {L(t, xt , ut ) + V[t + ∆t, f (t, xt , ut )]} ∀t ∈ {T − ∆t, . . . , 0}.
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

E XAMPLES IN THE LITERATURE


One of the limitations of dynamic programming is that it requires significant computa-
tional and memory resources, as the requirement for both increases exponentially with the
dimension of the state and control spaces. Dynamic programming is therefore not suit-
able for online PHEV energy management control, and is typically only used offline to
tune real-time controllers or as a performance benchmark. In an early paper (2003) [29],
dynamic programming was used to optimize the gear shift strategy and power split of a
parallel hybrid truck offline in order to understand the optimal behaviour, which was then
used to tune a real-time rule-based controller. The same dynamic programming approach
was then later used to determine the effect of varying levels of trip preview information
[30]. In [31], dynamic programming was used as an optimal baseline to investigate the
effect of road gradient information on other optimization-based control methods. The de-
terministic dynamic approach described in this section was extended to the stochastic case
using policy iteration in [32], generating a control law that minimized the expected cost
across a range of drive cycles. Power-split, gear selection, and engine switching control
were considered in [33], where dynamic programming was used as a baseline for other
optimization-based methods and shown to take 4799s to optimize a ∼1200s journey. Sim-
ilarly, dynamic programming was also used as a globally optimal baseline in [34, 35, 36].
Steps have also been taken to reduce the computational and memory requirements
of dynamic programming. For example, in [37] the minimization on the RHS of (2.3)
was approximated analytically, reducing the computational time from 490s to 5.1s with
only a 0.07% reduction in optimality (although this was only tested on a single drive-
cycle). A vehicle-to-grid system was proposed in [38] where U is computed offline and
transmitted to the vehicle from a centralised server. Neither approach, however, reduces
the (potentially significant) memory requirements. Conversely, both the computational and
memory requirements can be addressed by approximating the optimal control law obtained
with dynamic programming using a neural network as in [39], although the approximation
necessarily introduces a measure of sub-optimality, and it results in a black-box system
for which it is impossible to interpret control decisions.

2.2.2 P ONTRYAGIN ’ S M INIMUM P RINCIPLE


BACKGROUND
During approximately the same time period that the ideas behind dynamic programming
were being developed, an alternative approach to optimal control based on the calculus of
variations was formulated by Soviet Mathematician Lev Pontryagin, known as the mini-
mum principle. The optimality conditions obtained using Pontryagin’s minimum principle

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].

P ONTRYAGIN ’ S M INIMUM P RINCIPLE A PPLIED TO PHEV E NERGY


M ANAGEMENT
It is not always trivial to translate the conditions for optimality obtained using PMP into
an optimal control solution, and the general problem described in Section 2.1 is still in-
tractable in general. For illustrative purposes, a reduced problem where only the power-
split between the engine and motor is controlled is considered here. In this case, it

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)

and H(x, u, p) := p1 (t) · gt (ht (d(t) − e(t))) + p2 (t) − ft (e(t)).

The necessary condition for optimality given by Theorem 2.2.1 Property 1 states that

ṗ = −∇x H = (0, ∇t H),

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)

and the estimate of p1 (0) is updated until x(tf ) = (xf , T ).

E XAMPLES IN THE L ITERATURE


The benefit of the minimum principle relative to dynamic programming is that it uses sig-
nificantly less computation and memory, although it only provides a necessary optimality
condition, and is not sufficient (in general) to demonstrate global optimality. Furthermore,
whilst a solution is simple to demonstrate for the case where the terminal state constraint
is considered for power-split control, it is more challenging to address more general con-
straints and other control variables.
2
The physical condition for this result to hold is that the electrical losses are independent of the state-of-
charge of the battery, and is a common assumption in PMP approaches to the energy management problem.

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.

2.2.3 E QUIVALENT C ONSUMPTION M INIMISATION S TRATEGY


BACKGROUND

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

ṁf,equiv (e(t), λ(t), t) = ṁf (e(t), t) + λ(t) · gt (ht (d(t) − e(t))),

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)

E XAMPLES IN THE L ITERATURE

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

2.2.4 M ODEL P REDICTIVE C ONTROL


BACKGROUND
Although the minimum principle has been shown to provide a comparable measure of op-
timality to dynamic programming with significantly reduced computational requirements,
in general it is challenging to account for hard constraints in a systematic way. If con-
straints that are not considered in the optimal control formulation are active in operation,
the performance of the controller may significantly deteriorate with respect to that pre-
dicted by the optimization. A method for extending the ideas from optimal control to
explicitly consider hard constraints on states and control inputs is MPC. This a nonlinear
feedback control method where the input applied to the system is defined implicitly by
the solution of a constrained optimization problem. A general formulation of MPC for
the discrete-time linear-time-invariant case is now presented to illustrate the fundamental
ideas.
Consider a system with a state, x(t) ∈ Rn , and control input, u(t) ∈ Rm , where the
state at time t + ∆t is defined by

x(t + ∆t) := Ax(t) + Bu(t) ∀t ∈ {0, ∆t, . . . },

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},

where x := (x1 , . . . , xN ) is the predicted state trajectory, u := (u0 , . . . , uN −1 ) is the


corresponding control input trajectory, N ∈ Z+ is the prediction horizon, Lk is a running
cost on control and state, Xk+1 is a state constraint set, and Uk is a control constraint set.
The control input applied to the system over each sampling interval is then defined as the
first element of the optimized control vector, i.e. u(t) = u?0 (x(t)) ∀t ∈ {0, ∆t, . . . }.
One of the main technical challenges associated with MPC is obtaining the solution to
the constrained optimization problem in real time. A solution can be obtained for arbitrary

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].

S TOCHASTIC M ODEL P REDICTIVE C ONTROL

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

x(t + ∆t) := A(w(t))x(t) + B(w(t))u(t) + d(w(t)) ∀t ∈ {0, ∆t, . . . , },

where w(t) ∈ Ro is a vector parametrizing the uncertainty, d : Ro 7→ Rn is the system


disturbance, and A and B are now functions of the uncertainty vector. One approach to
addressing this uncertainty is Robust MPC, where it is assumed that the uncertainty is
restricted to a set, i.e.

w(t) ∈ Wt ∀t ∈ {0, ∆t, . . . }.

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

E XAMPLES IN THE L ITERATURE


The complexity of the powertrain model and constraints that can be used for MPC are
restricted by the specifications of the electronic control unit used for powertrain control4 .
As previously described, in the most general case the energy management problem can
take several hours to solve over long prediction horizons using dynamic programming, so
a degree of approximation and simplification is required.5 One of the challenging aspects
of using MPC for the energy management problem is that the prediction horizon can be
‘long’: a half hour journey sampled at 1Hz results in a prediction horizon of 1800 samples.
Consequently, the state-of-charge trajectory is typically not explicitly optimized. Instead,
a reference state-of-charge trajectory is generated so as to minimize fuel consumption
(similarly to ECMS), and then ‘short’ horizon MPC (i.e. 10 − 20 samples) is used to track
the reference trajectory. For hybrid-electric vehicles, the reference trajectory can be set
at a constant level so that the control algorithm is charge-sustaining, as demonstrated in
[76], where a constant terminal state-of-charge constraint was used in the MPC optimiza-
tion. Similarly, a quadratic cost on deviations from a constant terminal state-of-charge was
used in [77], and a quadratic cost was used to penalise deviations from a constant state-
of-charge reference across the entire prediction horizon in [78, 79, 80, 81]. For PHEVs,
a charge-depleting state-of-charge trajectory is instead constructed. In [82, 83], a linearly
decreasing trajectory was used (again, similarly to ECMS), although a reference trajec-
tory that adapted to predictions of driver power demand was also investigated in [82]. A
hierarchical framework was presented in [84], where a simplified powertrain model was
optimized over a long horizon to generate the state-of-charge trajectory, then short-horizon
MPC was used with a high fidelity model to track the optimized state-of-charge trajectory.
The real-time requirement of MPC influences the choice of optimization algorithm,
as only short prediction horizons can be used if a computationally expensive method is
selected. PMP was used in [76] as the MPC formulation only included a hard terminal
constraint, whilst dynamic programming was used for optimization in [78, 36, 84, 83]. The
use of dynamic programming places a significant restriction on the prediction horizon (e.g.
a prediction horizon of 10 samples was used in [36], and a maximum of 20 samples was
used in [83]), but this restriction can be reduced using the heirarchical approach of [84],
where the long-horizon prediction is updated at a lower frequency than the high fidelity
model. Another approach is to linearise the vehicle model about the reference state-of-
charge trajectory so that the optimization reduces to a quadratic program [78, 85], although
the linearization may introduce significant sub-optimality if the reference trajectory does
4
The specifications of the powertrain controller are challenging to quantify as a modern car typically has
a large range of available processing units.
5
An energy management specific MPC formulation is not presented here as it was for dynamic program-
ming and the minimum principle because several MPC formulations are presented in the following chapters.

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].

2.2.5 C ONVEX O PTIMIZATION


BACKGROUND
Convex optimization has its roots in linear programming, a class of optimization problems
developed in the 1940s for solving military logistics problems [89]. The development
of interior-point methods in the 1980s revealed that the principles of these methods for
solving linear programs could be extended to nonlinear optimization problems [90]. In
particular, interior point methods could be used to efficiently obtain a globally optimal so-
lution to the convex optimization problem of minimizing a convex function over a convex
set. To begin this section, some of the core concepts of convex optimization are presented:

Definition 2.2.1 (Convex Set). A set, C ⊆ Rn , is convex if

λx1 + (1 − λ)x2 ∈ C, ∀x1 , x2 ∈ C, ∀λ ∈ [0, 1].

Definition 2.2.2 (Convex Function). Let C ⊆ Rn be a convex set. A function, f : C 7→


(−∞, ∞], is convex if

λf (x1 ) + (1 − λ)f (x2 ) ≥ f (λx1 + (1 − λ)x2 ), ∀x1 , x2 ∈ C, ∀λ ∈ [0, 1].

The function is strictly convex if

λf (x1 ) + (1 − λ)f (x2 ) > f (λx1 + (1 − λ)x2 ), ∀x1 , x2 ∈ C, x1 6= x2 , ∀λ ∈ (0, 1).

25
2.2. OPTIMAL ENERGY MANAGEMENT

Definition 2.2.3 (Convex Optimization Problem). An optimization problem

min f (x)
x
s.t. x ∈ X

is convex if f : C 7→ (−∞, ∞] is a convex function and X is a convex set. A vector x? is


a minimum of f over X if

x? ∈ X ∩ C and f (x? ) = inf f (x).


x∈X

Proposition 2.2.1. If X ⊆ Rn is a convex set, and f : Rn 7→ (−∞, ∞] is a convex


function, then a local minimum of f over X is also a global minimum. If in addition f is
strictly convex, then there exists at most one global minimum of f over X .

Proof. The proof is presented in [91, p.118]

Proposition 2.2.1 implies that if an optimization problem is convex, an algorithm that


converges to a point satisfying the first-order necessary conditions (e.g. ∇f (x) = 0, if
C = X = Rn and f is differentiable) will also converge to the global optimum. Addition-
ally, for many useful forms of convex optimization problem, including linear programs,
quadratic programs, and semidefinite programs (subject to regularity conditions), algo-
rithms exist that can approximate the solution to arbitrary accuracy in polynomial time
[13]. These properties imply that convex optimization is, in a sense, ‘easier’ than noncon-
vex optimization. A further benefit of a convex formulation is that it can often be reliably
solved using general purpose convex optimization software, so it may not be necessary to
develop a dedicated optimization algorithm for a given problem. Consequently, convex
optimization has been applied extensively to problems in optimal control [92, 93, 94, 95].
For a textbook covering the fundamental theory, applications, and algorithms of convex
optimization, see [96].

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).

E XAMPLES IN THE L ITERATURE


Convex quadratic programs (in which the Hessian of the objective function is positive
semi-definite) are a subclass of convex optimization problems, so all of the aforementioned

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.

2.3 C ONCLUDING R EMARKS


This chapter presents an illustrative formulation of the PHEV energy management prob-
lem, and a review of the common optimization-based methods for its solution and their
limitations. It was demonstrated that dynamic programming can be used to solve the
energy management problem for arbitrary models and control variables, but that it is too
computationally demanding for a real-time online solution. This was contrasted with PMP,
which is significantly computationally cheaper, but has limitations when enforcing more
general constraints, and still requires an exact prediction of future driver behaviour. The
ECMS was derived and shown to be a mathematically equivalent to PMP, and methods of
adapting the costate/equivalence factor online using predictions of future driver behaviour
were reviewed. Model-predictive control was introduced as an alternative method of in-
cluding predictions of driver behaviour in a real-time, online framework, but was shown
to be limited by the computation required to solve the associated optimization problem
online. Finally, convex optimization was introduced as a method for forming computa-
tionally tractable energy management problems, and it was highlighted that there is a lack
of studies that have investigated tailored algorithms for efficiently solving the resulting
optimization problem.

29
C HAPTER 3

T ERMINAL S TATE C ONSTRAINT

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.

3.1 V EHICLE M ODEL


This section presents the PHEV model used for simulation, for which the key parameters
are summarized in Table 3.1. Figure 3.1 illustrates the transfers of power in the PHEV
powertrain model used for simulation, which will now be formulated in discrete time.
The velocity of the vehicle, v(t) ∈ R, and road gradient, θ(t) ∈ R, for a given journey
are sampled discretely for all t ∈ {0, . . . , T − 1}, where T ∈ Z++ is the duration of
the journey in seconds. This implies that the samples are taken at a uniform frequency
of 1Hz, which is a common sampling rate used for energy management problems (e.g.
[79, 82, 78, 84, 80]), although the approach presented here can be readily extended to
arbitrary sampling intervals.

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

Table 3.1: Model Parameters for a Typical Passenger Vehicle

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

∀t ∈ {0, . . . , T −1}, where mv ∈ R+ is the vehicle’s mass (assumed constant), v̇(t) ∈ R is


the vehicle’s acceleration (which can either be estimated from the velocity using numerical
differentiation, or sampled itself), ρa ∈ R+ is the density of the atmosphere, CD ∈ R+
is the vehicle’s drag coefficient, Av ∈ R+ is the vehicle’s frontal area, Cr ∈ R+ is the
vehicle’s rolling resistance coefficient, and g ∈ R++ is the acceleration due to gravity.
The third control variable considered in this framework is the mechanical braking power,
b(t) ∈ R− , which is nonpositive and combined additively with the power delivered by the
powertrain, p(t) ∈ R, to meet the driver demand power:

d(t) := p(t) + b(t), b(t) ≤ 0, ∀t ∈ {0, . . . , T − 1}. (3.5)

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

Fuel Mass Flow ṁf Motor Input Power c


400
200
Torque (Nm)

Torque (Nm)
300

200 0

100

0 −200

200 400 600 200 400 600


−1 −1
ωe (rads ) ωm (rads )

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.

Figure 3.3: Battery equivalent circuit model

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.

E NERGY M ANAGEMENT O PTIMIZATION


The objective is to minimize the total fuel consumed during the journey, so the energy
management optimal control problem is
T −1
X
min ṁf (t)
e(t),b(t),r(t),σ(t)
∀t∈{0,...,T } t=0

s.t. (3.1) − (3.15).


As previously discussed, there are several limitations with approaching the energy man-
agement problem this way, including the fact that the solution at the start of the journey
is dependent on a future prediction of driver behaviour, and that the optimization is chal-
lenging to solve in general, even if the future power demand is known exactly. A model
predictive controller is now proposed where the control inputs, e(t), b(t), r(t), and σ(t),
applied at each interval, t, are obtained from the solution of a simplified optimization
problem.

36
3.2. MODEL PREDICTIVE CONTROLLER

3.2 M ODEL P REDICTIVE C ONTROLLER


P REDICTION
It is assumed that a prediction of the vehicle’s velocity and the road gradient is available to
the controller over a shrinking horizon of N timesteps (where N = T − t and t is the time
when the prediction is made) as v := (v0 , . . . , vN −1 ) ∈ RN −1 and θ := (θ0 , . . . , θN −1 ) ∈
RN −1 . Additionally, it is assumed that the current power demand and wheel speed, d0 and
ωw,0 , can be accurately measured using the vehicle’s onboard sensors. Note that, for an
example variable v, the notation v(t) used to represent the simulated value of v at time
t, whereas the subscript notation vk is used to represent the value of v(t + k) predicted
at time t within the MPC framework. The future driver power demand, dk , and rotational
speed of the wheels, ωw,k , can then be determined using v and θ similarly to (3.1) and (3.4)
for all k ∈ {0, . . . , N − 1}.

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

P := {k ∈ {0, . . . , N − 1} : ωm,k ≥ ω e }, C := {0, . . . , N − 1} \ P,

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

f (ωe,k , ek ) ≈ α2 (ωe,k )e2k + α1 (ωe,k )ek + α0 (ωe,k )


h(ωm,k , mk ) ≈ β2 (ωm,k )m2k + β1 (ωm,k )mk + β0 (ωm,k )

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)

using the coefficients αi,k := αi (ωe,k ) ∀i ∈ {0, 1, 2} ∀k ∈ P and βi,k := βi (ωm,k ) ∀i ∈


{0, 1, 2} ∀k ∈ {0, . . . , N − 1}.
It is assumed that the battery’s open circuit voltage, Voc,k ∈ R, and resistance, Roc,k ∈
R, are constant across the prediction horizon at their current values, i.e.

Vk := V (x(t)) Rk := R(x(t)) ∀k ∈ {0, . . . , N − 1}.

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

∀k ∈ {0, . . . , N − 1}. Finally, the battery’s internal power is constrained by


iVk ≤ uk ≤ iVk ∀k ∈ {0, . . . , N − 1}.
For all of the numerical experiments presented in this thesis, the same sampling fre-
quency is used for both the simulation and MPC predictions (i.e. 1Hz), although this
MPC framework can also be trivially extended to an arbitrary prediction sampling inter-
val, which does not need to be the same as that used for the simulations. It is again assumed
that the power is constant between sampling intervals, so the predicted internal energy of
the battery, xk ∈ R, for the MPC optimization at time t is defined by
k−1
X
xk := x(t) − ui ∀k ∈ {1, . . . , N }. (3.24)
i=0

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

is considered, where XT ∈ [x, x] is the target terminal state-of-charge. The terminal


state of charge is useful for optimal energy management controllers for several reasons:
if the optimal state-of-charge trajectory decreases (near) linearly throughout the journey,
the optimal controller (in terms of minimizing fuel consumption) can be obtained with
only the terminal state-of-charge constraint (it will later be shown that this condition does
not hold in general). It will also be desirable when controlling a HEV powertrain for
the state-of-charge to be the same at the start and end of the journey. More generally, a
terminal state-of-charge constraint allows the relative efficiency of two candidate energy
management strategies to be determined by simply comparing their total fuel consumption.

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).

3.2.1 C ONVEX F ORMULATION


A convex reformulation of (MPC.1a) is now presented. This is not the first derivation of
a convex energy management problem, and it has previously been demonstrated that if
the constraint uk = gk (mk ) is relaxed to the inequality constraint uk ≥ gk (mk ) the re-
sulting problem is convex, and the constraint will be satisfied with equality at the solution
[14]. The approach presented here is instead to reformulate the problem so that the rate of
change of the battery’s internal energy, u, is the decision variable. This method is compu-
tationally preferable when the MPC problem is extended to the general battery constraint
in Chapter 4, as the previous approach then introduces N nonlinear inequality constraints
whereas the proposed method introduces N affine inequality constraints.

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

x1 > x2 =⇒ f (x1 ) ≥ f (x2 ) ∀x1 , x2 ∈ X .

41
3.2. MODEL PREDICTIVE CONTROLLER

A function is strictly increasing iff

x1 > x2 =⇒ f (x1 ) > f (x2 ) ∀x1 , x2 ∈ X .

Lemma 3.2.1. The composition of a concave function, g, and a decreasing convex func-
tion, f , is convex.

Proof. The property that g is concave implies that

g(λx1 + (1 − λ)x2 ) ≥ λg(x1 ) + (1 − λ)g(x2 ) ∀x1 , x2 ∈ dom(g), ∀λ ∈ [0, 1].

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)

∀x1 , x2 ∈ dom(g), ∀λ ∈ [0, 1], which concludes the proof.

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

so that ek is constrained to the domain of fk (ek ) in which it is an increasing function.


Additionally, choose an arbitrarily small, but positive value of δ in (3.22), then redefine
the limits on motor power as
 
β1,k
mk :← max mk , − , pk − ek mk :← min {mk , pk − ek } ∀k ∈ P. (3.26)
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.

Lemma 3.2.4. For every k ∈ P, the function fk : [ek , ek ] 7→ R defined by (3.19a) is


strictly convex and strictly increasing (Definition 3.2.1).

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.

Proof. The function ĥk (mk ) := 1 − 4RhVk (m2


k)
is quadratic with negative second derivative
(β2,k > 0 ∀k ∈ {0, . . . , N − 1}) so is also concave and has a unique maximising argument

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

is strictly increasing, strictly concave, and twice differentiable.

Proof. The property that gk is strictly convex implies that

λ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

y1 > y2 =⇒ gk−1 (y1 ) > gk−1 (y2 ) ∀y1 , y2 ∈ dom(gk−1 ). (3.28)

44
3.2. MODEL PREDICTIVE CONTROLLER

If y = gk (x), then

gk−1 (λy1 + (1 − λ)y2 ) = gk−1 (λgk (x1 ) + (1 − λ)gk (x2 ))


> gk−1 (gk (λx1 + (1 − λ)x2 )) (using (3.27) and (3.28))
= λgk−1 (y1 ) + (1 − λ)gk−1 (y2 ),

∀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.

Proof. The objective of (MPC.1b) twice differentiable, so is necessarily continuous, and


the constraint set is closed and bounded, so is compact. On the assumption that the con-
straint set is nonempty2 , the solution of (MPC.1b) therefore exists (Weierstrass’ Theorem
for continuous functions [91, p.237]). Additionally, the objective of (MPC.1b) is strictly
convex, so the solution is unique (Proposition 2.2.1).

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

u(t) := u?0 ∀t ∈ {0, . . . , T },

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

and µ ∈ R are Lagrange multipliers. Note that uk = gk (pk ) = uk ∀k ∈ / P, so the first


order necessary and sufficient conditions defining the unique solution of (MPC.1b) are

Fk0 (uk ) + λk − νk − µ = 0 ∀k ∈ P, (3.30a)


uk − uk ≥ 0 ∀k ∈ P, (3.30b)
λk ≥ 0 ∀k ∈ P, (3.30c)
λk (uk − uk ) = 0 ∀k ∈ P, (3.30d)
uk − uk ≥ 0 ∀k ∈ P, (3.30e)
νk ≥ 0 ∀k ∈ P, (3.30f)
νk (uk − uk ) = 0 ∀k ∈ P, (3.30g)
νk λ k = 0 ∀k ∈ P, (3.30h)
uk − uk = 0 ∀k ∈ C, (3.30i)
N
X −1
x(t) − uk − XN = 0, (3.30j)
k=0

(note that the values of λk and νk are arbitrary ∀k ∈ C).


The elements k where the inequality constraints are binding at each iteration, i ∈ Z+ ,
of the algorithm are estimated from
n  
(i) (i)
A(i) := k ∈ P : Fk0 (uk ) − µ < 0 ∧ uk − uk = 0
 o
0 (i) (i)
∨ Fk (uk ) − µ > 0 ∧ uk − uk = 0 , (3.31)

47
3.3. OPTIMIZATION

then the Newton step is defined by


    
∇2D(i) F (u(i) ) −1 ∆D(i) u(i) ∇D(i) F (u(i) ) − µ(i) 1
:= − P −1 (i) . (3.32)
−1> 0 ∆µ(i) x(t) − N k=0 uk − XN
| {z }
J (i)

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, . . . , ∞}.

The solution to (3.32) is then equivalent to


PN −1 (i) P (i)
Fk0 (uk )+µ(i)
−x(t) + k=0 uk + XN − k∈A(i) (i)
Fk00 (uk )
∆µ(i) = P (3.33)
00 (i)
k∈A(i) Fk (uk )

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.

The projected Newton method iteration is then defined by

µ(i+1) := µ(i) + ∆µ(i)


(i+1) (i) (i)
(3.35)
uk := min{uk , max{uk , uk + ∆uk }} ∀k ∈ {0, . . . , N − 1},

and the algorithm is terminated at the first iteration that the criterion

kJ (i) k ≤ 

is satisfied, where J (i) is defined in (3.32) and  ∈ R++ is a pre-determined convergence


threshold.

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

Fk0 (u?k ) − µ? =0 ∀k ∈ P ∩ {k : u?k ∈ (uk , uk )} (3.36a)


Fk0 (u?k ) − µ? ≤0 ∀k ∈ P ∩ {k : u?k = uk } (3.36b)
Fk0 (u?k ) − µ? ≥0 ∀k ∈ P ∩ {k : u?k = uk } (3.36c)
u?k − uk =0 ∀k ∈ C (3.36d)
N
X −1
x(t) − u?k − XN = 0 (3.36e)
k=0

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].

Stronger convergence results may be obtained under less restrictive assumptions if


∆u and ∆µ(i) are scaled by a stepsize parameter in (3.35). It is demonstrated for a
(i)

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

Road Gradient (rad)


Velocity (m/s)

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.

3.4 N UMERICAL E XPERIMENTS


D RIVER B EHAVIOUR
It is common in the energy management literature to model the driver using standard gov-
ernment test cycles (e.g. [57, 39, 50, 57, 79, 114]), as these will typically be used to
experimentally validate powertrain (and controller) performance. However, these cycles
do not accurately represent real-world driver behaviour. Therefore, in this thesis the driver
is modelled using real-world sensor data. Figure 3.4 shows the velocity and gradient tra-
jectories used for the numerical simulations here and throughout this thesis. The data was
obtained during a set of vehicle emissions tests conducted at Johannes Kepler University
Linz, Austria, and represents 49 journeys driven by four different drivers. One of the
key features of this dataset is that the same route is used for each journey, and therefore
provides an accurate representation of the uncertainty in driver behaviour across driving
conditions and drivers. This aspect is addressed further in Chapter 6.

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).

E XPERIMENTS W ITHOUT ROAD G RADIENT


Firstly, the simulations were conducted with the velocity profiles illustrated in Figure 3.4,
but the road gradient was set to zero for every journey (in both the simulations and the
MPC predictions). The state-of-charge trajectories and cumulative fuel consumption us-
ing both MPC and PMP are presented for all 49 journeys in Figure 3.5, with a single
representative journey (chosen at random) highlighted. It can only be guaranteed that
PMP obtains a stationary point of the energy management problem, and when the model
used for simulation is considered in the optimization (as is the case here) then this may not
be the global minimum as the problem is nonconvex in general. However, the results show
that PMP provides marginally superior performance to MPC, reducing fuel consumption
by 0.78 % on average, and is therefore likely to be a close approximation of the globally
optimal controls in these examples. Additionally, the results also show that the state-of-
charge and fuel consumption trajectories are extremely similar between MPC and PMP,
which implies that MPC obtains a close approximation of the optimal controller, despite
the model approximation used in the convex formulation. It can also be seen in this case
that an assumption of a linearly decreasing state-of-charge trajectory is generally a good
approximation of the true trajectory across all journeys. The average time taken to solve
the MPC optimization was 0.76 ms (maximum 30 ms and minimum 17 µs), and therefore
the algorithm is, computationally speaking, a suitable candidate for an online, embedded
MPC controller.

E XPERIMENTS W ITH ROAD G RADIENT


Figure 3.6 shows the experiments repeated with the real road gradient data presented in
Figure 3.4. It is again demonstrated that MPC provides a very close approximation of the
controls obtained with PMP, but two significant issues are now encountered. Firstly, it can
now be clearly seen that that the state-of-charge trajectory is not linearly decreasing, and
approaches that use short-horizon MPC to control the battery’s state of charge to track a
linearly decreasing reference trajectory (e.g. [82, 83]) will therefore introduce significant
suboptimality to the controller. Secondly, it can be seen that the battery’s state-of-charge
dips significantly below its terminal constraint. This may not be an issue for the test
cases presented here, but it is therefore possible that either control method could attempt
to discharge the battery past its lower state-of-charge limit (or overcharge past its upper
limit). In this case the controller will be overridden to prevent damage to the battery,

51
3.4. NUMERICAL EXPERIMENTS

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.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.

3.5 C ONCLUDING R EMARKS


In this chapter a vehicle model was presented with the structure and fidelity similar to
that typically used to investigate energy management problems, and a MPC framework
was proposed where nonlinear models were used to obtain a high accuracy approximation
of the powertrain losses used for simulation. It was subsequently shown that the MPC
optimization problem is convex under negligible further approximation when stated in
terms of the battery’s discharge rate. The MPC controller was compared in simulation
with PMP (for which the exact powertrain losses were considered) in simulation where
it was shown to provide near-optimal control inputs, and the optimization algorithm was
shown to be sufficiently fast for a real-time solution. However, it was also demonstrated
that a linearly decreasing state-of-charge reference is inaccurate in general, and a terminal
state-of-charge constraint is not sufficient to ensure optimal performance in a typical real-
world driving scenario. In the following chapter, an MPC controller is proposed in which
the state-of-charge constraints are explicitly enforced across the entire prediction horizon
to address this limitation.

53
C HAPTER 4

G ENERAL S TATE C ONSTRAINT

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.

4.1 M ODEL P REDICTIVE C ONTROLLER


Problem (MPC.1b) can be trivially extended to enforce the bounds on state-of-charge
x ≤ xk ≤ x ∀k ∈ {1, . . . , N }. (4.1)
From (3.24) it can be shown that x := (x1 , . . . , xN ) = 1x(t) − Ψu, where Ψ is a lower
triangular matrix of ones, and define u := (u0 , . . . , uN −1 ) and u := (u0 , . . . , uN −1 ). Ad-

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).

Algorithm 1 Feasibility certificate for (MPC.2)


Input: (x(t), u, u, x, x)
Output: (F, Feasible)
1: (min F0 , max F0 ) ← (x(t), x(t))
2: for k = 0, . . . , N − 1 do
3: max Fk+1 ← min{x, max Fk − uk }
4: min Fk+1 ← max{x, min Fk − uk }
5: if max Fk+1 < min Fk+1 or uk < uk then
6: return (∼, FALSE).
7: end if
8: end for
9: return (F, TRUE).

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

4.2.1 A LTERNATING D IRECTION M ETHOD OF M ULTIPLIERS


In this section an ADMM algorithm is proposed for the solution of (MPC.2). Firstly, the
methods for initializing, iterating, and terminating the algorithm are presented, then the
computational and memory complexity of the algorithm is analysed in detail. Problem
(MPC.2) is the equivalent of the equality constrained optimization problem
N
X −1
min F (u) + [IUk (uk ) + IX (xk+1 )] ,
u
k=0 (4.4)
s.t. u = ζ
x = 1x(t) − Ψζ,
where ζ ∈ RN is a vector of dummy variables, and the indicator functions are defined for
a given set S by (
0 s∈S
IS := .
∞ s∈ /S
Problem 4.4 is in turn the equivalent of
N
X −1
min F (u) + [IUk (uk ) + IX (xk+1 )] s.t. ũ + Bζ = c, (4.5)
u
k=0

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)

ζ (i+1) := argmin L(ũ(i+1) , ζ, λ(i) ), (4.7b)


ζ

λ(i+1) := λ(i) + Aũ + Bζ − c, (4.7c)

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

r(i+1) := ũ(i+1) + Bζ − c, and s(i+1) := ρB(ζ (i+1) − ζ (i) )

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

ũ(0) = 0, ζ (0) = 0, λ(0) = 0,

and terminated at the first iteration where the criterion

max{kr(i+1) k, ks(i+1) k} ≤  (4.8)

is met, where  ∈ R+ is a pre-determined convergence threshold. The ADMM iteration


(4.7) is a particular case of ‘Generalized ADMM’, for which it was demonstrated in [128]
that O(1/) iterations are required to meet criterion (4.8) for a given problem. To the
best of the author’s knowledge there are no theoretical results that demonstrate how the
iteration complexity varies with horizon length (i.e. problem size), but numerical studies
suggest that the number of iterations required to meet a given tolerance  is independent
of horizon length [20, §5-C].

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)

where X N := {x ∈ RN : x ≤ xk ≤ x, k ∈ {1, . . . , N }}, and the projection on a set S is


defined by ΠS (s) := argminŝ∈S ks − ŝk. The u(i+1) update is separable w.r.t the elements

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

Algorithm 2 ADMM Algorithm for Problem (MPC.2)


Input: (x(t), u, u, x, x, F, )
Output: u†
1: (∼, Feasible) ← Algorithm 1.
2: if Feasible = False then
3: return ∼
4: end if
5: (u(0) , x(0) , ζ (0) , λ(0) ) ← 0
6: (r (0) , s(0) ) ← ∞
7: i ← 0
8: while max{kr (i+1) k, ks(i+1) k} >  do
(i+1)
9: uk ← (4.9a) ∀k ∈ {0, . . . , N − 1}
10: x(i+1) ← (4.9b)
11: ζ (i+1) ← (4.10)
12: (r(i+1) , s(i+1) ) ← (4.11)
13: λ(i+1) ← λ(i) + r(i+1)
14: i←i+1
15: end while
16: return u† ← u(i)

61
4.2. OPTIMIZATION

4.2.2 P ROJECTED I NTERIOR P OINT M ETHOD


This section presents a novel primal-dual interior point method algorithm where the element-
wise bounds on the control variable are enforced by a projection in the Newton step instead
of a logarithmic barrier function. The section begins with the formulation of the barrier
approximation and optimality conditions, then a computationally efficient initialisation al-
gorithm is presented. The main projected interior-point algorithm is then presented, and
the section is concluded with an analysis of the computational complexity of each iteration,
and a discussion of convergence to the minimizing argument of (MPC.2).

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

min F (u) + Bµ (s),


u
s.t. Au − c − s = 0 (IP.b)
u ≤ u ≤ u,

where Bµ : R2N 7→ R is a logarithmic barrier function defined by


2N
1X
Bµ (s) := − log sk ,
µ k=1

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

Lµ (u, s, θ1 , θ2 , θ3 ) := F (u) + Bµ (s) − θ1> (Au − c − s) − θ2> (u − u) − θ3> (u − u),

62
4.2. OPTIMIZATION

where θ1 ∈ R2N and θ2 , θ3 ∈ RN are vectors of Lagrange multipliers. By defining the set

A◦ := {k : (u◦k = uk ∧ Fk0 (u◦k ) − A> ◦ 0 ◦ >


:,k > 0) ∨ (uk = uk ∧ Fk (uk ) − A:,k < 0)}

where A:,k is the kth column of A, the necessary and sufficient conditions for the (unique)
values that minimize (IP.b) are

Fk0 (u◦k ) − A> ◦


/ A◦ ,
:,k θ1 = 0 ∀k ∈ (4.12a)
1
S ◦ θ1◦ = 1, (4.12b)
µ
◦ ◦
Au − c − s = 0, (4.12c)
u◦ − u ≥ 0, (4.12d)
u − u◦ ≥ 0, (4.12e)
s◦ > 0, (4.12f)
θ1◦ ≥ 0, (4.12g)

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}.

If Gk is nonempty, then it is trivially closed and convex, and can be parametrized by


h i
Gk = [min Gk , max Gk ] = max{min Gk+1 +uk , min Fk }, min{max Gk+1 +uk , max Fk } .

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).

Algorithm 3 Projected Interior Point Initialization Algorithm


Input: (u, u, x, x, F)
(0)
Output: (u(0) , s(0) , θ1 , FLAG)
1: (max GN , min GN ) ← (max FN , min FN )
(0)
2: xN ← 12 (max GN + min GN )
3: for k = N − 1, . . . , 0 do
4: max Gk ← min{max Gk+1 + uk , max Fk }
5: min Gk ← max{min Gk+1 + uk , min Fk }
(0)
6: xk ← 12 (max Gk + min Gk )
(0) (0) (0)
7: uk ← xk − xk+1
8: if max Fk = min X ∨ min Fk = max X then
9: return (∼, ∼, ∼, FALSE)
10: end if
11: end for
12: s(0) = Au(0) − c
(0)
13: θ1 = µ1 (S (0) )−1 1
(0)
14: return (u(0) , s(0) , θ1 , TRUE)

(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

|Fk+1 | > 0 =⇒ |Fk ∩ {Fk+1 ⊕ Uk }| > 0 (Fk+1 = {Fk ⊕ −Uk } ∩ X )


=⇒ |Fk ∩ {Gk+1 ⊕ Uk }| > 0 (Gk+1 ⊆ Fk+1 and |Gk+1 | > 0) (4.14)
=⇒ |Gk | > 0 (Definition of Gk ).

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.1. The computational and additional memory requirements of Algorithm 3


scale linearly with 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

Algorithm 4 Projected Interior Point Algorithm for Problem (MPC.2)


Input: (x(t), u, u, x, x, F, µ, µ0 , kµ , τ )
Output: u†
1: (F, Feasible) ← Algorithm 1.
2: if Feasible = False then
3: return ∼
4: end if
(0)
5: (u(0) , s(0) , θ1 , FLAG) ← Algorithm 3.
6: if FLAG = False then
7: return ∼
8: end if
9: µ ← µ0
10: i ← 0
11: (A(0) , D (0) ) ← (4.15)
(i)
12: while µ < µ ∨ rIP ≥ µ1 do
(i)
13: (∆u(i) , ∆s(i) , ∆θ1 ) ← (4.16)
14: (αs , αθ ) ← (4.17)
(i+1)
15: (u(i+1) , s(i+1) , θ1 ) ← (4.18)
16: i←i+1
17: (A(j) , D(j) ) ← (4.15)
(i)
18: rIP ← (4.19)
(i)
19: if rIP < µ1 then
20: µ ← min{µ, kµ µ}
21: end if
22: end while
23: return u† ← u(j)

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

L̂µ (u, s, θ1 ) := F (u) + Bµ (s) − θ1> (Au − c − s) (4.21)

subject to the constraint u ≤ u ≤ u. The strict inequality in the definition of A◦ implies


(i)
that there is a region of (u(i) , s(i) , θ1 )-space close to (u◦ , s◦ , θ1◦ ) where A(i) = A◦ , and
a subset of this region will meet the conditions for the local quadratic convergence of

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).

4.3 N UMERICAL E XPERIMENTS


This section presents two sets of numerical experiments. Initially, both of the algorithms
are tested against randomly generated examples of problem (MPC.2) to determine their
relative computational performance without reference to a specific powertrain. Then, a
model predictive controller defined by the solution of (MPC.2) is implemented in closed-
loop on the same driver behaviour data simulated in Section 3.4, in comparison with dy-
namic programming.

4.3.1 A LGORITHM C OMPARISON


Using observations from the experiments in Section 3.4, predictions of driver power de-
mand were generated from pk ∈ [−2.5 × 103 , 104 ], and hardware parameters generated
from α2,k , β2,k ∈ [−5 × 10−4 , 5 × 10−4 ], α1,k , β1,k ∈ [0.5, 1.5], and α0,k , β0,k ∈ {0}
∀k ∈ {0, . . . , N − 1}. All values were sampled uniformly within the stated ranges. The
battery parameters were set at Vk = 300 and Rk = 0.1 ∀k ∈ {0, . . . , N −1}, and the limits
on state and input were set at x = 105 , x = 0, u = −1 · 15 × 103 and u = 1 · 15 × 103 .
An initial state of charge of x(t) = 0.9 · x was assumed for all experiments. The spec-
ified limits were chosen to approximate those obtained in Section 3.4, and to ensure that
the problems were feasible and that both the state and input constraints were active at the
solution. Finally, the effect of varying τ was not investigated and was set at τ = 0.995 for
all projected interior point solutions.

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

problems were generated for each hori- 10−1


zon length of N ∈ {100, 200, 300, 400}
10−2
for a total of forty problems, and the pro-
jected interior point method was used to 10−3
obtain a solution for each with the pa-
rameters µ0 = µ, and µ iteratively in- 2 4 6 8 10 12 14 16 18 20
creased from 102 to 105 in twenty logarith- j
mically spaced points (kµ is not required
as the algorithm is terminated when con- Figure 4.2: Data showing the decrease in the
dition (4.19) is first met). For each µj , change of control vector obtained by the pro-
j ∈ {1, . . . , 20}, the control input vector jected interior-point method as µ is increased
† from 100 to 105 . The red line is used to high-
at termination, uj , was recorded, forming
† † light the 100 threshold on the vertical axis.
the sequence (u1 , . . . , u20 ) for each prob-
lem. Figure 4.2 shows that as µ was in-
creased, the norm of the difference between the value of u† when the algorithm terminated
with successive values of µ, ku†j − u†j−1 k, decreased within an inverse band for all cases,
and that at µ = 105 , this metric had reduced to less than 1 for all problem cases. Given that
the decision variable, u, can take a range of values in the order of 104 , it was concluded that
µ = 105 is sufficiently large to provide an accurate solution to problem (MPC.2), and all
future references to u? refer to control inputs found using Algorithm 4 with µ0 = µ = 105 .

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

N = 100 N = 200 N = 300 N = 400


10.0 32

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 .

investigations to determine the most computationally efficient combination of parameters


for each algorithm.
To determine the values of ρ1 , ρ2 , µ0 , and kµ , that provide optimal convergence for
the ADMM and projected interior point algorithms, twenty new problems were generated
for each horizon length of of N ∈ {100, 200, 300, 400}. These were solved using the
projected interior point algorithm with µ = 105 , 10−5 ≤ µ0 ≤ 101 , and 1 < kµ ≤ 105 /µ0
(any value of kµ greater than this would ensure that µ is projected onto µ during the first
update step (4.18)). For each problem instance, the number of iterations required for the
algorithm to terminate was recorded, and the average for each combination of parameters
is shown in Figure 4.3. It can be seen that there is a vertically banded region at µ0 ≈ 10−1
that requires a minimum number of iterations for all horizon lengths, and that there is a
profile to the search space that varies little with changes in horizon length. The values
µ0 = 10−1 and kµ = 104 were therefore selected as the optimal parameters.
For the ADMM algorithm a different approach was taken, as the significantly more
iterations were required to achieve the same level of accuracy as the projected interior
point algorithm with µ = 105 . Instead, a total of 100 ADMM iterations were completed
for each problem (ignoring the stated termination criteria) with 10−6 ≤ ρ1 ≤ 10−3 and
10−7 ≤ ρ2 ≤ 10−4 . The average norm of the difference between the control input at

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? )| (%)

ated consisting of 5 cases for each of N ∈


{100, 200, 300, 400}, and using the values 101
of ρ1 , ρ2 , µ0 and kµ determined during the 10−1
tuning phase, each problem was solved us- 10−3
ing ADMM for one hundred iterations, and
10−5
using the projected interior point algorithm
10−7
with µ = 105 . The absolute difference
between the cost evaluated at iteration j 1 20 40 60 80 100
and the optimal cost, |F (u(j) ) − F (u? )|, is Iterations
shown in Figure 4.4. The results clearly
Figure 4.4: Curves showing the normalized error
demonstrate sublinear convergence for the
between the cost evaluated at iteration j and the
ADMM algorithm, whilst the projected in-
optimum, as a percentage, for twenty systems us-
terior point results show superlinear con- ing both the projected interior-point method and
vergence. Therefore, the projected interior the ADMM. The curves highlighted in red corre-
point algorithm can produce an extremely spond to the system shown in Figure 4.5, and the
accurate solution within a few tens of itera- red circle shows the iteration from which those
tions, whereas significantly more iterations curves were taken.
are required for ADMM.

73
4.3. NUMERICAL EXPERIMENTS

Optimum ADMM Interior Point U X


15 100
5
10
75 0
5
uk (kW)

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 .

A threshold of 1% was considered high enough for ‘sufficient’ accuracy, as this is


likely to be lower than the level of uncertainty in state measurements used to formulate
the problem, and the results shown in Figure 4.5 illustrate that the deviation between the
control vectors obtained by both the ADMM and projected interior point algorithms and
the optimum are almost imperceptible at this level of convergence. A slightly larger de-
viation is observed between the state trajectories, particularly that obtained with ADMM.
However, this is because the state trajectory is a function of the integral of the control
input, and as the cost is not a function of state-of-charge this does not necessarily indicate
greater sub-optimality. A key property of the algorithms is also demonstrated in Figure
4.5: the state constraints are only guaranteed for both algorithms when the residuals, r and
s, are precisely zero (this is also why the absolute error is presented in Figure 4.4, as the
cost evaluated for each iteration of can be lower than F (u? )). Therefore, the termination
criteria do not provide a strict guarantee of enforcing the state constraints, and we can see
that for the final three timesteps the lower state limit is violated by ≈ 2.5% of the feasible
state band for the ADMM trajectory. This limitation can be reduced by tightening the al-
gorithms’ convergence thresholds, which makes it more significant for ADMM due to its
sublinear rate of convergence.
Based on residuals for the projected interior point and ADMM trajectories shown in
Figure 4.5, it was assumed that  = 4 × 103 and µ = 1 enforce a ‘sufficient’ level of
convergence. A further twenty problems were generated for horizons 50 ≤ N ≤ 1000,
and the iterations to completion, mean time taken per iteration, and time to completion

74
4.3. NUMERICAL EXPERIMENTS

CVX ADMM Interior Point O(N ) O(N 2 ) O(N 3 )

400 102

Mean time per iteration (s)


Iterations to Completion

Time to Completion (s)


20 −1
10
300 101
15
10−2
200 100
10
10−3 10−1
100 5
10−4 10−2
0 0

0 500 1000 0 500 1000 0 500 1000


N N N

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.

4.3.2 E NERGY M ANAGEMENT


C ONTROL A LGORITHMS
The same driver behaviour data as that presented in Section 3.4 was used for simulation,
and for each journey, the state of charge of the battery was initialized at 60% and con-
strained between 40% and 100%. Four control algorithms were used:

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

Dynamic Programming MPC (no electrical losses) MPC x


State-of-charge (%) Fuel Consumption (kg)

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

0 200 400 600 800 1000 0 10 20 30 40 50


Time (s) Journey
Figure 4.7: Closed loop results using dynamic programming, MPC, and MPC with the electrical
losses ignored in the predicted dynamics. The hard lower bound on the state-of-charge of the
battery is shown in the red area.

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

MPC (no electrical losses) MPC Dynamic Programming


Frequency

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.

4.4 C ONCLUDING R EMARKS


In this chapter it was demonstrated that the convex MPC formulation presented in the
Chapter 3 can be readily extended to consider the state-of-charge constraints across the
entire prediction horizon. A computationally cheap algorithm was presented for obtain-
ing a feasibility certificate for the problem, and then an ADMM algorithm and a novel
projected interior point algorithm were presented for its solution. It was demonstrated in
a set of numerical studies that the projected interior point method could obtain a highly
accurate solution in fewer iterations, but that a sufficiently accurate solution could be ob-
tained much faster using ADMM. The MPC optimization was implemented in closed-loop
where it was shown to very closely approximate the globally optimal solution obtained us-
ing dynamic program, and that the performance of the MPC controller is reduced when
the nonlinear losses in the battery are ignored. Finally, it was demonstrated that a poor en-
gine control heuristic can render the optimized control inputs as poor as CDCS, so in the
following chapter, the MPC optimization is extended to also consider engine switching.

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

(kI + Ψ> Ψ)x = b, (4.22)

where k ∈ R+ , x, b ∈ RN , Ψ is a N × N lower triangular matrix of ones, and I is the


identity matrix, can be solved with O(N ) computation and O(N ) memory storage.

Proof. Firstly, note that


" #  1 −1 
1 −1 2 −1
−1 1
Ψ−1 = .. .. , Ψ−1 (Ψ−1 )> =  .. .. .. ,
. . . . .
−1 1 −1 2 −1
−1 2

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

(kΨ−1 (Ψ−1 )> + I) = LL>

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

x = L> \L\Ψ−1 (Ψ−1 )> b,

where the backslash operator indicates a backwards/forwards substitution. Multiplications


by Ψ−1 and (Ψ−1 )> are the equivalent of difference operations, and the backwards/forwards
substitutions involve matrices with only nonzero entries on the diagonal and first subdi-
agonal/superdiagonal, so the total complexity of the operations is O(N ). The only values
that need storing in memory are the diagonal and first subdiagonal entries of L, which
require O(N ) storage.

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

5.1 M ODEL P REDICTIVE C ONTROLLER


Recall from Section 3.1 that the engine control is defined by σ, where σk = 0 implies that
the engine is off and σk = 1 implies that the engine is on at the kth timestep. Assuming
that the transient dynamics of engine switching (and clutch engagement) are negligible, the
switching variable σk is incorporated in the model by considering two effects: A) all of the
power is delivered by the electric system when the engine is off B) the fuel consumption
when the engine is off is zero. Effect A) is introduced to the model with the constraint

gk (pk ) + σk γk ≤ uk ≤ gk (pk ) + σk δk ∀k ∈ {0, . . . , N − 1}, (5.1)

where γk := uk − gk (pk ) and δk := uk − gk (pk ).

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.

Effect B is introduced by defining the fuel consumption as function, ṁf : [u0 , u0 ] ×


· · · × [uN −1 , uN −1 ] × [0, 1]N 7→ R, of battery power and engine state, given by
X  X
ṁf (u, σ) := fk (pk − gk−1 (uk )) + (σk − 1)fk (0) + σk fk (0). (5.2)
k∈P k∈C

Note that it can be seen from (5.1) that σk = 0 =⇒ fk (pk − gk−1 (uk )) = fk (0).

Proposition 5.1.2. Function (5.2) is convex.

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 .

A quadratic ‘driveability’ cost, d : [0, 1]N 7→ R, defined by

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.

C ONVEX M IXED I NTEGER P ROGRAMMING


Note that (MPC.3) is of the form of a convex mixed-integer nonlinear program (when
S = {0, 1}), a general class of problems for which several optimization algorithms have
been extensively investigated: for a review of algorithms and software see [130] and/or
[131]. A major issue with solving mixed-integer problems is that, even when the objective
and constraints are otherwise convex, they are N P-hard in general, and exact solution
algorithms are therefore often too computationally intensive for an online solution. For
example, in the worst case, a branch-and-bound algorithm would require the solution of
2N convex relaxations to generate a solution for (MPC.3). This issue motivates the use of

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

min f˜(ũ) + g̃(x̃)


(ũ,x̃)
(5.4)
s.t. Aũ + B x̃ = c

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

The augmented Lagrangian associated with (5.4) is


1
Lρ (ũ, x̃, λ) := f˜(ũ) + g̃(x̃) + kAũ + B x̃ − c + λk2ρ (5.6)
2
where

kxk2ρ := x> ρx, ρ := diag(ρ1 1, ρ2 1, ρ3 1, ρ4 1), ρ1 , ρ2 , ρ3 , ρ4 ∈ R++ ,


λ := (λ1 , λ2 , λ3 , λ4 ), λ1 , λ2 , λ3 , λ4 ∈ RN .

87
5.2. OPTIMIZATION

The ADMM iteration is then defined by

ũ(i+1) := argmin L(ũ, x̃(i) , λ(i) ), (5.7a)


x̃(i+1) ∈ argmin L(ũ(i+1) , x̃, λ(i) ), (5.7b)


λ(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

r(i+1) := Aũ(i+1) + B x̃(i+1) − c and s(i+1) := A> ρB(x̃(i+1) − x̃(i) ). (5.9)

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).

5.2.2 C ONVERGENCE & O PTIMALITY


Problem (5.4) is the form of optimization problem addressed in the appendix to this chap-
ter, in which it is demonstrated that when S = {0, 1}, every point in (u, x, y)-space where
the battery power allocation is globally optimal w.r.t the engine switching sequence is a
stationary point of iteration (5.7), and these points each have a convergent neighbourhood.
Additionally, it is demonstrated that these are the only stationary points of iteration (5.7).
Therefore, the solution returned when Algorithm 5 terminates is the equivalent of the so-
lution of (MPC.2) given the ‘optimized’ engine switching sequence. A limitation of this
approach is that it cannot be guaranteed that the algorithm will converge to a ‘good’ en-
gine switching sequence: for example, the engine switching sequence obtained from the
heuristic in the previous Chapter is an attractor for (5.7). A further limitation is that no
lower bound is provided on the size of the basin of attraction at each point (so convergence
is not guaranteed from an arbitrary point). However, a locally convergent region exists for
every possible engine switching sequence, so (5.7) has 2N attractors. This may explain
why the algorithm reliably converges in the numerical simulations that follow. The prin-
ciple of Algorithm 5 is to encourage both convergence (in the sense that the iterates do

88
5.2. OPTIMIZATION

Algorithm 5 ADMM Algorithm for Problem (MPC.3)


Input: (x(t), u, u, γ, δ, F, )
Output: (u† , σ † )
1: (κ(0) , u(0) , x(0) , σ (0) , η (0) , ζ (0) , λ(0) ) ← 0
2: (r (0) , s(0) ) ← ∞
3: S ← [0, 1]
4: i ← 0
5: while max{kr (i+1) k, ks(i+1) k} >  do
6: ũ(i+1) ← (5.7a) ∀k ∈ {0, . . . , N − 1}
7: x̃(i+1) ← (5.7b)
8: (r(i+1) , s(i+1) ) ← (5.9)
9: λ(i+1) ← λ(i) + r(i+1)
10: i←i+1
11: end while
12: S ← {0, 1}
13: while max{kr (i+1) k, ks(i+1) k} >  do
14: ũ(i+1) ← (5.7a) ∀k ∈ {0, . . . , N − 1}
15: x̃(i+1) ← (5.7b)
16: (r(i+1) , s(i+1) ) ← (5.9)
17: λ(i+1) ← λ(i) + r(i+1)
18: i←i+1
19: end while
20: return (u† , σ † ) ← (u(i) , σ (i) )

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.

5.2.3 VARIABLE U PDATES & C OMPLEXITY


Firstly, note that the augmented Lagrangian (5.6) is equivalent to

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)

The joint (ηk , σk ) update (5.12a) is the solution of a two-dimensional optimization


problem with a quadratic objective function. When S = [0, 1] it is a convex inequality
constrained quadratic program for which there are 7 possible solutions as shown in Figure
5.1: the unconstrained minimum 1, three at the vertices 2-4, and three on the edges 5-7.
Each of these has an analytical solution, so the solution of (5.12a) is obtained by evaluating
each of the seven candidate solutions against the objective function to determine which is
the minimizing argument (when S = [0, 1] this point is unique). When S = {0, 1}, the
constraints become nonconvex, and there are two candidate solutions as shown in Figure
(i+1)
5.1: either (ηk , σk )(i+1) = (gk (pk ), 0) or (ηk , σk )(i+1) = (ΠUk (uk + λ3,k ), 1). In the case
that both of these points have the same value when evaluated against the objective function
of (5.12a), (ηk , σk )(i+1) = (gk (pk ), 0) is always chosen as the solution. The joint (σk , ηk )
update is separable w.r.t the elements of σ and η and so its computational requirement
depends linearly on N if each k update is performed sequentially, or is independent of
N if performed in parallel. The ζ (i+1) update is equivalent to the update in the previous
ADMM algorithm (4.10), so its computation and memory requirement scales linearly with
prediction horizon. The residual updates (5.9) are equivalent to

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}

Figure 5.1: Constraint sets defined by IS (σk ) + IRk (ηk , σk ).

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

5.3 N UMERICAL E XPERIMENTS


The experiments were separated into two phases: firstly, only the first instance of the MPC
optimization (MPC.3) was considered for each journey, where the output of the ADMM
algorithm was compared against the globally optimal solution obtained using dynamic
programming to determine the suboptimality caused by local convergence. Secondly,
the MPC controller defined by the approximate solution of (MPC.3) obtained using the
ADMM algorithm was simulated in closed loop in comparison with a CDCS baseline.

5.3.1 O PTIMIZATION P ERFORMANCE


Figure 5.2 shows the solution of (MPC.3) obtained for each journey at time t = 0 using
both the ADMM algorithm and dynamic programming. It is demonstrated in the appendix
to this chapter that the ADMM algorithm will terminate with the optimal power split given
the engine switching sequence, so suboptimality is only introduced through adverse engine
switching decisions. It can be seen in Figure 5.2 the the engine switching control ob-
tained using ADMM closely matches the solutions obtained using dynamic programming,
although ADMM does introduce more switching decisions for the highlighted example
(journey 14), particularly around k = 400. This is reflected in the bottom right axis, where
it is shown that the ADMM algorithm introduces 43% more engine switches than dynamic
programming across all journeys. Broadly speaking, however, the ADMM algorithm cor-
rectly identifies the periods in which it is optimal for the engine to be switched off, and
consequently the fuel consumption and state-of-charge trajectories closely match those
obtained with dynamic programming. The terminal state-of-charge is closely matched
between the ADMM and dynamic programming solutions (as observed in the previous
section), so the performance can be determined by directly comparing the total fuel con-
sumption: the ADMM algorithm increases the predicted fuel consumption relative to DP
by 5.3 % on average.
Figure 5.3 shows histograms of the time taken to completion using dynamic program-
ming and ADMM for all journeys. The mean time taken was 1600 s for dynamic program-
ming and 0.23 s for ADMM; a reduction of more than three orders of magnitude. The
ADMM algorithm was implemented in vectorised Matlab code here, and it is therefore
likely that the absolute performance could be increased further with a compiled software
implementation, where a subset of the decision variables are possibly updated in paral-
lel. Overall, the results demonstrate that the ADMM algorithm is suitable for a real-time
implementation.

93
5.3. NUMERICAL EXPERIMENTS

Dynamic Programming ADMM x


Consumption (kg)

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.

ADMM Dynamic Programming


15 15

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

5.3.2 C LOSED - LOOP C ONTROL


Figure 5.4 shows simulations results using MPC where the control variable update is de-
fined by the approximate solution of (MPC.3) obtained using the ADMM algorithm, in
comparison with the CDCS results previously presented in Figure 5.2. It can now be seen
that MPC provides a clear and consistent reduction in fuel consumption relative to CDCS
across all journeys, with an average reduction of 32 % (recall that the MPC results in sec-
tion 4.3.2 performed worse than CDCS due to a poor engine switching heuristic). It can
also be seen that the closed-loop engine switching sequence for the highlighted example
does not match the predictions of the first optimization highlighted in Figure 5.2, and par-
ticularly that additional switching decisions are introduced between 400 and 700 seconds.
This is reflected in the total number of engine switches across all journeys, where the av-
erage was 47 for the first MPC optimizations shown in Figure 5.2, whereas an average
of 73 is found in Figure 5.4. The increased engine switching is in turn reflected in fuel
consumption, which was predicted to average 0.28 kg in Figure 5.2, but was realized as
an average of 0.36 kg in Figure 5.4. This may be partly due to the modelling errors, but
will also be caused by the engine being switched on for a larger fraction of the journey.
Figure 5.5 shows the battery power trajectories for the highlighted solutions in Figures 5.2
and 5.4, which provide a clearer illustration of the differences each method. Of particular
significance is the period between approximately 200 and 500 seconds, where the CDCS
controller is required to deliver all of the power from the engine, resulting in a significant
increase in fuel consumption.

5.4 C ONCLUDING R EMARKS


In this section the MPC energy management controller was extended from the form pre-
sented in Chapter 4 to consider engine switching. Problem (MPC.2) was extended to
include the binary switching variable, which resulted in a convex mixed-integer nonlinear
program. An ADMM algorithm was proposed for the solution of the new MPC optimiza-
tion problem, which is neccessarily convex due to the integer decision variable. Local
convergence of the ADMM algorithm was proven, so the algorithm was initialized using
the solution of a convex relaxation of the problem to encourage convergence to the globally
minimizing argument. The ADMM algorithm was compared against dynamic program-
ming on a set of single-shot optimization problems, where it was shown to obtain a close
approximation of the globally minimizing argument, and reduced the computational bur-
den from approximately three hours to a fraction of a second. The MPC framework and
ADMM algorithm were then simulated in closed loop against a CDCS strategy, where they
were shown to reduce fuel consumption by 32 %.

95
5.4. CONCLUDING REMARKS

Consumption (kg) MPC CDCS x

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

0 200 400 600 800 0 200 400 600 800


k t
Figure 5.5: Battery power (u) allocation for the highlighted examples in Figures 5.2 and 5.4 (note
that the results in the left-hand plot correspond to single shot optimizations, where the results in
the right-had plot are the results from closed loop simulations).

96
5.A. OPTIMALITY AND CONVERGENCE OF ALGORITHM 5

A PPENDICES

5.A O PTIMALITY AND C ONVERGENCE OF A LGORITHM 5


This appendix addresses the convergence properties of Algorithm 5, and characterizes the
optimality of the stationary point(s) that it may converge to. The appendix is structured as
follows: in Section 5.A.1 the problem is formalized mathematically, and the main result is
stated in Proposition 5.A.1 with a sketch of the proof. The proof is then provided in detail
in the following three sections.

5.A.1 P ROBLEM S TATEMENT


Recall that problem (5.4) is of the form

min f (u) + g(x)


(u,x)
(5.13)
s.t. Au + Bx = c.

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).

• The matrices A and B have full column rank.


Importantly, problem (5.13) is nonconvex due to the binary decision component of x only.
To construct the following proof, decompositions of x into the vectors x1 ∈ RN and x2 ∈
R2N and B into the matrices B1 ∈ R4N ×N and B2 ∈ R4N ×2N are defined as (x1 , x2 ) := x
and [B1 , B2 ] := B. In other words, x1 is the binary decision component of x, and B1 and
B2 are the blocks of B that correspond to x1 and x2 under matrix-vector multiplication.

97
5.A. OPTIMALITY AND CONVERGENCE OF ALGORITHM 5

The augmented Lagrangian function corresponding to (5.13) is defined by


1
Lρ (u, x, y) := f (u) + g(x) + y > (Au + Bx − c) + kAu + Bx − ck2ρ (5.14)
2
where y ∈ R4N is a vector of Lagrange multipliers, and ρ := diag(ρ1 , . . . , ρ4N ) such that
ρi ∈ R++ ∀i ∈ {1, . . . , 4N }. Note that (5.14) is the scaled form of (5.6), and is equivalent
using the change of variables ρλ(i) = y (i) (see [127, §3.1.1] for more details). The ADMM
iteration for problem (5.13) is
 
(i) > 1
u (i+1) (i)
= argmin f (u) + (y ) (Au + Bx − c) + kAu + Bx − ckρ (i) 2
(5.15a)
u 2
 
(i+1) (i) > (i+1) 1 (i+1) 2
x = argmin g(x) + (y ) (Au + Bx − c) + kAu + Bx − ckρ
x 2
(5.15b)
y (i+1) := y (i) + ρ(Au(i+1) + Bx(i+1) − c) (5.15c)

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

(u(j) , x(j) , y (j) ) = (u0 , x0 , y 0 ) =⇒ (u(j+1) , x(j+1) , y (j+1) ) = (u0 , x0 , y 0 ).

Also assume that argminx Lρ (u0 , x, y 0 ) is unique. It then follows 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.

1. In Section 5.A.2 it is demonstrated that there exists a neighbourhood of


(u(i) , x(i) , y (i) )-space close to (u0 , x0 , y 0 ), denoted Bτ , in which the ADMM algo-
rithm (5.15) is equivalent to another ADMM algorithm applied to a convex problem;
namely problem (MPC.2).
2. In Section 5.A.3 it is demonstrated that the equivalent ADMM algorithm necessar-
ily converges to the minimizing argument of (MPC.2), denoted (u? , x? , y ? ). Addi-
tionally, it demonstrated that if the algorithm is initialised within a bounded neigh-
bourhood of (u? , x? , y ? ), denoted Sk , then the iterates always remain within this
neighbourhood as i → ∞.
3. The results from the previous two sections are combined in Section 5.A.4. It
is demonstrated that points satisfying the criteria to be denoted (u0 , x0 , y 0 ) and
(u? , x? , y ? ) are equivalent, hence k can be chosen such that Sk ⊆ Bτ . Consequently,
it is shown that if (u(j) , x(j) , y (j) ) ∈ Sk at any iteration, the iterates remain within Sk
(and therefore also Bτ ) and converge to (u? , x? , y ? ) as i → ∞.

5.A.2 E QUIVALENT C ONVEX P ROBLEM


Lemma 5.A.1. There exists a neighbourhood of (u(j+1) , y (j) )-space close to (u0 , y 0 ) where
x(j+1) = x0 .
Proof. It is assumed in Proposition 5.A.1 that argminx Lρ (u0 , x, y 0 ) is unique, so it follows
from the definition of the stationary point that

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.

It is now possible to define

Bτ := {(u, x, y) ∈ R3N : ku − u0 k22 ≤ τ, ky − y 0 k22 ≤ τ },

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

x(j+1) ) are equivalent to


(i+1)
x1 = x01 (5.19a)
(
(i+1) 
x2 ∈ argmin g (x01 , x2 ) + (y (i) )> (Au(i+1) + B2 x2 + B1 x01 − c)
x2
)
1
+ kAu(i+1) + B2 x2 + B1 x01 − ck2ρ (5.19b)
2
y (i+1) := y (i) + ρ(Au(i+1) + B2 x(i+1) + B1 x01 − c) (5.19c)
(
(i+1)
u(i+2) ∈ argmin f (u) + (y (i+1) )> (Au + B2 x2 + B1 x01 − c)
u
)
1 (i+1)
+ kAu + B2 x2 + B1 x01 − ck2ρ . (5.19d)
2

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

0 = Au? + B2 x?2 − c2 , (5.21a)


0 ∈ ∂f (u? ) + A> y ? , (5.21b)
0∈ ∂g2 (x?2 ) + B2> y ? , (5.21c)

5.A.3 O PTIMALITY AND C ONVERGENCE OF THE C ONVEX ADMM


I TERATION
This section considers ADMM applied to problem (5.20) only; in the following section the
convergence of ADMM for problem (5.20) is then connected back to the original noncon-
vex problem (5.13). It is a well known result that ADMM will converge from an arbitrary

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

Lemma 5.A.3. Define the set



Sk := (u, x2 , y) ∈ R(9N ) : ky − y ? k2ρ−1 + kB2 (x2 − x?2 )k2ρ + kr(u, x2 )k2ρ ≤ k ,
(0)
where r(u, x2 ) := Au + B2 x2 − c2 . Choose k ∈ R++ , then choose (u(0) , x2 , y (0) ) ∈ Sk .
(i+1)
It then follows that, (u(i+1) , x2 , u(i+1) ) ∈ Sk as i → ∞, and both r(i+1) → 0 and
s(i+1) → 0 as i → ∞.

(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

which implies that


 >
(i+1) (i+1) (i) (i+1)
f (u )+ y + ρB2 (x2 − x2 ) Au(i+1)
 >
? (i+1) (i) (i+1)
≤ f (u ) + y + ρB2 (x2 − x2 ) Au? .

Similarly, (5.23) implies that


n  o
(i+1) (i+1) >
x2 = argmin g2 (x2 ) + y B2 x2 ,
x

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,

f (u? ) + (y ? )> Au? ≤ f (u) + (y ? )> Au


g2 (x?2 ) + (y ? )> B2 x?2 ≤ g2 (x2 ) + (y ? )> B2 x2

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)

3. Combining the bounds on p? − p(i+1) in (5.26) and (5.27) yields

> (i+1) (i)


y (i+1) − y ? r(i+1) − (x2 − x2 )> B2> ρr(i+1)
(i+1) (i) (i+1)
+ (x2 − x2 )> B2> ρB2 (x2 − x?2 ) ≤ 0. (5.28)

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ρ .

The second and third terms in (5.28) can then be simplified as


(i+1) (i) (i+1) (i) (i+1)
kr(i+1) k2ρ − 2(x2 − x2 )> B2> ρr(i+1) + 2(x2 − x2 )> B2> ρB2 (x2 − x?2 )
(i+1) (i) (i+1) (i)
= kr(i+1) − B2 (x2 − x2 )k2ρ + kB2 (x2 − x?2 )k2ρ − kB2 (x2 − x?2 )k2ρ .

Therefore, (5.28) is equivalent to

(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

which, using the definition of V (i) = V (u(i) , x(i) , y (i) ), is equivalent to


(i+1) (i)
V (i+1) − V (i) ≤ −kr(i+1) − B2 (x2 − x2 )k2ρ − kr(i) k2ρ + kr(i+1) k2ρ
(i+1) (i) (i+1) (i)
= −kr(i) k2ρ − kB2 (x2 − x2 )k2ρ + 2(r(i+1) )> ρB2 (x2 − x2 )
(i+1) (i) (i+1) (i)
= −kr(i) k2ρ − kB2 (x2 − x2 )k2ρ + 2(y (i+1) − y (i) )> B2 (x2 − x2 ).

(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.

5.A.4 O PTIMALITY AND C ONVERGENCE OF THE N ONCONVEX ADMM


I TERATION
The results from Sections 5.A.2 and 5.A.3 are now combined to complete the proof of
Proposition 5.A.1. The principle of the approach is that there is an equivalence between
(u0 , x0 , y 0 ) and (u? , (x01 , x?2 ), y ? ), and it can then shown that there must exist a convergent
neighbourhood of (u? , (x0 , x? ), y ? ).

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

The eigendecomposition of the matrix M is


   
I ρ I I
I I ρ I
so M is positive definite. Both A and B2 have full column rank, so (5.29) defines an
ellipsoid centred on (u, x2 , y) that bounds the magnitude of u − u? , x − x? , and y − y ?
in all directions. Therefore, there exists a k > 0 such that Ŝk ⊂ Bτ for any τ > 0.
Additionally, for any k > 0 there exists a 2-norm ball centred on (u, x, y) that is a subset
of Ŝk , which completes the proof.

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

• (u(i) , x(i) , y (i) ) → (u∗ , x∗ , y ∗ ) as i → ∞.

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

D RIVER B EHAVIOUR U NCERTAINTY

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.

6.1 M ODEL P REDICTIVE C ONTROLLER


The convex formulation presented in Chapter 4 is considered for the basis of the approach,
and the engine switching control action is not considered to be a decision variable in the
MPC optimization. This approach is taken so that the suboptimality in the simulations
that follow is attributable only to the inaccuracies in the predictions, as opposed to the
suboptimality of the predictions and the local convergence of the ADMM algorithm. The
approach presented here can, however, also be extended to the case where engine switching
is also considered in Chapter 5.

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,θ)

s.t. x = 1x(t) − Ψu, (6.1)


1x ≤ x ≤ 1x,
u(v, θ) ≤ u ≤ u(v, θ),
v ∈ V, θ ∈ Θ.
This approach would increase the robustness of the controller as it is more likely that
the resulting driver behaviour will have been explicitly considered by the MPC optimiza-
tion, but still has two significant issues. Firstly, in order for the controller to minimize
the expected fuel consumption when implemented in closed loop, the probability measure
associated with V and Θ must still closely match real driver behaviour, a phenomenon that
is extremely challenging to model explicitly. Secondly, even in the case where an accu-
rate representation of driver behaviour is available and the associated probability density
function is ‘simple’, problem (6.1) is nonconvex and intractable in general.
Therefore, instead consider the case where S ∈ Z++ individual samples of v and θ are
obtained from the uncertainty sets, where each sampled pair (v, θ) ∈ V × Θ is referred to
as a scenario. It is again assumed that each of the scenarios is sampled at 1 Hz over the
remaining duration of the journey, although as before, this approach can be extended to an

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

s.t. x:,s = 1x(t) − Ψu:,s ,


1x ≤ x:,s ≤ 1x, (MPC.4)
u:,s ≤ u:,s ≤ u:,s
u0,s = τ,
∀s ∈ {1, . . . , S}.

From a computational perspective, (MPC.4) has two significant advantages relative to


(6.1). Firstly, (MPC.4) is convex and deterministic, and can therefore be readily solved
using standard convex optimization algorithms. Secondly, (MPC.4) does not require the
driver’s behaviour to be modelled explicitly, and the scenarios can be drawn from a database
obtained from previous examples of a given route (or its constituent parts, assembled from
available data). An additional advantage of (MPC.4) from a control perspective is that it
allows a separate control vector for each scenario (i.e. u ∈ RN ×S ) rather than a single
control vector that minimizes the objective across all predictions. This is preferable as at
any given instant along the prediction horizon one scenario may predict high speed and/or
acceleration whereas another may predict that the vehicle is moving slowly or is stationary
(this places conflicting requirements on the predicted control input which cannot satisfy
both simultaneously). The predicted control trajectories in (MPC.4) can therefore be inter-
preted as samples of a control probability density function, which is a more general repre-
sentation than that considered in (6.1). The solution of (MPC.4) is then made meaningful
in the context of MPC by constraining the first element of each predicted control sequence
to be equal, so that the feedback law is defined by u(t) := u0,1 = u0,2 = · · · = u0,S = τ .
A limitation of (MPC.4) is that the cost can only be considered equal to the expected
cost in the limit as S → ∞ (the error term between the expected cost and the solution of

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.

Assumption 6.1.2. The scenarios are generated so that


k
X
x(t) − u(t) − ui,s ≤ x (6.2)
i=1

and
k
X
x(t) − u(t) − ui,s ≥ x (6.3)
i=1

for all k ∈ {1, . . . , N − 1} and s ∈ {1, . . . , S}.

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

x(t) − u(t) ≤ x and x(t) − u(t) ≥ x.

Hence, (MPC.4) is feasible at time t + 1 if and only if

x(t) − τ ? (t) − u(t + 1) ≤ x and x(t) − τ ? (t) − u(t + 1) ≥ x, (6.4)

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

s.t. x(t) − τ ∈ [x + u1,s , x + u1,s ] (6.5b)


∀s ∈ {1, . . . , 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

V (τ ? (t)) := P{x(t) − τ ? (t) ∈


/ [x + u(t + 1), x + u(t + 1)]},

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

P{V (τ ? (t)) > ˆ} ≤ B(; S, 0) = (1 − ˆ)S (6.6)

on the violation (i.e. one-step-ahead infeasibility) probability. More generally, if R sam-


ples are discarded (using any criteria, e.g. a greedy strategy), then the right-hand-side of
(6.6) can be replaced with B(ˆ; S, R), where B is the beta distribution.
Let the confidence that the violation probability is no greater than ˆ be β̂, so that

P{V (τ ? (t)) ≤ ˆ} = β̂ ≥ 1 − (1 − ˆ)S , (6.7)


1
Note that, whist the set C depends on the S random samples of V and Θ and is therefore ‘stochastic’,
the problem of interest here is whether the solution of (MPC.4) is still feasible with respect to an additional
randomly sampled constraint of the form of (6.5b) only, and not every constraint from (MPC.4) (i.e. C
does not change when the new scenario is sampled). Therefore, C can be considered deterministic, and the
relevant support rank is that of constraint (6.5b).

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,: ,

which is in turn equivalent to

min f˜(ũ) s.t Aũ + B x̃ = c, (6.10)


ũ,x̃

where

ũ := (vec u, vec x), x̃ := (τ, vec ζ)


S   N −1
!
1X X X 
f˜(ũ) := −1
fk,s (pk,s − gk,s (uk,s )) + IUk,s (uk,s ) + IX (xk+1,s ) ,
S s=1 k∈Ps k=0
h i  
I O O −I
A := O I , B := O (I⊗Ψ) , c := (0, 1x(t), 0).
−(1⊗[1,0,...,0]) O 1 O

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

6.2.1 VARIABLE U PDATES & C OMPLEXITY


The augmented Lagrangian function for (6.10) is

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

6.3 N UMERICAL E XPERIMENTS


6.3.1 C ONTROL A LGORITHMS
The driver behaviour data presented in Section 3.4 was used for simulation, however
the start and end of each journey was trimmed so that each represented the exact same
route (each of the journeys depicted in Figure 3.4 start and end at slightly different loca-
tions within the Johannes Kepler University Linz campus, hence the variations of journey
length). For each journey, the state of charge of the battery was initialized at 60% and
constrained between 40% and 100%. Two control algorithms were used:

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.

6.3.2 S CENARIO G ENERATION


A database was available to the controller where arrays of velocity, road gradient, and time
data, indexed by the longitudinal position within the route, l, and sampled at a resolution
of 1m, was available for all of the 49 journeys used for simulation. Before the start of
each simulated journey, the position indexed data for S = 48 journeys (i.e. every journey
except the one representing the actual journey to be simulated) was retrieved. The data
used for simulation was indexed by time (as discussed in Chapter 3), and at each sample
time t ∈ {0, . . . , T − 1} during a simulated journey, the scenarios were generated using
the following steps:
Pt−1
• The longitudinal position of the vehicle was obtained from l(t) = i=0 v(t).

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

Simulated Velocity Predicted Velocities Current Velocity


30

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

Scenario MPC Nominal MPC


State-of-charge (%) Fuel Consumption (kg)

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

0 200 400 600 800 1000 0 10 20 30 40 50


Time (s) Journey
Figure 6.3: Closed loop results using nominal and scenario MPC.

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

15 Nominal MPC Scenario MPC


Frequency

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.

6.4 C ONCLUDING R EMARKS


In this chapter, the MPC energy management framework from Chapter 4 was extended
to consider multiple predictions of future driver behaviour at each control variable update
instant. This allows the MPC to explicitly account for uncertainty by accessing previous
examples of drivers completing a route, thereby removing the need to analytically model
driver behaviour, which can be challenging. Additionally, it allows the use of results from
scenario MPC to provide a confidence bound on a given probability of constraint violation
(which in this case translates to one-step-ahead feasability). It was demonstrated that
the ADMM algorithm considered in Chapter 4 can be extended to this case, and that the
iteration cost scales linearly with the number of scenarios considered (and can, as before,
be accelerated using parallel processing). A scenario generation method was proposed
where predictions of future driver behaviour are generated from a database of previous

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

BATTERY /S UPERCAPACITOR E LECTRIC


V EHICLES

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.

1. A general convex optimization framework is presented for optimal electric vehicle


power allocation. The framework considers losses in each of the battery, supercapac-
itor, and powertrain, and enforces hard constraints on instantaneous power delivered
by the battery, supercapacitor, and powertrain, and total energy stored in both the
battery and supercapacitor.

2. A computationally efficient ADMM algorithm is presented for the solution of the


convex optimization problem. The algorithm exploits the structure of the problem
in a similar way to the ADMM algorithms presented in previous chapters, so that
the iteration and memory costs are O(T ) (where T is the length of the journey). If
parallel processing is available, the computation of a subset of the variable updates
can be reduced to O(1).

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.

7.1 P ROBLEM F ORMULATION


E NERGY & P OWER
Figure 7.1 shows a simplified diagram of the power flows in the powertrain used to for-
mulate the energy management problem, where it is assumed that the storage system is an
active architecture in which the power delivered by the battery and supercapacitor can be
controlled individually (a discussion of the power electronics required for this is presented
in [135]). The powertrain is modelled in discrete time with an assumed sampling interval
of 1 s, so that t ∈ {0, . . . , T }, where T ∈ Z++ is the duration of the journey under con-
sideration (although the methods presented here can be readily extended to an arbitrary
sampling interval). The variable u := (u0 , . . . , uT −1 ) ∈ RT represents the rate of change

127
7.1. PROBLEM FORMULATION

Battery ŭt + = Powertrain mt + =


ut dt
Losses gt + Losses ht +

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.

7.1.1 O PTIMAL C ONTROL P ROBLEM


The power delivered by the battery, power delivered by the supercapacitor, total electrical
power delivered to the powertrain, total battery energy, and total supercapacitor energy
are all subject to upper and lower bounds, and the braking power is constrained to be
nonpositive:
ut ≤ ut ≤ ut , v t ≤ vt ≤ v t , et ≤ gt (ut ) + ft (vt ) ≤ et ,
xt ≤ xt ≤ xt , y t ≤ yt ≤ y t , bt ≤ 0,

129
7.1. PROBLEM FORMULATION

∀t ∈ {0, . . . , T − 1}. The cost function


T −1
X
[ut + vt − ht (gt (ut ) + ft (vt )) − bt ]
t=0

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}.

7.1.2 C ONVEX F ORMULATION


The constraint bt ≤ 0 ∀t ∈ {0, . . . , T − 1} can be combined with (7.1) to obtain dt ≤
ht (gt (ut ) + ft (vt )), which under Assumption 7.1.1 is equivalent to

h−1
t (dt ) ≤ gt (ut ) + ft (vt ).

This is combined with the constraint et ≤ gt (ut ) + ft (vt ) as

êt ≤ gt (ut ) + ft (vt )

130
7.1. PROBLEM FORMULATION

where êt := max{et , h−1


t (dt )}. The set {(ut , vt ) ∈ R : êt ≤ gt (ut ) + ft (vt )} is convex
2

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:

ut + vt − ht (gt (ut ) + ft (vt )) − bt = ut + vt − dt ,

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

where Ψ is a T × T lower triangular matrix of ones, and

Ct := {(ut , vt ) ∈ R2 : êt ≤ gt (ut ) + ft (vt ),


ĝt (ut ) + fˆt (vt ) ≤ et },
Ut := {ut ∈ R : ut ≤ ut , ≤ ut },
Vt := {vt ∈ R : v t ≤ vt , ≤ v t },
X := {x ∈ RT : xt ≤ xt , ≤ xt ∀t ∈ {1, . . . , T }},
Y := {y ∈ RT : y t ≤ yt , ≤ y t ∀t ∈ {1, . . . , T }}.

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 O PTIMIZATION A LGORITHM


Problem (MPC.5) can be solved using general purpose convex optimization software (e.g.
CVX), but these tools are typically computationally intensive. In this section an ADMM
algorithm is proposed that is tailored to the structure 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 Ψ

The augmented Lagrangian function for (7.4) is


1
L(ũ, x̃, λ) := f˜(ũ) + kAũ + B x̃ − c + λk2ρ (7.5)
2
where
kxk2ρ := x> ρx, ρ := diag(ρ1 1, ρ2 1, ρ3 1, ρ4 1), λ := (λ1 , λ2 , λ3 , λ4 ),
T
ρi ∈ R+ ∀i ∈ {1, 2, 3, 4}, λi ∈ R ∀i ∈ {1, 2, 3, 4}.
for which the ADMM iteration is defined by
ũ(j+1) := argmin L(ũ, x̃j , λj ), (7.6a)

x̃(j+1) := argmin L(ũ(j+1) , x̃, λj ), (7.6b)


λ(j+1) := λj + Aũ(j+1) + B x̃(j+1) − c. (7.6c)


(note that (7.5) is strongly convex in ũ and x̃ so the updates (7.6a) and (7.6b) exist and are
unique). The algorithm is initialized with the values
û(0) = 0, x̂(0) = 0, λ(0) = 0,
and terminated when the criterion
max{kr(j+1) k, ks(j+1) k} ≤  (7.7)
is met, where  ∈ R+ is a pre-determined convergence threshold and
r(j+1) := Aû(j+1) + B x̂(j+1) − c,
s(j+1) := A> ρB(x̂(j+1) − x̂(j) ).
The convergence results for this algorithm are discussed extensively in Section (5.A), and
global convergence is guaranteed due to the convexity of (MPC.5).

133
7.2. OPTIMIZATION ALGORITHM

7.2.2 VARIABLE U PDATES & A LGORITHM C OMPLEXITY


Firstly, note that the augmented Lagrangian (7.5) is equivalent to
T −1
X
>
L(ũ, x̃, λ) := 1 (u + v) + [ICt (ut , vt ) + IUt (ut ) + IVt (vt )]
t=1
ρ1 ρ2
+ IX (x) + IY (y) + ku − ζ + λ1 k22 + kv − η + λ2 k22
2 2
ρ3 ρ4
+ kx + Ψζ − 1x0 + λ3 k2 + ky + Ψη − 1y0 + λ4 k22
2
2 2
Therefore, update (7.6a) is equivalent to
h
(ut , vt )(j+1) := argmin ICt (ut , vt ) + IUt (ut ) + IVt (vt )+
(ut ,vt )
ρ1 ρ2 i
(j) (j) (j) (j)
(ut − ζt + λ1,t )2 + (vt − ηt + λ2,t )2 (7.8a)
2 h 2 i
(j)
x(j+1) (j)
:= ΠX 1x0 − Ψζ − λ3 , (7.8b)
h i
(j)
y (j+1) (j)
:= ΠY 1y0 − Ψη − λ4 . (7.8c)

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

λ(j+1) := λ(j) + r(j+1) .

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.

7.3 N UMERICAL E XPERIMENTS


The approach to the numerical experiments presented here is a departure from the ap-
proach used in earlier chapters for the PHEV energy management problem. The focus
is on demonstrating that, under similar model approximations to those proposed in the
previous chapters, the energy management problem for electric vehicles with a hybrid en-
ergy storage system can be reduced to a convex optimization problem that can be solved
rapidly. Moreover, the battery degradation mechanisms of interest (e.g. lithium plating)
are not realized in the models used for PHEV simulation, and so are of limited use in terms
of ascertaining controller performance. Therefore, only the approximate model is consid-
ered for both prediction and simulation, and an investigation into higher fidelity simulation
models (in particular, detailed battery ageing models) is left for future work.

135
7.3. NUMERICAL EXPERIMENTS

V EHICLE & D RIVER M ODEL


The 49 driver velocity and road gradient trajectories used in previous chapters (and pre-
sented in Section 3.4) were used again for simulation here, from which the driver power
demand was also calculated using the longitudinal model (3.4).

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 :

gt (ut ) + ft (vt ) := β2 (ωm,t )m2t + β1 (ωm,t )mt + β0 (ω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

BATTERY & M ODEL


The battery was modelled as an equivalent circuit with fixed internal resistance R (0.1 Ω)
and open circuit voltage V (300 V), so that
2Rut 2
V 2 − (V − V
)
gt (ut ) := ∀t ∈ {0, . . . , T − 1},
4R
h 2
i
which satisfies Assumptions 7.1.1, 7.1.2, and 7.1.3 on the domain −∞, V2R and range
h 2
i
−∞, V4R . The linearization point was set at ût = 0 ∀t ∈ {0, . . . , T − 1}.
The battery was subject to upper and lower bounds on power, P and P (set at ±70
kW), so that  
V2
ut := P ut := min P ,
2R
∀t ∈ {0, . . . , T − 1}, and the battery upper limit was set to 22 kWh (80 MJ) to model a
typical electric vehicle battery capacity (e.g. 2015 Renault Fluence ZE [149, Table 2]).
It was assumed that the battery’s power electronics (e.g. DC-DC converter) were 100%
efficient.

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.

2. Low-pass Filter - A first-order low-pass filter with a bandwidth of 0.01 Hz was


used to separate the power demand frequencies. The filtered signal was allocated to
the battery, and the remaining power demand was allocated to the supercapacitor,
unless the supercapacitor limits were active, in which case the excess power was
also delivered by the battery.

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

All Battery Lowpass Filter Optimal


100
100
u (kW)

v (kW)
0
0

-100
-100
80
1
x (MJ)

y (MJ)
40 0.5

0 0

0 200 400 600 800 0 200 400 600 800


t t
Figure 7.2: Trajectories for battery power, supercapacitor power, battery energy, and supercapaci-
tor energy for a single journey using all-battery mode, a low-pass filter, and optimal controls. Hard
constraints are shown in red areas.

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.

All Battery Low-pass Filter Optimal


RMS(u) (kW) 31.8 25.2 (-20.8%) 21.0 (-33.9%)
P |u| (kW)
max 133.3 132.1 (-0.9%) 36.4 (-72.7%)
P |u| (MJ) 17.9 15.9 (-11.3%) 13.6 (-24.2%)
(u + v) (MJ) 6.8 6.6 (-3.7%) 6.4 (-5.5%)

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

All Battery Lowpass Filter Optimal


40 25
RMS(u) (kW)

|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.

All Battery Low-Pass Filter Optimal


RMS(u) (kW) 31.7 24.6 (-22.5%) 20.0 (-36.8%)
max |u| (kW) 114.1 101.5 (-11.0%) 32.7 (-71.4%)
P
|u| (MJ) 18.6 15.7 (-15.6%) 13.7 (-26.4%)
P
(u + v) (MJ) 7.1 6.8 (-3.8%) 6.7 (-5.7%)

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

7.4 C ONCLUDING R EMARKS


In this chapter, the approach from the previous chapters was extended to consider electric
vehicles with a hybrid energy storage system containing both battery and supercapacitor
components. The objective in this case was to minimize energy consumption and battery
degradation, as opposed to minimizing fuel consumption. A general framework for energy
management of hybrid energy storage systems was formulated, and it was demonstrated
that the corresponding optimization problem is convex when the upper limit on the motor’s
power is linearized, and that this approximation guarantees that the original nonlinear con-
straint is also satisfied. The structure of the convex optimization problem is similar to that
considered for PHEV energy management, so the ADMM algorithm that had shown good
performance in the previous chapters was applied to the new problem. The optimization-
based controller was compared in simulation with a low-pass filtering rule-based strategy
against an all-electric baseline, where it was shown to provide significant improvements in
battery degradation, inferred through three metrics of battery use. It was also shown that
the ADMM algorithm solved the optimization problem in a fraction of a second, compared
to approximately 60 seconds using CVX. One of the limitations of the proposed method
is that feasibility has not been addressed. The approach previously used for PHEV energy
management does not translate directly as the BSEV problem has two state variables. In
this case, therefore, it may be preferrable to use known results for infeasability detection in
ADMM (e.g. [154]) rather than developing a dedicated pre-optimization algorithm. This
aspect of the problem is left to future work.

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

L(u, v) := u + v − λ> > >


1 (u − u) − λ2 (u − u) − λ3 (v − v)
− λ> > >
4 (v − v) − λ5 (1x0 − Ψu − x) − λ6 (x − 1x0 + Ψu)
− λ> >
7 (1y0 − Ψv − y) − λ8 (y − 1y0 + Ψv)

− λ> >
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)

7.B P IECEWISE C ONSTANT S OLUTION OF (MPC.5)


A similar approach as used in Appendix 7.A can be used to show that, under the assump-
tion that the constraints on battery power are inactive (i.e. λ1,t = 0 and λ2,t = 0 ∀t)
and that the upper constraint on powertrain power is inactive (i.e. λ10,t = 0 ∀t), then the
solution to (MPC.5) satisfies
T −1
X
−gt0 (u?t )λ?9,t = −1 − [λ?5,i − λ?6,i ], (7.11a)
i=t
T
X −1
−ft0 (vt? )λ?9,t = −1 − [λ?7,i − λ?8,i ], (7.11b)
i=t

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

−gt0 (u?t )λ?9,t = c1 and − ft0 (vt? )λ?9,t = c2 .

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̄}.

7.C C OMBINED u AND v UPDATE

The optimization problem in (7.8a) is equivalent to


ρ1 (j) (j) ρ2 (j) (j)
argmin (ut − ζt + λ1,t )2 + (vt − ηt + λ2,t )2
(ut ,vt ) 2 2
s.t. ut ≤ ut ≤ ut , v t ≤ vt ≤ v t , (7.12)

êt ≤ gt (ut ) + ft (vt ), ĝt (ut ) + fˆt (vt ) ≤ et ,

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

êt = gt (ut ) + ft (vt ) vt

ut = ut
vt = v t

ut

vt = v t
ut = ut

ĝt (ut ) + fˆt (vt ) = et

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

ρ1 (j) (j) ρ2 (j) (j)


argmin (ut − ζt + λ1,t )2 + (vt − ηt + λ2,t )2
(ut ,vt ) 2 2
s.t. ut ≤ ut ≤ ut , v t ≤ vt ≤ v t ,

(j) (j) (j) (j)


as u†1 †1
t = min{ut , max{ut , ζt − λ1,t }} and vt = min{v t , max{ut , ηt − λ2,t }}. If the
discarded constraints are satisfied for the candidate solution, then this is the actual solution
to (7.12). If not, then the solution must be further constrained by êt = gt (ut )+ft (vt ) and/or
ĝt (ut ) + fˆt (vt ) = et . Therefore, two further candidate solutions are obtained by tightening
each of êt ≤ gt (ut ) + ft (vt ) and ĝt (ut ) + fˆt (vt ) ≥ et in (7.12) to equality constraints.

147
7.C. COMBINED U AND V UPDATE

(b) A candidate solution (u†2 †2


t , vt ) is obtained from

ρ1 (j) (j) ρ2 (j) (j)


argmin (ut − ζt + λ1,t )2 + (vt − ηt + λ2,t )2
(ut ,vt ) 2 2
s.t. ut ≤ ut ≤ ut , v t ≤ vt ≤ v t , (7.13)

êt ≤ gt (ut ) + ft (vt ), ĝt (ut ) + fˆt (vt ) = et .

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 ))},

and define u∩1 ∩2


t := inf Ût and ut := sup Ût . Then

{(ut , vt ) ∈ R2 : ĝt (ut ) + fˆt (vt ) = et , êt ≤ gt (ut ) + ft (vt )}


={(ut , vt ) ∈ R2 : ĝt (ut ) + fˆt (vt ) = et , ut ∈ [u∩1 , u∩2 ] ∩ R}.
t t

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

{(ut , vt ) ∈ R2 : ĝt (ut ) + fˆt (vt ) = et , êt ≤ gt (ut ) + ft (vt )}


={(ut , vt ) ∈ R2 : ĝt (ut ) + fˆt (vt ) = et ,
fˆt−1 (et − ĝt (ut )) ≥ ft−1 (êt − gt (ut ))}

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

ĝt (ut ) + fˆt (vt ) = et and êt = gt (ut ) + ft (vt )).


Now assume that ft−1 (êt − gt (ut )) is not strongly convex. Under the assumptions on
ft (·) and gt (·) it is possible to construct cases in which there are no intersection points, or
only an ‘upper’ or ‘lower’ intersection point (e.g. if ft (·) and gt (·) are piecewise affine).
In these cases Ût = [u∩1 t , ut ] where u
∩2 ∩1
∈ {−∞, R} and u∩2 ∈ {R, ∞}.

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.

{(ut , vt ) ∈ R2 : ĝt (ut ) + fˆt (vt ) = et , a ≤ vt ≤ b}


= {(ut , vt ) ∈ R2 : ĝt (ut ) + fˆt (vt ) = et , ĝt−1 (et − fˆt (b)) ≤ ut ≤ ĝt−1 (et − fˆt (a))}

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

vt ≤ b ⇒ et − fˆt (vt ) ≥ et − fˆt (b)


⇒ ut ≥ ĝ −1 (et − fˆt (b)).
t

It can similarly be shown that ut ≤ ĝt−1 (et − ĝt (a)).


Propositions 7.C.1 and 7.C.2 imply that (7.13) is equivalent to
ρ1 ρ2
(ut − ζt + λ1,t )2 + (fˆt−1 (et − ĝt (ut )) − ηt + λ2,t )2
(j) (j) (j) (j)
argmin
ut 2 2
s.t. ut ≥ max{u , u , ĝ (et − fˆt (v t ))}
∩1 −1 (7.14)
t
t t

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 )).

(c) The final candidate solution (u†3 †3


t , vt ) is obtained from

ρ1 (j) (j) ρ2 (j) (j)


argmin (ut − ζt + λ1,t )2 + (vt − ηt + λ2,t )2
(ut ,vt ) 2 2
s.t. ut ≤ ut ≤ ut , v t ≤ vt ≤ v t ,
êt = gt (ut ) + ft (vt ), ĝt (ut ) + fˆt (vt ) ≤ et ,

149
7.C. COMBINED U AND V UPDATE

êt = gt (ut ) + ft (vt ) vt

ut = ut
vt = v t

ut

vt = v t
ut = ut

ĝt (ut ) + fˆt (vt ) = et

Figure 7.6: Illustration of constraint sets for reduced problems (7.14) and (7.15).

which can be shown to be equivalent to


ρ1 (j) (j) ρ2 (j) (j)
argmin (ut − ζt + λ1,t )2 + (ft−1 (et − gt (ut )) − ηt + λ2,t )2
ut 2 2
s.t. ut ≥ max{u , u , ĝ (êt − fˆt (v t ))}
∩1 −1 (7.15)
t
t t

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

Algorithm 6 Update (7.8a)


(j) (j)
1: u†1
t ← min{ut , max{ut , ζt − λ1,t }}
†1 (j) (j)
2: vt ← min{v t , max{ut , ηt − λ2,t }}
3: if (u†1 †1
t , vt ) ∈ Ct then
4: (ut , vt )j+1 ← (u†1 †1
t , vt )
5: else
6: u†2
t ← Solution to (7.14)
7: vt ← fˆt−1 (et − ĝt (u†2
†2
t ))
†3
8: ut ← Stationary point of (7.15)
9: vt†3 ← ft−1 (êt − gt (u†3
t ))
10:
†2 †2
Evaluate (ut , vt ) and (u†3 †3
t , vt ) against cost function of (7.8a)
11: (ut , vt ) j+1
← minimizing argument
12: end if

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).

Driver Behaviour Prediction: The database approach to driver behaviour prediction


presented in this thesis is particularly suited to vehicles that repeatedly operate on a small
number of individual routes. This approach may not be possible for vehicles that can be
driven to an arbitrary destination, as a database of driving examples for every possible
segment of road would be required (and the driver would need to make the vehicle aware
of their intended route at the start of the journey). A possible solution for vehicles that
are primarily used for commuting is that the controller records each route that the vehicle
is used for, and then a clustering algorithm is used to identify the route that is about to
be driven at the start of each journey. If the correct journey has been identified, then
the previously recorded examples of that journey can be used for prediction within the
framework presented here (a similar approach was previously investigated in [38]). Driver
behaviour prediction is very much still an open problem, and significant further work is
required in this direction.

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

[3] G. Zubi, R. Dufo-López, M. Carvalho, and G. Pasaoglu, “The lithium-ion battery:


State of the art and future perspectives,” Renewable and Sustainable Energy Re-
views, vol. 89, pp. 292 – 308, 2018.

[4] J. B. Heywood, Internal Combustion Engine Fundamentals, 2nd ed. McGraw Hill,
2018.

[5] “An Overview of Costs for Vehicle Components, Fuels, Green-


house Gas Emissions and Total Cost of Ownership Update
2017,” 2017, (Date last accessed 10-July-2020). [Online]. Available:
https://steps.ucdavis.edu/wp-content/uploads/2018/02/FRIES-MICHAEL-An-
Overview-of-Costs-for-Vehicle-Components-Fuels-Greenhouse-Gas-Emissions-
and-Total-Cost-of-Ownership-Update-2017-.pdf

[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.

[7] M. M. Kabir and D. E. Demirocak, “Degradation mechanisms in Li-ion batteries: a


state-of-the-art review,” International Journal of Energy Research, vol. 41, no. 14,
pp. 1963–1986, 2017.

[8] S. Vazquez, S. M. Lukic, E. Galvan, L. G. Franquelo, and J. M. Carrasco, “Energy


storage systems for transport and grid applications,” IEEE Transactions on Indus-
trial Electronics, vol. 57, no. 12, pp. 3881–3895, 2010.

[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.

[12] B. Stellato, G. Banjac, P. Goulart, A. Bemporad, and S. Boyd, “OSQP: An operator


splitting solver for quadratic programs,” arXiv:1711.08013, 2017.

[13] Y. Nesterov and A. Nemirovskii, Interior-Point Polynomial Algorithms in Convex


Programming. Society for Industrial and Applied Mathematics, 1994.

[14] B. Egardt, N. Murgovski, M. Pourabdollah, and L. Johannesson Mardh, “Electro-


mobility studies based on convex optimization: Design and control issues regarding
vehicle electrification,” IEEE Control Systems Magazine, vol. 34, no. 2, pp. 32–49,
2014.

[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.

[17] N. Murgovski, L. Johannesson, J. Sjöberg, and B. Egardt, “Component sizing of a


plug-in hybrid electric powertrain via convex optimization,” Mechatronics, vol. 22,
no. 1, pp. 106 – 120, 2012.

[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.

[23] ——, “Optimal power allocation in battery/supercapacitor electric vehicles using


convex optimization,” IEEE Transactions on Vehicular Technology, vol. 69, no. 11,
pp. 12 751–12 762, 2020.

[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.

[25] L. Serrao, A. Sciarretta, O. Grondin, A. Chasse, Y. Creff, D. D. Domenico,


P. Pognant-Gros, C. Quérel, and L. Thibault, “Open issues in supervisory control
of hybrid electric vehicles: A unified approach using optimal control methods,” Oil
Gas Sci. Technol. - Rev. IFP Energies nouvelles, vol. 68, pp. 23–33, 2013.

[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.

[32] S. J. Moura, H. K. Fathy, D. S. Callaway, and J. L. Stein, “A stochastic optimal


control approach for power management in plug-in hybrid electric vehicles,” IEEE
Transactions on Control Systems Technology, vol. 19, no. 3, pp. 545–555, 2011.

[33] V. Ngo, T. Hofman, M. Steinbuch, and A. Serrarens, “Optimal control of the


gearshift command for hybrid electric vehicles,” IEEE Transactions on Vehicular
Technology, vol. 61, no. 8, pp. 3531–3543, 2012.

[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.

[38] V. Larsson, L. Johannesson Mårdh, B. Egardt, and S. Karlsson, “Commuter route


optimized energy management of hybrid electric vehicles,” IEEE Transactions on
Intelligent Transportation Systems, vol. 15, no. 3, pp. 1145–1154, 2014.

[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.

[40] L. S. Pontryagin, V. G. Boltyanskii, R. V. Gamkrelidze, and E. F. Mishchenko, The


mathematical theory of optimal processes. New York, NY: Interscience, 1962.

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.

[42] R. V. Gamkrelidze, “History of the discovery of the Pontryagin maximum princi-


ple,” Proceedings of the Steklov Institute of Mathematics, vol. 304, no. 1, pp. 1–7,
Jan. 2019.

[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.

[46] L. Tribioli, M. Barbieri, R. Capata, E. Sciubba, E. Jannelli, and G. Bella, “A real


time energy management strategy for plug-in hybrid electric vehicles based on op-
timal control theory,” Energy Procedia, vol. 45, pp. 949 – 958, 2014, aTI 2013 -
68th Conference of the Italian Thermal Machines Engineering Association.

[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.

[48] S. Stockar, V. Marano, M. Canova, G. Rizzoni, and L. Guzzella, “Energy-optimal


control of plug-in hybrid electric vehicles for real-world driving cycles,” IEEE
Transactions on Vehicular Technology, vol. 60, no. 7, pp. 2949–2962, 2011.

[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

[51] L. Serrao, S. Onori, A. Sciarretta, Y. Guezennec, and G. Rizzoni, “Optimal energy


management of hybrid electric vehicles including battery aging,” in Proceedings of
the 2011 American Control Conference, 2011, pp. 2125–2130.

[52] G. Paganelli, S. Delprat, T. M. Guerra, J. Rimaux, and J. J. Santin, “Equivalent


consumption minimization strategy for parallel hybrid powertrains,” in Vehicular
Technology Conference. IEEE 55th Vehicular Technology Conference. VTC Spring
2002 (Cat. No.02CH37367), vol. 4, 2002, pp. 2076–2081 vol.4.

[53] L. Serrao, S. Onori, and G. Rizzoni, “ECMS as a realization of Pontryagin’s mini-


mum principle for HEV control,” in 2009 American Control Conference, 2009, pp.
3964–3969.

[54] C. Musardo, G. Rizzoni, Y. Guezennec, and B. Staccia, “A-ECMS: An adaptive


algorithm for hybrid electric vehicle energy management,” European Journal of
Control, vol. 11, no. 4, pp. 509 – 524, 2005.

[55] P. Pisu and G. Rizzoni, “A comparative study of supervisory control strategies


for hybrid electric vehicles,” IEEE Transactions on Control Systems Technology,
vol. 15, no. 3, pp. 506–518, 2007.

[56] A. Sciarretta, L. Serrao, P. Dewangan, P. Tona, E. Bergshoeff, C. Bordons,


L. Charmpa, P. Elbert, L. Eriksson, T. Hofman, M. Hubacher, P. Isenegger, F. La-
candia, A. Laveau, H. Li, D. Marcos, T. Nüesch, S. Onori, P. Pisu, J. Rios, E. Silvas,
M. Sivertsson, L. Tribioli, A.-J. van der Hoeven, and M. Wu, “A control benchmark
on the energy management of a plug-in hybrid electric vehicle,” Control Engineer-
ing Practice, vol. 29, pp. 287 – 298, 2014.

[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

[71] D. Mayne, J. Rawlings, C. Rao, and P. Scokaert, “Constrained model predictive


control: Stability and optimality,” Automatica, vol. 36, no. 6, pp. 789 – 814, 2000.
[72] J. Rawlings and D. Mayne, Model predictive control: theory, computation, and
design, 2nd ed. Nob Hill Publishing, 2017.
[73] A. Bemporad and M. Morari, “Robust model predictive control: A survey,” in Ro-
bustness in Identification and Control, A. Garulli and A. Tesi, Eds. London:
Springer London, 1999, pp. 207–226.
[74] M. Farina, L. Giulioni, and R. Scattolini, “Stochastic linear model predictive control
with chance constraints – a review,” Journal of Process Control, vol. 44, pp. 53 –
67, 2016.
[75] B. Kouvaritakis and M. Cannon, Model predictive control: classical, robust and
stochastic. Springer, 2016.
[76] S. Kermanil, S. Delprat, T. M. Guerra, and R. Trigui, “Predictive control for
HEV energy management: experimental results,” in 2009 IEEE Vehicle Power and
Propulsion Conference, 2009, pp. 364–369.
[77] F. Yan, J. Wang, and K. Huang, “Hybrid electric vehicle model predictive control
torque-split strategy incorporating engine transient characteristics,” IEEE Transac-
tions on Vehicular Technology, vol. 61, no. 6, pp. 2458–2467, 2012.
[78] H. Borhan, A. Vahidi, A. M. Phillips, M. L. Kuang, I. V. Kolmanovsky, and S. Di
Cairano, “MPC-based energy management of a power-split hybrid electric vehicle,”
IEEE Transactions on Control Systems Technology, vol. 20, no. 3, pp. 593–603,
2012.
[79] S. D. Cairano, D. Bernardini, A. Bemporad, and I. V. Kolmanovsky, “Stochastic
MPC with learning for driver-predictive vehicle control and its application to HEV
energy management,” IEEE Transactions on Control Systems Technology, vol. 22,
no. 3, pp. 1018–1031, 2014.
[80] M. Joševski, A. Katriniok, and D. Abel, “Scenario MPC for fuel economy optimiza-
tion of hybrid electric powertrains on real-world driving cycles,” in 2017 American
Control Conference (ACC), 2017, pp. 5629–5635.
[81] M. Joševski and D. Abel, “Gear shifting and engine on/off optimal control in hybrid
electric vehicles using partial outer convexification,” in 2016 IEEE Conference on
Control Applications (CCA), 2016, pp. 562–568.

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

[105] X. Hu, N. Murgovski, L. M. Johannesson, and B. Egardt, “Comparison of three


electrochemical energy buffers applied to a hybrid bus powertrain with simulta-
neous optimal sizing and energy management,” IEEE Transactions on Intelligent
Transportation Systems, vol. 15, no. 3, pp. 1193–1205, 2014.

[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.

[107] T. Nüesch, P. Elbert, M. Flankl, C. Onder, and L. Guzzella, “Convex optimization


for the energy management of hybrid electric vehicles considering engine start and
gearshift costs,” Energies, vol. 7, no. 2, p. 834–856, Feb 2014.

[108] M. Pourabdollah, N. Murgovski, A. Grauers, and B. Egardt, “An iterative dynamic


programming/convex optimization procedure for optimal sizing and energy man-
agement of PHEVs,” IFAC Proceedings Volumes, vol. 47, no. 3, pp. 6606 – 6611,
2014, 19th IFAC World Congress.

[109] N. Murgovski, L. M. Johannesson, and B. Egardt, “Optimal battery dimensioning


and control of a CVT PHEV powertrain,” IEEE Transactions on Vehicular Technol-
ogy, vol. 63, no. 5, pp. 2151–2161, 2014.

[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.

[111] M. Pourabdollah, N. Murgovski, A. Grauers, and B. Egardt, “Optimal sizing of a


parallel PHEV powertrain,” IEEE Transactions on Vehicular Technology, vol. 62,
no. 6, pp. 2469–2480, 2013.

[112] X. Hu, S. J. Moura, N. Murgovski, B. Egardt, and D. Cao, “Integrated optimiza-


tion of battery sizing, charging, and power management in plug-in hybrid electric
vehicles,” IEEE Transactions on Control Systems Technology, vol. 24, no. 3, pp.
1036–1043, 2016.

[113] X. Hu, N. Murgovski, L. Johannesson, and B. Egardt, “Energy efficiency analysis


of a series plug-in hybrid electric bus with different energy management strategies
and battery sizes,” Applied Energy, vol. 111, pp. 1001 – 1009, 2013.

[114] S. Hadj-Said, G. Colin, A. Ketfi-Cherif, and Y. Chamaillard, “Convex optimization


for energy management of parallel hybrid electric vehicles,” IFAC-PapersOnLine,

167
BIBLIOGRAPHY

vol. 49, no. 11, pp. 271 – 276, 2016, 8th IFAC Symposium on Advances in Auto-
motive Control AAC 2016.

[115] K. C. Toh, M. J. Todd, and R. H. Tütüncü, “SDPT3 — a Matlab software package


for semidefinite programming, version 1.3,” Optimization Methods and Software,
vol. 11, no. 1-4, pp. 545–581, 1999.

[116] R. S. Vadamalu, D. Buch, H. Xiao, and C. Beidl, “Energy management of hybrid


electric powertrain using predictive trajectory planning based on direct optimal con-
trol,” IFAC-PapersOnLine, vol. 48, no. 25, pp. 236 – 241, 2015, 16th IFAC Work-
shop on Control Applications of Optimization 2015.

[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.

[121] A. Domahidi, A. U. Zgraggen, M. N. Zeilinger, M. Morari, and C. N. Jones, “Ef-


ficient interior point methods for multistage problems arising in receding horizon
control,” in 2012 IEEE 51st IEEE Conference on Decision and Control (CDC),
2012, pp. 668–674.

[122] C. V. Rao, S. J. Wright, and J. B. Rawlings, “Application of interior-point meth-


ods to model predictive control,” Journal of Optimization Theory and Applications,
vol. 99, pp. 723–757, 1998.

[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.

[125] R. Rostami, G. Costantini, and D. Görges, “ADMM-based distributed model pre-


dictive control: Primal and dual approaches,” in 2017 IEEE 56th Annual Conference
on Decision and Control (CDC), 2017, pp. 6598–6603.

[126] T. V. Dang, K. V. Ling, and J. M. Maciejowski, “Embedded ADMM-based QP


solver for MPC with polytopic constraints,” in 2015 European Control Conference
(ECC), 2015, pp. 3446–3451.

[127] S. Boyd, N. Parikh, E. Chu, B. Peleato, and J. Eckstein, “Distributed optimization


and statistical learning via the alternating direction method of multipliers,” Found.
Trends Mach. Learn., vol. 3, no. 1, p. 1–122, Jan. 2011.

[128] V. A. Adona, M. L. N. Gonçalves, and J. G. Melo, “Iteration-complexity analysis


of a generalized alternating direction method of multipliers,” Journal of Global
Optimization, vol. 73, pp. 331–348, 2017.

[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.

[131] J. Kronqvist, D. E. Bernal, A. Lundell, and I. E. Grossmann, “A review and com-


parison of solvers for convex MINLP,” Optimization and Engineering, vol. 20, pp.
397–455, 2019.

[132] R. Takapoui, N. Moehle, S. Boyd, and A. Bemporad, “A simple effective heuris-


tic for embedded mixed-integer quadratic programming,” International Journal of
Control, vol. 93, no. 1, pp. 2–12, 2020.

[133] A. Shapiro, “Asymptotic behavior of optimal solutions in stochastic programming,”


Mathematics of Operations Research, vol. 18, no. 4, pp. 829–845, 1993.

[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.

[136] A. L. Allègre, A. Bouscayrol, and R. Trigui, “Flexible real-time control of a hybrid


energy storage system for electric vehicles,” IET Electrical Systems in Transporta-
tion, vol. 3, no. 3, pp. 79–85, 2013.

[137] B. Nguyen, R. German, J. P. F. Trovão, and A. Bouscayrol, “Real-time energy man-


agement of battery/supercapacitor electric vehicles based on an adaptation of Pon-
tryagin’s minimum principle,” IEEE Transactions on Vehicular Technology, vol. 68,
no. 1, pp. 203–212, 2019.

[138] S. Dusmez and A. Khaligh, “A supervisory power-splitting approach for a new


ultracapacitor-battery vehicle deploying two propulsion machines,” IEEE Trans-
actions on Industrial Informatics, vol. 10, no. 3, pp. 1960–1971, 2014.

[139] M. Masih-Tehrani, M. R. Ha’iri-Yazdi, V. Esfahanian, and A. Safaei, “Optimum siz-


ing and optimum energy management of a hybrid energy storage system for lithium
battery life improvement,” Journal of Power Sources, vol. 244, pp. 2–10, 2013.

[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.

[142] J. Shen and A. Khaligh, “A supervisory energy management control strategy in a


battery/ultracapacitor hybrid energy storage system,” IEEE Transactions on Trans-
portation Electrification, vol. 1, no. 3, pp. 223–231, 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.

[148] R. Wang, J. Peng, Y. Zhou, H. Liao, and Z. Huang, “Primal-dual interior-point


method based energy distribution optimization for semi-active hybrid energy stor-
age system,” IFAC-PapersOnLine, vol. 50, no. 1, pp. 14 477 – 14 482, 2017.

[149] A. Mahmoudzadeh Andwari, A. Pesiridis, S. Rajoo, R. Martinez-Botas, and V. Es-


fahanian, “A review of battery electric vehicle technology and readiness levels,”
Renewable and Sustainable Energy Reviews, vol. 78, pp. 414 – 430, 2017.

[150] M. Wieczorek and M. Lewandowski, “A mathematical representation of an energy


management strategy for hybrid energy storage system in electric vehicle and real
time optimization using a genetic algorithm,” Applied Energy, vol. 192, pp. 222 –
233, 2017.

[151] A. Barré, B. Deguilhem, S. Grolleau, M. Gérard, F. Suard, and D. Riu, “A review


on lithium-ion battery ageing mechanisms and estimations for automotive applica-
tions,” Journal of Power Sources, vol. 241, pp. 680 – 689, 2013.

[152] J. M. Reniers, G. Mulder, and D. A. Howey, “Review and performance comparison


of mechanical-chemical degradation models for lithium-ion batteries,” Journal of
The Electrochemical Society, vol. 166, no. 14, pp. A3189–A3200, 2019.

[153] A. Tomaszewska, Z. Chu, X. Feng, S. O’Kane, X. Liu, J. Chen, C. Ji, E. Endler,


R. Li, L. Liu, Y. Li, S. Zheng, S. Vetterlein, M. Gao, J. Du, M. Parkes, M. Ouyang,
M. Marinescu, G. Offer, and B. Wu, “Lithium-ion battery fast charging: A review,”
eTransportation, vol. 1, p. 100011, 2019.

[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

You might also like