Saltar al contenido

Escalado de Sistemas vía Condicionamiento Mínimo

El control de sistemas multivariables es una disciplina que juega un rol crucial en la ingeniería, especialmente cuando se trata de asegurar la estabilidad y optimizar el rendimiento de procesos industriales complejos, como los presentes en plantas químicas, refinerías, o sistemas de automatización avanzada. En este contexto, uno de los conceptos más importantes que se deben manejar es el del número de condicionamiento de una matriz, que tiene implicaciones directas en la sensibilidad y controlabilidad del sistema.

Entendamos qué es el número de condicionamiento, cómo afecta el comportamiento de los sistemas multivariables, y cómo ls técnica de condicionamiento mínimo se convierte en una herramienta esencial para mejorar la estabilidad y eficiencia en el diseño de controladores. A su vez, se analizará la técnica de Descomposición en Valores Singulares (SVD), que permite identificar las direcciones de mayor y menor ganancia, esenciales para la comprensión del sistema. Finalmente, se proporcionará un ejemplo práctico implementado en MATLAB, que ilustra cómo aplicar estas técnicas en un entorno de simulación.

¿Qué es el Número de Condicionamiento?

El número de condicionamiento de una matriz, denotado como \gamma(K), se define como la razón entre el valor singular más grande y el valor singular más pequeño de la matriz:

\gamma(K) = \frac{\sigma_{\text{max}}(K)}{\sigma_{\text{min}}(K)}

Donde \sigma_{\text{max}}(K) y \sigma_{\text{min}}(K) son los valores singulares máximo y mínimo de la matriz K. El número de condicionamiento es una medida crucial en la teoría de sistemas porque determina cuán sensible es el sistema a las perturbaciones y a las inexactitudes en las entradas.

Un sistema con un número de condicionamiento bajo, es decir, cuando \gamma(K) es cercano a 1, indica que el sistema es bien condicionado. Esto significa que las respuestas del sistema no se ven significativamente afectadas por pequeñas variaciones en las entradas, lo que facilita el diseño y la implementación de controladores robustos.

Por el contrario, un número de condicionamiento alto sugiere que el sistema es mal condicionado, lo que implica que incluso pequeñas perturbaciones pueden generar respuestas desproporcionadas, haciendo que el sistema sea difícil de controlar de manera efectiva. En la práctica, los sistemas con altos números de condicionamiento tienden a ser más sensibles a los errores numéricos, lo que puede conducir a inestabilidad y rendimiento subóptimo.

Descomposición en Valores Singulares (SVD)

La Descomposición en Valores Singulares (SVD) es una técnica matemática que descompone una matriz K en tres matrices:

K = U \Sigma V^T
  • U: Matriz ortogonal que describe la rotación en el espacio de salida (vectores singulares izquierdos).
  • \Sigma: Matriz diagonal que contiene los valores singulares, que representan las magnitudes de la ganancia en diferentes direcciones.
  • V^T: Matriz ortogonal que describe la rotación en el espacio de entrada (vectores singulares derechos).

La SVD es una herramienta valiosa en el análisis de sistemas multivariables porque proporciona una representación clara de cómo las entradas se transforman en salidas a través del sistema. Los valores singulares contenidos en la matriz \Sigma son esenciales, ya que miden la «ganancia» en diferentes direcciones del espacio de entrada. Estas ganancias determinan cuán fuerte es la respuesta del sistema en esas direcciones particulares.

Direcciones de Mayor y Menor Ganancia

En el contexto de la SVD, las direcciones de mayor y menor ganancia están directamente relacionadas con los vectores singulares derechos V. Específicamente:

  • Dirección de Mayor Ganancia: Es la dirección en el espacio de entrada que, cuando se excita, produce la mayor respuesta en las salidas del sistema. Está asociada con el valor singular máximo \sigma_{\text{max}}.
  • Dirección de Menor Ganancia: Es la dirección en el espacio de entrada que, cuando se excita, produce la menor respuesta en las salidas del sistema. Está asociada con el valor singular mínimo \sigma_{\text{min}}.

Matemáticamente, estas direcciones se obtienen de las columnas de la matriz V en la descomposición K = U \Sigma V^T. Estas direcciones son cruciales en el diseño de sistemas de control, ya que permiten identificar qué combinaciones de entradas maximizarán o minimizarán la salida del sistema.

Aplicación Práctica de SVD

