# Tuning of Multivariable Model Predictive Control for Industrial Tasks

^{*}

Next Article in Journal

Next Article in Special Issue

Next Article in Special Issue

Previous Article in Journal

Previous Article in Special Issue

Previous Article in Special Issue

Faculty of Electronics and Information Technology, Institute of Control and Computation Engineering, Warsaw University of Technology, ul. Nowowiejska 15/19, 00-665 Warsaw, Poland

Author to whom correspondence should be addressed.

Received: 1 December 2020
/
Revised: 29 December 2020
/
Accepted: 30 December 2020
/
Published: 3 January 2021

(This article belongs to the Special Issue Model Predictive Control: Algorithms and Applications)

This work is concerned with the tuning of the parameters of Model Predictive Control (MPC) algorithms when used for industrial tasks, i.e., compensation of disturbances that affect the process (process uncontrolled inputs and measurement noises). The discussed simulation optimisation tuning procedure is quite computationally simple since the consecutive parameters are optimised separately, and it requires only a very limited number of simulations. It makes it possible to perform a multicriteria control assessment as a few control quality measures may be taken into account. The effectiveness of the tuning method is demonstrated for a multivariable distillation column. Two cases are considered: a perfect model case and a more practical case in which the model is characterised by some error. It is shown that the discussed tuning approach makes it possible to obtain very good control quality, much better than in the most common case in which all tuning parameters are constant.

There are a few advanced control methods, including model reference adaptive control [1], fault-tolerant control [2], stochastic control [3], fuzzy control [4] and Model Predictive Control (MPC) [5,6]. In particular, MPC algorithms make it possible to obtain excellent control quality in the case of Multiple-Input Multiple-Output (MIMO) processes with constraints. As a result, MPC methods have been used to numerous industrial processes [7], e.g., chemical reactors [8], distillation columns [9], waste water treatment plants [10], solar power stations [11], cement kilns [12], pasteurization plants [13] and pulp digesters [14]. In addition to that, MPC algorithms are more and more popular in other areas; example applications are: fuel cells [15], active vibration attenuation [16], combustion engines [17], robots [18], synchronous motors [19], mechanical systems [20], freeway traffic congestion control [21] and autonomous driving [22].

Tuning of MPC is an important issue since a good choice of parameters is likely to significantly increase control quality. The prediction and control horizons may be determined taking into account the process dynamics, the possible sampling period of the controller and the computational performance of the hardware platform used [23,24]. Additionally, it is possible to use the automatic tuning methodology [25] in which a step response model is experimentally obtained from the process, and the horizons are chosen using some hands-on tuning rules. A thorough review on how to find proper MPC horizons was given in [26]. On the other hand, the choice of numerous coefficients of the minimised MPC cost function is always an issue. This task is particularly important in the case of MIMO processes with strong interactions between the consecutive inputs and outputs. A few tuning methods have been discussed in the literature. In some simple cases, it is possible to explicitly calculate the tuning coefficients [27,28]. A tuning method based on the Robust Performance Number (RPN) was described in [29]. It is also possible to dynamically calculate set-points for MPC to accommodate user-defined output importance [30]. Multi-objective performance optimisation using the goal attainment approach was considered in [31]. A thorough comparison of a few heuristic optimisation algorithms was reported in [32] (the Particle Swarm Optimisation (PSO) method, the firefly algorithm, the grey wolf optimiser and the Jaya algorithm were used). An application of the genetic algorithm was described in [12], whereas the PSO algorithm used to find the parameters of MPC with model uncertainty was considered in [33]. In general, the optimisation-based tuning methods are very computationally demanding as there are numerous decision variables, which means that a large number of simulations must be performed. As a practical solution, a relatively computationally simple simulation optimisation tuning method presented in [34] may be used. It needs only a very limited number of simulations. The considered tuning method was discussed in [35] for the MPC employed for vehicle obstacle avoidance.

The tuning method discussed in [34] typically uses step set-point changes. In this work, a more industrially practical scenario is considered, i.e., compensation of disturbances that affect the process. The disturbances considered include process uncontrolled inputs and measurement noises. For a MIMO distillation column, the tuning procedure is detailed. Two cases are considered: a perfect model case and a more practical case in which the model is characterised by some error. It is shown that the discussed tuning approach makes it possible to use very good control quality, much better than in the most common case in which all tuning parameters are constant. The multicriteria control assessment is used since the control quality is assessed taking into account three factors: the sum of squared errors, the Huber standard deviation and the entropy [36,37].

The article is structured in the following way. First, in Section 2, the MPC task and its tuning parameters are recalled. Next, in Section 3, the tuning procedure is detailed, and the indicators used for control quality assessment are defined. Section 4 reports an application of the considered method for a MIMO distillation process with industrial disturbances. Finally, Section 5 summarises the article.

In this work, we deal with MIMO processes that have as many as ${n}_{\mathrm{u}}$ manipulated variables (inputs) and ${n}_{\mathrm{y}}$ controlled variables (outputs). Hence, the following vectors are used: $u={\left[{u}_{1}\dots {u}_{{n}_{\mathrm{u}}}\right]}^{\mathrm{T}}$ and $y={\left[{y}_{1}\dots {y}_{{n}_{\mathrm{y}}}\right]}^{\mathrm{T}}$. At each discrete sampling instant, $k=0,1,\dots $, the MPC algorithm calculates on-line the vector of decision variables, which is defined by the increments of the future manipulated variables [6]:
where ${N}_{\mathrm{u}}$ is the control horizon. The MPC decision variables (1) are found as a result of a computational procedure in which the predicted control quality is optimised. An example of the minimised MPC cost function is:

$$\u25b5\mathit{u}\left(k\right)=\left[\begin{array}{c}\u25b5u\left(k\right|k)\\ \vdots \\ \u25b5u(k+{N}_{\mathrm{u}}-1|k)\end{array}\right]$$

