PREDICTIVE_CONTROL, Advanced Control Systems


The PREDICTIVE_CONTROL library incorporates the multivariate linear predictive controllers DMC and GPC with restrictions including their treatment, feasibility management, reconfiguration of the structure and economical set. The main idea is to develop robust control algorithms based on simple, measurable process models, providing acceptable results along with constraints, noises and parameter uncertainties.

The library implements two linear predictive control algorithms, DMC (Dynamic Matrix Control) and GPC (Generalized Predictive Control), which enables you to select the most appropriate method for the type of process and the control objectives of each application. The user can specify plant and disturbance models, horizons, constraints, and weights.

Simultaneously with the controller, the tool also implements a set point optimizer which, using the same models, enables you to calculate in line the optimal operation point of the process from an economical point of view which makes the implementation of advanced plant control more attractive.

The implemented software is of a general type so that, when correctly adjusted, it can be used to run in different continuous processes. Before use, the controller has to be configured on the screens where the variables to be used, the models that list them and a set of operation parameters are established.

The library contains two elements:

  • DMC Controller: predictive controller with the following characteristics:
    • Model easy to implement. It can be defined as a response to a jump or a transfer function
    • Attractive for industrial use, because training in its operation is not complicated
    • No need for any assumptions concerning the order of the model
    • Optimization based in quadratic programming (QP) solver
    • Customization of constraints and weights
    • Unstable processes in open circuit cannot be controlled
    • However, it also has some disadvantages; the most important is that unstable processes in open circuits cannot be controlled
  • GPC Controller: this controller has turned out to be one of the most popular methods with the following characteristics:
    • Good performance and some kind of solidity with regard to over-parameterization or poorly known delays
    • Effective in non-minimal phase or/and unstable in open-circuit plants
    • The model can be defined only as a transfer function

CSTR, liquid jacket reactor controlled by a DMC controller

The reactor is fed with certain concentration of chemical A, Ca0, with an input temperature. Inside the reactor, the exothermic reaction A  B takes place. In order to maintain a desired temperature, the reactor is jacked with a cooler with a volume flow, Fr, and a temperature, Tr0.
The control objectives are:

  • Obtain a mass fraction of chemical component A, Ca
  • Obtain a mass fraction of chemical component B, Cb
  • Maintain the temperature reactor at a selected value


The manipulated variables are:

  • The inlet feed volume flow
  • The cooler volume flow

The set points of the controlled variables are modified along the simulations:

  • The reactor temperature set point is increased at 4 seconds and then goes down at 11 seconds
  • The set point of chemical B is increased at 18 seconds and, in parallel, the set point of chemical A is decreased

The next figures show the previous set point changes (red line) and the process variable response following the new set points.

Reactor temperature set point and measure:


Chemical B concentration set point and measure:


Chemical A concentration set point and measure:


The DMC controller calculates the evolution of the manipulated variables so that the controlled variables do not divert from their reference.

Manipulated variables: inlet and cooler volume flow.


A multivariable system has been easily and efficiently controlled by calculating the optimal sequence of the manipulated variables using a DMC controller.