## 2 Model Predictive Control Algorithms
### MPC Algorithms Based on Linear Models (LMPC)  
In the case of linear models the superposition principle holds, therefore the vector of predicted output values \(\mathbf{y}\) can be decomposed into two parts:  
\[\mathbf{y}=\widetilde{\mathbf{y}}+\mathbf{A}\cdot\Delta\mathbf{u}\, \tag{15}\]  
\[\widetilde{\mathbf{y}}=\left[\widetilde{\mathbf{y}}^{1},\ldots,\widetilde{\mathbf{y}}^{n_ {y}}\right]^{T},\,\widetilde{\mathbf{y}}^{j}=\left[\widetilde{y}^{j}_{k+1|k}, \ldots,\widetilde{y}^{j}_{k+p|k}\right]\, \tag{16}\]  
where \(\widetilde{\mathbf{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 \(\mathbf{A}\), called the dynamic matrix, is given by the following formula:\[\mathbf{A}=\left[\begin{array}{ccccc}\mathbf{A}^{11}&\mathbf{A}^{12}&\ldots&\mathbf{A}^{1n_{u}} \\ \mathbf{A}^{21}&\mathbf{A}^{22}&\ldots&\mathbf{A}^{2n_{u}}\\ \vdots&\vdots&\ddots&\vdots\\ \mathbf{A}^{n_{y}1}&\mathbf{A}^{n_{y}2}&\ldots&\mathbf{A}^{n_{y}n_{u}}\end{array}\right], \tag{17}\]  
\[\mathbf{A}^{jm}=\left[\begin{array}{ccccc}a_{1}^{j,m}&0&\ldots&0&0\\ a_{2}^{j,m}&a_{1}^{j,m}&\ldots&0&0\\ \vdots&\vdots&\ddots&\vdots&\vdots\\ a_{p}^{j,m}&a_{p-1}^{j,m}&\ldots&a_{p-s+2}^{j,m}&a_{p-s+1}^{j,m}\end{array} \right], \tag{18}\]  
where \(a_{i}^{j,m}\) are the control plant step response coefficients describing influence of the \(m\)th input on the \(j\)th 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 \(\Delta\mathbf{u}\):  
\[J_{LMPC}=(\mathbf{\overline{y}}-\mathbf{\widetilde{y}}-\mathbf{A}\cdot\Delta\mathbf{u})^{T} \cdot\mathbf{\kappa}\cdot(\mathbf{\overline{y}}-\mathbf{\widetilde{y}}-\mathbf{A}\cdot\Delta \mathbf{u})+\Delta\mathbf{u}^{T}\cdot\mathbf{\Lambda}\cdot\Delta\mathbf{u}\enspace. \tag{19}\]  
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.