Control Automático Educación

Sintonía del Controlador MPC (MPC Tuning)

La sintonía de controladores predictivos basados en modelos (Model Predictive Control, MPC) es una tarea crucial en ingeniería de control avanzada, ya que determina el rendimiento dinámico, la estabilidad y la robustez del sistema controlado. Este artículo profundiza en los principios, los parámetros de ajuste y los métodos avanzados utilizados para la optimización de MPC, empleando la formulación matemática estándar y ejemplos prácticos relevantes.

Antes de continuar te invito a que te inscribas al canal

Tuning of Model Predictive Controllers Based on Hybrid Optimization

Antes de comenzar a entender sobre la sintonia del controlador Predictivo, te dejo el trabajo empleado como referencia para la elaboración de este post el cual adicionalmente propone un método de sintonia por medio de optimización hibrida para controladores predictivos basados en modelo MPC y NMPC.

Tuning of Model Predictive Controllers Based on Hybrid Optimization

Los códigos de implementación junto con diversos ejemplos puedes descargarlos del siguiente repositorio los cuales están adaptados para emplear el propio MPC Toolbox de Matlab, basta con entrar a la carpeta MPC-Tuning.

Principios del Control Predictivo Basado en Modelos

El control predictivo basado en modelos (MPC) es una estrategia avanzada ampliamente utilizada en procesos industriales y sistemas complejos. Su principal fortaleza radica en su capacidad para manejar restricciones explícitas, optimizar el desempeño dinámico y operar con modelos multivariables. A continuación, se describen los principios fundamentales de MPC, incluyendo su formulación matemática, naturaleza predictiva y enfoque de optimización.


Formulación del Problema de Control Predictivo

El MPC utiliza un modelo dinámico explícito del sistema para predecir su comportamiento futuro. En cada intervalo de muestreo, el controlador resuelve un problema de optimización basado en una función de costo, buscando minimizar el error entre las salidas predichas y las referencias deseadas, así como las variaciones en las entradas manipuladas.

La formulación clásica del problema de optimización en MPC es la siguiente:

 \underset{\mathbf{ u, \epsilon_k}}{\rm min}\ \Bigg\{ {J}=\sum_{i=1}^{n_y}\sum_{n=1}^{p}\left \{ {Q}_{ii} \left[ \hat{{y}}_i(k+n|k)-{r}_i(k+n) \right]^2  \right \}+
\sum_{j=1}^{n_u}\sum_{n=1}^{m_j}\left \{{W}_{jj}\left[ {\Delta u}_j(k+n-1)\right]^2 \right \}+ \rho \epsilon_k^2\Bigg\},
{\rm subject\ to}\\\\
    x(k+n)=f(x(k+n-1),\ u(k+n),\ \boldsymbol{\mu} ),\ n=1,\ldots,p\\
    g(y(k+n),\ x(k+n),\ u(k+n),\ \boldsymbol{\mu})=\mathbf{0},\ n=1,\ldots,p\\
    x(k) = \hat{x}(k)\\
    {u_{j_{min}}}\leq {u}_j(k+n-1)\leq {u_{j_{max}}},\ j=1,\ldots,n_u\ {\rm and}\ n = 1, \ldots, m_j\\
    {\Delta u_{j_{min}}}\leq {u}_j(k+n-1)-{u}_j(k+n-2)\leq \Delta {u_{j_{max}}},\\
    j=1,\ldots,n_u\ {\rm and}\ n = 1, \ldots, m_j\\
    {y_{i_{min}}}\leq \hat{{y}}_i(k+n)\leq {y_{i_{max}}},\ i=1,\ldots,n_y\ {\rm and}\ n = 1, \ldots, p, 

Donde:


Principios Predictivos

El núcleo del MPC radica en su capacidad de predecir el comportamiento futuro del sistema utilizando un modelo dinámico, típicamente representado por ecuaciones de estado o de transferencia. A partir de las condiciones iniciales y las entradas actuales, el modelo genera una predicción de las salidas del sistema para un horizonte futuro (p).

Modelo de Estado

El modelo dinámico de estado se representa como:

x(k+1)=Ax(k)+Bu(k)\\y(k)=Cx(k)+Du(k)

donde:

Este modelo puede extenderse para incluir incertidumbres y no linealidades mediante formulaciones más avanzadas, como MPC no lineal (NMPC) o robusto.


Parámetros Clave para la Sintonía del MPC

La sintonía del MPC implica ajustar parámetros fundamentales que determinan el desempeño dinámico del sistema, la estabilidad, la robustez y el cumplimiento de restricciones. Este punto aborda con detalle los cuatro parámetros esenciales: el horizonte de predicción (p), el horizonte de control (​), las matrices de pesos ( y ​), y el periodo de muestreo (​).


