Next Article in Journal
Efficient Probabilistic Joint Inversion of Direct Current Resistivity and Small-Loop Electromagnetic Data
Previous Article in Journal
Parallelized Swarm Intelligence Approach for Solving TSP and JSSP Problems
Previous Article in Special Issue
Performance Assessment of Predictive Control—A Survey
Open AccessArticle

Numerically Efficient Fuzzy MPC Algorithm with Advanced Generation of Prediction—Application to a Chemical Reactor

Institute of Control and Computation Engineering, Warsaw University of Technology, Nowowiejska 15/19, 00-665 Warszawa, Poland
Algorithms 2020, 13(6), 143; https://doi.org/10.3390/a13060143
Received: 5 May 2020 / Revised: 4 June 2020 / Accepted: 10 June 2020 / Published: 14 June 2020
(This article belongs to the Special Issue Model Predictive Control: Algorithms and Applications)

Abstract

In Model Predictive Control (MPC) algorithms, control signals are generated after solving optimization problems. If the model used for prediction is linear then the optimization problem is a standard, easy to solve, quadratic programming problem with linear constraints. However, such an algorithm may offer insufficient performance if applied to a nonlinear control plant. On the other hand, if a model used for prediction is nonlinear, then non–convex optimization problem must be solved at each algorithm iteration. Then the numerical problems may occur during solving it and the time needed to calculate the control signals cannot be determined. Therefore approaches based on linearized models are preferred in practical applications. A fuzzy algorithm with an advanced generation of the prediction is proposed in the article. The prediction is obtained in such a way that the algorithm is formulated as a quadratic optimization problem but offers performance very close to that of the MPC algorithm with nonlinear optimization. The efficiency of the proposed approach is demonstrated in the control system of a nonlinear chemical control plant—a CSTR (Continuous Stirred–Tank Reactor) with van de Vusse reaction.
Keywords: prediction; process control; model predictive control; fuzzy systems; fuzzy control; nonlinear control prediction; process control; model predictive control; fuzzy systems; fuzzy control; nonlinear control

1. Introduction

The Model Predictive Control (MPC) algorithms during the calculation of the control signals use the model of the control plant directly, predicting the behavior of the process. Thanks to such an approach they can be successfully applied in control systems of control plants with difficult dynamics (delay, inverse response), with constraints and for MIMO (Multiple–Input Multiple–Output) processes, see for example, References [1,2,3,4,5,6,7].
The simplest MPC algorithms are based on linear control plant models; see for example, References [1,8]. Unfortunately, if a control plant is nonlinear and the MPC algorithm should operate for different operating points, as in control system structures with steady–state setpoint optimization (see e.g., References [7,9,10]), then the algorithm based on a linear model may be insufficient in terms of control performance. In such a case operation of the control system can be usually improved using the MPC algorithm based on a nonlinear model.
On the other hand, if a nonlinear process model is used in the MPC algorithm directly (such algorithm is called NMPC—Nonlinear MPC), then the optimization problem solved at each algorithm iteration to generate the control signals is a nonlinear optimization problem; see for example, References [11,12,13]. Thus, it is usually non–convex, hard to solve, and time–consuming computational task. Moreover, the time needed to find the solution cannot be foreseen in advance. One of the ways to cope with this problem is to apply so called fast NMPC algorithms in which the solution is generated faster than in the standard approach, but unfortunately, at the expense of suboptimality; see for example, References [14,15,16]. One of such approaches is the explicit one in which most of calculations are done off–line; see for example, References [17,18,19]. It is an interesting approach and it is optimal if the linear model is used [20,21,22]. However it has a serious drawback—the complexity of the controller grows significantly with the number of inequality constraints in the problem. When the fuzzy models are used, then of course the nonlinear optimization can be applied in the algorithm. However the form of the model is such that easier to solve algorithms can be formulated. Among the algorithms exploiting the structure of the fuzzy models there is a group which is based on Linear Matrix Inequalities (LMIs); see for example, References [23,24,25,26,27]. The other group is based on the classical fuzzy Takagi–Sugeno approach in which a few algorithms based on linear models are used to form the fuzzy controller; see for example, References [28,29].
The other approach consists in online linearization of the process model at each MPC algorithm iteration; see for example, References [7,30,31,32,33,34,35,36]. Then prediction is formulated in such a way that it is linear relative to decision variables in the optimization problem solved at each iteration of the algorithm. Such form of the prediction leads to the formulation of the optimization problem as the quadratic one. In the linearization–based algorithms the prediction can be based on a classical linearization or a clever method of prediction generation can be used, exploiting structure of the nonlinear model the algorithm is based on. In the algorithms using linearization of the fuzzy Takagi–Sugeno model, described in References [31,34], both—the free response and the dynamic matrix were obtained using the model obtained after the linearization. In References [32,36] the model obtained after linearization was used to obtain the dynamic matrix whereas the (classical) free response was calculated using the nonlinear model.
The MPC algorithms proposed in the article are an extension of the algorithm presented in Reference [36] and, like their predecessor, are based on two models—a nonlinear model and its, easy to obtain, fuzzy approximation. The nonlinear model can have any form of the model generating outputs on the base of input signals. This model is used to obtain an advanced (based on the previously calculated trajectory of the future control signals) free response of the process prediction. The easy–to–obtain fuzzy model is used to derive the dynamic matrix describing influence of the future, calculated control signals on prediction. The prediction has such a form that the proposed algorithms are formulated as the standard quadratic programming problem. Thus, the algorithms combine the computational simplicity of the MPC algorithms based on linear models with control performance almost as good as the one offered by the algorithm with nonlinear optimization. The prediction can be also improved iteratively, if needed. Iterative prediction improvement, though slightly different in details, is also used in the interesting iterative–learning–based approaches to batch control, see for example, References [37,38,39].
Standard MPC algorithms based on linear and nonlinear models are described in the next section. In Section 3 the MPC algorithms based on fuzzy and nonlinear models are proposed, and mechanisms of their improvements and simplifications are detailed. A simulation example of the application of the proposed algorithms to a nonlinear chemical reactor with the inverse response is presented in Section 4, illustrating the efficiency of the proposed approach. The article is concluded in the last section.

2. Model Predictive Control Algorithms

