Next Article in Journal
Energy Scheduling of Hydrogen Hybrid UAV Based on Model Predictive Control and Deep Deterministic Policy Gradient Algorithm
Previous Article in Journal
Three-Dimensional Object Recognition Using Orthogonal Polynomials: An Embedded Kernel Approach
Previous Article in Special Issue
Evaluation of PID-Based Algorithms for UGVs
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Analytical MPC Algorithm Using Steady-State Process Model

Institute of Control and Computation Engineering, Warsaw University of Technology, Nowowiejska 15/19, 00-665 Warszawa, Poland
Algorithms 2025, 18(2), 79; https://doi.org/10.3390/a18020079
Submission received: 18 December 2024 / Revised: 28 January 2025 / Accepted: 31 January 2025 / Published: 2 February 2025
(This article belongs to the Special Issue Algorithms for PID Controller 2024)

Abstract

:
For some classes of control plants (e.g., large time delay or inverse response), the PID controllers may offer unsatisfactory results; on the other hand, a Model Predictive Control (MPC) algorithm based on a linear model may offer insufficient control quality when applied to nonlinear control plants. To improve the MPC algorithm operation, one can use a steady-state process model; this paper describes how to do this skillfully. The obtained algorithm, based on the popular Dynamic Matrix Control (DMC) algorithm, is detailed. The proposed approach consists in modifying the analytical version of the DMC algorithm in such a way that it can still be expressed as the control law. Thus, the algorithm can still be applied to fast control plants, requiring short sampling times. Though the proposed approach does not modify the DMC algorithm much, it offers improvement in the control quality when the algorithm is employed in a nonlinear control plant. Experiments illustrating the efficiency of the proposed approach were conducted in the control system of a nonlinear chemical reactor. The results show improvement in the control quality compared to a case when the classical MPC algorithm is used.

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. However, introducing such a small modification requires an appropriate formulation of the control law; in this case, assuming the parameter λ varies in time and depends on the gain of the control plant at the current operating point was crucial and necessary.

2. Materials and Methods

2.1. MPC Algorithms

The MPC algorithms generate the future control signal trajectories in such a way that, predicting many sampling instants ahead, the future behavior of the control plant and the shape of control signals fulfill assumed criteria, which, for SISO (Single-Input Single-Output) control plants, are expressed in the form of the following optimization task [7,8,10,12]:
arg min Δ u J MPC = ( y ¯ y ) T · ( y ¯ y ) + λ · Δ u T · Δ u
where y = y k + 1 | k , , y k + p | k , Δ u = Δ u k | k , , Δ u k + s 1 | k , y k + j | k is the output value for the ( k + i ) th sampling instant predicted at the k th sampling instant using a control plant model, Δ u k + i | k are future changes in the manipulated variable, and λ 0 is the weighting coefficient for the changes of the manipulated variable; p and s denote prediction and control horizons, respectively. The following vector defines the reference trajectory:
y ¯ = y ¯ k + 1 | k , , y ¯ k + p | k .
As a solution to the optimization problem given in (1), the optimal vector of control action is obtained in such a way that future predicted control errors are minimized (the first component of the performance index) and the control signal does not change too much (the second component). The Δ u k | k element of the vector of decision variables Δ u is applied to the control system and the algorithm passes to the next iteration. The predicted values of the output signal y k + j | k are derived using the control plant model the MPC algorithm is based on. In order to take into account modeling uncertainty and unmodeled disturbances, the prediction is calculated, including correction, which is the difference between the measured process output and the output of the model used by the algorithm. If a linear model is used, then (1) becomes quadratic with respect to the changes in the control signal. Moreover, a control law can be obtained if the optimization problem is solved without constraints. The DMC algorithm will now be detailed.

2.2. Analytical DMC Algorithm