$$J\left(k\right)=\sum _{p=1}^{N}\sum _{n=1}^{{n}_{\mathrm{y}}}{\psi}_{p,n}{\left({y}_{n}^{\mathrm{sp}}(k+p|k)-{\widehat{y}}_{n}(k+p|k)\right)}^{2}+\sum _{p=0}^{{N}_{\mathrm{u}}-1}\sum _{n=1}^{{n}_{\mathrm{u}}}{\lambda}_{p,n}{\left(\u25b5{u}_{n}(k+p|k)\right)}^{2}$$

The first part of the cost function measures the control errors predicted over the prediction horizon N. The set-points and predicted values for the future sampling instant $k+p$ known at the sampling instant k are denoted by ${y}_{n}^{\mathrm{sp}}(k+p|k)$ and ${\widehat{y}}_{n}(k+p|k)$, respectively, for all process outputs, i.e., $n=1,\dots ,{n}_{\mathrm{y}}$. The role of the second part of the cost function is to minimise unwanted big changes of the manipulated variables. In some applications for the cost function (2), the predicted squared values of the future manipulated variables may be also taken into account. The tuning coefficients are: ${\psi}_{p,n}\ge 0$ for $p=1,\dots ,N$, $n=1,\dots ,{n}_{\mathrm{y}}$ and ${\lambda}_{p,n}>0$ for $p=0,\dots ,{N}_{\mathrm{u}}-1$, $n=1,\dots ,{n}_{\mathrm{u}}$. Typically, the penalties ${\lambda}_{p,n}$ are chosen in such a way that the manipulated variables do not change rapidly. As far as the coefficients ${\psi}_{p,n}$ are concerned, the choice is more difficult. This is because these coefficients prioritise the predicted control errors of the consecutive controlled variables. Additionally, predicted control errors for different sampling instants over the prediction horizon may be taken into account in a different way. In practice, however, for simplicity, all coefficients ${\psi}_{p,n}$ are set to a constant value. Unfortunately, as is shown in Section 4, this may deteriorate the resulting control quality. The cost function (2) may be conveniently rewritten in a compact form:
where the set-point vector for the sampling instant $k+p$ is denoted by ${y}^{\mathrm{sp}}(k+p|k)$, the predicted vector of the output variables for the sampling instant $k+p$ is denoted by $\widehat{y}(k+p|k)$ and both vectors are of length ${n}_{\mathrm{y}}$. The semidefinite-positive matrix ${\mathbf{\Psi}}_{p}=\mathrm{diag}({\psi}_{p,1},\dots ,{\psi}_{p,{n}_{\mathrm{y}}})$ is of dimensionality ${n}_{\mathrm{y}}\times {n}_{\mathrm{y}}$, and the definite-positive matrix ${\mathbf{\Lambda}}_{p}=\mathrm{diag}({\lambda}_{p,1},\dots ,{\lambda}_{p,{n}_{\mathrm{u}}})$ is of dimensionality ${n}_{\mathrm{u}}\times {n}_{\mathrm{u}}$. In practice, we usually consider some constraints put on process variables. The typical rudimentary MPC optimisation problem is:
where the vectors ${u}^{min}$ and ${u}^{max}$ define the minimal and maximal values of the manipulated variables, respectively, the vectors $\u25b5{u}^{min}$ and $\u25b5{u}^{max}$ define the minimal and maximal changes of the manipulated variables, respectively, and the vectors ${y}^{min}$ and ${y}^{max}$ define the minimal and maximal predicted values of the controlled variables, respectively. In spite of the fact that as many as ${n}_{\mathrm{u}}{N}_{\mathrm{u}}$ decision variables (1) are computed at every sampling instant k, only the first ${n}_{\mathrm{u}}$ of them are actually applied to the process; in the consecutive sampling instants, the whole calculation procedure is repeated.

$$\begin{array}{cc}\hfill J\left(k\right)& =\sum _{p=1}^{N}{\u2225{y}^{\mathrm{sp}}(k+p|k)-\widehat{y}(k+p|k)\u2225}_{{\mathbf{\Psi}}_{p}}^{2}+\sum _{p=0}^{{N}_{\mathrm{u}}-1}{\u2225\u25b5u(k+p|k)\u2225}_{{\mathbf{\Lambda}}_{p}}^{2}\hfill \end{array}$$

$$\begin{array}{cc}\hfill \phantom{\rule{1.em}{0ex}}& \underset{\u25b5\mathit{u}\left(k\right)}{min}\left\{J\left(k\right)={\displaystyle \sum _{p=1}^{N}}{\u2225{y}^{\mathrm{sp}}(k+p|k)-\widehat{y}(k+p|k)\u2225}_{{\mathbf{\Psi}}_{p}}^{2}+{\displaystyle \sum _{p=0}^{{N}_{\mathrm{u}}-1}}{\u2225\u25b5u(k+p|k)\u2225}_{{\mathbf{\Lambda}}_{p}}^{2}\right\}\hfill \\ \hfill \phantom{\rule{1.em}{0ex}}& \mathrm{subject}\phantom{\rule{4.pt}{0ex}}\mathrm{to}:\hfill \\ \hfill \phantom{\rule{1.em}{0ex}}& {u}^{min}\le u(k+p|k)\le {u}^{max},\phantom{\rule{4pt}{0ex}}p=0,\dots ,{N}_{\mathrm{u}}-1\hfill \\ \hfill \phantom{\rule{1.em}{0ex}}& \u25b5{u}^{min}\le \u25b5u(k+p|k)\le \u25b5{u}^{max},\phantom{\rule{4pt}{0ex}}p=0,\dots ,{N}_{\mathrm{u}}-1\hfill \\ \hfill \phantom{\rule{1.em}{0ex}}& {y}^{min}\le \widehat{y}(k+p|k)\le {y}^{max},\phantom{\rule{4pt}{0ex}}p=1,\dots ,N\hfill \end{array}$$

