Academia.eduAcademia.edu

A Survey on Explicit Model Predictive Control

2009, Nonlinear Model Predictive Control

Explicit model predictive control (MPC) addresses the problem of removing one of the main drawbacks of MPC, namely the need to solve a mathematical program on line to compute the control action. This computation prevents the application of MPC in several contexts, either because the computer technology needed to solve the optimization problem within the sampling time is too expensive or simply infeasible, or because the computer code implementing the numerical solver causes software certification concerns, especially in safety critical applications. Explicit MPC allows one to solve the optimization problem off-line for a given range of operating conditions of interest. By exploiting multiparametric programming techniques, explicit MPC computes the optimal control action off line as an "explicit" function of the state and reference vectors, so that on-line operations reduce to a simple function evaluation. Such a function is piecewise affine in most cases, so that the MPC controller maps into a lookup table of linear gains. In this paper we survey the main contributions on explicit MPC appeared in the scientific literature. After recalling the basic concepts and problem formulations of MPC, we review the main approaches to solve explicit MPC problems, including a novel and simple suboptimal practical approach to reduce the complexity of the explicit form. The paper concludes with some comments on future research directions.

A Survey on Explicit Model Predictive Control⋆ Alessandro Alessio and Alberto Bemporad Abstract. Explicit model predictive control (MPC) addresses the problem of removing one of the main drawbacks of MPC, namely the need to solve a mathematical program on line to compute the control action. This computation prevents the application of MPC in several contexts, either because the computer technology needed to solve the optimization problem within the sampling time is too expensive or simply infeasible, or because the computer code implementing the numerical solver causes software certification concerns, especially in safety critical applications. Explicit MPC allows one to solve the optimization problem off-line for a given range of operating conditions of interest. By exploiting multiparametric programming techniques, explicit MPC computes the optimal control action off line as an “explicit” function of the state and reference vectors, so that on-line operations reduce to a simple function evaluation. Such a function is piecewise affine in most cases, so that the MPC controller maps into a lookup table of linear gains. In this paper we survey the main contributions on explicit MPC appeared in the scientific literature. After recalling the basic concepts and problem formulations of MPC, we review the main approaches to solve explicit MPC problems, including a novel and simple suboptimal practical approach to reduce the complexity of the explicit form. The paper concludes with some comments on future research directions. Keywords: Model predictive control, explicit solutions, multiparametric programming, piecewise affine controllers, hybrid systems, min-max control. 1 Model Predictive Control In Model Predictive Control (MPC) the control action is obtained by solving a finite horizon open-loop optimal control problem at each sampling instant. Each Alessandro Alessio and Alberto Bemporad Department of Information Engineering, University of Siena, Italy e-mail: {alessio,bemporad}@dii.unisi.it ⋆ This work was partially supported by the European Commission under the HYCON Network of Excellence, contract number FP6-IST-511368. L. Magni et al. (Eds.): Nonlinear Model Predictive Control, LNCIS 384, pp. 345–369. c Springer-Verlag Berlin Heidelberg 2009 springerlink.com  346 A. Alessio and A. Bemporad optimization yields a sequence of optimal control moves, but only the first move is applied to the process: At the next time step, the computation is repeated over a shifted time-horizon by taking the most recently available state information as the new initial condition of the optimal control problem. For this reason, MPC is also called receding or rolling horizon control. The solution relies on a dynamic model of the process, respects all input and output (state) constraints, and optimizes a performance index. This is usually expressed as a quadratic or a linear criterion, so that, for linear prediction models, the resulting optimization problem can be cast as a quadratic program (QP) or linear program (LP), respectively, while for hybrid prediction models, the resulting optimization problem can be cast as a mixed integer quadratic or linear program (MIQP/MILP), as will be reviewed in the next sections. The main difference between MPC and conventional control is therefore that in the latter the control function is pre-computed off-line. The reason for the success of MPC in industrial applications is due to its ability to handle processes with many manipulated and controlled variables and constraints on them in a rather systematic manner. The process to be controlled is usually modeled by the system of difference equations x(t + 1) = f (x(t), u(t)) (1) where x(t) ∈ Rn is the state vector, and u(t) ∈ Rm is the input vector. We assume for simplicity that f (0, 0) = 0. The control and state sequences are requested to satisfy the constraints x(t) ∈ X , u(t) ∈ U (2) where U ⊆ Rm and X ⊆ Rn are closed sets containing the origin in their interior1. Assuming that the control objective is to steer the state to the origin, MPC solves the constrained regulation problem as follows. Assume that a full measurement of the state x(t) is available at the current time t. Then, the following finite-horizon optimal regulation problem is solved N−1 PN (x(t)) : min z s.t. ∑ l(xk , uk ) + F(xN ) (3a) xk+1 = f (xk , uk ), (3b) k=0 k = 0, . . . , N − 1 x0 = x(t), uk ∈ U , k = 0, . . . , Nu − 1 (3c) (3d) xk ∈ X , k = 1, . . . , N − 1 xN ∈ XN , (3e) (3f) uk = κ (xk ), (3g) k = Nu , . . . , N − 1 where z ∈ Rℓ , is the vector of optimization variables, z = [u′0 . . . u′Nu −1 ]′ , ℓ = mNu (more generally, z includes command inputs and additional optimization variables), 1 Mixed constraints on (x, u) can be treated as well, for instance to handle constraints on outputs with direct feedthrough y(t) = f y (x(t), u(t)). A Survey on Explicit Model Predictive Control 347 and the choice of the closed set XN ⊆ X , terminal cost F, and terminal gain κ ensure closed-loop stability of the MPC scheme [54]. At each time-step t, xk denotes the predicted state vector at time t + k, obtained by applying the input sequence u0 , .., uk−1 to model (1), starting from x0 = x(t). The number N > 0 is the prediction horizon, Nu is the input horizon (1 ≤ Nu ≤ N), and “≤” denotes component-wise inequalities. Because N is finite, if f , l and F are continuous and U is also compact the minimum in (3a) exists. At each time-step t a solution to problem PN (x(t)) is found by solving the mathematical program min h(z, x(t)) z s.t. g(z, x(t)) ≤ 0, g ∈ Rq (4) obtained from (3), yielding the optimal control sequence z∗ (x(t)). Only the first input is applied to system (1) u(t) = u∗0 (x(t)) (5) and the optimization problem (3) is repeated at time t + 1, based on the new state x(t + 1). The basic MPC setup (3) can be specialized to different cases, depending on the prediction model, performance index, and terminal conditions used. 1.1 Linear Model and Quadratic Cost A finite-horizon optimal control problem (3) with quadratic stage costs is formulated by setting l(xk , uk ) = x′k Qxk + u′k Ruk , F(xN ) = x′N PxN (6) in (3a), where Q = Q′ ≥ 0, R = R′ > 0, and P = P′ ≥ 0 are weight matrices of appropriate dimensions. Let (3b) be a deterministic linear discrete-time prediction model f (xk , uk ) = Axk + Buk (7) κ (x) = Kx in (3g), U , X be polyhedral sets, for example U = {u ∈ Rm : umin ≤ u ≤ umax , X = {x ∈ Rn : xmin ≤ x ≤ xmax }, and also XN be polyhedral. Then, j by substituting xk = Ak x(t) + ∑k−1 j=0 A Buk−1− j , problem (4) becomes a quadratic program (QP): 1 1 h(z, x(t)) = z′ Hz + x′ (t)C′ z + x′ (t)Y x(t) 2 2 g(z, x(t)) =Gz − W − Sx(t), (8a) (8b) where H = H ′ > 0 and C, Y , G, W , S are matrices of appropriate dimensions [18]. Note that Y is not really needed to compute z∗ (x(t)), it only affects the optimal value of (8a). 348 A. Alessio and A. Bemporad 1.2 Linear Model and Linear Cost Let ∞- or 1-norms be used to measure performance l(xk , uk ) = Qxk  p + Ruk  p , F(xN ) = PxN  p , p = 1, ∞ (9) where R ∈ RnR ×m , Q ∈ RnQ ×n , P ∈ RnP ×n , and use the same setup as described in u , ε x, Section 1.1. In case of ∞-norms, by introducing auxiliary variables ε0u , . . . , εN−1 1 x u x . . . , εN satisfying εk ≥ Ruk ∞ (k = 0, . . . , Nu − 1), εk ≥ Qxk ∞ (k = 1, . . . , N − 1), εNx ≥ PxN ∞ , or, equivalently, εku ≥ ±Ri uk , i = 1, . . . , nR , k = 0, . . . , Nu − 1 εkx ≥ ±Qi xk , i = 1, . . . , nQ , k = 1, . . . , N − 1 εNx ≥ ±Pi xN , i = 1, . . . , nP (10) where the superscript i in (10) denotes the ith row, problem (3) can be mapped into the linear program (LP) [12] Nu −1 N mNu          h(z, x(t)) =[1 . . . 1 α 1 . . . 1 0 . . . 0]z g(z, x(t)) =Gz − W − Sx(t), (11a) (11b) where α = N − Nu + 1 is the number of times the last input move is repeated over the prediction horizon, z  [ε0u . . . εNuu −1 ε1x . . . εNx u′0 . . . u′Nu −1 ]′ is the optimization vector, and G, W , S are obtained from weights Q, R, P, model matrices A, B, (10), constraint sets U , X , XN , and gain K. The case of 1-norms can be treated similarly x ≥ ±Pi xN . by introducing slack variables εiku ≥ ±Ri uk , εikx ≥ ±Qi xk , εiN Note that the above reformulation extends beyond 1/∞-norms to any convex piecewise affine cost l, F, that, thanks to the result of [62], can be rewritten as the max of a finite set of affine functions. The use of linear programming in optimization-based control dates back to the early sixties [60]. 1.3 Linear Uncertain Model and Min-Max Costs Robust MPC formulations [73] explicitly take into account uncertainties in the prediction model (12) f (xk , uk , wk , vk ) = A(wk )xk + B(wk )uk + Evk where q q A(w) = A0 + ∑ Ai wi , B(w) = B0 + ∑ Bi wi i=1 i=1 wk ∈ W ∈ Rnw , vk ∈ V ∈ Rnv Let vk , wk be modeled as unknown but bounded exogenous disturbances and parametric uncertainties, respectively, and W , V be polytopes. A robust MPC strategy often used consists of solving a min-max problem that minimize the worst-case A Survey on Explicit Model Predictive Control 349 performance while enforcing input and state constraints for all possible disturbances. The following min-max control problem is referred to as open-loop constrained robust optimal control problem (OL-CROC) [13] ⎫ ⎧ ⎪ ⎪ ⎬ ⎨ N−1 l(x , u ) + F(x ) max min N k k ∑ u0 , ..., uN−1 ⎪ ⎪ ⎭ ⎩ v0 , . . . ,vN−1 ∈ V k=0 (13) w0 , . . . ,wN−1 ∈ W s.t. dynamics (12) (3d), (3e), (3f) satisfied ∀vk ∈ V , ∀wk ∈ W The min-max problem (12)–(13) can be solved via linear programming if 1- or ∞norms are used [24, 4], or by quadratic programming if quadratic costs are used [56]. Being based on an open-loop prediction, in some cases the approach can be quite conservative. It is possible to reformulate the robust MPC problem using a closedloop prediction scheme as described in [63], whose approach reminds the methods used in multi-stage stochastic optimization based on scenario trees. An alternative method in which the min and max problems are interleaved and dynamic programming is used is described in [13] to solve the (closed-loop constrained robust optimal control problem, CL-CROC): For j = N − 1, . . ., 0 solve J ∗j (x j )  min Jmax, j (x j , u j ) u j ∈U s.t. A(w j )x j + B(w j )u j + Ev j ∈ X j+1 , ∀v j ∈ V , ∀w j ∈ W where Jmax, j (x j , u j )  max vj ∈ V wj ∈ W  l(x j , u j ) + J ∗j+1(A(w j )x j + B(w j )u j + Ev j ) (14) and X j = x ∈ X : ∃u ∈ U such that A(w)x + B(w)u + Ev ∈ X with boundary condition JN∗ (xN ) = PxN  p . j+1  , ∀v ∈ V , w ∈ W (15) (16) 1.4 Hybrid Model and Linear or Quadratic Costs The MPC setup also extends to the case in which (1) is a hybrid dynamical model. When the hybrid dynamics and possible mixed linear/logical constraints on discrete and continuous input and state variables are modeled using the language HYSDEL [71], (3b) can be automatically transformed into the set of linear equalities and inequalities 350 A. Alessio and A. Bemporad f (xk , uk , δk , ζk ) = Axk + B1 uk + B2δk + B3 ζk E2 δk + E3 ζk ≤ E1 uk + E4xk + E5 , (17a) (17b) involving both real and binary variables, denoted as the Mixed Logical Dynamical (MLD) model, where xk ∈ Rnc × {0, 1}nb is the state vector, uk ∈ Rmc × {0, 1}mb is the input vector, and ζk ∈ Rrc , δk ∈ {0, 1}rb are auxiliary variables implicitly defined by (17b) for any given pair (xk , uk ). Matrices A, Bi , (i = 1, 2, 3), and Ei (i = 1, . . . , 5) denote real constant matrices, and inequalities (17b) must be interpreted component-wise. The associated finite-horizon optimal control problem based on quadratic costs ′ ′ ζ0′ ... ζN−1 ]′ and subject to the furtakes the form (8) with z = [ u′0 ... u′N−1 δ0′ ... δN−1 ther restriction that some of the components of z must be binary. The hybrid MPC problem maps into a Mixed-Integer Quadratic Programming (MIQP) problem when the quadratic costs (6) are used in (3a) [17], or a Mixed-Integer Linear Programming (MILP) problem when ∞- or 1-norms are used as in (9) [11]. For both problems very efficient commercial and public domain solvers are available (see, e.g., http://plato.asu.edu/bench.html). 1.5 Extensions of the MPC Formulation Tracking The basic MPC regulation setup (3) can be extended to solve tracking problems. Given an output vector y(t) = Cx(t) ∈ R p and a reference signal r(t) ∈ R p to track under constraints (3d)–(3e), the cost function (3a) is replaced by N−1 ∑ (yk − r(t))Qy (yk − r(t)) + Δ u′kRΔ uk (18) k=0 where Qy = Q′y ≥ 0 ∈ R p×p is a matrix of output weights, and the increments of command variables Δ uk  uk − uk−1 , u−1  u(t − 1), are the new optimization variables, possibly further constrained by Δ umin ≤ Δ uk ≤ Δ umax . In the above tracking setup vector [x′ (t) r′ (t) u′ (t − 1)]′ replaces x(t) in (4) and the control law becomes u(t) = u(t − 1) + Δ u∗0(x(t), r(t), u(t − 1)). Rejection of Measured Disturbances In order to take into account measured disturbances v(t) ∈ Rnv entering the system, one can simply change (3b) into f (xk , uk ) = Axk + Buk + Ev(t) (19) where v(t) is the most recent available measurement of the disturbance entering the process, and is supposed constant over the prediction horizon. In this case the extended vector [x′ (t) v′ (t)] enters problem (4). A Survey on Explicit Model Predictive Control 351 Soft Constraints and Time-Varying Constraints   1 Soft constraints g(z, x(t)) ≤ ... ε , ε ≥ 0, are also easily taken into account by 1 adding a large penalty on ε or ε 2 in h(z, x(t)) in (4) and by including the new optimization variable ε in vector z. Time-varying constraints g(z, x(t)) ≤ γ (t), γ (t) ∈ Rq , t = 0, 1, . . ., can be also immediately taken into account, in this case the optimization problem (4) depends on both x(t) and γ (t). 2 Explicit Model Predictive Control The MPC strategies described in Section 1 require running on-line optimization algorithms to solve the optimization problem (4) at each time-step t, based on the value of the current state vector x(t) (or, more generally, based on x(t), r(t), u(t − 1), v(t), γ (t)). For this reason, MPC has been traditionally labeled as a technology for slow processes. Advances in microcontroller and computer technology are progressively changing the concept of “slow”, but still solving (4) on line prevents the application of MPC in many contexts, even for the simplest case of QP or LP. Computation speed is not the only limitation: the code implementing the solver might generate concerns due to software certification issues, a problem which is particularly acute in safety critical applications. The idea of explicit MPC is to solve the optimization problem (4) off-line for all x(t) within a given set X, that we assume here polytopic X = {x ∈ Rn : S1 x ≤ S2 } ⊂ Rn (20) and to make the dependence of u(t) on x(t) explicit, rather than implicitly defined by the optimization procedure that solves problem (4). It turns out that, as intuited in [74], such a dependence is piecewise affine in most of the formulations seen in Section 1, so that the MPC controller defined by (3), (5) can be represented in a totally equivalent way as ⎧ ⎪ ⎨ F1 x + g1 if H1 x ≤ k1 .. .. u(x) = . . ⎪ ⎩ FM x + gM if HM x ≤ kM . (21) Consequently, on-line computations are reduced to the simple evaluation of (21), which broadens the scope of applicability of MPC to fast-sampling applications. Explicit solutions of the form (21) to MPC problems can be obtained by solving multiparametric programs. 352 A. Alessio and A. Bemporad 2.1 Multiparametric Programming: General Formulation Consider the following mathematical program N P(x) : min z s.t. f (z, x) (22a) g(z, x) ≤ 0 (22b) Az + Bx + d = 0 (22c) where z ∈ Rℓ collects the decision variables, x ∈ Rn is a vector of parameters, f : Rℓ × Rn → R is the objective function, g : Rℓ × Rn → Rq , A is a qe × ℓ real matrix, B is a qe × n real matrix, and d ∈ Rqe . Problem (22) is referred as a multiparametric programming problem. We are interested in characterizing the solution of problem (22) for a given polytopic set X of parameters. The solution of a multiparametric problem is a triple (V ∗ , Z ∗ , X f ), where (i) the set of feasible parameters X f is the set of all x ∈ X for which problem (22) admits a solution, X f = {x ∈ X : ∃z ∈ Rℓ , g(z, x) ≤ 0, Az + Bx + d = 0}; (ii) The value function V ∗ : X f → R associates with every x ∈ X f the corresponding optimal value of (22); ℓ (iii) The optimal set Z ∗ : X f → 2R associates to each parameter x ∈ X f the corre∗ sponding set of optimizers Z (x) = {z ∈ Rℓ : f (z, x) = V ∗ (x)} of problem (22); (iv) An optimizer function z∗ : X f → Rℓ associates to each parameter x ∈ X f an optimizer z ∈ Z ∗ (x) (Z ∗ (x) is just a singleton if N P(x) is strictly convex). Let z be a feasible point of (22) for a given parameter x. The active constraints are the constraints that fulfill (22b) at equality, while the remaining constraints are called inactive constraints. The active set A (z, x) is the set of indices of the active constraints, that is, A (z, x)  {i ∈ {1, .., q}|gi(z, x) = 0}. The optimal active set A ∗ (x) is the set of indices of the constraints that are active for all z ∈ Z ∗ (x), for a given x ∈ X, A ∗ (x)  {i|i ∈ A (z, x), ∀z ∈ Z ∗ (x)}. Given an index set A ⊆ {1, .., q}, the critical region CRA is the set of parameters for which the optimal active set is equal to A , that is CRA  {x ∈ X|A ∗ (x) = A }. (23) The following basic result for convex multiparametric programming was proved in [50] in the absence of equality constraints: Lemma 1. Consider the multiparametric problem (22) and let f , and the components gi of g be jointly convex functions of (z, x), for all i = 1, .., q. Then, X f is a convex set and V ∗ is a convex function of x. The result can be easily generalized to the presence of linear equality constraints. For generic nonlinear functions f , gi , the critical regions CRA and an optimizer A Survey on Explicit Model Predictive Control 353 function z∗ are not easily characterizable, and suboptimal methods have been proposed [38, 15]. Procedures for solving at optimality the multiparametric programs arising from the MPC problems introduced in Section 1 are described in the following sections. 2.2 Multiparametric Quadratic Programming By treating x(t) as the vector of parameters, the QP problem arising from the linear MPC formulation of Section 1.1 can be treated as the multiparametric QP (mpQP) 1 ′ 1 QP(x) : V ∗ (x) = x′Y x + min z Hz + x′ F ′ z z 2 2 s.t. Gz ≤ W + Sx. (24a) (24b) In [18], the authors investigated the analytical properties of the mpQP solution, that are summarized by the following theorem.   Theorem 1. Consider a multiparametric quadratic program with H > 0, FH′ YF ≥ 0. The set X f of parameters x for which the problem is feasible is a polyhedral set, the value function V ∗ : X f → R is continuous, convex, and piecewise quadratic, and the optimizer z∗ : X f → Rℓ is piecewise affine and continuous. The immediate corollary of the above theorem is that the linear MPC approach based on linear costs described in Section 1.2 admits a continuous piecewise-affine explicit solution of the form (21). The arguments used to prove Theorem 1 rely on the first-order Karush-KuhnTucker (KKT) optimality conditions for the mpQP problem (24) Hz + Fx + G′λ = 0 λ ∈ Rq i i i λi (G z − W − S x) = 0, i = 1, . . . , q, λ ≥ 0, Gz ≤ W + Sx, (25a) (25b) (25c) (25d) where the superscript i denotes the ith row. Let us solve (25a) for z, z = −H −1 (G′ λ + Fx) (26) and substitute the result in (25b). Taken any point x0 ∈ X f (easily determined by a linear feasibility test on [G − S] [ xz ] ≤ W , for instance), solve QP(x0 ) and determine the optimal active set A0 = A ∗ (x0 ). Let λ̂ and λ̃ denote the Lagrange multipliers corresponding to inactive and active constraints, respectively, and assume that the rows of G̃ are linearly independent. For inactive constraints, set λ̂ ∗ (x) = 0. For active constraints, −G̃H −1 G̃′ λ̃ − W̃ − S̃x = 0, and therefore set λ̃ ∗ (x) = −(G̃H −1 G̃′ )−1 (W̃ + (S̃ + G̃H −1 F)x), (27) 354 A. Alessio and A. Bemporad where G̃, W̃ , S̃ correspond to the set of active constraints, and (G̃H −1 G̃′ )−1 exists because the rows of G̃ are linearly independent. Thus, λ ∗ (x) is an affine function of x. By simply substituting λ ∗ (x) into (26) it is easy to obtain z∗ (x) = H −1 G̃′ (G̃H −1 G̃′ )−1 (W̃ + (S̃ + G̃H −1 F)x) (28) and note that z∗ is also an affine function of x. Vector z∗ in (28) must satisfy the constraints in (25d), and by (25c), the Lagrange multipliers in (27) must remain non-negative. The set of inequalities defining the critical region CRA0 in the x-space is hence given by the polyhedron CRA0 = {x ∈ Rn : Ĝz∗ (x) ≤ Ŵ + Ŝx, λ̃ ∗ (x) ≥ 0}. (29) The critical region CRA0 is the largest set of parameters for which the fixed combination of constraints A0 is the optimal active set and for which z∗ (x) is the optimizer function, because it satisfies all the KKT conditions (25) together with the dual solution λ ∗ (x). Different algorithms proposed to complete the characterization of the optimal solution z∗ (x) on the remaining set CRrest = X \ CRA0 are reviewed below. In [18] the authors provided an algorithm for exploring CRrest in order to generate all possible critical regions. The method proceeds recursively by (i) partitioning the set X ⊆ Rn into a finite number of polyhedra {CRA0 , R1 , . . ., RN }, where Ri = {x ∈ X : Ai x > Bi , A j x ≤ B j , ∀ j < i} and A, B define a minimal representation Ax ≤ B of CRA0 , (ii) computing a new critical region CRi in each region Ri through the KKT conditions (25), partitioning Ri \ CRi , and so on. The procedure terminates when no more new optimal combinations of active constraints are found. Note that the number of critical regions for an mpQP problem is upper-bounded by the number 2q of possible combinations of active constraints. Such an upper-bound is usually very conservative, as most of the combinations are never optimal for any x ∈ X. A faster method is suggested in [68]. The active set of a neighboring region is found by using the active set of the current region and the knowledge of the type of the hyperplane that is crossed. That is, if an hyperplane of type Ĝi z∗ (x) ≤ Ŵ i + Ŝi x is crossed, then the corresponding constraint is added to the active set, while if an hyperplane of type λ̃i∗ (x) ≥ 0 is crossed, the corresponding constraint is withdrawn from the active set. The approach described in [5] is based on the idea that neighboring regions of a given region CR can be determined by stepping out from each facet of CR by a very small distance2, in order to determine new parameter vectors x around which to blow a new critical region. The approaches of [68, 5] implicitly rely on the assumption that the intersection of the closures of two adjacent critical regions is a facet of both closures, a condition which is referred to as the facet-to-facet property. Conditions for the property to hold are provided in [68]. The property is usually satisfied, however an example of 2 This is usually a fixed tolerance. To be exact, a simple mono-parametric QP should be partially solved over a line stemming out of the facet, to avoid missing narrow critical regions. A Survey on Explicit Model Predictive Control 355 non-degenerate mpQP where the facet-to-facet property does not hold is shown in [65], where the authors suggest to combine the algorithms of [68, 18] to overcome the issue. Once the optimizer function z∗ and X f are found, the explicit MPC controller is immediately obtained by saving the component u∗0 of z∗ . The regions where u∗0 (x) is the same can be combined, provided that their union is polyhedral [16]. An alternative approach was taken in [64], where the authors derive a closedform expression for the global, analytical solution to the MPC problem for linear, time-invariant, discrete-time models with a quadratic performance index and magnitude constraints on the input. The approach exploits the geometric properties of constrained MPC to obtain global analytic solutions which can be precomputed offline. A further approach to determine explicit MPC solutions was suggested independently in [42], based on the idea of approximating the constrained LQR problem. A reverse transformation procedure was introduced in [52] and later refined in [51] to solve the finite-horizon problem (3) with linear prediction model and quadratic costs using dynamic programming, by treating each stage of the dynamic programming recursion as a parametric piecewise quadratic programming problem. In [53, 55] also suggest reverse transformation to solve mpQP problems arising from MPC formulations. In particular in [55] the authors presented an algorithm based on dynamic programming, which explores all the possible solution conditions in such a way that the combinatorial explosion of enumeration of active sets is avoided. From a practical viewpoint, the approaches mostly used for solving explicit MPC based on mpQP are those of [68, 5]. Degeneracy in Multiparametric QP Definition 1. Given an active set A , the linear independence constraint qualification (LICQ) property is said to hold if the set of active constraint gradients are linearly independent, i.e., the associated matrix G̃ has full row rank. When LICQ is violated, we refer to as primal degeneracy. In this case the solution λ̃ ∗ (x) may not be uniquely defined (instead, z∗ (x) is always unique if H > 0). We refer to dual degeneracy if the dual problem of (24) is primal degenerate. In this case the solution z∗ (x) may not be unique, so clearly dual degeneracy can only happen if H ≥ 0, det H = 0. The absence of primal degeneracy ensures the following property of the value function V ∗ [6]: Theorem 2. Assume that the multiparametric QP (24) is not primal degenerate. Then the value function V ∗ is of class C 1 . In [18] the authors suggest two ways to handle primal degeneracy. The first one is to compute a QR decomposition of G̃, recognize whether the associated critical region is full-dimensional, and in this case project away the Lagrange multipliers to get the critical region. The second way consists simply of collecting ℓ linearly independent constraints arbitrarily chosen, and proceed with the new reduced set, therefore avoiding the computation of projections. Due to the recursive nature of 356 A. Alessio and A. Bemporad the algorithm, the remaining other possible subsets of combinations of constraints leading to full-dimensional critical regions will be automatically explored later. A different approach is suggested in [70] for extending the algorithm of [68] to handle both primal and dual degeneracy. In [43] the authors propose an algorithm for solving multiparametric linear complementarity (mpLC) problems defined by positive semidefinite matrices. The approach is rather elegant, as it covers in a unified way both (degenerate) mpQP and the multiparametric LP case, which is described in the next Section 2.3. 2.3 Multiparametric Linear Programming By treating x(t) as the vector of parameters, the linear MPC formulation of Section 1.2 can be treated as the multiparametric LP (mpLP) L P(x) : min c′ z z s.t. Gz ≤ W + Sx, (30a) (30b) where z ∈ Rℓ is the optimization vector, x ∈ X ⊂ Rn is the vector of parameters, c, G, W , S are suitable constant matrices and X is the set of parameters of interest defined in (20). The following result is proved in [29]. Theorem 3. Consider the mpLP problem (30). Then, the set X f is a convex polyhedral set, there exists an optimizer function z∗ : Rn → Rl which is a continuous and piecewise affine function of x, and the value function V ∗ : Rn → R is a continuous, convex, and piecewise affine function of x. The first methods for solving parametric linear programs appeared in 1952 in the master thesis published in [58], and independently in [32]. Since then, extensive research has been devoted to sensitivity and (multi)parametric analysis, see the references in [29] and also [30] for advances in the field. Gal and Nedoma provided the first method for solving multiparametric linear programs in 1972 [31]. Subsequently, until the beginning of the new millennium only a few authors [29, 28, 62] have dealt with multiparametric linear programming solvers. Subsequently, a renewed interest has arisen, mainly pushed by the application of mpLP in explicit MPC. For a recent survey on multiparametric linear programming the reader is referred to [44]. The KKT conditions related to the mpLP (30) are Gz ≤ W + Sx, (31a) ′ (31b) G λ = c, λ ≥ 0, (Gi z − Wi − Six)λi = 0, ∀i. (31c) (31d) For a given fixed parameter x0 ∈ X, by solving L P(x0 ) one finds a solution z∗0 , λ0∗ and defines an optimal set of active constraints A (x0 ). By forming submatrices G̃, W̃ , S̃ of active constraints and Ĝ, Ŵ , Ŝ of inactive constraints, as in the mpQP case, and by assuming G̃ square and full rank, one gets that A Survey on Explicit Model Predictive Control z∗ (x) = (G̃−1 S̃)x + (G̃−1W̃ ), 357 (32) is an affine function of x, λ ∗ (x) ≡ λ ∗ (x0 ) is constant, and the value function V ∗ (x) = (W + Sx)′λ ∗ (x0 ), (33) is also affine. Eqs. (32)–(33) provide the solution to (30) for all x ∈ X such that Ĝ((G̃−1 S̃)x + (G̃−1W̃ )) < Ŵ + Ŝx, (34) which defines the polyhedral critical region CRA0 of all x for which the chosen combination of active constraints A (x0 ) is the optimal one. In [31] a critical region is defined as the set of all parameters x for which a certain basis is optimal for problem (30). The algorithm proposed in [31] for solving mpLPs generates non-overlapping critical regions by generating and exploring the graph of bases. In the graph of bases, the nodes represent optimal bases of the given multiparametric problem and two nodes are connected by an edge if it is possible to pass from one basis to another by one pivot step (in this case, the bases are called neighbors). In [22] the authors proposed a geometric algorithm based on the direct exploration of the parameter space as in [18]. The definition of critical regions in [22] is not associated with the bases but with the set of active constraints and is related directly to the definition given in [28, 2]. The approach of [5] is also easily applicable to solve multiparametric linear programs. The facet-to-facet property however is not always guaranteed to hold also in mpLP problems. Conditions for ensuring that the property holds are reported in [46] and depend on degeneracy situations. Degeneracy in Multiparametric LP An LP problem (30) is said to be primal degenerate for some x ∈ X if there exists a z ∗ (x) ∈ Z ∗ (x) such that the number of active constraints at the optimizer larger than the number ℓ of optimization variables. In this case more than one basis describes the optimal primal solution. Dual degeneracy occurs when the dual problem of (30) is primal degenerate. In this case more than one primal solution z∗ (x) is optimal. Dual degeneracy is undesired in linear MPC formulations based on linear costs as, depending on the on-line LP solver used, the solution may chatter from one optimizer to another, with consequent stress of the actuators without a real performance benefit. Ways to handle degeneracy in mpLP are reported in [22] and in [46]. 2.4 Explicit Solution of Min-Max MPC In [13] the authors proposed an approach based on a combination of multiparametric linear programming and dynamic programming to obtain solutions to constrained robust optimal control problems in state feedback form. In particular, the solution 358 A. Alessio and A. Bemporad of closed-loop constrained robust optimal control problems is a piecewise affine function of the state, obtained by solving N mpLPs, while the solution z∗ to openloop constrained robust optimal control problems with parametric uncertainties in the B matrix only can be found by solving an mpLP. A different approach was taken in [47] to solve the CL-CROC formulation of [63] through a single (but larger) mpLP. For explicit MPC based on linear parameter-varying (LPV) models one could in principle embed the problem into the robust min-max formulation of [13, 47]. However, this would unavoidably lead to a loss of performance. The ability to measure the parameter information is exploited in [19] to derive an explicit LPV-MPC approach also based on dynamic programming and mpLP. For min-max problems based on quadratic costs, the solution was proved to be piecewise affine in [61], where the authors also showed that the critical regions were defined not only by a set of active constraints, but also by a set of active vertices. In [56] the problem was reformulated as a single mpQP. 2.5 Explicit Solution of Hybrid MPC As detailed in [11], the MPC formulation based on ∞- or 1-norms subject to the MLD dynamics (17) can be solved explicitly by treating the optimization problem associated with MPC as a multiparametric mixed integer linear programming (mpMILP) problem. An algorithm for solving mpMILPs was proposed in [1], based on a branch and bound procedure in which an mpLP problem is solved at each node of the tree. In [27] an alternative algorithm was proposed, which only solves mpLPs where the integer variables are fixed to the optimal value determined by an MILP, instead of solving mpLP problems with relaxed integer variables. More in detail, the mpMILP problem is alternatively decomposed into an mpLP and an MILP subproblem. It is easy to show that the explicit hybrid MPC controller has the form (21), but the control law u(x) may be discontinuous across neighboring polyhedra [20]. It turns out that mpMILP is not very efficient in practice for solving hybrid MPC problems based on linear costs explicitly. In addition, good algorithms for multiparametric mixed integer quadratic programming (mpMIQP) problems for dealing with quadratic costs have not yet been proposed in the literature. Better ways to handle hybrid MPC problems explicitly in the case of linear and quadratic costs use piecewise affine (PWA) hybrid models. PWA models are defined by partitioning the space of states and inputs into polyhedral regions and associating with each region a different linear state-update equation   x f (xk , uk ) = Ai xk + Bi uk + fi if k ∈ Xi , (35) uk where {Xi }si=1 is a polyhedral partition of the state+input set. Hybrid systems of the form (35) can be obtained for instance by converting HYSDEL/MLD models using the method of [8] or [34]. A Survey on Explicit Model Predictive Control 359 In [20] the authors propose an algorithm for computing the solution to problem (3) with linear or quadratic costs and PWA models. The procedure is based on dynamic programming (DP) iterations. Multiparametric QPs are solved at each iteration, and quadratic value functions are compared to possibly eliminate regions that are proved to never be optimal. In typical situations the total number of solved mpQPs (as well as of generated polyhedral regions) grows exponentially with the prediction horizon N, and may suffer the drawback of an excessive partitioning of the state space. Nonetheless, the approach is preferable to gridding approaches usually employed to solve DP problems, especially in the case of nontrivial state-space dimensions. A different approach was proposed in [52, 53], where the authors propose a reverse transformation procedure to enumerate all possible switching sequences, and for each sequence convert the PWA dynamics into a time-varying system and solve an optimal control problem explicitly via mpQP. In [3] the authors propose a related approach that exploits dynamic programming ideas (more precisely, backwards reachability analysis) to obtain all the feasible mode sequences (therefore avoiding an explicit enumeration of all of them), and that, after solving an mpQP for each sequence, post-processes the resulting polyhedral partitions to eliminate all the regions (and their associated control gains) that never provide the lowest cost, using a DC (Difference of Convex functions) algorithm. A similar algorithm is also used for explicit hybrid MPC based linear costs in the Hybrid Toolbox for Matlab [9]. The partition associated with the fully explicit optimal solution to problem (3) in the hybrid system case may not be polyhedral [20]. In this case, most explicit hybrid MPC algorithms for quadratic costs keep possible overlapping critical regions (generated by different mpQPs) and also store either the value function V ∗ or the full optimizer z∗ , so that the optimal MPC move can be determined on-line by comparing the optimal values of all regions (in most cases just one, or a only a few) where x(t) belongs. Finally, we mention that for the special class of hybrid models given by linear systems with quantized inputs u(t) problem (4) maps into a multiparametric nonlinear integer programming problem, for which a solution algorithm was provided in [7]. 3 Reducing Complexity of Explicit MPC The complexity of the piecewise affine explicit MPC law can be easily assessed after the MPC optimization problem is pre-solved off-line via the multiparametric techniques described in the previous sections. For a fixed number of parameters (states and reference signals), the complexity of the solution is given by the number M of regions that form the explicit solution (21). The number M mainly depends (exponentially, in the worst case) on the number q of constraints (and also of binary variables/system modes in the hybrid case) included in the MPC problem formulation (3), and only mildly on the number n of states. It also depends on the number ℓ of optimization variables, but mainly because q depends on ℓ (consider for instance 360 A. Alessio and A. Bemporad input constraints). In [10, Table I], a table shows such dependencies on random linear MPC problems. In the multiparametric QP case, an upper-bound to M is 2q , which is the number of all possible combination of active constraints at optimality. At the price of a possible loss of closed-loop performance, one way of reducing complexity is to shorten the prediction horizons (and/or blocking input moves [67]) in order to decrease q and ℓ. In practice, explicit MPC is limited to relatively small problems (typically one/two inputs, up to five-ten states, up to three/four free control moves) but allows one to reach very high sampling frequencies (up to 1 MHz) and requires a very simple control code to be embedded in the system. To address such limitations, several attempts have been made in different directions. Starting with a given piecewise affine solution, in [33] the authors provide an approach to reduce the number of partitions by optimally merging regions where the affine gain is the same, so that the original solution is maintained but equivalently expressed with a minimal number of partitions. However, techniques for achieving a more drastic reduction of complexity require changing the solution, by accepting a certain level of suboptimality with respect to the original problem formulation (3). Suboptimal mpQP solutions were proposed in [14] by relaxing the KKT conditions, such as nonnegativity of optimal dual variables. For explicit MPC controllers based on linear costs, a quite efficient “beneath/beyond” approximate mpLP algorithm has been proposed in [44]. In [40, 39] the authors propose recursive rectangular partitions of the parameter space to determine a suboptimal solution to general classes of multiparametric programming problems. Simplicial recursive partitions are instead proposed in [15] for general classes of nonlinear multiparametric programs that are jointly convex with respect to optimization variables and parameters, used in [57] for solving robust MPC formulations explicitly in approximate form. Rather than looking directly at the multiparametric programming problem, in [36] the authors propose to change the MPC formulation by recursively solving a sequence of simpler explicit MPC problems with horizon N = 1, where the terminal set XN is varied at each iteration and obtained from the previous iteration. A related approach is given in [35] for PWA systems, which leads to minimum-time controllers. Based on a dynamic programming formulation of the finite-horizon optimal control problem, in [49] the authors propose an approach to relax optimality within a prescribed bound in favor of the reduced complexity of the solution, which in the case of linear systems and piecewise affine convex costs leads to another form of computing approximate mpLP solutions. In the hybrid case, suboptimal solutions can be simply obtained by constraining the sequence of switching modes a priori, like for example has been proposed in [37], and then applying any of the solution methods proposed in Section 2.5. More recently, authors have realized that a different way of obtaining suboptimal explicit MPC solutions is to avoid storing a full partition, by keeping only a subset of critical regions. For treating large MPC problems, in [59] the authors suggest the partial enumeration of the possible combinations of active constraints at optimality, so that the solution can be searched on line (explicitly or implicitly) within that small subset. An off-line training session of simulations is suggested to identify the subset of most important combinations of active constraints. In [26], the authors also A Survey on Explicit Model Predictive Control 361 suggest to remove combinations of active constraints repeatedly, as long as closedloop stability of the suboptimal solution is preserved. The drawback of the approach is that it need to start from the full exact solution, which may be very expensive to compute. A different novel approach which has analogies with both [59] and [26] is described below. 3.1 A Novel Practical Approach for Reducing Complexity of Explicit MPC Under the assumption that only input constraints and soft state constraints can be enforced, given a maximum number L of regions accepted in the suboptimal solution, the proposed approach can be summarized as follows: Off-line computations 1. Run extensive simulations of closed-loop MPC (using on-line QP evaluations) from several initial conditions and for several references and disturbances, as in [59]. Collect the L most recurrent combinations of active constraints I1 , I2 , . . ., IL at optimality. Alternatively, if a full explicit solution is available, pick up the L regions with largest Chebychev radius. 2. Generate the corresponding critical regions CR1 , CR2 , . . ., CRL , where CRi = {x : Hi x ≤ Ki }. On-line computations Let x = x(t) be the current state (or, more generally, the current parameter vector including also r(t), u(t − 1), v(t), γ (t)). j j 1. Compute βi (x) = max j {Hi x − Ki }, that is the maximum violation of a facet inequality3, for all regions j = 1, . . . , L; 2. Let h ∈ {1, . . . , L} such that βh (x) = mini=1,...,L βi (x); 3. If βh (x) ≤ 0, then x ∈ CRh and u(x) = Fh x + gh; stop; 4. Otherwise all βi (x) > 0, and either compute the average ū(x) =  1 ∑ βi (x) i=1,...,L −1 1 (Fi x + gi) β i=1,...,L i (x) ∑ (36a) or extrapolate the solution from the critical region CRh corresponding to the least violation βh (x) ū(x) = Fh x + gh (36b) 3 Alternatively, one can compute the largest distance of x from a violated facet half-space H j x−Kij βi (x) = max j {  i Hij (Hij )′ }. 362 A. Alessio and A. Bemporad 5. Create a suboptimal input move by saturating u(x) = sat ū(x), where sat is a suitable saturation function (for instance, the standard saturation function in case U is the box {u ∈ Rm : umin ≤ u ≤ umax } and X = Rn ). Note that the procedure is very general, as it can be applied to any of the MPC formulations described in Section 1, and in particular to linear and hybrid MPC with linear or quadratic costs4 . While stability properties of the suboptimal solution can only be checked a posteriori, contrary to [59] the number of regions is bounded a priori, and off-line computations are much simpler, as numerical manipulations over the exact full partition are not required. Note that for a given reduced partition and a set X of parameters of interest as defined in (20), the largest minimal violation βmax = maxx∈X βh (x) can be computed by solving the mixed-integer linear programming problem βmax = maxx,ε ,{δ j } ε i j j j [δi = 1] ↔ [Hi x ≤ Ki + 1ε ], ∀ j = 1, . . . , ni , ∀i = 1, . . . , L ni δij ≤ ni − 1 ∑ j=1 δi ∈ {0, 1}ni , ∀i = 1, . . . , L S1 x ≤ S2 (37) where ni = dim(Ki ) is the number of inequalities defining the ith critical region, superscript j denotes the jth row or component, and 1 is a vector of all ones. Note that, as the aim is to have L very small, the number ∑Li=1 ni of binary variables in the MILP (37) is also small. The quantity βmax can be used as a tuning parameter to decide the number L of regions to include in the suboptimal explicit MPC controller. s.t. An Example Consider the double integrator example described in [18, Example 7.3] with N = Nu = 8, but with the different sampling time Ts = 0.1. The exact explicit solution, computed in about 3 s on a Laptop PC Intel Core Duo 1.2 GHz using the Hybrid Toolbox for Matlab [9], consists of M = 99 regions and is depicted in Figure 1(a), The solution with L = 3 regions reported in Figure 1(b), corresponds to ε = 1.4661 in (37) and leads to the closed loop trajectories of Figure 1(c), obtained by averaging as in (36a). For the hybrid explicit MPC controller described in [23, Figure 6b], which consists of 671 regions, experiments have shown that, after simulation training, the suboptimal approach described above with L = 60 regions leads to almost indistinguishable closed-loop MPC trajectories. 4 In case of hybrid MPC based on quadratic costs, polyhedral critical regions may be overlapping. In this case, the explicit form of the cost function V (x) on those regions must be also taken into account, in order to define a value for ū(x) that penalizes both a large β (x) and a large cost V (x). A Survey on Explicit Model Predictive Control (a) Exact explicit MPC controller 363 (b) Reduced partition and exact (♦) vs. suboptimal (∗) closedloop state trajectories States Command input 3 1.5 1 2 0.5 1 0 0 −0.5 −1 −1 −2 −1.5 0 2 4 6 8 10 0 2 4 6 8 10 (c) Exact (solid) vs. suboptimal (dashed) closed-loop trajectories Fig. 1 Exact and suboptimal explicit MPC controller (L = 3) 4 Implementation of Explicit MPC The explicit MPC solution (21) pre-computed off-line is a lookup table of linear feedback gains. The right gain is selected on-line by finding the region {x : Hi x ≤ ki } of the polyhedral partition where the current state x(t) (or, more generally, the current vector of parameters) lies. This problem has been referred to as point-location problem. The most simple solution is to store all the M polyhedra of the partition and on-line search through them until the right one is found. While this procedure is extremely easy to implement in a computer code, more efficient ways have been proposed for evaluating explicit MPC controllers, which become appealing when the number M of regions is large. By exploiting the properties of multiparametric linear and quadratic solutions, in [6] two new algorithms are proposed that avoid storing the polyhedral regions, significantly reducing the on-line storage demands and computational complexity of the evaluation of control. In [69] the authors suggest to organize the hyperplanes defining the regions on a binary search tree (possibly further subdividing some of the regions), so that the time to locate the state vector on-line within the partition becomes logarithmic in the number of stored cells and memory space is saved. For the multiparametric linear case, another method is given in [45], where additively weighted nearest neighbour search ideas are used to solve the point location problem logarithmically in the number N of regions. Assuming that a bound between the evolution of the real process and the prediction model is known, in [66] the authors 364 A. Alessio and A. Bemporad suggest to limit the point location problem only to those regions that are reachable in one time step from the currently active one. In [25] the authors propose a search tree algorithm based on bounding boxes and interval trees. A subdivision walking method is proposed in [72]. From the hardware synthesis viewpoint, [41] showed that explicit MPC solutions can be implemented in an application specific integrated circuit (ASIC) with about 20, 000 gates, leading to computation times in order of 1 µ s. Whether the explicit form (21) is preferable to the one based on on-line optimization depends on available CPU time, data memory, and program memory (see e.g. [10, Table II] for a comparison in the linear quadratic case). 5 Tools for Explicit MPC The Hybrid Toolbox for Matlab [9] allows one to design explicit MPC control laws for linear and hybrid systems. Various functions for the design, visualization, simulation, and C-code generation of explicit MPC controllers are provided. Similar and other functionalities can be found in the Multi Parametric Toolbox for Matlab [48]. 6 Explicit MPC in Applications Industrial problems addressed through explicit MPC techniques have been reported in dozens of technical papers, starting from what is probably the first work in this domain [21]. The most suitable applications for explicit MPC are fast-sampling problems (in the order of 1-50 ms) and relatively small size (1-2 manipulated inputs, 5-10 parameters). Most of the applications of explicit MPC have been reported in the automotive domain and electrical power converters. 7 Conclusions At the time of writing this survey, exact explicit characterizations of MPC for linear and hybrid systems have been quite well studied. Efficient algorithms exist to compute solutions to multiparametric linear and quadratic programming problems and explicit control laws, and Matlab toolboxes are available to let control engineers apply these ideas in practical applications. Nonetheless, the field is far from being mature. The clear limitation of exact explicit MPC solutions is that the number of regions composing the solution grows massively with the size of the problem (mainly with the number of constraints in the MPC problem). Future research efforts should therefore pursue three main directions. First, new suboptimal methods that allow trading off between loss of closed-loop performance and number of partitions are needed; the whole concept of looking for optimal openloop performance is actually weak, as the MPC cost function is usually chosen by trial and error. Second, PWA solutions are not necessarily the best way to define suboptimal MPC laws, other piecewise-nonlinear ways of defining the solution may A Survey on Explicit Model Predictive Control 365 lead to more compact representations; in this respect, links to nonlinear approximation approaches could be sought to approximate samples of the MPC control profile computed through (4) within guaranteed error bounds. Third, semi-explicit methods should be also sought, in order to pre-process of line as much as possible of the MPC optimization problem without characterizing all possible optimization outcomes, but rather leaving some optimization operations on-line. Acknowledgements. The authors thank Gabriele Pannocchia, Ilya Kolmanovsky, Davor Hrovat, and Stefano Di Cairano for discussing the ideas related to the novel practical approach for reducing complexity of explicit MPC described in this paper, and David Muñoz de la Peña, David Q. Mayne, and Ilya Kolmanovsky for suggesting improvements on the original manuscript. References 1. Acevedo, J., Pistikopoulos, E.N.: A multiparametric programming approach for linear process engineering problems under uncertainty. Ind. Eng. Chem. Res. 36, 717–728 (1997) 2. Adler, I., Monteiro, R.D.C.: A geometric view of parametric linear programming. Algorithmica 8(2), 161–176 (1992) 3. Alessio, A., Bemporad, A.: Feasible mode enumeration and cost comparison for explicit quadratic model predictive control of hybrid systems. In: 2nd IFAC Conference on Analysis and Design of Hybrid Systems, Alghero, Italy, pp. 302–308 (2006) 4. Allwright, J.C., Papavasiliou, G.C.: On linear programming and robust model-predictive control using impulse-responses. Systems & Control Letters 18, 159–164 (1992) 5. Baotić, M.: An efficient algorithm for multi-parametric quadratic programming. Technical Report AUT02-05, Automatic Control Institute, ETH, Zurich, Switzerland (2002) 6. Baotić, M., Borrelli, F., Bemporad, A., Morari, M.: Efficient on-line computation of constrained optimal control. SIAM Journal on Control and Optimization 47(5), 2470–2489 (2008) 7. Bemporad, A.: Multiparametric nonlinear integer programming and explicit quantized optimal control. In: Proc. 42nd IEEE Conf. on Decision and Control, Maui, Hawaii, USA, pp. 3167–3172 (2003) 8. Bemporad, A.: Efficient conversion of mixed logical dynamical systems into an equivalent piecewise affine form. IEEE Trans. Automatic Control 49(5), 832–838 (2004) 9. Bemporad, A.: Hybrid Toolbox – User’s Guide (January 2004), http://www.dii.unisi.it/hybrid/toolbox 10. Bemporad, A.: Model-based predictive control design: New trends and tools. In: Proc. 45th IEEE Conf. on Decision and Control, San Diego, CA, pp. 6678–6683 (2006) 11. Bemporad, A., Borrelli, F., Morari, M.: Piecewise linear optimal controllers for hybrid systems. In: American Control Conference, Chicago, IL, pp. 1190–1194 (June 2000) 12. Bemporad, A., Borrelli, F., Morari, M.: Model predictive control based on linear programming — The explicit solution. IEEE Trans. Automatic Control 47(12), 1974–1985 (2002) 13. Bemporad, A., Borrelli, F., Morari, M.: Min-max control of constrained uncertain discrete-time linear systems. IEEE Trans. Automatic Control 48(9), 1600–1606 (2003) 366 A. Alessio and A. Bemporad 14. Bemporad, A., Filippi, C.: Suboptimal explicit receding horizon control via approximate multiparametric quadratic programming. Journal of Optimization Theory and Applications 117(1), 9–38 (2003) 15. Bemporad, A., Filippi, C.: An algorithm for approximate multiparametric convex programming. Computational Optimization and Applications 35(1), 87–108 (2006) 16. Bemporad, A., Fukuda, K., Torrisi, F.D.: Convexity recognition of the union of polyhedra. Computational Geometry: Theory and Applications 18, 141–154 (2001) 17. Bemporad, A., Morari, M.: Control of systems integrating logic, dynamics, and constraints. Automatica 35(3), 407–427 (1999) 18. Bemporad, A., Morari, M., Dua, V., Pistikopoulos, E.N.: The explicit linear quadratic regulator for constrained systems. Automatica 38(1), 3–20 (2002) 19. Besselmann, T., Löfberg, J., Morari, M.: Explicit model predictive control for systems with linear parameter-varying state transition matrix. In: Proc. 17th IFAC World Congress, Seoul, Corea (2008) 20. Borrelli, F., Baotić, M., Bemporad, A., Morari, M.: Dynamic programming for constrained optimal control of discrete-time linear hybrid systems. Automatica 41(10), 1709–1721 (2005) 21. Borrelli, F., Bemporad, A., Fodor, M., Hrovat, D.: A hybrid approach to traction control. In: Di Benedetto, M.D., Sangiovanni-Vincentelli, A.L. (eds.) HSCC 2001. LNCS, vol. 2034, pp. 162–174. Springer, Heidelberg (2001) 22. Borrelli, F., Bemporad, A., Morari, M.: A geometric algorithm for multi-parametric linear programming. Journal of Optimization Theory and Applications 118(3), 515–540 (2003) 23. Di Cairano, S., Bemporad, A., Kolmanovsky, I., Hrovat, D.: Model predictive control of magnetically actuated mass spring dampers for automotive applications. International Journal of Control 80(11), 1701–1716 (2007) 24. Campo, P.J., Morari, M.: Robust model predictive control. In: American Control Conference, vol. 2, pp. 1021–1026 (1987) 25. Christophersen, F.J., Kvasnica, M., Jones, C.N., Morari, M.: Efficient evaluation of piecewise control laws defined over a large number of polyhedra. In: Proc. European Control Conf., Kos, Greece, pp. 2360–2367 (2007) 26. Christophersen, F.J., Zeilinger, M.N., Jones, C.N., Morari, M.: Controller complexity reduction for piecewise affine systems through safe region elimination. In: IEEE Conference on Decision and Control, New Orleans, LA, pp. 4773–4778 (2007) 27. Dua, V., Pistikopoulos, E.N.: An algorithm for the solution of multiparametric mixed integer linear programming problems. Annals of Operations Research 1, 123–139 (2000) 28. Filippi, C.: On the geometry of optimal partition sets in multiparametric linear programming. Technical Report 12, Department of Pure and Applied Mathematics, University of Padova, Italy (June 1997) 29. Gal, T.: Postoptimal Analyses, Parametric Programming, and Related Topics, 2nd edn. de Gruyter, Berlin (1995) 30. Gal, T., Greenberg, H.J. (eds.): Advances in Sensitivity Analysis and Parametric Programming. International Series in Operations Research & Management Science, vol. 6. Kluwer Academic Publishers, Dordrecht (1997) 31. Gal, T., Nedoma, J.: Multiparametric linear programming. Management Science 18, 406–442 (1972) 32. Gass, S.I., Saaty, T.L.: The computational algorithm for the parametric objective function. Naval Research Logistics Quarterly 2, 39–45 (1955) A Survey on Explicit Model Predictive Control 367 33. Geyer, T., Torrisi, F.D., Morari, M.: Optimal complexity reduction of polyhedral piecewise affine systems. Automatica 44, 1728–1740 (2008) 34. Geyer, T., Torrisi, F.D., Morari, M.: Efficient Mode Enumeration of Compositional Hybrid Models. In: Maler, O., Pnueli, A. (eds.) HSCC 2003. LNCS, vol. 2623, pp. 216–232. Springer, Heidelberg (2003) 35. Grieder, P., Kvasnica, M., Baotić, M., Morari, M.: Low complexity control of piecewise affine systems with stability guarantee. In: American Control Conference, Boston, MA (2004) 36. Grieder, P., Morari, M.: Complexity reduction of receding horizon control. In: Proc. 42th IEEE Conf. on Decision and Control, Maui, Hawaii, USA, pp. 3179–3184 (2003) 37. Ingimundarson, A., Ocampo-Martinez, C., Bemporad, A.: Model predictive control of hybrid systems based on mode-switching constraints. In: Proc. 46th IEEE Conf. on Decision and Control, New Orleans, LA, pp. 5265–5269 (2007) 38. Johansen, T.A.: On multi-parametric nonlinear programming and explicit nonlinear model predictive control. In: Proc. 41th IEEE Conf. on Decision and Control, Las Vegas, Nevada, USA, pp. 2768–2773 (December 2002) 39. Johansen, T.A.: Approximate explicit receding horizon control of constrained nonlinear systems. Automatica 40, 293–300 (2004) 40. Johansen, T.A., Grancharova, A.: Approximate explicit constrained linear model predictive control via orthogonal search tree. IEEE Trans. Automatic Control 58(5), 810–815 (2003) 41. Johansen, T.A., Jackson, W., Schrieber, R., Tøndel, P.: Hardware synthesis of explicit model predictive controllers. IEEE Trans. Contr. Systems Technology 15(1), 191–197 (2007) 42. Johansen, T.A., Petersen, I., Slupphaug, O.: On explicit suboptimal LQR with state and input constraints. In: Proc. 39th IEEE Conf. on Decision and Control, Sydney, Australia, pp. 662–667 (December 2000) 43. Jones, C., Morari, M.: Multiparametric linear complementarity problems. In: Proc. 45th IEEE Conf. on Decision and Control, San Diego, CA, pp. 5687–5692 (2006) 44. Jones, C.N., Baric, M., Morari, M.: Multiparametric linear programming with applications to control. European Journal of Control 13, 152–170 (2007) 45. Jones, C.N., Grieder, P., Raković, S.V.: A logarithmic-time solution to the point location problem for parametric linear programming. Automatica 42(12), 2215–2218 (2006) 46. Jones, C.N., Kerrigan, E.C., Maciejowski, J.M.: Lexicographic perturbation for multiparametric linear programming with applications to control. Automatica 43(10), 1808– 1816 (2007) 47. Kerrigan, E.C., Maciejowski, J.M.: Feedback min-max model predictive control using a single linear program: Robust stability and the explicit solution. Int. J. Robust Nonlinear Control 14(4), 395–413 (2004) 48. Kvasnica, M., Grieder, P., Baotić, M.: Multi Parametric Toolbox, MPT (2006), http://control.ee.ethz.ch/˜mpt/ 49. Lincoln, B., Rantzer, A.: Relaxing dynamic programming. IEEE Trans. Automatic Control 51(8), 1249–1260 (2006) 50. Mangasarian, O.L., Rosen, J.B.: Inequalities for stochastic nonlinear programming problems. Operations Research 12, 143–154 (1964) 51. Mayne, D.Q., Rakovı́c, S.V., Kerrigan, E.C.: Optimal control and piecewise parametric programming. In: Proc. European Control Conf., Kos, Greece, pp. 2762–2767 (2007) 368 A. Alessio and A. Bemporad 52. Mayne, D.Q.: Control of constrained dynamic systems. Technical Report EEE/C&P/DQM/9/2001, Imperial College, London, U.K. (September 2001) 53. Mayne, D.Q., Rakovic, S.: Optimal control of constrained piecewise affine discrete time systems using reverse transformation. In: Proc. 41th IEEE Conf. on Decision and Control, Las Vegas, Nevada, USA, pp. 1546–1551 (December 2002) 54. Mayne, D.Q., Rawlings, J.B., Rao, C.V., Scokaert, P.O.M.: Constrained model predictive control: Stability and optimality. Automatica 36(6), 789–814 (2000) 55. Muñoz de la Peña, D., Alamo, T., Bemporad, A., Camacho, E.F.: A dynamic programming approach for determining the explicit solution of MPC controllers. In: Proc. 43th IEEE Conf. on Decision and Control, Paradise Island, Bahamas, pp. 2479–2484 (2004) 56. Muñoz de la Peña, D., Alamo, T., Ramı́rez, D.R., Camacho, E.F.: Min-max model predictive control as a quadratic program. IET Control Theory & Applications 1(1), 328–333 (2007) 57. Muñoz de la Peña, D., Bemporad, A., Filippi, C.: Robust explicit MPC based on approximate multi-parametric convex programming. IEEE Trans. Automatic Control 51(8), 1399–1403 (2006) 58. Orchard-Hays, W.: Notes on linear programming (part 6): the Rand code for the simplex method (sx4). Technical Report 1440, Rand Corporation (1955) 59. Pannocchia, G., Rawlings, J.B., Wright, S.J.: Fast, large-scale model predictive control by partial enumeration. Automatica 43, 852–860 (2007) 60. Propoi, A.I.: Use of linear programming methods for synthesizing sampled-data automatic systems. Automation and Remote Control 24(7), 837–844 (1963) 61. Ramı́rez, D.R., Camacho, E.F.: Piecewise affinity of min-max mpc with bounded additive uncertainties and a quadratic criterion. Automatica 42(2), 295–302 (2006) 62. Schechter, M.: Polyhedral functions and multiparametric linear programming. Journal of Optimization Theory and Applications 53(2), 269–280 (1987) 63. Scokaert, P.O.M., Mayne, D.Q.: Min-max feedback model predictive control for constrained linear systems. IEEE Trans. Automatic Control 43(8), 1136–1142 (1998) 64. Seron, M.M., DeDoná, J.A., Goodwin, G.C.: Global analytical model predictive control with input constraints. In: Proc. 39th IEEE Conf. on Decision and Control, Sydney, Australia, pp. 154–159 (2000) 65. Spjøtvold, J., Kerrigan, E.C., Jones, C.N., Tøndel, P., Johansen, T.A.: On the facet-tofacet property of solutions to convex parametric quadratic programs. Automatica 42(12), 2209–2214 (2006) 66. Spjøtvold, J., Rakovic, S.V., Tøndel, P., Johansen, T.A.: Utilizing reachability analysis in point location problems. In: Proc. 45th IEEE Conf. on Decision and Control, San Diego, CA, pp. 4568–4569 (2006) 67. Tøndel, P., Johansen, T.A.: Complexity reduction in explicit linear model predictive control. In: Proc. 15th IFAC World Congress, Barcelona, Spain (2002) 68. Tøndel, P., Johansen, T.A., Bemporad, A.: An algorithm for multi-parametric quadratic programming and explicit MPC solutions. Automatica 39(3), 489–497 (2003) 69. Tøndel, P., Johansen, T.A., Bemporad, A.: Evaluation of piecewise affine control via binary search tree. Automatica 39(5), 945–950 (2003) 70. Tøndel, P., Johansen, T.A., Bemporad, A.: Further results on multiparametric quadratic programming. In: Proc. 42th IEEE Conf. on Decision and Control, Maui, Hawaii, USA, pp. 3173–3178 (2003) A Survey on Explicit Model Predictive Control 369 71. Torrisi, F.D., Bemporad, A.: HYSDEL — A tool for generating computational hybrid models. IEEE Trans. Contr. Systems Technology 12(2), 235–249 (2004) 72. Wang, Y., Jones, C.N., Maciejowski, J.: Efficient point location via subdivision walking with application to explicit MPC. In: Proc. European Control Conf., Kos, Greece, pp. 447–453 (2007) 73. Witsenhausen, H.S.: A min-max control problem for sampled linear systems. IEEE Trans. Automatic Control 13(1), 5–21 (1968) 74. Zafiriou, E.: Robust model predictive control of processes with hard constraints. Computers & Chemical Engineering 14(4/5), 359–371 (1990)