The simplest MPC algorithms are based on linear process models; see e.g., [7]. One of them is the DMC algorithm, based on the process model in the form of the step response:
y ^ k = n = 1 p d 1 a n · Δ u k n + a p d · u k p d ,
where a n are the coefficients of the control plant step response, and p d is the horizon of dynamics equal to the number of time instants, after which the step response coefficients can be considered fixed.
The predicted output values, calculated from Model (3), are thus given by the following formula:
y k + i | k = y ^ k + i + d k ,
where d k = y k y ^ k is a model of unmeasured disturbances (it also includes the effect of modeling errors) acting on the process; it is calculated as the difference between the current process output measurement y k and the output of the model described by (3). If no better information is available, it is assumed that it is constant over the entire prediction horizon. This model of unmeasurable disturbances is called a DMC-type disturbance model. After transformation of the prediction (4), one obtains the following:
y k + i | k = n = 1 i a n · Δ u k n + i + n = i + 1 p d 1 a n · Δ u k n + i + a p d · u k p d + d k ,
The prediction (5) can be transformed to the following form:
y k + i | k = y k + n = i + 1 p d 1 a n · Δ u k n + i + a p d · n = p d p d + i 1 Δ u k n + i n = 1 p d 1 a n · Δ u k n + n = 1 i a n · Δ u k n + i | k .
Note that in Formula (6), only the last component depends on future control changes; the others depend on the past. Thus, the other components are elements of the free response:
y ˜ k + i | k = y k + n = i + 1 p d 1 a n · Δ u k n + i + a p d · n = p d p d + i 1 Δ u k n + i n = 1 p d 1 a n · Δ u k n .
In such a case, the prediction of the process output values y expressed in the matrix–vector form can be decomposed into two parts:
y = y ˜ + A · Δ u ,
where y ˜ = y ˜ k + 1 | k , , y ˜ k + p | k is the free response of the plant, which describes the influence of the past values of control signals on the process output; the form of the free response depends on the model used for prediction—see, e.g., [7,8,10,12]. The second component in Formula (8), the forced response, depends on future changes in the control signal. The dynamic matrix A is given by the following formula:
A = a 1 0 0 0 a 2 a 1 0 0 a p a p 1 a p s + 2 a p s + 1 .
The free response (7) written in vector–matrix form is as follows:
y ˜ = y + A · Δ u ,
where
A = a 2 a 1 a 3 a 2 a p d a p d 1 a 3 a 1 a 4 a 2 a p d a p d 1 a p + 1 a 1 a p + 2 a 2 a p d a p d 1 ,
Δ u = Δ u k 1 , , Δ u k p d + 1 ,
y = y k , , y k ,
where y vector has p elements.
After applying the prediction (8), the performance function (1) is transformed into a function that depends quadratically on the decision variables Δ u :
J L M P C = ( y ¯ y ˜ A · Δ u ) T · ( y ¯ y ˜ A · Δ u ) + λ · Δ u T · Δ u .
If, in each iteration, the optimization problem with performance function (14) is solved without constraints, then it has the following solution given by the analytical formula:
Δ u = A T · A + λ · I 1 · A T · y ¯ y ˜ .
After substituting the free response (10) into (15), we obtain
Δ u = K · y ¯ y ˜ = K · y ¯ y A · Δ u ,
where K = A T · A + λ · I 1 · A T . Note that if Δ u is calculated only for control, it is sufficient to calculate only the value of the control increment for the current instant Δ u k | k , which is described by the following formula:
Δ u k | k = K 1 · y ¯ y A · Δ u ,
where K 1 is the 1st row of the matrix K . In this case, the value of the future control increment Δ u k | k depends in the analytical DMC algorithm on the current value of the output and the past control increments. In addition, the matrix K and its individual rows remain the same in each iteration. In this case, it is sufficient to determine this matrix once in the controller design stage. As a result, a large part of the calculations are performed offline.
If one assumes that reference trajectory is constant on the prediction horizon, then the vector y ¯ from (2) becomes
y ¯ = y ¯ k , , y ¯ k ,
where y ¯ k is the current setpoint value. In such a case, the following control law can be obtained:
Δ u k | k = Δ u k = r 0 · e k + i = 1 p d 1 r i · Δ u k i ,
where r 0 = j = 1 p K 1 j , r 1 , , r p d 1 = K 1 · A , K 1 = K 11 , , K 1 p .
The output of the analytical DMC controller is the control increment. The following formula describes the control value:
u k | k = u k 1 + Δ u k | k .
Applying an LMPC algorithm to a nonlinear process may result in unsatisfactory control performance, especially if the MPC algorithm should operate at different operating points. In such a case, the operation of the control system can be improved using an MPC algorithm based on a nonlinear model.

2.3. Efficient SSDMC Algorithm

