Fast Nonlinear Predictive Control Using Classical and Parallel Wiener Models: A Comparison for a Neutralization Reactor Process

The Wiener model, composed of a linear dynamical block and a nonlinear static one connected in series, is frequently used for prediction in Model Predictive Control (MPC) algorithms. The parallel structure is an extension of the classical Wiener model; it is expected to offer better modeling accuracy and increase the MPC control quality. This work discusses the benefits of using the parallel Wiener model in MPC. It has three objectives. Firstly, it describes a fast MPC algorithm in which parallel Wiener models are used for online prediction. In the presented approach, sophisticated trajectory linearization is performed online, which leads to computationally fast quadratic optimization. The second objective of this work is to study the influence of the model structure on modeling accuracy. The well-known neutralization benchmark process is considered. It is shown that the parallel Wiener models in the open-loop mode generate significantly fewer errors than the classical structure. This work’s third objective is to validate the efficiency of parallel Wiener models in closed-loop MPC. For the neutralization process, it is demonstrated that parallel models demonstrate better control quality using various indicators, but the difference between the classical and parallel models is not significant.


Introduction
Model Predictive Control (MPC) refers to an advanced control strategy in which a dynamical model of the considered process is utilized online to predict the future process state and an optimization procedure finds the best possible control action to minimize the predefined control quality index [1].MPC algorithms have been used for years in process control; typical applications include chemical reactors [2], olefin metathesis processes [3], distillation towers [4] and power plants [5].Nowadays, as a result of the availability of fast and relatively cheap hardware platforms necessary to carry out all online calculations, MPC algorithms are used in smart buildings [6] and several embedded systems; example applications include autonomous ground vehicle [7], autonomous driving vehicle [8], planning vehicle-parking trajectories for vertical parking spaces [9] and quadrotors [10,11].Finally, MPC algorithms may control distributed parameter systems [12].
Two factors are essential for good control quality: precise online measurements provided by sensors and an accurate model of the controlled process.MPC algorithms utilize measurements of the process output variables (and state variables, in some cases).Significant measurement errors combined with an imprecise model result in poor predictions and, in consequence, unsatisfactory control performance.The importance of precise measurements is stressed in [13] where a wind disturbance preview is incorporated with an MPC algorithm to improve the resistance of Unmanned Aerial Vehicles during operation to wind gusts.However, observers are designed to solve this critical problem in many scenarios if there are not enough process data available.By estimating the values in such a way, a better control quality is achievable.A state observer scheme is proposed in [14] for uninterruptible power supply applications and it is compared to classical approaches like with Kalman filters.The study presented in [15] shows an approach to deal with ocean environment disturbances by designing a nonlinear disturbance observer for unmanned surface vehicles to obtain safe and effective motion control performance.Lastly, in work [7], a Dual-Rate Extended Kalman filter is designed to obtain fast vehicle state estimation in the problem of real-time lane-keeping control for autonomous ground vehicles.
In this work, we study the impact of model structure and accuracy on the possible control performance.Although the general idea of MPC does not limit the model structure used for online prediction, the cascade Wiener model is frequently used [16].The Wiener model consists of a linear dynamical block connected in series with a nonlinear static block.A great advantage of the Wiener model is the fact that it can efficiently approximate the properties of different processes using a limited number of parameters.Let us name a few examples reported in the literature: distillation columns [17], chemical reactors [18][19][20], gasifiers [21], chromato-graphic separation processes [22], fuel cells [23,24], photovoltaic cells [25], the relaxation processes during anesthesia [26], the arterial pulse transmission phenomena [27].Additionally, due to the specialized structure of the Wiener model, we can derive a set of computationally efficient MPC algorithms in which fast quadratic optimization is used rather than complicated nonlinear programming [16].
Typically, the classical Wiener model structure is used in MPC [16], i.e., the model consists of one linear dynamical block and one nonlinear static block.A natural extension of the rudimentary Wiener structure uses a few classical sub-models connected in parallel.Such a model structure and identification issues are described in [28,29], while identification starting from linearized models is considered in [30].The motivation to use the parallel structure is the following: the parallel model should be capable of generating better accuracy than the classical one.As a result, the parallel model is likely to offer better control quality when used in MPC compared to the classical model structure.Of course, this may be true for some processes, while for other ones, the classical structure may be sufficient.
This work has the following three objectives: 1.The first objective is to extend previous research in computationally efficient MPC algorithms in which Wiener models are used for prediction [16].Namely, the goal is to detail a fast MPC method in which a linear approximation of the process predicted trajectory is successively obtained online using parallel Wiener models.As a result, the derived MPC algorithm requires relatively simple and fast quadratic optimization rather than a nonlinear approach.2. The second objective of this work is to study the influence of the model structure on modeling accuracy.We compare the accuracy of the classical Wiener structure and that of the parallel Wiener models.In the latter case, the impact of the number of sub-models and the complexity of the nonlinear block are thoroughly evaluated.
To the best of the authors' knowledge, a fair comparison between the classical and parallel Wiener models has not yet been presented in the literature.