Horizonte de Predicción (p)

El horizonte de predicción (p) define cuántos pasos hacia adelante el controlador considera para predecir el comportamiento del sistema. Este parámetro es fundamental para capturar la dinámica del proceso y optimizar el rendimiento del sistema.

Impacto del Horizonte de Predicción


Horizonte de Control ()

El horizonte de control () representa el número de movimientos futuros de la entrada manipulada que se optimizan en cada iteración. Este parámetro influye directamente en la flexibilidad del controlador para ajustar las señales de control.

Impacto del Horizonte de Control

Generalmente, se establece que: ,

para garantizar que las decisiones de control se alineen con las predicciones. Sin embargo, en sistemas altamente dinámicos, un mayor puede ser beneficioso para lograr respuestas más suaves.


Matrices de Pesos (​ y ​)

Las matrices de pesos son fundamentales para priorizar ciertos objetivos del controlador y penalizar comportamientos no deseados.

La matriz diagonal define la penalización por error entre las salidas predichas y las referencias. Los pesos se asignan según la importancia relativa de cada variable controlada:

La matriz diagonal penaliza los cambios en las entradas manipuladas para evitar movimientos bruscos:


Periodo de Muestreo ()

El periodo de muestreo () determina la frecuencia con la que se actualizan las predicciones y decisiones del controlador. Un adecuado es crucial para evitar fenómenos de aliasing y reducir el costo computacional.

El periodo de muestreo debe ser:


Estrategia MPCTuning: Optimización Híbrida para la Sintonía del MPC

La estrategia MPCTuning es un método híbrido de optimización diseñado para la sintonía de controladores predictivos basados en modelos (MPC) en sistemas multi-input multi-output (MIMO). Su enfoque combina el método de logro de objetivos (Goal Attainment Method, GAM) y la búsqueda de vecindario variable (Variable Neighborhood Search, VNS), lo que permite encontrar los parámetros óptimos del controlador minimizando el error de seguimiento y garantizando un bajo costo computacional.

Metodología de Optimización

La sintonía del MPC se lleva a cabo en dos etapas:

  1. Optimización de las matrices de pesos del MPC con el método GAM:
  1. Optimización de los horizontes de predicción y control mediante VNS:

Método de Logro de Objetivos (GAM)

El método GAM permite resolver problemas de optimización con múltiples objetivos en conflicto. En la sintonía del MPC, se define un conjunto de objetivos ideales:

\mathbf{f^*} = [f^*_1, f^*_2, … , f^*_n]

Estos corresponden a una solución utópica inalcanzable. El problema se reformula introduciendo pesos y variables de holgura para encontrar una solución realista:

\underset{\mathbf{x},\gamma}{\rm min}\ \gamma,\\
  {\rm subject\ to}\\
  \mathbf{h}(\mathbf{x})=0\\
  \mathbf{g}(\mathbf{x})\leq 0\\
  f_i(\mathbf{x})-\omega_i\gamma-f_i^*\leq 0,\ i=1,\cdots,n\\
  \mathbf{L_B}\leq \mathbf{x} \leq \mathbf{U_B}

[
\min_{\mathbf{x}, \gamma} \quad \gamma, \quad \text{sujeto a} \quad f_i(x) – \omega_i \gamma – f^*_i \leq 0, \quad i = 1, … , n
]

Este enfoque permite obtener un balance entre desempeño y robustez, ajustando dinámicamente las matrices Q y W para priorizar ciertos objetivos del controlador.

Búsqueda de Vecindario Variable (VNS)

El VNS es un algoritmo metaheurístico que explora diferentes soluciones dentro de un vecindario y evita caer en óptimos locales. En la sintonía del MPC, el algoritmo:

La formulación del problema de optimización con VNS es:

\underset{p,\mathbf{m}}{\rm min}\ \bigg\{ f_v(\mathbf{x}_{dv})= \sum_{i=1}^{n_y}\left[ \sum_{k=1}^{\phi}\left( \left \{ {y}_i(k)-{y}_{o_i}(k|1) \right \}^2
                                     +  \left \{ {y}_i^{R}(k)-{y}_i(k) \right \}^2\right)\right]\\
                                     +p+  \sum_{j=1}^{n_u}\sum_{k=1}^{m_j} \left[ \dfrac{|u_{o_j}(1|1)|}{|u_{o_j}(k+1|1)-u_{o_j}(k|1)|} \right]^2 \bigg \}\\
  {\rm subject\ to}\\
   Eq. MPC\\
   u_{o_j}(k+1|1)\neq u_{o_j}(k|1)\\
  \mathbf{m}< p,