Supongamos que tenemos una columna de destilación binaria, donde las variables de entrada son las tasas de reflujo y de vapor, y las variables de salida son las purezas del destilado y del fondo. Utilizando SVD, podemos identificar las combinaciones específicas de reflujo y vapor que resultarán en los cambios más significativos en las purezas. Estas combinaciones son las direcciones de mayor y menor ganancia.

Condicionamiento Mínimo

El condicionamiento mínimo es una técnica diseñada para mejorar la condición de un sistema reescalando sus entradas y salidas de manera que se minimice su número de condicionamiento. El objetivo es encontrar las matrices de escalado L y R que minimicen el número de condicionamiento de la matriz escalada LKR.

El problema de optimización se puede formular como:

\gamma^*(K) = \min_{L, R} \gamma(LKR)

Aquí, \gamma^*(K) representa el número de condicionamiento mínimo, y las matrices L y R son matrices diagonales que se utilizan para escalar las salidas y entradas del sistema, respectivamente:

  • y_e = L \cdot y
  • x_e = R^{-1} \cdot x

El propósito de aplicar el condicionamiento mínimo es reducir la sensibilidad del sistema a las perturbaciones y errores numéricos, lo que se traduce en un control más estable y robusto. En esencia, el escalado ajusta las unidades y magnitudes de las variables del sistema para que operen en un rango donde las respuestas sean más predecibles y manejables.

Ejemplo Práctico en MATLAB

A continuación, se presenta un código MATLAB que implementa el condicionamiento mínimo en un sistema de control de una columna de destilación, empleando la función CondMin que puede ser descargada en mi GitHub:

% Matriz de ganancias estáticas
K = [12.8000 -18.9000; 6.6000 -19.4000];

% Llamar a la función de condicionamiento mínimo
[L, R, S] = CondMin(K);

% Aplicar el escalado a las salidas
y_scaled = L * y;

% Aplicar el escalado a las entradas
u_scaled = R \ u; % Equivalente a inv(R) * u

% Desescalado de las salidas
y_descaled = L \ y_scaled;

% Desescalado de las entradas
u_descaled = R * u_scaled;

Este código utiliza la función CondMin para calcular las matrices de escalado L y R que minimizan el número de condicionamiento de la matriz de ganancias estáticas K. Posteriormente, estas matrices se aplican para escalar y desescalar las entradas y salidas del sistema durante la simulación.

Importancia del Condicionamiento Mínimo en el Diseño de Controladores

Los controladores diseñados para sistemas reescalados mediante el condicionamiento mínimo tienden a ser más eficientes y efectivos en mantener las variables del proceso dentro de los rangos deseados. Esto se debe a que el reescalado mejora la condición numérica del sistema, reduciendo la probabilidad de errores numéricos y mejorando la estabilidad.

Además, un sistema bien condicionado permite que los controladores operen con señales de control más pequeñas, lo que reduce el desgaste de los actuadores y minimiza el consumo de energía. Esto es especialmente importante en sistemas donde los recursos son limitados o los actuadores tienen un rango de operación restringido.

Ejemplo Aplicado: Columna de Destilación Binaria

Retomando el ejemplo de la columna de destilación binaria, el uso de condicionamiento mínimo puede transformar la dinámica del sistema. En un sistema mal condicionado, las pequeñas variaciones en las tasas de reflujo o vapor podrían provocar grandes fluctuaciones en las purezas del destilado y el fondo, dificultando el control preciso. Al aplicar el condicionamiento mínimo, el sistema se vuelve más predecible, y las variaciones en las entradas resultan en cambios más manejables en las salidas.

Reflexión Final

El condicionamiento mínimo es una herramienta poderosa en el diseño de controladores para sistemas multivariables. Al reescalar el sistema para minimizar el número de condicionamiento, se mejora la robustez y estabilidad del sistema, facilitando un control más preciso y eficiente.

El uso de SVD para identificar las direcciones de mayor y menor ganancia proporciona una comprensión profunda de cómo las entradas afectan a las salidas, permitiendo el diseño de controladores que sean efectivos en la práctica. Implementar estas técnicas en MATLAB proporciona una manera práctica y eficiente de mejorar el rendimiento de los sistemas de control.

El escalado a través del condicionamiento mínimo no solo optimiza el rendimiento del sistema, sino que también prolonga la vida útil de los componentes del sistema al reducir la necesidad de ajustes extremos en los actuadores. Es una técnica esencial que todo ingeniero de control debería dominar.


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.