Future control signal trajectories are generated in the MPC algorithms in such a way that predicted, many sampling instants ahead, future behavior of the control plant fulfills assumed criteria. It is usually formulated as an optimization problem in which, it is demanded that a performance function is minimized subject to the constraints put on control and output signals. The performance function takes into consideration future, predicted control errors and the shape of control signals. Thus, the optimization problem solved by the MPC algorithm in each iteration has, most often, the following form [1,4,5,7]:
arg min Δ u J MPC = ( y ¯ y ) T · κ · ( y ¯ y ) + Δ u T · Λ · Δ u
subject to:
Δ u min Δ u Δ u max ,
u min u u max ,
y min y y max ,
where
y = y 1 , , y n y T , y j = y k + 1 | k j , , y k + p | k j ,
Δ u = Δ u 1 , , Δ u n u T , Δ u m = Δ u k + 1 | k m , , Δ u k + s 1 | k m ,
u = u 1 , , u n u T , u m = u k + 1 | k m , , u k + s 1 | k m ,
κ = κ 1 , , κ n y · I , κ i = κ i , , κ i ,
Λ = Λ 1 , , Λ n u · I , Λ i = λ i , , λ i ,
y k + j | k j is a value of the jth output for the ( k + i ) th sampling instant predicted at the kth sampling instant using a control plant model, Δ u k + i | k m are future changes in manipulated variables, κ j 0 and λ m 0 are weighting coefficients for the predicted control errors of the jth output and for the changes of the mth manipulated variable, respectively; p and s denote prediction and control horizons, respectively; n y , n u denote number of output and manipulated variables, respectively; Δ u min , Δ u max , u min , u max , y min , y max are vectors of lower and upper bounds of changes and values of the control signals and of the values of output variables, respectively; κ i has p elements, Λ i has s elements. The reference trajectories are grouped in the following vector:
y ¯ = y ¯ 1 , , y ¯ n y T , y ¯ j = y ¯ k + 1 | k j , , y ¯ k + p | k j .
It is often assumed that reference trajectories are constant on the prediction horizon, then the vectors y ¯ j (each composed of p elements) have the following form:
y ¯ j = y ¯ k j , , y ¯ k j ,
where y ¯ k j is a setpoint value for the jth output.
As a solution to the optimization problem ((1)–(4)) the optimal vector of control action is obtained in such a way that future, predicted control errors are minimized (the first component of the performance index), control signals do not vary too much (the second component) and the constraints on control and output signals are fulfilled. The Δ u k | k m elements from the vector Δ u are applied in the control system and the algorithm passes to the next iteration. The predicted values of output signals y k + j | k j are derived using a control plant model the MPC algorithm is based on.

2.1. MPC Algorithms Based on Nonlinear Models (NMPC)

Assume that we have a nonlinear process model:
y ^ k = f ( y k 1 , y k 2 , , y k n a , u k 1 , u k 2 , , u k n b ) ,
where y k i = y k i 1 , , y k i n y T is a vector which contains output values measured at the ( k i ) th sampling instant, u k i = u k i 1 , , u k i n u T is a vector which contains control values applied at the ( k i ) th sampling instant; denote output values generated by the model in the ( k + i ) th sampling instant as y ^ k + i = y ^ k + i 1 , , y ^ k + i n y , n a , n b determine how many past output and control values the model needs. If one wants to use the model (12) directly in the optimization problem ((1)–(4)), then the prediction takes the form of the following formulas, passed to the optimization problem as a set of equality constraints:
y k + i | k = f ( y ^ k + i 1 , , y ^ k + 1 , y k , , y k n a + i 1 , u k + i 1 | k , , u k | k , u k 1 , , u k n b + i 1 ) + d k ,
where u k + i | k = u k + i | k 1 , , u k + i | k n u T is a vector containing future control values, depending on decision variables from the vector Δ u and
d k = y k y ^ k ,
where y k = y k 1 , , y k n y T is a vector of recently measured output values; it is assumed that d k is the same for all instants in the prediction horizon—an approach proposed in the Dynamic Matrix Control (DMC) algorithm and therefore called the DMC–type disturbance model; see for example, Reference [7].
Unfortunately, the optimization task with the prediction (13), based on a nonlinear model, is not a quadratic optimization task. The optimization problem ((1)–(4)) becomes, in general, non–convex nonlinear optimization problem. Solving such a problem is difficult and time–consuming task, there is no guarantee to find a global solution and time needed to obtain solution cannot be estimated in advance. Different kinds of nonlinear process models can be used in the algorithm, but they are exploited in a similar way, see for example, References [13,40,41,42]; such algorithms will be referred to as Nonlinear MPC (NMPC). Due to problems caused by formulation of NMPC algorithms, in practice MPC algorithms based on linear approximations of process models, obtained at each iteration of the algorithm are considered. Such linear approximation is used to formulate the, easy to solve, quadratic optimization problem [35]. Such an optimization problem is also used in the MPC algorithms based on linear models, therefore now their formulation will be reminded. In the next section, the proposed algorithms, based on an advanced approximation of the nonlinear model, will be proposed.

2.2. MPC Algorithms Based on Linear Models (LMPC)

In the case of linear models the superposition principle holds, therefore the vector of predicted output values y can be decomposed into two parts:
y = y ˜ + A · Δ u ,
y ˜ = y ˜ 1 , , y ˜ n y T , y ˜ j = y ˜ k + 1 | k j , , y ˜ k + p | k j ,
where y ˜ is called the free response of the plant, because it contains future values of output signals calculated assuming that the control signal does not change in the future — it describes influence of the past values of control signals; form of the free response depends on the model used for prediction, see for example, References [1,4,5,7]. The second component in the formula (15) depends on future (to be calculated) changes of the control signals and is called the forced response; the matrix A , called the dynamic matrix, is given by the following formula:
A = A 11 A 12 A 1 n u A 21 A 22 A 2 n u A n y 1 A n y 2 A n y n u ,
A j m = a 1 j , m 0 0 0 a 2 j , m a 1 j , m 0 0 a p j , m a p 1 j , m a p s + 2 j , m a p s + 1 j , m ,
where a i j , m are the control plant step response coefficients describing influence of the mth input on the jth output; it can be shown that the dynamic matrix has the same form regardless a type of linear models MPC algorithms are based on [7].
After applying the prediction based on a linear model (15) the performance function (1) is transformed to a function which depends quadratically on decision variables Δ u :
J L M P C = ( y ¯ y ˜ A · Δ u ) T · κ · ( y ¯ y ˜ A · Δ u ) + Δ u T · Λ · Δ u .
After using prediction (15) also in the constraints (3), all constraints depend linearly on decision variables. Thus, the optimization problem ((1)–(4)) becomes an, easy to solve, standard linear–quadratic optimization problem. Unfortunately, application of an LMPC algorithm to a nonlinear process may result in unsatisfactory control performance, especially if operation in different operating points is demanded. Therefore, the fuzzy MPC (FMPC) algorithm being a combination of the LMPC and NMPC algorithms was proposed in Reference [36]. Now it will be improved by appropriate usage of the nonlinear model. Formulation of the proposed algorithm is presented in the next section. It still uses two models the original, nonlinear one is used to calculate the free response in an advanced way. The fuzzy one, composed of a set of a few step responses, is applied to calculate the dynamic matrix, which is updated at each iteration of the algorithm.

3. Fuzzy MPC Algorithm with Advanced Generation of Prediction

