Optimización de parámetros de reguladores con ode45+fminunc (2): Simulación y optimización

Antonio Sala, UPV

Dificultad: **** ,       Relevancia: PIC,      Duración: 11:00

Materiales:    [ Cód.: optimconode.mlx ] [ PDF ]

Resumen:

Este vídeo es continuación del [optode1], donde se modelaba un péndulo invertido, se proponía una expresión paramétrica de un controlador u(x,𝜃) y se planteaba un índice de coste “inmediato” c(x,u) 0 cuya integral J se deseaba minimizar.

En este vídeo se plantean los detalles para solucionar el problema con ode45 y fminunc. En concreto, se extiende el estado an~adiendo el coste acumulado al vector de estado como una tercera variable de estado, debido a la existencia de la nueva ecuación diferencial dJ dt = c(x,u), que debe ser an~adida al modelo. Se presenta el código que realiza dicha modificación al modelo, la integración numérica y la presentación gráfica de resultados.

El objetivo de la optimización será minimizar el valor de J al final del tiempo de simulación. Para ello, se genera una función J(𝜃) a la que le entran dos números 𝜃 := (Kp,Kv), ejecuta la simulación y devuelve el valor final del tercer estado (coste acumulado) del integrador numérico (este “estado” es una variable sin significado “físico”, obviamente). Con esa función J(𝜃), una llamada a fminunc(J,𝜃) obtiene el valor óptimo de los parámetros que minimizan el objetivo buscado (aunque es posible que sea un mínimo local en las proximidades del punto de exploración inicial elegido por el usuario).

La parte final del vídeo compara la respuesta temporal en bucle cerrado del regulador óptimo con la obtenida con los parámetros iniciales escogidos al azar para comenzar la búsqueda.

Es bien conocido que la optimización está detrás de muchos problemas de ingeniería. En particular, la optimización de parámetros de modelos para ajustar datos experimentales (que recibe el nombre identificación experimental) aplica Ideas muy similares a las aquí discutidas; se recomienda visualizar los vídeos [identga] y [identganl] para ver usos de ode45+fminunc o, con restricciones en la región de búsqueda de los parámetros ode45+fmincon, en identificación (bueno, de hecho, esos vídeos plantean el uso de un algoritmo genético de búsqueda global aleatoria dirigida que también podría haberse usado aquí).

Nota: En este vídeo, el controlador no tiene dinámica; el vídeo [bcode45] simula un bucle cerrado con un regulador dinámico construyendo las ecuaciones de estado en bucle cerrado con código Matlab, sin interfaz gráfica de usuario, a partir de las ecuaciones de estado del proceso y el controlador.

También cabe indicar que la eficiencia computacional de la integración numérica es importante en optimizaciones complejas; en algunos casos (stiff) de sistemas de orden alto con constantes de tiempo muy diferentes, ode15s podría funcionar mejor que ode45, ver vídeo [ode45vs15s].

Colección completa [VER]:

© 2024, A. Sala. Se reservan todos los derechos en materiales cuyo autor pertenezca a UPV.
Para condiciones de uso de material de terceros referenciado, consulte a sus autores.