Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Continuous Stirred Tank Reactor Model

The case of a single non-isothermal continuous stirred tank reactor [69, 90, 111] is studied in this chapter. The reactor is the one presented in various works by Perez et al. [98, 99] in which the exothermic reaction 𝒜→ℬ is assumed to take place. The heat of reaction is removed via the cooling jacket that surrounds the reactor. The jacket cooling water is assumed to be perfectly mixed and the mass of the metal walls is considered negligible, so that the thermal inertia of the metal is not considered. The reactor is also assumed to be perfectly mixed and heat losses are regarded as negligible, see Fig. 8.1.

Fig. 8.1
figure 1

Continuous stirred tank reactor

The continuous linearized reactor system [90] is modeled as,

$$ \dot{x} = A_cx + B_cu $$
(8.1)

where x=[x 1 x 2]T, x 1 is the reactor concentration and x 2 is the reactor temperature, u=[u 1 u 2]T, u 1 is the feed concentration and u 2 is the coolant flow. The matrices A c and B c are,

$$\small \begin{aligned} &A_c = \left [ \begin{array}{c@{\quad}c} \big({-}\frac{F}{V}-k_0(t)e^{-\frac{E}{RT_s}} \big)& \big({-}\frac {E}{RT_s^2}k_0(t)e^{-\frac{E}{RT_s}}C_{As} \big)\\ \big({-}\frac{\Delta H_{rxn}(t) k_0(t)e^{-\frac{E}{RT_s}}}{\rho C_p} \big)& \big({-}\frac{F}{V}-\frac{UA}{V\rho C_p} -\Delta H_{rxn}(t)\frac{E}{\rho C_pRT_s^2}k_0(t)e^{-\frac{E}{RT_s}}C_{As} \big) \end{array} \right ], \\ &B_c = \left [ \begin{array}{c@{\quad}c} \frac{F}{V}& 0\\ 0& -2.098\times10^5\frac{T_s-365}{V\rho C_p} \end{array} \right ] \end{aligned} $$
(8.2)

The operating parameters are shown in Table 8.1.

Table 8.1 The operating parameters of non-isothermal CSTR

The linearized model at steady state x 1=0.265 kmol/m3 and x 2=394 K and under the uncertain parameters k 0 and −ΔH rxn will be considered. The following uncertain system [130] is obtained after discretizing system (8.1) with a sampling time of 0.15 min,