In order to avoid algorithm complications resulting from the need to solve a nonlinear optimization task in each iteration, one can use approximation of the process model carried out in each iteration. Using an easy–to–obtain fuzzy model to get the dynamic matrix and a nonlinear model to obtain the advanced free response leads to prediction which can be generated in a relatively simple way, is linear relative to decision variables, and mimics the nonlinearity of the process very well. Next, in each iteration of the algorithm, an optimization problem ((1)–(4)) which uses this prediction is formulated as a quadratic optimization problem. Such a problem is easy to solve using commonly available optimization routines. Now it will be described how to obtain such an advanced prediction.

3.1. Generation of the Dynamic Matrix

The dynamic matrix, needed to obtain forced response in the prediction can be calculated using an easy–to–obtain fuzzy Takagi–Sugeno model which has local models in the form of step responses [34]. Design process of such a model is very simple, because it is sufficient to collect a few sets of step responses (near a few operating points). These step responses can be obtained directly on the control plant or using a nonlinear model of the process. Next, the premises of the model should be formulated using expert knowledge, and then tuned, for example, by means of a fuzzy neural network [7]. Thus, the model has the following form:
Rule   f : if   y k j y   is   B 1 f , j y   and and   y k n + 1 j y   is   B n f , j y and u k j u   is   C 1 f , j u   and and   u k m + 1 j u   is   C m f , j u then   y ^ k j , f = m = 1 n u n = 1 p d 1 a n j , m , f · Δ u k n m + a p d j , m , f · u k p d m ,
where y k j y is the value of j y th output variable at the kth sampling instant, u k j u is the value of j u th manipulated variable at the kth sampling instant, B 1 f , j y , , B n f , j y , C 1 f , j u , , C m f , j u are fuzzy sets, a n j , m , f are the coefficients of step responses in the fth local model, j y = 1 , , n y , j u = 1 , , n u , f = 1 , , l , l is number of fuzzy rules. The output values of the model (20) can be calculated using the following formula:
y ^ k j = m = 1 n u n = 1 p d 1 a ˜ n j , m · Δ u k n m + a ˜ p d j , m · u k p d m ,
where a ˜ n j , m = f = 1 l w ˜ f · a n j , m , f and w ˜ f are the normalized firing strengths of the fuzzy rules calculated using fuzzy reasoning, see for example, References [43,44]. Note that one can consider the model (21) as the step response describing behavior of the control plant near the current operating point. This model is then used at each sampling instant of the proposed algorithms to obtain a new, updated dynamic matrix:
A k = A k 11 A k 12 A k 1 n u A k 21 A k 22 A k 2 n u A k n y 1 A k n y 2 A k n y n u ,
A k j m = a ˜ 1 j , m 0 0 0 a ˜ 2 j , m a ˜ 1 j , m 0 0 a ˜ p j , m a ˜ p 1 j , m a ˜ p s + 2 j , m a ˜ p s + 1 j , m .

3.2. Generation of the Free Response

The basic idea of the free response generation for an MPC algorithm is to use a non–linear process model assuming that the control signals do not change over the entire prediction horizon—a classic free response; see for example, Reference [36]. In the case of the proposed algorithm, future control increments calculated in the algorithm in the previous iterations are also used when the free response is calculated. Thus, more information is exploited to obtain the improved prediction. Assume that future control values are decomposed as follows:
u k + i | k m = u ˇ k + i | k m + u k + i | k 1 m ,
where u ˇ k + i | k m can be interpreted as a corrections of the control signal u k + i | k 1 m obtained in the last ( k 1 ) st iteration. Similarly, future control increments will be given by the formula:
Δ u k + i | k m = Δ u ˇ k + i | k m + Δ u k + i | k 1 m .
Assume
u k + i | k 1 = u k + i | k 1 1 , , u k + i | k 1 n u T ,
In this case, using the nonlinear model, the free response is iteratively derived as follows:
  • First, the nonlinear model (12) is used to obtain
    y ^ k + 1 = f ( y k , y k 1 , , y k n a + 1 , u k | k 1 , u k 1 , , u k n b + 1 ) ;
  • Next, the values y ^ k + 1 are used when calculating the output values y ^ k + 2 for the next sampling instant:
    y ^ k + 2 = f ( y ^ k + 1 , y k , , y k n a + 2 , u k + 1 | k 1 , u k | k 1 , u k 1 , , u k n b + 2 ) ;
  • For the ith iteration, using the values y ^ k + 1 , , y ^ k + i 1 one obtains:
    y ^ k + i = f ( y ^ k + i 1 , y ^ k + i 2 , , y k n a + i , u k + i 1 | k 1 , u k + i 2 | k 1 , , u k n b + i ) .
  • After taking into account the estimation of unmeasured disturbances d k = y k y ^ k | k 1 , containing also influence of modeling errors, the final form of the formula describing the elements of the free response is obtained:
    y ˜ k + i | k = y ^ k + i + d k .

3.3. Formulation of the Optimization Problem

Now the dynamic matrix (22) will be used to predict the influence of control corrections on the control plant outputs. Therefore, after using the free response (30) and the dynamic matrix (22) one obtains the following prediction:
y = y ˜ + A k · Δ u ˇ .
Due to the change of decision variables, optimization task ((1)–(4)), which is solved by the control algorithm in each iteration can be written as:
arg min Δ u ˇ J M P C + = ( y ¯ y ˜ A k · Δ u ˇ ) T · κ · ( y ¯ y ˜ A k · Δ u ˇ ) + Δ u T · Λ · Δ u
subject to:
Δ u min Δ u Δ u max ,
u min u u max ,
y min y ˜ + A k · Δ u ˇ y max ,
where
Δ u ˇ = Δ u ˇ 1 , , Δ u ˇ n u T , Δ u ˇ m = Δ u ˇ k + 1 | k m , , Δ u ˇ k + s 1 | k m .
Note that the performance function in (32) depends quadratically on decision variables Δ u ˇ and all constraints depend linearly on decision variables. Thus, a standard, easy–to–solve linear–quadratic optimization problem was obtained.
Remark 1.
In the proposed algorithm, one can also use a slightly modified form of the performance index, in which the second component depends only on the corrections Δ u ˇ of the control signals determined in the previous iteration of the algorithm, that is,
J M P C + v 2 = ( y ¯ y ˜ A k · Δ u ˇ ) T · κ · ( y ¯ y ˜ A k · Δ u ˇ ) + Δ u ˇ T · Λ · Δ u ˇ .
It should be emphasized, however, that such modification causes a change in the meaning of the λ parameter in relation to the classical formulation. Consequently, algorithms with a modified form of the performance function generate faster responses, but influence of the λ parameter on system robustness becomes significantly limited.

3.4. Iterative Improvement of the Prediction