The algorithm proposed in this article is formulated in such a way that solving the optimization task online is avoided, because, due to the assumed form of the linear approximation used to obtain the dynamic matrix and the appropriate choice of the tuning parameter λ depending on time, it is possible to simplify the control law. Let us assume that one has a static model of the process and the step response of the process. These models will be used skillfully to formulate the proposed analytical algorithm. Of course, such an algorithm will probably perform worse than an algorithm based on a well-identified model, like the one proposed, e.g., in [26,27]. However, at a relatively low cost (assuming one has a steady-state process model, which is often developed for the setpoint optimization layer), one can obtain an algorithm that should offer better control quality than the LMPC algorithm; this is especially true when the process has strong static nonlinearity.
Assume that in each iteration of the algorithm, for the current operating point, a linear approximation of the process model is obtained using the following formula:
y k L = K k · i = 1 p d 1 a i · Δ u k i + a p d · u k p d ,
where K k is the slope of the steady-state characteristic of the process (the gain of the control plant) around the current operating point; it is also assumed that the coefficients of the step response a i are normalized in such a way that a p d is equal to 1. Due to the form of the adopted linear approximation of the process model, the proposed algorithm is an extension of the DMC algorithm. Thus, it will be abbreviated as the SSDMC algorithm (Steady-State Model-Based DMC—DMC algorithm using the steady-state characteristic of the process). The dynamic matrix obtained in each iteration will thus be given by the following formula:
A k = K k · A ,
where A is described by Equation (9).
The free response is calculated using the following formula:
y ˜ = y + A k · Δ u ,
where this time, A k changes at each sampling instant but depends on A as described by Equation (11):
A k = K k · A .
Then, using the obtained dynamic matrix described by Equation (22) and the free response given by Equation (23), one obtains the output prediction described by the following formula:
y = y ˜ + A k · Δ u = y + A k · Δ u + A k · Δ u .
Next, the prediction given by (25) is used to formulate the quadratic optimization problem, with the following performance index:
J S S D M C = y ˜ + A k · Δ u y ¯ T · y ˜ + A k · Δ u y ¯ + λ k · Δ u T · Δ u .
As a result of solving the optimization task with the quadratic performance index defined in Equation (26) without constraints, the following result is obtained:
Δ u = A k T · A k + λ k · I 1 · A k T · y ¯ y ˜ .
It is important to note that in Equation (27), the dynamic matrix A k changes at each sampling instant due to the nonlinear nature of the control plant. Therefore, an additional transformation must be made to account for these changes. Note that A k T · A k = K k 2 · A T · A . Then, after assuming the coefficient λ k = K k 2 · λ (which is crucial for obtaining a compact control law), the following relation is obtained:
A k T · A k + λ k · I = K k 2 · A T · A + λ · I .
Therefore, after substituting Equations (22)–(24) into (27), along with performing the appropriate mathematical transformations, one obtains the following result:
Δ u = 1 K k · K · y ¯ y + K k · A · Δ u ,
where the matrix K = A T · A + λ · I 1 · A T has the same form as in the classical DMC algorithm. Then, as in the classical DMC algorithm, the main part of the calculations in the SSDMC algorithm can be efficiently performed once at the algorithm design stage (in the offline phase). This approach allows for a significant reduction in the computational demand required by the algorithm during its execution.
After further transformations, one obtains the following formula, which describes the current increment of the manipulated variable:
Δ u k | k = 1 K k · K 1 · y ¯ y K k · A · Δ u = 1 K k · K 1 · y ¯ y K 1 · A · Δ u .
Then, if a constant reference trajectory as in Equation (18) is assumed, the following control law can be finally obtained:
Δ u k | k = Δ u k = r 0 , k · e k + i = 1 p d 1 r i · Δ u k i ,
where r 0 , k = 1 K k · r 0 and r 0 , r 1 , , r p d are derived in the same way as in the control law presented in Equation (19) of the analytical DMC algorithm.
Although the control law obtained in the SSDMC algorithm is very close to that of the standard Dynamic Model Control algorithm, it is important to note that the SSDMC algorithm offers considerably better control quality when applied to nonlinear processes compared to its predecessor.
Tuning of the parameters of the SSDMC controller can be achieved in the same way as in the case of the DMC controller. The sampling period should be chosen in such a way that the delay or inverse response is included in the step-response model. The prediction horizon can be chosen to be equal to the dynamics horizon; tjos is the safest approach, and in the case of the SSDMC algorithm, the control law is obtained. Therefore, the length of the prediction horizon (and also the control horizon) has no influence on the online computational demand of the controller. Both horizons can thus be chosen during offline simulation experiments without any limitations. Moreover, the SSDMC algorithm was designed in such a way that the λ parameter has a similar influence on the behavior of the control system as in the case of the standard DMC algorithm.

3. Results

3.1. Control Plant

The control plant is a nonlinear, isothermal CSTR in which the van de Vusse reaction takes place—a popular benchmark with difficult dynamics, used in much research to test newly developed control algorithms (see, e.g., [26,27,44,45,46,47]) as well as in MIMO configuration, where not only concentration, but also temperature [48,49], is stabilized. Also, other CSTRs with less demanding dynamics that are controlled in the MIMO configuration can be found in the literature; see, e.g., [50,51]. The process model of the reactor is as follows [52]:
d C A d t = k 1 · C A k 3 · C A 2 + F V C Af C A , d C B d t = k 1 · C A k 2 · C B F V C B ,
where C A , C B —the concentrations of components A and B, respectively; F—the flow rate, where it is assumed that its upper bound is equal to F m a x = 60 L / h ; V—the volume in which the reaction takes place (assumed constant and V = 1 L ); and C Af —the concentration of component A in the inlet flow stream ( C Af = 10 mol / L if not declared otherwise). The parameters of the model have the following values: k 1 = 50 L / h , k 2 = 100 L / h , and k 3 = 10 L / ( h · mol ) . The output variable is the concentration C B of substance B, the manipulated variable is the flow rate F, and C Af is the disturbance variable.
The control plant under consideration is highly nonlinear. Its step responses obtained for different flow rate values ( F 1 = 54.3 L / h , F 2 = 44.3 L / h , F 3 = 34.3 L / h , F 4 = 24.3 L / h , F 5 = 14.3 L / h ) are shown in Figure 1. Although the difference between the subsequent values of the flow rate is the same ( Δ F = 10 L / h ) the obtained responses are asymmetric; it is clear that the control plant has both nonlinear dynamics and statics. Moreover, inverse response is present in the step responses obtained.
The same control plant was also used during the tests in [26,27], where advanced numerical versions of the Fuzzy MPC algorithms were proposed and tested; the nonlinear steady-state characteristic of the process is depicted in Figure 2. The algorithm proposed in the current article exploits this characteristic.
To calculate the current gain K k , the equation that describes the steady-state characteristic was obtained from Equation (32). The equations were rewritten for the steady-state; the constant V = 1 L was also taken into account. Moreover, it is important to note that all variables representing the steady-state are denoted by an overline to clearly distinguish them from their dynamic counterparts. The first equation from (32), therefore, transforms into the following equation:
0 = k 1 · C ¯ A k 3 · C ¯ A 2 + F ¯ C ¯ Af C ¯ A .
And the second one transforms into the following equation:
0 = k 1 · C ¯ A k 2 · C ¯ B F ¯ C ¯ B .
After rewriting Equation (33), one obtains
k 3 · C ¯ A 2 k 1 + F ¯ C ¯ A + F ¯ · C ¯ Af = 0 ;
and after transforming Formula (34), the following expression that describes C ¯ B is obtained:
C ¯ B = k 1 · C ¯ A k 2 + F ¯ .
After conducting the necessary and appropriate transformations, and assuming that the operating point would be positioned on the left-hand side of the steady-state characteristic curve, the following equation was obtained as a result of this analysis:
C ¯ B ( F ¯ ) = k 1 + F ¯ ( k 1 + F ¯ ) 2 + 4 · k 3 · F ¯ · C ¯ A f 2 · k 3 · k 2 + F ¯ k 1 .
Then, the approximate value of the derivative was calculated using the equation, which takes into account the change in the function’s value relative to a small change in the input variable:
K k = C ¯ B ( F ¯ + Δ F ¯ ) C ¯ B ( F ¯ ) Δ F ¯ ,
where Δ F ¯ = 0.01 was assumed.