In this work, the Dynamic Matrix Control (DMC) algorithm [38] is considered. A characteristic feature of the DMC algorithm is the fact that for prediction, i.e., to calculate the scalars ${\widehat{y}}_{n}(k+p|k)$ or the vectors $\widehat{y}(k+p|k)$, a discrete-time step-response model of the controlled process is used. The model may be obtained in a very simple way from the real process; no complicated identification algorithms need be used, which is a huge advantage. Since the step-response model is linear in terms of the manipulated variables, minimisation of the MPC optimisation task (4) is, in fact, a quadratic optimisation problem. Details related to the implementation of the DMC algorithm for MIMO processes may be found in [6].

When all parameters ${\psi}_{p,n}$ for $p=1,\dots ,N$, $n=1,\dots ,{n}_{\mathrm{y}}$ are optimised at the same time, the optimisation problem has as many as ${n}_{\mathrm{y}}N$ decision variables [12,32,33]. For typical lengths of the prediction horizon and a few controlled variables, the resulting optimisation problem is quite difficult. In order to simplify the computational task, the discussed tuning method is based on the following two rules:

- The tuning coefficients for only one manipulated variable are calculated at the same time, i.e., ${\psi}_{1,n},\dots ,{\psi}_{N,n}$, for the consecutive process outputs $n=1,\dots ,{n}_{\mathrm{y}}$.
- If all the coefficients ${\psi}_{1,n},\dots ,{\psi}_{N,n}$ were optimised directly at the same time by a numerical optimisation procedure, we still would have as many as N decision variables. As an alternative, that sequence of coefficients is parameterised using Gauss-like functions [34]. At first, a very general approximation of the Gauss function is used in which for one point, the function has a value of ${K}_{n}$; for all other points, it has a default value equal to one:$${\psi}_{p,n}=\left\{\begin{array}{cc}{K}_{n}\hfill & \mathrm{if}p={m}_{n}\hfill \\ 1\hfill & \mathrm{if}p\ne {m}_{n}\hfill \end{array}\right.$$The function (5) is characterised by two parameters: ${m}_{n}$ and ${K}_{n}$. The first one defines the chosen sampling instant within the prediction horizon for which the function has the value of ${K}_{n}$. When the parameters ${m}_{n}$ and ${K}_{n}$ are selected, the trajectory of the weights is calculated precisely from the Gauss function:$${\psi}_{p,n}={K}_{n}exp\left(-{\left(\frac{p-{m}_{n}}{{a}_{n}}\right)}^{2}\right)$$

All things considered, irrespective of the number of process outputs and the prediction horizon, in the discussed approach, there are always only three decision variables: ${m}_{n}$, ${K}_{n}$ and ${a}_{n}$. What is important is that they are not calculated at the same time, but always, only one parameter is found. Calculations are repeated for all process outputs, $n=1,\dots ,{n}_{\mathrm{y}}$. Unlike fully-fledged optimisation-based tuning methods, in our simulation-based approach, we simply assess how the consecutive parameters influence the value of the performance indices, and we choose the parameters for which the best results are possible. No numerical optimisation is used, but we simply evaluate the values of control the performance indices for a chosen set of tuning parameters. Of course, our procedure is suboptimal, i.e., one may expect that full numerical optimisation of all tuning parameters at the same time may give better results, but our procedure is deliberately rather uncomplicated and is recommended to be used in industrial applications in which all tuning parameters are usually constant.

The tuning procedure is comprised of the following steps:

- The trajectory of the N coefficients ${\psi}_{1,n},\dots ,{\psi}_{N,n}$ is found for the controlled variable n. All other coefficients are tuned or have their default value.
- (a)
- The constant value of the parameter ${K}_{n}$ is assumed. Its value has to be larger than one, and it should result in a noticeable change in control quality in comparison with the control quality achieved for the scenario in which all coefficients ${\psi}_{p,n}=1$.
- The performance indices are calculated from simulations of the MPC algorithm for a few values of the parameter ${m}_{n}$. It is recommended to start the tests from ${m}_{n}=N/2$ and analyse the results obtained in some neighbourhood of this value first.
- The value of the parameter ${m}_{n}$ is chosen for which the performance indices are the best.
- For the chosen value of ${m}_{n}$, the performance indices are calculated from the simulations of the MPC algorithm for a few values of the parameter ${K}_{n}$. This step should start with the values of the parameter that are lower than those assumed in the first step. Next, it is increased. It is recommended not to choose too large values of ${K}_{n}$ as this may result in dangerously large values of the manipulated variables.
- The value of the parameter ${K}_{n}$ is chosen for which the performance indices are the best.

- (b)
- The best trajectory (6) is found, i.e., its parameter ${a}_{n}$ is determined.
- The selected parameters ${m}_{n}$ and ${K}_{n}$ are used.
- The performance indices are calculated from the simulations of the MPC algorithm for a few values of the parameter ${a}_{n}$. It is recommended to perform simulations starting from relatively low values of the parameter, e.g., ${a}_{n}=1$, and slowly increase it until it is clear that any further increment results in no improvement of control quality.
- The value of the parameter ${a}_{n}$ is chosen for which the performance indices are the best.

- Tuning is repeated for the consecutive manipulated variables, for $n=1,\dots ,{n}_{\mathrm{y}}$, i.e., the algorithm goes to Step 1.

Having completed the above procedure, the values of the coefficients ${\psi}_{1,n},\dots ,{\psi}_{N,n}$ are calculated from Equation (6) for the found parameters ${a}_{n}$, ${K}_{n}$ and ${m}_{n}$, for all $n=1,\dots ,{n}_{\mathrm{y}}$. The flowchart of the tuning procedure is depicted in Figure 1.

Let us define the control error for the sampling instant k and process output n:

$${e}_{n}\left(k\right)={y}_{n}^{\mathrm{sp}}\left(k\right)-{y}_{n}\left(k\right)$$

Although different performance criteria may be used to assess control accuracy, in this work, we use the multicriteria approach based on the following three indicators [36,39]:

- the Sum of Squared Errors (${\mathrm{SSE}}_{n}$) of the control error ${e}_{n}$,
- the Huber standard deviation ${\sigma}_{n}$ of the control error ${e}_{n}$,
- the rational entropy ${H}_{n}$ of the control error ${e}_{n}$.

The above indicators are calculated for all $n=1,\dots ,{n}_{\mathrm{y}}$ controlled variables.

In addition to the Gauss function (6), the application of other functions such as bell-shaped, triangular and trapezoidal ones was studied in [34]. The tuning procedure is similar, i.e., we do not optimise all parameters at the same time, but the influence of the consecutive parameters is analysed, while the best ones are chosen. It turns out that the proposed Gauss function results in the best control quality. This conclusion is based on the authors’ experiences with various MPC control algorithms, applied to a few Single-Input Single-Output (SISO) and MIMO processes.

The discussed tuning method is verified in the control system of a simulated binary distillation column, which separates a two component mixture of water and methanol. The linear approximation of the process (scaled) is described by the following transfer function model introduced by Wood and Berry [40]:

$$\begin{array}{cc}\hfill \left[\begin{array}{c}{Y}_{1}\left(s\right)\\ {Y}_{2}\left(s\right)\end{array}\right]& =\left[\begin{array}{cc}{\displaystyle \frac{12.8{e}^{-s}}{16.7s+1}}& {\displaystyle \frac{-18.9{e}^{-3s}}{21s+1}}\\ {\displaystyle \frac{6.6{e}^{-7s}}{10.9s+1}}& {\displaystyle \frac{-19.4{e}^{-2s}}{14.4s+1}}\end{array}\right]\left[\begin{array}{c}{U}_{1}\left(s\right)\\ {U}_{2}\left(s\right)\end{array}\right]+\left[\begin{array}{c}{\displaystyle \frac{3.8{e}^{-8s}}{14.9s+1}}\\ {\displaystyle \frac{4.9{e}^{-3s}}{13.2s+1}}\end{array}\right]F\left(s\right)\hfill \end{array}$$

The controlled variables, ${Y}_{1}$ and ${Y}_{2}$, are: the top product (distillate) composition and the bottom product composition, respectively. The manipulated variables, ${U}_{1}$ and ${U}_{2}$, are: the reflux flow rate and the vapour flow, respectively. The uncontrolled process input (the disturbance), F, is the flow rate of the input stream. All variables are deviations from a typical operating point, and all variables are dimensionless.

The sampling time of MPC is 1 min. To obtain a discrete process representation that is used to determine the step-response model necessary for prediction in the DMC algorithm [6], we use the forward Euler method and the zero-order holder. As a result, the following transfer function representation of the model (8) is obtained:

$$\begin{array}{cc}\hfill \left[\begin{array}{c}{Y}_{1}\left(z\right)\\ {Y}_{2}\left(z\right)\end{array}\right]& =\left[\begin{array}{cc}{\displaystyle \frac{0.7440{z}^{-2}}{1-0.9419{z}^{-1}}}& {\displaystyle \frac{-0.8789{z}^{-4}}{1-0.9535{z}^{-1}}}\\ {\displaystyle \frac{0.5786{z}^{-8}}{1-0.9123{z}^{-1}}}& {\displaystyle \frac{-1.3015{z}^{-3}}{1-0.9329{z}^{-1}}}\end{array}\right]\left[\begin{array}{c}{U}_{1}\left(z\right)\\ {U}_{2}\left(z\right)\end{array}\right]+\left[\begin{array}{c}{\displaystyle \frac{0.2467{z}^{-9}}{1-0.9351{z}^{-1}}}\\ {\displaystyle \frac{0.3575{z}^{-4}}{1-0.9270{z}^{-1}}}\end{array}\right]F\left(z\right)\hfill \end{array}$$

A resulting step-response model is obtained and next used for prediction in the DMC algorithm [6].

The horizons used in the DMC algorithm are: the prediction horizon $N=30$, the control horizon ${N}_{u}=5$ and the horizon of process dynamics $D=100$ (the horizon of process dynamics is the number of step-response coefficients taken into account by the model used in the DMC algorithm) [39]. All values of the weights that penalise the excessive increments of the manipulated variables, i.e., ${\lambda}_{p,n}$, are equal to one. In this work, the objective of the controller is to effectively compensate the influence of three types of disturbances: changes of the flow rate of the input stream F, as well as the measurement noise of the first and the second process outputs, denoted as ${\delta}_{1}$ and ${\delta}_{2}$, respectively. As many as 600,000 min (samples) are considered, i.e., approximately 417 days. It must be emphasised that in this work, the disturbances are not generated artificially, but real industrial disturbances recorded in a distillation process are used [39]. All 600,000 samples of the disturbances are shown in Figure 2.

All coefficients ${\lambda}_{p,n}=1$ for $p=0,\dots ,{N}_{\mathrm{u}}-1$, $n=1,\dots ,{n}_{\mathrm{u}}$ [39]. The problem to solve is to carefully select the tuning parameters ${\psi}_{p,n}$ for $p=1,\dots ,N$, $n=1,\dots ,{n}_{\mathrm{y}}$. For this purpose, the tuning procedure presented in Section 3 is used.

Let us first concentrate on tuning the coefficients ${\psi}_{p,1}$, i.e., for the first process output, $p=1,\dots ,N$. Initially, the trajectory of the weights ${\psi}_{p,1}$ is parameterised by means of Equation (5), which is characterised by the parameters ${m}_{1}$ and ${K}_{1}$. In the first step of the tuning procedure, the influence of the coefficient ${m}_{1}$ on the performance criteria ${\mathrm{SSE}}_{1}$, ${\mathrm{SSE}}_{2}$, ${\sigma}_{1}$, ${\sigma}_{2}$, ${\mathrm{H}}_{1}$ and ${\mathrm{H}}_{2}$ is analysed, and the results are shown in Figure 3. We take into account all three criteria for the first process output, i.e., the indices ${\mathrm{SSE}}_{1}$, ${\sigma}_{1}$ and ${\mathrm{H}}_{1}$, and we choose the value ${m}_{1}=2$ because it gives the best control quality. Next, for the chosen parameter ${m}_{1}=2$, in the second step, we assess the influence of the parameter ${K}_{1}$, and it is shown in Figure 4. It is clear that the best results are obtained for ${K}_{1}=100$. Finally, the trajectory of the weights ${\psi}_{p,1}$ is parameterised by means of Equation (6), which is characterised by the parameter ${a}_{1}$ as well as the fixed parameters ${m}_{1}$ and ${K}_{1}$. Figure 5 depicts the influence of the parameter ${a}_{1}$ on the considered performance indices. The best set of control quality criteria is obtained for ${a}_{1}=2$.

Next, having tuned the coefficients ${\psi}_{p,1}$, let us concentrate on tuning the coefficients ${\psi}_{p,2}$, i.e., for the second process output, $p=1,\dots ,N$. In the first step of the tuning procedure, the influence of the coefficient ${m}_{2}$ on the performance criteria is analysed, and the results are shown in Figure 6. We take into account all three criteria for the first process output, i.e., the indices ${\mathrm{SSE}}_{2}$, ${\sigma}_{2}$ and ${\mathrm{H}}_{2}$. We easily find the best value ${m}_{2}=3$. Next, for the chosen parameter ${m}_{2}=3$, in the second step, we assess the influence of the parameter ${K}_{2}$, and it is shown in Figure 7. It is clear that the best results are obtained for ${K}_{1}=100$. Finally, Figure 8 depicts the influence of the parameter ${a}_{1}$ on the considered performance indices. The best results are obtained for ${a}_{2}=1$.

All things considered, the coefficients ${\psi}_{p,1}$ are characterised by the set of parameters ${m}_{1}=2$, ${K}_{1}=100$ and ${a}_{1}=2$, while the coefficients ${\psi}_{p,2}$ by the parameters ${m}_{2}=3$, ${K}_{2}=100$ and ${a}_{1}=1$. The actual values of the coefficients used in MPC optimisation are computed from Equation (6).

To evaluate the efficiency of the chosen parameters ${\psi}_{p,1}$ and ${\psi}_{p,2}$, let us consider the values of all six performance criteria. We not consider only the found coefficients, but additionally, we take into account the most practically cases in which all coefficients are constant, i.e., ${\psi}_{p,1}={\psi}_{p,2}$. In the latter case, we consider six values of the coefficients: 0.1, 1, 10, 100, 1000 and 10,000. The values of the obtained performance criteria are given in Table 1. For almost all considered indices (the only exception is ${\sigma}_{2}$, but the difference is not significant), the discussed tuning method gives the best results. For constant weights ${\psi}_{p,1}={\psi}_{p,2}$ greater than 10,000, the results do not change.

Let us now consider histograms of the control errors for constant values of the coefficients ${\psi}_{p,1}$, ${\psi}_{p,2}=0.1,\phantom{\rule{4pt}{0ex}}1,\phantom{\rule{4pt}{0ex}}10$ and for the tuned ones. They are shown in Figure 9. Two observations are possible. Firstly, our tuning method gives the most narrow histograms. Secondly, they do not have long “tails”, which means that our method eliminates large negative and positive control errors. Figure 10 depicts the first 1000 samples of the control errors for constant values of the coefficients ${\psi}_{p,1}$, ${\psi}_{p,2}=0.1,\phantom{\rule{4pt}{0ex}}1,\phantom{\rule{4pt}{0ex}}10$ and for the tuned ones. The obtained trends confirm the observations made on the basis of the histograms, i.e., our tuning method gives the best control quality.

In the second part of the simulations, we use the obtained set of tuning coefficients, but all gains of all input-output process channels are increased by 20%. Such a case is particularly interesting since the model used in MPC is (practically) never perfect. Table 2 shows the values of all six performance criteria. Additionally, we consider six cases in which all coefficients are constant and have the values 0.1, 1, 10, 100, 1000 and 10,000, respectively. For almost all considered indices (the only exception is ${\sigma}_{2}$, but the difference is not significant), the discussed method gives the best results. For constant weights ${\psi}_{p,1}={\psi}_{p,2}$ greater than 10,000, the results do not change.

For MIMO processes, the classical optimisation approaches to finding the tuning parameters of MPC algorithms require very long vectors of decision variables. The resulting parameter optimisation task may be solved in simulations using some heuristic optimisation algorithms [12,32,33], but the huge computational complexity of such an approach in practice is an issue (the number of decision variables is large). This work presents a computationally simple approach to tuning of MPC parameters. The coefficients are not optimised directly, but they are parameterised. Moreover, the parameters are not calculated at the same time, but always, only one parameter is optimised. Multicriteria control quality assessment is possible. In this work, the following three indices are used: the sum of squared errors, the Huber standard deviation and the rational entropy. Unlike fully-fledged optimisation-based tuning methods, in our simulation-based approach, we simply assess how the consecutive parameters influence the value of the performance indices, and we choose the parameters for which the best results are possible. No numerical optimisation is used. The resulting tuning procedure is suboptimal, but our procedure is deliberately rather uncomplicated and is recommended to be used in industrial applications in which all tuning parameters are usually constant.

The efficiency of the discussed tuning method is demonstrated for a simulated MIMO distillation column. The classical process control task is considered, which is the compensation of the influence of the disturbances. It is shown that the discussed tuning method makes it possible to find the parameters that result in very good control quality, better than in the case of classical equal and large parameters. It is also shown that the determined set of parameters yields good control also in the imperfect model case.

Finally, let us stress the fact that our tuning method may be used to find parameters of numerous types of MPC algorithms. Classical MPC schemes based on linear models [6], as well as nonlinear ones [41] may be taken into account. Additionally, the constraints of different kinds may be included in the MPC optimisation problem.

Conceptualization, R.N. and M.Ł.; methodology, R.N.; software, M.Ł.; validation, R.N. and M.Ł.; formal analysis, R.N.; investigation, R.N.; writing, original draft preparation, M.Ł.; writing, review and editing, R.N. and M.Ł.; visualization, M.Ł.; supervision, M.Ł. All authors read and agreed to the published version of the manuscript.

This research received no external funding.

Not applicable.

Not applicable.

Data is contained within the article.

The authors declare no conflict of interest.

${a}_{n}$ | the spread of the Gauss function |

${e}_{n}$ | the control error of the nth process output |

$J\left(k\right)$ | the MPC cost function |

${K}_{n}$ | the parameter that defines the maximum value of the functions (5) and (6) |

MIMO | Multiple-Input Multiple-Output |

${m}_{n}$ | the parameter that defines for which sampling instant p the Functions (5) and (6) have the value of ${K}_{n}$ |

N | the prediction horizon |

${N}_{\mathrm{u}}$ | the control horizon |

${n}_{\mathrm{u}}$ | the number of process inputs |

${n}_{\mathrm{y}}$ | the number of process outputs |

SISO | Single-Input Single-Output |

${u}^{min}$, ${u}^{max}$ | the vectors that define the minimal and maximal values of the process inputs |

${\widehat{y}}_{n}(k+p|k)$, $\widehat{y}(k+p|k)$ | the predicted value for the nth process output and the predicted vector for the sampling instant $k+p$ calculated at the current sampling instant k |

${y}_{n}^{\mathrm{sp}}(k+p|k)$, ${y}^{\mathrm{sp}}(k+p|k)$ | the set point value for the nth process output and the set-point vector for the sampling instant $k+p$ known at the current sampling instant k |

${y}^{min}$, ${y}^{max}$ | the vectors that define the minimal and maximal predicted values of the process outputs |

$\u25b5{u}_{n}(k+p|k)$, $\u25b5u(k+p|k)$ | the increment of the nth process input and the increment of the input vector for the sampling instant $k+p$ calculated at the current sampling instant k |

$\u25b5\mathit{u}\left(k\right)$ | decision variable vector of the MPC algorithm |

$\u25b5{u}^{min}$, $\u25b5{u}^{max}$ | the vectors that define the minimal and maximal changes of the process inputs |

${\mathbf{\Lambda}}_{p}$ | the weighting matrix related to the change of the signal $\u25b5u(k+p|k)$ |

${\lambda}_{p,n}$ | the weighting coefficient related to the change of the signal $\u25b5{u}_{n}(k+p|k)$ |

${\mathbf{\Psi}}_{p}$ | the weighting matrix related to the predicted control error ${y}^{\mathrm{sp}}(k+p|k)-\widehat{y}(k+p|k)$ |

${\psi}_{p,n}$ | the weighting coefficient related to the predicted control error ${y}_{n}^{\mathrm{sp}}(k+p|k)-{\widehat{y}}_{n}(k+p|k)$ |

- Balaska, H.; Ladaci, S.; Djouambi, A.; Schulte, H.; Bourouba, B. Fractional order tube model reference adaptive control for a class of fractional order linear systems. Int. J. Appl. Math. Comput. Sci.
**2020**, 30, 23–34. [Google Scholar] - Salazar, J.C.; Sanjuan, A.; Nejjari, F.; Sarrate, R. Health-aware and fault-tolerant control of an octorotor UAV system based on actuator reliability. Int. J. Appl. Math. Comput. Sci.
**2020**, 30, 47–59. [Google Scholar] - Bania, P. An information based approach to stochastic control problems. Int. J. Appl. Math. Comput. Sci.
**2020**, 30, 47–59. [Google Scholar] - Salcedo, J.V.; Martínez, M.; García-Nieto, S.; Hilario, A. T-S fuzzy BIBO stabilisation of non-linear systems under persistent perturbations using fuzzy Lyapunov functions and non-PDC control laws. Int. J. Appl. Math. Comput. Sci.
**2020**, 30, 529–550. [Google Scholar] - Maciejowski, J. Predictive Control with Constraints; Prentice Hall: Harlow, UK, 2002. [Google Scholar]
- Tatjewski, P. Advanced Control of Industrial Processes, Structures and Algorithms; Springer: London, UK, 2007. [Google Scholar]
- Plamowski, S.; Kephart, R.W. The model order reduction method as an effective way to implement GPC controller for multidimensional objects. Algorithms
**2020**, 13, 178. [Google Scholar] [CrossRef] - Marusak, P.M. Numerically efficient fuzzy MPC algorithm with advanced generation of prediction—application to a chemical reactor. Algorithms
**2020**, 13, 143. [Google Scholar] [CrossRef] - Assandri, A.D.; de Prada, C.; Rueda, A.; Martínez, J.S. Nonlinear parametric predictive temperature control of a distillation column. Control. Eng. Pract.
**2013**, 21, 1795–1806. [Google Scholar] [CrossRef] - Morales-Rodelo, K.; Francisco, M.; Alvarez, H.; Vega, P.; Revollar, S. Collaborative control applied to BSM1 for wastewater treatment plants. Processes
**2020**, 8, 1465. [Google Scholar] [CrossRef] - Gallego, A.J.; Merello, G.M.; Berenguel, M.; Camacho, E.F. Gain-scheduling model predictive control of a Fresnel collector field. Control Eng. Pract.
**2019**, 82, 1–13. [Google Scholar] [CrossRef] - Ramasamy, V.; Sidharthan, R.; Kannan, R.; Muralidharan, G. Optimal tuning of model predictive controller weights using genetic algorithm with interactive decision tree for industrial cement kiln process. Processes
**2019**, 7, 938. [Google Scholar] [CrossRef][Green Version] - Pour, F.; Puig, V.; Ocampo-Martinez, C. Multi-layer health-aware economic predictive control of a pasteurization pilot plant. Int. J. Appl. Math. Comput. Sci.
**2018**, 28, 97–110. [Google Scholar] [CrossRef][Green Version] - Rahman, M.; Avelin, A.; Kyprianidis, K. An approach for feedforward model predictive control of continuous pulp digesters. Processes
**2019**, 7, 602. [Google Scholar] [CrossRef][Green Version] - Chatrattanawet, N.; Kheawhom, S.; Chen, Y.S.; Arpornwichanop, A. Design and implementation of the off-line robust model predictive control for solid oxide fuel cells. Processes
**2019**, 7, 918. [Google Scholar] [CrossRef][Green Version] - Takács, G.; Batista, G.; Gulan, M.; Rohal’-Ilkiv, B. Embedded explicit model predictive vibration control. Mechatronics
**2016**, 36, 54–62. [Google Scholar] [CrossRef] - Kaleli, A. Development of the predictive based control of an autonomous engine cooling system for variable engine operating conditions in SI engines: Design, modeling and real-time application. Control Eng. Pract.
**2020**, 100, 104424. [Google Scholar] [CrossRef] - Hou, X.; Guo, S.; Shi, L.; Xing, H.; Yin, H.; Li, Z.; Zhou, M. Improved model predictive-based underwater trajectory tracking control for the biomimetic spherical robot under constraints. Appl. Sci.
**2020**, 10, 8106. [Google Scholar] [CrossRef] - Wang, Y.; Yu, H.; Che, Z.; Wang, Y.; Zeng, C. Extended State Observer-Based Predictive Speed Control for Permanent Magnet Linear Synchronous Motor. Processes
**2019**, 7, 618. [Google Scholar] [CrossRef][Green Version] - Sands, T. Comparison and interpretation methods for predictive control of mechanics. Algorithms
**2019**, 12, 232. [Google Scholar] [CrossRef][Green Version] - Chen, J.; Yu, Y.; Guo, Q. Freeway traffic congestion reduction and environment regulation via model predictive control. Algorithms
**2019**, 12, 220. [Google Scholar] [CrossRef][Green Version] - Lima, P.F.; Pereira, G.C.; Mårtensson, J.; Wahlberg, B. Experimental validation of model predictive control stability for autonomous driving. Control Eng. Pract.
**2018**, 81, 244–255. [Google Scholar] [CrossRef] - Scattolini, R.; Bittanti, S. On the choice of the horizon in long-range predictive control–some simple criteria. Automatica
**1990**, 26, 915–917. [Google Scholar] [CrossRef] - Seborg, D.E.; Edgar, T.F.; Mellichamp, D.A.; Doyle, F.J., III. Process Dynamics and Control; John Wiley & Sons: New York, NY, USA, 2011. [Google Scholar]
- Ionescu, C.; Copot, D. Hands-on MPC tuning for industrial applications. Bull. Pol. Acad. Sci. Tech. Sci.
**2019**, 67, 925–945. [Google Scholar] - Garriga, J.L.; Soroush, M. Model predictive control tuning methods: A review. Ind. Eng. Chem. Res.
**2010**, 49, 3505–3515. [Google Scholar] [CrossRef] - Shridhar, R.; Cooper, D.J. A tuning strategy for unconstrained multivariable model predictive control. Ind. Eng. Chem. Res.
**1998**, 37, 4003–4016. [Google Scholar] [CrossRef] - Shridhar, R.; Cooper, D.J. A tuning strategy for unconstrained SISO model predictive control. Ind. Eng. Chem. Res.
**1997**, 36, 729–746. [Google Scholar] [CrossRef] - Trierweiler, J.; Farina, L. RPN tuning strategy for model predictive control. J. Process Control
**2003**, 13, 591–598. [Google Scholar] [CrossRef] - Yamashita, A.S.; Alexandre, P.M.; Zanin, A.C.; Odloak, D. Reference trajectory tuning of model predictive control. Control Eng. Pract.
**2016**, 50, 1–11. [Google Scholar] [CrossRef] - Exadaktylos, V.; Taylor, C. Multi-objective performance optimisation for model predictive control by goal attainment. Int. J. Control.
**2010**, 83, 1374–1386. [Google Scholar] [CrossRef] - Sawulski, J.; Ławryńczuk, M. Optimisation-based tuning of dynamic matrix control algorithm for multiple-input multiple-output processes. In Proceedings of the 2018 23rd International Conference on Methods & Models in Automation & Robotics (MMAR), Miedzyzdroje, Poland, 27–30 August 2018; pp. 160–165. [Google Scholar]
- Júnior, G.A.; Martins, M.A.F.; Kalid, R. A PSO-based optimal tuning strategy for constrained multivariable predictive controllers with model uncertainty. ISA Trans.
**2014**, 53, 560–567. [Google Scholar] [CrossRef] - 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] - Nebeluk, R.; Ławryńczuk, M. Tuning of nonlinear MPC algorithm for vehicle obstacle avoidance. In Advanced, Contemporary Control; Bartoszewicz, A., Kabziński, J., Kacprzyk, J., Eds.; Springer: Cham, Switzerland, 2020; Volume 1196, pp. 993–1005. [Google Scholar]
- Domański, P. Control Performance Assessment: Theoretical Analyses and Industrial Practice. In Control Performance Assessment: Theoretical Analyses and Industrial Practice; Springer: Cham, Switzerland, 2020; Volume 245. [Google Scholar]
- Domański, P.D. Performance assessment of predictive control—A survey. Algorithms
**2020**, 13, 97. [Google Scholar] [CrossRef][Green Version] - Cutler, C.R.; Ramaker, B.L. Dynamic matrix control–A computer control algorithm. In Proceedings of the AIChE National Meeting, Denver, CO, USA, 17–21 June 1979. [Google Scholar]
- Domański, P.; Ławryńczuk, M. Multi-criteria control performance assessment method for a multivariate MPC. In Proceedings of the American Control Conference (ACC 2020), Denver, CO, USA, 1–3 July 2020; pp. 1968–1973. [Google Scholar]
- Wood, R.K.; Berry, M.W. Terminal composition control of binary distillation column. Chem. Eng. Sci.
**2019**, 28, 1707–1717. [Google Scholar] [CrossRef] - Ławryńczuk, M. Computationally Efficient Model Predictive Control Algorithms: A Neural Network Approach. In Studies in Systems, Decision and Control; Springer: Cham, Switzerland, 2014; Volume 3. [Google Scholar]

