Optimal Control and Piecewise Parametric Programming

Proceedings of the European Control Conference 2007
Kos, Greece, July 2-5, 2007
WeA07.1
Optimal control and piecewise parametric programming
D. Q. Mayne, S. V. Raković and E. C. Kerrigan
Abstract— This paper deals with the problem of parametric
piecewise quadratic programming (in which the cost is a
piecewise quadratic function of both the decision variable
and a parameter) and the problem of parametric piecewise
affine quadratic programming (in which both the cost and the
constraint depend on a piecewise affine function of the decision
variable and a parameter). Parametric programming seeks a
solution for each value of the parameter, and can therefore be
used to obtain explicit solutions of some constrained optimal
control problems where the state is the parameter. The technique of reverse transformation for parametric programming,
introduced in earlier papers, is extended to remove unnecessary
overlapping of polytopes on which the solution is defined. The
improved technique is then employed for the determination,
using dynamic programming, of explicit control for linear
systems with a piecewise quadratic cost and explicit control
of piecewise affine systems with quadratic cost.
I. I NTRODUCTION
A conventional optimization problem has the form V 0 =
minu {V (u) | u ∈ U} where u is the ‘decision’ variable,
V (u) is the cost to be minimized, and U is the constraint set;
let u0 denote the solution (the minimizer) to the problem. A
parametric programming problem takes the form V 0 (x) =
minu {V (x, u) | u ∈ U(x)} and both the value function
x 7→ V 0 (x) and the minimizer x 7→ u0 (x) become functions
of the parameter x; the minimizer u0 (·) may be set-valued
(for each x, u0 (x) is a set). Optimal control problems often
take this form, with x being the state, and u, in open-loop
optimal control, being a control sequence; in state feedback
optimal control, necessary when uncertainty is present, dynamic programming is employed yielding a sequence of
parametric optimization problems in each of which x is
the state and u a control action. In certain problems, it
is possible to characterize both the value function V 0 (·)
and the u0 (·) as functions of a specific type that can be
explicitly computed [1]–[13]. When disturbances are present,
it is necessary to compute the solution sequentially using
dynamic programming as in [3], [7], [11], [13].
To solve the parametric problem, we extend the reverse
transformation procedures proposed in [14] and utilized in
[3], [6], [8], [9], [15]. In this procedure, a condition that
is potentially satisfied at the solution and which, if known,
simplifies the solution is assumed to hold. The simplified
solution, under this condition, is then obtained, yielding a
Research supported by the Engineering and Physical Sciences Research
Council, UK and the Royal Academy of Engineering, UK.
D. Q. Mayne is with the Department of Electrical and Electronic
Engineering, Imperial College London, S. V. Raković is with the Automatic
Control Laboratory, ETH, Zürich and E. C Kerrigan is with the Department
of Aeronautics and the Department of Electrical and Electronic Engineering,
Imperial College London
ISBN: 978-960-89028-5-5
minimizer and value function (functions of the parameter
x). Finally, the region of state space in which the assumed
condition holds, is then determined; the minimizer and value
function of the simplified problem are the minimizer of
the original problem in this region. Assuming a different
condition yields a different region; in this way, a piecewise
affine or piecewise quadratic solution (covering the whole
parameter set) to the original parametric problem may be obtained. In parametric quadratic programming, the condition
assumed is the set of active constraints at the solution; if
this is known, the original inequality constrained problem is
converted into an easily solved equality constrained problem.
In the dynamic programming solution of constrained linear
systems with piecewise affine or piecewise quadratic cost
[15], [16] the value function at each time is piecewise affine
or piecewise quadratic; at each stage the cost to be minimized
(the sum of the stage cost and the value function at the successor state) is piecewise affine or piecewise quadratic, and
the condition assumed is the index that specifies the polytope
in which the optimal state-control pair lies (and in which
the optimal cost is affine or quadratic). If this condition is
known, the original problem is converted into a parametric
linear or quadratic program. In control of piecewise affine
systems (where the dynamics are affine in each polytope of
a polytopic partition of the state-control space) the condition
assumed [8], [9] is the time-sequence {s0 , s1 , . . . , sN −1 }
of indices that specifies that the optimal state-control pair
at time i lies in the polytope Psi ; if this time-sequence is
known, the nonlinear optimal control problem is converted
into a simpler, linear, time-varying optimal control problem.
There is, however, a drawback in the reverse transformation procedure currently employed arising from the fact that
the simpler problem sometimes involves artificial constraints
that do not appear in the original problem. Consequently,
a solution to the simpler problem (corresponding to the assumption that the condition is satisfied) may not be a solution
to the original problem giving rise to spurious solutions.
Consequently, the regions in which the solution is affine or
quadratic may overlap; the optimal solution in an overlapping
region must then be determined by comparing the solutions
corresponding to each of the overlapping regions. The main
purpose of this paper is to present a modified version of the
reverse transformation procedure that prevents unnecessary
overlapping of regions and removes it entirely in convex
problems. We develop the new procedure in the context of
two problems: parametric piecewise quadratic programming
in §2, its application to the dynamic programming solution
of constrained linear systems with quadratic or piecewise
quadratic cost in §3, parametric piecewise affine quadratic
2762
WeA07.1
programming in §4 and its application to optimal control
of piecewise affine systems in §5. This paper corrects the
solution to the first problem that appears in [16].
Definition 3: A polytope Zi in a polytopic partition {Zi |
i ∈ I} of a polytope Z is said to be active at z ∈ Z if
z = (x, u) ∈ Zi . The set of polytopes active at z ∈ Z is
II. PARAMETRIC PIECEWISE QP
S(z) , {i ∈ I | z ∈ Zi }.
A. Introduction
The general parametric programming problem P(x) is
defined by:
V 0 (x) = min{V (x, u) | (x, u) ∈ Z}
u
0
u (x) = arg min{V (x, u) | (x, u) ∈ Z}
u
(1)
m
V (z) = Vi (z) , (1/2)z ′ Qi z + qi′ z + ri ,
(3)
for all z ∈ Zi , all i ∈ I.
The parametric piecewise quadratic programming problem
P(x) (we use the same symbol P(x) for simplicity) is defined
by (1) where, now, V (·) is piecewise quadratic and Z is a
polytope. The following assumption is assumed to hold in
the sequel:
Assumption 1: The function V : Z → R is continuous,
strictly convex, and piecewise quadratic on the polytopic
partition {Zi | i ∈ I} of the polytope Z in Rn × Rm .
Under this assumption, the piecewise quadratic programming problem P(x) satisfies the hypotheses of Proposition 1
so that its value function V 0 (·) is strictly convex and continuous and the minimizer u0 (·) is continuous. Assumption
1 implies that Qi is positive definite for all i ∈ I. For each
x, let the set U(x) be defined by
U(x) , {u | (x, u) ∈ Z}.
A polytope Zi in a polytopic partition {Zi | i ∈ I} of
a polytope Z is said to be active for Problem P(x) if
(x, u0 (x)) ∈ Zi . The set of active polytopes for P(x) is
S 0 (x) defined by
S 0 (x) , S(x, u0 (x)).
(2)
where x ∈ R , u ∈ R (z = (x, u) ∈ Rn × Rm ); u0 (x) is
the solution and V 0 (x) the value of problem P(x). Let X ,
ProjX Z , {x | ∃ u such that (x, u) ∈ Z}. The following
result is established in [17] and earlier in [18] under the
stronger hypothesis that the gradients of the active constraints
are linearly independent; a self-contained proof is given in
[16]:
Proposition 1: Suppose V : Z → R is a strictly convex,
continuous function and that Z is a polytope (compact
polyhedron). Then, for all x ∈ X = ProjX Z, the solution
u0 (x) to P(x) exists and is unique. The value function V 0 (·)
is strictly convex and continuous with domain X , and the
solution u0 (·) is continuous on X .
The parametric piecewise quadratic programming problem
has more structure and requires a few definitions:
Definition 1: A set {Zi | i ∈ I}, for some index set
I, is called a polytopic partition of the polytopic set Z if
Z = ∪i∈I Zi and the sets Zi , i ∈ I are polytopes with
non-intersecting interiors (relative to Z).
Definition 2: A function V : Z → R is said to be
piecewise quadratic on a polytopic partition {Zi | i ∈ I}
of Z if it satisfies (for some Qi , qi , ri , i ∈ I)
n
(4)
Thus U(x) is the set of admissible u at x and P(x) may be
expressed in the form V 0 (x) = minu {V (x, u) | u ∈ U(x)}.
Because of the piecewise nature of V (·), we require:
(5)
(6)
Thus S 0 (x) = {i ∈ I | (x, u0 (x)) ∈ Zi }. To proceed,
and to relate our version of reverse transformation to earlier
versions, we define, for each i ∈ I, the subproblem Pi (x)
employed in these versions and defined by
Vi0 (x) = min{V (x, u) | (x, u) ∈ Zi }
(7)
u0i (x)
(8)
u
= arg min{V (x, u) | (x, u) ∈ Zi }.
u
As before, the set of feasible u for Pi (x) is Ui (x) , {u |
(x, u) ∈ Zi }.
The question arises: how are the solutions to Pi (x), i ∈
S 0 (x) related to the solution of the original problem P(x)?
This is answered by [16]:
Proposition 2: Suppose x ∈ X is given. The following
two statements are equivalent:
(i) u is optimal for the original problem P(x) (u = u0 (x)).
(ii) u is optimal for problem Pi (x) for all i ∈ S 0 (x) (u =
u0i (x) for all i ∈ S 0 (x)).
A proof of this result appears in [16] but is included here
since it is simple and motivates the algorithm given later.
Proof: (i) Suppose u is optimal for P(x); then, (x, u) ∈ Zi
for all i ∈ S 0 (x). If u is not optimal for Pi (x) for some i ∈
S 0 (x), there exists a v such that (x, v) ∈ Zi and V (x, v) =
Vi (x, v) < Vi (x, u) = V (x, u) = V 0 (x), a contradiction.
(ii) Suppose u is optimal for Pi (x) for all i ∈ S 0 (x). Then
V (x, u) = Vi (x, u) ≤ V (x, u0 (x)) = V 0 (x) for all i ∈
S 0 (x). But V 0 (x) ≤ V (x, u) (by the optimality of u0 (x)),
so that V (x, u) = V 0 (x) which establishes the optimality of
u for P(x).
For each i ∈ I, Zi may be defined by
Zi , {M i u ≤ N i x + pi }.
Mji ,
Nji
i
Let
and
N i and p . Let
pij
(9)
denote, respectively the jth row of M i ,
Ii (x, u) , {j | Mji u = Nji x + pij }
(10)
denote the active constraint set for Pi (x) at (x, u) ∈ Zi . Let
Fi (x, u) denote the set of feasible directions at u ∈ Ui (x) ,
{u | (x, u) ∈ Zi }:
2763
Fi (x, u) , {h ∈ Rm | Mji h ≤ 0 ∀j ∈ Ii (x, u)},
(11)
WeA07.1
and let P Ci (x, u) denote the polar cone of Fi (x, u) at 0:
P Ci (x, u) , {v ∈ Rm | v ′ h ≤ 0 ∀h ∈ Fi (x, u)}


 X