3.2. Simulation Results

The performance of the SSDMC algorithm was compared with the classical DMC algorithm’s performance in the chemical reactor’s control system. In both algorithms, the following values of parameters were assumed: prediction horizon p = 70 , control horizon s = 35 , and coefficient λ = 0.001 . Moreover, a constant reference trajectory on the prediction horizon was assumed. The control systems were simulated in Matlab on a PC equipped with the AMD Athlon II X3 460 processor running at 3.40 GHz. A sampling time equal to T s = 3.6 s was assumed. The control plant was simulated using the Dormand–Prince method implemented in the ode45 solver. The structure of the control system is shown in Figure 3.
The responses of control systems with DMC and SSDMC controllers are shown in Figure 4. The response to the change of the setpoint to C ¯ B 1 = 1 mol/L obtained in the control system with the SSDMC controller (red lines) practically does not have overshoot; therefore, the control time is slightly shorter than in the case when the DMC controller (blue lines) is used. In the case of disturbance response, the SSDMC controller does not generate overshoot, but the maximal temporary control error is slightly higher than in the control system with the DMC controller. Moreover, the DMC controller compensates the disturbance faster. On the other hand, the control signal achieves much smaller values than with the SSDMC controller, generating the calm control signal. In the case of responses to the change of the setpoint to C ¯ B 2 = 1.25 mol/L, the SSDMC controller outperforms the DMC controller. It is significantly faster than the DMC controller and generates responses without overshoot. This time, the SSDMC controller compensates the disturbance faster than the DMC controller. However, the maximal temporary control error is slightly bigger in the control system with the SSDMC controller.
To improve the operation of the SSDMC controller, experiments with decreasing λ coefficient were conducted; the results are depicted in Figure 5. Initial responses (for λ = 0.001 ) are drawn with red lines; the ones obtained for λ decreased 10 times—with blue lines, and for λ decreased 100 times—with magenta lines. Decreasing λ did not influence the overshoot—it is not present at all in responses to the change of the setpoint to C ¯ B 1 = 1.25 mol/L and almost not present in responses to the change of the setpoint to C ¯ B 1 = 1 mol/L. Decreasing λ in all cases brought a decrease in the maximal temporary control error in disturbance responses. Decreasing λ 10 times visibly accelerated the control system’s responses. However, the further decrease in λ to 10 5 almost did not influence the control time. Moreover, in the latter case and in the case of the change of the setpoint to C ¯ B 1 = 1 mol/L, oscillations of the control signal at the beginning of the experiment occurred. For the next experiment, λ = 10 4 was chosen.
In addition, experiments with different values of the control horizon s were performed; the results are shown in Figure 6. The control horizon gradually decreased from s = 35 . Interestingly, the responses obtained remained unchanged even for s = 4 (they are drawn with the red lines). A tiny change occurred for s = 3 (blue lines); the response was a little slower. The further decrease in the control horizon to s = 2 (green lines) and s = 1 (black dashed lines) continued this trend; the slowest responses were obtained for s = 1 . In this last case, the maximal temporary control error in the disturbance response near C ¯ B 1 = 1 mol/L slightly increased, and oscillations occurred in the control signal at the beginning of the experiment. However, in all cases, the response to the setpoint change to C ¯ B 2 = 1.25 mol/L remained the same.
Experiments were also conducted to test the robustness of the proposed algorithm. In Figure 7, responses of the control system to the change in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change in the disturbance by 10% in the 6th minute of the experiment are shown; the responses are shown when the output was subject to a delay of one sampling time that was not included in the model the algorithm was designed with (blue lines). Despite the delay not being known to the controller, it operates only slightly worse than in the ideal case. The responses to setpoint changes are slightly slower. The overshoot in the response to the setpoint change to C ¯ B 1 = 1 mol/L increased a little. The responses to the disturbance change worsened. Also, the maximal control error was larger especially when the setpoint was equal to C ¯ B 2 = 1.25 mol/L.
In Figure 8, responses of the control system to the change of the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment are shown; the responses are given when the output was subject to a measurement noise. This was simulated using random numbers from the interval [ 0.005 , 0.005 ] added to the output measurement and sent to the controller. The proposed SSDMC controller copes well with the measurement noise. It achieves the setpoints without problem, even C ¯ B 2 = 1.25 mol/L though small oscillations of the control signal occurred when it hit the constraint. The change of disturbance was also compensated without problems.
Experiments were also conducted with changes in values of the parameters k 1 , k 2 , and k 3 in the control plant model—a 10% change was made to each value so that the constraint was not active, and each change was made separately. The obtained responses of the control system to the change of the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment are shown in Figure 9. In all cases, the control system remains stable, though the obtained responses became worse. When k 1 = 55 L / h was assumed (the parameters k 2 and k 3 having nominal values), the responses drawn with the red lines were obtained. A significant overshoot occurred in the response to the setpoint change to C ¯ B 2 = 1.25 mol/L, and a small overshoot occurred in the case of the setpoint change to C ¯ B 2 = 1 mol/L. The response to the disturbance change near C ¯ B 2 = 1 mol/L did not change, and near C ¯ B 2 = 1.25 mol/L, it became better (a smaller maximal control error was obtained compared to the nominal case).
When k 2 = 90 L / h was assumed ( k 1 and k 3 parameters having nominal values), the responses drawn with the blue lines were obtained. The biggest overshoot occurred in the response to the setpoint change to C ¯ B 2 = 1.25 mol/L, a slightly larger overshoot than that obtained in the previous case for the setpoint change to C ¯ B 2 = 1 mol/L. The responses are the slowest among all the ones depicted in Figure 9. The responses to the disturbance change are almost the same as in the case where only the k 1 parameter was changed.
When k 3 = 9 L / ( h · mol ) was assumed ( k 1 and k 2 parameters having nominal values), the responses drawn with the magenta lines were obtained. The smallest overshoot occurred in the response to the setpoint change to C ¯ B 2 = 1.25 mol/L, as well as for the setpoint change to C ¯ B 2 = 1 mol/L. Unfortunately, in the response to the setpoint change to C ¯ B 2 = 1.25 mol/L, oscillations occurred. The response to the disturbance change near C ¯ B 2 = 1 mol/L is almost the same as in the other cases, while that near C ¯ B 2 = 1 mol/L is the worst; the maximal control error is the largest among the cases considered.

