Neurocomputing 129 (2014) 570–584
Contents lists available at ScienceDirect
Neurocomputing journal homepage: www.elsevier.com/locate/neucom
Explicit nonlinear predictive control algorithms with neural approximation Maciej Ławryń czuk n Institute of Control and Computation Engineering, Faculty of Electronics and Information Technology, Warsaw University of Technology, ul. Nowowiejska 15/19, 00-665 Warsaw, Poland
art ic l e i nf o
a b s t r a c t
Article history: Received 15 May 2013 Received in revised form 3 September 2013 Accepted 8 September 2013 Communicated by Prof. R. Tadeusiewicz Available online 16 October 2013
This paper describes two nonlinear Model Predictive Control (MPC) algorithms with neural approximation. The first algorithm mimics the MPC algorithm in which a linear approximation of the model is successively calculated on-line at each sampling instant and used for prediction. The second algorithm mimics the MPC strategy in which a linear approximation of the predicted output trajectory is successively calculated on-line. The presented MPC algorithms with neural approximation are very computationally efficient because the control signal is calculated directly from an explicit control law, without any optimisation. The coefficients of the control law are determined on-line by a neural network (an approximator) which is trained off-line. Thanks to using neural approximation, successive on-line linearisation and calculations typical of the classical MPC algorithms are not necessary. Development of the described MPC algorithms and their advantages (good control accuracy and computational efficiency) are demonstrated in the control system of a high-purity high-pressure ethylene-ethane distillation column. In particular, the algorithms are compared with the classical MPC algorithms with on-line linearisation. & 2013 Elsevier B.V. All rights reserved.
Keywords: Process control Model Predictive Control Neural networks Approximation Optimisation Soft computing
1. Introduction Model Predictive Control (MPC) refers to a control strategy in which a dynamic model is used on-line to predict future behaviour of the process [9,26,37,39,42]. The current value of the control signal is repeatedly calculated on-line from an optimisation problem in which, typically, the discrepancy between the predicted output trajectory and the desired reference trajectory over some time horizon is minimised. Although the simplest classical MPC algorithms use for prediction only linear models, they have been successfully used for years in numerous advanced industrial applications [36]. It is because they have a few important advantages. Firstly, constraints imposed on process inputs (manipulated variables) and outputs (controlled variables) or state variables can be easily taken into account, directly in the MPC optimisation problem. In real control systems satisfaction of constraints is crucial because constraints usually determine quality, economic efficiency and safety. Secondly, MPC techniques can be efficiently used for multivariable process and for processes with difficult properties (e.g. with significant time-delays, with the inverse step response).
n
Tel.: þ 48 22 234 76 73; fax: þ 48 22 825 37 19. E-mail address:
[email protected]
0925-2312/$ - see front matter & 2013 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.neucom.2013.09.002
In spite of the fact that the classical linear MPC algorithms quite frequently give good control accuracy, the majority of technological processes are nonlinear by nature. In such cases, when linear MPC algorithms do not give required control performance, nonlinear MPC algorithms based on nonlinear models must be used [15,30,42]. In nonlinear MPC different nonlinear model structures can be used, e.g. Nonlinear Auto Regressive with eXternal input (NARX) polynomial models [41], cascade Wiener [8] and Hammerstein [13] models (a linear dynamic part connected in series with a nonlinear steady-state one), Volterra models [12], Support Vector Machines models [18]. An alternative is to use artificial neural networks [11,25,31,32,40,42], which is very interesting because they offer very good approximation accuracy, have a simple structure and, unlike some of the aforementioned model types, usually have a reasonably low number of parameters. If for prediction in MPC a nonlinear neural model is used directly, the future predictions of the output variable are nonlinear functions of the calculated control policy. As a result, the MPC optimisation problem is a nonlinear task which must be repeatedly solved on-line in real time. Although very high computational complexity of the MPC approach with nonlinear optimisation is evident, its simulations or applications to different real processes can be found in the literature. Example applications include: a continuous pulp digester [3], a forced-circulation evaporator [4], a polymerisation reactor [17], a fuel-ethanol fermentation process [28] and a fluid catalytic cracking unit [44]. For on-line nonlinear
M. Ławryńczuk / Neurocomputing 129 (2014) 570–584
optimisation the Sequential Quadratic Programming (SQP) algorithm is usually used, but applications of an evolutionary strategy [34] and a simulated annealing algorithm [1] are also reported. In order to reduce the computational cost, suboptimal MPC algorithms may be used. In the simplest approach a linear approximation of the neural model is successively calculated on-line at each sampling instant and used for prediction [25,42]. Thanks to linearisation, the MPC optimisation task becomes a quadratic programming problem, which can be solved very efficiently. Example applications include: the autopilot for the F-16 aircraft [2], a solar plant [7], a spark-ignited engine [11,40], a polymerisation reactor and a distillation column [25], chemical extractors [29] and an aircraft gas turbine engine [31]. Alternatively, a linear approximation of the predicted output trajectory may be successively calculated on-line once at each sampling instant [19] or repeated a few times to increase prediction accuracy [20], which also leads to quadratic programming. The MPC approaches with on-line linearisation in practice usually give good control accuracy, very similar, or even the same as the MPC algorithm with full nonlinear optimisation repeated at each sampling instant on-line (comparisons are given, e.g. in [19,20,25,42]). An interesting idea is to use a neural network of a specialised structure for solving the quadratic programming problem in place of a numerical procedure [33]. It is possible to further reduce computational burden associated with the suboptimal MPC algorithms with on-line linearisation. If the constraints are removed from the quadratic programming MPC optimisation problem, it is only necessary to carry out a matrix decomposition task and solve linear equations at each sampling instant, quadratic optimisation is not necessary. Next, the obtained solution is projected onto the admissible set determined by constraints. Implementation details of the explicit MPC algorithm with on-line linearisation and simulation results obtained in the control system of a distillation column are presented in [23]. An alternative is to use approximate MPC algorithms in which the whole control algorithm is replaced by a neural network whose role is to calculate the control signal directly, without any optimisation [5,10,35]. The neural approximator is trained off-line to mimic the MPC algorithm with on-line nonlinear optimisation. This paper describes two explicit nonlinear MPC algorithms with neural approximation: the MPC algorithm with Nonlinear Prediction and Linearisation and Neural Approximation (MPC-NPL-NA) and the MPC algorithm with Nonlinear Prediction and Linearisation along the Trajectory and Neural Approximation (MPCNPLTuðkjk 1Þ NA). The first algorithm mimics the MPC algorithm with successive on-line model linearisation (the MPC algorithm with Nonlinear Prediction and Linearisation (MPC-NPL) [24,25]) whereas the second algorithm mimics the MPC strategy with the predicted output trajectory linearisation (the MPC algorithm with Nonlinear Prediction and Linearisation along the Trajectory (MPC-NPLT) [19]). The considered MPC algorithms are very computationally efficient because the control signal is calculated directly from an explicit control law, without any optimisation. The coefficients of the control law are determined on-line by a neural network (an approximator) which is trained off-line. Thanks to using neural approximation, successive on-line linearisation and calculations typical of the classical explicit MPC algorithms (i.e. a matrix decomposition and linear equations solving) are not necessary. Development of the described explicit MPC algorithms, in particular training and topology selection of the neural approximators, and their advantages (good control accuracy and computational efficiency) are demonstrated in the control system of a high-purity high-pressure ethylene-ethane distillation column. In particular, the algorithms are compared with the classical explicit MPC algorithms with on-line linearisation. This paper is organised as follows. Firstly, Section 2 reminds the general idea of MPC and Section 3 describes the structure of the neural dynamic model of the process. In Section 4 two classical
571
suboptimal explicit MPC algorithms with successive on-line linearisation which motivates development of the approximate algorithms are shortly discussed. Next, the main part of the paper given in Section 5 details two explicit MPC algorithms with neural approximation. Section 6 presents simulation results. Finally, Section 7 concludes the paper.
2. Model Predictive Control problem formulation A good control algorithm should lead to accurate and fast control, i.e. the difference between the measured value of the output variable, y, and its desired set-point (the reference value), yref , should be minimised. One may also expect that changes of the calculated value of the manipulated variable, u, are not very big since excessive increments are likely to badly affect the actuator. A good control algorithm should also have the ability to take into account constraints of process variables, in particular constraints imposed on the value and on the rate of change of the manipulated variable. In MPC algorithms [9,26,37,39,42] at each consecutive sampling instant k not the only the current value of the control signal (i.e. of the input signal of the process), but a set of future control increments is calculated nuðkÞ ¼ ½nuðkjkÞ nuðk þ 1jkÞ…nuðk þ N u 1jkÞT
ð1Þ
where N u is the control horizon and increments are defined as ( uðkjkÞ uðk 1Þ if p ¼ 0 nuðk þ pjkÞ ¼ uðk þ pjkÞ uðk þ p 1jkÞ if p Z 1 It is assumed that nuðk þ pjkÞ ¼ 0 for p Z N u . The objective of the MPC algorithm is to minimise differences between the reference ^ þ pjkÞ, over trajectory, yref ðk þ pjkÞ, and predicted output values, yðk the prediction horizon N, N ZN u , i.e. for p ¼1,…,N, and to penalise excessive control increments. Hence, the following quadratic cost function is usually used: N
Nu 1
p¼1
p¼0
^ þ pjkÞÞ2 þ ∑ λp ðnuðk þpjkÞÞ2 JðkÞ ¼ ∑ ðyref ðk þ pjkÞ yðk
ð2Þ
where λp 4 0 are weighting coefficients (the bigger λp , the slower the algorithm). The problem of tuning MPC algorithms, i.e. adjusting parameters λp , N, Nu , is discussed elsewhere [26,42]. The cost function (2) is minimised on-line. As a result, future control increments (1) are calculated. Only the first element of the determined sequence is applied to the process, i.e. uðkÞ ¼ nuðkjkÞ þ uðk 1Þ. At the next sampling instant, k þ 1, the prediction is shifted one step forward and the whole procedure is repeated. As emphasised in Introduction, the possibility of taking into account constraints is a very important advantage of MPC algorithms. In this paper constraints imposed on input variables are considered. Optimal control increments (1) are repeatedly calculated on-line (at each sampling instant) from the following optimisation problem: min JðkÞ nuðkjkÞ;…;nuðk þ N u 1jkÞ
subject to umin r uðk þpjkÞ r umax ; max
nu
p ¼ 0; …; N u 1
r nuðk þ pjkÞ r numax ;
p ¼ 0; …; Nu 1
ð3Þ
, nu define constraints imposed on the where u , u magnitude of the input variable and on the increment of the input variable, respectively. In MPC algorithms an explicit dynamic model is used in order to predict future behaviour of the process, i.e. to calculate pre^ þ pjkÞ, over the prediction dicted values of the output variable, yðk min
max
max
M. Ławryńczuk / Neurocomputing 129 (2014) 570–584
572
horizon, i.e. for p ¼1,…,N. The general prediction equation is ^ þ pjkÞ ¼ yðk þ pjkÞ þ dðkÞ yðk
ð4Þ
4. Explicit MPC algorithms with successive on-line linearisation
where quantities yðk þpjkÞ are calculated directly from the model used for the sampling instant k þ p at the current instant k. In order to compensate for the disturbance which affects the process and the unavoidable mismatch between the process and its model, an estimation of the unmeasured disturbance d(k) is used for prediction calculation. The “DMC type” disturbance model is frequently used in which the unmeasured disturbance is assumed to be constant over the prediction horizon [42]. The disturbance value is estimated from
This section shortly describes two classical suboptimal explicit MPC algorithms with successive on-line model or trajectory linearisation which motivates development of the MPC algorithms with neural approximation. If the nonlinear neural model is used for prediction calculation in MPC without any simplifications, from Eqs. (4) and (7) one obtains
dðkÞ ¼ yðkÞ yðkjk 1Þ
Using Eq. (8) one has
ð5Þ
where y(k) is the real (measured) value of the output variable, the quantity yðkjk 1Þ is calculated from the model using measurements up to the previous sampling instant (k 1).
K
^ þpjkÞ ¼ w20 þ ∑ w2i φðzi ðk þ pjkÞÞ þdðkÞ yðk
ð9Þ
i¼1
I uf ðpÞ
zi ðk þ pjkÞ ¼ w1i;0 þ ∑ w1i;j uðk τ þ1 jþ pjkÞ j¼1
þ
Iu
∑
j ¼ I uf ðpÞ þ 1
w1i;j uðk τ þ1 jþ pÞ
I yf ðpÞ
^ jþ pjkÞ þ ∑ w1i;Iu þ j yðk
3. Neural dynamic model of the process
j¼1
Let the dynamic process under consideration be described by the following discrete-time NARX model yðkÞ ¼ f ðuðk τÞ; …; uðk nB Þ; yðk 1Þ; …; yðk nA ÞÞ
ð6Þ
where f : RnA þ nB τ þ 1 -R is a nonlinear function which describes the model, integers nA , nB , τ define the order of dynamics, τ r nB . Although, in general, various nonlinear model structures may be used for prediction in MPC, in this study the Multi Layer Perceptron (MLP) neural network with one hidden layer and a linear output [14] is used. The MLP network is a universal approximator [16] capable of approximating any smooth function to an arbitrary degree of accuracy. The structure of the neural model is depicted in Fig. 1. The output of the model is K
yðkÞ ¼ w20 þ ∑ w2i φðzi ðkÞÞ
ð7Þ
þ
nA
∑
j ¼ I yf ðpÞ þ 1
j¼1
nA
!#
þ ∑ w1i;Iu þ j yðk jÞ j¼1
4.1. Explicit MPC algorithm with nonlinear prediction and linearisation (MPC-NPL)
zi ðkÞ ¼ w1i;0 þ ∑ w1i;j uðk τ þ 1 jÞ j¼1
nA
Iu
K
dðkÞ ¼ yðkÞ w20 þ ∑ w2i φ w1i;0 þ ∑ w1i;j uðk τ þ 1 jÞ
where zi(k) are sums of inputs of the ith hidden node, φ : R-R is the nonlinear transfer function (e.g. the hyperbolic tangent), K is the number of hidden nodes. Taking into account input arguments of the nonlinear NARX model (6) one has Iu
ð10Þ
where I uf ðpÞ ¼ maxðminðp τ þ 1; I u Þ; 0Þ, I yf ðpÞ ¼ minðp 1; nA Þ. It is clear that if for prediction a nonlinear neural model is used ^ þ pjkÞ are nonlinear functions of the future directly, predictions yðk control policy, i.e. of the future control signals uðkjkÞ; uðk þ 1jkÞ; …, which depend on control increments (1) calculated at the current sampling instant. As a result, the MPC optimisation problem (3) becomes a nonlinear task which must be repeatedly solved on-line in real time. Such an approach is not only computationally demanding, but also there is no guarantee of finding the global optimum to the nonlinear MPC optimisation problem. From Eqs. (5), (7) and (8), the unmeasured disturbance is estimated as " i¼1
i¼1
þ ∑ w1i;Iu þ j yðk jÞ
w1i;Iu þ j yðk j þ pÞ
ð8Þ
j¼1
where I u ¼ nB τ þ 1. Weights of the network are denoted by w1i;j , i¼1,…,K, j ¼ 0; …; nA þ nB τ þ 1, and w2i , i¼0,…,K, for the first and the second layers, respectively.
Using the Taylor series expansion formula, a linear approximation of the model (6), i.e. linearisation of the function yðkÞ : RnA þ nB τ þ 1 -R, is nB
yðkÞ ¼ f ðxðkÞÞ þ ∑ bl ðkÞðuðk lÞ uðk lÞÞ l¼τ
nA
∑ al ðkÞðyðk lÞ yðk lÞÞ
ð11Þ
l¼1
where the linearisation point corresponds to arguments of the model (6), it consists of past input and output signals (measurements) xðkÞ ¼ ½uðk τÞ…uðk nB Þ yðk 1Þ…yðk nA ÞT
Fig. 1. The structure of the neural dynamic model.
ð12Þ
The time-varying coefficients of the linearised model are calculated on-line from ∂f ðxðkÞÞ ∂f ðxðkÞÞ ; bl ðkÞ ¼ al ðkÞ ¼ ∂yðk lÞ xðkÞ ¼ xðkÞ ∂uðk lÞ xðkÞ ¼ xðkÞ
M. Ławryńczuk / Neurocomputing 129 (2014) 570–584
Implementation details concerning on-line linearisation of the MLP neural model are given in [24,25]. Let yref ðkÞ ¼ ½yref ðk þ 1jkÞ…yref ðk þ NjkÞT ^ ^ þ1jkÞ…yðk ^ þ NjkÞT yðkÞ ¼ ½yðk
ð13Þ
be vectors of length N and Λ ¼ diagðλ0 ; …; λNu 1 Þ be a diagonal matrix of dimensionality N u N u . The MPC cost function (2) can be expressed in a compact form ^ J 2 þ J nuðkÞ J 2Λ JðkÞ ¼ J yref ðkÞ yðkÞ
ð14Þ
It can be shown [24] that if the linear approximation (11) of the original nonlinear model (6) is used for prediction in MPC, the output prediction vector is a nonlinear function of the calculated future control policy nuðkÞ ^ yðkÞ ¼ GðkÞnuðkÞ þ y0 ðkÞ The dynamic matrix 2 0 s1 ðkÞ 6 s1 ðkÞ 6 s2 ðkÞ GðkÞ ¼ 6 6 ⋮ ⋮ 4 sN ðkÞ sN 1 ðkÞ
ð15Þ
…
0
…
0
⋱
⋮
…
sN Nu þ 1 ðkÞ
3 7 7 7 7 5
of dimensionality N N u contains step-response coefficients of the linearised model (11). It is calculated on-line taking into account the current operating point of the process defined by the vector xðkÞ given by Eq. (12). The free trajectory vector y0 ðkÞ ¼ ½y0 ðk þ 1jkÞ…y0 ðk þ NjkÞT depends only on the past. It is calculated recurrently on-line from the nonlinear model of the process. For the considered neural model, from Eq. (7), one has K
y0 ðk þpjkÞ ¼ w20 þ ∑ w2i φðz0i ðk þ pjkÞÞ þdðkÞ i¼1
where, from Eq. (10), assuming that uðk þ pjkÞ ¼ uðk 1Þ for p Z 0 ^ þ pjkÞ ¼ y0 ðk þ pjkÞ for p Z 1, one has and yðk z0i ðk þpjkÞ ¼ w1i;0 þ þ
I uf ðpÞ
∑
j¼1
Iu
∑
j ¼ I uf ðpÞ þ 1
w1i;j uðk 1Þ
nuðkjkÞ ¼ K 1NPL ðkÞðyref ðkÞ y0 ðkÞÞ
is the first row of the matrix K NPL ðkÞ. As a result, one where obtains a time-varying feedback law (19) from the difference between the reference trajectory and the free trajectory. The control law is time-varying because the gain matrix K 1NPL ðkÞ depends on the dynamic matrix GðkÞ, which is calculated at each sampling instant from the local linearisation of the nonlinear model. It means that matrix inverse must be calculated at each algorithm iteration on-line. For this purpose different methods can be used, including Singular Value Decomposition (SVD) as described in [26,42]. A sound, computationally not demanding alternative is to use the LU (Low-Upper) decomposition with partial pivoting of the matrix GT ðkÞGðkÞ þ Λ and solve only one linear equation (for single-input single-output processes) [23]. Up till now constraints have not been considered during calculation of the control signal, because by doing so it would be impossible to derive the explicit control law (19). In real-life control systems constraints always exist. Usually, they result from actuators’ limitations. Another constraints may be necessary to guarantee fulfilment of some technological requirements (e.g. temperature, pressure, purity). Moreover, constraints may be necessary from safety reasons. In the rudimentary MPC optimisation problem (3) constraints are imposed on the magnitude of the input variable and on the increment of the input variable over the whole control horizon (i.e. all calculated control signals are constrained), in the explicit algorithm not the whole vector nuðkÞ is calculated, but only the current control increment nuðkjkÞ. Therefor, the following constraints are imposed on magnitude and increment of the manipulated variable umin r uðkjkÞ r umax ;
numax r nuðkjkÞ r numax
The calculated current control increment nuðkjkÞ determined from Eq. (19) is projected onto the admissible set of constraints. The projection procedure is if nuðkjkÞ 4nu
max
;
set nuðkjkÞ ¼ numax set nuðkjkÞ ¼ numax
calculate uðkjkÞ ¼ nuðkjkÞ þ uðk 1Þ
j¼1
if uðkjkÞ o umin ;
nA
∑
j ¼ I yp ðpÞ þ 1
max
if uðkjkÞ 4 u
w1i;Iu þ j yðk j þ pÞ
Taking into account the prediction equation (15) and removing (temporarily) the constraints from the MPC optimisation problem (3), from Eq. (14) one obtains minf JðkÞ ¼ J yref ðkÞ GðkÞnuðkÞ y0 ðkÞ J 2 þ J nuðkÞ J 2Λ g
nuðkÞ
ð16Þ
Due to the fact that a linear approximation of the nonlinear model is used for prediction, the minimised cost function J(k) is quadratic. Hence, the unique solution to the optimisation problem (16) is obtained by equating its first-order derivative dJðkÞ ¼ 2GT ðkÞðyref ðkÞ GðkÞnuðkÞ y0 ðkÞÞ þ 2ΛnuðkÞ dnuðkÞ to a zeros vector of length N u . The optimal control moves are nuðkÞ ¼ K NPL ðkÞðyref ðkÞ y0 ðkÞÞ
ð17Þ
where K NPL ðkÞ ¼ ðGT ðkÞGðkÞ þ ΛÞ 1 GT ðkÞ
ð18Þ
ð19Þ
K 1NPL ðkÞ
I yp ðpÞ
þ ∑ w1i;Iu þ j y0 ðk jþ pjkÞ þ
is a matrix of dimensionality N u N. Because at the current sampling instant k only the first element of the vector nuðkÞ is actually used for control, it is only calculated. Remaining Nu 1 elements are not determined. From Eq. (17) one has
if nuðkjkÞ o numax ;
w1i;j uðk τ þ 1 j þ pÞ
573
;
set uðkjkÞ ¼ umin set uðkjkÞ ¼ umax
ð20Þ
The above procedure (unconstrained optimisation (16) and projection (20)) is suboptimal, because it may give a different value of the current control signal than the constrained optimisation (3). The general structure of the classical explicit MPC-NPL algorithm is shown in Fig. 2. At each sampling instant k of the algorithm the following steps are repeated: 1. The local linear approximation of the neural model is obtained for the current operating point of the process. 2. The step-response coefficients of the linearised model are calculated and the dynamic matrix GðkÞ is formed. 3. The unmeasured disturbance d(k) is estimated. 4. The nonlinear free trajectory y0 ðkÞ is found. 5. The time-varying vector K 1NPL ðkÞ is found by carrying out the LU matrix decomposition and solving a linear equation. 6. The current control increment nuðkjkÞ is calculated from Eq. (19). 7. The obtained solution is projected onto the admissible set of constraints using the procedure given by Eq. (20). 8. The calculated signal uðkjkÞ is applied to the process.
M. Ławryńczuk / Neurocomputing 129 (2014) 570–584
574
Fig. 2. The structure of the explicit MPC-NPL algorithm.
9. The iteration of the algorithm is increased, i.e. k≔k þ 1, the algorithm goes to step 1.
is of dimensionality N N u . The prediction equation (21) can be easily rewritten as
Implementation details of the algorithms are given in [23].
traj ^ yðkÞ ¼ HðkÞJnuðkÞ þ y^ ðkÞ þ HðkÞðuðk 1Þ utraj ðkÞÞ
4.2. Explicit MPC algorithm with nonlinear prediction and linearisation along the trajectory (MPC-NPLT) In the MPC-NPL algorithm the nonlinear neural model is linearised at each sampling instant on-line for the current operating point of the process. The obtained linear approximation is used for prediction over the whole prediction horizon. Such an approach may give not very good control quality for significantly nonlinear processes, in particular when the prediction horizon is long and changes of the reference trajectory are fast and big. A conceptually better method is to calculate successively on-line linearisations not for the current operating point of the process but for an assumed future input trajectory utraj ðkÞ ¼ ½utraj ðkjkÞ…utraj ðk þ N u 1jkÞT of course remembering that utraj ðk þ pjkÞ ¼ utraj ðk þ Nu 1jkÞ for p ¼ N u ; …; N. By means of the general prediction equation (4) which, for the considered neural model leads to Eqs. (9) and (10), one can find the future predicted output trajectory
ð22Þ
where J is the all ones lower triangular matrix of dimensionality Nu N u . Although in the MPC-NPLT algorithm linearisation is carried out along a trajectory, the obtained prediction equation (22) is a linear function of the future control increments nuðkÞ, as the prediction equation (15) used in the MPC-NPL algorithm. From Eqs. (14) and (22), analogously as in the MPC-NPL algorithm (Eq. (16)), one obtains the quadratic programming task min f JðkÞ ¼ J yref ðkÞ HðkÞJnuðkÞ y^
nuðkÞ
traj
ðkÞ
HðkÞðuðk 1Þ utraj ðkÞÞ J 2 þ J nuðkÞ J 2Λ g
ð23Þ
Because the minimised cost function J(k) is quadratic, the unique solution to the optimisation problem (23) is obtained by equating its first-order derivative dJðkÞ traj ¼ 2J T H T ðkÞðyref ðkÞ HJðkÞnuðkÞ y^ ðkÞ dnuðkÞ HðkÞðuðk 1Þ utraj ðkÞÞÞ þ2ΛnuðkÞ
traj traj traj y^ ðkÞ ¼ ½y^ ðk þ1jkÞ…y^ ðk þNjkÞT
corresponding to the input trajectory utraj ðkÞ. Using the Taylor series expansion formula, a linear approximation of the nonlinear output ^ trajectory yðkÞ along the input trajectory utraj ðkÞ, i.e. linearisation ^ ^ of the function yðuðkÞÞ : RNu -RN where yðkÞ is defined by Eq. (13) and T
uðkÞ ¼ ½uðkjkÞ…uðk þ Nu 1jkÞ
traj ^ yðkÞ ¼ y^ ðkÞ þ HðkÞðuðkÞ utraj ðkÞÞ
ð21Þ
The matrix
2
^ dyðkÞ duðkÞ
y^ ðkÞ ¼ y^ traj ðkÞ uðkÞ ¼ utraj ðkÞ
traj ∂y^ ðk þ 1jkÞ 6 6 ∂utraj ðkjkÞ 6 ⋮ ¼6 6 6 ∂y^ traj ðk þNjkÞ 4
∂utraj ðkjkÞ
traj nuðkÞ ¼ K NPLT ðkÞðyref ðkÞ y^ ðkÞÞ þ K u ðkÞðuðk 1Þ utraj ðkÞÞ
ð24Þ
where K NPLT ðkÞ ¼ ðJ T H T ðkÞMHðkÞJ þ ΛÞ 1 J T H T ðkÞM K u ðkÞ ¼ K NPLT ðkÞHðkÞ
is
HðkÞ ¼
to a zeros vector of length N u . The optimal control moves are
ð25Þ
are matrices of dimensionality N u N and Nu N u , respectively. Because at the current sampling instant k only the first element of the vector nuðkÞ is actually used for control, it is only calculated. From Eq. (24) one has
traj
¼
dy^ ðkÞ dutraj ðkÞ ⋯ ⋱ ⋯
traj ∂y^ ðk þ 1jkÞ ∂utraj ðk þ N u 1jkÞ ⋮ traj ∂y^ ðk þ NjkÞ
∂utraj ðk þ N u 1jkÞ
3 7 7 7 7 7 7 5
nuðkjkÞ ¼ K 1NPLT ðkÞðyzad ðkÞ y^
traj
ðkÞÞ þK 1u ðkÞðuðk 1Þ utraj ðkÞÞ
ð26Þ
where K 1 ðkÞ is the first row of the matrix KðkÞ and K 1u ðkÞ is the first row of the matrix K u ðkÞ. Selection of the future input trajectory utraj ðkÞ affects the linearisation accuracy and, in consequence, quality of control. The simplest choice is to use the control signal calculated at the
M. Ławryńczuk / Neurocomputing 129 (2014) 570–584
previous sampling instant, i.e. utraj ðkÞ ¼ ½uðk 1Þ…uðk 1ÞT Such a future input trajectory results in the predicted output trajectory, which is in fact the free trajectory. Let this version of the MPC-NPLT algorithm be denoted by MPCNPLTuðk 1Þ . Such an approach is particularly interesting because, for utraj ðkÞ ¼ uðk 1Þ traj and y^ ðkÞ ¼ y0 ðkÞ, from Eq. (26), one obtains nuðkjkÞ ¼ K 1NPLT ðkÞðyref ðkÞ y0 ðkÞÞ
ð27Þ
It necessary to point out that the increment of the current control signal is calculated from a very similar equation as in the MPC-NPL algorithm (Eq. (19)), but the vectors K 1NPL ðkÞ and K 1NPLT ðkÞ are different. When the model is linearised for the current operating point of the process in the MPC-NPL algorithm, the vector K 1NPL ðkÞ given by Eq. (18) is a function of the step response coefficients of the linearised model (the matrix GðkÞ), when the predicted trajectory is linearised along an input trajectory in the MPC-NPLT algorithm, the vector K 1NPLT ðkÞ given by Eq. (25) is a function of the derivatives of the predicted output trajectory with respect to the input trajectory (the matrix HðkÞ). The general structure of the classical explicit MPC-NPLT algorithm is shown in Fig. 3. At each sampling instant k of the algorithm the following steps are repeated:
575
1. The unmeasured disturbance d(k) is estimated. 2. The nonlinear free trajectory y0 ðkÞ is found. ^ 3. The linear approximation of the future output trajectory yðkÞ along the trajectory utraj ðkÞ ¼ uðk 1Þ is obtained, i.e. the entries of the matrix HðkÞ are calculated. 4. The time-varying vector K 1NPLT ðkÞ is found by carrying out the LU matrix decomposition and solving a linear equation. 5. The current control increment nuðkjkÞ is calculated from Eq. (27). 6. The obtained solution is projected onto the admissible set of constraints using the procedure given by Eq. (20). 7. The calculated signal uðkjkÞ is applied to the process. 8. The iteration of the algorithm is increased, i.e. k≔k þ1, the algorithm goes to step 1. A preliminary short description of the MPC-NPLT algorithm, but not in its explicit version, but with on-line quadratic programming is given in the conference paper [19].
5. Explicit MPC algorithms with neural approximation This section details two explicit MPC algorithms with neural approximation in which a neural network calculates on-line coefficients of the control law. The algorithms mimic the classical MPC algorithms with on-line model or trajectory linearisation described in the previous section.
Fig. 3. The structure of the explicit MPCNPLTuðkjk 1Þ algorithm.
Fig. 4. The structure of the explicit MPC-NPL-NA algorithm with neural approximation.
576
M. Ławryńczuk / Neurocomputing 129 (2014) 570–584
5.1.1. Neural approximator for the MPC-NPL-NA algorithm The first neural network (NN1 ) calculates on-line the approximation of the control law vector h i 1 1 K 1NPL ðkÞ ¼ kNPL;1 ðkÞ…kNPL;N ðkÞ ð28Þ for the current operating point of the process. The current operating point is defined by measurements ~ xðkÞ ¼ ½uðk 1Þ…uðk n~ B Þ yðkÞ…yðk n~ A ÞT
Fig. 5. The structure of the neural approximator (the network NN1 ) used in the explicit MPC-NPL-NA algorithm.
5.1. MPC algorithm with nonlinear prediction and linearisation and neural approximation (MPC-NPL-NA) At each sampling instant of the classical explicit MPC-NPL algorithm, the structure of which is depicted in Fig. 2, a linear approximation of the neural model is calculated, next the linearised model is used to find the step-response coefficients which comprise the matrix GðkÞ. The optimal (unconstrained) control increment for the current sampling instant depends in Eq. (19) on the vector K 1NPL ðkÞ, which is a function of the step response coefficient of the linearised model (Eq. (18)). In particular, matrix inverse must be calculated at each sampling instant on-line, which can be done by carrying out the LU matrix decomposition and linear equation solving. The structure of the explicit MPC-NPL-NA algorithm with neural approximation algorithm is depicted in Fig. 4. It is inspired by the classical explicit MPC-NPL algorithm. In the MPC-NPL-NA algorithm two neural networks are used: the neural approximator (NN1 ) and the neural dynamic model (NN2 ) described in Section 3. The objective of the first network is to calculate (approximate) on-line the time-varying control law vector K 1NPL ðkÞ for the current operating point of the process. At each sampling instant k of the algorithm the following steps are repeated: 1. The unmeasured disturbance d(k) is estimated using the neural dynamic model of the process (the network NN2 ). 2. The nonlinear free trajectory y0 ðkÞ is found using the neural dynamic model of the process (the network NN2 ). 3. The time-varying vector control law K 1NPL ðkÞ is found using the neural approximator (the network NN1 ). 4. The current control increment nuðkjkÞ is calculated from Eq. (19). 5. The obtained solution is projected onto the admissible set of constraints using the procedure given by Eq. (20). 6. The calculated signal uðkjkÞ is applied to the process. 7. The iteration of the algorithm is increased, i.e. k≔k þ 1, the algorithm goes to step 1. In consequence, unlike the classical explicit MPC-NPL algorithm: (a) a local linear approximation of the nonlinear neural model is not successively calculated on-line, (b) step-response coefficients of the linearised model and the dynamic matrix GðkÞ are not calculated on-line, (c) the inverse matrix ðGT ðkÞGðkÞ þ ΛÞ 1 is not calculated on-line by means of the LU matrix decomposition and linear equation solving. A preliminary short description of the MPC-NPL-NA algorithm is given in the conference paper [22].
ð29Þ
The operating point is defined by the most recent measurement of the output signal (y(k)), the most recent available input signal (uðk 1Þ) and some input and output signals from previous sampling instants. The neural approximator is described by the general nonlinear functions 1 ~ kNPL;p ðkÞ ¼ f~ p ðxðkÞÞ
where f~ p : RnA þ nB þ 1 -RN , p ¼1,…,N. In this study the MLP neural network with one hidden layer and linear outputs [14] is used. The ~ network NN1 has n~ A þ n~ B þ 1 inputs (elements of the vector xðkÞ), K~
hidden nodes and N outputs (elements of the vector K 1NPL ðkÞ). The structure of the neural approximator is depicted in Fig. 5. The consecutive outputs of the network are ! K~
1 ~ 2p;0 þ ∑ w ~ 2p;i φ kNPL;p ðkÞ ¼ w i¼1
n~ B
n~ A
j¼1
j¼0
~ 1i;j uðk jÞ þ ∑ w ~ 1i;n~ þ j yðk jÞ ∑ w B
where φ : R-R is the nonlinear transfer function (e.g. the hyperbolic tangent). Weights of the network are denoted by w1i;j , i ¼ 1; …; K~ , j ¼ 1; …; nA þ nB þ 1, and w2i;j , i¼ 1,…,N, j ¼ 1; …; K~ for the first and the second layers, respectively. In the explicit MPC-NPL-NA algorithm the neural approximator is designed for some specific values of the weighting coefficients λp , for some chosen length of the prediction and control horizons, N and N u . The prediction horizon directly determines its complexity (i.e. the number of outputs is N), but the control horizon Nu does not affect the structure and complexity of the approximator (the current control increment nuðkjkÞ is only calculated). The neural network NN1 is in fact a steady-state approximator, it is not trained recurrently. There are two methods for gathering the data necessary to train (and validate) the neural approximator used in the MPC-NPLNA algorithm: 1. Having obtained the dynamic neural model (the network NN2 ), the explicit MPC-NPL algorithm with on-line model linearisation described in the previous section is developed. Next, the algorithm is simulated (or applied to a real process) for a randomly changing reference trajectory. Measurements of the input and output signals (29) which define the operating point are recorded, they are inputs of the neural approximator. During simulations a linear approximation of the model is successively found on-line for various operating conditions, step response coefficients and the elements of the time-varying control law vector K 1NPL ðkÞ are calculated and recorded, they are desired outputs of the neural approximator (targets). 2. Alternatively, data sets can be generated without the necessity of simulating (or running) the MPC-NPL algorithm. The dynamic neural model NN2 is simulated open-loop (without any controller), as the excitation signal the data set used for training the dynamic neural model is used (or similar excitation signals are used). During simulations the model is successively linearised for various operating conditions, step response coefficients and the elements of the time-varying control law vector K 1NPL ðkÞ are calculated and recorded.
M. Ławryńczuk / Neurocomputing 129 (2014) 570–584
5.2. MPC algorithm with nonlinear prediction and linearisation along the trajectory and neural approximation ðMPCNPLTuðkjk 1Þ NAÞ At each sampling instant of the classical explicit MPC NPLTuðkjk 1Þ algorithm, the structure of which is depicted in Fig. 3, a linear approximation of the predicted output trajectory is calculated, i.e. the matrix HðkÞ containing the derivatives of the predicted trajectory with respect to the future input trajectory utraj ðkÞ ¼ uðk 1Þ is determined. The optimal (unconstrained) control increment for the current sampling instant depends in Eq. (26) on the vector K 1NPLT ðkÞ, which is a function of the matrix HðkÞ (Eq. (25)). In particular, matrix inverse must be calculated at each sampling instant on-line, which can be done by carrying out the LU matrix decomposition and linear equation solving. Because the control law used in the MPCNPLTuðkjk 1Þ algorithm (Eq. (27)) has the same form as the control law of the MPC-NPL approach (Eq. (19)), the general structure of the MPCNPLTuðkjk 1Þ NA algorithm with neural approximation is the same as that of the MPC-NPL-NA depicted in Fig. 4. The only difference is the fact that the neural network NN1 approximates on-line the elements of the vector K 1NPLT ðkÞ, not elements of the vector K 1NPL ðkÞ as it is done in the MPC-NPL algorithm. The neural dynamic model (the network NN2 ) is the same as in the MPCNPL-NA algorithm and the classical explicit algorithms (Section 3). At each sampling instant k of the algorithm the following steps are repeated: 1. The unmeasured disturbance d(k) is estimated using the neural dynamic model of the process (the network NN2 ). 2. The nonlinear free trajectory y0 ðkÞ is found using the neural dynamic model of the process (the network NN2 ). 3. The time-varying control law vector K 1NPLT ðkÞ is found using the neural approximator (the network NN1 ). 4. The current control increment nuðkjkÞ is calculated from Eq. (27). 5. The obtained solution is projected onto the admissible set of constraints using the procedure given by Eq. (20). 6. The calculated signal uðkjkÞ is applied to the process. 7. The iteration of the algorithm is increased, i.e. k≔k þ 1, the algorithm goes to step 1.
577
In consequence, unlike the classical explicit MPC-NPLT algorithm: ^ (a) The derivatives of the predicted output trajectory yðkÞ with respect to the respect to the future input trajectory utraj ðkÞ ¼ uðk 1Þ (the elements of the matrix HðkÞ) are not successively calculated on-line. (b) The inverse matrix ðJ T H T ðkÞMHðkÞJ þ ΛÞ 1 is not calculated online by means of the LU matrix decomposition and linear equation solving.
5.2.1. Neural approximator for the MPCNPLTuðkjk 1Þ NA algorithm The first neural network (NN1 ) calculates on-line the approximation of the control law vector h i 1 1 K 1NPLT ðkÞ ¼ kNPLT;1 ðkÞ…kNPLT;N ðkÞ for the current operating point of the process which is defined in the same way it is done in the MPC-NPL-NA algorithm, by recent measurements of the process input and output signal (Eq. (29)). The neural approximator is described by the general nonlinear functions ~ kNPLT;p ðkÞ ¼ f~ p ðxðkÞÞ 1
where f~ p : RnA þ nB þ 1 -RN , p¼1,…,N. The network NN1 has a very similar structure as the network used in the MPC-NPL-NA algorithm 1 1 (Fig. 5), but its consecutive outputs are kNPLT;1 ðkÞ; …; kNPLT;N ðkÞ. Similarly to the explicit MPC-NPL-NA algorithm the neural approximator is designed for the chosen values of the weighting coefficients λp and the chosen length of the prediction and control horizons, N and N u . The number of outputs is determined by the prediction horizon N while the control horizon N u does not affect the structure and complexity of the approximator. There are two methods for gathering the data necessary to train (and validate) the neural approximator used in the MPCNPLTuðkjk 1Þ NA algorithm, very similar to those used in the case of the MPC-NPL-NA one (Section 5.1.1), but trajectory linearisation rather than model linearisation is carried out. The derivatives of the predicted output trajectory with respect to the future input trajectory utraj ðkÞ ¼ uðk 1Þ (the elements of the matrix HðkÞ) are successively found on-line for various operating conditions and the elements of the time-varying control law vector K 1NPLT ðkÞ are calculated and recorded.
6. Simulation results 6.1. The distillation column
Fig. 6. The high-purity high-pressure ethylene-ethane distillation column control system structure.
The studied dynamic process is a high-purity, high-pressure (1.93 MPa) ethylene-ethane distillation column shown in Fig. 6, [42,43]. It is used in a leading Polish refinery. The feed stream consists of ethylene (approx. 80%), ethane (approximately 20%) and traces of hydrogen, methane and propylene. The product of the distillation process is ethylene which can contain up to 1000 ppm (parts per million) of ethane. The objective is to develop a supervisory MPC controller which could be able to increase relatively fast the impurity level when it is possible, i.e. when the composition changes in the feed stream are insignificant (the decision is taken by a process operator). Reducing the purity of the product, of course taking into account the technological limit, results in decreasing energy consumption. The production scale is very big, the nominal value of the product stream flow rate is 43 tons/h. The column has 121 trays, the feed stream is delivered to the tray number 37.
578
M. Ławryńczuk / Neurocomputing 129 (2014) 570–584
Fig. 7. The training data set used for development of the neural approximator for the MPC-NPL-NA algorithm: the input signal r (top-left panel), the output signal z for a series of random changes of the reference trajectory zref (top-right panel) and elements of the time-varying control law vector K 1NPL (bottom panel).
The basic control layer of the distillation column is comprised of 3 fast single-loop PID controllers (denoted as LC and TC.) They are used to stabilise levels in reflux and bottom product tanks and the temperature on the tray number 13. The supervisory MPC control loop has one manipulated variable r, which is the reflux ratio r ¼R/P, where R and P are reflux and product stream flow rates, respectively, and one controlled variable z, which represents the impurity of the product. The reflux is delivered to the column by the top tray and the product is taken from the tray number 110. Sampling time of the MPC algorithms is 40 min. (enforced by a slow composition analyser). The considered distillation column manifests significantly nonlinear behaviour. As demonstrated in [20], accuracy of the linear model is very low. A direct consequence of this fact is that the classical MPC algorithm in which such models are used for prediction is not satisfactory. Inadequacy of linear MPC applied for the studied process is also discussed in [42,43]. As the simulated process a model based on technological considerations is used. A detailed study showing development of a neural dynamic model of the distillation column (the network NN2 ) is given in [20]
and is not repeated here. The MLP neural network is chosen with K ¼5 hidden nodes and inputs uðk 3Þ and yðk 1Þ, so the model can be described by the general equation yðkÞ ¼ f ðuðk 3Þ; yðk 1ÞÞ
ð30Þ
Because input and output process variables have different orders of magnitude, they are scaled u¼
10 ðr r nom Þ; 3
y ¼ 0:001ðz znom Þ
where r nom ¼ 4:3399, znom ¼ 100:2275 correspond to the nominal operating conditions of the process. The hyperbolic tangent transfer function is used in the hidden layer. The considered neural model is much better than the linear one. Simulation results of the MPC-NPL algorithm are reported in [20,42,43], simulation results of the MPCNPLT algorithm are discussed in [19], an application of a quite complex MPC algorithm with iteratively updated trajectory linearisation (at each sampling instant) to the distillation process is described in [20]. All mentioned MPC algorithms are implemented in their numerical versions, in which quadratic programming is used on-line at each sampling instant. In all cited works the same neural dynamic
M. Ławryńczuk / Neurocomputing 129 (2014) 570–584
model is used for prediction, linearisation, unmeasured disturbance estimation etc. Unfortunately, neither explicit nor approximate MPC approaches have not been discussed yet for the distillation column.
579
The parameters of all the MPC algorithm discussed next are the same as in [20]: the prediction horizon is N ¼10, the control horizon is N u ¼ 3, the penalty coefficients are λp ¼ 2. 6.2. Development of approximators
Table 1 Comparison of linear and neural approximators for the MPC-NPL-NA algorithm for different structures of approximators (n~ A ¼ 0; 1; 2; 3, n~ B ¼ 1, K~ ¼ 1; 2; 3; 4; 5), SSEtrain , SSEval , SSEtest –approximator errors for training, validation and test data sets. Approximator n~ A n~ B K~ Parameters SSEtrain
SSEval
SSEtest
Linear Neural Neural Neural Neural Neural
0 0 0 0 0 0
1 1 1 1 1 1
– 1 2 3 4 5
24 19 30 41 52 63
1.2410 100 5.4990 10 1 3.2969 10 1 3.0862 10 1 2.9319 10 1 2.7685 10 1
1.9765 100 8.8856 10 1 4.6541 10 1 4.1750 10 1 3.9854 10 1 3.9111 10 1
– – – – – –
Linear Neural Neural Neural Neural Neural
1 1 1 1 1 1
1 1 1 1 1 1
– 1 2 3 4 5
32 20 32 44 56 68
7.9714 10 1 4.0198 10 1 1.6969 10 1 1.3967 10 1 1.2929 10 1 1.1922 10 1
1.3964 100 7.0025 10 1 2.6549 10 1 2.1472 10 1 1.9433 10 1 1.8819 10 1
– – – – – –
Linear Neural Neural Neural Neural Neural
2 2 2 2 2 2
1 1 1 1 1 1
– 1 2 3 4 5
40 21 34 47 60 73
7.7205 10 1 3.9886 10 1 1.6528 10 1 1.3254 10 1 1.2337 10 1 1.2114 10 1
1.3522 100 6.9747 10 1 2.6622 10 1 2.0922 10 1 1.9973 10 1 1.8281 10 1
– – – – – –
Linear Neural Neural Neural Neural Neural
3 3 3 3 3 3
1 1 1 1 1 1
– 1 2 3 4 5
48 22 36 50 64 78
7.7041 10 1 3.9878 10 1 1.6502 10 1 1.3243 10 1 1.2277 10 1 1.1461 10 1
1.3519 100 6.9751 10 1 2.6680 10 1 2.0874 10 1 1.8874 10 1 1.8518 10 1
– – – – – –
Table 2 Comparison of linear and neural approximators for the MPC-NPL-NA algorithm for different structures of approximators (n~ A ¼ 0; 1; 2; 3, n~ B ¼ 2, K~ ¼ 1; 2; 3; 4; 5), SSEtrain , SSEval , SSEtest –approximator errors for training, validation and test data sets. Approximator n~ A n~ B K~ Parameters SSEtrain
SSEval
SSEtest
6.2.1. Approximators for the MPC-NPL-NA algorithm At first, the classical explicit MPC-NPL algorithm is developed. It is based on the neural dynamic model (30). The algorithm is simulated for a randomly changing reference trajectory zref . As a result of simulations, it is possible to obtain the input signal r, the output signal z and elements of the control law vector K 1NPL ðkÞ (Eq. (28)). Because the process is characterised by a delay (τ ¼ 3), the first two elements of the control law vector are always 0. That is why it is necessary to record during simulations only quantities 1 1 kNPL;3 ðkÞ…kNPL;N ðkÞ. Fig. 7 shows all the signals which comprise the training data set used for development of the neural approximator for the MPC-NPL-NA algorithm (the validation and test data sets are not shown as they are similar). All sets contain 1500 samples. Three sets of data are used for finding the neural approximator [38]. The training data set is used only for model training during which the following Sum of Squared Errors (SSE) performance function is minimised S
SSE ¼ ∑
N
1;approx
∑ ðkNPL;p
k¼1p¼3
1
ðkÞ kNPL;p ðkÞÞ2
1;approx
where kNPL;p ðkÞ denotes the output of the neural approximator, 1 kNPL;p ðkÞ is the real value of the recorded signal, S is the number of training samples. In order to obtain approximators which have good generalisation properties, the value of the SSE index for the validation set is monitored during training. When the validation error increases, training is terminated to avoid overfitting. Approximator selection is performed taking into account the value of SSE only for validation data sets. The test data set is used to independently assess generalisation abilities of the chosen approximator. For training the quasi-Newton
Table 3 Comparison of linear and neural approximators for the MPC-NPL-NA algorithm for different structures of approximators (n~ A ¼ 0; 1; 2; 3, n~ B ¼ 3, K~ ¼ 1; 2; 3; 4; 5), SSEtrain , SSEval , SSEtest –approximator errors for training, validation and test data sets. Approximator n~ A n~ B K~ Parameters SSEtrain
SSEval
SSEtest
Linear Neural Neural Neural Neural Neural
0 0 0 0 0 0
3 3 3 3 3 3
– 1 2 3 4 5
48 21 34 47 60 73
1.0105 100 2.5197 10 1 1.9136 10 2 1.9874 10 3 1.4051 10 4 8.0200 10 5
1.5871 100 4.6290 10 1 3.5402 10 2 3.7078 10 3 8.4768 10 4 2.2091 10 4
– – – – – –
– – – – – –
Linear Neural Neural Neural Neural Neural
1 1 1 1 1 1
3 3 3 3 3 3
– 1 2 3 4 5
48 22 36 50 64 78
5.4361 10 1 2.5173 10 1 1.8686 10 2 2.0778 10 3 1.3200 10 4 2.6297 10 5
9.2884 10 1 4.6223 10 1 2.6934 10 2 4.3059 10 3 7.4407 10 4 5.1697 10 4
– – – – – –
1.3048 100 4.6303 10 1 4.4642 10 2 3.6717 10 3 8.9977 10 4 2.1921 10 4
– – – – – –
Linear Neural Neural Neural Neural Neural
2 2 2 2 2 2
3 3 3 3 3 3
– 1 2 3 4 5
56 23 38 53 68 83
5.3853 10 1 2.5173 10 1 1.8444 10 2 1.9814 10 3 1.4560 10 4 2.7230 10 5
9.2230 10 1 4.6222 10 1 2.9480 10 2 3.8484 10 3 7.2552 10 4 5.1962 10 4
– – – – – –
1.3045 100 4.6303 10 1 3.4860 10 2 3.9814 10 3 5.6439 10 4 4.9704 10 4
– – – – – –
Linear Neural Neural Neural Neural Neural
3 3 3 3 3 3
3 3 3 3 3 3
– 1 2 3 4 5
64 24 40 56 72 88
5.3725 10 1 2.5172 10 1 1.8402 10 2 1.9757 10 3 9.5491 10 4 8.4278 10 5
9.2252 10 1 4.6221 10 1 2.8882 10 2 3.9764 10 3 1.8643 10 3 4.1003 10 4
– – – – – –
Linear Neural Neural Neural Neural Neural
0 0 0 0 0 0
2 2 2 2 2 2
– 1 2 3 4 5
32 20 32 44 56 68
1.1920 100 2.5201 10 1 1.9138 10 2 1.9894 10 3 1.4549 10 4 8.0071 10 5
1.9004 100 4.6308 10 1 3.5401 10 2 3.6809 10 3 9.6920 10 4 2.6417 10 4
– – – – 2.1656 10 4 –
Linear Neural Neural Neural Neural Neural
1 1 1 1 1 1
2 2 2 2 2 2
– 1 2 3 4 5
40 21 34 47 60 73
7.6406 10 1 2.5200 10 1 1.9118 10 2 1.9872 10 3 1.4389 10 4 7.6443 10 5
1.3486 100 4.6305 10 1 3.4730 10 2 3.7442 10 3 8.9465 10 4 2.1540 10 4
Linear Neural Neural Neural Neural Neural
2 2 2 2 2 2
2 2 2 2 2 2
– 1 2 3 4 5
48 22 36 50 64 78
7.3916 10 1 2.5198 10 1 2.3095 10 2 2.2257 10 3 1.4190 10 4 7.3092 10 5
Linear Neural Neural Neural Neural Neural
3 3 3 3 3 3
2 2 2 2 2 2
– 1 2 3 4 5
56 23 38 53 68 83
7.3745 10 1 2.5198 10 1 1.9007 10 2 1.9775 10 3 1.5223 10 4 3.0041 10 5
M. Ławryńczuk / Neurocomputing 129 (2014) 570–584
580
Broyden–Fletcher–Goldfarb–Shanno (BFGS) optimisation algorithm [6] is used. Weights of networks are initialised randomly and training is repeated 10 times for each approximator configuration (the multistart approach). Results presented next are the best obtained. Tables 1–3 compare accuracy (values of the SSE index) and the total number of parameters for different structures of neural approximators, i.e. the following values of integer numbers n~ A and n~ B which determine inputs of the neural approximators (Eq. (29)) are considered: n~ A ¼ 0; 1; 2; 3 and n~ B ¼ 1; 2; 3 and neural networks containing K~ ¼ 1; 2; 3; 4; 5 hidden nodes are compared. It can be observed in Table 1 that if the input of the neural approximator is uðk 1Þ, i.e. n~ B ¼ 1, including consecutive inputs y (k), yðk 1Þ, yðk 2Þ, yðk 3Þ and increasing the number of hidden nodes has rather a little effect on approximation accuracy (the values of SSEval must be taken into account). Much better results are obtained when the inputs of the network include both signals uðk 1Þ and uðk 2Þ, i.e. n~ B ¼ 2 (Table 2). It is interesting to notice that when the approximator has as many as K~ ¼ 4 or K~ ¼ 5 hidden nodes and inputs uðk 1Þ, uðk 2Þ, y(k), yðk 1Þ, yðk 2Þ (n~ A ¼ 2, n~ B ¼ 2), its accuracy is worse than that of the approximator with inputs uðk 1Þ, uðk 2Þ, y(k), yðk 1Þ (n~ A ¼ 1, n~ B ¼ 2). Such a network is overparameterised, the total number of parameters (weights) is too high because it has too many inputs and hidden nodes. Similarly, the approximator with inputs uðk 1Þ, uðk 2Þ, y (k), yðk 1Þ, yðk 2Þ, yðk 3Þ (n~ A ¼ 3, n~ B ¼ 2) and K~ ¼ 5 hidden nodes is worse than all the approximator with inputs determined by n~ A ¼ 0; 1; 2, n~ B ¼ 2 and containing K~ ¼ 5 nodes. When inputs of the approximator include signals uðk 1Þ, uðk 2Þ and uðk 3Þ, i.e. n~ B ¼ 3 (Table 3), obtained accuracy is even better than for networks in which the signal uðk 3Þ (i.e. n~ B ¼ 2) is not taken into account (Table 2). Once again, for networks containing the maximum number of hidden nodes (K~ ¼ 5), taking into account as the approximator inputs measured values of the process output signal does not lead to decreasing the value of the SSEval error. Conversely, the approximators with n~ A ¼ 1, n~ A ¼ 2 and n~ A ¼ 3 are all worse than the one with n~ A ¼ 0. Finally, taking into account not only the approximation accuracy for the validation data set, but also the total number of network parameters, the approximator with n~ A ¼ 0, n~ B ¼ 2 and K~ ¼ 4 hidden nodes is selected. For the chosen network the SSE index for the test data set is calculated (Table 2), its order is comparable with those for training and validation data sets. It means that the network has good generalisation properties. For comparison linear approximators are also determined. The consecutive outputs of the linear approximator are n~ B
n~ A
j¼1
j¼0
kNPL;p ðkÞ ¼ αp þ ∑ bj;p uðk jÞ þ ∑ aj;p yðk jÞ 1
For the same values of n~ A and n~ B both linear and neural approximators have the same inputs. In Tables 1, 2 and 3 the values of the SSE index for the training and validation data sets are given. For all configurations of inputs, the accuracy of the linear approximators is much worse that of the neural ones. Because the approximator has as many as 8 outputs, the best way of demonstrating graphically its accuracy is to show the direct relation between all recorded data samples and the approximator outputs. The correlation between the validation data set and outputs of the chosen neural and the linear approximator (both approximators have the same inputs) is shown in Fig. 8. For an ideal approximator such a comparison results in a set of points who form a line of slope 451. It is clear that for the neural approximator consecutive outputs of the network for the whole validation data set are very similar to the desired values. Unfortunately, the linear approximator has a very low accuracy. It is impossible to approximate the time-varying MPC-NPL control law by means of linear functions. 6.2.2. Approximators for the MPCNPLT uðkjk 1Þ NA algorithm The procedure for developing the neural approximators for the MPCNPLTuðkjk 1Þ NA algorithm is very similar to that used for the MPC-NPL-NA one. That is why it is not discussed so thoroughly. At first, the classical explicit MPCNPLTuðkjk 1Þ algorithm is developed. It is based on the neural dynamic model (30). The algorithm is simulated for a randomly changing reference trajectory zref . The training, validation and test data sets are very similar to those used during development of the MPC-NPL-NA algorithm and shown in Fig. 7 (the same reference trajectories zref are used) but different sequences of the process input and output signals (r and z) as well values of the control law coeffi1 1 cients kNPLT;3 ðkÞ…kNPLT;N ðkÞ are obtained. A great number of neural approximators have been trained, with different inputs determined by integer numbers n~ A ¼ 0; 1; 2; 3 and n~ B ¼ 1; 2; 3. Finally, Table 4 Comparison of linear and neural approximators for the MPCNPLTuðkjk 1Þ NA algorithm (n~ A ¼ 0, n~ B ¼ 1), SSEtrain , SSEval , SSEtest –approximator errors for training, validation and test data sets. Approximator K~ Linear Neural Neural Neural Neural Neural Neural
– 1 2 3 4 5 6
Parameters SSEtrain 24 19 30 41 52 63 74
1.3165 100 2.4132 10 1 1.9296 10 2 1.8875 10 3 6.2285 10 5 6.2911 10 5 8.2358 10 5
SSEval
SSEtest
1.9882 100 4.2790 10 1 2.5783 10 2 3.2891 10 3 2.5023 10 4 2.6146 10 4 2.7157 10 4
– – – – 1.1725 10 4 – –
Fig. 8. The correlation between the validation data set used for development of the approximator for the MPC-NPL-NA algorithm vs. the outputs of the approximator: the neural approximator (left panel) and the linear approximator (right panel).
M. Ławryńczuk / Neurocomputing 129 (2014) 570–584
581
Fig. 9. The correlation between the validation data set used for development of the approximator for the MPCNPLTuðkjk 1Þ NA algorithm vs. the outputs of the approximator: the neural approximator (left panel) and the linear approximator (right panel).
Fig. 10. Simulation results: the classical explicit MPC-NPL algorithm (solid line with dots) and the explicit MPC-NPL-NA algorithm with neural approximation (dashed line with circles).
Fig. 11. Simulation results: the classical explicit MPCNPLTuðkjk 1Þ algorithm (solid line with dots) and the explicit MPCNPLTuðkjk 1Þ NA algorithm with neural approximation (dashed line with circles)
Table 5 Accuracy of compared explicit MPC algorithms (values of J2). Algorithm
Experiment 1
Experiment 2
Experiment 3
All experiments
MPC-NPL MPC-NPL-NA MPCNPLTuðkjk 1Þ MPCNPLTuðkjk 1Þ NA
4.5974 105 4.6023 105 4.3986 105 4.3963 105
1.5335 106 1.5356 106 1.4482 106 1.4479 106
3.1689 106 3.1742 106 3.0113 106 3.0098 106
5.1622 106 5.1700 106 4.8993 106 4.8973 106
M. Ławryńczuk / Neurocomputing 129 (2014) 570–584
582
as a compromise between accuracy and complexity, it is concluded that the approximator should have inputs uðk 1Þ and y(k) (i.e. n~ A ¼ 0, n~ B ¼ 1). Table 4 shows the impact of the number of the hidden nodes on accuracy and the total number of parameters. Initially, increasing the number of hidden nodes results in reducing the value of the SSEval index, but for networks with K~ ¼ 5 and K~ ¼ 6 hidden nodes the error increases. Hence, the network with K~ ¼ 4 hidden nodes is chosen. For the chosen model the SSE index for the test set is calculated. Its value is comparable with those for training and validation sets, which means that the network generalises well. For comparison the linear approximator is also found, it has the same inputs as the neural one. Its accuracy is much worse that of the neural ones. Fig. 9 graphically compares accuracy between neural and linear approximators for the validation data set. Analogously to the MPC-NPL approximation problem, it is impossible to approximate the time-varying MPCNPLTuðkjk 1Þ control law by means of linear functions. 6.3. Distillation column control Three different reference trajectories zref are used (the same as in [20]): at the sampling instant k ¼1 the set-point value changes
from 100 ppm (the initial operating point) to 350 ppm, 600 ppm and 850 ppm, respectively. These set-point changes are referred to as experiments 1, 2 and 3, respectively. The following constraints are imposed on the reflux ratio: r min ¼ 4:051 (which corresponds to zmax ¼ 1000 ppm), r max ¼ 4:4571 (which corresponds to zmin ¼ 50 ppm). Fig. 10 compares simulation results of the classical explicit MPCNPL algorithm and of the explicit MPC-NPL-NA algorithm with neural approximation. For all three reference trajectories results obtained in both algorithms are practically the same which means that the neural approximator correctly calculates on-line the timevarying feedback law vector. Fig. 11 compares simulation results of the classical explicit MPC-NPLTuðkjk 1Þ algorithm and of the explicit MPC-NPLTuðkjk 1Þ NA algorithm with neural approximation. Once again, for all considered reference trajectories, the MPC algorithm with neural approximation gives practically the same results as the classical algorithm. In Table 5 the sum of squared differences between the reference trajectory and actual values of the controlled variable over the whole simulation horizon 20
J 2 ¼ ∑ ðzref ðkÞ zðkÞÞ2 k¼1
Fig. 12. Simulation results of two MPC algorithms with neural approximation: the explicit MPC-NPL-NA algorithm (solid line) and the explicit MPCNPLTuðkjk 1Þ NA algorithm (dashed line).
Table 6 The computational complexity (in MFLOPS) of the classical explicit MPC-NPL algorithm and of the explicit MPC-NPL-NA algorithm with neural approximation for different control horizons, N¼ 10, as well as the complexity reduction factor (MPC-NPL-NA vs. MPC-NPL), summarised results are given for all 3 experiments. Algorithm
Nu ¼ 1
Nu ¼ 2
Nu ¼ 3
Nu ¼ 4
Nu ¼ 5
N u ¼ 10
MPC-NPT MPC-NPT-NA Complexity reduction factor
0.0858 0.0785 1.09
0.0936 0.0785 1.19
0.1049 0.0785 1.37
0.1218 0.0785 1.55
0.1452 0.0785 1.85
0.3835 0.0785 4.88
Table 7 The computational complexity (in MFLOPS) of the classical explicit MPCNPLTuðkjk 1Þ algorithm and of the explicit MPCNPLTuðkjk 1Þ NA algorithm with neural approximation for different control horizons, N ¼ 10, as well as the complexity reduction factor (MPCNPLTuðkjk 1Þ NA vs. MPCNPLTuðkjk 1Þ ), summarised results are given for all 3 experiments. Algorithm
Nu ¼ 1
Nu ¼ 2
Nu ¼ 3
Nu ¼ 4
Nu ¼ 5
N u ¼ 10
MPCNPLTuðkjk 1Þ MPCNPLTuðkjk 1Þ NA Complexity reduction factor
0.1331 0.0695 1.91
0.2018 0.0695 2.90
0.2701 0.0695 3.87
0.3420 0.0695 4.92
0.4179 0.0695 6.01
0.9159 0.0695 13.18
M. Ławryńczuk / Neurocomputing 129 (2014) 570–584
for all compared MPC algorithms is given (NB the index J2 is not actually minimised in MPC). The values obtained for the MPC algorithms with neural approximation are practically the same as those for the classical ones. Fig. 12 compares simulation results of two explicit MPC algorithms with neural approximation (MPC-NPL-NA and MPCNPLTuðkjk 1Þ NA). Taking into account Table 5 and Fig. 12, it is clear that the second algorithm gives better control. Although in the explicit MPC-NPL algorithm only the increment nuðkjkÞ for the current sampling instant is only calculated, the control horizon has a strong impact on the dimensionality of the step-response matrix GðkÞ and, in consequence, on the time-varying control law vector K 1NPL ðkÞ (Eq. (18)). Analogously, in the explicit MPC–NPLTuðkjk 1Þ algorithm the control horizon influences the dimensionality of the matrix HðkÞ containing the derivatives of the predicted output trajectory. That is why it is interesting to investigate the influence of the control horizon on computational complexity of the studied MPC algorithms. Table 6 shows the computational complexity (in terms of floating point operations, MFLOPS) of the classical explicit MPC-NPL algorithm and of the explicit MPC-NPL-NA algorithm with neural approximation whereas Table 7 shows the complexity of the classical explicit MPCNPLTuðkjk 1Þ algorithm and of the explicit MPCNPLTuðkjk 1Þ NA algorithm with neural approximation. For each control horizon the algorithms with neural approximation have been designed separately, since neural approximators are trained for a specific length of the control horizon. In all cases the prediction horizon is N¼10, λp ¼ 2 and all approximators have K~ ¼ 4 hidden nodes. The following observations can be made: (a) Due to the fact that in the MPC algorithms with neural approximation successive on-line linearisation, LU matrix decomposition and linear equation solving are not necessary, they are significantly less computationally demanding than the classical explicit algorithms. The longer the control horizon, the bigger the differences in the computational complexity. (b) Although both algorithms with neural approximation are more computationally efficient than their classical versions, the approximation gives the best complexity reduction factors when the algorithms MPC-NPLTuðkjk 1Þ and MPC NPLTuðkjk 1Þ NA are compared. It is because computational burden of the classical explicit MPCNPLTuðkjk 1Þ algorithm is much higher than that of the explicit MPC-NPL one (trajectory linearisation repeated at each sampling instant on-line is much more demanding than simple model linearisation). (c) Because the structure of the neural approximator is independent of the control horizon and the same dynamic neural model is always used, computational complexity of MPC algorithms with neural approximation is the same for different control horizons. (d) Complexity of the MPC-NPL-NA algorithm is a little bit higher than that of the MPCNPLTuðkjk 1Þ NA scheme. It is because the neural approximator used in the first case is more ~ complicated, it has the inputs xðkÞ ¼ ½uðk 1Þ uðk 2Þ yðkÞT (the approximator has 21 weights), whereas in the second ~ case the inputs are xðkÞ ¼ ½uðk 1Þ yðkÞT (the approximator has 17 weights).
7. Conclusions The discussed MPC algorithms with neural approximation have two advantages: good control accuracy and computational efficiency. They are capable of giving practically the same control
583
accuracy as the classical MPC algorithms with on-line model or trajectory linearisation. Computational efficiency of the presented explicit MPC algorithms with neural approximation is twofold: quantitative and qualitative. Firstly, in the discussed algorithms the current value of the control signal is calculated explicitly from a control law, the coefficients of which are determined directly by means of the neural approximators. Unlike the classical explicit MPC algorithms, successive model or trajectory linearisation, matrix decomposition and linear equation solving are not necessary on-line. Secondly, for the studied distillation process and some chosen tuning parameters, discussed MPC algorithm with neural approximation are significantly less computationally demanding than the classical explicit MPC algorithms, the maximal complexity reduction factor is as high as 13.18. The neural approximation of the control law vector used in the discussed algorithms is much more beneficial in terms of computational efficiency than the numerical MPC algorithms (with on-line quadratic programming) with neural approximation of the step responses [21], in which neural approximation reduces computational complexity by only some 15%. It is necessary to point out that development of neural approximators is not difficult, they are not trained recurrently. The discussed MPC algorithms with neural approximation can be modified in many ways. In this work feedforward neural networks with one hidden layer are used as the approximators. It is also possible to use different structures, for example the Radial Basis Function neural networks or Support Vector Machines. Moreover, it is also possible to reformulate the algorithms for multivariable processes. Although in this work only constraints imposed on the magnitude and the rate of change of the manipulated variable are considered, it is also possible to take into account constraints imposed on the magnitude of the predicted output variable [27].
Acknowledgement The work presented in this paper was supported by the Polish national budget funds for science. References [1] E. Aggelogiannaki, H. Sarimveis, A simulated annealing algorithm for prioritized multiobjective optimization–implementation in an adaptive model predictive control configuration, IEEE Trans. Syst., Man. Cybern. Part B: Cybern. 37 (2007) 902–915. [2] V.A. Akpan, G.D. Hassapis, Nonlinear model identification and adaptive model predictive control using neural networks, ISA Trans. 50 (2011) 177–194. [3] A. Alexandridis, H. Sarimveis, Nonlinear adaptive model predictive control based on self-correcting neural network models, AIChE J. 51 (2005) 2506–3495. [4] R.K. Al Seyab, Y. Cao, Nonlinear system identification for predictive control using continuous time recurrent neural networks and automatic differentiation, J. Proc. Control 18 (2008) 568–581. [5] B.M. Åkesson, H.T. Toivonen, A neural network model predictive controller, J. Proc. Control 16 (2006) 937–946. [6] M.S. Bazaraa, J. Sherali, K. Shetty, Nonlinear Programming: Theory and Algorithms, Prentice Hall, Englewood Cliffs, 1999. [7] M. Berenguel, M.R. Arahal, E.F. Camacho, Modelling the free response of a solar plant for predictive control, Control Eng. Pract. 6 (1998) 1257–1266. [8] H.H.J. Bloemen, C.T. Chou, T.J.J. Boom, V. Verdult, M. Verhaegen, T.C. Backx, Wiener model identification and predictive control for dual composition control of a distillation column, J. Proc. Control 11 (2001) 601–620. [9] E.F. Camacho, C. Bordons, Model Predictive Control, Springer, London, 1999. [10] L. Cavagnari, L. Magni, R. Scattolini, Neural network implementation of nonlinear receding-horizon control, Neural Comput. Appl. 8 (1999) 86–92. [11] G. Colin, Y. Chamaillard, G. Bloch, G. Corde, Neural control of fast nonlinear systems-application to a turbocharged SI engine with VCT, IEEE Trans. Neural Netw. 18 (2007) 1101–1114. [12] F.J. Doyle, B.A. Ogunnaike, R.K. Pearson, Nonlinear model-based control using second-order Volterra models, Automatica 31 (1995) 697–714. [13] K.P. Fruzzetti, A. Palazoğlu, K.A. McDonald, Nonlinear model predictive control using Hammerstein models, J. Proc. Control 7 (1997) 31–41.
584
M. Ławryńczuk / Neurocomputing 129 (2014) 570–584
[14] S. Haykin, Neural Networks—a Comprehensive Foundation, Prentice Hall, Englewood Cliffs, 1999. [15] M.A. Henson, Nonlinear model predictive control: current status and future directions, Comp. Chem. Eng. 23 (1998) 187–202. [16] K. Hornik, M. Stinchcombe, H. White, Multilayer feedforward networks are universal approximators, Neural Netw. 2 (1989) 359–366. [17] M.A. Hosen, M.A. Hussain, F.S. Mjalli, Control of polystyrene batch reactors using neural network based model predictive control (NNMPC): an experimental investigation, Control Eng. Pract. 19 (2011) 454–467. [18] S. Iplikci, A support vector machine based control application to the experimental three-tank system, ISA Trans. 49 (2010) 376–386. [19] M. Ławryńczuk, On-line trajectory-based linearisation of neural models for a computationally efficient predictive control algorithm, in: L. Rutkowski, M. Korytkowski, R. Scherer, R. Tadeusiewicz, L.A. Zadeh, J. Zurada (Eds.), Proceedings of the 11th International Conference on Artificial Intelligence and Soft Computing, ICAISC, 2012, Zakopane, Poland, Lecture Notes in Artificial Intelligence, vol. 7267, Springer, Berlin, 2012, pp. 126–134. [20] M. Ławryńczuk, On improving accuracy of computationally efficient nonlinear predictive control based on neural models, Chem. Eng. Sci. 66 (2011) 5253–5267. [21] M. Ławryńczuk, Predictive control of a distillation column using a controloriented neural model, in: A. Dobnikar, U. Lotrič, B. Šter (Eds.), Proceedings of the 10th International Conference on Adaptive and Natural Computing Algorithms, ICANNGA, 2011, Lublana, Slovenia, Lecture Notes in Computer Science, vol. 6593, Springer, Berlin, 2012, pp. 230–239. [22] M. Ławryńczuk, Explicit neural network-based nonlinear predictive control with low computational complexity, in: M. Szczuka, M. Kryszkiewicz, S. Ramanna, R. Jensen, Q. Hu (Eds.), Proceedings of the 7th International Conference Rough Sets and Current Trends in Computing, RSCTC 2010, Warsaw, Poland, Lecture Notes in Artificial Intelligence, vol. 6086, Springer, Berlin, 2010, pp. 649–658. [23] M. Ławryńczuk, Explicit nonlinear predictive control of a distillation column based on neural models, Chem. Eng. Technol. 32 (2009) 1578–1587. [24] M. Ławryńczuk, Neural networks in model predictive control, in: N.T. Nguyen, E. Szczerbicki (Eds.), Studies in Computational Intelligence, Intelligent Systems for Knowledge Management, vol. 252, Springer, Berlin, 2009, pp. 31–63. [25] M. Ławryńczuk, A family of model predictive control algorithms with artificial neural networks, Int. J. Appl. Math. Comp. Sci. 17 (2007) 217–232. [26] J.M. Maciejowski, Predictive Control with Constraints, Prentice, Hall, Englewood Cliffs, 2002. [27] P. Marusak, A mechanism of output constraint handling for analytical fuzzy controllers, in: N. García Pedrajas, F. Herrera, C. Fyfe, J.M. Benítez, M. Ali (Eds.), Proceedings of the 23rd International Conference on Industrial Engineering Other Applications of Applied Intelligent Systems, IEA AIE, 2010, Córdoba, Spain, Lecture Notes in Artificial Intelligence, vol. 6098, Springer, Berlin, pp. 222–227. [28] L.A. da Cruz Meleiro, F. José, V. Zuben, R.M. Filho, Constructive learning neural network applied to identification and control of a fuel-ethanol fermentation process, Eng. Appl. Artif. Intell. 22 (2009) 201–215. [29] F.S. Mjalli, Adaptive and predictive control of liquid–liquid extractors using neural-based instantaneous linearization technique, Chem. Eng. Technol. 29 (2006) 539–549. [30] M. Morari, J.H. Lee, Model predictive control: past, present and future, Comp. Chem. Eng. 23 (1999) 667–682.
[31] J. Mu, D. Rees, G.P. Liu, Advanced controller design for aircraft gas turbine engines, Control Eng. Pract. 13 (2005) 1001–1015. [32] M. Nørgaard, O. Ravn, N.K. Poulsen, L.K. Hansen, Neural Networks for Modelling and Control of Dynamic Systems, Springer, London, 2000. [33] Y. Pan, J. Wang, Nonlinear model predictive control using a recurrent neural network, in: Proceedings of the International Joint Conference on Neural Networks, IJCNN 2008, Hongkong, China, 2008, pp. 2296–2301. [34] P. Potočnik, I. Grabec, Nonlinear model predictive control of a cutting process, Neurocomputing 43 (2002) 107–126. [35] M. Pottmann, D.E. Seborg, A nonlinear predictive control strategy based on radial basis function models, Comput. Chem. Eng. 21 (1997) 965–980. [36] S.J. Qin, T.A. Badgwell, A survey of industrial model predictive control technology, Control Eng. Pract. 11 (2003) 733–764. [37] J.B. Rawlings, D.Q. Mayne, Model Predictive Control: Theory and Design, Nob Hill Publishing, Madison, 2009. [38] B.D. Ripley, Pattern Recognition and Neural Networks, Cambridge University Press, Cambridge, 1996. [39] J.A. Rossiter, Model-Based Predictive Control, CRC Press, Boca Raton, 2003. [40] S. Saraswati, S. Chand, Online linearization-based neural predictive control of air-fuel ratio in SI engines with PID feedback correction scheme, Neural Comput. Appl. 19 (2010) 919–933. [41] G.R. Sriniwas, Y. Arkun, A global solution to the nonlinear predictive control algorithms using polynomial ARX models, Comp. Chem. Eng. 21 (1997) 431–439. [42] P. Tatjewski, Advanced Control of Industrial Processes, Structures and Algorithms, Springer, London, 2007. [43] P. Tatjewski, M. Ławryńczuk, Soft computing in model-based predictive control, Int. J. Appl. Math. Comp. Sci. 16 (2006) 101–120. [44] W.G. Vieira, V.M.L. Santos, F.R. Carvalho, J.A.F.R. Pereira, A.M.F. Fileti, Identification and predictive control of a FCC unit using a MIMO neural model, Chem. Eng. Process. 44 (2005) 855–868.
Maciej Ławryń czuk was born in Warsaw, Poland, in 1972. In years 1992–1998 he studied at Warsaw University of Technology, Faculty of Electronics and Information Technology. In 1998 he obtained his M.Sc. degree in electronics, with specialisation in automatic control. In years 1998–2003 has was a Ph.D. student, in 2003 he obtained his Ph.D. degree in automatic control from Warsaw University of Technology. In 2013 he obtained his D.Sc. degree in automatic control from Warsaw University of Technology. Since 2003 he has been employed by Warsaw University of Technology, in the Institute of Control and Computation Engineering: in years 2003–2004 as a teaching assistant, since 2004 as an assistant professor. He is the author or a co-author of 5 books and more than 100 publications, including 30 journal articles. His current research interests include: advanced control algorithms, in particular MPC algorithms, set-point optimisation algorithms, soft computing methods, in particular neural networks, modelling and simulation.