(Mji )′ λj λj ≥ 0 ∀j ∈ Ii (x, u) .
=


(12)
j∈Ii (x,u)
Using a well-known condition of optimality employed in
[8], [19] in this context we have:
Proposition 3: u is optimal for problem Pi (x) if and only
if u ∈ Ui (x) and −∇u Vi (x, u) ∈ P Ci (x, u).
B. Improved reverse transformation algorithm
Proposition 2 shows that solving, as in the original version
of the reverse transformation procedure, Problem Pi (x) if
polytope Zi is active, does not necessarily yield a solution
of the original problem; it does so if Zi is the sole active
polytope.
For any x ∈ X , u0 (x) (the solution of P(x)) satisfies the
equality constraint
Mji u = Nji x + pij , ∀j ∈ Ii0 (x), ∀i ∈ S 0 (x)
(13)
where Mji denotes the jth row of M i , etc, and Ii0 (x) ,
Ii (x, u0 (x)) indexes those constraints in (9) that are active
at (x, u0 (x)). For simplicity, we rewrite (13) as
Ex u = F x x + g x .
(14)
This proposition is an elementary consequence of Proposition 3 and corrects an earlier version in [16]. Since there
are a finite number of polytopes Zi and a finite number of
constraints defining each polytope, there exists a finite set of
points {xj , j ∈ J } in X such that X = ∪j∈J Rxj . Hence,
we have
Theorem 1: There exists a finite set of points {xj , j ∈ J }
in X such that R = {Rxj | j ∈ J } is a polytopic partition
of X . The value function V 0 (·) is piecewise quadratic and
the minimiser u0 (·) is piecewise affine in R, being equal,
respectively, to Vx0j (·) and u0xj (·) in each region Rxj , j ∈ J .
Propositions 3 and 4 motivate:
Improved Reverse Transformation Algorithm
1. Initialize: Set R = ∅.
2. Update: Select x ∈ X \ R, solve P(x). Determine the
affine minimizer u0x (·), the quadratic value function Vx0 (·)
and the polytope Rx . Set V 0 (·) = Vx0 (·) and u0 (·) = u0x (·)
in Rx . Set R = Rx ∪ R.
3. Iterate: While R =
6 X , iterate.
The algorithm generates a sequence Rxj , j ∈ J of polytopes
that form a polytopic partition of X and yields the solution
(both the value function and the minimizer) to the parametric
piecewise quadratic problem P(x) for all x ∈ X .
We can compare the original and improved version of
reverse transformation by their application to the example
shown in Figure 1. Here Z is the rectangle X × U.
Hence u0 (x) is the unique solution of
u
= min{V (x̄, u) | Ex u = Fx x̄ + gx }
u
u0x (x̄) = arg min{V (x̄, u) | Ex u = Fx x̄ + gx }.
u
Vx0 (x̄) = (1/2)x̄′ Qx x̄ + sx x̄ + rx
(17)
u0x (x̄)
(18)
where Qx , sx , rx , Kx , kx are easily computed. The minimizer u0x (x̄) to Px (x̄) satisfies (14), the same equality
constraints as those satisfied by u0 (x). We know that u0x (·)
is optimal for Px (x̄) and is also optimal for P(x); the next
result shows that u0x (·) is also optimal for P(x̄) for all x̄ in
some region Rx ⊂ Rn .
Proposition 4: Let x be an arbitrary point in X . Then: (i)
The solution to P(x) satisfies u0 (x̄) = u0x (x̄) and V 0 (x̄) =
Vx0 (x̄) for all x̄ ∈ Rx defined by:
u0x (x̄) ∈ Ui (x̄) ∀i ∈ S 0 (x)
Rx , x̄
−∇u Vi (x̄, u0x (x̄)) ∈ P Ci0 (x) ∀i ∈ S 0 (x)
(19)
where P Ci0 (x) , P Ci (x, u0 (x)), (ii) Rx is a polytope, and
(iii) x ∈ Rx .
U
0
U u (·)
(15)
(16)
Z1
Z1
u01 (·)
u02 (·)
where V (x̄, u) = Vi (x̄, u), i ∈ S 0 (x) and is, therefore,
quadratic, for all (x̄, u) satisfying (14). The solution to this
problem is
= Kx x̄ + kx .
u
u
We define, for all x, x̄ ∈ X , the (easy) equality constrained
problem Px (x̄) by
Vx0 (x̄)
X
X
V 0 (x) = min{V (x, u) | Ex u = Fx x + gx }.
Z2
Z2
x
x
(a) Solutions of P1 (x) and
P2 (x)
(b) Solution of P(x)
Fig. 1.
Improved reverse transformation algorithm
The polytope Z is partitioned into two polytopes Z1 and Z2
in each of which V (·) is quadratic (in z = (x, u)).
The original version yields u01 (·) and u02 (·) shown in
Figure 1(a); both u01 (x) and u02 (x) exists at each x ∈ X and
further investigation is required to choose the true minimizer
u0 (x). The improved algorithm, in contrast, yields the unique
minimizer u0 (·) shown in Figure 1(b).
III. DYNAMIC PROGRAMMING SOLUTION OF THE
CONSTRAINED LQR PROBLEM
This problem was considered in [15] using an earlier
version of reverse transformation. Consider the problem of
controlling the linear system
2764
x+ = Ax + Bu
(20)
WeA07.1
where x and u are the current state and control, and x+ is
the successor state. Let u , {u(0), u(1), . . . , u(N − 1)}. We
pose an optimal control problem P(x) defined by
(21)
u0N (x) = arg min VN (x, u)
(22)
u
u
subject to the constraints
x(i) ∈ X, u(i) ∈ U, i = 0, . . . , N − 1, x(N ) ∈ Xf , (23)
where x(i) , φ(i; x, u) is the solution at time i of (20) with
initial state x at time 0 and control sequence u. The sets X,
U and Xf are assumed to be polytopic. The cost function
VN (·) is defined by
N
−1
X
ℓ(x(i), u(i)) + Vf (x(N ))
i=0
0
Vi+1
(x) = min{ℓ(x, u) + Vi0 (f (x, u)) | u ∈ U,
(25)
(26)
with boundary conditions
V00 (·) = Vf (·), X0 = Xf
(27)
It is easily seen that each stage of the dynamic programming recursion is a parametric piecewise quadratic
programming problem (even if ℓ(·) is quadratic) to which
the algorithm described above may be usefully applied with
0
V 0 (·) = Vi+1
(·), V (x, u) = ℓ(x, u) + Vi0 (Ax + Bu) (which
is piecewise quadratic in (x, u) since ℓ(·) and Vi0 (·) are
piecewise quadratic) and Z = {(x, u) | x ∈ X, u ∈
U, Ax + Bu ∈ Xi } (which is polytopic since U, X and Xi
are polytopic).
IV. PARAMETRIC PIECEWISE AFFINE QP
The parametric piecewise affine quadratic program P(x)
is defined by
V 0 (x) = min{V (x, u) | (x, u) ∈ Z}
u
Zi , {(x, u) ∈ Pi | fi (x, u) ∈ Xf }
(28)
where
Since fi (·) is affine, each Zi is a polytope and Z = ∪i∈I Zi
is a polygon (union of a finite set of polyhedra). Also, for
each i ∈ I, define the cost Vi : Zi → R by
Vi (x, u) , ℓ(x, u) + Vf (fi (x, u)) ∀(x, u) ∈ Zi .
(32)
Since fi (·) is affine, Vi (·) is quadratic and is strictly convex.
Thus, for each i ∈ I, problem Pi (x), defined by
Vi0 (x) = min{Vi (x, u) | (x, u) ∈ Zi }
u
(33)
is a quadratic program with Vi (·) strictly convex so that, for
each x ∈ ProjX Zi , Pi (x) has a unique global minimizer
u0i (x). Let
Ui (x) , {u | (x, u) ∈ Zi }.
(34)
Necessary and sufficient conditions for the optimality of
u for Pi (x) are u ∈ Ui (x) and −∇u Vi (x, u) ∈ P Ci (x, u)
where, now, P Ci (x, u) is the polar cone of the set of feasible
directions for Zi at 0.
Since V (x, u) , ℓ(x, u)+Vf (f (x, u)), we have V (x, u) =
Vi (x, u) for all (x, u) ∈ Zi . Hence V (·) is piecewise
quadratic and continuous but not continuously differentiable;
V (·) is not necessarily convex so that, for each x, the global
minimizer is not necessarily unique, and V (·) may have
several local minima though each local minimizer of P(x)
is a global minimizer of Pi (x) for some i ∈ I. Also let
S(x, u) be defined as in (5). Because V (·) is not necessarily
convex, u0 (x) may be set-valued and a local minimum is
not necessarily global; however u0 (x) ⊆ {u0i (x) | i ∈
I} and has finite cardinality. Hence Proposition 2 needs
modification. We have, instead
Proposition 5: Let x ∈ X be given. If u ∈ u0 (x) is
optimal for P(x), then u is optimal for Pi (x) for all i ∈
S(x, u).
The proof of this result is similar to the proof of part (i) of
Proposition 2. Similarly to (13), any x ∈ X , any u ∈ u0 (x)
satisfies
V (x, u) , ℓ(x, u) + Vf (f (x, u)),
Z , {(x, u) ∈ Z0 | f (x, u) ∈ Xf }.
(31)
The domain of Vi0 (·) and u0i (·) is Xi = {x | Ui (x) 6= ∅}.
u
f (x, u) ∈ Xi },
(30)
The minimizer for P(x) (see (28)) is u (x) and may
be set-valued. The domain of V 0 (·) is X , {x |
∃ u such that (x, u) ∈ Z}. The complicating factor (compared with the piecewise quadratic problem) is f (·) which
renders the problem non-convex. For each i ∈ I, define the
set Zi ⊆ Pi by
(24)
where ℓ(·) and Vf (·) are continuous strictly convex piecewise quadratic functions defined, respectively, on polytopic
partitions of X × U and Xf . The complexity of the problem,
especially when ℓ(·) is piecewise quadratic, suggests that
dynamic programming is more efficient when N is large. Let
f (x, u) , Ax + Bu. The constrained dynamic programming
recursion is
Xi+1 = {x ∈ X | ∃ u ∈ U such that
f (x, u) ∈ Xi }
f (x, u) = fi (x, u) , Ai x + Bi u + ci ∀(x, u) ∈ Pi
0
VN0 (x) = min VN (x, u)
VN (x, u) ,
partition P = {Pi | i ∈ I} of Z0 so that, for each i ∈ I
Mji u = Nji x + pij , ∀j ∈ Ii (x, u), ∀i ∈ S(x, u)
(29)
It is assumed that the cost functions ℓ(·) and Vf (·) are strictly
convex and quadratic, that Z0 and Xf are polytopic and
that f (·) is continuous and piecewise affine in a polytopic
which may be written as
E(x,u) u = F(x,u) x + g(x,u) .
For all x ∈ X , all u ∈ u0 (x), we define as before, for all
2765
WeA07.1
x̄ ∈ X , the equality constrained problem P(x,u) (x̄) by
0
V(x,u)
(x̄) = min{V (x̄, v) | E(x,u) v = F(x,u) x̄ + g(x,u) }
v
(35)
u0(x,u) (x̄) = arg min{V (x̄, v) | E(x,u) v = F(x,u) x̄ + g(x,u) }.
v
(36)
0
As before, V(x,u)
(·) is quadratic and u0(x,u) (·) is affine and
unique (as in (15) and (16)) and are easily computed.
For each x ∈ X , each u ∈ u0 (x), let the region R(x,u) be
defined as before:
R(x,u) , {x̄ | u0(x,u) (x̄) ∈ Ui (x̄), −∇u Vi (x̄, u0(x,u) (x̄))
∈ P Ci (x, u) ∀i ∈ S(x, u)}
(37)
where P Ci (x, u) is defined as in (9)–(12). As before, R(x,u)
is a polytope and x ∈ R(x,u) . For each x̄ ∈ R(x,u) , each
ū ∈ u0 (x̄), (x̄, ū) ∈ Zi and ū minimizes Vi (x̄, u) in Ui (x̄)
for all i ∈ S(x̄, ū). Because u0(x,u) (·) is now a local, rather
than a global, minimizer, it is possible for the regions R(x,u)
to overlap. This is illustrated in Figure 2 where P1 and
P2 are, respectively, the polytopes above and below the
diagonal and Z0 = P1 ∪ P2 . The polytopes Z1 and Z2 ,
which are, respectively, subsets of P1 and P2 , are disjoint.
The sets R(x1 ,u1 ) where u1 ∈ u0 (x1 ) and R(x2 ,u2 ) where
u2 ∈ u0 (x2 ) overlap. Consider a point x̄ lying in, say, an
overlap region R = ∩j∈K R(xj ,uj ) for some index set K.
Then each u0(xj ,uj ) (x̄), j ∈ K, is a local minimizer and at
least one is a global minimizer for P(x̄). Hence, if x̄ ∈ R,
u0(xj ∗ ,uj ∗ ) (x̄) ∈ u0 (x̄) for each j ∗ ∈ arg minj {V (x̄, u0j (x̄)) |
j ∈ K} and we can no longer claim that that the value
function V 0 (·) for P(x) is piecewise quadratic and that the
minimizer u0 (·) is piecewise affine on a polytopic partition
of Z since the boundaries between the sub-regions of R may
be parabolic. Summarizing:
u
u1
u2
V (x, u)
Z1
ub
ua
Fig. 3.
uc
u
Non-convex problem
are piecewise quadratic provided P is appropriately subpartitioned.
V. O PTIMAL CONTROL OF A PIECEWISE AFFINE SYSTEM
WITH QUADRATIC COSTS
Consider the problem of controlling the piecewise affine
system described by
x+ = f (x, u)
Z0
(38)
subject to the constraints
P1
(x(i), u(i)) ∈ Z0 , i = 0, 1, . . . , N − 1, x(N ) ∈ Xf (39)
where x(i) , φ(i; x, u), Z0 and Xf are polytopic and f (·)
is continuous and piecewise affine satisfying:
P2
Z2
x1
x2
R(x1 ,u1 )
R(x2 ,u2 )
R
Fig. 2.
nature of Z we can employ a modification of the algorithm,
described in §2, to obtain a set of polytopes of the form
R(x,u) , each lying in X = ProjX Z. Because of nonconvexity, regions R(xj ,uj ) , j ∈ J , may overlap. Also,
because points in R merely satisfy, in general, a necessary
condition of optimality, there may exist points x in Rk =
∪j∈Jk R(xj ,uj ) (at the kth iteration of the algorithm) such
0
(x) | j ∈ Jk }. Hence the
that V 0 (x) < minj {V(x
j ,uj )
successor point x̄ in Step 2 of the algorithm should not
necessarily be sought in X \ Rk otherwise these points
may be overlooked. However, the number of overlaps is
considerably reduced with the improved algorithm because
false minimizers lying on internal boundaries separating one
polytope from another are avoided. See Figure 3 where
u 7→ V (x, u) is plotted for a given value x of the parameter.
The original version identifies ua , ub and uc (twice) as local
minimizers whereas the improved version identifies ua and
uc . The results of this section still hold if ℓ(·) and Vf (·)
f (x, u) = Aj x + Bj u + cj ∀(x, u) ∈ Pj
x
(40)
where P = {Pi | i ∈ I} is a polytopic partition of Z. The
cost is, as before,
V (x, u) =
Overlapping regions: R = R(x1 ,u1 ) ∩ R(x2 ,u2 )
N
−1
X
ℓ(x(i), u(i)) + Vf (x(N ))
(41)
i=0
Proposition 6: The set of states for which P(x) has a
solution is a polygon (union of a finite set of polyhedra).
There exists a finite set of points {(xj , uj ) | j ∈ J } such that
X = ∪j∈J R(xj ,uj ) . If x̄ ∈ ∩j∈K R(xj ,uj ) for some K ⊂ J ,
then V 0 (x̄) = V (x̄, u0j ∗ (x̄)) and u0j ∗ (x̄) ∈ u0 (x̄) for any
j ∗ ∈ arg minj {V (x̄, u0j (x̄)) | j ∈ K}.
Despite the non-convexity of V (·) and the non-polytopic
where N is the horizon, u denotes the control sequence
{u(0), u(1), . . . , u(N − 1)} and x(i) = φ(i; x, u); ℓ(·) and
Vf (·) are assumed, for simplicity, to be quadratic. For each
s , {s(0), s(1), . . . , s(N − 1)} ∈ S , I N we define
2766
Zs , {(x, u) | (φ(i; x, u), u(i)) ∈ Ps(i) , i = 0, . . . , N −1;
φ(N ; x, u) ∈ Xf }.
(42)
WeA07.1
and define Z to be the polygon ∪s∈S Zs . We now observe
that, if (x, u) ∈ Zs , then the (nonlinear) piecewise affine
system behaves like the time-varying system
x(t + 1) = As(t) x(t) + Bs(t) u(t) + cs(t)
(43)
so that V (·) is quadratic (V (x, u) = Vs (x, u) where Vs (·) is
quadratic) for all (x, u) ∈ Zs . Thus, for each s ∈ S, problem
Ps , defined by
Vs0 (x) = min{Vs (x, u) | (x, u) ∈ Zs }
(44)
u
is a quadratic program. It can now be seen that the piecewise
affine optimal control problem is identical to the problem
discussed in §4 with u replacing u and Zs , s ∈ S replacing
Zi , i ∈ I. Hence the results obtained in §4 apply with
obvious modifications to the piecewise affine optimal control
problem considered here.
VI. C ONCLUSION
A procedure for parametric piecewise quadratic programing that is an improvement on earlier versions of reverse
transformation is described. It removes false candidates for
the minimizer that arise in the earlier versions because
minimizers for the simplified problems lying on the boundary
between polytopes do not necessarily satisfy conditions of
optimality for the original problem. The resultant procedure
removes overlapping of regions entirely in convex problems
(such as the dynamic programing problem for constrained
linear quadratic control discussed in §3) and reduces the
number of overlaps in non-convex problems (such as the optimal control problem for piecewise affine systems discussed
in §5).
R EFERENCES
[1] A. Bemporad, F. Borrelli, and M. Morari, “Piecewise linear optimal
controllers for hybrid systems,” in Proceedings of the American
Control Conference, Chicago, 2000, pp. 1190–1194.
[2] ——, “Optimal controllers for hybrid systems: stability and piecewise
linear explicit form,” in Proceedings of the 39th IEEE Conference on
Decision and Control, Sydney, December 2000.
[3] D. Q. Mayne, “Control of constrained dynamic systems,” European
Journal of Control, vol. 7, pp. 87–99, 2001.
[4] D. Ramirez and E. Camacho, “On the piecewise linear nature of
min-max model predictive control with bounded uncertainties,” in
Proceedings of the 40th IEEE 2001 Conference on Decision and
Control, Orlando, Florida, USA, 2001, pp. 4845–4850.
[5] 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, 2002.
[6] F. Borrelli, “Discrete time constrained optimal control,” Ph.D. dissertation, Swiss Federal Instritute of Technology, Zurich, 2002.
[7] E. C. Kerrigan and D. Q. Mayne, “Optimal control of constrained
piecewise affine systems with bounded disturbances,” in Proceedings
of the 41st IEEE 2002 Conference on Decision and Control, vol. 2,
Las Vegas, USA, 2002, pp. 1552 – 1557.
[8] D. Q. Mayne and S. Raković, “Optimal control of constrained piecewise affine discrete-time systems using reverse transformation,” in
Proceedings of the IEEE 2002 Conference on Decision and Control,
vol. 2, Las Vegas, USA, 2002, pp. 1546 – 1551 vol.2.
[9] ——, “Optimal control of constrained piecewise affine discrete-time
systems,” Journal of Computational Optimization and Applications,
vol. 25, no. 1-3, pp. 167–191, 2003.
[10] M. M. Seron, G. C. Goodwin, and J. A. D. Doná, “Characterisation of
receding horizon control for constrained linear systems,” Asian Journal
of Control, vol. 5, no. 2, pp. 271–286, June 2003.
[11] A. Bemporad, F. Borrelli, and M. Morari, “Min-max control of
constrained uncertain discrete-time linear systems,” IEEE Transactions
on Automatic Control, vol. 48, no. 9, pp. 1600–1606, September 2003.
[12] E. C. Kerrigan and J. M. Maciejowski, “Feedback min-max model
predictive control using a single linear program: Robust stability and
the explicit solution,” International Journal of Robust and Nonlinear
Control, vol. 14, no. 4, pp. 395–413, March 2004.
[13] M. Diehl and J. Bjornberg, “Robust dynamic programming for minmax model predictive control of constrained uncertain systems,” IEEE
Trans. Automatic Control, vol. 49, no. 12, pp. 2253–2257, December
2004.
[14] D. Q. Mayne, “Control of constrained dynamic systems,” Imperial
College London, Tech. Rep. EEE/C&P/DQM/9/2001, 2001, keynote
address, European Control Conference, Oporto, 4–7 September, 2001.
[15] D. M. de la Peña, T. Alamo, A. Bemporad, and E. F. Camacho, “A dynamic programming approach for determining the explicit solution of
MPC controllers,” in Proceedings 43rd IEEE Conference on Decision
and Control, Paradise Island, Bahamas, December 2004.
[16] D. Q. Mayne, S. V. Raković, R. B. Vinter, and E. C. Kerrigan,
“Characterization of the solution to a constrained H∞ optimal control
problem,” Automatica, vol. 42, pp. 371–382, 2006.
[17] B. Bank, J. Guddat, D. Klatte, B. Kummer, and K. Tanner, Non-linear
parametric optimization. Basel, Boston, Stuttgart: Birkhäuser Verlag,
1983.
[18] G. B. Dantzig, J. Folkman, and N. Z. Shapiro, “On the continuity of
the minimum set of a continuous function,” Journal of Mathematical
Analysis and Applications, vol. 17, no. 3, pp. 519–548, 1967.
[19] D. Q. Mayne and S. Raković, “Model predictive control of constrained
piecewise affine discrete-time systems,” International Journal of Robust and Nonlinear Control, vol. 13, no. 3-4, pp. 261–279, 2003.
2767