4. Discussion and Conclusions

It is worth noting that the computational complexity of both DMC and SSDMC controllers is similar. In the SSDMC algorithm, in addition to the operations performed in the DMC algorithm, only the slope of the steady-state characteristic (the derivative of a specific function) needs to be calculated additionally, which does not significantly complicate the proposed algorithm. Moreover, in the example under consideration, determining the derivative is particularly easy due to the relative simplicity of obtaining the analytical formula for calculating it.
The main tuning parameter, λ , is still available in the SSDMC controller and has the same meaning as in the standard algorithms. It decides on the size of the penalty for the control signal changes. However, inside the algorithm, it depends on the process gain at the current operating point to obtain the compact control law.
The next main tuning parameter, the control horizon s, does not influence the responses obtained as much as the parameter λ . Moreover, its decrease slightly slows down the responses obtained, worsening the control quality. On the other hand, thanks to the formulation of the SSDMC algorithm in the form of the control law, the longer control horizon does not influence the numerical complexity of the algorithm.
An important advantage of the proposed algorithm is its robustness to measurement noise, measurement delay, and the uncertainty of process parameters. Even when the parameters of the control plant were significantly changed, the controller managed to stabilize the reactor and maintain satisfactory performance.
The use of a dynamic model in the form of the process step response and static characteristic of the process, combined in a skillful way in order to synthesize the MPC algorithm, resulted in a computationally efficient predictive control algorithm in which the main part of the calculations needed to determine the control value is performed offline as in a conventional, analytical DMC algorithm. However, note that despite the relative simplicity of the controller obtained and the relatively straightforward way of receiving it, it can offer much better control quality than the conventional DMC controller based on the linear model.

Funding

This research received no external funding.

Data Availability Statement

The data are contained within the article.

Conflicts of Interest

The author declares no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
CSTRContinuous Stirred-Tank Reactor
DMCDynamic Matrix Control
LMILinear Matrix Inequality
LMPCLinear Model-Based Model Predictive Control
MPCModel Predictive Control
NMPCNonlinear Model-Based MPC
PIDProportional–Integral–Derivative
SISOSingle-Input Single-Output
SSDMCSteady-State Model-Based Dynamic Matrix Control

