#### 3.1. Control Plant

The control plant is a nonlinear, isothermal CSTR in which the van de Vusse reaction takes place. These CSTRs are a popular benchmark due to their nonlinearity and difficult dynamics, willingly used to test newly developed control algorithms; see, e.g., [

48,

49,

50,

51,

52,

53]. The process model of the reactor is composed of two composition balance equations; see, e.g., [

54]:

where

${C}_{\mathrm{A}}$,

${C}_{\mathrm{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\phantom{\rule{4pt}{0ex}}\mathrm{L}$), and

${C}_{\mathrm{Af}}$ is the concentration of Component A in the inlet flow stream (if not declared otherwise, it is assumed that

${C}_{\mathrm{Af}}=10\phantom{\rule{4pt}{0ex}}\mathrm{mol}/\mathrm{L}$). The values of the parameters are:

${k}_{1}=50\phantom{\rule{4pt}{0ex}}1/\mathrm{h}$,

${k}_{2}=100\phantom{\rule{4pt}{0ex}}1/\mathrm{h}$,

${k}_{3}=10\phantom{\rule{4pt}{0ex}}\mathrm{l}/(\mathrm{h}\xb7\mathrm{mol})$. The output variable is the concentration

${C}_{\mathrm{B}}$ of Substance B. The manipulated variable is the inlet flow rate

F.

${C}_{\mathrm{Af}}$ is the disturbance variable.

The described control plant was used during the tests also in [

12]. Its nonlinear steady-state characteristic is reminded in

Figure 1. The control plant has the inverse response; thus, it is natural to use an MPC algorithm in this case.

The fuzzy model used to generate the dynamic matrix, in the researched algorithms, is the same as in [

12]. It is composed of three step responses obtained near the following operating points:

R1 ${C}_{B0}=$ 0.91 mol/L, ${C}_{A0}=$ 2.18 mol/L, $F=$ 20 L/h;

R2 ${C}_{B0}=$ 1.12 mol/L, ${C}_{A0}=$ 3 mol/L, $F=$ 34.3 L/h;

R3 ${C}_{B0}=$ 1.22 mol/L, ${C}_{A0}=$ 3.66 mol/L, $F=$ 50 L/h.

The assumed membership functions are reminded in

Figure 2.

#### 3.2. Experiments

For the considered control plant, a few MPC algorithms were designed:

- -
NMPC—based on the nonlinear model and nonlinear optimization and numerically efficient FMPC algorithms with advanced free response generation, proposed in [

12], and:

- -
FMPC1 with the conventional dynamic matrix and the classical performance index,

- -
FMPC2 with the conventional dynamic matrix and the modified performance index,

- -
FMPC1a with the advanced dynamic matrix and the classical performance index,

- -
FMPC2a with the advanced dynamic matrix and the modified performance index.

The simulation experiments were done using MATLAB. During the experiments, the operation of the control systems with the NMPC and FMPC algorithms was compared. The FMPC algorithms use the nonlinear model in the form of state equations, to generate the free response and the fuzzy model (

23) to obtain the dynamic matrix. A sampling time equal to

${T}_{\mathrm{s}}=3.6$ s was assumed; the values of tuning parameters were as follows (if not declared otherwise): prediction horizon

$p=70$, control horizon

$s=35$, and weighting coefficient

$\lambda =0.001$.

The responses of the control systems 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 and

Figure 4. If the setpoint was changed to

${\overline{C}}_{B1}=1$ mol/L, the responses obtained in the control system with the FMPC1a algorithm (magenta lines in

Figure 3) and with the FMPC1 algorithm (blue lines in

Figure 3) were very close to those obtained with the NMPC algorithm with nonlinear optimization (red lines in

Figure 3). In all cases, there was almost no overshoot. The FMPC algorithms were slightly faster than the NMPC algorithm.

In the case when the setpoint changed to ${\overline{C}}_{B2}=1.25$ mol/L, the response obtained with the FMPC1 algorithm was the fastest one. The one generated with the NMPC algorithm was the slowest, and the response obtained with the FMPC1a algorithm was between these two responses; it was closer to the response generated with the NMPC algorithm than the response obtained with the FMPC1 algorithm. This is because the prediction used in the FMPC1a algorithm, thanks to using the advanced construction of the dynamic matrix, is more accurate. In the case of all the algorithms, the setpoint was reached without overshoot.

Disturbance responses obtained with the FMPC1 and the FMPC1a algorithms were practically the same. Near ${C}_{B}=1$ mol/L, the response generated with the NMPC algorithm was very close to the other responses. In all three cases, there was no overshoot. In the case of operation near ${C}_{B}=1.25$ mol/L, the NMPC was faster in the compensation of the disturbance change than the FMPC algorithms.

The FMPC2 and FMPC2a algorithms worked faster than FMPC1 and FMPC1a. However, the same relations between the algorithms could be observed when the responses generated with FMPC2 and FMPC2a algorithms were compared with the ones obtained with the NMPC algorithm (

Figure 4). If the setpoint was changed to

${\overline{C}}_{B1}=1$ mol/L, the responses obtained with all the algorithms (FMPC2, FMPC2a, and NMPC) were very close to each other. There was almost no overshoot, and the FMPC2 algorithm was slightly slower than the other algorithms.

In the case when the setpoint changed to ${\overline{C}}_{B2}=1.25$ mol/L, the response obtained with the FMPC2 algorithm was the fastest one. The one generated with the NMPC algorithm was the slowest, and the response obtained with the FMPC2a algorithm, for the same reason as in the case of the FMPC1a algorithm, was between these two responses. In the case of all the algorithms, the setpoint was reached almost without overshoot.

The disturbance responses obtained with the FMPC2 and FMPC2a algorithms were practically the same (the same phenomenon was observed in the case of the FMPC1 and FMPC1a algorithms). Near ${C}_{B}=1$ mol/L and ${C}_{B}=1.25$ mol/L, the NMPC algorithm generated a bigger maximal error than the FMPC algorithms. In all three cases, there was no overshoot.

It can be noticed that the FMPC1a and FMPC2a algorithms generated responses closer to the ones generated by the NMPC algorithm than the FMPC1 and FMPC2 algorithms. This is because in the algorithms with the advanced construction of the dynamic matrix, the prediction was more accurate, thanks to using the proposed mechanism. It should be, however, emphasized that all the FMPC algorithms used a reliable quadratic programming routine to generate the control action instead of the non-convex, nonlinear optimization utilized in the NMPC algorithm. When comparing the SSE (Sum of Squared Errors), one can notice that the smallest value was obtained with the FMPC2 and FMPC2a algorithms. This is because they used the modified performance index in the optimization problem solved by the algorithm in each time step.

We also performed experiments with the changes of the parameters (

$\lambda $ coefficient and the control horizon) of the algorithms, like the ones in [

12]. First, the

$\lambda $ coefficient was changed to

$0.0001$ (

Figure 5 and

Figure 6). All the algorithms now worked faster than in the previous case (for

$\lambda =0.001$); the control action was more aggressive, and the maximal errors at the beginning of the experiment were now bigger. However, the relations between the FMPC and NMPC algorithms remained unchanged. It can be also noticed that the differences between the FMPC1a and FMPC2a (and also FMPC1 and FMPC2) algorithms became much smaller compared to the previous experiments. The FMPC1a algorithm was practically as fast as the FMPC2a one. This is because for

$\lambda =0$, both performance indexes (

42) and (

47) were the same. Thus, the closer the value of the

$\lambda $ coefficient to zero is, the closer the responses generated with the FMPC1a and FMPC2a algorithms should be. The SSE values obtained for all the algorithms were smaller than in the previous case, i.e., for

$\lambda =0.001$.

To simplify the optimization problem by reducing the number of decision variables, one can decrease the control horizon

s. The responses obtained for different values of the control horizon are shown in

Figure 7 and

Figure 8 for the FMPC1a and FMPC2a algorithms, respectively. In the case of both algorithms, the control horizon can be shortened significantly, because the obtained responses do not change too much when the control horizon is between

$s=10$ and

$s=35$. However, reduction of the control horizon should be done carefully, because for a too short control horizon, the control performance can get worse.

The FMPC1a algorithm, for $s=5$, compensated the disturbance near ${C}_{B}=1.25$ mol/L faster, but achieved the setpoint ${\overline{C}}_{B1}=1$ mol/L slightly more slowly. A further decrease of the control horizon to $s=1$ brought faster disturbance compensation near ${C}_{B}=1.25$ mol/L, but worsened the compensation near ${C}_{B}=1$ mol/L. Reaching the setpoint ${\overline{C}}_{B2}=1.25$ mol/L was also faster, but at the cost of a slower response to the setpoint change to ${\overline{C}}_{B1}=1$ mol/L. The value of the SSE decreased with the decrease of the control horizon, but the value of the SSE obtained for $s=1$ was noticeably smaller than in the other cases.

The FMPC2a algorithm, for $s=5$ and $s=1$, compensates the disturbance near ${C}_{B}=1.25$ mol/L slightly faster, but unfortunately reaching the setpoint ${\overline{C}}_{B1}=1$ mol/L took longer, especially for $s=1$. Disturbance compensation near ${C}_{B}=1$ mol/L was also visibly slower for $s=1$. The smallest value of the SSE was obtained for $s=10$; however, the differences in the SSE values in all cases were very small.