In practice, the proposed approach gives results very similar to those offered by the NMPC algorithm. However it is possible to further improve the control quality, if necessary, thanks to iterative improvement of the prediction determined in the algorithm. Then smaller corrections of control trajectories in each subsequent iteration are obtained, what is beneficial because impact of them on the process outputs is predicted using the dynamic matrix instead of a more accurate non–linear process model.
The first, internal iteration of the algorithm is the same as in the basic version of the algorithm. After receiving the future control trajectories, one can either apply them in the process or try to improve the resulting solution. In such a case, the second internal iteration of the algorithm should be executed. Denote the values of future control signal trajectories obtained in the first iteration as u k + i | k ( 1 ) m and future control increments as Δ u k + i | k ( 1 ) m .
In subsequent iterations, because subsequent control signal trajectories are available, future control values are decomposed as follows:
u k + i | k ( i w ) m = u ˇ k + i | k ( i w ) m + u k + i | k ( i w 1 ) m ,
where i w —index of the internal iteration of the algorithm, i w = 2 , 3 , . Similarly, future control increments are decomposed:
Δ u k + i | k ( i w ) m = Δ u ˇ k + i | k ( i w ) m + Δ u k + i | k ( i w 1 ) m .
Assume
u k + i | k ( i w 1 ) = u k + i | k ( i w 1 ) 1 , , u k + i | k ( i w 1 ) n u T ,
Thus, using the non–linear process model, the free response is iteratively derived as follows:
  • First, the model is used to obtain values
    y ^ k + 1 = f ( y k , y k 1 , , y k n a + 1 , u k | k ( i w 1 ) , u k 1 , , u k n b + 1 ) ;
  • Next, the values y ^ k + 1 are used to calculate the output values y ^ k + 2 for the next sampling instant:
    y ^ k + 2 = f ( y ^ k + 1 , y k , , y k n a + 2 , u k + 1 | k ( i w 1 ) , u k | k ( i w 1 ) , u k 1 , , u k n b + 2 ) ;
  • For the ith iteration, using the values y ^ k + 1 , , y ^ k + i 1 one obtains:
    y ^ k + i = f ( y ^ k + i 1 , y ^ k + i 2 , , y k n a + i , u k + i 1 | k ( i w 1 ) , u k + i 2 | k ( i w 1 ) , , u k n b + i ) .
  • After taking into account the estimation of unmeasured disturbances d k = y k y ^ k | k 1 , containing also influence of modeling errors, like in (30), the final formula describing the elements of the free response is obtained:
    y ˜ k + i | k = y ^ k + i + d k .
As in the basic algorithm, the dynamic matrix is used to predict the influence of control corrections on the control plant outputs. Thus, after using the free response (44) and the dynamic matrix (22) one obtains the following prediction:
y = y ˜ + A k · Δ u ˇ .
where
Δ u ˇ = Δ u ˇ 1 , , Δ u ˇ n u T , Δ u ˇ m = Δ u ˇ k + 1 | k ( i w ) m , , Δ u ˇ k + s 1 | k ( i w ) m .
This prediction should then be used to formulate the optimization task in the same way as in the basic algorithm. After solving this task, one can either use the result to control the process or to perform another internal iteration of the algorithm.
Note that the lower the values of the corrections of the future control trajectories are obtained, the better the prediction is obtained, because it will be closer to the one obtained fully using a nonlinear model. The number of internal iterations of the algorithm can therefore be selected depending on how large the corrections of the future control trajectories are (provided that the time for generating control signals has not expired). If these adjustments become small enough, one should stop doing further internal iterations.
Due to the lack of proof of the convergence of the described procedure, it is advisable to check after each internal iteration whether the performance function in the problem solved by the algorithm and control corrections decrease. If there is no improvement in the value of the performance function (especially when there is a large increase of it) or control adjustments begin to increase the internal iterations should be interrupted.

3.5. Fast Generation of the Control Action—Analytical Approach

Note that if in each iteration of the proposed approach the following optimization problem without constraints is solved:
arg min Δ u ˇ J M P C + = ( y ¯ y ˜ A k · Δ u ˇ ) T · κ · ( y ¯ y ˜ A k · Δ u ˇ ) + Δ u T · Λ · Δ u
then it has the following solution given by the analytical formula:
Δ u ˇ = A k T · κ · A k + Λ 1 · A k T · κ · y ¯ y ˜ + Δ u .
where Δ u contains elements of future control increments trajectory, corrections of which are collected in the vector Δ u ˇ .
Remark 2.
If one uses the performance index (37), that is, the modified version:
J M P C + v 2 = ( y ¯ y ˜ A k · Δ u ˇ ) T · κ · ( y ¯ y ˜ A k · Δ u ˇ ) + Δ u ˇ T · Λ · Δ u ˇ ,
then the following analytical formula should be used:
Δ u ˇ = A k T · κ · A k + Λ 1 · A k T · κ · y ¯ y ˜ .
It should be once again emphasized, however, that this modification changes the meaning of the parameter matrix Λ comparing to the classical formulation and algorithms with a modified form of the performance index generate faster responses than the algorithm using the control law (47), but influence of the λ parameter on system robustness becomes significantly limited.
Due to the fact that the dynamic matrix A k changes, in general, in every iteration, then in each iteration of the algorithm the formulas (47) (or (49)) allowing to calculate the control action should be used. As a consequence, appropriate rows of the matrix A k T · κ · A k + Λ 1 (corresponding to the control increments for the current sampling instant Δ u k | k m ) should be calculated in each iteration of the algorithm.

3.6. Disturbance Measurement Utilization

The proposed algorithms are formulated in such a way that the mechanisms of disturbance measurement utilization presented in Reference [45] can be applied in them easily. The proposed algorithms are based on two models, therefore two such mechanisms can be applied. They will be now shortly reminded.

3.6.1. Employing Fuzzy Model