[
\min_{p, m} \sum_{i=1}^{n_y} \sum_{k=1}^{\phi} \left( (y_i(k) – y_o_i(k|1))^2 + (y_R_i(k) – y_i(k))^2 \right) + p + \sum_{j=1}^{n_u} \sum_{k=1}^{m_j} |u_o_j(1|1) – u_o_j(k|1)|
]

Donde:

Este método permite encontrar un equilibrio entre precisión y costo computacional, evitando configuraciones excesivamente complejas que no aporten mejoras significativas al desempeño del sistema.

Evaluación de Desempeño y Robustez

Para garantizar que el método MPCTuning proporcione controladores robustos, se incorporan estrategias como:

  1. Uso de formulaciones robustas en el MPC y en el MPCT, considerando incertidumbres en el modelo.
  2. Estimación de parámetros en escenarios de peor caso, utilizando una familia de modelos representativos.
  3. Minimización de errores en la trayectoria de referencia, asegurando un desempeño consistente ante variaciones en el proceso.

El MPCTuning ha sido probado en procesos industriales de referencia, demostrando mejoras en el desempeño y reducción del esfuerzo computacional en comparación con métodos de sintonía tradicionales.


A continuación, se van a explorar varios ejemplos empleando la metodología MPC Tuning, ilustrando la aplicación práctica de diferentes configuraciones de control predictivo multivariable.


Subsistema MIMO 3×3 de la Shell Heavy Oil Fractionator

Un subsistema MIMO del sistema Shell Heavy Oil Fractionator (HOF) propuesto en Maciejowski se sintonizó para mostrar el desempeño del algoritmo . Para este caso, se eligió una formulación lineal de MPC, conocida como Generalized Predictive Control (GPC), aunque cualquier otra formulación lineal también sería aplicable.

La misma consigna (o setpoint) se ha configurado para el algoritmo GAM y para la planta, a fin de contemplar la interacción interna entre las variables del sistema MIMO. Las restricciones de entrada y de incrementos de entrada para el controlador MPC se definen en LaTeX como sigue:

\mathbf{u_{min}} = [-0.5, -0.5, -0.5]\\
\mathbf{u_{max}} = [0.5, 0.5, 0.5]\\
\mathbf{\Delta u_{min}} = [-0.05, -0.05, -0.05]\\
\mathbf{\Delta u_{max}} = [0.05, 0.05, 0.05]

Los setpoints se cambian en los instantes de tiempo:

Además, se introducen perturbaciones desconocidas tipo escalón de intensidad -0.05 en la entrada (desde 1100 min hasta 1120 min), y de intensidad 0.1 en la entrada (desde 1400 min hasta 1420 min).

Las tres entradas del sistema, , son:

  1. Caudal de extracción superior
  2. Caudal de extracción lateral
  3. Carga térmica en el rehervidor de la parte inferior

Mientras que las salidas controladas, , representan:

  1. Composición del punto final superior
  2. Composición del punto final lateral
  3. Temperatura en el rehervidor inferior

El modelo dinámico de este sistema se describe mediante la siguiente matriz de funciones de transferencia:

{\mathbf{G}}(s)= \left[ {\begin{matrix}
{\dfrac{{ 4.05+2.11\epsilon_1}}{{50s+1}}e^{ -27 s}}&{\dfrac{{ 1.77+0.39\epsilon_2}}{{60s+1}}e^{ -28s}} & {\dfrac{{ 5.88+0.59\epsilon_3}}{{50s+1}}e^{ -27 s}}\\\\
{\dfrac{{ 5.396+3.29\epsilon_1}}{{50s + 1}}e^{ - 18s}}&{\dfrac{{ 5.72+0.57\epsilon_2}}{{60s + 1}}e^{ - 14s}}&{\dfrac{{ 6.90+0.89\epsilon_3}}{{40s+1}}e^{ -15 s}}\\\\
{\dfrac{{ 4.38+3.11\epsilon_1}}{{33s+1}}e^{ -20 s}}&{\dfrac{{ 4.42+0.73\epsilon_2}}{{44s+1}}e^{ -22 s}}&{\dfrac{{ 7.20+1.33\epsilon_3}}{{19s+1}}}
\end{matrix}} \right],

donde cada representa la incertidumbre en la ganancia del modelo y las constantes de tiempo están dadas en minutos.


Columna de Separación Binária de Wood and Berry

El sistema estudiado es una columna de destilación para la separación de una mezcla binaria de metanol y agua. La columna de destilación opera con dos entradas de control:

