## 1 Introduction  
Model Predictive Control (MPC) algorithms [1; 2; 3; 4; 5; 6] are frequently used in industrial applications [7], especially as a technique for efficient control of Multiple-Input Multiple-Output (MIMO) processes. Compared with the classical PID controller, MPC algorithms give very good control quality and tuning is much easier, especially for non-minimum phase objects, objects with long time delays, as well as MIMO objects with internal coupling between inputs and outputs. Furthermore, in MPC, unlike PID control, all necessary constraints may be incorporated systematically in the control law. Additionally, MPC can be applied to nonlinear systems [8; 9; 10] using the structure of fuzzy models [11; 12; 13; 14; 15; 16; 17] or online linearization of the process model at each MPC algorithm iteration [18; 19]. In large-scale industrial applications, MPC algorithms are implemented in Distributed Control Systems (DCS) using Programmable Logic Controllers (PLC) [20] or specialized industrial controllers [21]. Whereas in embedded systems, microcontrollers [22] or Field Programmable Gate Arrays (FPGA) [23] are typically used as hardware platforms. Recent years have seen an increase in the development of predictive control techniques [24; 25; 26] used in both the lower levels, which have typically been thought of as base control, as well as the upper-level supervisory control layer, which may also include the optimization functions. It is worth noting that the explosive increase in computing power and capabilities of embedded controllers is causing the boundaries of the traditional layered control structure [27] to become blurred as the specific functions performed at each layer become less distinct. This is one of the main reasons for the popularization of multidimensional predictive control techniques. Despite these points, the use of advanced predictive control techniques can be difficult in some cases. There is extensive literature related to the limitations, advantages, and disadvantages of the use of advanced control systems. The authors draw attention to modeling problems and issues of inaccuracy of internal models used in predictive controllers [28; 29]. The issue of calculations and memory requirements needed to run predictive controllers was also discussed [21]. In addition to general problems, there are problems that appear only for certain types of predictive control algorithms. This work discusses the implementation of the General Predictive Control (GPC) algorithm for a multi-input process. The GPC algorithm originated in the late 1980s [30; 31; 32; 33] and historically it is included in the second-generation algorithms [26]. The algorithm uses an internal model in the form of a discrete transfer function that defines the dynamic input-output relationships between the model inputs and outputs. The model inputs are the control system Manipulated Variable (MV) outputs as well as the Disturbance Variables (DV). The model outputs are the Controlled Variables (CV), which are the inputs to the control system. Due to the relatively simple yet universal form of the internal model, this algorithm has become very popular and particularly in the academic community. It is worth mentioning that the first theoretical studies proving stability were derived for algorithms derived from the GPC algorithm. The most important ones are CRHPC (Constrained Receding Horizon Predictive Control) [34] and SIORHC (Stabilizing Input Output Receding Horizon Control) [35], which were based on the concept of additional equalization constraints of the output signal. The GPC algorithm uses a transfer function model to predict future CV values. Unfortunately, in some cases, particularly when the process has many inputs, the resulting internal model may be of high order. This can lead to numerical errors and ultimately to instability of the algorithm.