The first method consists in extending local models of the fuzzy model (20) using the models of disturbance influence on the control plant in the form of step responses. It results then in extending the prediction (31) with a term dependent on measured disturbance; for details see References [34,45]:
y = y ˜ + E k · Δ u d + A k · Δ u ˇ ,
where
E k = E k 1 E k 2 E k n y , E k j = e ˜ 1 j e ˜ 2 j e ˜ 1 j e ˜ 3 j e ˜ 2 j e ˜ p z 1 j e ˜ p z 2 j e ˜ p z j e ˜ p z 1 j e ˜ 2 j e ˜ 3 j e ˜ 1 j e ˜ 4 j e ˜ 2 j e ˜ p z j e ˜ p z 2 j e ˜ p z j e ˜ p z 1 j e ˜ p j e ˜ p + 1 j e ˜ 1 j e ˜ p + 2 j e ˜ 2 j e ˜ p z j e ˜ p z 2 j e ˜ p z j e ˜ p z 1 j ,
and
Δ u d = Δ u k d , Δ u k 1 d , Δ u k 2 d , , Δ u k p z + 2 d , Δ u k p z + 1 d T ,
where e ˜ n j = f = 1 l w ˜ f · e i j , f , e i j , f ( i = 1 , , p z , j = 1 , , n y , f = 1 , , l ) are the coefficients of step responses to the change of disturbance, in the fth local model, u k i d are values of the disturbance measured in the ( k i ) th sampling instant.
Then the following performance function in the optimization problem (1)–(4) should be now used:
J M P C + = ( y ¯ y ˜ E k · Δ u d A k · Δ u ˇ ) T · κ · ( y ¯ y ˜ E k · Δ u d A k · Δ u ˇ ) + Δ u T · Λ · Δ u .
or the modified one:
J M P C + v 2 = ( y ¯ y ˜ E k · Δ u d A k · Δ u ˇ ) T · κ · ( y ¯ y ˜ E k · Δ u d A k · Δ u ˇ ) + Δ u ˇ T · Λ · Δ u ˇ .
In the example presented in the next section, this mechanism was simplified by assuming that only one model of disturbance influence on the process is obtained, that is, e i j , f = e i j for f = 1 , , l , then the prediction transforms to the following formula:
y = y ˜ + E · Δ u d + A k · Δ u ˇ ,
where
E = E 1 E 2 E n y , E j = e 1 j e 2 j e 1 j e 3 j e 2 j e p z 1 j e p z 2 j e p z j e p z 1 j e 2 j e 3 j e 1 j e 4 j e 2 j e p z j e p z 2 j e p z j e p z 1 j e p j e p + 1 j e 1 j e p + 2 j e 2 j e p z j e p z 2 j e p z j e p z 1 j .
and the matrix E is constant in each iteration, what simplifies the calculations. Thus, disturbance measurement utilization mechanism becomes actually the same as in the DMC algorithm.

3.6.2. Employing Nonlinear Model

The second approach assumes that the disturbance is one of the inputs of the model used to obtain the free response:
u ˜ k i = u k i 1 , , u k i n u , u k i d T ,
where u k i d is value of disturbance in the ( k i ) th sampling instant. Then the nonlinear process model (12) becomes:
y ^ k + 1 | k = f ( y k , y k 1 , , y k n a , u ˜ k 1 , u ˜ k 2 , , u ˜ k n b ) .
Then it is sufficient to use measured values of the disturbance during calculation of the free response to include this information in the prediction. During calculation of the free response, as future values of the disturbance its estimates can be used or, if one does not have any, they should be assumed unchanged, like in the case of classical free response.

4. Example

The control plant is a nonlinear, isothermal CSTR in which the van de Vusse reaction takes place. The steady–state characteristic of the control plant is depicted in Figure 1.
The CSTRs in which the van de Vusse reaction takes place are a popular benchmark due to their nonlinearity and difficult dynamics, willingly used to test newly developed control algorithms; see for example, References [46,47,48,49,50,51]. The process model of the reactor is composed of two composition balance equations; see for example, Reference [52]:
d C A d t = k 1 · C A k 3 · C A 2 + F V C Af C A , d C B d t = k 1 · C A k 2 · C B F V C B ,
where C A , C B are the concentrations of components A and B, respectively, F is the inlet (and also outlet) flow rate, V is the volume in which the reaction takes place (assumed constant and V = 1   L ), C Af is the concentration of component A in the inlet flow stream (if not declared otherwise, it is assumed that C Af = 10   mol / L ). The values of parameters are: k 1 = 50   1 / h , k 2 = 100   1 / h , k 3 = 10   L / ( h · mol ) . The output variable is the concentration C B of substance B, the manipulated variable is the inlet flow rate F, C Af is the disturbance variable. The control plant has the inverse response, thus it is a control plant difficult to control using a standard algorithm. Therefore, it is natural to use an MPC algorithm in this case.

Experiments