References

  1. Arteaga, M.A.; Guajardo-Benavides, E.J.; Sánchez-Sánchez, P. Stability Analysis and Experimental Validation of Standard Proportional-Integral-Derivative Control in Bilateral Teleoperators with Time-Varying Delays. Algorithms 2024, 17, 580. [Google Scholar] [CrossRef]
  2. Candan, F.; Dik, O.F.; Kumbasar, T.; Mahfouf, M.; Mihaylova, L. Real-Time Interval Type-2 Fuzzy Control of an Unmanned Aerial Vehicle with Flexible Cable-Connected Payload. Algorithms 2023, 16, 273. [Google Scholar] [CrossRef]
  3. Kong, W.; Zhang, H.; Yang, X.; Yao, Z.; Wang, R.; Yang, W.; Zhang, J. PID control algorithm based on multistrategy enhanced dung beetle optimizer and back propagation neural network for DC motor control. Sci. Rep. 2024, 14, 28276. [Google Scholar] [CrossRef]
  4. Mao, W.-L.; Chen, S.-H.; Kao, C.-Y. Fractional-Order Fuzzy PID Controller with Evolutionary Computation for an Effective Synchronized Gantry System. Algorithms 2024, 17, 58. [Google Scholar] [CrossRef]
  5. Guo, X.; Shirkhani, M.; Ahmed, E.M. Machine-Learning-Based Improved Smith Predictive Control for MIMO Processes. Mathematics 2022, 10, 3696. [Google Scholar] [CrossRef]
  6. Mohammadzaheri, G.M.; Ghodsi, M. An Enhanced Smith-Predictor-based Control System for delayed MIMO Processes and its Use on a CSTR with Multiple Time-delays. In Proceedings of the 2023 28th International Conference on Automation and Computing (ICAC), Birmingham, UK, 30 August–1 September 2023; pp. 1–6. [Google Scholar]
  7. Camacho, E.F.; Bordons, C. Model Predictive Control; Springer: London, UK, 1999. [Google Scholar]
  8. Maciejowski, J.M. Predictive Control with Constraints; Prentice Hall: Harlow, UK, 2002. [Google Scholar]
  9. Nebeluk, R.; Marusak, P. Efficient MPC algorithms with variable trajectories of parameters weighting predicted control errors. Arch. Control Sci. 2020, 30, 325–363. [Google Scholar]
  10. Rossiter, J.A. Model–Based Predictive Control: A Practical Approach; CRC Press: Boca Raton, FL, USA, 2003. [Google Scholar]
  11. Sands, T. Comparison and Interpretation Methods for Predictive Control of Mechanics. Algorithms 2019, 12, 232. [Google Scholar] [CrossRef]
  12. Tatjewski, P. Advanced Control of Industrial Processes; Structures and Algorithms; Springer: London, UK, 2007. [Google Scholar]
  13. Ławryńczuk, M. Computationally Efficient Model Predictive Control Algorithms: A Neural Network Approach; Springer: Berlin/Heidelberg, Germany, 2014. [Google Scholar]
  14. Mohamed, M.A.-E.-H.; Abbas, H.S.; Shouran, M.; Kamel, S. A Neuro-Predictive Controller Scheme for Integration of a Basic Wind Energy Generation Unit with an Electrical Power System. Energies 2022, 15, 5839. [Google Scholar] [CrossRef]
  15. Mohammadzaheri, M.; Chen, L.; Mirsepahi, A.; Ghanbari, M.; Tafreshi, R. Neuro-Predictive Control of an Infrared Dryer with a Feedforward-Feedback Approach. Asian J. Control 2015, 17, 1972–1977. [Google Scholar] [CrossRef]
  16. Abdelaal, M.; Schön, S. Predictive Path Following and Collision Avoidance of Autonomous Connected Vehicles. Algorithms 2020, 13, 52. [Google Scholar] [CrossRef]
  17. Chen, H.; Allgöwer, F. A Quasi-Infinite Horizon Nonlinear Model Predictive Control Scheme with Guaranteed Stability. Automatica 1998, 34, 1205–1217. [Google Scholar] [CrossRef]
  18. Tatjewski, P. Offset–free nonlinear model predictive control with state–space process models. Arch. Control Sci. 2017, 27, 595–615. [Google Scholar] [CrossRef]
  19. Diehl, M.; Bock, H.G.; Schlöder, J.P.; Findeisen, R.; Nagy, Z.; Allgöwer, F. Real–time optimization and nonlinear model predictive control of processes governed by differential–algebraic equations. J. Process Control 2002, 12, 577–585. [Google Scholar] [CrossRef]
  20. Schäfer, A.; Kühl, P.; Diehl, M.; Schlöder, J.; Bock, H.G. Fast reduced multiple shooting methods for nonlinear model predictive control. Chem. Eng. Process. 2007, 46, 1200–1214. [Google Scholar] [CrossRef]
  21. Zavala, V.M.; Laird, C.D.; Biegler, L.T. A fast moving horizon estimation algorithm based on nonlinear programming sensitivity. J. Process Control 2008, 18, 876–884. [Google Scholar] [CrossRef]
  22. Ławryńczuk, M. Nonlinear state–space predictive control with on–line linearisation and state estimation. Int. J. Appl. Math. Comput. Sci. 2015, 25, 833–847. [Google Scholar] [CrossRef]
  23. Morari, M.; Lee, J.H. Model predictive control: Past, present and future. Comput. Chem. Eng. 1999, 23, 667–682. [Google Scholar] [CrossRef]
  24. Marusak, P. Efficient model predictive control algorithm with fuzzy approximations of nonlinear models. LNCS 2009, 5495, 448–457. [Google Scholar]
  25. Marusak, P. Advantages of an easy to design fuzzy predictive algorithm in control systems of nonlinear chemical reactors. Appl. Soft Comput. 2009, 9, 1111–1125. [Google Scholar] [CrossRef]
  26. Marusak, P. Numerically Efficient Fuzzy MPC Algorithm with Advanced Generation of Prediction: Application to a Chemical Reactor. Algorithms 2020, 13, 143. [Google Scholar] [CrossRef]
  27. Marusak, P. Advanced Construction of Dynamic Matrix in Numerically Efficient Fuzzy MPC Algorithms. Algorithms 2021, 14, 25. [Google Scholar] [CrossRef]
  28. Nebeluk, R.; Ławryńczuk, M. Fast Nonlinear Predictive Control Using Classical and Parallel Wiener Models: A Comparison for a Neutralization Reactor Process. Sensors 2023, 23, 9539. [Google Scholar] [CrossRef]
  29. Dominguez, L.F.; Pistikopoulos, E.N. A Novel mp-NLP Algorithm for Explicit/Multi-parametric NMPC. In Proceedings of the 8th IFAC Symposium on Nonlinear Control Systems, Bologna, Italy, 1–3 September 2010. [Google Scholar]
  30. Johansen, T.A. On multi–parametric nonlinear programming and explicit nonlinear model predictive control. In Proceedings of the 41st IEEE Conf Decision and Control, Las Vegas, NV, USA, 10–13 December 2002; Volume 3, pp. 2768–2773. [Google Scholar]
  31. Johansen, T.A. Approximate explicit receding horizon control of constrained nonlinear systems. Automatica 2004, 40, 293–300. [Google Scholar] [CrossRef]
  32. Bemporad, A.; Borrelli, F.; Morari, M. Piecewise linear optimal controllers for hybrid systems. In Proceedings of the 2000 American Control Conference, Chicago, IL, USA, 28–30 June 2000; Volume 2, pp. 1190–1194. [Google Scholar]
  33. Bemporad, A.; Morari, M.; Dua, V.; Pistikopoulos, E.N. The explicit linear quadratic regulator for constrained systems. Automatica 2002, 38, 3–20. [Google Scholar] [CrossRef]
  34. Pistikopoulos, E.N.; Dua, V.; Bozinis, N.A.; Bemporad, A.; Morari, M. On–line optimization via off–line parametric optimization tools. Comput. Chem. Eng. 2002, 26, 175–185. [Google Scholar] [CrossRef]
  35. Chaber, P.; Ławryńczuk, M. Fast analytical model predictive controllers and their implementation for STM32 ARMmicrocontroller. IEEE Trans. Ind. Inform. 2019, 15, 4580–4590. [Google Scholar] [CrossRef]
  36. Wojtulewicz, A.; Ławryńczuk, M. Implementation of multiple–input multiple–output dynamic matrix control algorithm for fast processes using field programmable gate array. IFAC–PapersOnLine 2018, 51, 324–329. [Google Scholar] [CrossRef]
  37. Bagheri, P.; Sedigh, A.K. Analytical approach to tuning of model predictive control for first-order plus dead time models. IET Control Theory Appl. 2013, 7, 1806–1817. [Google Scholar] [CrossRef]
  38. Short, M. Move suppression calculations for well-conditioned MPC. ISA Trans. 2017, 67, 371–381. [Google Scholar] [CrossRef]
  39. Zheng, H.; Zou, T.; Hu, J.; Yu, H. An offline optimization and online table look-up strategy of two-layer model predictive control. IEEE Access 2018, 6, 47433–47441. [Google Scholar] [CrossRef]
  40. Abbas, H.S.; Hanema, J.; Tóth, R.; Mohammadpour, J.; Meskin, N. An improved robust model predictive control for linear parameter-varying input-output models. Int. J. Robust Nonlinear Control 2018, 28, 859–880. [Google Scholar] [CrossRef]
  41. Ding, B.; Zou, T. A synthesis approach for output feedback robust model predictive control based-on input–output model. J. Process Control 2014, 24, 60–72. [Google Scholar] [CrossRef]
  42. Yan, Y.; Zhang, L. Robust Model Predictive Control with Almost Zero Online Computation. Mathematics 2021, 9, 242. [Google Scholar] [CrossRef]
  43. Marusak, P. A numerically efficient fuzzy MPC algorithm with fast generation of the control signal. Int. J. Appl. Math. Comput. Sci. 2021, 31, 59–71. [Google Scholar] [CrossRef]
  44. Jain, A.; Taparia, R. Laguerre function based model predictive control for van–de–vusse reactor. In Proceedings of the 2nd IEEE International Conference on Power Electronics, Intelligent Control and Energy Systems, ICPEICES 2018, Delhi, India, 22–24 October 2018; Volume 3, pp. 1010–1015. [Google Scholar]
  45. Mate, S.; Kodamana, H.; Bhartiya, S.; Nataraj, P.S.V. A Stabilizing Sub–Optimal Model Predictive Control for Quasi–Linear Parameter Varying Systems. IEEE Control Syst. Lett. 2020, 4, 402–407. [Google Scholar] [CrossRef]
  46. Ribeiro, L.M.; Secchi, A.R. A methodology to obtain analytical models that reduce the computational complexity faced in real time implementation of NMPC controllers. Braz. J. Chem. Eng. 2019, 36, 1255–1277. [Google Scholar] [CrossRef]
  47. Nguyen, T.S.; Hoang, N.H.; Hussain, M.A. Tracking error plus damping injection control of non-minimum phase processes. IFAC-Papers Online 2018, 51, 643–648. [Google Scholar] [CrossRef]
  48. Uçak, K. A Runge–Kutta neural network-based control method for nonlinear MIMO systems. Soft Comput. 2019, 23, 7769–7803. [Google Scholar] [CrossRef]
  49. Uçak, K. A Novel Model Predictive Runge–Kutta Neural Network Controller for Nonlinear MIMO Systems. Neural Process. Lett. 2020, 51, 1789–1833. [Google Scholar] [CrossRef]
  50. Banerjee, S.; Khan, O.; El Mistiri, M.; Nandola, N.N.; Rivera, D.E. Data-Driven Control of Highly Interactive Systems using 3DoF Model-On-Demand MPC: Application to a MIMO CSTR. IFAC-PapersOnLine 2024, 58, 420–425. [Google Scholar] [CrossRef]
  51. Mohammadzaheri, M.; Chen, L. Double-command fuzzy control of a nonlinear CSTR. Korean J. Chem. Eng 2010, 27, 19–31. [Google Scholar] [CrossRef]
  52. Doyle, F.; Ogunnaike, B.A.; Pearson, R.K. Nonlinear model–based control using second–order Volterra models. Automatica 1995, 31, 697–714. [Google Scholar] [CrossRef]
