# Analytical MPC Algorithm Using Steady-State Process Model
## 1 Introduction  
PID control is practically standard in the case of control systems with short sampling times. Moreover, PID is still being researched and developed using modern techniques; see, e.g., [1, 2, 3, 4]. However, in the case of control plants with difficult dynamics (e.g., long time delays, inverse response), other control techniques, like the Smith predictor (see, e.g., [5, 6]) or the Model Predictive Control (MPC) algorithms, are used. The advantages of the MPC algorithms originate in using the model of the process to predict its behavior [7, 8, 9, 10, 11, 12]. It is good to note that if an accurate analytical model is not available or is hard to obtain, an approach based on artificial neural networks can be applied; see, e.g., [13, 14, 15]. The MPC algorithms can be divided into two main groups. In the numerical MPC algorithms, the control signal is generated after solving an optimization task online. In the second group of analytical MPC algorithms, the control law is obtained after offline optimization. Numerous studies have been concerned with numerical algorithms; the NMPC (nonlinear model-based MPC) algorithms are based on non-convex, hard to solve, and computationally time-consuming, nonlinear optimization problems solved at each iteration; see, e.g., [16, 17, 18]. To limit drawbacks of this approach, the so-called fast NMPC algorithms, generating suboptimal solutions faster than in the standard approach, were developed; see, e.g., [19, 20, 21]. In this next group of numerical algorithms, the process model is skillfully used to formulate a prediction that is linear with respect to the control action to simplify the algorithm by formulating the optimization task as the quadratic optimization problem; see, e.g., [12, 13, 22, 23, 24, 25, 26, 27, 28]. The explicit algorithms can be considered as being between numerical and analytical. In the explicit approach, most of the calculations are done offline. The algorithms using a nonlinear process model are suboptimal--see, e.g., [29; 30; 31]--but the ones based on the linear model generate optimal solutions [32; 33; 34]. The main drawback of the explicit approach is that the complexity of the controller grows rapidly with the number of constraints included in the problem. The analytical group of MPC algorithms has been researched more and more recently as the computation power of modern microcontrollers has increased, allowing the implementation of analytical MPC algorithms. However, mainly basic versions of them based on linear models have been used [35; 36] or researched [37; 38; 39], including robust MPC algorithms using Linear Matrix Inequalities (LMIs) to calculate the control signal [40; 41; 42]. They offer good control performance for processes that are not highly nonlinear but may work poorly for other ones. Therefore, it is desirable to propose analytical MPC algorithms designed for nonlinear plants; an algorithm based on the fuzzy process model is proposed in [43]. The current paper contains a proposal for such an algorithm, which is a generalization of the classical analytical DMC algorithm, utilizing only a process step response and a steady-state process model. The algorithm proposed in this article is intended to cope mainly with the nonlinearity of the control plant, but at the same time, it is also capable of dealing with delay and other non-minimum phase behaviors of control plants (for which predictive control algorithms are usually applied). Moreover, the algorithm is designed in such a way that it offers good performance with low computational demand and less computing power required by the algorithm, which means cheaper chips can be used in the embedded systems, resulting in fewer problems in the future when chips start to be rationed and access to them becomes part of the economic rivalry between countries. Moreover, the proposed algorithm uses a relatively small modification of the DMC algorithm, so it can be easily adopted by someone who knows the popular Dynamic Matrix Control algorithm.