For the considered control plant a few MPC algorithms were designed—an NMPC one based on the nonlinear model and nonlinear optimization, an LMPC one based on a linear model in the form of a step response (of DMC type) and the proposed FMPC algorithms using a fuzzy model, different methods of prediction improvements, and different forms of the performance index (FMPC1—with classical performance index, and FMPC2—with the modified performance index). The fuzzy model used in the FMPC algorithms is composed of three step responses obtained near the following operating points:
R 1   C B 0 = 0.91   mol / L ,   C A 0 = 2.18   mol / L ,   F = 20   L / h ; R 2   C B 0 = 1.12   mol / L ,   C A 0 = 3   mol / L ,   F = 34.3   L / h ; R 3   C B 0 = 1.22   mol / L ,   C A 0 = 3.66   mol / L ,   F = 50   L / h .
The model used to obtain the dynamic matrix is thus composed of three rules; the membership functions, same as in Reference [34], chosen after analysis of the steady–state characteristic of the control plant, are shown in Figure 2.
The simulation experiments were done using Matlab. The sampling time equal to T s = 3.6 s was assumed; the values of tuning parameters were as follows: prediction horizon p = 70 , control horizon s = 35 , and at the beginning weighting coefficient λ = 0.001 . During the experiments operation of control systems with NMPC, LMPC and FMPC algorithms was compared. The LMPC algorithm was designed using the step response obtained near the R2 point. The FMPC algorithms use two models: nonlinear one in the form of state equations, to generate a free response and the fuzzy one with local models in the form of step responses, to obtain the dynamic matrix.
Responses of the control system to changes in the setpoint and to the change of the disturbance by 10% in the 6th minute of the experiment are shown in Figure 3. If the setpoint was changed to C ¯ B 1 = 1 mol/L, responses obtained in the control system with the FMPC1 algorithm (blue lines in Figure 3) are very close to those obtained with NMPC algorithm with nonlinear optimization (red lines in Figure 3). In both cases there is almost no overshoot and both algorithms work much better than their LMPC counterpart (magenta lines in Figure 3). In the latter case there is a significant overshoot. Moreover, settling time is much longer than in the case of NMPC and FMPC algorithms. The FMPC1 algorithm is slightly slower than the NMPC one, whereas the FMPC2 is practically as fast as NMPC.
In the case when setpoint changed to C ¯ B 2 = 1.25 mol/L, the responses obtained with the FMPC algorithms are even faster than the one generated with NMPC algorithm. In the case of all the algorithms the setpoint is reached without overshoot, but LMPC works much slower than the algorithms based on nonlinear models.
Disturbance responses obtained near C B = 1 mol/L with FMPC and NMPC algorithms are almost the same. There is no overshoot which is present in the response of the LMPC algorithm. The algorithms based on nonlinear models slightly faster compensate the change in disturbance. In the case of operation near C B = 1.25 mol/L, the NMPC is the fastest in compensation of the disturbance change. The FMPC1 is slightly slower and the LMPC is much slower than its counterparts.
It can be noticed that the FMPC algorithms offer control performance close to the one which can be obtained with the NMPC algorithm and with nonlinear optimization. In one case (setpoint change to C ¯ B 2 = 1.25 mol/L) they are even faster. It should be, however, emphasized that the FMPC algorithms use reliable quadratic programming routine to generate control action.
Duration of action of the researched algorithms in the experiments depicted in Figure 3 is compared in Table 1. For each algorithm and for each setpoint five measurements of duration were done (time needed to simulate the control plant was subtracted) and averaged. Then these average durations were summed in the last row of the table. Both FDMC algorithms work much (around 20 times) faster than the NMPC algorithm.
There was also done an experiment with λ = 0.0001 (10 times smaller than in the first experiment; Figure 4). All the algorithms work now faster; the control action in all cases is more aggressive, but the relations between FMPC, NMPC, and LMPC algorithms remain unchanged; they are the same as in the previous experiment, for λ = 0.001 . However, as the λ parameter is closer to zero, the differences between FMPC1 and FMPC2 algorithms became much smaller comparing to the previous experiment. The FMPC1 algorithm is practically as fast as the FMPC2 one. Such a phenomenon is reasonable, because for λ = 0 both performance indexes (32) and (37) are the same. Thus, the closer value of the λ coefficient to 0 is, the closer responses generated with FMPC1 and FMPC2 are.
There were also done experiments with shortening the control horizon s (Figure 5 and Figure 6). Note, that the smaller the control horizon is the less number of decision variables in the optimization problem. Therefore, it is simpler to solve and can be solved faster. In the case of both algorithms FMPC1 and FMPC2, with different values of λ for many values of the control horizon the responses generated with the algorithms do not change too much. Thus, the control horizon can be shorted significantly. In the considered examples for FMPC1 algorithm the responses generated for s = 35 and for s = 10 are almost the same; in the case of control system with FMPC2 algorithm—the responses generated for s = 35 and for s = 5 are almost the same. Further decreasing of the control horizon brings changes in the responses.
In the case of the control system with FMDC1 algorithm, for s = 5 the disturbance compensation near C B = 1.25 mol/L becomes faster, but unfortunately achieving the setpoint C ¯ B 1 = 1 mol/L lasts longer. Further decrease of the control horizon to s = 1 causes that the disturbance compensation near C B = 1.25 mol/L becomes even faster as well as reaching the setpoint C ¯ B 2 = 1.25 mol/L, however at the cost of slower response to the setpoint change to C ¯ B 1 = 1 mol/L and worsened disturbance compensation near C B = 1 mol/L.
In the control system with FMDC2 algorithm, for s = 2 and s = 1 the disturbance compensation near C B = 1.25 mol/L becomes slightly faster, but unfortunately achieving both the setpoints C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L lasts longer. Moreover disturbance compensation near C B = 1 mol/L is now slower. Thus, in this case, as in the case of FMPC1 algorithm, decreasing the control horizon should be done also carefully and there is also a threshold which should not be crossed in order to avoid control performance deterioration.
To sum up, during designing of an algorithm it is advisable to check if the control horizon can be decreased (and optimization problem solved by the algorithm simplified). However, it should be done carefully, because for too short control horizon control performance can got worse.
The mechanisms of disturbance measurement utilization were used in the next experiments. Both FMPC algorithms generated similar responses. The first method of disturbance measurement utilization (red lines in Figure 7 and Figure 8) is based on the same approach as in the standard DMC algorithm, the second one employs the nonlinear process model (magenta lines in Figure 7 and Figure 8). Disturbance compensation near C B = 1.25 mol/L is almost the same in the case of both methods; differences in responses are really small. It is because the model of disturbance influence on the control plant for the first method was obtained near this output value.
Application of both methods of disturbance measurement utilization near C B = 1 mol/L causes reduction of the maximal control error by around 50% comparing to the case when disturbance measurement was not exploited (blue lines in Figure 7 and Figure 8). Both methods offer very good disturbance compensation. However, in the case of the one based on the nonlinear model (magenta lines in Figure 7 and Figure 8) the output value achieves the setpoint slightly faster than the one based on the linear model (red lines in Figure 7 and Figure 8) while changes of the control signal are smaller.

5. Conclusions

The numerically efficient FMPC algorithms proposed in the article use the easy–to–obtain fuzzy model to calculate the dynamic matrix, which describes the influence of future control action on prediction, and the nonlinear model to derive the free response of the control plant in a clever way which allows obtaining very good prediction. As a result, the algorithms offer control performance very close to the one offered by the NMPC algorithm, based on the nonlinear optimization. The FMPC algorithms, however, despite they are also based on nonlinear models, thanks to a clever way of prediction generation are formulated as the easy–to–solve quadratic optimization problem.
Modifications of the algorithms proposed to improve their operation can be applied by a system designer if needed. Thus the algorithm can be tailored to a particular application. Thus, it can offer a good balance between control performance which is needed in the problem at hand, and control algorithm complication. One can adjust the algorithm to a given problem so the computational demand is as small possible.

Funding

This research received no external funding.

Conflicts of Interest

The author declares no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
CSTRContinuous Stirred–Tank Reactor
DMCDynamic Matrix Control
FMPCFuzzy Model Predictive Control
LMPCLinear Model Predictive Control
LMIsLinear Matrix Inequalities
MPCModel Predictive Control
MIMOMultiple–Input Multiple–Output
NMPCNonlinear Model Predictive Control

References

  1. Camacho, E.F.; Bordons, C. Model Predictive Control; Springer: London, UK, 1999. [Google Scholar]
  2. Domański, P.D. Performance Assessment of Predictive Control—A Survey. Algorithms 2020, 13, 97. [Google Scholar] [CrossRef]
  3. El Youssef, J.; Castle, J.; Ward, W.K. A Review of Closed–Loop Algorithms for Glycemic Control in the Treatment of Type 1 Diabetes. Algorithms 2009, 2, 518–532. [Google Scholar] [CrossRef]
  4. Rossiter, J.A. Model–Based Predictive Control: A Practical Approach; CRC Press: Boca Raton, FL, USA, 2003. [Google Scholar]
  5. Maciejowski, J.M. Predictive Control with Constraints; Prentice Hall: Harlow, UK, 2002. [Google Scholar]
  6. Sands, T. Comparison and Interpretation Methods for Predictive Control of Mechanics. Algorithms 2019, 12, 232. [Google Scholar] [CrossRef]
  7. Tatjewski, P. Advanced Control of Industrial Processes; Structures and Algorithms; Springer: London, UK, 2007. [Google Scholar]
  8. Tatjewski, P. Disturbance modeling and state estimation for offset–free predictive control with state–spaced process models. Int. J. Appl. Math. Comput. Sci. 2014, 24, 313–323. [Google Scholar] [CrossRef]
  9. Ławryńczuk, M.; Marusak, P.; Tatjewski, P. Cooperation of model predictive control with steady–state economic optimisation. Control. Cybern. 2008, 37, 133–158. [Google Scholar]
  10. Blevins, T.L.; McMillan, G.K.; Wojsznis, W.K.; Brown, M.W. Advanced Control Unleashed; ISA: Fort Belvoir, VA, USA, 2003. [Google Scholar]
  11. Abdelaal, M.; Schön, S. Predictive Path Following and Collision Avoidance of Autonomous Connected Vehicles. Algorithms 2020, 13, 52. [Google Scholar] [CrossRef]
  12. Chen, H.; Allgöwer, F. A Quasi-Infinite Horizon Nonlinear Model Predictive Control Scheme with Guaranteed Stability. Automatica 1998, 34, 1205–1217. [Google Scholar] [CrossRef]
  13. Tatjewski, P. Offset–free nonlinear model predictive control with state–space process models. Arch. Control. Sci. 2017, 27, 595–615. [Google Scholar] [CrossRef]
  14. Zavala, V.M.; Laird, C.D.; Biegler, L.T. A fast moving horizon estimation algorithm based on nonlinear programming sensitivity. J. Process Control 2008, 18, 876–884. [Google Scholar] [CrossRef]
  15. Diehl, M.; Bock, H.G.; Schlöder, J.P.; Findeisen, R.; Nagy, Z.; Allgöwer, F. Real–time optimization and nonlinear model predictive control of processes governed by differential–algebraic equations. J. Process Control 2002, 12, 577–585. [Google Scholar] [CrossRef]
  16. Schäfer, A.; Kühl, P.; Diehl, M.; Schlöder, J.; Bock, H.G. Fast reduced multiple shooting methods for nonlinear model predictive control. Chem. Eng. Process. 2007, 46, 1200–1214. [Google Scholar] [CrossRef]
  17. Johansen, T.A. On multi–parametric nonlinear programming and explicit nonlinear model predictive control. In Proceedings of the 41st IEEE Conference on Decision and Control, Las Vegas, NV, USA, 10–13 December 2002; Volume 3, pp. 2768–2773. [Google Scholar]
  18. Johansen, T.A. Approximate explicit receding horizon control of constrained nonlinear systems. Automatica 2004, 40, 293–300. [Google Scholar] [CrossRef]
  19. Dominguez, L.F.; Pistikopoulos, E.N. A Novel mp-NLP Algorithm for Explicit/Multi-parametric NMPC. IFAC Proc. Vol. 2010, 43, 539–544. [Google Scholar] [CrossRef]
  20. Bemporad, A.; Borrelli, F.; Morari, M. Piecewise linear optimal controllers for hybrid systems. In Proceedings of the 2000 American Control Conference. ACC (IEEE Cat. No.00CH36334), Chicago, IL, USA, 28–30 June 2000; pp. 1190–1194. [Google Scholar]
  21. Bemporad, A.; Morari, M.; Dua, V.; Pistikopoulos, E.N. The explicit linear quadratic regulator for constrained systems. Automatica 2002, 38, 3–20. [Google Scholar] [CrossRef]
  22. Pistikopoulos, E.N.; Dua, V.; Bozinis, N.A.; Bemporad, A.; Morari, M. On–line optimization via off–line parametric optimization tools. Comput. Chem. Eng. 2002, 26, 175–185. [Google Scholar] [CrossRef]
  23. Wu, X.; Shen, J.; Li, Y.; Lee, K.Y. Fuzzy modeling and predictive control of superheater steam temperature for power plant. ISA Trans. 2015, 56, 241–251. [Google Scholar] [CrossRef]
  24. Khooban, M.H.; Vafam, N.; Niknam, T. Optimal partitioning of a boiler–turbine unit for Fuzzy model predictive control. ISA Trans. 2016, 64, 231–240. [Google Scholar] [CrossRef]
  25. Kong, L.; Yuan, J. Disturbance–observer–based fuzzy model predictive control for nonlinear processes with disturbances and input constraints. ISA Trans. 2019, 90, 74–88. [Google Scholar] [CrossRef]
  26. Kong, L.; Yuan, J. Generalized Discrete–time Nonlinear Disturbance Observer Based Fuzzy Model Predictive Control for Boiler–Turbine Systems. ISA Trans. 2019, 90, 89–106. [Google Scholar] [CrossRef]
  27. Shen, D.; Lim, C.-C.; Shi, P. Robust fuzzy model predictive control for energy management systems in fuel cell vehicles. Control. Eng. Pract. 2020, 98, 104364. [Google Scholar] [CrossRef]
  28. Killian, M.; Kozek, M. T–S fuzzy model predictive speed control of electrical vehicles. IFAC-Papers On Line 2017, 50, 2011–2016. [Google Scholar] [CrossRef]
  29. Marusak, P.; Tatjewski, P. Stability analysis of nonlinear control systems with unconstrained fuzzy predictive controllers. Arch. Control. Sci. 2002, 12, 267–288. [Google Scholar]
  30. Ławryńczuk, M. Nonlinear state–space predictive control with on–line linearisation and state estimation. Int. J. Appl. Math. Comput. Sci. 2015, 25, 833–847. [Google Scholar] [CrossRef]
  31. Boulkaibet, I.; Belarbi, K.; Bououden, S.; Marwala, T.; Chadli, M. A new T–S fuzzy model predictive control for nonlinear processes. Expert Syst. Appl. 2017, 88, 132–151. [Google Scholar] [CrossRef]
  32. Essien, E.; Ibrahim, H.; Mehrandezh, M.; Idem, R. Adaptive neuro-fuzzy inference system (ANFIS)—Based model predictive control (MPC) for carbon dioxide reforming of methane (CDRM) in a plug flow tubular reactor for hydrogen production. Therm. Sci. Eng. Prog. 2019, 9, 148–161. [Google Scholar] [CrossRef]
  33. Ławryńczuk, M. Computationally Efficient Model Predictive Control Algorithms: A Neural Network Approach; Springer: Heidelberg, Germany, 2014. [Google Scholar]
  34. Marusak, P. Advantages of an easy to design fuzzy predictive algorithm in control systems of nonlinear chemical reactors. Appl. Soft Comput. 2009, 9, 1111–1125. [Google Scholar] [CrossRef]
  35. Morari, M.; Lee, J.H. Model predictive control: Past, present and future. Comput. Chem. Eng. 1999, 23, 667–682. [Google Scholar] [CrossRef]
  36. Marusak, P. Efficient model predictive control algorithm with fuzzy approximations of nonlinear models. LNCS 2009, 5495, 448–457. [Google Scholar]
  37. Lu, J.; Cao, Z.; Zhao, C.; Gao, F. Multipoint Iterative Learning Model Predictive Control. IEEE Trans. Ind. Electron. 2019, 66, 6230–6240. [Google Scholar] [CrossRef]
  38. Lu, J.; Cao, Z.; Zhang, R.; Gao, F. Nonlinear Monotonically Convergent Iterative Learning Control for Batch Processes. IEEE Trans. Ind. Electron. 2018, 65, 5826–5836. [Google Scholar] [CrossRef]
  39. Lu, J.; Cao, Z.; Gao, F. 110th Anniversary: An Overview on Learning–Based Model Predictive Control for Batch Processes. Ind. Eng. Chem. Res. 2019, 58, 17164–17173. [Google Scholar] [CrossRef]
  40. Fink, A.; Fischer, M.; Nelles, O.; Isermann, R. Supervision of nonlinear adaptive controllers based on fuzzy models. Control. Eng. Pract. 2000, 8, 1093–1105. [Google Scholar] [CrossRef]
  41. Foss, B.A.; Johansen, T.A.; Sorensen, A.V. Nonlinear predictive control using local models–applied to a batch fermentation process. Control. Eng. Pract. 1995, 3, 389–396. [Google Scholar] [CrossRef]
  42. Babuska, R.; Te Braake, H.A.; Van Can, H.J.; Krijgsman, A.J.; Verbruggen, H.B. Comparison of intelligent control schemes for real–time pressure control. Control. Eng. Pract. 1996, 4, 1585–1592. [Google Scholar] [CrossRef]
  43. Takagi, T.; Sugeno, M. Fuzzy identification of systems and its application to modeling and control. IEEE Trans. Syst. Man Cybern. 1985, 15, 116–132. [Google Scholar] [CrossRef]
  44. Piegat, A. Fuzzy Modeling and Control; Physica–Verlag: Heidelberg, Germany, 2001. [Google Scholar]
  45. Marusak, P. Disturbance Measurement Utilization in the Efficient MPC Algorithm with Fuzzy Approximations of Nonlinear Models. LNCS 2013, 7824, 307–316. [Google Scholar]
  46. Ribeiro, L.M.; Secchi, A.R. A methodology to obtain analytical models that reduce the computational complexity faced in real time implementation of NMPC controllers. Braz. J. Chem. Eng. 2019, 36, 1255–1277. [Google Scholar] [CrossRef]
  47. Nguyen, T.S.; Hoang , N.H.; Hussain, M.A. Tracking error plus damping injection control of non-minimum phase processes. IFAC-Pap. OnLine 2018, 51, 643–648. [Google Scholar] [CrossRef]
  48. Uçak, K. A Runge–Kutta neural network-based control method for nonlinear MIMO systems. Soft Comput. 2019, 23, 7769–7803. [Google Scholar] [CrossRef]
  49. Jain, A.; Taparia, R. Laguerre function based model predictive control for van–de–vusse reactor. In Proceedings of the 2018 2nd IEEE International Conference on Power Electronics, Intelligent Control and Energy Systems (ICPEICES), Delhi, India, 22–24 October 2018; Volume 3, pp. 1010–1015. [Google Scholar]
  50. Uçak, K. A Novel Model Predictive Runge–Kutta Neural Network Controller for Nonlinear MIMO Systems. Neural Process. Lett. 2020, 51, 1789–1833. [Google Scholar] [CrossRef]
  51. Mate, S.; Kodamana, H.; Bhartiya, S.; Nataraj, P.S.V. A Stabilizing Sub–Optimal Model Predictive Control for Quasi–Linear Parameter Varying Systems. IEEE Control. Syst. Lett. 2020, 4, 402–407. [Google Scholar] [CrossRef]
  52. Doyle, F.; Ogunnaike, B.A.; Pearson, R.K. Nonlinear model–based control using second–order Volterra models. Automatica 1995, 31, 697–714. [Google Scholar] [CrossRef]