Figure 1. Step responses of control plant.
Figure 1. Step responses of control plant.
Algorithms 18 00079 g001
Figure 2. Steady-state characteristic of control plant.
Figure 2. Steady-state characteristic of control plant.
Algorithms 18 00079 g002
Figure 3. Structure of simulated control system.
Figure 3. Structure of simulated control system.
Algorithms 18 00079 g003
Figure 4. Responses of control system to changes in setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to change in disturbance by 10% in 6th minute of experiment; λ = 0.001 ; SSDMC—red lines, DMC—blue lines.
Figure 4. Responses of control system to changes in setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to change in disturbance by 10% in 6th minute of experiment; λ = 0.001 ; SSDMC—red lines, DMC—blue lines.
Algorithms 18 00079 g004
Figure 5. Responses of the control system with the SSDMC controller to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment. λ = 10 3 —red lines; λ = 10 4 —blue lines; λ = 10 5 —magenta lines.
Figure 5. Responses of the control system with the SSDMC controller to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment. λ = 10 3 —red lines; λ = 10 4 —blue lines; λ = 10 5 —magenta lines.
Algorithms 18 00079 g005
Figure 6. Responses of the control system with the SSDMC controller to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment. λ = 10 4 ; s between 4 and 35—red lines; s = 3 —blue lines; s = 2 —green lines; s = 1 —black dashed lines.
Figure 6. Responses of the control system with the SSDMC controller to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment. λ = 10 4 ; s between 4 and 35—red lines; s = 3 —blue lines; s = 2 —green lines; s = 1 —black dashed lines.
Algorithms 18 00079 g006
Figure 7. Responses of the control system with the SSDMC controller to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment; λ = 10 4 ; s = 4 . No measurement delay—red lines; with additional measurement delay—blue lines.
Figure 7. Responses of the control system with the SSDMC controller to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment; λ = 10 4 ; s = 4 . No measurement delay—red lines; with additional measurement delay—blue lines.
Algorithms 18 00079 g007
Figure 8. Responses of the control system with the SSDMC controller to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment; λ = 10 4 ; s = 4 ; measurement noise added.
Figure 8. Responses of the control system with the SSDMC controller to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment; λ = 10 4 ; s = 4 ; measurement noise added.
Algorithms 18 00079 g008
Figure 9. Responses of the control system with the SSDMC controller to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment. λ = 10 4 ; s = 4 ; k 1 changed to 55 L / h ( k 2 = 100 1 / h , k 3 = 10 L / ( h · mol ) )—red lines; k 2 changed to 90 1 / h ( k 1 = 50 L / h , k 3 = 10 L / ( h · mol ) )—blue lines, k 3 changed to 9 L / ( h · mol ) ( k 1 = 50 L / h , k 2 = 100 L / h )—magenta lines.
Figure 9. Responses of the control system with the SSDMC controller to changes in the setpoint to C ¯ B 1 = 1 mol/L and C ¯ B 2 = 1.25 mol/L and to the change of the disturbance by 10% in the 6th minute of the experiment. λ = 10 4 ; s = 4 ; k 1 changed to 55 L / h ( k 2 = 100 1 / h , k 3 = 10 L / ( h · mol ) )—red lines; k 2 changed to 90 1 / h ( k 1 = 50 L / h , k 3 = 10 L / ( h · mol ) )—blue lines, k 3 changed to 9 L / ( h · mol ) ( k 1 = 50 L / h , k 2 = 100 L / h )—magenta lines.
Algorithms 18 00079 g009aAlgorithms 18 00079 g009b
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Marusak, P.M. Analytical MPC Algorithm Using Steady-State Process Model. Algorithms 2025, 18, 79. https://doi.org/10.3390/a18020079

AMA Style

Marusak PM. Analytical MPC Algorithm Using Steady-State Process Model. Algorithms. 2025; 18(2):79. https://doi.org/10.3390/a18020079

Chicago/Turabian Style

Marusak, Piotr M. 2025. "Analytical MPC Algorithm Using Steady-State Process Model" Algorithms 18, no. 2: 79. https://doi.org/10.3390/a18020079

APA Style

Marusak, P. M. (2025). Analytical MPC Algorithm Using Steady-State Process Model. Algorithms, 18(2), 79. https://doi.org/10.3390/a18020079

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop