Explicit nonlinear predictive control algorithms with neural approximation

Explicit nonlinear predictive control algorithms with neural approximation

Neurocomputing 129 (2014) 570–584 Contents lists available at ScienceDirect Neurocomputing journal homepage: www.elsevier.com/locate/neucom Explici...

2MB Sizes 0 Downloads 53 Views

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.