Symmetric Linear Model Predictive Control

Transcription

Symmetric Linear Model Predictive Control
1244
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 60, NO. 5, MAY 2015
Symmetric Linear Model Predictive Control
Claus Danielson, Member, IEEE, and Francesco Borrelli, Senior Member, IEEE
Abstract—This paper studies symmetry in linear model predictive control (MPC). We define symmetry for model predictive
control laws and for model predictive control problems. Properties
of both MPC symmetries are studied by using a group theory
formalism. We show how to efficiently compute MPC symmetries
by transforming the search of MPC symmetry generators into a
graph automorphism problem. MPC symmetries are then used to
design model predictive control algorithms with reduced complexity. The effectiveness of the proposed approach is shown through a
simple large-scale MPC problem whose explicit solution can only
be found with the method presented in this paper.
Index Terms—Model predictive control (MPC).
I. I NTRODUCTION
T
HE main idea of predictive control is to use a model of
the plant to predict its future evolution. At each sampling
time, starting at the current state, an open-loop optimal control
problem is solved over a finite horizon. The optimal command
signal is applied to the process only during the following
sampling interval. At the next time step, a new optimal control
problem based on new measurements of the state is solved over
a shifted horizon. The resultant control algorithm is referred
to as Model Predictive Control (MPC). The popularity of MPC
stems from the fact that the resulting operating strategy respects
all the system constraints. This is difficult to accomplish using
other control techniques. One limitation of this approach is that
running the optimization algorithm on-line at each time step
requires substantial time and computational resources.
One alternative to online computation is to compute the
optimal control law offline and store it as a look-up table. In [3]
the authors showed that the solution to the constrained finitetime optimal control problem is a piecewise affine on polyhedra
state-feedback control law. This state-feedback law is often
called the explicit controller. Having this precomputed control
law greatly reduces the computational load. However the explicit controller can require an excessive amount of memory
to store. In this paper we reduce the memory requirements
for explicit model predictive control using a problem structure,
called symmetry, found in certain systems.
Symmetries are patterns of self-similarity. For a mathematical problem, a symmetry is a transformation of the problem
variables that does not change the problem structure. Many
Manuscript received November 8, 2013; revised June 9, 2014, June 12,
2014, and October 27, 2014; accepted November 4, 2014. Date of publication
November 20, 2014; date of current version April 18, 2015. This work was
supported by the National Science Foundation under Grant 0844456. Recommended by Associate Editor J. Imura.
C. Danielson is with Mitsubishi Electric Research Laboratory, Cambridge,
MA 02139–1955 USA (e-mail: [email protected]).
F. Borrelli is with the Unversity of California at Berkeley, Berkeley, CA
94720 USA (e-mail: [email protected]).
Color versions of one or more of the figures in this paper are available online
at http://ieeexplore.ieee.org.
Digital Object Identifier 10.1109/TAC.2014.2373693
large-scale systems tend to exhibit large symmetry groups.
For instance apartment and office buildings have many rooms
laid out in regular patterns [29]. Complex machines are built
from similar components arranged into specific patterns [43].
Multi-agent systems are composed of identical agents or a
small number of different types of agents [24]. Problems with
symmetry are simpler since they have less unique problem data.
However algorithms must be designed to recognize and exploit
symmetric problem structure.
Symmetry has been used extensively in numerous fields to
analyze and simplify complex problems. Symmetry is a standard analysis tool in physics [1] and chemistry [11]. In recent
years symmetry has been applied to optimization. In optimization theory symmetries are transformations of the decision
space that do not change the cost or the feasible region (see
surveys [19], [33] for details). In [5] the authors showed that
the optimal solution to a symmetric linear program lies in
a lower-dimensional subspace called the fixed-space of the
group. This result was extended to semi-definite programs and
integer programs in [6] and [37] respectively. In [23] symmetric
semi-definite programming was used to simplify the sum-ofsquares decomposition of polynomials. In [2] symmetric semidefinite programming was applied to the optimal design of truss
structures.
Symmetry has also been used to analyze and simplify control
design [41]. In control theory, symmetries are transformations
of the state-space, input-space, and output-space that map the
state-space matrices to themselves. Using group representation
theory a basis for the state-space, input-space, and output-space
can be found that decomposes the system into smaller decoupled subsystems [21], [39]. This basis is called the symmetry
adapted basis. In [20], [25] it was shown that controllability
and stability in large scale systems can be determined by using
symmetry and checking the smaller set of decoupled subsystems. In [13] symmetry adapted basis was used to simplify the
design of H2 and H∞ controllers. Using symmetry adapted
basis the authors designed H2 and H∞ controllers for each of
the decoupled subsystems. The H2 norm of the full system is
the sum of the H2 norms of the decoupled subsystems. The
H∞ norm of the full system is the max of the H∞ norm of the
decoupled subsystems. In [7] symmetry was used to simplify
the process of finding the transition probabilities of MarkovChains which produce the fastest convergence. The authors
used symmetry adapted basis to decompose the fastest-mixing
Markov chain problem into smaller semi-definite programs.
This paper studies symmetry for constrained linear control
with focus on model predictive control (MPC) [34]. We define
symmetry for model predictive control laws and model predictive control problems and show how to efficiently compute these symmetry groups. Symmetries are used to design
model predictive control algorithms of reduced complexity.
By applying the proposed approach one can compute MPC
0018-9286 © 2014 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
DANIELSON AND BORRELLI: SYMMETRIC LINEAR MODEL PREDICTIVE CONTROL
feedback laws for classes of large-scale systems for which no
methodology exists today.
Next we present our contributions and detail the outline of the
paper. The paper is divided into four parts. In the first part of the
paper we define symmetry for a model predictive control problem and symmetry for an explicit model predictive control feedback law. A symmetry of a MPC problem is a state-space and
input-space transformation that preserves the dynamics, constraints, and cost. A symmetry of the MPC controller is a transformation of the state-space and input-space that preserves the
control law. In particular, by using the results from explicit MPC
[3], one can interpret the symmetries of a MPC controller as
a state-space and input-space transformations that permute the
pieces of the explicit controller. Thus symmetries relate the control law in different regions of the state-space. The set of all symmetries of the explicit controller form a group. We show that
symmetries of the MPC problem are also symmetries of the
MPC law. Through an example we show the MPC control law
may have additional symmetries not present in the underlying
MPC problem.
In the second part of the paper we provide algorithms for
finding the symmetries of the model predictive control problem
and explicit model predictive control law. We call the problem
of finding the symmetry group, symmetry identification. We
propose a method which transforms the symmetry identification
problem into graph automorphism problems. Graph automorphism problems can be solved efficiently using standard graph
automorphism software packages [18], [28], [35].
In the third and main part of the paper we present explicit
model predictive control designs which exploit symmetry to
reduce the memory requirements for storing the controller. We
propose two controller designs called the orbit controller and
the fundamental domain controller. We show how to synthesize
and implement these two controllers.
The orbit controller uses symmetry to organize the controller
pieces into equivalence classes called orbits. The orbit controller stores one representative controller pieces from each
orbit. The other controller pieces can be reconstructed online
using symmetry. We analyze the computational and memory
complexity of the orbit controller. We show that the orbit controller offers significant memory savings when the number of
group generators is small compared to the group size. We also
show that the time required for the evaluation of the orbit controller depends on the number of generators of the group symmetry. When the symmetry group of the controller has a small
number of generators the computational complexity of the orbit
controller is similar to the standard explicit model predictive
controller. The orbit controller can also be see as a generalization of the approach proposed in [40].
The fundamental domain controller solves the model predictive control problem on a subset of the state-space called
a fundamental domain. A fundamental domain is a subset that
contains at least one representative from each point orbit of a set
[21], [22]. Since the fundamental domain is a subset of the statespace, it contains fewer regions of the MPC controller which
leads to a reduction in the complexity of the controller. We also
analyze the computational complexity of the fundamental domain controller. We show that the computational complexity of
implementing the fundamental domain controller is comparable
to the computational complexity of the fastest implementation
of the full explicit controller [27].
1245
In the forth and final part of the paper we present two
examples that demonstrate the effectiveness of the proposed
approach. In the first example we consider a model predictive
controller for a quadcopter system [4], [10]. We use our symmetry identification algorithms to find the symmetries of the quadcopter system. Using these symmetries we construct the orbit
controller which reduces the memory requirements by a factor
of 12.8. In the second example we consider a network storage
system [17]. For this application, computing the explicit model
predictive controller is not feasible without using the techniques
proposed in this paper. In fact, the storage requirements of the
MPC controller is reduced by a factor of more than one billion.
A. Model Predictive Control
Consider the following model predictive control problem for
a constrained linear time-invariant system with quadratic cost
function and polytopic constraints
minimize
u0 ,...,uN −1
xTN P xN +
N
−1
xTk Qxk + uTk Ruk
(1a)
k=0
subject to xk+1 = Axk + Buk
xk+1 ∈ X for k = 0, . . . , N − 1
uk ∈ U for k = 0, . . . , N − 1
x0 = x ∈ X
(1b)
(1c)
(1d)
(1e)
where x0 = x ∈ Rn is the measured state, xk is the predicted
state under the control action uk ∈ Rm over the horizon N , X
and U are polytopic sets, and P = P T 0, Q = QT 0 and
R = RT 0.
Problem (1) can be written as a multi-parametric quadratic
program [3]
minimize
U
J(U, x)
subject to U ∈ T (x)
x∈X
(2a)
(2b)
(2c)
T
where U = [uT0 , . . . , uTN −1 ] is the input trajectory over the
horizon N , J(U, x) is a quadratic function, and T (x) is the
polytopic set of feasible input trajectories U that satisfy state
(1c) and input (1d) constraints under the dynamics (1b).
In [3] it was shown that (2) has a continuous piecewise affine
solution
F x + G for x ∈ CR
1
1
1
..
(3)
U (x) =
.
Fp x + Gp for x ∈ CRp
where CRi ⊆ X are polytopes called critical regions, and Fi ∈
RN m×n and Gi ∈ RN m are constant matrices. The set of initial
conditions x0 = x for which problem (2) is feasible is denoted
by X0 . The critical regions {CRi }pi=1 partition the set X0 , i.e.,
∪pi=1 CRi = X0 and int(CRi ) ∩ int(CRj ) = ∅ for all i = j.
The optimal state-feedback piecewise affine MPC control
law can be obtained by extracting the first m terms of the
optimal input trajectory U (x)
F1 x + G1 for x ∈ R1
..
u0 (x) = κ(x) =
(4)
.
Fr x + Gr for x ∈ Rr
where Fi ∈ Rm×n and Gi ∈ Rm are the optimal feedback
and feedforward gains. The regions Ri ⊆ X are unions of
critical region CRj where the first m components of U (x) are
1246
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 60, NO. 5, MAY 2015
identical. A union of polytopes is called a P-collection. We
refer to the triple (Fi , Gi , Ri ) as the i-th piece of the controller
κ(x) and I = {1, . . . , r} is the index set of the controller
pieces. We call the partition {Ri }i∈I minimal if it contains the
smallest number |I| of pieces needed to express κ(x).
It is important to make a distinction between the optimal control law u0 (x) and its piecewise affine expression κ(x) defined
in (4). The optimal control law u0 : X0 → U is a function from
the set of feasible states X0 to the set of feasible control inputs
U . The piecewise affine controller κ(x) is one expression of
this function. The function u0 (x) is unique since the model
predictive control problem (1) is strictly convex. However the
expression (4) is not unique. Indeed the objective of this paper
is to find an alternative expression for u0 (x) that requires less
memory than the piecewise affine controller κ(x).
A simple implementation of controller (4) is shown in
Algorithm 1. First the algorithm determines the region Ri that
contains the measured state x ∈ Ri . This step is called the point
location problem. Next the optimal control u0 (x) = Fi x + Gi
is calculated. The computational complexity of this algorithm is
dominated by the point location problem which requires O(|I|)
set membership tests x ∈ Ri of complexity O(nci ) where ci
is the number of constraints that defines region Ri . Many
improvements of this basic implementation can be found in the
literature [12], [27], [31], [42].
texts [26], [32], [38]. Permutations will be described using
the Cayley notation. For instance the permutation π such that
π(1) = 2, π(2) = 3, and π(3) = 1 will be denoted as
π = 12 23 31 .
(5)
Algorithm 1 Standard Implementation
Input: Measured State x
Output: Optimal Control u
1: for i ∈ I do
2: if x ∈ Ri then
3:
return i
4: end if
5: end for
6: u0 = Fi x + Gi
II. M ATHEMATICAL BACKGROUND
A polytope X is the intersection of a finite number of halfspaces X = {x ∈ Rn : H̄x ≤ K}. A half-space is redundant if
removing it from the description of X does not change the set
X . If the polytope X contains the origin in its interior it can be
written in normalized form X = {x ∈ Rn : Hx ≤ 1}. Let A ∈
Rm×n and X ⊆ Rn then the set AX = {Ax : x ∈ X } ⊆ Rm is
the image X through A.
A graph Γ = (N , E) is a set of nodes N together with a list
of unordered pairs E ⊂ N × N called edges. Nodes i, j ∈ N
are called adjacent if (i, j) ∈ E is an edge. A path is a sequence
of adjacent nodes. Two nodes i, j ∈ N are called connected
if there exists a path connecting them. A subgraph is a graph
whose node set is a subset of N and whose edge set is a subset
of E. A connected component is a subgraph in which any two
nodes are connected.
A. Group Theory
This paper deals with groups of matrices and permutations.
In this section we review the relevant concepts, notation, and
results from group theory. Details can be found in standard
A group (G, ◦) is a set G along with a binary operator ◦
such that the operator is associative, the set G is closed under
the operation ◦, the set includes an identity element, and the
inverse of each element is included in the set. In matrix groups
the operator ◦ is matrix multiplication and the identity element
is the identity matrix I. In permutation groups the operator ◦
is function composition and the identity element is the identity
permutation e. A group that contains only the identity element
is called trivial. For notational simplicity we will drop the ◦ and
write gh for g ◦ h.
Let G be a finite group. A set S ⊆ G is called a generating set
if every element of G can be expressed as an arbitrary product of
the elements of S. The group generated by S is denoted by S.
The trivial group G = {e} is generated by the empty set S = ∅.
A group homomorphism is a function f : G → H between
groups that preserves the group structure: f (g)f (h) = f (gh)
for all g, h ∈ G. A bijective group homomorphism f is called
a group isomorphism and the groups G and H are called
isomorphic. If G and H are isomorphic groups and S ⊆ G
generates G = S then f (S) generates H = f (S).
A group G acts on a set X if its elements g ∈ G are functions
g : X → X on that set X . The orbit Gx := {g(x) : g ∈ G} of a
point x ∈ X is the set of images g(x) of the point x under every
element of the group g ∈ G. Algorithm 2 calculates the orbit
Gx of a point x ∈ X under the group G = S. This algorithm
is valid for both matrix and permutation groups. This algorithm
has computational complexity O(|S||Gx|) [38].
Algorithm 2 Orbit Construction
Input: Point x ∈ X and generators S of the group G = S
Output: Orbit O = Gx = Sx
1: Initialize orbit O = {x}
2: while Orbit O still growing do
3: for each g ∈ S do
4:
Expand orbit O = O ∪ g(O)
5: end for
6: end while
III. S YMMETRY G ROUPS
In this section we formally define symmetry in the context
of Model Predictive Control. We give two intuitive definitions
of symmetry and discuss how they are related. In particular we
define the symmetries of the model predictive control law (4)
and the model predictive control problem (1).
A. Symmetries of the Explicit Controller
A symmetry of the optimal control law u0 (x) is a transformation of the state-space Θ ∈ Rn×n and input-space Ω ∈ Rm×m
that preserves the control law, i.e., u0 (x) = Ω−1 u0 (Θx).
Definition 1: The pair of invertible matrices (Θ, Ω) is a symmetry of the optimal control law u0 (x) if Ωu0 (x) = u0 (Θx) for
all x ∈ X0 .
DANIELSON AND BORRELLI: SYMMETRIC LINEAR MODEL PREDICTIVE CONTROL
Definition 1 says that for every feasible point x ∈ X0 , the
control actions at points x and y = Θx are related by a linear
transformation Ω ∈ Rm×m . The set of all symmetries of the optimal control law u0 (x) is denoted by Aut(u0 ). The following
proposition shows that the set Aut(u0 ) is a group.
Proposition 1: The set Aut(u0 ) of all symmetries of the
control law u0 is a group under pairwise matrix multiplication.
Proof: We show that Aut(u0 ) under matrix multiplication
satisfies the axioms of group theory. Note that matrix multiplication is associative.
1) Identity: (In , Im ) ∈ Aut(u0 ) since
Im u0 (x) = u0 (In x)
∀ x ∈ X0 .
(6)
2) Inverse: Let (Θ, Ω) ∈ Aut(u0 ) then (Θ−1 , Ω−1 ) ∈
Aut(u0 ) since
Ωu0 (Θ−1 y) = u0 (y)
∀ y = Θx ∈ ΘX0 = X0 .
3) Closure: Let (Θ1 , Ω1 ), (Θ2 , Ω2 ) ∈
(Θ1 Θ2 , Ω1 Ω2 ) ∈ Aut(u0 ) since
(7)
Aut(u0 )
then
−1 −1 Ω−1
2 Ω1 u0 (Θ1 Θ2 x) = Ω2 u0 (Θ2 x) = u0 (x).
(8)
We are interested in symmetries of the piecewise affine
controller κ(x) in (4). A symmetry of the piecewise affine
controller κ(x) is a transformation of the state-space Θ and
input-space Ω that permutes the controller pieces (Fi , Gi , Ri )
for i ∈ I.
Definition 2: The pair of invertible matrices (Θ, Ω) is a
symmetry of the piecewise affine control law κ(x) in (4) if for
every i ∈ I there exists j ∈ I such that
ΩFi = Fj Θ
ΩGi = Gj
ΘRi = Rj .
(9a)
(9b)
(9c)
The set of all symmetries of the controller κ(x) is a group
denoted by Aut(κ). Definition 2 says that the state-space transformation Θ maps the i-th region Ri ⊆ X0 to the j-th region
Rj = ΘRi . Furthermore each symmetry (Θ, Ω) ∈ Aut(κ)
maps the control law in region Ri to the control law in region
Rj . The optimal control law for x ∈ Rj = ΘRi is
u0 (x) = ΩFi Θ−1 x + ΩGi
(10)
where Fi and Gi are the optimal feedback and feedforward
gains respectively for region Ri . The following example illustrates the concept of controller symmetry.
Example 1: Consider a model predictive control problem of
the form (1) with horizon N = 5, cost matrices Q = P = I and
R = I, dynamics matrices
1 1
0
A= 2
and
B
=
,
(11)
0 2
1 −1
and box constraints on the state and input
X = {x ∈ R2 : −1 ≤ xi ≤ 1, i = 1, 2}
U = {u ∈ R2 : −1 ≤ ui ≤ 1, i = 1, 2}.
(12a)
(12b)
The partition {Ri }i∈I of the explicit controller κ(x) for this
problem is shown in Fig. 1(a) and the vector field of the optimal
control law u0 (x) = κ(x) is shown in Fig. 1(b).
The symmetry group Aut(κ) of the explicit controller κ(x)
is the dihedral-4 group which consists of the planar rotations by
1247
Fig. 1. Partition {Ri }i∈I and vector field u0 (x) = κ(x) for the explicit
controller κ(x).
90 degree increments and the reflections of the plane about the
horizontal, vertical, and both diagonal axis. This group can be
generated by the 90 degree planar rotation and the reflection
about the vertical axis in the state-space and the 90 degree
planar rotation and the diagonal reflection in the input-space
0 −1 , 0 −1
(Θr , Ωr ) =
(13a)
1 0 1 0 −1 0 , 0 −1
(13b)
(Θs , Ωs ) =
0 1
−1 0
where (Θr , Ωr ) are the 90 degree rotation matrices and
(Θs , Ωs ) are the reflections about the vertical and diagonal axis
respectively.
The symmetry of the explicit controller κ(x) can be seen in
the controller partition {Ri }i∈I shown in Fig. 1(a). Rotating the
partition {Ri }i∈I by increments of 90 degrees does not change
the pattern of the partition. Likewise reflecting the partition
{Ri }i∈I about the horizontal, vertical, or either diagonal axis
does not change the partition.
The symmetry can also be seen in the vector field of the optimal control law u0 (x) shown in Fig. 1(b). Rotating the statespace by 90 degrees is equivalent to rotating the vector field
u0 (x) by 90 degrees Ωr u0 (x) = u0 (Θr x). The points x, y ∈
X0 shown in Fig. 1(b) are related y = Θs x by the vertical
reflection Θs . The vector field at these points is related by the
diagonal reflection Ωs
u0 (y) = u0 (Θs x) = Ωs u0 (x).
(14)
Clearly symmetries (Θ, Ω) ∈ Aut(κ) of the explicit controller κ(x) are symmetries of the underlying optimal control
law u0 (x). However symmetries (Θ, Ω) ∈ Aut(u0 ) of the optimal control law u0 (x) are not necessarily symmetries of the
piecewise affine controller κ(x) i.e., Aut(κ) ⊆ Aut(u0 ). The
symmetries (Θ, Ω) ∈ Aut(κ) of the piecewise affine controller
κ(x) depend on how the feasible region X0 is partitioned
{Ri }i∈I . For instance we can break symmetry by splitting
region Ri but not its image Rj = ΘRi . The following theorem
shows that when {Ri }i∈I is the minimal P-collection partition
for κ(x) then the symmetry group Aut(κ) of the piecewise affine controller κ(x) and the symmetry group Aut(u0 ) of the optimal control law u0 (x) are the same, i.e., Aut(κ) = Aut(u0 ).
Theorem 1: Let κ(x) be the piecewise affine controller (4)
where {Ri }i∈I is the minimal P-collection partition of X0 .
Then Aut(u0 ) = Aut(κ).
Proof: Any symmetry (Θ, Ω) ∈ Aut(u0 ) of the optimal
control law is a symmetry of its piecewise affine expression
κ(x). Thus Aut(κ) ⊆ Aut(u0 ). Next we show the converse.
1248
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 60, NO. 5, MAY 2015
Suppose (Θ, Ω) ∈ Aut(u0 ) is not a symmetry of the piecewise affine controller κ(x). Then there exists i ∈ I such that
(9) does not hold for any j ∈ I.
Consider the set ΘRi ⊂ X0 . There exists a minimal finite
covering J ⊆ I of this set
int(ΘRi ) ⊆
Rj
(15)
j∈J
since {Ri }i∈I is a partition of the feasible region X0 and
ΘRi ⊆ X0 is a subset of the feasible region. The sets
Pj = (ΘRi ) ∩ Rj
(16)
for j ∈ J are full-dimensional since ΘRi is full-dimensional
and J is a minimal cover. Therefore each Pj contains a set of
affinely independent points. Since Ωu0 (x) = u0 (Θx) at each
of these affinely independent points we have
ΩFi = Fj Θ
ΩGi = Gj
(17a)
(17b)
for each j ∈ J . Thus (ΩFi Θ−1 , ΩGi , ΘRi ) and (Fj , Gj , Rj )
differ only by the partition ΘRi = Rj .
Suppose |J | = 1 then ΘRi ⊂ Rj since ΘRi = Rj . In this
case reverse the roles of i and j and consider a cover K of
Θ−1 Rj where |K| > 1. Since Aut(κ) is a group, (Θ−1 , Ω−1 ) ∈
Aut(κ) implies (Θ, Ω) ∈ Aut(κ). Thus we can assume without
loss of generality that |J | > 1.
For |J | > 1 we can merge the regions Rj for j ∈ J . However this contradicts the assumption that {Ri }i∈I is the minimal
partition. Therefore we conclude that (Θ, Ω) ∈ Aut(u0 ) is a
symmetry of the piecewise affine control law κ(x).
According to Definition 2 each transformation pair (Θ, Ω) ∈
Aut(κ) corresponds to a permutation π : I → I of the controller pieces I where j = π(i) for i and j satisfying (9). It
will be convenient to define a function Π that maps transformations (Θ, Ω) ∈ Aut(κ) to the corresponding permutation of the
controller pieces I.
Definition 3: Let Π : Aut(κ) → Sym(I) be the group
homomorphism that maps controller symmetries (Θ, Ω) ∈
Aut(κ) to the corresponding permutation π = Π(Θ, Ω) : I →
I of the controller pieces I.
The function Π is not necessarily a group isomorphism
since there may be symmetries (Θ, Ω) ∈ Ker(Π) = {(Θ, Ω) ∈
Aut(κ) : Π(Θ, Ω) = e} that map every controller piece i ∈ I
to itself e(i) = i where e is the identity permutation. Symmetries (Θ, Ω) ∈ Ker(Π) in this subgroup Ker(Π) do not help
reduce the memory requirements of storing the explicit model
predictive controller κ(x).
B. Symmetries of the MPC Problem
In this section we define the symmetries of the model predictive control problem (1) and show how they are related to
symmetries of the explicit model predictive controller κ(x).
Symmetries of the model predictive control problem (1) allow
us to determine symmetries of the explicit controller κ(x) without the computational expense of first constructing the controller.
A symmetry of the model predictive control problem (1) is
a transformation of the state-space Θ ∈ Rn×n and input-space
Ω ∈ Rm×m that preserves the cost (1a), dynamics (1b), and constraints (1c) and (1d) of the model predictive control problem.
Definition 4:
1) The pair of invertible matrices (Θ, Ω) is a symmetry of
the cost function (1a) if it satisfies
ΘT P Θ = P
ΘT QΘ = Q
ΩT RΩ = R.
(18a)
(18b)
(18c)
2) The pair of invertible matrices (Θ, Ω) is a symmetry of
the dynamics (1b) if it satisfies
ΘA = AΘ
ΘB = BΩ.
(19a)
(19b)
3) The pair of invertible matrices (Θ, Ω) is a symmetry of
the constraints (1c) and (1d) if it satisfies
ΘX = X
ΩU = U .
(20a)
(20b)
The set of all symmetries satisfying (18) is denoted
Aut(P, Q, R). For each (Θ, Ω) ∈ Aut(P, Q, R) the cost (1a)
N −1
of the state trajectory {x(t)}N
t=0 and input trajectory {u(t)}t=0
is the same as the cost (1a) of the state trajectory {Θx(t)}N
t=0
−1
and input trajectory {Ωu(t)}N
t=0 .
The set of all symmetries satisfying (19) is denoted
Aut(A, B). If the state and input trajectories {x(t)}∞
t=0 and
{u(t)}∞
t=0 are valid for the dynamics (1b) then so are the
∞
state and input trajectories {Θx(t)}∞
t=0 and {Ωu(t)}t=0 for any
(Θ, Ω) ∈ Aut(A, B). For an autonomous system (i.e., B = 0),
(19) says that the vector field f (x) = Ax is invariant under the
state-space transformation Θ, i.e., f (x) = Ax = ΘAΘ−1 x.
The set of all symmetries satisfying (20) is denoted
Aut(X , U ). This is the set of all state-space and input-space
transformations (Θ, Ω) that preserve the constraint sets ΘX =
X and ΩU = U . The state-space transformation Θ permutes
faces of the polytope X and the input-space transformation Ω
permutes face of the polytope U . In particular Θ and Ω permute
the vertices and facets of the polytopes X and U , respectively.
The symmetry group Aut(M P C) = Aut(P, Q, R)∩Aut(A,
B) ∩ Aut(X , U ) of the model predictive control problem (1)
is the intersection of the symmetry groups of the cost Aut(P,
Q, R), dynamics Aut(A, B), and constraints Aut(X , U ). The
symmetries (Θ, Ω) ∈ Aut(M P C) do not change the cost function J(U, x), feasible region T (x), and the feasible parameterspace X0 of the multi-parametric program (2).
Proposition 2: Each symmetry (Θ, Ω) ∈ Aut(M P C) of the
model predictive control problem (1) satisfies
J ((IN ⊗ Ω)U, Θx) = J(U, x)
(IN ⊗ Ω)T (x) = T (Θx)
ΘX0 = X0
(21a)
(21b)
(21c)
where J(U, x), T (x), and X0 are the cost function, feasible
region, and feasible parameter-space of the multi-parametric
program (2) of the model predictive control problem.
Proof: Define Q = diag(IN ⊗ Q, P ), R = IN ⊗ R, and
⎤
⎤
⎡
⎡
I
0
··· 0
⎥
⎢ A ⎥
⎢ B.
..
A = ⎣ .. ⎦ and B = ⎣
(22)
⎦
..
.
.
N
N −1
B ··· B
A
A
where ⊗ is the Kronecker product. Then the cost function of (2)
can be written
J(U, x) = (Ax + BU )T Q(Ax + BU ) + U T RU.
(23)
DANIELSON AND BORRELLI: SYMMETRIC LINEAR MODEL PREDICTIVE CONTROL
1249
By (18) and (19) we have
J ((IN ⊗ Ω)U, Θx)
= (AΘx + B(I ⊗ Ω)U )T Q (AΘx + B(I ⊗ Ω)U )
+ U T (I ⊗ Ω)T R(I ⊗ Ω)U
= (Ax + BU )T (I ⊗ Θ)T Q(I ⊗ Θ)(Ax + BU )
+ U T (I ⊗ Ω)T R(I ⊗ Ω)U
= J(U, x).
(24)
Consider the set
x
F=
: U ∈ U N , Ax + BU ∈ X N +1 .
U
(25)
By (19) and (20) this set satisfies
I
0
F
0 I ⊗Ω
x
=
: (I ⊗Ω)−1 U ∈ U N , Ax+B(I ⊗Ω)−1 U ∈ X N +1
U
x
N
N +1
=
: U ∈ (I ⊗ Ω)U , AΘx + BU ∈ (I ⊗ Θ)X
U
Θ 0
=
F.
(26)
0 I
Thus, (I ⊗ Ω)T (x) = T (Θx) since T (x) = {U : Ux ∈ F} is
the slice
of F at x. Also ΘX0 = X0 since X0 = {x : ∃U
s.t. Ux ∈ F} is the projection of F onto x.
T
T
Proposition 2 says that if U = [uT
is the
0 , . . . , uN −1 ]
optimal solution of the multi-parametric program (2) for x then
T
T
(IN ⊗ Ω)U = [ΩuT
is the optimal solution
0 , . . . , ΩuN −1 ]
to the multi-parametric program for y = Θx. Symmetries
(Θ, Ω) ∈ Aut(M P C) relate the optimal solutions to the multiparametric program (2) at different points x, Θx ∈ X0 in the
feasible region.
The following theorem shows that the symmetries (Θ, Ω) ∈
Aut(M P C) of the model predictive control problem (1) are
symmetries of the optimal control law u0 (x).
Theorem 2: The symmetry group Aut(M P C) of the model
predictive control problem (1) is a subgroup of the symmetry
group Aut(u0 ) of the optimal control law u0 (x).
Proof: Let U (x) be the optimal solution to the multiparametric program (2). By Proposition 2 for each (Θ, Ω) ∈
Aut(M P C) the function (IN ⊗ Ω)U (Θ−1 x) is a feasible and
optimal solution to the multi-parametric program (2). Since
(2) is strictly convex U (x) = (IN ⊗ Ω)U (Θ−1 x) is unique.
Therefore u0 (x) = Ωu0 (Θ−1 x).
It follows from Theorems 1 and 2 that symmetries (Θ, Ω) ∈
Aut(M P C) of the model predictive control problem are symmetries of the explicit controller κ(x) when {Ri }i∈I is the
minimal P-collection partition. In fact we can show that κ(x)
is symmetric with respect to Aut(M P C) when {Ri }i∈I is the
critical region partition.
Corollary 1: Let κ(x) be the optimal piecewise affine controller for the model predictive control problem (1) where
{Ri }i∈I = {CRi }pi=1 is the critical region partition of X0 .
Then Aut(M P C) ⊆ Aut(κ).
Proof: For each (Θ, Ω) ∈ Aut(M P C) there exists
CRj such that P = CRi ∩ ΘCRj is full-dimensional since
{ΘCRi }pi=1 covers ΘX0 = X0 . This set P contains an affinely
Fig. 2. Counter-example showing the symmetry group Aut(κ) of the explicit
controller can be larger than the symmetry group Aut(M P C) of the model
predictive control problem.
independent set of points. Thus Fi Θ = ΩFj and Gi = ΩGj
since (I ⊗ Ω)U (x) = U (Θx) by Proposition 2.
Next we show CRi = ΘCRj . The critical regions CRi is
define as
CRi = x : Fi x+Gi ∈ U N, (A+BFi )x+BGi ∈ X N
(27)
where A and B were defined in (22) and, Fi and Gi were
defined in (3). This region satisfies
ΘCR
i
= x : Fi Θx + Gi ∈ U N , (A + BFi )Θx + BGi ∈ X N
= x : (I ⊗ Ω)−1 Fj x + Gi ∈ U N ,
(I ⊗ Θ)−1 (A + BFj )x + BGi ∈ X N
= x : Fj x + Gj ∈ (I ⊗ Ω)U N ,
(A + BFj )x + BGj ∈ (I ⊗ Θ)X N
= CRj
(28)
by (19) and (20). Thus {CRi }i∈I = {ΘCRi }i∈I . Finally we
conclude that κ(x) = Ωκ(Θ−1 x) since κ(x) is the first m
components of U (x).
The following example shows that the explicit model predictive controller κ(x) can have symmetries (Θ, Ω) ∈ Aut(κ)
that do not appear in the model predictive control problem i.e.,
(Θ, Ω) ∈ Aut(M P C).
Example 2: Consider the model predictive control problem
of the form (1) where the dynamics matrices are
√ √
1 0
2 √2
√
A=
and B =
.
(29)
2
0 1
− 2
The cost matrices are P = Q = In ∈ Rn×n and R = ρIm ∈
Rm×m where ρ = 5 × 106 . The horizon is N = 1. The state
constraints are the octagon shown in Fig. 2(a) and the input
constraints are the box shown in Fig. 2(b).
The model predictive control problem is symmetric with
respect to rotations of the state-space and input-space by
90 degree increments. However the controller κ(x) is symmetric with respect to rotation of the state-space Θ and inputspace Ω by 45 degree increments. This symmetry can be seen
in Fig. 2(c) which shows the controller partition {Ri }i∈I .
The limiting factor in the symmetry group Aut(M P C) of
the model predictive control problem in this example is the input constraint set U . However the optimal controller κ(x) does
not use every possible control input u ∈ U . The image κ(X )
of the optimal control for each x ∈ X is shown in Fig. 2(d). It
can be seen that the optimal controller only uses an octagonal
subset of U . Therefore the explicit controller can have a larger
symmetry group than the model predictive control problem (1).
Likewise the symmetry group Aut(κ) could be strictly larger
than Aut(M P C) if the feasible state-space X0 ⊂ X has more
symmetries than X .
1250
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 60, NO. 5, MAY 2015
IV. I DENTIFICATION OF S YMMETRY G ROUPS
In this section we describe how to find the symmetry groups
of the explicit controller Aut(κ) and model predictive control
problem Aut(M P C).
A. Identification of Controller Symmetries
In this section we address the problem of finding the set
of all state-space Θ and input-space Ω transformations that
satisfy Definition 2 i.e., (Θ, Ω) ∈ Aut(κ). We call this problem
controller symmetry identification.
Problem 1: Find a set S = {(Θ1 , Ω1 ), . . . , (Θs , Ωs )} of
state-space and input-space transformations that generate the
symmetry group Aut(κ) = S of the explicit controller κ(x).
The following proposition characterizes Aut(κ) as the set
of all linear transformations (Θ, Ω) that permute the extreme
points {xj }qj=1 of the controller partition {Ri }i∈I and the
value uj = κ(xj ) of the controller at these points. The extreme
points {xj }qj=1 of the partition {Ri }i∈I are the vertices of
each polytope Ri for i ∈ I. Similar results can be found in
[9] and [40].
Proposition 3: The symmetry group Aut(κ) of the controller κ(x) is the setof all linear transformations (Θ, Ω) that
q
where xj are the extreme points
permute the set { uxjj }
j=1
of the partition {Ri }i∈I and uj = κ(xj ) is the value of the
controller at these points.
Proof: See [9].
Proposition 3 means that we can identify the symmetry group
Aut(κ) by finding all linear transformations
that permute the
q
control at extreme points { uxjj } . The following theorem
j=1
characterizes the set of all linear transformations (Θ, Ω) ∈
q
n×n
m×m
R
×R
that permute a finite set of points { uxjj } .
j=1
In [8] the authors prove a similar theorem using graph theory
to identify the symmetries of polyhedra. Here we provide an
alternative proof based on linear algebra.
Theorem 3: Let {uj }qj=1 contain a linearly independent subset. The set of all linear transformations Θ and Ω that permute
{xj }qj=1 and {uj }qj=1 is isomorphic to the set of all permutation
matrices P satisfying
−1
−1
P X T (XX T ) X = X T (XX T ) XP
T
T −1
T
T −1
P U (U U ) U = U (U U ) U P
where X = [x1 , . . . , xq ] ∈ Rn×q
Rm×q with isomorphism
(30a)
−1
Procedure 1 Identification of Controller Symmetries
1: Calculate extreme points {xj }qj=1 of the controller partition {Ri }i∈I and control uj = κ(xj ) at these points.
2: Find generators P = {P1 , . . . , Ps } of the group of permutation matrices P ∈ Rq×q that satisfy (30).
3: Calculate generators S = {(Θ1 , Ω1 ), . . . , (Θs , Ωs )} of
Aut(κ) using isomorphism (31) with the permutation
generators P ∈ P.
This procedure can be very computationally intensive. It
requires calculating the full explicit controller κ(x) and finding
the extreme points {xj }qj=1 of the partition {Ri }i∈I . In our experience these steps, rather than finding Perm(κ), dominate the
computational complexity of this procedure. In practice we typically use a subgroup G ⊆ Aut(κ) that is known a priori or can
be calculated more efficiently. We propose using the symmetry
group Aut(M P C) ⊆ Aut(κ) of the model predictive control
problem. In the next section we will show how to identify
Aut(M P C).
(30b)
and U = [u1 , . . . , uq ] ∈
Θ = XP X T (XX T )
−1
Ω = U P U T (U U T ) .
several drawbacks to this approach. A mixed-integer solver will
return all elements of the group Perm(κ) instead of just a set of
generators P. Since the group size |Perm(κ)| can be exponentially larger than its generators |P| this significantly increases
the computational load. Additionally most standard mixedinteger solvers perform poorly on highly symmetric problems
[6], [33]. On the other hand graph automorphism software is
specifically designed to work with highly symmetric problems.
Graph automorphism software packages exploit special properties of groups to improve computation complexity. Additionally
graph automorphism software will find a set of generators P
with bounded cardinality |P| = q−1 for the group Perm(κ). Procedure 1 summarizes the steps for identifying the symmetry group Aut(κ) of the controller κ(x). First we enumerate the
extreme points {xj }qj=1 of the partition {Ri }i∈I and calculate
the value of the controller uj = κ(xj ) at these points. Next we
find a set of generators of the group Perm(κ) using graph automorphism software. Finally we calculate the generators of the
controller symmetry group Aut(κ) using the isomorphism (31).
(31a)
(31b)
Proof: See [14].
We denote the set of all permutation matrices P ∈ Rq×q that
satisfy (30) by Perm(κ). Finding this group can be posed as a
graph automorphism problem [15] and solved using standard
software packages [18], [28], [35]. Standard graph automorphism software packages can identify the group Perm(κ) for
partitions {Ri }i∈I containing thousands of extreme points
{xj }qj=1 .
Remark 1: An alternative approach to finding the set
Perm(κ) is to pose the problem as a mixed-integer feasibility
problem. This approach was taken in [40]. However there are
B. Identification of MPC Symmetries
In this section we address the problem of finding the set of
all state-space Θ and input-space Ω transformations that satisfy
Definition 4 i.e., (Θ, Ω) ∈ Aut(M P C). We call this problem
MPC symmetry identification.
Problem 2: Find a set S = {(Θ1 , Ω1 ), . . . , (Θs , Ωs )} of
state-space and input-space transformations that generate the
symmetry group Aut(M P C) = S of the model predictive
control problem (1).
The symmetry group Aut(M P C) of the model predictive
control problem (1) is a subgroup of the symmetry group
Aut(X , U ) of the constraint sets X and U . For bounded sets
X and U the symmetry group Aut(X , U ) is isomorphic to
a permutation group acting on the non-redundant half-spaces
of X and U . We will denote this group by Perm(X , U ). In
[8] the group Perm(X , U ) was characterized by the set of
DANIELSON AND BORRELLI: SYMMETRIC LINEAR MODEL PREDICTIVE CONTROL
1251
all permutation matrices (Px , Pu ) that satisfy the commutative
relationship
−1 T
Hx HxT Hx
Hx
0
Px 0
−1 T
0 Pu
Hu HuT Hu
H
T −1 0 T
u
Hx
0
Hx H x H x
Px 0
=
−1 T
0 Pu
0
Hu HuT Hu
Hu
(32)
Using standard graph automorphism software we can identify the symmetry group Aut(M P C) for constrained linear
systems with a large number of constraints. Identifying the
symmetry group Aut(M P C) of the model predictive control
problem (1) is less computationally demanding than using
Procedure 1 to identify the symmetry group Aut(κ) of the
controller κ(x).
where Hx and Hu are the normalized half-space matrices for X
and U , respectively
V. O RBIT C ONTROLLER
X = {x ∈ Rn : Hx x ≤ 1}
U = {u ∈ Rm : Hu u ≤ 1}.
(33a)
(33b)
The groups Aut(X , U ) and Perm(X , U ) are related by the
isomorphism
−1
Θ = (HxT Hx ) HxT Px Hx
−1
Ω = (HuT Hu ) HuT Pu Hu .
(34a)
(34b)
We extend the result in [8] to find the symmetry group
Aut(M P C) of the model predictive control problem (1).
The symmetry group Aut(M P C) is isomorphic to the group
Perm(M P C) of permutation matrices (Px , Pu ) that satisfies
the commutative relationships (32) and
−1
−1
Px Hx A(HxT Hx ) HxT = Hx A(HxT Hx ) HxT Px
−1
−1
Px Hx B(HuT Hu ) HuT = Hx B(HxT Hx ) HuT Pu
(35a)
(35b)
and
Px H̄x P H̄xT = H̄x P H̄xT Px
Px H̄x QH̄xT = H̄x QH̄xT Px
Pu H̄u RH̄uT = H̄u RH̄uT Pu
−1
(36a)
(36b)
(36c)
−1
where H̄x = Hx (HxT Hx ) and H̄u = Hu (HuT Hu ) .
Equation (35) ensures that the permutation matrices (Px , Pu )
are isomorphic to a transformation (Θ, Ω) that preserves the
dynamics ΘA = AΘ and ΘB = BΩ. Equation (36) ensures
that the permutation matrices (Px , Pu ) are isomorphic to a
transformation (Θ, Ω) that preserves the cost ΘT P Θ = P ,
ΘT QΘ = Q, and ΩT RΩ = R.
Theorem 4: Let Perm(M P C) be the set of all permutation matrices Px and Pu that satisfy (32), (35), and (36).
Then Perm(M P C) is isomorphic to Aut(M P C) with
isomorphism (34).
Proof: See [14], [15].
Procedure 2 summarizes the steps for identifying the symmetry group Aut(M P C) of the model predictive control problem
(1). First we find the generators of the group Perm(M P C) of
all permutation matrices (Px , Pu ) that satisfy (32), (35), and
(36). This can be posed as a graph automorphism problem
[35] and solved using standard software packages [18], [28],
[35]. Next we calculate the generators of the symmetry group
Aut(M P C) using the isomorphism (34).
Procedure 2 Identification of the MPC Symmetries
1: Find a set of generators P = {(Px1 , Pu1 ), . . . , (Pxs , Pus )}
of the permutation group Perm(M P C) that satisfy (32),
(35), and (36).
2: Calculate generators S = {(Θ1 , Ω1 ), . . . , (Θs , Ωs )} of
Aut(M P C) using isomorphism (34) with the permutation generators (Px , Pu ) ∈ P.
In this section we define the orbit controller κo (x) which
uses symmetry to reduce the memory complexity of storing the
optimal control law u0 (x). The results of this section hold for
any subgroup G ⊆ Aut(κ) of controller symmetries. In practice
we use G = Aut(M P C).
A. Orbit Controller
Symmetry tells us that pieces i, j ∈ I of the controller are related by state-space Θ and input-space Ω transformations. Thus
we need only store one of these controller pieces and the other
pieces can be recovered using the symmetry transformations.
This intuition is formalized and generalized using the concept
of a controller orbit.
Two controller pieces i, j ∈ I are symmetrically equivalent
if there exists a state-space and input-space transformation pair
(Θ, Ω) ∈ G ⊆ Aut(κ) that maps controller piece i to piece j =
π(i) for π ∈ Π(G). The set of all controller pieces equivalent to
the i-th piece is called a controller orbit
G(i) = {π(i) : π ∈ Π(G)} .
(37)
The set of controller orbits is denoted by I/G = {G(i1 ), . . . ,
G(ir )}, read as I modulo G, where {i1 , . . . , ir } is a set that
contains one representative controller piece ij from each orbit
G(ij ). With abuse of notation we will equate the set of controller orbits I/G with sets of representative controller pieces
I/G = {i1 , . . . , ir }. The controller orbits G(i) for i ∈ I/G
partition
the controller pieces I into disjoint equivalence classes
I = i∈I/G G(i).
Using orbits the memory requirements for the explicit model
predictive controller κ(x) can be reduced by storing only one
representative i ∈ G(i) from each controller orbit G(i). The
other controller pieces j ∈ G(i) can be recovered using the statespace and input-space transformations (Θ, Ω) ∈ G ⊆ Aut(κ)
and the symmetry relation (9). In terms of the controller orbits,
the optimal control law u0 (x) can be written as
u0 (x) = κo (x)
⎧
ΩFi1 Θ−1 x
⎪
⎪
⎪
⎪
⎪
⎨ +ΩGi1
..
=
.
⎪
⎪
−1
⎪
⎪
ΩF
Θ
x
i
r
⎪
⎩
+ΩGir
if x ∈ ΘRi1 for some (Θ, Ω) ∈ G
(38)
if x ∈ ΘRir for some (Θ, Ω) ∈ G
where {i1 , . . . , ir } = I/G is a set of representative controller
pieces. We call this representation of the optimal control law
u0 (x) the orbit controller κo (x).
The orbit controller κo (x) neglects part of the feasible statespace X0 where the optimal control law u0 (x) is symmetrically
1252
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 60, NO. 5, MAY 2015
Fig. 3. Connected Components of the orbit graph Γ(S) for the explicit
controller κ(x). The dots represent the graph nodes N = I and the lines
represent the graph edges ES . The graph nodes are drawn inside the region
Ri of the controller piece (Fi , Gi , Ri ) they represent.
Fig. 4.
redundant. The orbit controller κo (x) only explicitly stores the
control law u0 (x) on a subset R̂ of the feasible region X0
R̂ =
Ri ⊂ X 0 .
(39)
i∈I/G
We can visualize the orbit controller in terms of the orbit
graph Γ(S) = (N , E). The node set N of the orbit graph Γ(S)
is the index set I of the controller pieces {(Fi , Gi , Ri )}i∈I . By
(9) the symmetries (Θ, Ω) ∈ Aut(κ) induce sets of edges
E(Θ,Ω) = {(i, π(i)) ∈ I × I : π = Π(Θ, Ω), i = π(i)} (40)
that related controller pieces {(Fi , Gi , Ri )}i∈I . For a subset
of symmetries S ⊆ Aut(κ) we can define the graph Γ(S) =
(N , ES ) whose node set isthe set of controller pieces N = I
and whose edge set ES = (Θ,Ω)∈S E(Θ,Ω) is the union of edge
sets induced by the symmetries (Θ, Ω) ∈ S.
Each connected component of the graph Γ(S) corresponds
to a controller orbit G(i) = {π(i) ∈ I : π ∈ Π(G)} where G = S
is the symmetry group generated by S. The orbit graph Γ(S)
has |I/G| connected components. An orbit controller κo (x)
can be created by selecting one representative controller piece
(Fi , Gi , Ri ) from each connected component of the orbit graph
Γ(S). The symmetries (Θ, Ω) ∈ S allow us to move along the
edges of the orbit graph Γ(S) between controller pieces (Fi ,
Gi , Ri ) for i ∈ I to reconstruct the full explicit controller κ(x).
Obviously the orbit controller κo (x) is not unique since the
choice of controller pieces from each component is arbitrary.
The following example shows the construction of an orbit
controller.
Example 3: In this example we construct an orbit controller
κo (x) for the model predictive control problem defined in
Example 1.
The connected components of the orbit graph Γ(S) =
(N , ES ) for the explicit controller κ(x) and the generating
set S = {(Θr , Ωr ), (Θs , Ωs )} are shown in Fig. 3. The nodes
i ∈ I = N of these components are drawn inside the regions
Ri of the corresponding controller piece (Fi , Gi , Ri ). The
edges are induced by the 90 degree rotation matrix Θr and
horizontal reflection Θs . The |I| = 33 pieces of the explicit
controller κ(x) are organized into |I/G| = 8 orbits: one orbit
of size |G(i)| = 1, six orbits of size |G(i)| = 4 and one orbit of
size |G(i)| = 8. Each of these orbits correspond to connected
components of the orbit graph Γ(S).
The orbit shown in Fig. 3(a) is a singleton orbit |G(i)| = 1.
The orbit shown in 3(e) contains |G(i)| = 8 controller pieces
Partition {Ri }i∈I/G of an orbit controller κo (x).
(Fi , Gi , Ri ). The regions Ri for i ∈ G(i) are related by the
reflections and rotations of the symmetry group Aut(κ) = S.
The feedback Fi and feedforward Gi gains in these regions are
related by (9). This can be seen in the vector field of the optimal
control law u0 (x) shown in Fig. 1.
An orbit controller κo (x) can be created by selecting one
representative controller piece from each orbit. The partition
{Ri }i∈I/G of an orbit controller κo (x) is shown in Fig. 4. The
colored regions represent the pieces of the controller explicitly
stored by κo (x). The control law in the gray regions is recovered using symmetry. This controller contains one node from
each connected component of the orbit graph Γ(S). The choice
of the pieces to store is arbitrary.
B. Synthesis of Orbit Controller
In this section we present a simple procedure for synthesizing
the orbit controller κo (x).
The orbit controller can be synthesized using the steps in
Procedure 3. The first step of this procedure is to generate
the explicit controller κ(x). This can be done using the MultiParametric Toolbox (MPT) [30]. Next a symmetry group G ⊆
Aut(κ) of the controller κ(x) is identified. This can be done using Procedures 1 or 2 to find G = Aut(κ) or G = Aut(M P C),
respectively. Next the orbits G(i) of the controller pieces I are
calculated using Algorithm 2. Finally the orbit controller κo (x)
is constructed by selecting one controller piece (Fi , Gi , Ri )
from each orbit G(i).
Procedure 3 Synthesis of Orbit Controller κo (x)
1: Generate the explicit controller κ(x).
2: Identify a symmetry group G ⊆ Aut(κ) for explicit controller κ(x)
3: Calculate the orbits Gi of the controller pieces I
4: Select a representative controller piece (Fi , Gi , Ri ) from
each orbit G(i).
This procedure can be interpreted in terms of the orbit graph
Γ(S). In the first step we construct the node set I of the orbit
graph Γ(S) by constructing the explicit controller κ(x). In the
second step we find the edge set ES of the orbit graph Γ(S). In
the third step we use the orbit algorithm to find the connected
components of the orbit graph Γ(S). Finally we chose one representative from each connected component of the orbit graph
Γ(S) to produce an orbit controller κo (x).
DANIELSON AND BORRELLI: SYMMETRIC LINEAR MODEL PREDICTIVE CONTROL
1253
C. Implementation of Orbit Controller
In this section we discuss the implementation of the orbit
controller κo (x).
The orbit controller κo (x) is implemented using Algorithm 3.
The implementation of the orbit controller κo (x) is similar to
the standard implementation of the explicit controller κ(x) in
Algorithm 1. The point location problem still requires searching
the partition {Ri }i∈I of the feasible region X0 . However this
step is divided into two nested loops. In the outer-loop the
algorithm searches the representative regions {Ri }i∈I/G . In
the inner-loop the algorithm searches the orbit {Rj }j∈G(i) =
{ΘRi }Θ∈G of the representative region Ri for the set Rj =
ΘRi which contains the measured state x ∈ ΘRi .
This search can be interpreted in terms of the orbit graph
Γ(S). In the outer-loop we search among the connected
components of the orbit graph Γ(S). The inner-loop searches
the components. This search can be done efficiently using the
standard orbit search in Algorithm 2 which can be interpreted
as a search of the orbit graph Γ(S) [14].
Algorithm 3 Implementation of Orbit Controller κo (x)
Input: Measured State x
Output: Optimal Control u0 (x)
1: for each Ri ∈ {Rj }j∈I/G do
2: for each Rj ∈ {ΘRi }Θ∈G do
3:
if x ∈ Rj = ΘRi then
4:
return i ∈ I/G and (Θ, Ω) ∈ G
5:
end if
6: end for
7: end for
8: u0 (x) = ΩFi Θ−1 x + ΩGi
Example 4: In this example we demonstrate the implementation of the orbit controller κo (x) in Example 3.
Consider the measured state x shown in Fig. 4. Since the
orbit controller κo (x) does not explicit store the optimal control
law u0 (x) at this state it must be reconstructed using symmetry.
This can be accomplished using Algorithm 3.
The outer-loop of Algorithm 3 searches {Ri }i∈I/G for the
orbit {Rj }i∈G(i) = {ΘRi }Θ∈G of the region Rj = ΘRi that
contains the measured state x ∈ Rj . This corresponds to
searching over the connected components of the orbit graph
Γ(S) shown in Fig. 3. After searching the connected components of the orbit graph Γ(S) shown in Fig. 3(a)–(d) the Algorithm will search the orbit shown in Fig. 3(e) which contains
the region R that contains the measured state x ∈ R. A larger
labeled version of this graph is shown in Fig. 5. This graph is
searched using Algorithm 2. This search returns the symmetry (Θ, Ω) = (Θs Θr Θr , Ωs Ωr Ωr ) ∈ Aut(κ) which maps the
state x into the representative region
x ∈ Θs Θr Θr R.
(42)
The optimal control is then given by
Once the region Rj = ΘRi containing the measured state x ∈
ΘRi has been found the appropriate control action u0 (x) is calculated using the symmetry relation (9). The optimal control is
u0 (x) = ΩFi Θ−1 x + ΩGi
Fig. 5. Connected component {Rj }j∈G(i) = {ΘRi }Θ∈G of the orbit graph
Γ(S) which contains the region ΘRi that contains the measured state x.
(41)
where Θ−1 x ∈ Ri .
The computational complexity of Algorithm 3 is dominated
by the point location problem. In the worst-case Algorithm 3
requires O(|I||S|) point
in set tests x ∈ ΘRi of complexity
O(nci ) where |I| = i∈I/G |G(i)| is the sum of orbit lengths
and S ⊆ Aut(κ) is the generating set of G = S.
The number of point in set tests for Algorithm 3 is worse than
the O(|I|) test used by the simple implementation in Algorithm 1.
The additional computational complexity is a result of the
properties of the domain R̂ ⊆ X0 of the orbit controller κo (x).
The set R̂ = i∈I/G Ri ⊆ X0 is in general non-convex and nonconnected. Thus we must use brute-force techniques to find a
state-space transformation Θ ∈ G that maps the measured state
x ∈ X0 into the domain R̂ ⊂ X0 of the orbit controller κo (x).
This is the main disadvantage of using the orbit controller
κo (x). This issue will be addressed by the fundamental domain controller defined in Section VI. Still the orbit controller
produces memory savings as we will discuss in the next section.
The implementation of the orbit controller is illustrated by
the following example.
u0 (x) = ΩF Θ−1 x + ΩG
= Ωs Ωr Ωr F (Θs Θr Θr )−1 x + Ωs Ωr Ωr G.
(43)
D. Memory Reduction
In this section we discuss the memory advantages of using
the orbit controller κo (x). The group structure of Aut(κ) is
instrumental in reducing the memory needed to store κo (x).
The orbit controller κo (x) saves memory by replacing controller pieces {(Fi , Gi , Ri )}i∈I with symmetries (Θ, Ω) ∈ G ⊆
Aut(κ). We observe that symmetries (Θ, Ω) ∈ G are less
expensive to store than controller pieces (Fi , Gi , Ri ). Each
symmetry (Θ, Ω) ∈ G requires O(n2 ) memory assuming the
number of states n is greater than the number of inputs m ≤ n.
The i-th controller piece (Fi , Gi , Ri ) requires O(nci ) memory
where ci is the number of half-spaces defining region Ri . Since
the regions Ri are bounded ci ≥ n + 1 we have a reduction in
memory O(n2 ) ≤ O(nci ). However for our analysis we will
conservatively assume O(nci ) = O(n2 ).
In practice the main memory savings comes from the fact
that a small number generators S can produces a large number
of symmetries G = S that related many controller pieces. The
orbit controller requires
O(n2 ) (|S| + |I/G|)
2
(44)
memory: O(n )|I/G| memory to store the representative controller pieces {(Fi , Gi , Ri )}i∈I/G and O(n2 )|S| memory to
store the generators of the group G = S ⊆ Aut(κ). On the
1254
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 60, NO. 5, MAY 2015
other hand the full explicit controller κ(x) requires O(n2 )|I|
memory to store each piece I of the controller individually.
For any group G ⊆ Aut(κ)/Ker(Π) the memory requirements of storing the orbit controller κo (x) are no more than
storing the full explicit controller κ(x) since |S| + |I/G| ≤ |I|.
Proposition 4: Let G ⊆ Aut(κ)/Ker(Π). Then there exists
a generating set S such that |S| + |I/G| ≤ |I|.
Proof: Consider the stabilizer chain
G = G0 ⊇ · · · ⊇ GI/G = Ker (Π(G)) = ∅.
(45)
Let Si = (Gi−1/Gi )\{e} be a set of coset representatives
Gi−1/Gi minus the identity element {e}. By construction Si ∪Gi
I/G
generates Gi−1 = Si ∪Gi . Thus S = ∪i=1 Si generates G = S.
By the orbit-stabilizer theorem |Si | = |Gi−1 i| − 1 ≤ |Gi| −
1 since Gi−1 ⊆ G. Thus
|Gi| − 1 = |I| − |I/G|.
(46)
|S| ≤
i∈I
G
Typically the number of generators S ⊆ G needed to generate the symmetry group G = S will be small compared to the
number of redundant controller piece |S| |I| − |I/G|. For
instance if G = CN is a cyclic group then it can be arbitrarily
large |CN | = N ∈ N while requiring only a single generator
S = {(Θ, Ω)}. If G is an abelian group then it requires at most
k generators where |G| = pn1 1 · · · pnk k is the unique prime-factor
decomposition of its order [32]. If G is a non-abelian finite
simple group (no non-trivial subgroup H ⊂ G satisfies gH =
Hg ∀ g ∈ G) it can be generated by at most 2 generators [36].
Unfortunately quantifying the exact memory savings provided
by orbit controller κ(x) is non-trivial.
The following example shows how the orbit controller κo (x)
reduces the memory requirements of storing the optimal control
law u0 (x).
Example 5: In this example we examine the memory reduction offered by the orbit controller κo (x) defined in Example 3.
The explicit controller κ(x) requires 786 kilobytes to store
the |I| = 33 controller pieces (Fi , Gi , Ri ). The orbit controller
κo (x) requires 207 kilobytes to store the |I/G| = 8 representative controller pieces (Fi , Gi , Ri ) and 1.2 kilobytes to store
the |S| = 2 generators of the symmetry group Aut(κ) = S.
Thus the orbit controller κo (x) achieves nearly a one-quarter
reduction in memory.
VI. F UNDAMENTAL D OMAIN C ONTROLLER
In this section we define the fundamental domain controller
κ̂(x) which uses symmetry to reduce the memory complexity
of storing the optimal control law u0 (x).
A. Fundamental Domains
By the definition of controller symmetry, the optimal control
law u0 (x) at two feasible points x, y ∈ X0 is equivalent if there
exists a state-space transformation Θ ∈ Aut(u0 ) such that y =
Θx. Thus a group G ⊆ Aut(u0 ) will partition the feasible statespace X0 into disjoint point orbits Gx = {Θx : Θ ∈ G}. The
feasible region X0 is partitioned into an uncountable number
of point orbits X0 /G = {Gx : x ∈ X0 }. A fundamental domain
X̂0 ⊆ X0 of the feasible state-space X0 is any subset of X0 that
contains at least one representative from each orbit Gx ∈ X0 /G.
Fig. 6. A fundamental domain X̂ and its orbit for the square X under the
dihedral-4 symmetry group.
The set R̂ in (39) is a fundamental domain of X0 : Each
point x ∈ X0 is contained in some region Rj of the partition
{Ri }i∈I and each region Rj is contained in a controller orbit
Rj ∈ {ΘRi }Θ∈G . Thus R̂ contains at least one representative
x from each point orbit Gx. However working with the set R̂
is difficult since it is generally not convex nor connected. This
means we must use brute-force techniques in the synthesis and
implementation of the orbit controller.
We are interested in fundamental domains that are compact
polytopes. This is desirable since we will be solving an optimization problem on the fundamental domain. In addition we
would like our fundamental domain to be small to minimize the
number of critical regions it intersects. We call a fundamental
domain minimal if all its polytopic subsets are not fundamental
domains.
Definition 5: Let X ⊂ Rn be a polytope and G ⊆ Aut(X ) a
subgroup of symmetries Aut(X ) of this set X . A polytope X̂
is a fundamental domain of X with respect to G if it satisfies
X =
ΘX̂ .
(47)
Θ∈G
The fundamental domain X̂ is minimal if it satisfies
int(Θ1 X̂ ) ∩ int(Θ2 X̂ ) = ∅
(48)
for all Θ1 = Θ2 ∈ G.
The following example demonstrates the concept of a fundamental domain.
Example 6: In this example we construct a fundamental
domain X̂ for model predictive control problem defined in
Example 1. The state-space X = {x ∈ R2 : −1 ≤ x ≤ 1} is
the unit square and the symmetry group Aut(M P C) of the
model predictive control problem is the dihedral-4 group: the
set of planar rotations by 90 degree increments and the reflections about the horizontal, vertical, and both diagonal axis.
Fig. 6(a) shows a fundamental domain X̂ of the square X under the dihedral symmetry group G = Aut(MP C). The blue region is a fundamental domain Xˆ and the gray region is the set X .
Fig. 6(b) shows the orbit {ΘX̂ }Θ∈G of the fundamental
domain. From this figure it is clear that the union of the orbit
{ΘX̂ }Θ∈G covers the square X i.e., X = ∪Θ∈G ΘX̂ . Furthermore the fundamental domain X̂ only intersects its images ΘX̂
on its boundary. Thus the sets Θ1 X̂ ∩ Θ2 X̂ have no interior for
Θ1 = Θ2 . Therefore the set X̂ shown in Fig. 6(a) is a minimal
fundamental domain.
In [14] algorithms for constructing and searching fundamental domains are presented. These algorithms are used in
the synthesis and implementation of the fundamental domain
controller.
DANIELSON AND BORRELLI: SYMMETRIC LINEAR MODEL PREDICTIVE CONTROL
1255
B. Fundamental Domain Controller
In this section we show that the optimal control law u0 (x)
can be obtained by solving the model predictive control problem (1) on a fundamental domain X̂ .
Let us consider the model predictive control problem (1)
restricted to a fundamental domain X̂ of the state-space X with
respect to a subgroup of problem symmetries G ⊆ Aut(M P C)
minimize
u0 ,...,uN −1
xTN P xN +
N
−1
xTk Qxk + uTk Ruk
(49a)
k=0
subject to xk+1 = Axk + Buk
xk+1 ∈ X for k = 0, . . . , N − 1
uk ∈ U for k = 0, . . . , N − 1
x0 = x ∈ X̂ .
(49b)
(49c)
(49d)
(49e)
This problem is identical to the original model predictive problem (1) except that the initial state x0 = x is restricted to the
fundamental domain x ∈ X̂ . The feasible state-space X̂0 for
this problem is a fundamental domain of the feasible set X0
of the original model predictive control problem (1).
Lemma 1: The set of initial conditions for which (49) is
feasible X̂0 = X0 ∩ X̂ is a fundamental domain of X0 .
Proof: If x ∈ X̂ then problems (1) and (49) are identical.
Thus x ∈ X̂ is feasible for (49) if and only if it is feasible for (1)
i.e., x ∈ X0 ∩ X̂ . Therefore X̂0 = X0 ∩ X̂ is the set of feasible
initial conditions for (49).
Next we prove X̂0 = X0 ∩ X̂ is a fundamental domain. By
Definition 5 and the symmetry of X0 = ΘX0 the set X̂0 satisfies
ΘX̂0 =
ΘX0 ∩ ΘX̂ =
X0 ∩ ΘX̂ = X0 (50)
Θ∈G
Θ∈G
Fig. 7. The partition {R̂i }i∈Î and vector field u(x) = κ̂(x) of the fundamental domain controller κ̂(x).
Θ∈G
and
Θ1 X̂0 ∩ Θ2 X̂0 = Θ1 X0 ∩ Θ1 X̂ ∩ Θ2 X0 ∩ Θ2 X̂
= X0 ∩ (Θ1 X̂ ∩ Θ2 X̂ )
(51)
where Θ1 X̂ ∩ Θ2 X̂ has no interior for Θ1 = Θ2 . Thus X̂0 is a
fundamental domain of X0 for group G.
Problem (49) is a multi-parametric quadratic program and
therefore has a piecewise affine explicit solution
⎧
⎨ F̂1 x + Ĝ1 for x ∈ R̂1
..
κ̂(x) =
(52)
.
⎩
F̂r x + Ĝr for x ∈ R̂r̂
where Î = {1, . . . , r̂} is the index set of the controller pieces.
We call κ̂(x) the fundamental domain controller. We can extend
this controller from X̂0 to the feasible state-space X0 of (1)
using symmetry
⎧
−1
⎪
x)
for x ∈ Θ1 X̂
⎨ Ω1 κ̂(Θ
.. 1
κ̄(x) =
(53)
.
⎪
⎩ Ω|G| κ̂ Θ−1 x
X̂
.
for
x
∈
Θ
|G|
|G|
This solution covers X0 since {ΘX0 }Θ∈G is a partition of X0 .
The following theorem shows that κ̄(x) is an expression for the
optimal control law u0 (x).
Theorem 5: The controller κ̄(x) in (53) represents the optimal control law u0 (x) for the model predictive control problem
(1) i.e., u0 (x) = κ̄(x) for all x ∈ X0 .
Proof: Let
T
U (x) = u0 (x), . . . , uN −1 (x)
(54)
be the optimal solution of (1) for x ∈ X0 where κ(x) = u0 (x). Let
T
Û (x) = û0 (x), . . . , ûN −1 (x)
(55)
be the optimal solution of (49) for x ∈ X̂0 where κ̂(x) = û0 (x).
By Definition 5 for any state x ∈ X0 there exists y ∈ X̂0
and Θ ∈ G ⊆ Aut(M P C) such that x = Θy. Thus the input
trajectory (I ⊗ Ω)Û (Θ−1 x) = (I ⊗ Ω)Û (y) is defined since
y ∈ X̂0 is in the domain of the function Û . By Proposition 2
this is a feasible solution to (2) since
(I ⊗ Ω)Û (y) ∈ (I ⊗ Ω)T (y) = T (Θy) = T (x).
(56)
By Proposition 2 the cost of this solution satisfies
J (I ⊗Ω)Û (y), x = J (I ⊗Ω)Û (y), Θy = J Û (y), y (67)
where J(Û (y), y) = J(U (y), y) is optimal for y ∈ X̂0 in the
fundamental domain. By the symmetry of the optimal solution
U (x) and cost J(U, x) we have J(U (y), y) = J(U (x), x).
Thus the function
⎧
−1 ⎪
for x ∈ Θ1 X̂0
⎨ (IN ⊗ Ω1 )Û Θ1 x
..
Ū (x) = (58)
.
⎪
⎩ IN ⊗ Ω|G| Û Θ−1 x
X̂
for
x
∈
Θ
0
|G|
|G|
describes the unique optimal solution to (2). This implies
κ̄(x) = κ(x) since these controllers are taken from the first
terms Ū (x) and U (x) respectively. So κ̄(x) = u0 (x) describes the optimal control law.
The concept of a fundamental domain controller is illustrated
in the following example.
Example 7: In this example we construct a fundamental domain controller κ̂(x) for the model predictive control problem
described in Example 1.
We construct a fundamental domain controller κ̂(x) by solving the model predictive control problem on the fundamental
domain shown in Fig. 6(a). The partition {R̂i }i∈Î and vector
field u(x) = κ̂(x) of the resulting fundamental domain controller κ̂(x) are shown in Fig. 7(a) and (b) respectively. Comparing Figs. 1(a) and 7(a) it is clear that {R̂i }i∈Î is the intersection
of the partition {Ri }i∈I of the full explicit controller κ(x) with
the fundamental domain X̂ .
The blue region X̂0 in Fig. 7(b) is the domain of the fundamental domain controller κ̂(x). From this figure it is clear
that X̂0 = X̂ ∩ X0 is a fundamental domain of the feasible set
X0 of the original controller κ(x). Thus through symmetry the
1256
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 60, NO. 5, MAY 2015
domain of the fundamental domain controller κ̂(x) covers the
entire feasible state-space X0 .
C. Synthesis of Fundamental Domain Controller
In this section we describe how to synthesize the fundamental
domain controller.
The synthesis of the fundamental domain controller κ̂(x)
is described by Procedure 4. First we identify the symmetries
Aut(M P C) of the model predictive control problem (1) using
Procedure 2. Next we construct a fundamental domain X̂ of
the state-space X for G ⊆ Aut(κ) using the method described
in [14]. Finally we solve the model predictive control problem
(49) using the Multi-Parametric Toolbox [30] for MATLAB.
The solution piecewise affine solution κ̂(x) to (49) completely
defines the control law u0 (x) = κ̄(x) for all x ∈ X0 .
Procedure 4 Synthesis of Fundamental Controller κ̂(x)
1: Identify the symmetries Aut(M P C) of the model predictive control problem (1) using Procedure 2.
2: Construct a fundamental domain X̂ of X under G =
Aut(M P C).
3: Solve the model predictive control problem (49) for the
fundamental domain controller κ̂(x).
D. Implementation of Fundamental Controller
In this section we describe the implementation of the fundamental domain controller κ̂(x).
The fundamental domain controller κ̂(x) is implemented
using Algorithm 4. The point location problem has two phases.
In the first phase the algorithm searches the symmetry group
G ⊆ Aut(κ) for a state-space transformation Θ ∈ G that maps
the measured state x ∈ X0 into the fundamental domain X̂0 .
This can be accomplished using the method described in [14].
In the second phase of the point location problem the algorithm
searches the partition {R̂i }i∈Î of the piecewise affine controller
κ̂(x) for the region that contains the state Θ−1 x ∈ R̂i . This
search can be implemented using any of the techniques proposed in the literature [12], [27], [31], [42].
Finally the optimal control is calculated using the symmetry
of the optimal control law
u0 = ΩF̂i Θ−1 x + ΩĜi
Fig. 8. Feasible set X̂0 of the fundamental domain controller κ̂(x) and its
images ΘX̂0 for each symmetry Θ ∈ G.
The computational complexity of Algorithm 4 is dominated
by the point location problem. Finding a state-space symmetry
Θ ∈ G that maps the measured-state x into the fundamental
domain x ∈ X̂ requires O(ncx ) time where cx is the number
of non-redundant half-spaces defining the state constraint set X
[15]. The computational complexity of searching the partition
{R̂}i∈Î of κ̂(x) is O(n log |Î|) [27].
Searching the group G and the controller partition
I have comparable computational complexities O(ncx ) =
O(n log |I|) since the number of critical region |I| grows exponentially with the number of constraints O(|I|) = 2c where c ≥
cx is the total number of constraints in the multi-parametric program (2). Thus the implementation of the fundamental domain
controller κ̂(x) has the same complexity as the implementation
of the full explicit controller κ(x).
The following example illustrates the implementation of the
fundamental domain controller.
Example 8: In this example we demonstrate the implementation of the fundamental domain controller κ̂(x) in Example 7.
Consider the measured state x shown in Fig. 7(a). Since this
state lies outside the domain X̂0 of the fundamental domain
controller κ̂(x) the optimal control at this point must be reconstructed using symmetry. This can be accomplished using
Algorithm 4.
The first step of Algorithm 4 searches the symmetry group
G = Aut(M P C) for a state-space transformation Θ ∈ G that
maps the measured state x into the fundamental domain X̂ . This
can be interpreted as searching a graph of the orbit {ΘX̂ }Θ∈G of
the fundamental domain X̂ shown in Fig. 8. This graph can be
searched using Algorithm 2. This search returns the symmetry
(Θ, Ω) = (Θs Θr Θr , Ωs Ωr Ωr ) ∈ Aut(κ) which maps the state
x into the fundamental domain
(59)
where (Θ, Ω) ∈ G is the symmetry found in the point location
phase, and (F̂i , Ĝi ) are the optimal feedback and feedforward
gains for region R̂i .
Algorithm 4 Implementation of Fundamental Controller
κ̄(x)
Input: Measured State x ∈ X0
Output: Optimal Control u0 (t) ∈ U
1: Find (Θ, Ω) ∈ G such that Θx ∈ X̂0
2: Find R̂j ∈ {R̂i }i∈Î such that Θx ∈ R̂j ⊆ X̂0
3: Calculate optimal control u0 (t) = Ω−1 F̂i Θx + Ω−1 Ĝi
x ∈ Θs Θr Θr X̂ .
(60)
Next Algorithm 4 searches the partition {R̂i }i∈Î of the
fundamental controller κ̂(x) for the region containing the state
(Θs Θr Θr )−1 x. In this case the yellow region shown in Fig. 7(a)
contains (Θs Θr Θr )−1 x. This provides us with the appropriate
feedback F and feedforward G gains.
Finally the optimal control is given by
u0 (t) = ΩF Θ−1 x + ΩG
= Ωs Ωr Ωr F (Θs Θr Θr )−1 x + Ωs Ωr Ωr G.
(61)
DANIELSON AND BORRELLI: SYMMETRIC LINEAR MODEL PREDICTIVE CONTROL
1257
TABLE I
C LASSIFICATION OF THE O RBITS G(i) FOR i ∈ I OF
C ONTROLLER P IECES FOR THE C ONTROLLER κ(x)
Fig. 9.
Quadcopter layout.
VII. A PPLICATIONS
In this section we demonstrate the results of this paper on
two applications.
A. Quadcopter
In this section we apply the methodology of this paper to
the construction of an explicit model predictive controller for a
quadcopter. A quadcopter is a type of unmanned aerial vehicle
shown in Fig. 9.
We use the linearized model and controller design presented
in [4], [10]. The model has n = 12 states: 6 cartesian position
and velocity states and 6 angular position and velocity states.
The quadcopter has m = 4 inputs corresponding to the four
rotors.
The quadcopter model predictive control problem has
|Aut(M P C)| = 16 symmetries generated by |S| = 3 generators Aut(M P C) = S. The generators of the state-space
transformations are
!
"
!
"#
1 0 0
−1 0 0
Θ1 = diag I2 ⊗ 0 −1 0 , I2 ⊗ 0 1 0
(62a)
0 0 1
0 0 1
!
"
!
"#
0 1 0
0 −1 0
(62b)
Θ2 = diag I2 ⊗ −1 0 0 , I2 ⊗ 1 0 0
0 0 1
0 0 1
!
"
!
"#
−1 0
0
−1 0
0
Θ3 = diag I2 ⊗ 0 −1 0 , I2 ⊗ 0 −1 0
0
0 −1
0
0 −1
(62c)
where ⊗ is the Kronecker product and diag represents a blockdiagonalization of matrices. The generators of the input-space
transformations are
⎡
⎤
1 0 0 0
0 0 1⎦
Ω1 = ⎣ 0
(63a)
0 0 1 0
0 1 0 0
⎡
⎤
0 1 0 0
0 1 0⎦
(63b)
Ω2 = ⎣ 0
0 0 0 1
1 0 0 0
⎡
⎤
−1 0
0
0
−1 0
0 ⎦
(63c)
Ω3 = ⎣ 0
0
0 −1 0 .
0
0
0 −1
The generator pair (Θ1 , Ω1 ) mirrors the quadrotor through
the xz-plane. The input-space transformation Ω1 swaps motors
2 and 4. The state-space transformation Θ1 reverses the y-axis.
Rotations about the x-axis are reversed since motors 2 and 4
have been swapped.
The generator pair (Θ2 , Ω2 ) rotates the quadrotor 90 degrees
about the z-axis. The input-space transformation Ω2 maps
motor 1 to 2, motor 2 to 3, motor 3 to 4, and motor 4 to 1. The
state-space transformation Θ2 maps the x-axis to the y-axis and
the y-axis to the negative x-axis. Rotations about the x- and y
axis are swapped and rotations about the x-axis are reversed.
The generator pair (Θ3 , Ω3 ) reverses the sign on all the states
and inputs. For any unconstrained system the pair (Θ3 , Ω3 ) =
(−In , −Im ) is a symmetry since (−In )A = A(−In ) and
(−In )B = B(−Im ). Furthermore (Θ3 , Ω3 ) does not change
the cost: (−In )T Q(−In ) = Q and (−Im )T R(−Im ) = R. In
this problem the constraints also happen to be symmetric
X = −X and U = −U . Thus (Θ3 , Ω3 ) is a symmetry of the
model predictive control problem.
We generated an explicit model predictive controller κ(x)
for the quadcopter system using MPT [30]. For a horizon of
N = 2 the explicit controller κ(x) has |I| = 10173 regions and
requires 53.7 megabytes of memory.
From the full explicit controller κ(x) we constructed an orbit
controller κo (x) by discarding pieces (Fi , Gi , Ri ) of the full
explicit controller κ(x) that are redundant under the symmetry
group G = Aut(M P C). The orbits G(i) ⊂ I of the explicit
controller κ(x) are classified by their size |G(i)| in Table I. The
total number of controller pieces in the orbit controller κo (x) is
|I/G| = 772 which requires 4.2 megabytes of memory.
Constructing the full explicit controller for a horizon of
N = 2 required 2.1 hours. We were unable to generate the
full explicit controller for a longer horizon. However using the
fundamental domain controller we able to extend the controller
horizon of N = 3. This is the horizon of the implicit MPC used
in [10]. The fundamental domain controller had 6493 regions
and required 0.8 hours to compute.
B. Network Storage
In this section we apply the methodology presented in this
paper to the network storage problem [17]. The network storage
problem considers the control of a set of a storage devices that
exchange resources through a network Γ = (N , E). The nodes
N of the graph Γ are the storage devices and the edges E are
physical links that allow resource to move between adjacent
storage devices. The storage devices are modeled as discretetime integrators
Ci xi (t + 1) = Ci xi (t) +
uij
(64)
j∈Ni
where Ci is the capacity of the i-th storage device, xi ∈ [0, 1]
is its percentage filled, Ci xi is the total amount of resource
stored in the i-th storage device, uij is the flow from the ith storage device to the j-th storage with uij = −uji , and
Ni = {j ∈ N : {i, j} ∈ E} is the set of nodes adjacent to the
i-th node. Equation (64) is the mass-balance of stored resource
in the i-th storage device.
1258
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 60, NO. 5, MAY 2015
Fig. 10. Storage network with central storage device connected n − 1 peripheral storage devices.
The storage devices must satisfy box constraints x ∈ X ⊂
Rn for all t ∈ N where
X = {x ∈ Rn : 0 ≤ xi (t) ≤ 1,
∀ i ∈ N }.
(65)
We will consider upper and lower bounds on the network flow
U = {u ∈ Rm : −1 ≤ uij (t) ≤ 1,
∀{i, j} ∈ E}
(66)
where m = |E| is the number of inputs uij for {i, j} ∈ E.
In the network balancing problem the control objective is to
drive the states xi (t) of the storage devices to a common value
xi (t) = xj (t) for all i, j ∈ N . This can be accomplished by the
following one-step model predictive control problem [17]
x(t+1)T P x(t+1) + u(t)T Ru(t)
subject to x(t + 1) = x(t) +
uij (t)
minimize
u(t)
x(t + 1) ∈ X
u(t) ∈ U
x(t) ∈ X
(67a)
(67b)
j∈Ni
(67c)
(67d)
(67e)
where P = I − (1/n)11T and R = ρI.
Consider the storage network shown in Fig. 10. This network
features a central storage device connected to n − 1 peripheral
storage devices. This is a common configuration in Li-Ion
battery packs [16]. The central storage device is a capacitor or
inductor used to move charge between Li-Ion cells arranged
on the periphery. The storage network is used to balance
the battery cells which improves the effective capacity of the
battery network [16].
The number of critical regions |I| in the explicit controller
κ(x) for the model predictive control problem (67) can be
under-bounded by |I| ≥ 3m where m is the number of links.
This is because each link uij can either be saturated at the
upper-bound, saturated at the lower-bound, or not saturated.
The explicit controller κ(x) will have a piece (Fi , Gi , Ri ) for
each of these situations. For a battery pack containing m = 25
cells this means the explicit controller will have at least 847
billion regions. If we assume each of these regions is a simplex
in n = 26 dimensions, stored with single precision floating
point numbers then the explicit controller κ(x) will require on
the order of one petabyte of memory. Thus constructing the
full explicit controller κ(x) for (67) is impractical. However by
exploiting symmetry we can construct the fundamental domain
controller κ̂(x) for this problem.
The storage network shown in Fig. 10 is highly symmetric.
We can permute any of the peripheral nodes of the graph
without changing the structure of the model predictive control
problem (67). Let xn be the state of the central storage device
and x1 , . . . , xn−1 be the state of the peripheral storage devices.
Then the symmetry group Aut(M P C) of (67) consists of all
permutation matrices Θ ∈ Rn×n that fix the central storage
device xn
Ω 0
Θ=
(68)
0 1
where Ω ∈ Rm×m is any permutation matrix on Rm = Rn−1 .
This symmetry group Aut(MP C) is isomorphic to the set of all
permutations Sym(m) of {1, . . . , m} which has m! elements.
The following proposition allows us to analytically construct
a fundamental domain for this problem.
Proposition 5: Let G be the set of all permutation matrices
on Rn and let X satisfy ΘX = X . Then the set of sorted states
X̂ = {x ∈ X : x1 ≤ · · · ≤ xn }
(69)
is a fundamental domain of X with respect to G.
Proof: For any x ∈ X ⊆ Rn there exists a permutation
matrix Θ ∈ Rn×n that sorts the elements of x i.e., x1 ≤ . . . ≤
xn . Thus x ∈ Θ−1 X̂ and hence
X =
Θ−1 X̂ =
ΘX̂ .
(70)
Θ∈G
Θ∈G
Suppose that there are two (or more) permutation matrices Θ1
and Θ2 that sort x ∈ X . Then x̂i = x̂i+1 for some i where x̂ =
Θ1 x = Θ2 x. But the set x̂i = x̂i+1 has no interior since it is
lower dimensional. Therefore int(Θ1 X̂ ) ∩ int(Θ2 X̂ ) = ∅. From this proposition we conclude that the set of sorted
peripheral states is a fundamental domain of X with respect
to the group G = Aut(M P C) ∼
= Sym(m)
X̂ = {x ∈ X : x1 ≤ · · · ≤ xn−1 }.
(71)
This means we can design our explicit model predictive controller κ̂(x) with the assumption that the peripheral states are
sorted.
The fundamental domain controller κ̂(x) constructed on the
set of sorted states X̂ has only 598 regions requiring 8.42 megabytes of storage space. The fundamental domain controller
significantly reduced the size of the explicit model predictive controller without increasing the implementation complexity. Without symmetry the explicit controller would require
at least 847 billion regions and more than one petabyte of
memory.
Implementation of the fundamental domain controller κ̂(x)
follows Algorithm 4. The first step is to find a symmetry Θ ∈ G
that maps the state x into the fundamental domain X̂ . For this
problem we simply sort the states x1 , . . . , xn−1 of the peripheral nodes. This has complexity O(n log n). In the secondstep we search the partition {Ri }i∈I of the explicit controller
κ̂(x) for the region Ri that contains the sorted state Θx ∈ Ri .
Finally we reverse the symmetry to map the optimal control out
of the fundamental domain u0 = Ω−1 F̂i Θx + Ω−1 Ĝi . This is
accomplished by reversing the sort we did in the first step.
VIII. C ONCLUSION
This paper studied symmetry in linear model predictive
control. In the first part of this paper we defined symmetry for a
model predictive controller and the underlying model predictive
control problem. We showed that symmetries of the model predictive control problem are symmetries of the model predictive
controller. In the second part of the paper we presented methods
for efficiently finding the symmetries of a model predictive
controller and model predictive control problem using tools
from group and graph theory. In the third part of the paper
we presented two explicit model predictive control designs
that exploit symmetry to reduce memory requirements. The
DANIELSON AND BORRELLI: SYMMETRIC LINEAR MODEL PREDICTIVE CONTROL
orbit controller reduced memory by storing one representative
controller piece from each controller orbit. The fundamental
domain controller reduced memory by solving the constrained
finite-time optimal control problem on a subset of the statespace called a fundamental domain. Finally, we demonstrated
our control designs on a quadcopter and network storage control
problems.
R EFERENCES
[1] J. Avery, S. Rettrup, and J. Avery, Symmetry-adapted Basis Sets.
Singapore: World Scientific, 2012.
[2] Y. Bai, E. Klerk, D. Pasechnik, and R. Sotirov, “Exploiting group symmetry in truss topology optimization,” Optim. Eng., vol. 10, no. 3, pp. 331–
349, Sep. 2009.
[3] A. Bemporad, M. Morari, V. Dua, and E. Pistikopoulos, “The explicit
linear quadratic regulator for constrained systems,” Automatica, vol. 38,
no. 1, pp. 3–20, Jan. 2002.
[4] A. Bemporad and C. Rocchi, “Decentralized linear time-varying model
predictive control of a formation of unmanned aerial vehicles,” in Proc.
Conf. Decision Control, 2011, pp. 7488–7493.
[5] R. Bodi, T. Grundhofer, and K. Herr, “Symmetries of linear programs,”
Note di Matematica, vol. 30, no. 1, pp. 129–132, 2010.
[6] R. Bodi, K. Herr, and M. Joswig, “Algorithms for highly symmetric
linear and integer programs,” Math. Program., vol. 137, no. 1, pp. 65–90,
Feb. 2011.
[7] S. Boyd, P. Diaconis, P. Parrilo, and L. Xiao, “Fastest mixing markov
chain on graphs with symmetries,” J. Optim., vol. 20, no. 2, pp. 792–819,
Mar. 2009.
[8] D. Bremner, M. D. Sikiric, and A. Schuermann, “Polyhedral representation conversion up to symmetries,” in Proc. Workshop Polyhedral
Comput. Centre de Recherches Mathematiques, 2009, pp. 45–71.
[9] D. Bremner, M. Dutour Sikiric, D. Pasechnik, T. Rehn, and
A. Schuermann, “Computing symmetry groups of polyhedra,” 2012,
ArXiV e-prints.
[10] T. Bresciani, “Modeling, identification, and control of a quadrotor helicopter,” M.S. thesis, Lund Univ., Lund, Sweden, 2008.
[11] R. Carter, Molecular Symmetry and Group Theory. New York, NY,
USA: Wiley, 1997.
[12] F. Christophersen, Efficient Evaluation of Piecewise Control Laws Defined
Over a Large Number of Polyhedra. Berlin, Germany: Springer-Verlag,
2007.
[13] R. Cogill, S. Lall, and P. Parrilo, “Structured semidefinite programs for the
control of symmetric systems,” Automatica, vol. 44, no. 5, pp. 1411–1417,
May 2008.
[14] C. Danielson, “Symmetric constrained optimal control: Theory, algorithms, and applications,” Ph.D. dissertation, Univ. California, Berkeley,
CA, USA, 2014.
[15] C. Danielson and F. Borrelli, “Identication of the symmetries of linear
systems with polytopic constraints,” in Proc. Amer. Control Conf., 2014,
pp. 4218–4223.
[16] C. Danielson et al., “Balancing of battery networks via constrained optimal control,” in Proc. Amer. Control Conf., 2012, pp. 0743–1619.
[17] C. Danielson, F. Borrelli, D. Oliver, D. Anderson, and T. Phillips, “Constrained flow control in storage networks: Capacity maximization and
balancing,” Automatica, vol. 49, no. 9, pp. 2612–2621, Sep. 2013.
[18] P. Darga, K. Sakallah, and I. Markov, “Faster symmetry discovery using sparsity of symmetries,” in Proc. Des. Autom. Conf., Jun. 2008,
pp. 149–154.
[19] E. de Klerk, “Exploiting special structure in semidefinite programming:
A survey of theory and applications,” Eur. J. Oper. Res., vol. 201, no. 1,
pp. 1–10, Feb. 2010.
[20] F. Fagnani and J. Willems, “Representations of symmetric linear dynamical systems,” in Proc. Conf. Decision Control, 1991, pp. 17–18.
[21] A. Fässler and E. Stiefel, Group Theoretical Methods and Their Applications. Boston, MA, USA: Birkhäuser, 1992.
[22] E. Friedman, “Fundamental domains for integer programs with symmetries,” Combinatorial Optim. Appl., vol. 4616, no. 1, pp. 146–153, 2007.
[23] K. Gatermann and P. Parrilo, “Symmetry groups, semidefinite programs,
and sums of squares,” J. Pure Appl. Algebra, vol. 192, no. 1–3, pp. 95–
128, Sep. 2004.
[24] B. Goodwine and P. Antsaklis, “Multiagent coordination exploiting system symmetries,” in Proc. Amer. Control Conf., 2010, pp. 830–835.
[25] M. Hazewinkel and C. Martin, “Symmetric linear systems: An application
of algebraic systems theory,” Int. J. Control, pp. 1371–1384, 1983.
1259
[26] D. Holt, B. Eick, and E. O’Brien, Handbook of Computational Group
Theory (Discrete Mathematics and Its Applications). London, U.K.:
Chapman & Hall, 2005.
[27] C. Jones, P. Grieder, and S. V. Rakovic, “A logarithmic-time solution to the
point location problem for parametric linear programming,” Automatica,
vol. 42, no. 12, pp. 2215–2218, Dec. 2006.
[28] T. Junttila and P. Kaski, “Engineering an efficient canonical labeling tool
for large and sparse graphs,” in Proc. Analytic Algorithms Combinatorics,
2007, pp. 135–149.
[29] S. Koehler and F. Borrelli, “Building temperature distributed control via
explicit mpc and "trim and respond" methods,” Proc. Eur. Control Conf.,
pp. 4334–4339, 2013.
[30] M. Kvasnica, P. Grieder, and M. Baotic, Multi-Parametric Toolbox
(MPT), Jul. 2004.
[31] M. Kvasnica, I. Rauova, and M. Fikar, “Automatic code generation for
real-time implementation of model predictive control,” in Proc. Comput.Aided Control Syst. Des., Sep. 2010, pp. 993–998.
[32] S. Lang, Algebra. Berlin, Germany: Springer-Verlag, 2002.
[33] F. Margot, “Symmetry in integer linear programming,” in 50 years of linear programming 1958-2008. Berlin, Germany: Springer-Verlag, 2010.
[34] D. Q. Mayne, J. B. Rawlings, C. V. Rao, and P. O. M. Scokaert, “Constrained model predictive control: Stability and optimality,” Automatica,
vol. 36, no. 6, pp. 789–814, Jun. 2000.
[35] B. McKay and A. Piperno, “Practical graph isomorphism II,” J. Symbolic
Comput., vol. 60, no. 0, pp. 94–112, Jan. 2014.
[36] F. Menegazzo, The number of generators of a finite group, 2003.
[37] P. Parrilo and S. Lall, “Semidefinite programming relaxations and algebraic optimization in control,” Eur. J. Control, vol. 9, no. 2, pp. 307–321,
2003.
[38] Á. Seress, Permutation Group Algorithms. Cambridge, U.K.: Cambridge
Univ. Press, 2003.
[39] J. P. Serre, Linear representations of finite groups. New York, NY:
Springer-Verlag, 1977.
[40] A. Szucs, M. Kvasnica, and M. Fikar, “A memory-efficient representation of explicit mpc solutions,” in Proc. Conf. Decision Control, 2011,
pp. 1916–1921.
[41] A. Tannenbaum, Invariance and System Theory: Algebraic and Geometric
Aspects. Berlin, Germany: Springer-Verlag, 1981.
[42] P. Tondel, T. Johansen, and A. Bemporad, “Evaluation of piecewise affine
control via binary search tree,” Automatica, vol. 39, no. 5, pp. 945–950,
2003.
[43] Y. Wang and M. Morari, “Structure of hierarchical linear systems with
cyclic symmetry,” Syst. Control Lett., vol. 58, no. 4, pp. 241–247,
Apr. 2009.
Claus Danielson (M’14) received the Ph.D. degree
from the Model Predictive Control Laboratory, University of California, Berkeley, in 2014.
His research interests are in model predictive
control, constrained control, and network control
systems. His specialty is developing methods for
exploiting structure in large-scale control and optimization problems.
Francesco Borrelli (SM’10) received the Ph.D. degree from the Automatic Control Laboratory, ETHZurich, Switzerland, in 2002.
He is currently an Associate Professor with the
Department of Mechanical Engineering, University
of California at Berkeley. He is the author of
more than one hundred publications in the field of
predictive control. He is author of the book Constrained Optimal Control of Linear and Hybrid Systems (Springer Verlag). His research interests include
constrained optimal control, model predictive control
and its application to advanced automotive control and energy efficient building
operation.
Dr. Borrelli received the NSF CAREER Award in 2009 and the IEEE Control
System Technology Award in 2012. In 2008, he was appointed the Chair of the
IEEE Technical Committee on automotive control.