The third objective of this work is to compare the efficiency of classical and parallel
Wiener models in MPC.The problem is really important.Although more sophisticated models are likely to produce much better modeling accuracy in an open loop, the advantages of using complex models may be insignificant in MPC.Multi-criteria control quality assessment is used to demonstrate the impact of model structure.
The well-known neutralization benchmark process [19] is considered to verify the advantages of parallel Wiener models used in the open loop and MPC.Precise modeling and control of the neutralization benchmark process is essential in different areas, i.e., in chemical engineering, biotechnology and waste-water treatment industries [31].Moreover, it is often utilized as a benchmark to assess the efficiency of new model structures and control algorithms, e.g., [16,[32][33][34][35][36][37][38].
This work is structured as follows.Section 2 defines the structure of the classical Wiener model and its parallel variant, Section 3 derives and discusses the implementation of the fast MPC algorithm for the parallel Wiener model, Section 4 thoroughly discusses simulation results and Section 5 summarizes the whole work.

Classical and Parallel Wiener Models
Let us start with the definition of the classical Wiener model [16,39].In this work, we study Single-Input Single-Output (SISO) systems, i.e., we consider processes with one input and one output.The process input, which is also the manipulated variable in MPC, is denoted by u.The process output, which is the controlled variable in MPC, is denoted by y. Figure 1 shows the classical Wiener model consisting of a linear dynamic block and a nonlinear static block connected in series.Let us describe the model using mathematical formulas.We use the discrete-time description; k denotes the current sampling instant (k = 0, 1, 2, . ..).The output signal of the linear block is where integer numbers A and B define the order of model dynamics while real numbers a j and b j stand for model coefficients.The output signal of the second block, which is also the output of the whole Wiener model, is a nonlinear static mapping Because we use online linearization of the predicted trajectory in MPC, we limit our considerations to differentiable functions f .In order to obtain precise models, we use neural networks with two layers, known to be universal approximators.Hence, the second block of the model is defined by The first (hidden) layer is nonlinear; it has K hidden neurons and ϕ stands for the activation function, e.g., ϕ = tanh.The second layer of the network is linear.The weights of the first layer are denoted by w 1 i,0 and w 1 i,1 , while the parameters of the second layer are w 2 0 and w 2 i .The general structure of the parallel Wiener model [28][29][30] is depicted in Figure 2. The model consists of n g sub-models, also called branches, each of which has the classical Wiener structure.The model branches are connected in parallel; the outputs of the submodels are summarized.The outputs of the linear dynamic blocks are denoted by v 1 (k), . . ., v n g (k) while the outputs of the nonlinear static blocks are denoted by y 1 (k), . . ., y n g (k).Outputs of the consecutive linear blocks are calculated from the following formula

Nonlinear static block
where g = 1, . . ., n g .The nonlinear blocks use neural networks with two layers and are described as follows where K is the number of hidden neurons.The output of the whole model is calculated from Equation (5) from

Preliminaries
At each discrete sampling instant of MPC, i.e., k = 0, 1, 2, . .., the algorithm calculates the whole decision vector, which consists of increments of the manipulated variable signal for the current and future instants, where the number of the calculated increments is defined by the control horizon denoted by N u .At the current sampling instant, only the first element of the calculated vector is applied to the process, and calculations are repeated at the following instants.Let us recall the rudimentary MPC optimization task, [1,16] min The objective of MPC is to find online the decision variable vector, u(k), that minimizes the predefined cost function, J(k), and satisfies all constraints.As far as the cost function is concerned, we consider predicted control errors, defined as differences between the setpoint trajectory, y sp (k + p|k), and the predicted trajectory, ŷ(k + p|k), which is found from the process model.As many as N predicted control errors are considered; N is called the prediction horizon.The second part of the cost function minimizes unwanted significant changes in the manipulated variable; λ stands for the penalty coefficient.In this work, we consider classical MPC constraints, i.e., it is possible to consider limitations of the magnitude of the manipulated variable, the increments of that variable and the magnitude of the predicted value of the controlled variable.

Derivation of Fast MPC Algorithm
Let us note that as a result of model nonlinearity, predictions ŷ(k + p|k) are nonlinear functions of the calculated MPC decision vector, u(k).It means that the MPC optimization task ( 8) is nonlinear, and a nonlinear solver is necessary at each sampling instant.This work adopts the MPC Algorithm with Nonlinear Prediction and Linearization along with the Predicted Trajectory (MPC-NPLPT) derived in [16] for the classical Wiener model.The MPC algorithm discussed next requires that the dynamical model used for prediction can be linearized online.It is true when the neural Wiener models described in Section 2 are differentiable.This assumption is fulfilled when activation function ϕ used in the nonlinear hidden nodes of the models' static blocks is differentiable.It is true for ϕ = tanh.
Let us define the predicted output trajectory vector The idea behind the MPC-NPLPT algorithm is to use a linear approximation of the predicted trajectory with respect to the decision vector, u(k).Trajectory linearization is performed along some predefined trajectory of the manipulated variable Using the process model, we determine the predicted trajectory of the controlled variable that corresponds to the assumed trajectory u traj (k) In order to analytically derive trajectory ŷtraj (k) over the whole prediction horizon, we have first to use Equation ( 4) to express the outputs of the first block of the model explicitly predicted for sampling instant k Next, we use Equation ( 6) to express the outputs of the second block of the model, which is the model output.The predicted model output signal is Because a model is never perfect, in prediction Rule (13), we supplement the model output by an estimated model error denoted by d(k).It is determined straightforwardly as a difference between real (measured) process output denoted by y(k) and model output As thoroughly derived in [16], the linear approximation of the predicted trajectory of the process output is given by the following vector-matrix formula The matrix of partial derivatives of the predicted output trajectory with respect to the input trajectory is of dimensionality N × N u and has the following structure Let us now analytically derive entries of the matrix H(k) for the parallel Wiener shown in Figure 2. The partial derivatives are calculated differentiating Equation ( 13), which yields where predicted input signals of the first layer of neural networks used in the nonlinear static block of the Wiener model are If the hyperbolic tangent (tanh) function is used as the neural network activation function ϕ, we have dϕ( Combining Equations ( 17) and ( 19), we obtain the general formula to determine the entries of matrix H(k) Partial derivatives in the right-hand side of Equation ( 20) are also calculated analytically.
For this purpose, we differentiate Equation (18).As far as the prediction for the first sampling instant of the prediction horizon is concerned, i.e., for sampling instant k + 1, we obtain It results in Similarly, for the prediction for the second sampling instant of the prediction horizon, i.e., for sampling instant k + 2, we obtain Since the prediction horizon is typically longer than the control horizon, we have In general, for the prediction for sampling instant k + p, we obtain Let us stress that partial derivatives necessary in Equation ( 25) are calculated recurrently.Namely, calculations are repeated for all combinations of p = 1, . . ., N and r = 0, . . ., N u − 1 to find all entries of matrix H(k).
The auxiliary matrix of dimensionality N u × N u used in Equation ( 15) has the following structure and the auxiliary vector of length N u is Using the linear approximation of the predicted output trajectory given by Equation ( 15), the general MPC optimization task ( 8) is transformed into the following quadratic optimization task min The constraints are expressed using the following vectors of length N u and the vectors of length N The MPC-NPLPT algorithm repeats online trajectory linearization and quadratic optimization a few times at each sampling instant.Namely, the future input trajectory along which linearization is determined, i.e., u traj (k) (Equation ( 10)), is initially set as the "tail" of the optimal control sequence found at the previous sampling instant, i.e., without its first element, u(k|k).Quadratic programming task ( 28) is then solved.If the controlled variable of the process is close to a required setpoint, the first element of the optimized solution vector is applied to the process.If this condition is not fulfilled, the calculated decision vector is used to form trajectory u traj (k); linearization is performed, followed by solving the quadratic optimization task.A few such repetitions may be used at each sampling instant.

Classical Formulation of the MPC Quadratic Optimization Task
Let us consider the classical formulation of the quadratic optimization task min where x(k) = u(k).From Equation (28), we derive the time-varying linear inequality constraints while constant bounds are specified by Matrix H QP (k) is the second-order derivative of the cost function, J(k), with respect to the decision variables, u(k).The first-order derivative is while the second-order derivative becomes Vector f QP (k) is defined by the part of the first-order derivative (34) which is independent of vector u(k).We obtain

Simulations 4.1. Neutralization Process Description
In this work, we consider a neutralization reactor benchmark process to validate and compare the efficiency of classical and parallel Wiener models for open-loop modeling purposes and in closed-loop MPC control.The fundamental model of this benchmark process is described in detail in [19].It consists of two differential equations and one algebraic equation.The full model formulation is as follows and State variables W a and W b are reaction invariants.The process manipulated variable is the base NaOH stream denoted as q 1 , while the controlled variable is the pH of the product.The buffer flow rate q 2 and base flow rate q 3 remain constant.
V, K 1 and K 2 are constants [19].The fundamental model given above is utilized only for process simulation, while various Wiener models are used in MPC.

Model Identification and Validation
Two classes of Wiener models are considered: classical and parallel.Neural networks with two layers defined by Equation ( 5) are utilized in nonlinear static blocks in both models.We use two sets of data generated from the open-loop simulation of the fundamental model for model identification: training and validation data sets.The first set is used only to identify model parameters, while the second set is used to assess model accuracy.All models are found using the same identification procedure.It consists of the following steps: 1. Initialization of the identification procedure.The number of model branches n g (n g = 1 for the classical Wiener model), the number of hidden nodes in each nonlinear block K 1 , . . ., K n g , the order of dynamics of linear blocks (defined by integers n A and n B ), the number of maximal optimization steps used during identification are defined.All model parameters, i.e., parameters of linear dynamical blocks and nonlinear static blocks, are initialized randomly.2. A nonlinear optimization solver is used to calculate model parameters.The objective of optimization is to minimize the model error for the training data set defined as where y mod (k) and y(k) are the model output value and the output value from the training data set, respectively, for the current sampling instant k; k max is the number of available data samples.This work uses the Sequential Quadratic Programming (SQP) solver for nonlinear optimization.Model error for the training data set, denoted by E train , is calculated when optimization is completed.3. Model error for the validation data set, denoted by E val , is also calculated.4. Steps 1-4 are repeated a few times, which leads to finding a few models.Of course, initialization of model parameters may have an impact on model accuracy and it may be necessary to repeat identification for the same structure.This is because gradientbased nonlinear optimization is used during identification.Nonlinear optimization may terminate at a shallow local minimum.The finally chosen model has the lowest validation error.
The flowchart of the model identification procedure is presented in Figure 3.
The above identification procedure is independently repeated for different model configurations.This work considers the influence of the number of branches in the parallel model and the number of hidden nodes in neural networks used in nonlinear static blocks.The second order of linear dynamic blocks is always used, i.e., n A = n B = 2.According to previous research [16,36,38], the second order of dynamics is sufficient for the considered process.Both training and validation data sets used in this work consist of 5000 data samples each.Many classical and parallel Wiener models have been identified using the abovementioned procedure.We consider the classical Wiener model and parallel ones with two, three and four branches, i.e., n g = 1, . . ., 4. In each case, the number of hidden nodes in neural networks varies from one to five, i.e., K g = 1, . . ., 5. The activation function of hidden nodes is ϕ = tanh.Table 1 shows the obtained numerical results of model errors.For each model structure, training and validation errors of the best model are shown, E train and E val , respectively.Moreover, the percentage relative validation error denoted as E relative val is specified.It indicates how the validation error of a particular model compares to that of the best classical Wiener model, i.e., the model with five hidden nodes in the nonlinear block.Such a classical Wiener model has been considered in previous research [16]; using a greater number of nodes is discouraged as they do not lead to model improvement.
Firstly, we compare the results for parallel neural Wiener models with two branches, i.e., n g = 2.We observe that the model with three hidden nodes, i.e., K g = 3, results in the lowest relative validation error, equal to 40.29% of that possible for the classical Wiener model.Increasing the number of hidden nodes results in increasing the validation error.Secondly, we compare the results for parallel Wiener models with three branches.We observe that for one hidden node in both branches (K g = 1), the relative validation error is greater than that for the classical model with five nodes.The best results are again obtained for three hidden nodes with the lowest relative validation error, equal to 39.56%.Increasing the number of hidden nodes increases the number of validation errors.Interestingly, the increase in the number of branches from two to three does not significantly improve model accuracy; both models with three hidden nodes practically have very similar errors.Finally, let us analyze parallel Wiener models with four branches, i.e., K g = 4. Generally, all obtained models are much worse than the classical Wiener model.The best relative validation error equals 139.81% while the worst one is 3786.40%.For the considered benchmark process, four branches turn out to be unnecessary and badly influence model accuracy.Moreover, such models have multiple parameters and the nonlinear optimization procedure takes more time to find a reasonable solution than in the case of simpler model structures.We also verified parallel Wiener models with five branches and the results are even worse.Let us compare some of the obtained models graphically.It shows how they try to mimic the process represented by the validation data set.Figure 4 presents the results for the classical Wiener model with five hidden nodes in the nonlinear static block (K = 5).The top panel compares the first 1000 samples of the validation data set vs. the model output.The bottom panel shows the relationship between the whole validation data set and the model output.In general, we can see that the rudimentary Wiener model is quite precise.Hence, whether and to what extent the parallel structure can increase the model accuracy is interesting.
Figure 5 shows the efficiency of the parallel Wiener model with two branches, each of which has three hidden nodes (n g = 2, K 1 = K 2 = 3); Figure 6 shows the efficiency of the parallel Wiener model with three branches, each of which has three hidden nodes (n g = 3, K 1 = K 2 = K 3 = 3).We observe that these models have better accuracy than the classical Wiener model.The second one, i.e., the model with three branches, is slightly better.Figure 7 shows the efficiency of the parallel Wiener model with four branches, each of which has four hidden nodes (n g = 4, Unfortunately, although the model is the best among all models with four branches, it is noticeably worse than the classical model and parallel models with two and three branches.Finally, Figure 8 shows the efficiency of the parallel Wiener model with four branches, each of which has five hidden nodes (n g = 4, K 1 = K 2 = K 3 = K 4 = 5).In this case, due to overparameterization, the model is very imprecise.All things considered, parallel Wiener models with two branches make it possible to obtain an error as low as 40% of that observed when the classical Wiener model is used.A slight improvement is provided by models with three parallel branches, while more complex models increase the error due to overparameterization.

Predictive Control of the Neutralization Process
Having found a set of Wiener models and compared them in an open loop, evaluating how they perform in closed-loop MPC control is interesting.In MPC algorithms, we mainly use the classical neural Wiener model with five hidden nodes and the best parallel neural Wiener model with three branches, each of which has three hidden nodes.We also use more complicated models.We consider two MPC algorithms: the discussed MPC-NPLPT algorithm with online linearization and quadratic optimization and the general MPC scheme with Nonlinear Optimization (MPC-NO).The latter uses nonlinear models for prediction, meaning a nonlinear optimization task must be solved at each sampling instant online.We want to obtain the performance of our computationally efficient MPC-NPLPT scheme as close to that of MPC-NO as possible.The following parameters are used in two considered MPC algorithms: N = 10, N u = 3 and λ = 0.25 [16].
This work performs a multicriterial control quality assessment of MPC algorithms.For this purpose, we evaluate the control quality using the following statistical indices: the Mean Squared Error (MSE), the Mean Absolute Error (MAE), the Gauss standard deviation (σ G ), the Huber standard deviation (σ H ), the scale factor of the alpha-stable distribution (γ) and the rational entropy (H R ).The obtained numerical values of these indicators are presented in Table 2 and the calculation times necessary by MPC algorithms are given in Table 3.We consider MPC-NO and MPC-NPLPT algorithms for classical and the chosen parallel Wiener models.We can formulate the following observations: 1.The control quality indicators obtained for the MPC-NPLPT algorithm are practically the same as those for the MPC-NO control method.That means that our control algorithm is very efficient.Advanced online trajectory linearization makes it possible to use simple quadratic optimization; nonlinear programming is unnecessary.This observation can also be verified when we consider process time trajectories.Figure 9 compares simulation results of MPC-NO and MPC-NPLPT algorithms; both of them use the classical Wiener model.The controlled variable and the setpoint trajectory are displayed in the top panel.The manipulated variable is shown in the bottom panel.Although they use a completely different computational scheme, we can see that both algorithms' trajectories are very close.The same observations can be noted from Figure 10, which compares simulation results of MPC-NO and MPC-NPLPT algorithms, but now both algorithms use the parallel Wiener model with three branches.2. From Table 2, we can find out that better control quality is achieved when MPC algorithms use the parallel Wiener model rather than the classical structure.The following indices are significantly reduced when the parallel model is used: MAE, σ H , γ and rational entropy (H R ).The rest of the indices (MSE and σ G ) are slightly lower.Figure 11 presents the obtained trajectories possible when the same control algorithm MPC-NPLPT is used, but classical and parallel Wiener models are used for prediction.We can clearly see that the parallel model control scheme offers better control quality.Namely, the settling time is shorter and the overshoot is smaller.3. Of course, increasing the number of model branches is likely to increase the computation time.Therefore, Wiener models with as few branches as possible should be used.It is interesting whether more complicated parallel Wiener models may be used in MPC.From Table 1 and Figures 7 and 8, we can see that increasing the number of model branches does not lead to improving open-loop model accuracy.As far as closed-loop model performance is concerned, let us consider Figure 12, which shows simulation results of MPC-NO and MPC-NPLPT algorithms that use the parallel Wiener model with n g = 4 branches and neural networks with K g = 4 hidden nodes.This is the best model among all models with four branches.Both algorithms produce the same trajectories, which is good because it means that our MPC-NPLPT algorithm perfectly mimics the computationally demanding MPC-NO method.Unfortunately, the control quality is generally much worse than in the case of parallel Wiener models with three branches.The manipulated variable has an oscillatory behavior, resulting in the controlled variable oscillating.Such an unwanted phenomenon occurs when the controlled variable value is close to the current set point value.Similarly, Figure 13 compares the same MPC algorithms, but now both algorithms use the parallel Wiener model with n g = 4 branches and neural networks with K g = 5 hidden nodes.This is the worst model among all models with four branches.The control results are very bad.The controlled variable of the process practically does not stabilize on the required setpoint.There are frequent oscillations of manipulated and controlled variables.The amplitude of the oscillations is significant, and as a result, large overshoots are obtained.

Conclusions
This work is concerned with parallel Wiener models.Firstly, it details a computationally efficient MPC algorithm for the parallel Wiener model.The idea is to avoid nonlinear prediction and nonlinear online optimization.Conversely, an online linear approximation of the process predicted trajectory is successively computed, leading to a relatively simple

Figure 3 .
Figure 3. Graphical illustration of the Wiener model identification procedure.

Figure 4 .
Figure 4.The classical Wiener model with five hidden nodes in the nonlinear static block (K = 5): the first 1000 samples of the validation data set vs. the model output (top), the relationship between the whole validation data set and the model output (bottom).

Figure 5 .
Figure 5.The parallel Wiener model with two branches, each of which has three hidden nodes (n g = 2, K 1 = K 2 = 3): the first 1000 samples of the validation data set vs. the model output (top), the relationship between the whole validation data set and the model output (bottom).

Figure 6 .
Figure 6.The parallel Wiener model with three branches, each of which has three hidden nodes (n g = 3, K 1 = K 2 = K 3 = 3): the first 1000 samples of the validation data set vs. the model output (top), the relationship between the whole validation data set and the model output (bottom).

Figure 7 .
Figure 7.The parallel Wiener model with four branches, each of which has four hidden nodes (n g = 4, K 1 = K 2 = K 3 = K 4 = 4): the first 1000 samples of the validation data set vs. the model output (top), the relationship between the whole validation data set and the model output (bottom).

Figure 8 .
Figure 8.The parallel Wiener model with four branches, each of which has five hidden nodes (n g = 4, K 1 = K 2 = K 3 = K 4 = 5): the 1000 samples of the validation data set vs. the model output (top), the relationship between the whole validation data set and the model output (bottom).

Figure 10 .
Figure 10.Simulation results: MPC-NO vs. MPC-NPLPT algorithms; both algorithms use the parallel Wiener model with three branches.

Figure 11 .
Figure 11.Simulation results: the MPC-NPLPT algorithm using the classical Wiener model vs. the MPC-NPLPT algorithms using the parallel Wiener (n g = 1) model with three branches (n g = 3).

Figure 12 .
Figure 12.Simulation results: MPC-NO vs. MPC-NPLPT algorithms; both algorithms use the parallel Wiener model with n g = 4 branches and neural networks with K g = 4 hidden nodes.

Figure 13 .
Figure 13.Simulation results: MPC-NO vs. MPC-NPLPT algorithms; both algorithms use the parallel Wiener model with n g = 4 branches and neural networks with K g = 5 hidden nodes.

Table 1 .
Training and validation errors of classical and parallel Wiener models.
Table3details calculation times of studied MPC algorithms for classical and parallel Wiener models.As all simulations are performed in MATLAB (not in a real industrial control system), we are interested in a relative comparison between the studied algorithms.Hence, all results are scaled so that the calculation time for the computationally demanding MPC-NO algorithm based on the classical Wiener model is assumed to be equal to 100%.It is interesting to note that increasing the number of branches significantly influences the calculation time of the MPC-NO algorithm with nonlinear optimization.On the other hand, the time required by the MPC-NPLPT algorithm developed and recommended in our work is significantly shorter and not influenced by the number of model branches.It is because the MPC-NPLPT quadratic optimization problem has a predominant influence on calculation time.

Table 3 .
Calculation times for MPC algorithms with classical and parallel Wiener models.