Identificación experimental modelo no-lineal masa-muelle-amortiguador: algoritmo genético, fmincon

Antonio Sala, UPV

Dificultad: **** ,       Relevancia: PIC,      Duración: 17:33

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

Resumen:

Este vídeo realiza, con sencillas modificaciones, la adaptación del vídeo [identga] para identificar un modelo dinámico masa-muelle-amortiguador con un muelle no lineal Fmuelle = k1 x + k2 x2, siendo x el incremento de longitud respecto a la que el muelle tenga en el punto de operación alrededor del cual se identifican parámetros. También se prueba una no-linealidad cúbica, por comparar.

Como novedad metodológica, no obstante, se propone el uso de búsqueda “local” con el comando fmincon dándole como “semilla” (estimado inicial) un valor arbitrario o, mejor, el valor propuesto por el algoritmo genético. El comando fmincon realiza optimización basándose en gradientes, o en descenso local numérico (Nelder-Mead), o... bueno, detalles no son importantes aquí. De todos modos, estos algoritmos locales (más rápidos que genéticos, pero más propensos a quedarse atascados) no parecen progresar más que el genético en este problema concreto. Para aclarar diferencias entre búsqueda local (relativamente rápida) y búsqueda global (lenta), ver vídeo [optimfmga].

Realmente todo es muy similar al referido vídeo del caso lineal, pero se observa que, como era de esperar, un modelo no lineal parece ajustar mejor en entrenamiento y en validación.

Nota: también se puede usar ejecución en paralelo en máquinas multicore (casi todas hoy en día) si se tiene el Parallel Computing Toolbox instalado, con la opción “UseParallel”; eso no se comenta en el vídeo, pero sí en el MLX/PDF de materiales; en problemas sencillos a veces el sobrecoste de cargar múltiples copias de Matlab en memoria hace que no compense, al menos la primera vez que se ejecuta.

Rutinas globales/locales similares a las aquí propuestas están en el núcleo de las funciones de la System Identification Toolbox para tareas de identificación “grey-box” caja-gris de parámetros físicos como idnlgrey, como por ejemplo las usadas en el vídeo [idnlg]. También, claro, están detrás de muchos problemas de ingeniería; en particular, la optimización de parámetros de controladores, como se discute en los vídeos [sdopid1] (usando add-ons de optimización de Simulink), o [optode1], [optode2], usando ode45 directamente, como aquí.

Colección completa [VER]:

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