Feasibility for non-square linear MPC - University of Sheffield

2 downloads 0 Views 121KB Size Report
loop paradigm MPC and non-square techniques through an approach that is ..... but it can instead be incorporated into the dynamic optimisation stage, with a.
Feasibility for non-square linear MPC L.R.E. Shead, J.A Rossiter

Abstract— This paper investigates how the attributes of nonsquare systems affects feasibility in linear (MPC). Following on from the foundation set in [19], which formulated a transparent and simple approach to feasibility in linear MPC, this paper extends these ideas for application to non-square systems. Feasibility is maximised by allowing the dynamic optimisation to choose steady-state states and inputs that give offset-free tracking (as opposed to squaring the system beforehand), and prioritising appropriately between inputs and outputs when set-points are not achievable. A single stage MPC algorithm is presented, linking reference governor approaches, closedloop paradigm MPC and non-square techniques through an approach that is novel and has the strength of simplicity.

I. I NTRODUCTION In the design and implementation of a control system, one of the first steps in the process is to establish the plant variables that are to be manipulated, measured and controlled. Standard methods for selecting inputs/outputs have been reviewed comprehensively in [7]. A linear combination of the estimated/measured states are controlled; either to the origin in a regulation problem, or to time-varying signals in a tracking problem. 1 A. Non-square systems MIMO systems in general can be partitioned in to square and non-square exclusive subsets. Square systems are where the number of manipulated variables (MVs), (m) is equal to the number of controlled variables (p). Nonsquare systems are where m = p, and fall into two further exclusive subsets: • •

Fat, under-determined systems, where m > p; Thin, over-determined systems, where m < p.

