# Tuning of Multivariable Model Predictive Control for Industrial Tasks
## 1 Introduction  
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 dynamicallycalculate 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.