$$ \left \{ \begin{aligned} &x(k+1) = A(k)x(k) + Bu(k)\\ &y(k) = Cx(k) \end{aligned} \right . $$
(8.3)

where

$$\begin{aligned} &A(k) = \left [ \begin{array}{c@{\quad}c} 0.85-0.0986\beta_1(k)& -0.0014\beta_1(k)\\ 0.9864\beta_1(k)\beta_2(k)& 0.0487+0.01403\beta_1(k)\beta_2(k) \end{array} \right ], \\ &B = \left [ \begin{array}{c@{\quad}c} 0.15& 0\\ 0& -0.912 \end{array} \right ], \qquad C = \left [ \begin{array}{c@{\quad}c} 1& 0\\ 0& 1 \end{array} \right ] \end{aligned} $$

and the parameter variation bounded by,

$$\left \{ \begin{aligned} &1 \leq\beta_1(k) = \displaystyle\frac{k_0}{10^9} \leq10\\ &1 \leq\beta_2(k) = \displaystyle-\frac{\Delta H_{rxn}}{10^7} \leq10 \end{aligned} \right . $$

Matrix A(k) can be expressed as,

$$A(k) = \alpha_1(k)A_1 + \alpha_2(k)A_2 + \alpha_3(k)A_3 + \alpha_4(k)A_4 $$

where \(\sum_{i=1}^{4}\alpha_{i}(k) = 1\), α i (k)≥0 and

$$\begin{aligned} &A_1 = \left [ \begin{array}{c@{\quad}c} 0.751& -0.0014\\ 0.986& 0.063 \end{array} \right ], \qquad A_2 = \left [ \begin{array}{c@{\quad}c} 0.751& -0.0014\\ 9.864& 0.189\\ \end{array} \right ] \\ &A_3 = \left [ \begin{array}{c@{\quad}c} -0.136& -0.014\\ 9.864& 0.189 \end{array} \right ], \qquad A_4 = \left [ \begin{array}{c@{\quad}c} -0.136& -0.014\\ 98.644& 1.451 \end{array} \right ] \end{aligned} $$

The input and state constraints on input are,

$$ \left \{ \begin{aligned} &-0.5 \leq x_1 \leq0.5, \qquad-20 \leq x_2 \leq20,\\ &-0.5 \leq u_1 \leq0.5, \qquad-1 \leq u_2 \leq1 \end{aligned} \right . $$
(8.4)

2 Controller Design

The explicit interpolating controller in Sect. 5.2 will be used in this example. The local feedback controller u(k)=Kx(k) is chosen as,

$$ K = \left [ \begin{array}{c@{\quad}c} -2.8413& 0.0366\\ 34.4141& 0.5195 \end{array} \right ] $$
(8.5)

Based on Procedure 2.2 and Procedure 2.3, the robustly maximal invariant set Ω max and the robustly controlled invariant set C N with N=9 are computed. Note that C 9=C 10 is the maximal controlled invariant set for system (8.3) with constraints (8.4). The sets Ω max and C N are depicted in Fig. 8.2.

Fig. 8.2
figure 2

Feasible invariant sets

The set Ω max given in half-space representation is,

$$\varOmega_{\max} = \left \{ x \in\mathbb{R}^2: \left [ \begin{array}{c@{\quad}c} -1.0000& 0.0129\\ 1.0000& 0.0151\\ 1.0000& -0.0129\\ -1.0000& -0.0151 \end{array} \right ]x \leq \left [ \begin{array}{r} 0.2501 \\ 0.1760\\ 0.0291\\ 0.1760\\ 0.0291 \end{array} \right ] \right \} $$

The set of vertices of C N , V(C N )=[V 1  −V 1], and the control matrix U v =[U 1  −U 1] at these vertices are,

$$\begin{array}{c} V_1 = \left [ \begin{array}{c@{\quad }c@{\quad }c} 0.3401& 0.2385& -0.0822\\ -20.0000& -1.8031& 20.0000 \end{array} \right ], \qquad U_1 = \left [ \begin{array}{c@{\quad }c@{\quad }c} -0.5000& -0.5000& 0.3534\\ 1.0000& 1.0000& 1.0000 \end{array} \right ] \end{array} $$

The state space partition of the explicit interpolating controller is shown in Fig. 8.3.

Fig. 8.3
figure 3

State space partition

The explicit control law over the state space partition, see below, is illustrated in Fig. 8.4.

Fig. 8.4
figure 4

Control inputs as piecewise affine functions of state

$$\small u(k) = \left \{ \begin{array}{l@{\quad}l} \left [ \begin{array}{c}-0.50\\ 1.00 \end{array} \right ]& \mbox{ if } \left [ \begin{array}{c@{\quad}c} 1.00& 0.01\\ -1.00& -0.02\\ -1.00& 0.04 \end{array} \right ]x(k) \leq \left [ \begin{array}{c} 0.23\\ -0.03\\ -0.31 \end{array} \right ] \\ \left [ \begin{array}{c@{\quad}c} -0.75& 0.03\\ 0.00& 0.00 \end{array} \right ]x(k)+ \left [ \begin{array}{c} -0.27\\ 1.00 \end{array} \right ]& \mbox{ if } \left [ \begin{array}{c@{\quad}c} 1.00& -0.04\\ 1.00& 0.01\\ -1.00& -0.01 \end{array} \right ]x(k) \leq \left [ \begin{array}{c} 0.31\\ 0.21\\ -0.07 \end{array} \right ] \\ \left [ \begin{array}{c@{\quad}c} -6.05& -0.01\\ 0.00& 0.00 \end{array} \right ]x(k)+ \left [ \begin{array}{c} 0.09\\ 1 \end{array} \right ]& \mbox{ if } \left [ \begin{array}{c@{\quad}c} -1.00& -0.02\\ 1.00& 0.01\\ -1.00& -0.00 \end{array} \right ]x(k) \leq \left [ \begin{array}{c} -0.03\\ 0.07\\ 0.08 \end{array} \right ] \\ \left [ \begin{array}{c@{\quad}c} -0.57& -0.01\\ 7.75& 0.00 \end{array} \right ]x(k)+ \left [ \begin{array}{c} 0.54\\ 1.63 \end{array} \right ]& \mbox{ if } \left [ \begin{array}{c@{\quad}c} 1.00& 0.00\\ -1.00& -0.02\\ 0.00& 1.00\\ \end{array} \right ]x(k) \leq \left [ \begin{array}{c} -0.08\\ -0.07\\ 20.00 \end{array} \right ] \\ \left [ \begin{array}{c@{\quad}c} 0.00& 0.00\\ 33.70& 0.53 \end{array} \right ]x(k)+ \left [ \begin{array}{c} 0.50\\ -0.13 \end{array} \right ]& \mbox{ if } \left [ \begin{array}{c@{\quad}c} 1.00& -0.01\\ 1.00& 0.02\\ -1.00& -0.02 \end{array} \right ]x(k) \leq \left [ \begin{array}{c} -0.18\\ 0.07\\ 0.03 \end{array} \right ] \\ \left [ \begin{array}{c}0.50\\ -1.00 \end{array} \right ]& \mbox{ if } \left [ \begin{array}{c@{\quad}c} -1.00& - 0.01\\ 1.00& 0.02\\ 1.00& -0.04 \end{array} \right ]x(k) \leq \left [ \begin{array}{c} 0.23\\ -0.03\\ -0.31 \end{array} \right ] \\ \left [ \begin{array}{c@{\quad}c} -0.75& 0.03\\ 0.00& 0.00 \end{array} \right ]x(k)+ \left [ \begin{array}{c} 0.27\\ -1.00 \end{array} \right ]& \mbox{ if } \left [ \begin{array}{c@{\quad}c} -1.00& 0.04\\ -1.00& -0.01\\ 1.00& 0.01 \end{array} \right ]x(k) \leq \left [ \begin{array}{c} 0.31\\ 0.21\\ -0.07 \end{array} \right ] \\ \left [ \begin{array}{c@{\quad}c} -6.05& -0.01\\ 0.00& 0.00 \end{array} \right ]x(k)+ \left [ \begin{array}{c} -0.09\\ -1 \end{array} \right ]& \mbox{ if } \left [ \begin{array}{c@{\quad}c} 1.00& 0.02\\ -1.00& -0.01\\ 1.00& 0.00 \end{array} \right ]x(k) \leq \left [ \begin{array}{c} -0.03\\ 0.07\\ 0.08 \end{array} \right ] \\ \left [ \begin{array}{c@{\quad}c} -0.57& -0.01\\ 7.75& 0.00 \end{array} \right ]x(k)+ \left [ \begin{array}{c} -0.54\\ -1.63 \end{array} \right ]& \mbox{ if } \left [ \begin{array}{c@{\quad}c} -1.00& 0.00\\ 1.00& 0.02\\ 0.00& -1.00\\ \end{array} \right ]x(k) \leq \left [ \begin{array}{c} -0.08\\ -0.07\\ 20.00 \end{array} \right ] \\ \left [ \begin{array}{c@{\quad}c} 0.00& 0.00\\ 33.70& 0.53 \end{array} \right ]x(k)+ \left [ \begin{array}{c} -0.50\\ 0.13 \end{array} \right ]& \mbox{ if } \left [ \begin{array}{c@{\quad}c} -1.00& 0.01\\ -1.00& - 0.02\\ 1.00& 0.02 \end{array} \right ]x(k) \leq \left [ \begin{array}{c} -0.18\\ 0.07\\ 0.03 \end{array} \right ] \\ \left [ \begin{array}{c@{\quad}c} -2.84& 0.04\\ 34.41& 0.52 \end{array} \right ]x(k)+ \left [ \begin{array}{c} 0\\ 0 \end{array} \right ]& \mbox{ if } \left [ \begin{array}{c@{\quad}c} -1.00& 0.01\\ 1.00& 0.02\\ 1.00& -0.01\\ -1.00& -0.02\\ \end{array} \right ]x(k) \leq \left [ \begin{array}{c} 0.18\\ 0.03\\ 0.18\\ 0.03 \end{array} \right ] \end{array} \right . $$

Figure 8.5 presents state trajectories of the closed loop system for different initial conditions and realizations of α(k).

Fig. 8.5
figure 5

State trajectories of the closed loop system

Note that the explicit solution of the MMMPC optimization problem [21] with the ∞-norm cost function with identity weighting matrices, prediction horizon 9 could not be fully computed after 3 hours due to high complexity.

For the initial condition x(0)=[0.2000 −12.0000]T, Fig. 8.6 and Fig. 8.7 show the state and input trajectories (solid) of the closed loop system. A comparison (dashed) is made with the implicit LMI based MPC in [74]. The feasible sets of our approach (gray), and of [74] (white) are depicted in Fig. 8.8. Finally, Fig. 8.9 shows the interpolating coefficient c , and the realizations of α i (k), i=1,2,3,4.

Fig. 8.6
figure 6

State trajectories as functions of time

Fig. 8.7
figure 7

Input trajectories as functions of time

Fig. 8.8
figure 8

The feasible set of [74] (white) is a subset of ours (gray)

Fig. 8.9
figure 9

Interpolating coefficient c , and the realizations of α i (k), i=1,2,3,4 as functions of time