B. Tracking of piece-wise constant reference signals The issue of tracking of piece-wise constant reference has recently gained attention in the literature ([6], [1], [10], but was not particularly focused on non-square systems. Here, the focus is non-square in particular. Tracking can also be regarded as a regulation problem if the set-point reference, state and input steady-state values are subtracted from the system model, which is an approach used in [16], [17]. The This work is funded by the EPSRC Department of Automatic Systems and Control Engineering, Mappin Street, University of Sheffield, S1 3JD, UK.

[email protected] 1 There seems to be some imprecise nomenclature on this point in the literature: MPC applications usually have piece-wise constant reference trajectories, which can be referred to as a ’tracking’ problem, even though through the use of deviation variables it can be made a regulation problem. This paper shall refer to the output following piecewise constant references with zero steady-state error as ’tracking’.

problem was considered in regard to maximising feasibility in [19] using a state-space framework, and assuming square(d) systems. Traditional approaches to tracking of non-square systems make use of a steady-state target optimiser, which determines feasible steady-state operating points at each time-step for piece-wise constant reference inputs ([14], [16], [17], [2], [13]). If the system is fat/under-determined, ideal inputs are selected by the steady-state target optimiser to give a unique solution. If overdetermined, the optimiser prioritises the outputs through either squaring down, weighted least squares, or making CVs zone or interval CVs (ICVs) [4]. However, if the system inequality constraints are included in this optimisation, the link between set-point and desired steady-states becomes non-linear. If application of the system inequality constraints are omitted in the target optimiser ([1], [10]), a pseudo-set-point can be used as a decision variable directly in the dynamic optimisation stage (where the system inequality constraints are applied) for maximising feasibility. The method described in [1], in particular, does not select ideal inputs, instead using the extra flexibility afforded by fat/under-determined systems for improving feasibility. Erratic input selection results, which is undesirable, and is therefore addressed in this paper. For thin systems, some industrial algorithms track the target set-point in a least-squares sense ([4]), using various methods for prioritising between outputs. Again if the steadystate target optimisation includes inequality constraints, then the relationship between set-point and steady-state values is non-linear. If the constraints are applied only in the dynamic optimisation then feasibility can be guaranteed, but if constraints are active then prioritising may not work. Prioritising outputs is another issue that this paper addresses. C. Linear Model Predictive Control (MPC) Because the prime interest of this paper is constraint handling, it is natural to assume a linear MPC structure. Most aspects of linear MPC are now fairly well understood [18]. Non-square systems are (by definition) multi-variable, making the choice of a state-space model framework appropriate. For a priori stability guarantees, a dual-mode approach is often assumed, which most authors agree is best implemented using the ’closed loop paradigm’ (CLP) approach ([5], [9], [18]) for good numerical conditioning. This consists of a stabilising controller (ideally optimal through the use of Linear Quadratic Regulator (LQR) methods) with perturbations superimposed to ensure membership of an invariant set. If the invariant set is the Maximal Controlled Admissible Set (MCAS), then membership implies satisfaction of transient

and terminal constraints. Two examples of the use of the CLP in the context of tracking are [10] and [19]. This paper aims to extend the scope of [19] to include the consideration of non-square systems. D. Summary In summary, non-square systems can either be thin or fat, affecting the method for choosing the steady-state operating point for good tracking properties. Recently research efforts have been made to combine target selection with the dynamic optimisation in linear MPC in order to maximise feasibility and make best use of the free variables normally associated fat systems. Section II summarises [19] by providing the mathematical foundation for square MPC in the state-space CLP framework. This is then reformulated for non-square systems in III. The main contribution of the paper is the proposition of a new algorithm (with the usual recursive feasibility and convergence proofs) which makes full use of free variables in the target calculation, primarily for feasibility but also for selecting ideal steady-state inputs where possible. Also addressed in III is prioritising output set-points over and above input set-points. The feasibility advantages of using the free variables usually associated with fat systems has not been fully explored in the literature. Section IV illustrates how feasible region is enlarged, compared with a priori selection of desired inputs. The effect of activation of system inequality constraints on prioritised set-point tracking is also investigated through illustration. Conclusions are made in section V. II. BACKGROUND A modern MPC tracking formulation was introduced in [19] that neatly combined invariant set ideas, reference governor approaches and the CLP, which is summarised in this section. Discrete (controllable and observable) state space models shall be assumed, of the form xk+1 = Axk + Buk ;

yk = Cxk + dk

(1)

where dk is a disturbance signal. Let the ‘predicted’ control law [11] be:  −K(xk − xs ) + ck k ∈ [0, nc−1 ] (uk − us ) = (2) −K(xk − xs ) k ≥ nc where ck are the d.o.f. (or control perturbations) available for constraint handling and u s , xs are the expected input/state generally required to give offset-free tracking in the steady state. As an alternative to deviation variables (i.e. letting vk = uk − us , wk = xk − xs and treating as a regulation problem) (2) can be re-parameterised in terms of r, d˜ (where d˜ is an estimate of d)2 :  −Kxk + Lr (rk − d˜k ) + ck , k ∈ [0, nc ] uk = (3) −Kxk + Lr (rk − d˜k ) k ≥ nc 2 Details of the observer or Kalman filter required to give a convergent estimate of dk are not discussed here: the reader is referred to [14], [15], [3].

This idea was introduced in [1] and explored further in [19]: combined with the use of invariant sets, the use of r as a degree of freedom is analogous to reference governor approaches. A variant of this method for non-square systems is discussed in detail in section III. The cost function to be minimised is as follows: ∞    rk − yk 2Q + uk − us 2R (4) J = λrk − rˆk 2 + k=0

where rˆk is the desired set-point and r k is the pseudo-setpoint. Assume that K is the optimal state feedback for J and define Φ = A − BK. Substituting (1,2) into (4) one can show [18], that minimising (4) w.r.t. c k is equivalent to minimising: J = λrk − rˆk 2 +

i−1  j=0

cj 2W = λrk − rˆk 2 +  c 2WD → − (5)

where − c = [cTk , ..., cTk+nc −1 ]T , WD =diag(W, ..., W ), → T W = B ΣB + R, Σ − ΦT ΣΦ = C T QC + K T RK, and λ is a weighting matrix that gives a way to trade performance for steady-state satisfaction. Prediction is required to ensure that the control law does not result in constraint violations in any future instant. The simultaneous satisfaction of equations (1, 3) over the relevant horizon, results in predictions taking the form: (6) x = Px xk + Pr (rk − wk ) + Pc c → − − → u = Qx xk + Qr (rk − wk ) + Qc c → − → − Details of the construction of P x , Pr , Pt , Pc , Qx , Qr , Qt , and Qc are standard (e.g. [18]. In general it is necessary to minimise the cost (5) subject to the predictions (6) meeting any system constraints. So, assume that the process is subject to constraints of the form 3 :  Au uk ≤ bu k = 1, . . . , ∞ (7) Ax xk ≤ bx Substituting from (6) into (7), satisfaction of the constraints, over a given horizon, is represented as a set membership test: Sc = {x : ∃ c s.t. Mx x + Mc c + Mr r + Mp p ≤ d} (8) → − → − In general [8], for large enough horizons, this set is the maximal controlled admissible set (MCAS) and thus implies satisfaction of both transient and terminal constraints, e.g. [18]. At each sampling instant, perform the optimisation: c ∗ , r∗ ) = min J Jc∗ (− → c ,r → −

s. t. (x, − c , r) ∈ Sc →

(9)

where (.)∗c denotes constrained optimality. Use r and the first block element of − c in control law (2). In summary, → 3 Output constraints can also be represented in this formulation by including C in Ax

building blocks have been given that set the context for development for non-square systems, which is performed in the next section. III. R EFORMULATION FOR NON - SQUARE SYSTEMS This main section discusses how the nominal MPC algorithm introduced in II can be adapted/improved for non-square systems. Two key lemmata and a feasibility/convergence theorem are presented, culminating in an algorithm that is applicable to square, thin and fat systems. The changes required turn out to be minor, thus retaining the conciseness and transparency of [19]. A. Steady-state target optimisation For unbiased predictions ([14]), x s , us can be estimated as follows ([1]):   ´ s + d˜ rˆ = Cx (10) xs = Axs + Bus      A−I B xs 0n×1 ˜ (ˆ r − d) (11) = us Ip C´ 0p×m

¯ F¯ E   xs ˜ +N ¯ (r − d) ¯ t¯ =M (12) us ¯ = null(E), ¯ t¯ ∈ Rnt¯, nt¯ = rank(N ¯ ) (13) ¯ = E¯ † F¯ , N M (X)† is the Moore-Penrose pseudo-inverse of X obtained from its singular value decomposition; C´ defines the CVs as linear combinations of the state vector, chosen in this case ¯,N ¯ can then be to make the system square/fat. Matrices M found which give mutually consistent x s , us that satisfy rˆ at steady-state in the absence of constraints for any free variable t¯. t¯ is a characteristic of an under-determined system: different values of t¯ are perturbations around the nominal x s , us that do not affect satisfaction of rˆ. The selection of r, t¯ can be deferred until the dynamic optimisation MPC stage such that subject to satisfying the MCAS, a feasible choice is made. Lemma 3.1: Choice of C´ resulting in a thin system would mean no particular solution to (11), and the least-squares solution (12) will violate both parts of (10). An alternative method was proposed in [14] that used two OPs: one for thin and one for fat systems. This was improved in [13] by use of a single QP that primarily chose steady-states x s , us to give ˜ and if there are sufficient degrees of freedom ys = rˆ − d, satisfying desired inputs u ˆ s also: ´ s )2 + ˆ r − d˜ − Cx us − us 2Rs (14) Js (xs , us ) = ˆ Qs  

 xs Js∗ (u∗s , x∗s ) = min Js s. t. (I − A) − B =0 xs ,us

us E

(15) The solution to the equality constraint in (15) is free variables in the null-space of E:     xs Nx = N t, N = null(E) = , t ∈ Rnt (16) us Nu

To prioritise output set-points over input set-points, the R s weighting matrix can be adjusted as described and proved in [13]: Rs = Rˆs Nu ααT NuT Rˆs ,

´ x) α = null(NxT C´ T CN (17)



Lemma 3.2: Re-parameterise (14) in terms of t:  T  C´ Qs C´ 0n,m T T Js (t) = t N (18) Nt 0m,n Rs

  S ˜   ´ s (ˆ r − d) CQ + terms = f (t) − 2tT N T Rs uˆ



Js∗ (t∗ )



a

= t − t S , t = S −1 a = min t − t∗ S t

(19) (20)

t and therefore x s , us are chosen such that CV set-point error is zero if possible, or minimised in a weighted least-squares fashion if not: if CV set-points are met, then MV set-point error is minimised in a weighted-least squares fashion. Use of weightings to prioritise outputs is a neat but approximate alternative method to the use of sequential OPs. The immediate solution for (18) is trivial, but it can instead be incorporated into the dynamic optimisation stage, with a new MCAS formed in terms of t, such that t ∈ MCAS. This will maximise the steady-state solution set available to the dynamic optimiser.

Remark 3.1: An alternative to weighted least-squares for thin systems is the use of zones or funnels ([12]). It was shown in [19] how constraints can depend upon r (or rˆ):  Au uk ≤ bu + bur rk k = 1, . . . , ∞ (21) Ax xk ≤ bx + bxr rk Use of the bxr term (or an equivalent b xˆr term) in particular would allow an intuitive and straightforward method of implementing ICVs, or funnels if b xr or bxˆr = f (k).

The new control law is as follows:  −Kxk + Lt tk + ck , k ∈ [0, nc ] (22) uk = k ≥ nc −Kxk + Lt tk , where:

Lt = KNx + Nu

Then, the predictions and MCAS take the form:  x = Px xk + Pt tk + Pc − c → − → u = Q x + Q t + Q c x k t k c− → − → Sc = {x : ∃(− c , t) s.t. Mx x + Mc − c + Mt t ≤ d} → →

(23) (24)

For simplicity, input disturbances have not been considered. An input disturbance model would require straightforward adjustments to (14-24) including the inclusion of a particular solution term in (16).

B. Proposed algorithm A new algorithm is proposed (considering controller phases outlined in [4]), that combines steady-state target optimisation and dynamic optimisation in a single QP that makes full use of the extra d.o.f. usually associated with fat systems to drive inputs to desired set-points, and gives the opportunity to prioritise outputs for thin systems: Algorithm 3.1: At each time-step: 1) Measure/estimate I/O values, I/O status, states and disturbances; ´ based on I/O status, ill2) Choose CVs (using C) conditioning, higher level control etc.; 4 ´ 3) Choose weighting matrices Rˆs and Qs based on C, ∗ giving Rs and t ; 4) Perform the constrained dynamic optimisation; 5) Output u k using (22). The dynamic optimisation (phase 4) comprises the following QP: c ∗ , r∗ ) = min J− c 2WD + λt − t∗ S Jc∗ (− → → c ,t → −

(25)

(26) s.t. (x, − c , t) ∈ Sc → Use the first block element of c , and tk in control law (22) 5 → − Theorem 3.1: This algorithm [18] has a guarantee of recursive feasibility and convergence for the nominal case, where dk is constant (assuming sensible limitations on d k ). ck =− c k|k−1 , Proof: It is obvious that if t k = tk|k−1 , − → → then (x, − c , t) ∈ S ⇒ (x, c , t) ∈ S , (which is a k−1 c k c → − → guarantee of recursive feasibility). If t is fixed, then as (25) has an infinite horizon (J − Js )∗k+1 = (J − Js )∗k − c∗k W ⇒ (J − Js )∗k+1 ≤ (J − Js )∗k . (J − Js )k+1 = (J − Js )k iff c∗k W = 0 (i.e. (J − Js ) is a Lyapunov function), and if c ∗k W = 0 continuously then ∗ Js → Jsc , t ⇒ t → t∗c

It is believed that current formulations do not combine constrained steady-state target optimisation and dynamic optimisation in such a transparent way, and so is a contribution in this area. C. Discussion It should be noted that there are n t + m decision variables corresponding to t k , and ck that all contribute to choosing m input values. A natural question is whether all of the free variables t are necessary in comparison with a corresponding increase in nc . Pre-selection of an element of t will restrict the steady-state operating region, but for constant computation time, could allow a longer control horizon for constraint handling. Feasible regions are a measure of the effect of the control horizon: in [19] it was demonstrated that use of the pseudo-set-point r as a d.o.f. gives a greater feasible region than increasing the control horizon n c . Fat systems allow nt > p, meaning more choice of d.o.f.. This choice is illustrated in section IV. 4 MV availability is assumed to be constant for the purposes of this paper, but this fault-tolerance issue is worthy of future investigation. 5 Note that a facility has not been incorporated in algorithm (3.1) to make use of future set-point changes.

Fig. 1. Comparison of the feasible regions for t a d.o.f., and t = 0 and nc = 1, 3, 5.

Another concern might be whether any conflict of interest in tk , and ck results in undesirable behaviour. Proof of convergence (theorem 3.1) indicates that the variables will come to some resting value, and the weight λ can be used to balance between convergence of t to tˆ and deviation from the unconstrained optimal trajectory. The ability of weightings to prioritise CVs and MVs adequately needs to be considered also. Sequential OPs are able to give tiers of priority within inputs and outputs, whereas the weighting method laid out in lemma (3.1) can only give an approximation to this (with large relative weightings). This issue is investigated in IV-C. IV. I LLUSTRATIONS A. Introduction This section aims to illustrate how algorithm 3.1 combines ideas from reference governors, CLP MPC and non-square steady-state target optimisation. Common MPC approaches focus on use of input perturbations − c , but this paper shows → advantages of using t, linearly related to x s , us as an alternative degree of freedom. Section IV-B shows enlargement of the feasible region through the use of the free variable t, and how this decision variable interacts with the other decision variable, ck . Section IV-C investigates how the proposed algorithm prioritises between outputs for a thin system. B. Fat example The first example is taken from [1], investigating the effect of the use of the free variable t on the feasible region:     1 1 0.5 0 A= , B= , C = [1 0] (27) 0 1 0 1.0 x∞ ≤ 5, u∞ ≤ 5, Q = 1, R = Im , λ, γ = 1

5

2

MCAS x , k=1

1.5

k

xk, k=25

x

MCAS xk, k=1

0.5

x2k

2k

1

k

xk, k=50

−0.5

−5 −5

−1 −1.5

Fig. 4.

−2 −5

0 x1k

5

t

k

Fig. 2. Phase plane showing feasible region, and a simulation for t a d.o.f. and nc = 2.

4

t

2

t

1 2

0 −2 −4 10

20

30

40

50

k 5 (−Kx)1

−K*x

k

(−Kx)2

0

−5 0

10

20

30

40

50

k 2

c

1k

c1k c2k

0

−2 0

10

20

30

40

50

k 5 y1

y

k

R 0

−5 0

10

20

30

40

0.4

u1

u

k

0.2

u2

0

Limits

−0.2 10

20

30

40

k

Fig. 3.

0 x1k

5

Phase plane with projected MCAS and state trajectory

This is a fat system with nt = 2. Contrasting the size of the feasible region for n c = 0 and making full use of t, as opposed to fixing x s , us as a desired value and increasing n gives insight into the potential of delaying selection of x s , us for increasing feasibility. It can be seen in figure 1 that the use of 2 d.o.f. in t is comparable to 10 d.o.f in n c in terms of the instantaneous sizes of the feasible regions, which is a reflection of the ability of the controller to handle sudden set-point and disturbance changes. ˆs = The desired input parameters for this example are: Q T ˆ = [0.3 0.3] , but equation (17) fixes R s such that Im , u only u1 is free to be varied in order to realise the desired inputs. The value of x 2s does not directly affect the output, and so results in a value of -0.15, consistent with u 2s = 0.3. This example illustrates how the desired steady-state inputs are achieved if possible, whilst retaining the flexibility of t to maximise feasibility. Simulation results are depicted in figure 2. C. Thin example This example illustrates how steady-state weighting matrices can be used to control tracking properties of a thin system. This example has the following changes to example IV-B: ⎡ ⎤ 1 0 C = ⎣ 0 1 ⎦ Q = diag([1 0 0]) u∞ ≤ 5 (28) 1 1 Q = diag([1 0]) Qs = diag([1 1000 1000])

50

k

−0.4 0

k

x , k=25

0

0

x , k=50 0

Simulation profiles for varying set-point: fat system

50

A simulation with a sequence of set-points at 2 and -4 are followed. The Q, R matrices are used to tune the controller for performance: dynamically, only the y 1 error is penalised. Qs is used to determine the priority of the steady-state outputs. Two output set-points can be closely tracked when the set-point is at 2, but at -4 one input becomes saturated: the resulting steady state is a least-squares compromise. The accuracy to which outputs are tracked is governed by the relative weightings, limited ultimately by numerical conditioning. A phase plane plot is depicted in figure 4, and simulation results are shown in 5.

k

t

4

t1

2

t

2

0 −2 −4 0

10

20

30

40

50

k 5 (−Kx)1

−K*x

k

(−Kx)2

0

−5 0

10

20

30

40

50

k 1 c

c

1k

1k

c2k

0

−1 0

10

20

30

40

50

k 5

y

k

y1 y2

0

y3

R EFERENCES

R −5 0

10

20

30

40

50

k u1

u

k

5

u2

0

Limits

−5 0

10

20

30

40

50

k

Fig. 5.

Illustrations have shown how the free variables increase the size of the feasible region compared with a priori selection of steady-state states/outputs. The preferences for steady-state inputs do not affect tracking for square or underdetermined systems, which is achieved using a weighted least-squares approach. Steady-state weighting matrices have been used to prioritise between outputs for thin or constrained steady states (instead of using dynamic weighting matrices for both performance tuning and steady-state selection). This prioritising is demonstrated for a thin system, which illustrates how tracking of CVs is shed in priority order as constraints are encountered. Only one quadratic program (with constraints) is therefore necessary at each time-step for determination of the input decision variables. It has been noted that there is potential for formulating zone and funnel CVs neatly through use of the mathematical format established in this paper. Further investigation will be made into the effect of ICVs on feasibility. It is also intended to apply non-square tracking techniques on more sophisticated examples to examine the issues associated with combining different types of ICVs.

Simulation profiles for varying set-point: thin system

V. C ONCLUSIONS AND FUTURE WORK This paper has brought together control ideas from reference governing, CLP MPC and non-square steady-state target optimisation to give a new method for dealing directly with non-square systems in linear MPC. Based on the approach laid out in [19], a new algorithm has been presented, novel in terms of transparency and exploration of non-square issues. Standard non-square techniques require a steady-state optimisation algorithm separate from the dynamic optimisation that results in a non-linear relationship between the set-point and steady-state states/inputs. An alternative method has been proposed in this paper that instead combines the steadystate and dynamic optimisations. An algorithm has been developed that makes use of free variables in the steady-state equations to maximise the feasible region whilst achieving input set-points if possible. Stability proofs have been applied using the usual Lyapunov arguments. A question is posed regarding the use of free variables in contrast to an equivalent increment in the control horizon, an area ripe for future investigative work.

[1] T. Alamo, I. Alvarado, E. Camacho, and D. Limon, “Mpc for tracking of piece-wise constant references for constrained linear systems,” in Proc. IFAC World Congress, 2005. [2] J. Babu and Y. Chao-Ming, “Performance and stability analysis of lp-mpc and qp-mpc cascade control systems,” AIChemE, 1999. [3] T. Badgwell and K. Muske, “Disturbance modelling for offset-free linear model predictive control,” pp. 617–632, 2002. [4] T. Badgwell and S. Qin, “A survey of industrial model predictive control technology,” Cont. Eng. Pract., vol. 11, pp. 733–764, 2003. [5] A. Bemporad, A. Casavola, and E. Mosca, “Non-linear control of constrained linear systems via predictive reference management,” in IEEE Trans AC, vol. 42, 1997, pp. 340–349. [6] Bryds and W. J, “Invariant set-based robust softly switched model predictive control,” in Proc. IFAC World Congress, 2005. [7] B. de Jager and M. Van de Wal, “A review of methods for input/output selection,” Automatica, vol. 37, pp. 487–510, 2001. [8] E. Gilbert and K. Tan, “Linear systems with state and control constraints: the theory and application of maximal output admissable sets,” in IEEE Trans AC, vol. 36, 1991, pp. 1008–1020. [9] J. Gossner, B. Kouvaritakis, and J. Rossiter, “Guaranteeing feasibility in constrained stable generalised predictive control,” in IEE Proc. Pt D - Cont. Theory. App., vol. 143, no. 5, Sep 1996, pp. 463–469. [10] E. Kerrigan and G. Pannocchia, “Offset-free receding horizon control of constrained linear systems,” AIChemE, vol. 51, no. 12, pp. 3134– 3146, 2005. [11] B. Kouvaritakis, M. Rice, and J. Rossiter, “A numerically robust statespace approach to stable predictive control strategies,” Automatica, vol. 34, pp. 65–73, 1998. [12] J. Maciejowski, Predictive control with constraints. Prentice Hall Int., 2002. [13] K. Muske, “Steady-state target optimization in linear model predictive control,” in Proc. ACC, vol. 6, Jun 1997, pp. 3597–3601. [14] K. Muske and J. Rawlings, “Model predictive control with linear models,” AIChemE, vol. 39, no. 2, pp. 262–287, 1993. [15] G. Pannocchia and J. Rawlings, “Disturbance models for offset-free model-predictive control,” AIChemE, 2003. [16] C. Rao and J. Rawlings, “Steady states and constraints in model predictive control,” in AIChemE, vol. 45, no. 6, 1999, pp. 1266–1278. [17] J. Rawlings, “Tutorial overview of model predictive control,” IEEE Cont. Sys. Mag., pp. 38–52, Jun 2000. [18] J. Rossiter, Model-Based Predictive Control, A Practical Approach. Prentice Hall Int., 2003. [19] ——, “A global approach to feasibility in linear mpc,” in Proc. UKACC Int. Conf., Aug 2006.