Los objetivos del control son mantener las fracciones molares de metanol en el destilado () y en el residuo () en valores deseados.

El modelo de Wood & Berry está representado por la siguiente matriz de funciones de transferencia:

G(s) =
\begin{bmatrix}
\dfrac{12.8 e^{-s}}{16.7s + 1} & \dfrac{-18.9 e^{-3s}}{21.0s + 1} \\\\
\dfrac{6.6 e^{-7s}}{10.9s + 1} & \dfrac{-19.4 e^{-3s}}{14.4s + 1}
\end{bmatrix}

Donde:

Adicionalmente, se modela la perturbación medida como:

G_d(s) =
\begin{bmatrix}
\dfrac{3.8 e^{-8.1s}}{14.9s + 1} \\\\
\dfrac{4.9 e^{-3.4s}}{13.2s + 1}
\end{bmatrix} d

Donde representa la variación en la tasa de alimentación de la columna, la cual es un disturbio medido que puede afectar las fracciones molares del destilado y del residuo.

El objetivo del sistema de control es regular y en los valores deseados mediante el ajuste de y y rechazar perturbaciones en la tasa de alimentación de la columna ().

Para lograr estos objetivos, sintonice adecuadamente el controlador MPC empleando el algoritmo MPCT (MPC tuning)


Reactor de Van de Vusse (NMPC)

A continuación, se expone un tercer ejemplo que ilustra el comportamiento del controlador MPC usando la sintonía propuesta, aplicado a un reactor continuo de tanque agitado (CSTR) no lineal que lleva a cabo las reacciones de Van de Vusse.

En este caso, se selecciona una formulación no lineal de MPC (NMPC) para controlar el sistema. El reactor de Van de Vusse ( y ) comprende dos reacciones del reactivo A hacia el producto deseado B y hacia los subproductos no deseados C y D.

Los parámetros de velocidad de reacción , , dependen de la temperatura , y se representan mediante la ecuación de Arrhenius:

k_i(T)=k_{i0}\; exp\left(\dfrac{-E_i/R}{T(^\circ C)+273.15}\right),

donde , , son las energías de activación de las tres reacciones y es la constante universal de los gases.

El proceso se describe a través de un modelo no adiabático representado por los siguientes balances de masa y energía en el reactor:

\dfrac{dC_A}{dt}=\dfrac{F}{V}(C_{Af}-C_A)-k_1(T)C_A-k_3(T)C_A^2, \\
\dfrac{dC_B}{dt}=-\dfrac{F}{V}C_B+k_1(T)C_A-k_2(T)C_B, \\
\dfrac{dT}{dt}=\dfrac{1}{\rho C_p}\left[k_1(T)C_A(-\Delta H_{RAB})+k_2(T)C_B(-\Delta H_{RBC})+k_3(T)C_A^2(-\Delta H_{RAD})\right]+\dfrac{F}{V}(T_0-T)+\dfrac{K_w A_R}{\rho C_p V}(T_k-T),

donde la concentración de en el reactor y en la alimentación son y , respectivamente; es la concentración del producto deseado B; las entradas manipuladas son la razón de dilución y la temperatura de la camisa del reactor ; es el volumen constante del reactor; es la temperatura de alimentación; es la densidad del líquido; es la capacidad calorífica; es el calor transferido desde el reactor hacia la camisa, donde es el coeficiente de transferencia de calor y el área de transferencia de calor; los calores de reacción se denotan por .

Los valores de los parámetros del sistema fueron obtenidos de Trierweiler y se describen en la entrada del modelo no lineal de Van de Vusse.


Las dos entradas del sistema, y , son la razón de dilución y la temperatura de la camisa del reactor , respectivamente. Las dos salidas controladas, y , corresponden a la concentración en y a la temperatura del reactor . Las parejas entrada/salida del reactor de Van de Vusse se establecen como y . El periodo de muestreo del NMPC se fija en horas. El horizonte de predicción se establece en (5 bits), el horizonte de control se establece como (3 bits cada uno) y el horizonte de sintonía se fija en . Se consideran dos casos para la trayectoria de referencia, gobernada por sistemas de primer orden, donde las ganancias estáticas son y las dos constantes de tiempo son horas y horas para las dinámicas agresiva y conservadora, respectivamente.


Eso es todo por la entrada del dia de hoy, espero les haya gustado y hayan aprendido algo nuevo. Si te ha servido el contenido de esta entrada, de los videos y los códigos de implementación y deseas apoyar mi trabajo invitandome a un café super barato, puedes hacerlo en el siguiente link:

👉 Invitar a Sergio a un Café ☕️

Que esten muy bien, nos vemos en la siguiente entrada.

Salir de la versión móvil