Algoritmos Paralelos Y Distribuidos Para Resolver Ecuaciones Matriciales De Lyapunov En Problemas De Reducción De Modelos
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSIDAD POLITÉCNICA DE VALENCIA DEPARTAMENTO DE SISTEMAS INFORMÁTICOS Y COMPUTACIÓN Algoritmos paralelos y distribuidos para resolver ecuaciones matriciales de Lyapunov en problemas de reducción de modelos Tesis Doctoral presentada por José M. Claver Iborra Dirigida por: Dr. D. Vicente Hernández García Dr. D. Enrique S. Quintana Ortí Valencia, junio de 1998 Agradecimientos Quiero expresar en estas breves líneas mi agradecimiento a las muchas personas que me prestaron su ayuda y apoyo durante la realización de esta tesis. En primer lugar quiero agradecer a mis directores, los Doctores Vicente Hernández y Enrique S. Quintana su inestimable apoyo. En particular, agradecer a Vicente Hernández que me introdujera en este campo de investigación, su magistral forma de enseñar y su constante preocupación por mi trabajo y a Enrique S. Quintana su constante atención y sus consejos durante las últimas etapas de esta tesis. A mis colegas del departamento de Informática de la Universitat Jaume I y especialmente a mis compañeros del grupo de investigación. He aprendido mucho de ellos y siempre han estado dispuestos a prestarme su ayuda. A mis padres por su incondicional apoyo y ánimo. Y por último, mi especial agradecimiento a mi mujer, María José, por creer siempre en mi y estar a mi lado en todo momento. Índice Página 1 El problema de la reducción de modelos. Conceptos fundamentales 1 1.1 Introducción 1 1.1.1 Objetivos y justificación 2 1.1.2 Estructura de la Tesis 3 1.2 Conceptos básicos de álgebra lineal 4 1.2.1 Notación 4 1.2.2 Valores y vectores propios 5 1.2.3 Subespacios invariantes y deflactantes 7 1.2.4 Valores y vectores singulares 8 1.2.5 Condicionamiento y estabilidad numérica 9 1.3 Conceptos básicos del análisis y diseño de sistemas lineales de control (SLC) 10 1.3.1 El modelo del espacio de estados 10 1.3.2 Estabilidad 12 1.3.3 Controlabilidad y Estabilizabilidad 12 1.3.4 Observabilidad y Detectabilidad 13 1.3.5 Realizaciones minimales 14 1.3.6 Las matrices Gramian y los valores singulares de Hankel de un SLC 14 Página i ii INDICE 1.4 El problema de la reducción de modelos 15 1.4.1 Planteamiento del problema 15 1.4.2 Importancia de la reducción de modelos 16 1.4.3 Métodos utilizados para la reducción de modelos 17 2 Métodos de truncamiento en el espacio de estados 19 2.1 Introducción 19 2.2 Realizaciones balanceadas 22 2.2.1 Sistemas en lazo abierto 22 2.2.2 Sistemas en lazo cerrado 27 2.3 Método de Schur 31 2.4 Conclusiones 33 3 Métodos para la resolución de las ecuaciones de Lyapunov 35 3.1 Introducción 35 3.2 Condicionamiento del problema 37 3.3 Método de Bartels-Stewart 39 3.4 Método de Hammarling 43 3.4.1 Resolución de las ecuaciones de Lyapunov en tiempo continuo 43 3.4.1.1 Valores propios reales 45 3.4.1.2 Valores propios complejos 47 3.4.2 Resolución de las ecuaciones de Lyapunov en tiempo discreto 49 3.4.2.1 Valores propios reales 51 3.4.2.2 Valores propios complejos 53 3.5 Método de la función signo matricial 56 3.5.1 La función signo matricial y la ecuación de Lyapunov 56 Página 3.5.2 Análisis de perturbaciones del método de la función signo matricial 59 INDICE iii 3.5.3 Aceleración de la convergencia: escalado e iteración de Halley 60 3.5.4 Iteraciones localmente convergentes 62 3.5.5 Algoritmo para resolver la ecuación de Lyapunov 62 3.5.6 Algoritmo para resolver la ecuación de Lyapunov para el factor de Cholesky 65 3.5.7 Algoritmos para resolver la ecuación de Lyapunov generalizada 67 3.5.8 Algoritmo para resolver ecuaciones de Lyapunov acopladas 69 3.5.9 Algoritmo para resolver la ecuación de Lyapunov en tiempo discreto 71 3.6 Conclusiones 72 4 Arquitecturas y algoritmos paralelos 75 4.1 Introducción 75 4.2 Arquitecturas de altas prestaciones 76 4.2.1 Clasificación de las arquitecturas 76 4.2.2 Metodologías de programación 78 4.2.3 Prestaciones de los algoritmos paralelos 79 4.3 Multicomputadores 80 4.3.1 Distribución de datos 80 4.3.2 Comunicaciones 84 4.3.3 Librerías de comunicaciones PVM y MPI 86 4.3.4 Núcleos computacionales paralelos (ScaLAPACK) 87 4.4 Computadores paralelos 90 4.4.1 Alliant FX/80 90 4.4.2 SGI PowerChallenge 92 4.4.3 Cray T3D 94 4.4.4 IBM SP2 95 Página 4.5 Conclusiones 97 iv INDICE 5 Algoritmos paralelos para resolver la ecuación de Lyapunov 99 5.1 Introducción 99 5.2 Paralelización del método de Hammarling 100 5.2.1 Dependencia de datos en el algoritmo de Hammarling 101 5.2.2 Multiprocesadores con memoria compartida 104 5.2.2.1 Algoritmos de grano fino para procesadores superescalares 105 5.2.2.2 Algoritmos de grano medio para procesadores vectoriales 109 5.2.3 Multiprocesadores con memoria distribuida 115 5.2.3.1 Algoritmos de frente de onda 115 5.2.3.2 Algoritmos de frente de onda adaptativos 123 5.2.3.3 Algoritmos cíclicos 125 5.2.3.4 Algoritmos cíclicos modificados 135 5.2.3.5 Algoritmos cíclicos frente de onda 137 5.3 Paralelización del método de la función signo matricial 142 5.3.1 Ejemplo de paralelización con el ScaLAPACK: Factorización LU 143 5.3.2 Algoritmo para la solución de la ecuación de Lyapunov 147 5.3.3 Algoritmo para obtener el factor de Cholesky de la ecuación de Lyapunov 149 5.3.4 Algoritmo para resolver la ecuación de Lyapunov generalizada 150 5.3.5 Algoritmo para resolver ecuaciones de Lyapunov acopladas 152 5.3.6 Análisis teórico de los algoritmos 153 5.4 Conclusiones 155 6 Análisis de los resultados experimentales 157 6.1 Introducción 157 Página 6.2 Método de Hammarling 158 6.2.1 Multiprocesadores con memoria compartida 158 INDICE v 6.2.2 Multiprocesadores con memoria distribuida 166 6.2.2.1 Algoritmos de frente de onda 166 6.2.2.2 Algoritmos de frente de onda adaptativos 170 6.2.2.3 Algoritmos cíclicos 172 6.2.3 Análisis de resultados 177 6.3 Método de la función signo matricial 178 6.3.1 Análisis de la fiabilidad numérica 179 6.3.2 Ecuación de Lyapunov generalizada 183 6.3.3 Ecuaciones de Lyapunov generalizadas acopladas 188 6.3.4 Análisis de resultados 193 6.4 Conclusiones 197 7 Conclusiones y líneas futuras 199 7.1 Conclusiones 199 7.1.1 Reducción de modelos: truncamiento en el espacio de estados 199 7.1.2 Métodos para la resolución de las ecuaciones de Lyapunov 200 7.1.3 Computadores de altas prestaciones 201 7.1.4 Algoritmos paralelos basados en el método de Hammarling 201 7.1.5 Algoritmos paralelos basados en la función signo matricial 203 7.2 Publicaciones en el marco de la Tesis 204 7.3 Líneas futuras de investigación 204 7.4 Agradecimientos 205 Bibliografía 207 Capítulo 1 El problema de la reducción de modelos. Conceptos fundamentales 1.1 Introducción En la actualidad se está realizando un gran esfuerzo por parte de la comunidad científico- técnica para la resolución de problemas de ingeniería dentro de unos límites determinados de tiempo, precisión y coste. Estos problemas tienen cada vez mayor dimensión, en algunos casos demasiado grande como para ser resueltos dentro de los límites de tiempo y precisión deseables, y mayor complejidad. La necesidad de resolver estos problemas ocasiona la creciente utilización de sistemas informáticos paralelos y distribuidos [Perrot 92]. Por una parte se diseñan sistemas hardware con mayores prestaciones y que puedan ejecutar el código desarrollado de una forma más eficiente. Por otra, se desarrollan nuevos algoritmos numéricos [Kailath 80, Petkov 91] y estrategias de programación más adecuadas para obtener el mayor provecho de los computadores ya existentes [Dowd 93]. Uno de los temas cruciales en ingeniería es la modelización de sistemas dinámicos complejos. Sin embargo, para que sea factible el tratamiento de problemas reales, son necesarias aproximaciones que lo transformen en un problema más simple. Un sistema dinámico complejo suele ser no lineal, distribuido y variable en el tiempo, por lo que una de las primeras aproximaciones clásicamente realizadas es su transformación en un sistema lineal invariante en el tiempo. Los sistemas lineales invariantes en el tiempo resultantes de esta aproximación inicial suelen ser sistemas de gran tamaño que poseen un gran número de variables de estado [Skelton 88]. Por ello es necesario buscar modelos matemáticos más simples que aproximen al máximo el comportamiento del sistema original. Este modelo, que poseerá menor número de estados que el sistema original, se denomina modelo reducido o modelo de orden reducido y al procedimiento utilizado para conseguirlo reducción de modelos [Fortuna 92]. La reducción de modelos, que era un problema abierto en teoría de sistemas hace unos años, actualmente es uno de sus temas fundamentales [Skelton 88]. La aproximación usual para obtener modelos de orden reducido suele ser la misma para sistemas en tiempo continuo que para sistemas en 1 2 CAPÍTULO 1 EL PROBLEMA DE LA REDUCCIÓN DE MODELOS tiempo discreto. Nos referiremos normalmente al primer tipo de sistemas, ya que en la mayoría de los casos las conclusiones son extensibles sin excesiva dificultad para el caso de tiempo discreto. 1.1.1 Objetivos y justificación Las ecuaciones de Lyapunov tienen una importancia fundamental en muchos algoritmos de análisis y síntesis en teoría de control. Éstas aparecen de forma natural en problemas de control lineal regidos por ecuaciones diferenciales ordinarias de primer orden autónomas lineales (EDO).