Asian Journal of Control, Vol. 16, No. 4, pp. 995–1005, July 2014 Published online 18 September 2013 in Wiley Online Library (wileyonlinelibrary.com) DOI: 10.1002/asjc.782
PREDICTION ERROR BASED PERFORMANCE MONITORING, DEGRADATION DIAGNOSIS AND REMEDIES IN OFFSET-FREE MPC: THEORY AND APPLICATIONS G. Pannocchia, A. De Luca, and M. Bottai ABSTRACT We present in this paper a control performance monitoring method for linear offset-free model predictive control (MPC) algorithms, in which the prediction error sequence is used to detect whether the internal model and the observer are correct or not. When the prediction error is a white noise signal, revealed by the Ljung-Box test, optimal performance is detected. Otherwise, we use a closed-loop subspace identification approach to reveal the order of a minimal realization of the system from the deterministic input to the prediction error. When such order is zero, we prove that the model is correct and the source of suboptimal performance is an incorrect observer. In such cases, we suggest an optimization method to recalculate the correct augmented state estimator. If, instead, such order is greater than zero we prove that the model is incorrect, and re-identification is suggested. A variant for (large-scale) block-structured systems is presented, in which diagnosis and corrections are performed separately in each block. Two examples of different complexity are presented to highlight effectiveness and scalability of the method. Key Words: Performance monitoring and diagnosis, model predictive control, statistical analysis, subspace identification, white noise.
I. INTRODUCTION A model of the controlled process is the heart of model predictive control (MPC) algorithms. The identification of such models (often linear) represents the most time/cost consuming phase of each MPC project [2,3]. At each decision time, the difference between the actual output variable measurements and the model predictions, referred to as the prediction error, is used to bias future model predictions, thus implementing a feedback control strategy. One of the goals typically required to MPC is offset-free control of (some or all) output variables, despite inevitable plant/model mismatch and unmeasured disturbances [2]. This goal can be achieved by augmenting the model with additional (fictitious) integrating states, usually called “disturbances”, whose current value is estimated along with the original states of the model [4,5]. The estimated disturbances are taken into account in the Manuscript received November 23, 2012; revised July 8, 2013; accepted July 15, 2013. G. Pannocchia is with the Department of Civil and Industrial Engineering, University of Pisa, 56122 Pisa, Italy (corresponding author, e-mail: g.pannocchia @diccism.unipi.it). A. De Luca is with solvay Specialty Polymers S.p.A, 15122 Spinetta Marengo (AL), Italy (e-mail:
[email protected]). M. Bottai is with Novachem S.r.l., 20099 Sesto San Giovanni (MI), Italy (e-mail:
[email protected]). Preliminary results of the research discussed in this paper were presented in [1]. This work was developed when A. De Luca and M. Bottai were with University of Pisa.
output predictions, and this procedure ensures offset-free tracking of the controlled variables under appropriate conditions [4–7]. The theory of linear and nonlinear MPC can be considered relatively mature in many aspects (such as stability, constraint handling, state estimation, offset-free tracking, etc.) [8], but many research directions are still unexplored and controversial. In particular, MPC performance monitoring represents a growing area both for fundamental research and for industrial implementations. The goal of control performance monitoring (CPM) systems is to ensure that the actual performances of the control system are (sufficiently) aligned with the specifications. The usual logical steps of CPM are [9]: • evaluation of potential performances; • development of statistics able to assess actual performances; • development of diagnosis methodologies to determine the causes of performance degradation. The method based on minimum variance control concepts proposed in [10] has originated a number of recent studies on CPM for industrial control loops. More recently, the enormous success of MPC opened new frontiers (and issues) in the field of CPM. In fact, while traditionally benchmarking has been purely “data-driven”, the availability of a process model as in MPC offered different opportunities. For
© 2013 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society
996
Asian Journal of Control, Vol. 16, No. 4, pp. 995–1005, Ju;ly 2014
instance, Patwardhan and Shah [11] compared the expected value of the MPC objective function against its actual value over a given time period. Schafer and Cinar [12] presented an integrated monitoring and diagnosis algorithm in which historical, actual and design (model-based) performances are compared. Loquasto and Seborg [13] proposed a principal component analysis (PCA) approach in which plant data are classified in different patterns, depending on the source of suboptimal performance. Argawal et al. [14] presented a probabilistic approach based on constraint analysis, and derived some tuning guidelines based on such considerations. A method based on data covariance analysis was proposed in [15], in which the statistics over the current dataset are compared against those obtained over a standard reference set. A statistical method is also developed in [16] with the aim of deriving simple and intuitive charts to assist plant operators. Several methods consider the prediction error as the primary variable to use for performance monitoring of MPC systems. Kesavan and Lee [17,18] proposed two diagnostic tests based on prediction error to detect performance degradation and to diagnose possible causes. Harrison and Qin [19] presented a method to discriminate the suboptimal performance type, between plant/model mismatch and incorrect Kalman filter tuning. They also used multi-parametric quadratic programming (mp-QP) analysis to draw maps of minimum variance performance for constrained control over the state-space partition [20]. A method to detect the precise location of plant/model mismatch (i.e. in which input/output models) was proposed in [21]. Recently, it was proposed in [22] to monitor a multi-step prediction error. The method proposed in this paper is also based on analysis of the prediction error, and it aims at identifying the presence of plant/model mismatch or incorrect disturbance modeling/augmented state estimation in offset-free MPC formulations. Specifically, our CPM method exploits the structure of the augmented model, and uses a closed-loop subspace identification approach to discriminate the different sources of suboptimal performance. It is worth noting that our method does not require either information about the noise statistics or about the correlation of the deterministic input with the states of the process. The rest of this paper is organized as follows. Preliminary definitions on the offset-free MPC model are reviewed in Section I. In Section III we derive the main theoretical foundations of the proposed CPM strategy, while the specific implementation aspects are discussed in Section IV. We present applicative examples in Section V, and we summarize the main achievements in Section VI. Notation. Given a discrete-time dynamical system, if x ∈ Rn is the state at a given time, x+ denotes the state at the successive time. 0 and I denote, respectively, the zero and identity matrices of suitable dimensions, the superscript ′ represents the transpose operator. u ( z ) indicates the Z-transform of a
given discrete-time signal u(·). E(·) denotes the expected value of a random variable. Given a positive (semi-) definite matrix R, we define x 2R x ′Rx . diag {Ai} denotes a block diagonal matrix with block elements {Ai}.
II. PRELIMINARY DEFINITIONS 2.1 Offset-free MPC model and estimator Given a strictly causal linear discrete time-invariant system in state-space form
ˆ ˆ + Bu ˆ , xˆ + = Ax
ˆ ˆ, yˆ = Cx
usually obtained from data by identification techniques, we consider a general form of augmented system used for offset-free MPC design (see e.g. [4–6]): + ⎡ xˆ ⎤ ⎡ Aˆ Bˆ d ⎤ ⎡ xˆ ⎤ ⎡ Bˆ ⎤ ⎢ ˆ⎥ = ⎢ ⎥⎢ ⎥ + ⎢ ⎥u ⎣ 0 I ⎦ ⎣ dˆ ⎦ ⎣ 0 ⎦ ⎣d ⎦
(1a)
⎡ xˆ ⎤ yˆ = ⎡⎣Cˆ Cˆ d ⎤⎦ ⎢ ⎥ , ⎣ dˆ ⎦
(1b)
in which xˆ ∈ nˆ is the system state, dˆ ∈ nˆd is the system (stepwise) disturbance, u ∈ Rm is the (manipulated) input, yˆ ∈ p is the system output. We use the symbol ˆ to denote “MPC model” matrices and variables, and distinguish them from the “actual plant” counterparts. Assumption 1. The pair Aˆ , Cˆ is detectable, and
(
)
⎡ Aˆ − I rank ⎢ ⎣ Cˆ
( Aˆ , Bˆ )
is stabilizable, the pair
Bˆ d ⎤ ⎥ = nˆ + nˆd . Cˆ d ⎦
Assumption 2. The plant output, denoted by y ∈ Rp, is measured at each decision time. Remark 3. Assumption 1 ensures that the “augmented” pair ⎛ ⎡ Aˆ Bˆ d ⎤ ˆ ˆ ⎞ ⎜⎝ ⎢ 0 I ⎥ , ⎡⎣C Cd ⎤⎦⎟⎠ ⎣ ⎦
is detectable [4–6]. ⎛ ⎡ Aˆ Bˆ ⎤ ⎡ Bˆ ⎤⎞
d Remark 4. The “augmented” pair ⎜ ⎢ ⎥ , ⎢ ⎥ is not ⎝ ⎣ 0 I ⎦ ⎣ 0 ⎦⎟⎠ stabilizable due to uncontrollability of dˆ . However, since dˆ can be estimated and has integrating dynamics, its influence can be taken into account in the MPC predictions (see e.g. [4–6]). Given the plant output y, and the model output yˆ , the prediction error e ∈ Rp is defined as:
© 2013 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society
G. Pannocchia et al.: Prediction Error Based Performance Monitoring, Degradation Diagnosis and Remedies in Offset-Free MPC
ˆ ˆ + Cˆ d dˆ ), e y − yˆ = y − (Cx
(2)
where we used (1b). Given the prediction error e, we can define a filtered estimate of the augmented state using a Kalman filter-like approach:
⎡ xˆ* ⎤ ⎡ xˆ ⎤ ⎡ Lˆ x ⎤ ⎢ ˆ ⎥ ⎢ ˆ ⎥ + ⎢ ˆ ⎥ e, ⎣ d* ⎦ ⎣ d ⎦ ⎣ Ld ⎦
(3)
where Lˆ x , Lˆd have suitable dimensions. ⎡ xˆ( k ) ⎤ ⎥ is predicted at ⎣d (k )⎦ ⎡ xˆ* ( k ) ⎤ whereas ⎢ ˆ ⎥ is computed at time ⎣ d* ( k ) ⎦ xˆ Let xˆ a ⎡ ˆ ⎤ and define ⎣⎢ d ⎦⎥
Remark 5. ⎢ ˆ
time k − 1 using (1a),
)
+ ⎡ Aa ⎡ xa ⎤ ⎢ xˆ ⎥ = ⎢ Kˆ C ⎣ a⎦ ⎣ a a
e = ⎡⎣Ca
0 ⎡ Ka ⎤ ⎤ ⎡ xa ⎤ ⎡ Ba ⎤ + ⎢ ⎥u + ⎢ ⎥v ⎥ ⎢ ⎥ Aˆ a − Kˆ aCˆ a ⎦ ⎣ xˆ a ⎦ ⎣ Bˆ a ⎦ ⎣ Kˆ a ⎦ ⎡ xa ⎤ (9) −Cˆ a ⎤⎦ ⎢ ⎥ + v, ⎣ xˆ a ⎦
III. METHOD: THEORY (4)
ˆ ˆ x + Bˆ d Lˆd ⎤ ⎡ Kˆ x ⎤ ⎡ Aˆ Bˆ d ⎤ ⎡ Lˆ x ⎤ ⎡ AL ⎥. ⎢ ⎥=⎢ ⎢ ⎥=⎢ ⎥ Lˆd ⎦ ⎣ Kˆ d ⎦ ⎣ 0 I ⎦ ⎣ Lˆd ⎦ ⎣
(5)
Prediction (1a) and filtering (3) steps can be combined into a single (predictor form) evolution:
xˆ a+ = Aˆ a xˆ a + Bˆ au + Kˆ ae y = Cˆ a xˆ a + e.
(6)
It follows that xˆ a evolves as:
xˆ a+ = ( Aˆ a − Kˆ aCˆ a ) xˆ a + Bˆ au + Kˆ a y,
(7)
in which we notice that the driving inputs, u and y, are both known at each time. a
(
in which the prediction error is the output.
in which
( Aˆ
in which x ∈ Rn is the plant state, d ∈ nd is the plant disturbance, and v ∈ Rp is a zero-mean white noise. Let x xa ⎡ ⎤ and let (Aa, Ba, Ca, Ka) be defined as in (4) with ⎢⎣ d ⎥⎦ Aˆ , Bˆ , Cˆ , Bˆ d , Cˆ d , Kˆ x, Kˆ d replaced by (A, B, C, Bd, Cd, Kx, Kd). We can combine the plant (8) and the MPC system (7) to obtain a description of the overall (plant and model) system:
k from (3).
⎡ Aˆ Bˆ d ⎤ ˆ ⎡ Bˆ ⎤ Aˆ a ⎢ ⎥ , Ba ⎢ ⎥ , ⎣0 I ⎦ ⎣0⎦ ⎡ Kˆ x ⎤ Cˆ a ⎡⎣Cˆ Cˆ d ⎤⎦ , Kˆ a ⎢ ⎥ , ⎣ Kˆ d ⎦
Assumption 6.
997
)
− Kˆ aCˆ a is strictly Hurwitz.
3.1 Introduction We now present a novel method for detecting performance degradation in linear offset-free MPC algorithms, diagnosing the source of such degradation, and proposing appropriate remedies. Such a method is based on the analysis of the prediction error. We consider different situations with/without plant/model mismatch or incorrect augmented state estimation in the spirit of the ideas discussed in [19]. Before proceeding, we review the result on equivalence of disturbance models proved by Rajamani et al. [23], and derive slightly more general conditions. To this aim we recall the following well-known result of systems theory (see, e.g., [24, def. 4.3]), specialized to linear systems in form (6). Definition 7. A system in the form (6) is said to be algebraically equivalent (AE) to a system in the same form and matrices (Aa, Ba, Ca, Ka) if there exists an invertible matrix T such that:
Aa = TAˆ aT −1, Ba = TBˆ a, Ca = Cˆ aT −1, K a = TKˆ a.
(10)
2.2 Plant evolution We assume that the actual plant evolves as follows: +
⎡x⎤ ⎡ A Bd ⎤ ⎡ x ⎤ ⎡ B ⎤ ⎡Kx ⎤ ⎢d ⎥ = ⎢ 0 I ⎥ ⎢d ⎥ + ⎢ 0 ⎥ u + ⎢ K ⎥ v ⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ d⎦
(8a)
⎡x⎤ y = [C C d ] ⎢ ⎥ + v , ⎣d ⎦
(8b)
Remark 8. If two systems in form (6) are AE, they generate the same prediction error sequence for any sequences of input u and output y. Lemma 9. Given two AE systems in form (6) defined by matrices Aˆ , Bˆ , Cˆ , Bˆ d , Cˆ d , Kˆ x, Kˆ d and (A, B, C, Bd, Cd, Kx, Kd), satisfying Assumptions 1 and 6, the transformation
(
© 2013 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society
)
998
Asian Journal of Control, Vol. 16, No. 4, pp. 995–1005, Ju;ly 2014
⎡T11 T12 ⎤ matrix T in (10) has the form: T = ⎢ ⎥ , in which ⎣ 0 T22 ⎦ T11 ∈ nˆ × nˆ and T22 ∈ nˆd × nˆd are invertible. Furthermore: ˆ 11−1, B = T11 Bˆ , C = CT ˆ 11−1, A = T11 AT Bd = T11 ⎡⎣ Bˆ d + ( I − Aˆ )T11−1T12 ⎦⎤ T22−1, ˆ 11−1T12 ⎤ T22−1, Cd = ⎡⎣Cˆ d − CT ⎦ K x = T11Kˆ x + T12 Kˆ d , K d = T22 Kˆ d . Proof. The results can readily proved by direct substitution from (10). The next result (see also [23, lemma 1]) establishes equivalence relations between two offset-free MPC models having the same matrices Aˆ , Bˆ , Cˆ but different disturbance model/estimator matrices.
(
)
Corollary 10. Two systems in form (6) defined by matrices Aˆ , Bˆ , Cˆ , Bˆ d , Cˆ d , Kˆ x, Kˆ d and Aˆ , Bˆ , Cˆ , Bd , Cd , K x, K d , satisfying Assumptions 1 and 6, are AE if there exist T12 ∈ nˆ × nˆd and T22 ∈ nˆd × nˆd (invertible) satisfying:
(
)
⎡ Aˆ − I ⎢ ⎣ Cˆ
(
)
Bd ⎤ ⎡T12 ⎤ ⎡ Bˆ d ⎤ ⎥ ⎢ ⎥ = ⎢ ⎥, Cd ⎦ ⎣T22 ⎦ ⎣Cˆ d ⎦
in which Gˆ u ( z ) C( zI − A ) −1 B and Gˆ v ( z ) C( zI − A ) −1 K + I . As we show in this section, the orders of minimal realizations of Gˆ u ( z ) and Gˆ v ( z ) (denoted by N u and N v , respectively) change in different cases of suboptimal performance (e.g., plant/model mismatch and incorrect disturbance model/observer). Thus, the determination of such orders can be used to diagnose the source of suboptimal performance. We consider three different cases of interest, noticing that the plant (8) is also in form (6). • Case 1: Correct model and disturbance model/observer. Plant (8) and model (6) are AE. • Case 2: Correct model, incorrect disturbance model/ observer. Matrices (A, B, C) and Aˆ , Bˆ , Cˆ are identical (up to a similarity transformation) but plant (8) and model (6) are not AE due to incorrect disturbance model/ observer. • Case 3: Incorrect model. Plant matrices (A, B, C) and model matrices Aˆ , Bˆ , Cˆ are not identical (up to any similarity transformation). Thus, plant (8) and model (6) are not AE.
(
(
)
)
Remark 14. When plant matrices (A, B, C) and model matrices Aˆ , Bˆ , Cˆ are not identical (up to any similarity transformation), plant (8) and model (6) are not AE independently of the disturbance model/observer correctness. Hence, it is not necessary to distinguish between the two sub-cases of correct/incorrect disturbance model/observer. We now present the main technical results that support our proposed CPM method.
(
Remark 11. If nˆd = p , the linear system (11) has a (unique) solution. Remark 12. nˆd = p ensures offset-free tracking, in the presence of plant/model mismatch and unknown disturbances, for arbitrary observer matrices Kˆ x, Kˆ d satisfying Assumption 6 [25, 5]. If instead nˆd < p , offset-free tracking (in nˆd outputs) is guaranteed only for specific choices of Kˆ x, Kˆ d [5,6].
(
)
)
Assumption 13. nˆd = p .
3.2 Prediction error system: order analysis Let:
⎡ Aa A⎢ ⎣ Kˆ aCa C ⎡⎣Ca
(12)
(11)
and such that K x = Kˆ x + T12 Kˆ d and K d = T22 Kˆ d .
(
e ( z ) = Gˆ u ( z ) u ( z ) + Gˆ v ( z ) v ( z ) ,
0 ⎤ ⎡ Ba ⎤ , B ⎢ ⎥, ⎥ Aˆ a − Kˆ aCˆ a ⎦ ⎣ Bˆ a ⎦ ⎡ Ka ⎤ −Cˆ a ⎤⎦ , K ⎢ ⎥ . ⎣ Kˆ a ⎦
)
Lemma 15. In Case 1: N u = 0 and N v = 0 . Proof. ( N u = 0) Assume that the stochastic input v(·) is absent, while the deterministic input u(·) is arbitrary, and let x ( 0) = xˆ ( 0) = 0 , d ( 0) = dˆ ( 0) = 0. It follows from (1) and (8) that y ( k ) = yˆ ( k ) for all k ≥ 0. Thus, e(k) = 0 for all k ≥ 0. Hence, Gˆ u ( z ) = 0 and, therefore, N u = 0. ( N v = 0) Assume that u(·) is absent, while v(·) is arbitrary, and let x ( 0) = xˆ ( 0) = 0, d ( 0) = dˆ ( 0) = 0. It follows that e(0) = v(0). Then, from (6) and (8) we have that e (1) = y (1) − yˆ (1) = v (1). Thus, in general e(k) = v(k) for all k ≥ 0. Thus, we have that Gˆ v ( z ) = I and, hence, N v = 0. Lemma 16. In Case 2: N u = 0 and N v > 0.
We rewrite (9) in transfer function form to separate the contributions of the deterministic input u and of the stochastic input v to the prediction error e as follows:
Proof. ( N u = 0) We follow the first part of the proof of Lemma 15. In fact, in absence of the stochastic input, we have y ( 0) = yˆ ( 0) and hence e(0) = 0. This implies that
© 2013 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society
G. Pannocchia et al.: Prediction Error Based Performance Monitoring, Degradation Diagnosis and Remedies in Offset-Free MPC
dˆ (1) = dˆ (0) = 0, which further implies y (1) = yˆ (1) . Thus, e(k) = 0 for all k ≥ 0. ( N v > 0) We follow the second part of the proof of Lemma 15. Since x ( 0) = xˆ ( 0) = 0, d ( 0) = dˆ ( 0) = 0, it follows that e(0) = v(0). However, because (6) and (8) are not algebraically equivalent, we have e(1) ≠ v(1) and in general e(k) ≠ v(k) for k ≥ 0 and some stochastic input sequences. Thus, N v > 0. Lemma 17. In Case 3: 0 < N u ≤ nˆ + p + n, N v > 0. Proof. ( N u > 0) Assume that the stochastic input is absent and that x ( 0) = xˆ ( 0) = 0, d ( 0) = dˆ ( 0) = 0. Thus, it follows that y ( 0) = yˆ ( 0) = 0 and hence e(0) = 0. However, given that (A, B, C) and Aˆ , Bˆ , Cˆ are not identical (up to any similarity transformation), there exists u(0) such that y (1) ≠ yˆ (1) . In general: y ( k ) ≠ yˆ ( k ) (i.e. e(k) ≠ 0) for k ≥ 0 and some deterministic input sequences. Thus, N u > 0. ( N u ≤ nˆ + p + n) We reorder the variables by putting d last, and we write (9) as follows (recall v(·) = 0):
(
+ ⎡ A ⎡x⎤ ⎢ˆ ⎢ xˆ ⎥ ⎢ ⎥ = ⎢ K xC ⎢ Kˆ C ⎢ dˆ ⎥ ⎢ d ⎢ ⎥ ⎢⎣ 0 ⎣d ⎦
)
0 Aˆ − Kˆ xCˆ − Kˆ d Cˆ 0
0 Bˆ d − Kˆ xCˆ d I − Kˆ d Cˆ d 0
Bd ⎤ ⎡ x ⎤ ⎡ B ⎤ ⎥ Kˆ xCd ⎥ ⎢⎢ xˆ ⎥⎥ ⎢⎢ Bˆ ⎥⎥ u, + Kˆ d Cd ⎥ ⎢ dˆ ⎥ ⎢ 0 ⎥ ⎥⎢ ⎥ ⎢ ⎥ I ⎥⎦ ⎣ d ⎦ ⎣ 0 ⎦
from which we reveal that d is not controllable by u. Thus, we can remove d from the overall state and obtain +
0 ⎤ ⎡ x ⎤ ⎡B⎤ ⎥⎢ ⎥ ⎢ ⎥ ˆ ˆ ˆ Bd − K xCd ⎥ ⎢ xˆ ⎥ + ⎢ Bˆ ⎥ u I − Kˆ d Cˆ d ⎥⎦ ⎢⎣ dˆ ⎥⎦ ⎢⎣ 0 ⎥⎦ − Kˆ d Cˆ ⎡x⎤ ⎢ ⎥ ˆ ˆ ⎤ −C −Cd ⎦ ⎢ xˆ ⎥ . ⎢ dˆ ⎥ ⎣ ⎦
⎡ A ⎡x⎤ ⎢ˆ ⎢ ⎥ ⎢ xˆ ⎥ = ⎢ K xC ⎢ Kˆ C ⎢ dˆ ⎥ ⎣ ⎦ ⎣ d e = ⎡⎣C
0 ˆA − Kˆ xCˆ
Notice that, even if dˆ is not directly affected by u, it cannot ˆ ˆ ( k ) for be removed from the overall state unless Cx ( k ) = Cx all k ≥ 0. Thus, N u ≤ nˆ + p + n . ( N v > 0) See the proof of Lemma 16. Theorem 18. In Case 1, the prediction error e is a white noise. In either Case 2 or Case 3, the prediction error e is not a white noise. Proof. The results follow from Lemmas 15–17. In fact, in Case 1 as discussed in the proof of Lemma 15 it follows that Gˆ v ( z ) = I . Therefore, e( z ) = v( z ), and hence e is a white noise. In Case 2, instead, Gˆ v ( z ) has order N v > 0. Thus, e ( z ) = Gˆ v ( z ) v ( z ) is a colored noise. Finally, in Case 3 e ( z ) = Gˆ u ( z ) u ( z ) + Gˆ v ( z ) v ( z ) in which both Gˆ u ( z ) and
999
Gˆ v ( z ) have strictly positive order. Therefore, e is not a white noise.
IV. METHOD: IMPLEMENTATION AND VARIANT FOR STRUCTURED SYSTEMS 4.1 White noise test on prediction error As discussed in Section III, it is necessary to check whether each component of the prediction error (tested separately) can be regarded as a white noise or not. We make the following assumption. Assumption 19. e and v are ergodic processes, and the covariance of v is a diagonal matrix. Different approaches exist to test whiteness of a scalar sequence, and in most cases they exploit the autocorrelation function. Definition 20. Given a discrete-time random signal X(·), with known mean μ and variance σ2, the autocorrelation function is defined as:
RX (τ ) =
1 E [( X ( k ) − μ )( X ( k + τ ) − μ ) ]. σ2
In practice, given a sequence of N samples (X(1), . . . , X(N)), with mean μ and variance σ2, an estimate of RX(τ) is computed as:
Rˆ X (τ ) =
1 ( N − τ )σ 2
N −τ
∑ ( X (k ) − μ )( X (k + τ ) − μ ). k =1
The positive integer τ is referred to as lag. Given the Rˆ X (⋅) , we use the Ljung-Box test [26]. Let: 2
⎡ Rˆ X (τ ) ⎤⎦ Q = N ( N + 2) ∑ ⎣ , N −τ τ =1 T
in which T is the number of lags being tested. Then, let χ12−α (T ) be the α-quantile of a chi-square distribution with T degrees of freedom. We use the following test:
⎧> χ12−α (T ) then X (⋅)is not white, If Q ⎨ 2 ⎩≤ χ1−α (T ) then X (⋅)is white.
(13)
In this works we use 1 − α = 0.95. To determine the most suitable range for T , we performed Monte-Carlo simulations over white and non-white noise sequences, obtaining T ∈[10, 20]. 4.2 Order of prediction error system Given a prediction error sequence {e(k)} and the corresponding input sequence {u(k)}, we use a subspace
© 2013 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society
1000
Asian Journal of Control, Vol. 16, No. 4, pp. 995–1005, Ju;ly 2014
identification (SID) approach to determine the order of a minimal realization of Gˆ u ( z ) . One of the strengths of the SID methods is that the model order does not need to be fixed a priori (e.g., as in time-series models) and validated by some criterion. In fact, all SID algorithms, at some point, perform a singular value decomposition (SVD) and use a threshold rule to determine which singular values can be discarded. In principle any SID method would work to determine the order of Gˆ u ( z ) , provided that it is consistent when used with closed-loop data. In fact, it is important to notice that, independently of the specific MPC algorithm used, the input u is correlated with the output e of the system (9). Specifically, we use the PARSIM-K method [27] due to its computational efficiency and proven closed-loop consistency properties. Let σ1, . . . , σM be the singular values (in decreasing order) obtained from an appropriate SVD [27, eq. 13]. When Gˆ u ( z ) has a minimal realization of zero order, all such singular values have similar small magnitude. If the order is nonzero, say F, the first F singular values have a magnitude much larger than the remaining ones. These considerations led us to define the following criterion to test the zero order case:
If
⎧≤ β ⎨ ⎩> β
σ1 σM
then N u = 0, then N u > 0,
(14)
in which β > 1 is an adjustable parameter. We performed Monte-Carlo simulations on (e, u) data corresponding to cases of N u = 0 and of N u > 0, and β = 10 was chosen. Remark 21. In the proposed CPM method, it is not necessary to determine a realization of Gˆ u ( z ) , but simply to evaluate whether N u is zero or not.
4.3 Optimal observer gain When the prediction error is not white but N u = 0 , i.e. in Case 2, the system matrices Aˆ , Bˆ , Cˆ can be regarded as identical to those of the actual plant (A, B, C), whereas the disturbance model/observer matrices Bˆ d , Cˆ d , Kˆ x, Kˆ d are incorrect and should be recomputed. However, from Corollary 10 it follows that, in order to make the MPC model (6) defined by Aˆ , Bˆ , Cˆ , Bˆ d , Cˆ d , Kˆ x, Kˆ d AE to the actual plant (8) defined by (A, B, C, Bd, Cd, Kx, Kd), we can simply adjust the observer matrices Kˆ x, Kˆ d . Ideally, if the plant matrices (Bd, Cd, Kx, Kd) were known, we could evaluate (T12, T22) from (11) and then set Kˆ d = T22−1K d and Kˆ x = K x − T12 Kˆ d. However, an alternative way is necessary because the plant matrices (Bd, Cd, Kx, Kd) are obviously unknown. After testing different options we chose a numerical optimization approach. Given the input and output sequences, {u(k)} and {y(k)}, recalling (7) and (4), we consider the following unconstrained nonlinear optimization problem:
(
(
) (
)
(
)
)
min
Kˆ a ,xˆa (0 )
∑ y ( k ) − Cˆ xˆ ( k )
2
(15)
a a
k
Constraint (7) is used to express xˆ a (⋅) as a function of Kˆ a, xˆ a ( 0) . The nonlinear optimization problem (15) is nonconvex; thus, in general, only a suboptimal solution can be obtained numerically. However, most sequential quadratic programming (SQP) algorithms can guarantee that the obtained solution has a cost no larger than that of the initial guess. Therefore, if we initialize the SQP algorithm with the current augmented observer matrix Kˆ a we obtain a new observer that generates a prediction error sequence with a norm no greater than the current one.
(
)
4.4 Overall algorithm We now present the proposed CPM algorithm. Algorithm 1. Require: Sequences of input {u(k)}, output {y(k)} and prediction error {e(k)} over a considered time period. MPC matrices Aˆ , Bˆ , Cˆ , Bˆ d , Cˆ d , Kˆ x, Kˆ d . 1: For each component of {e(k)}, perform test (13). 2: if {e(k)} is “white” then {Optimal performance} 3: No changes are necessary. 4: else {Suboptimal performance} 5: Evaluate N u from (14). 6: if N u = 0 then { Aˆ , Bˆ , Cˆ are correct.} 7: Evaluate Kˆ a from (15). 8: else { Aˆ , Bˆ , Cˆ are incorrect.} 9: Collect data, re-identify Aˆ , Bˆ , Cˆ . Choose Bˆ d , Cˆ d satisfying Assumption 1. Compute Kˆ a from (15). 10: end if 11: end if
(
)
(
(
)
)
(
(
)
)
4.5 Variant for block-structured systems Often, large-scale multivariable systems are identified in a block form, i.e. from the inputs to a subset of outputs. That is, the ith submodel is described by: +
⎡ Kˆ xi ⎤ Bˆ di ⎤ ⎡ xˆi ⎤ ⎡ Bˆ i ⎤ ⎥ ⎢ ˆ ⎥ + ⎢ ⎥ u + ⎢ ˆ ⎥ ei I ⎦ ⎣ di ⎦ ⎣ 0 ⎦ ⎣ K di ⎦ ˆ ⎡ xi ⎤ Cˆ di ⎤⎦ ⎢ ⎥ + ei, ⎣ dˆi ⎦
⎡ xˆi ⎤ ⎡ Aˆi ⎢ˆ⎥ =⎢ ⎣0 ⎣ di ⎦ yi = ⎡⎣Cˆ i
(16)
in which xˆi ∈ nˆi , yi ∈ pi , dˆi ∈ pi , and ∑ i =1 pi = p . Notice that Bˆ i may have some zero columns because not all components of the input vector u affect the subset of outputs yi. The overall matrices Aˆ , Bˆ , Cˆ , Bˆ d , Cˆ d , Kˆ x, Kˆ d can be obtained by: P
(
)
© 2013 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society
G. Pannocchia et al.: Prediction Error Based Performance Monitoring, Degradation Diagnosis and Remedies in Offset-Free MPC
⎡ Bˆ1 ⎤ ˆA diag{Aˆi }, Bˆ ⎢ ⎥ , Cˆ diag{Cˆ i }, ⎢ ⎥ ⎢ Bˆ ⎥ ⎣ P⎦ ˆ ˆ ˆ Bd diag{Bdi }, Cd diag{Cˆ di }, Kˆ x diag{Kˆ xi }, Kˆ d diag{Kˆ di }.
(17)
When this structured model is used, the proposed CPM algorithm can be specialized by treating each output and prediction error block (denoted by yi and ei, respectively), separately. In the next algorithm, N ui denotes the order of a minimal realization of Gˆ ui ( z ), transfer function from u to ei. Furthermore, the following notation is used:
⎡ Aˆ Bˆ di ⎤ ˆ ⎡ Bˆ i ⎤ ˆ ˆ Aˆ ai ⎢ i ⎥ , Bai ⎢ ⎥ , Cai ⎡⎣Ci 0 I 0 ⎣ ⎦ ⎣ ⎦ xˆi ⎤ ⎡ Kˆ xi ⎤ ⎡ Kˆ ai ⎢ ⎥ , xˆ ai ⎢ ⎥ , i = 1, … , P. ⎣ dˆi ⎦ ⎣ Kˆ di ⎦
Cˆ di ⎤⎦ ,
Algorithm 2. Require: Sequences of input {u(k)}, output {y(k)} and prediction error {e(k)} over a considered time period. MPC matrices Aˆ , Bˆ , Cˆ , Bˆ d , Cˆ d , Kˆ x, Kˆ d as in (17). 1: for i = 1 → P do 2: Perform test (13) on each component of {ei(k)}. 3: if {ei(k)} is “white” then {Optimal performance} 4: No changes are necessary for i−th block. 5: else {Suboptimal performance} 6: Evaluate N ui from (14). 7: if N ui = 0 then { Aˆi, Bˆ i, Cˆ i are correct.} 8: Compute Kˆ ai from (15) with Aˆ a, Bˆ a, Cˆ a, Kˆ a, xˆ a, y replaced by Aˆ ai, Bˆ ai, Cˆ ai, Kˆ ai, xˆ ai, yi . 9: else { Aˆi, Bˆ i, Cˆ i are incorrect.}
(
)
(
( )
(
10:
)
Collect data, re-identify
(
)
)
( Aˆ , Bˆ , Cˆ ). i
i
i
Choose
⎡ Aˆi − 1 Bˆ di ⎤ ⎥ = nˆi + pi. Bˆ di, Cˆ di such that rank ⎢ ˆ Cˆ di ⎦ ⎣ Ci Compute Kˆ ai as in Line 8. 11: end if 12: end if 13: end if
(
)
V. APPLICATION EXAMPLES 5.1 Example 1: linear SISO system We consider a (randomly generated) system with: ⎡ −0.1329 0.2869 −0.2958 ⎢ −0.6037 −0.0284 0.7000 A=⎢ ⎢ −0.0686 0.6891 0.1335 ⎢ ⎣ 0.7233 0.1502 0.1144
0.3581⎤ ⎡ 0.1146 ⎤ ⎢ 0.2903 ⎥ 0.5081⎥ ⎥ ⎥, B = ⎢ ⎢ −0.2109 ⎥ 0.0921⎥ ⎥ ⎢ ⎥ 0.4469 ⎦ ⎣ −0.7177 ⎦
1001
Table I. Example 1: Percentage of successful diagnosis for the white noise test and for the prediction error order test in Case 1, Case 2 (10% error), Case 3 (5% error and 10% error). Whiteness test
PE order test
92 88 100 100
100 94 99 100
Case 1 Case 2 Case 3 (5%) Case 3 (10%)
⎡ −0.1518 ⎤ ⎢ −0.4765 ⎥ ⎥ C = [ −0.4490 0.3407 −0.9366 0.1867], Bd = ⎢ ⎢ −0.6191⎥ ⎥ ⎢ 5734 ⎦ ⎣ −0.5
⎡ −0.0113⎤ ⎢ −0.9418 ⎥ ⎥ , K d = 0.5518. Cd = 0.1945, K x = ⎢ ⎢ −0.7450 ⎥ ⎢ ⎥ ⎣ −0.9719 ⎦ Keeping fixed these matrices for the actual plant, we tested the three different cases of interest, as discussed in Section 3.2, by choosing correct/incorrect MPC matrices Aˆ , Bˆ , Cˆ , Bˆ d , Cˆ d , Kˆ x, Kˆ d . For each case, we performed 100 Monte-Carlo simulations, in which closed-loop data are collected for 1000 sample times, in the presence of process noise {v} normally distributed with standard deviation equal to 0.01. The setpoint is a generalized binary noise [3] with switch probability equal to 0.01 and values of ±0.5. In Case 2, the MPC matrices Bˆ d , Cˆ d , Kˆ x, Kˆ d are obtained as a 10% random perturbation to the corresponding plant
(
)
(
Bd − Bˆ d Bd
)
= 0.10. In Case 3, the MPC matrices Aˆ , Bˆ , Cˆ , Bˆ d , Cˆ d , Kˆ x, Kˆ d are obtained as a 5% (or 10%) random perturbation to the corresponding plant matrices. We report in Table I, the percentage of successes of the two diagnostic tests, namely the whiteness test (13) and the prediction error order test (14). From these results we observe that two diagnostic tests have very good reliability.
matrices, e.g.
(
)
5.2 Example 2: linear MIMO system We consider the so-called Shell Control Problem as reported in [28]. The system has three controlled and three manipulated variables. The nominal transfer functions from each input to each output are reported in Table II, where time constants and delays are expressed in minutes, along with a gain uncertainty. In [28], the same uncertainty is assumed from one input to the three outputs. Here, instead, we allow independent uncertainties. The outputs are affected by random noise with a noise-to-signal ratio of about 10%. An
© 2013 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society
1002
Asian Journal of Control, Vol. 16, No. 4, pp. 995–1005, Ju;ly 2014
Table II. Example 2: nominal transfer functions and gain uncertainties (|δij| ≤ 1). u1
u2
( 4.05 + 2.11δ11 )e 50 s + 1 (5.39 + 3.29δ 21 )e −18 s 50 s + 1 ( 4.38 + 3.11δ 31 )e −20 s 33s + 1
y1 y2 y3
||ei||2 e1 e2 e3
0.0541 0.0541 0.0541
Q χ 02.95 12.4 12.4 12.4
Required correction
N ui 0 0 0
After correction
0.0380 0.0385 0.0382
0.575 1.44 1.06
offset-free MPC algorithm is designed by considering a structured realization (with P = 3 single-output blocks) of the nominal system (δij = 0 in Table II) discretized with a sampling time of 4 minutes. We use the so-called “output disturbance model” with deadbeat observer, i.e. Bˆ d = 0 , Cˆ d = I , Kˆ x = 0 , Kˆ d = I, which is the usual standard choice in several commercial MPC algorithms. The three inputs are constrained in [−0.05, 0.05]. At each time k the MPC minimizes N −1
J MPC J N ,∞ + ∑ j =0 yˆ ( k + j ) − yˆ s ( k ) R + Δu ( k + j ) S, 2
Table IV. Example 2: plant/model mismatch in Output 1 (δ11 = −1, δ12 = 1, δ13 = −1). Original
Q χ 02.95
||ei||2
Kˆ a1 Kˆ a2 Kˆ a3
(5.88 + 0.59δ13 )e −27 s 50 s + 1 (6.90 + 0.89δ 23 )e −15 s 40 s + 1 (7.20 + 1.33δ 33 ) 19 s + 1
−28 s
Table III. Example 2: incorrect disturbance model/observer. Original
u3
(1.77 + 0.39δ12 )e 60 s + 1 (5.72 + 0.57δ 22 )e −14 s 60 s + 1 ( 4.42 + 0.73δ 32 )e −22 s 44 s + 1
−27 s
2
in
which JN,∞ represents the cost-to-go based on [29], R and S are positive definite matrices, Δu( k + j ) u( k + j ) − u( k + j − 1) , ˆ ˆ s ( k ) + Cˆ d dˆ ( k ) is a reachable output target and yˆ s ( k ) = Cx satisfying stationarity conditions:
ˆ ˆ s ( k ) + Bu ˆ ˆ s ( k ) + Bˆ d dˆ ( k ), xˆ s ( k ) = Ax
e1 e2 e3
Required correction
||ei||2
Q χ 02.95
N ui
0.0657 0.0541 0.0541
53.4 12.4 12.4
>0 0 0
( Aˆ , Bˆ , Cˆ , Kˆ ) 1
Kˆ a2 Kˆ a3
1
1
a1
After correction ||ei||2
Q χ 02.95
0.0413 0.0384 0.0383
1.28 1.83 1.07
case are summarized in Table IV. We notice that Algorithm 2 correctly detects the plant/model mismatch in Output 1, and when new identification is performed, the prediction error norm of Output 1 decreases significantly. As in the previous case, for the other outputs no mismatch is detected but sub-optimality of the observer is revealed and mitigated by re-computation. We also show in Fig. 1 closedloop outputs and inputs using the original MPC model, and after corrections (namely, re-identification of Aˆ1, Bˆ1, Cˆ1 and re-calculation of all observer matrices). From these results, the improvement achieved by the proposed CPM method is evident. In fact, the closed-loop cost over the period of operation of each MPC, defined as 2 2 J = ∑ y( k ) − y ( k ) R + Δu( k ) S , reduces from 4.384 to
(
)
k
computed at each decision time k in order to minimize the offset between the desired setpoint y ( k ) and yˆ s ( k ) , while respecting input constraints. We first consider an occurrence of Case 2, i.e. there is no plant/model mismatch (δij = 1 in Table II) but the disturbance model and observer are incorrect. The results obtained are summarized in Table III. We observe that Algorithm 2 makes, in each output, the appropriate diagnosis of incorrect observer and no plant/model mismatch. After recalculation of the observer matrices, the norm of the prediction error components decreases by almost 30%. Moreover, {e1} becomes “white”, whereas {e2} and {e3} are almost “white” (but much “whiter” than before). We next consider an occurrence of Case 3, i.e. of plant/ model mismatch. We consider that the plant transfer functions associated to Output 1 have gain mismatch as defined in Table II with δ11 = −1, δ12 = 1, δ13 = −1. The results for this
1.273. 5.3 Further remarks and discussions We remark that the proposed CPM algorithm is meant to run at a much lower rate than the monitored MPC. For instance, for a typical industrial MPC system running every minute, we expect this performance monitoring algorithm to run every few days (e.g. once every week). As such the computation time is not a limiting factor. Still the diagnostic tests are quite cheap in terms of computation time, which is on the order of seconds/minutes. Likewise the observer computation via nonlinear programming is not particularly expensive. For instance in the second example, the computation time is a few minutes. We also remark that when re-identification is suggested, we expect practitioners to schedule, whenever compatible
© 2013 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society
1003
G. Pannocchia et al.: Prediction Error Based Performance Monitoring, Degradation Diagnosis and Remedies in Offset-Free MPC
0.1
0.1
0.1
Controlled Variable Setpoint New model
New model
0.05
y2
0
-0.05
0
20
40
60
80
100
120
140
160
180
0
-0.05
-0.1 0
-0.1 0
20
40
60
Time (hr)
80
100
120
140
160
180
0
0.04
0.04
0.02
0.02
0.02
0
0
0
New model
u2
-0.02
-0.02
-0.04
-0.04
-0.06
u3
0.06
40
60
80
100
60
120
140
160
180
80
100
120
140
160
180
120
140
160
180
New model
-0.02 -0.04
New model
-0.06 20
40
Time (hr)
0.06
0
20
Time (hr)
0.06 0.04
New model
0.05
-0.05
-0.1
u1
Controlled Variable Setpoint
y3
0.05
y1
Controlled Variable Setpoint
-0.06 0
20
40
60
Time (hr)
80
100
120
140
Time (hr)
160
180
0
20
40
60
80
100
Time (hr)
Fig. 1. Example 2: Simulation with plant/model mismatch in Output 1 (δ11 = −1, δ12 = 1, δ13 = −1), before and after required corrections.
with the production constraints, an identification campaign in which data are collected appropriately (in open or closed loop fashion) in order to ensure the success of re-identification. While a detailed numerical comparison of the proposed method against other methods found in the literature is beyond the scope of this paper, it may be interesting to compare the results of Table I with those achieved by the plant/model mismatch test of [19]. In such a method, plant/ model mismatch (Case 3) is diagnosed when an identified ARMA system describing the prediction has order strictly greater nˆ + p. No plant/model mismatch (Case 1 and Case 2) instead is detected when the order of such an ARMA system is exactly equal to nˆ + p . Using the N4SID algorithm of the Matlab’s Systems Identification Toolbox and the Akaike Information Criterion as discussed in [30], we obtained correct diagnosis in: 11% occurrences of Case 1, 5% occurrences of Case 2, 92% to 96% occurrences of Case 3 (with 10% or 5% plant/model mismatch, respectively).
VI. CONCLUSIONS In this paper we proposed a control performance monitoring strategy for linear offset-free MPC algorithms in which the prediction error is used to detect possible performance degradation and to diagnose the source of such degradation. We showed that if the plant and augmented model are algebraically equivalent, both in the deterministic relation and in the stochastic relation (i.e. the observer is
optimal), each component of the prediction error is a white noise sequence. We use the Ljung-Box test to detect such situation. If model and plant are equivalent (from manipulated inputs to measured outputs) but an incorrect observer is used, the prediction error is not a white noise but a minimal realization of the system from the manipulated input to the prediction error has zero order. In such cases, a numerical procedure to evaluate a new observer is proposed, which guarantees a superior performance (in terms of smaller prediction error norm) with respect to the current observer. If instead the nominal model and the actual plant are not equivalent (i.e. plant/model mismatch is present), the prediction error is not a white noise and a minimal realization of the system from the manipulated input to the prediction error has nonzero order. Such (zero or nonzero) order is revealed from data by using a (closed-loop) subspace identification method. When plant/model mismatch is detected, new identification is advised followed by re-calculation of the observer gain. A variant for block structured systems was also presented, in which we show that the diagnostic steps (namely, whiteness test and zero order test) and the correction steps (namely, model re-identification and/or filter gain recalculation) can be performed independently in each block. This variant allows efficient application of the proposed method to large scale systems, such as those typically encountered in the chemical process industries. We illustrated the method on a SISO linear system and on MIMO linear system observing perfect agreement between theory and simulation results.
© 2013 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society
1004
Asian Journal of Control, Vol. 16, No. 4, pp. 995–1005, Ju;ly 2014
REFERENCES 1. Pannocchia, G. and A. De Luca, “Performance degradation diagnosis and remedies in offset-free MPC,” Proc. 2012 Amer. Contr. Conference, Montreal, Canada, pp. 429–434 (2012). 2. Qin, S. J. and T. A. Badgwell, “A survey of industrial model predictive control technology,” Control Eng. Practice, Vol. 11, No. 7, pp. 733–764 (2003). 3. Zhu, Y., Multivariable System Identification for Process Control, Elsevier Science Ltd., Oxford, UK (2001). 4. Muske, K. R. and T. A. Badgwell, “Disturbance modeling for offset-free linear model predictive control,” J. Process Control, Vol. 12, No. 5, pp. 617–632 (2002). 5. Pannocchia, G. and J. B. Rawlings, “Disturbance models for offset-free model predictive control,” AIChE J., Vol. 49, No. 2, pp. 426–437 (2003). 6. Maeder, U., F. Borrelli, and M. Morari, “Linear offsetfree model predictive control,” Automatica, Vol. 45, No. 10, pp. 2214–2222 (2009). 7. Shead, L. R. E., K. R. Muske, and J. A. Rossiter, “Conditions for which linear MPC converges to the correct target,” J. Process Control, Vol. 20, No. 10, pp. 1243– 1251 (2010). 8. Rawlings, J. B. and D. Q. Mayne, Model Predictive Control: Theory and Design, Nob Hill Publishing, Madison, WI (2009). 9. Harris, T. J., C. Seppala, and L. D. Desborough, “A review of performance monitoring and assessment techniques for univariate and multivariate control systems,” J. Process Control, Vol. 9, No. 1, pp. 1–17 (1999). 10. Harris, T. J., “Assessment of control loop performance,” Canad. J. Chem. Engin., Vol. 67, No. 5, pp. 856–861 (1989). 11. Patwardhan, R. S. and S. L. Shah, “Issues in performance diagnostics of model-based controllers,” J. Process Control, Vol. 12, No. 3, pp. 413–427 (2009). 12. Schäfer, J. and A. Cinar, “Multivariable MPC system performance assessment, monitoring and diagnosis,” J. Process Control, Vol. 14, No. 2, pp. 113–129 (2004). 13. Loquasto III, F. and D. E. Seborg, “Model predictive controller monitoring based on pattern classification and PCA,” Proc. Amer. Contr. Conference, Denver, CO, pp. 1968–1973 (2003). 14. Argawal, N., B. Huang, and E. C. Tamayo, “Assessing model predictive control (MPC) performance,” Ind. Eng. Chem. Res., Vol. 46, No. 24, pp. 8101–8111 (2007). 15. Yu, J. and S. J. Qin, “Statistical MIMO controllers performance monitoring. Part I: Data-driven covariance benchmark,” J. Process Control, Vol. 18, No. 3–4, pp. 277–296 (2008).
16. AlGhazzawi, A. and B. Lennox, “Model predictive control monitoring using multivariate statistics,” J. Process Control, Vol. 19, No. 2, pp. 314–327 (2009). 17. Kesavan, P. and J. H. Lee, “Diagnostic tools for multivariable model-based control systems,” Ind. Eng. Chem. Res., Vol. 36, No. 7, pp. 2725–2738 (1997). 18. Kesavan, P. and J. H. Lee, “A set based approach to detection and isolation of faults in multivariable systems,” Comp. Chem. Eng., Vol. 25, No. 7–8, pp. 925– 940 (2001). 19. Harrison, C. A. and S. J. Qin, “Discriminating between disturbance and process model mismatch,” J. Process Control, Vol. 19, No. 10, pp. 1610–1616 (2009). 20. Harrison, C. A. and S. J. Qin, “Minimum variance performance map for constrained model predictive control,” J. Process Control, Vol. 19, No. 7, pp. 1199– 1204 (2009). 21. Badwe, A., R. D. Gudi, R. S. Patwardhan, S. L. Shah, and S. C. Patwardhan, “Detection of model-plant mismatch in MPC applications,” J. Process Control, Vol. 19, No. 8, pp. 1305–1313 (2009). 22. Zhao, Y., J. Chu, H. Su, and B. Huang, “Multi-step prediction error approach for controller performance monitoring,” Control Eng. Practice, Vol. 18, No. 1, pp. 1–12 (2010). 23. Rajamani, M. R., J. B. Rawlings, and S. J. Qin, “Achieving state estimation equivalence for misassigned disturbances in offset-free model predictive control,” AIChE J., Vol. 55, No. 2, pp. 396–407 (2009). 24. Hespanha, J. P., Linear Systems Theory, Princeton University Press, Princeton, NJ (2009). 25. Pannocchia, G. and A. Bemporad, “Combined design of disturbance model and observer for offset-free model predictive control,” IEEE Trans. Autom. Control, Vol. 52, No. 6, pp. 1048–1053 (2007). 26. Ljung, G. M. and G. E. P. Box, “On a measure of lack of fit in time series models,” Biometrika, Vol. 65, No. 2, pp. 297–303 (1978). 27. Pannocchia, G. and M. Calosi, “A predictor form PARSIMonious algorithm for closed-loop subspace identification,” J. Process Control, Vol. 20, No. 4, pp. 517– 524 (2010). 28. Maciejowski, J. M., Predictive Control with Constraints, Pearson Education Ltd., Essex, UK (2002). 29. Rawlings, J. B. and K. R. Muske, “Stability of constrained receding horizon control,” IEEE Trans. Autom. Control, Vol. 38, No. 10, pp. 1512–1516 (1993). 30. Wang, J. and S. J. Qin, “Closed-loop subspace identification using the parity space,” Automatica, Vol. 42, No. 2, pp. 315–320 (2006).
© 2013 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society
G. Pannocchia et al.: Prediction Error Based Performance Monitoring, Degradation Diagnosis and Remedies in Offset-Free MPC
Gabriele Pannocchia received the M.S. and Ph.D. degrees in Chemical Engineering from the University of Pisa (Italy) in 1998 and 2002, respectively. He held a Visiting Associate position at the University of Wisconsin, Madison (WI, USA) in 2000/ 2001 and in 2008, and a Post-Doctoral position at the University of Pisa from 2002 to 2006. Since 2006 he has been an Assistant Professor at the University of Pisa. Since 2008 he has been Associate Editor of the Journal of Process Control. His research interests include: model predictive control systems, process simulation and optimization, numerical optimization, biomedical applications of automatic control algorithms. Andrea De Luca, received the B.S. and M.S. degrees in Chemical Engineering from the University of Pisa (Italy) in 2008 and 2011, respectively. After graduation he began to work for Solvay Specialty Polymers in Spinetta Marengo (AL, Italy) site as Process Technologist. His main activities
1005
and interests are related to: process design, production assistance and assistance to R&D department in the fluoroelastomer area. Michele Bottai received the B.S. and M.S. degrees in Chemical Engineering from the University of Pisa (Italy) in 2009 and 2012, respectively. After graduation he worked as intern at Italprogetti (Pisa) within the environmental engineering division. Since 2013 he has been employed by Novachem S.r.l. (Milan) as resident chemical engineer at ENI Refining & Marketing division in Livorno. His activities and interests are focused on: model predictive controllers performance monitoring and maintenance, chemical processes optimization and inferential controllers development.
© 2013 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society