## 2 GPC Problem Formulation  
### Predictive Controller Formulation  
Let \(n_{u}\) and \(n_{y}\) denote the number of process inputs (manipulated variables) and outputs (controlled variables), respectively, i.e., \(u=\left[u_{1}\ldots u_{n_{u}}\right]^{T}\), \(y=\left[y_{1}\ldots y_{n_{y}}\right]^{T}\). In the more general formulation of MPC, the vector of decision variables calculated at each sampling instant, \(k=0,1,2,\ldots\), has the length of \(n_{u}N_{u}\) and consists of the current and future increments of the manipulated variables  
\[\Delta u(k)=\left[\begin{array}{c}\Delta u(k|k)\\ \vdots\\ \Delta u(k+N_{u}-1|k)\end{array}\right] \tag{1}\]  
where \(\Delta u(k+p|k)\) denotes increments of the manipulated variables for the future sampling instant \(k+p\) calculated at the current instant \(k\), \(N_{u}\) is the control horizon. The rudimentary MPC optimization problem is:  
\[\min_{\Delta u(k)}\left\{\sum_{p=1}^{N}\left\|y^{\text{SP}}(k+p\big{|}k)-\hat {y}(k+p\big{|}k)\right\|_{\Psi_{p}}^{2}+\sum_{p=1}^{N_{u}-1}\left\|\Delta u(k +p\big{|}k)\right\|_{\Lambda_{p}}^{2}\right\} \tag{2}\]  
subject to  
\[u^{\min}\leq u(k+p\big{|}k)\leq u^{\max},\;p=0,\ldots,N_{u}-1\]  
\[-\Delta u^{\max}\leq u(k+p\big{|}k)\leq\Delta u^{\max},\;p=0,\ldots,N_{u}-1\]  
The symbols \(y^{\text{SP}}(k+p\big{|}k)\) and \(\hat{y}(k+p\big{|}k)\) denote the set-point trajectory and the predicted trajectory for the sampling instant \(k+p\) calculated at the instant \(k\), the prediction horizon is \(N\). The weighting matrices \(\Psi_{p}=\text{diag}\big{(}\psi_{p,1},\ldots,\psi_{p,n_{y}}\big{)}\) and \(\Lambda_{p}=\text{diag}\big{(}\lambda_{p,1},\ldots,\lambda_{p,n_{u}}\big{)}\) are of dimensionality \(n_{y}\times n_{y}\) and \(n_{u}\times n_{u}\), respectively. The minimal and maximal values of the manipulated variables are denoted by \(u^{\min}\) and \(u^{\max}\), respectively; the maximal rate of change of the manipulated variables is \(\Delta u^{\max}\). At each sampling instant, having calculated \(n_{u}N_{u}\) future increments of the manipulated variables over the control horizon (1), only the increments for the current time step are applied to the process.  
The basic optimization problem (2) is the same in all MPC algorithms, even though the implementation details differ due to the fact that different types of dynamical models utilize different prediction equations [1; 2; 36]. When the linear model is used for prediction, a Quadratic Programming (QP) optimization problem results from the control law formulation, which may be solved by readily available solvers. Although the QP solver results in a more mathematically tractable problem, it does impose increased requirements on memory resources and CPU capacity. In typical industrial applications, MPC with on-line quadratic optimization is only practical for rather moderate numbers of process inputs and outputs [3]. Furthermore, the prediction horizon and particularly the control horizon have a significant impact on the resulting computational complexity and execution time necessary to complete the calculations at each sampling instant, which imposes limits on the control system's ability to implement the optimization problem in real-time.