Parameters | ${\mathbf{SSE}}_{1}$ | ${\mathbf{SSE}}_{2}$ | ${\mathit{\sigma}}_{1}$ | ${\mathit{\sigma}}_{2}$ | ${\mathit{H}}_{1}$ | ${\mathit{H}}_{2}$ |
---|---|---|---|---|---|---|

${\psi}_{p,1}={\psi}_{p,2}=0.1$ | $3.91\times {10}^{6}$ | $2.69\times {10}^{6}$ | $1.36$ | $1.0489$ | $6.58\times {10}^{1}$ | $5.80\times {10}^{1}$ |

${\psi}_{p,1}={\psi}_{p,2}=1$ | $2.21\times {10}^{6}$ | $1.73\times {10}^{6}$ | $1.02$ | $8.23\times {10}^{-1}$ | $4.94\times {10}^{1}$ | $4.63\times {10}^{1}$ |

${\psi}_{p,1}={\psi}_{p,2}=10$ | $1.52\times {10}^{6}$ | $1.39\times {10}^{6}$ | $8.48\times {10}^{-1}$ | $7.32\times {10}^{-1}$ | $4.08\times {10}^{1}$ | $4.14\times {10}^{1}$ |

${\psi}_{p,1}={\psi}_{p,2}=100$ | $1.31\times {10}^{6}$ | $1.27\times {10}^{6}$ | $7.87\times {10}^{-1}$ | $6.92\times {10}^{-1}$ | $3.85\times {10}^{1}$ | $3.95\times {10}^{1}$ |