Figure 1. Steady–state characteristic of the control plant.
Figure 1. Steady–state characteristic of the control plant.
Algorithms 13 00143 g001
Figure 2. Membership functions of the fuzzy model used to obtain the dynamic matrix.
Figure 2. Membership functions of the fuzzy model used to obtain the dynamic matrix.
Algorithms 13 00143 g002
Figure 3. Responses of the control system to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment; λ = 0.001 ; Nonlinear Model Predictive Control (NMPC)—red lines, linear MPC (LMPC)—green lines, fuzzy MPS (FMPC)1—blue lines, FMPC2—magenta lines.
Figure 3. Responses of the control system to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment; λ = 0.001 ; Nonlinear Model Predictive Control (NMPC)—red lines, linear MPC (LMPC)—green lines, fuzzy MPS (FMPC)1—blue lines, FMPC2—magenta lines.
Algorithms 13 00143 g003
Figure 4. Responses of the control system to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment; λ = 0.0001 ; NMPC—red lines, LMPC—green lines, FMPC1—blue lines, FMPC2—magenta lines.
Figure 4. Responses of the control system to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment; λ = 0.0001 ; NMPC—red lines, LMPC—green lines, FMPC1—blue lines, FMPC2—magenta lines.
Algorithms 13 00143 g004
Figure 5. Responses of the control system with FMPC1 algorithm and λ = 0.001 to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment; s = 35 —black lines, s = 10 —green dashed lines, s = 5 —magenta lines, s = 1 —blue lines.
Figure 5. Responses of the control system with FMPC1 algorithm and λ = 0.001 to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment; s = 35 —black lines, s = 10 —green dashed lines, s = 5 —magenta lines, s = 1 —blue lines.
Algorithms 13 00143 g005
Figure 6. Responses of the control system with FMPC2 algorithm and λ = 0.001 to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment; s = 35 —black lines, s = 5 —green dashed lines, s = 2 —magenta lines, s = 1 —blue lines.
Figure 6. Responses of the control system with FMPC2 algorithm and λ = 0.001 to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment; s = 35 —black lines, s = 5 —green dashed lines, s = 2 —magenta lines, s = 1 —blue lines.
Algorithms 13 00143 g006
Figure 7. Responses of the control system with FMPC1 algorithm and λ = 0.0001 to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment; mechanism of disturbance measurement utilization: not used—blue lines, based on the linear model—red lines, based on the nonlinear model—magenta lines.
Figure 7. Responses of the control system with FMPC1 algorithm and λ = 0.0001 to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment; mechanism of disturbance measurement utilization: not used—blue lines, based on the linear model—red lines, based on the nonlinear model—magenta lines.
Algorithms 13 00143 g007
Figure 8. Responses of the control system with FMPC2 algorithm and λ = 0.0001 to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment; mechanism of disturbance measurement utilization: not used—blue lines, based on the linear model—red lines, based on the nonlinear model—magenta lines.
Figure 8. Responses of the control system with FMPC2 algorithm and λ = 0.0001 to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment; mechanism of disturbance measurement utilization: not used—blue lines, based on the linear model—red lines, based on the nonlinear model—magenta lines.
Algorithms 13 00143 g008
Table 1. Average duration of action of the algorithms in the experiments depicted in Figure 3.
Table 1. Average duration of action of the algorithms in the experiments depicted in Figure 3.
C ¯ B NMPCFMPC1FMPC2
1.00 mol/L29.16711.81751.8118
1.25 mol/L47.05181.81161.8137
sum76.21893.62913.6254
Back to TopTop