${\psi}_{p,1}={\psi}_{p,2}=1000$ | $1.28\times {10}^{6}$ | $1.25\times {10}^{6}$ | $7.79\times {10}^{-1}$ | $6.85\times {10}^{-1}$ | $3.83\times {10}^{1}$ | $3.94\times {10}^{1}$ |

${\psi}_{p,1}={\psi}_{p,2}=10,000$ | $1.28\times {10}^{6}$ | $1.25\times {10}^{6}$ | $7.78\times {10}^{-1}$ | $6.85\times {10}^{-1}$ | $3.82\times {10}^{1}$ | $3.92\times {10}^{1}$ |

${\psi}_{p,1}$, ${\psi}_{p,2}$ tuned | $9.62\times {10}^{5}$ | $1.23\times {10}^{6}$ | $6.74\times {10}^{-1}$ | $6.99\times {10}^{-1}$ | $3.32\times {10}^{1}$ | $3.91\times {10}^{1}$ |

Parameters | ${\mathbf{SSE}}_{1}$ | ${\mathbf{SSE}}_{2}$ | ${\mathit{\sigma}}_{1}$ | ${\mathit{\sigma}}_{2}$ | ${\mathit{H}}_{1}$ | ${\mathit{H}}_{2}$ |
---|---|---|---|---|---|---|

${\psi}_{p,1}={\psi}_{p,2}=0.1$ | $2.73\times {10}^{6}$ | $1.88\times {10}^{6}$ | $1.14$ | $8.77\times {10}^{-1}$ | $5.55\times {10}^{1}$ | $4.84\times {10}^{1}$ |

${\psi}_{p,1}={\psi}_{p,2}=1$ | $2.21\times {10}^{6}$ | $1.73\times {10}^{6}$ | $1.02$ | $8.23\times {10}^{-1}$ | $4.94\times {10}^{1}$ | $4.63\times {10}^{1}$ |

${\psi}_{p,1}={\psi}_{p,2}=10$ | $1.06\times {10}^{6}$ | $9.67\times {10}^{5}$ | $7.07\times {10}^{-1}$ | $6.10\times {10}^{-1}$ | $3.43\times {10}^{1}$ | $3.48\times {10}^{1}$ |

${\psi}_{p,1}={\psi}_{p,2}=100$ | $9.12\times {10}^{5}$ | $8.85\times {10}^{5}$ | $6.56\times {10}^{-1}$ | $5.77\times {10}^{-1}$ | $3.25\times {10}^{1}$ | $3.35\times {10}^{1}$ |

${\psi}_{p,1}={\psi}_{p,2}=1000$ | $8.94\times {10}^{5}$ | $8.73\times {10}^{5}$ | $6.50\times {10}^{-1}$ | $5.71\times {10}^{-1}$ | $3.23\times {10}^{1}$ | $3.34\times {10}^{1}$ |

${\psi}_{p,1}={\psi}_{p,2}=10,000$ | $8.92\times {10}^{5}$ | $8.72\times {10}^{5}$ | $6.49\times {10}^{-1}$ | $5.71\times {10}^{-1}$ | $3.19\times {10}^{1}$ | $3.27\times {10}^{1}$ |

${\psi}_{p,1}$, ${\psi}_{p,2}$ tuned | $6.68\times {10}^{5}$ | $8.59\times {10}^{5}$ | $5.62\times {10}^{-1}$ | $5.83\times {10}^{-1}$ | $2.75\times {10}^{1}$ | $3.27\times {10}^{1}$ |

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |

© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).