Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porIsbel Penalver Modificado hace 10 años
1
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 El Algoritmo de Tarjan para la Ordenación de Ecuaciones En esa presentación introducimos un algoritmo de ordenación de ecuaciones que encuentra bucles algebraicos de tamaño mínimo y los aísla de forma sistemática y algorítmica. El algoritmo de Tarjan consiste es un algoritmo gráfico que simultáneamente ordena sistemas grandes de ecuaciones horizontalmente y verticalmente. El algoritmo además detecta bucles algebraicos de tamaño mínimo.
2
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 Contenido La matriz de incidencia estructuralLa matriz de incidencia estructural El dígrafo de la estructuraEl dígrafo de la estructura El algoritmo de TarjanEl algoritmo de Tarjan La rasgadura de sistemas algebraicos de ecuacionesLa rasgadura de sistemas algebraicos de ecuaciones
3
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 La Matriz de Incidencia Estructural I La matriz de incidencia estructural contiene una fila para cada ecuación del sistema EDA y una columna para cada incógnita del sistema de ecuaciones. Ya que un sistema completo de ecuaciones siempre contiene el mismo número de ecuaciones que de incógnitas, la matriz de incidencia estructural es cuadrada. El elemento de la matriz de incidencia estructural trata con la ecuación i y con la incógnita j. El elemento recibe un valor de 1 si la variable indicada aparece en la ecuación considerada. Si no es el caso, el elemento recibe un valor de 0.
4
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 La Matriz de Incidencia Estructural: Un Ejemplo 1: U 0 = f(t) 2: i 0 = i L + i R1 3: u L = U 0 4: di L /dt = u L / L 1 5: v 1 = U 0 6: u R1 = v 1 – v 2 7: i R1 = u R1 / R 1 8: v 2 = u C 9: i C = i R1 – i R2 10: du C /dt = i C / C 1 11: u R2 = u C 12: i R2 = u R2 / R 2 di L dt du C dt S = 01 02 03 04 05 06 07 08 09 10 11 12 101010000000101010000000 010000000000010000000000 001100000000001100000000 000100000000000100000000 000011000000000011000000 000001100000000001100000 010000101000010000101000 000001010000000001010000 000000001100000000001100 000000000100000000000100 000000000011000000000011 000000001001000000001001 U0U0 i0i0 uLuL v1v1 v2v2 iCiC u R1 i R1 i R2 u R2
5
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 El Dígrafo de la Estructura El dígrafo de la estructura contiene la misma información que la matriz de incidencia estructural. La información es representada de forma diferente. El dígrafo de la estructura enumera las ecuaciones a la izquierda y las incógnitas a la derecha. Una conexión entre una ecuación y una incógnita indica que la incógnita aparece en la ecuación.
6
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 El Dígrafo de la Estructura: Un Ejemplo 1: U 0 = f(t) 2: i 0 = i L + i R1 3: u L = U 0 4: di L /dt = u L / L 1 5: v 1 = U 0 6: u R1 = v 1 – v 2 7: i R1 = u R1 / R 1 8: v 2 = u C 9: i C = i R1 – i R2 10: du C /dt = i C / C 1 11: u R2 = u C 12: i R2 = u R2 / R 2 01 02 03 04 05 06 07 08 09 10 11 12 Ecuaciones U0U0 i0 i0 uLuL di L /dt v1 v1 u R1 i R1 v2 v2 iC iC du C /dt u R2 i R2 Incógnitas
7
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 El Algoritmo de Tarjan El algoritmo de Tarjan es basado en el dígrafo estructural. Se trata de un algoritmo de coloración del dígrafo. Si una ecuación tiene solamente una conexión negra, esta conexión se colorea en rojo; la ecuación se enumera de nuevo empezando con 1; y todas las conexiones negras que terminan en la misma variable se colorean en azul. Si una variable tiene solamente una conexión negra, esta conexión se colorea en rojo; la ecuación se enumera de nuevo empezando con n; y todas las conexiones negras que comienzan en la misma ecuación se colorean en azul.
8
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 El Algoritmo de Tarjan: Un Ejemplo I 1: U 0 = f(t) 2: i 0 = i L + i R1 3: u L = U 0 4: di L /dt = u L / L 1 5: v 1 = U 0 6: u R1 = v 1 – v 2 7: i R1 = u R1 / R 1 8: v 2 = u C 9: i C = i R1 – i R2 10: du C /dt = i C / C 1 11: u R2 = u C 12: i R2 = u R2 / R 2 01 02 03 04 05 06 07 08 09 10 11 12 Ecuaciones U0U0 i0 i0 uLuL di L /dt v1 v1 u R1 i R1 v2 v2 iC iC du C /dt u R2 i R2 Incógnitas 01 02 03 12 11 10 U0U0 U0U0 U0U0 v2v2 v2v2 u R2 du C /dtiCiC di L /dt uLuL i0i0 i R1
9
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 El Algoritmo de Tarjan: Un Ejemplo II 1: U 0 = f(t) 2: i 0 = i L + i R1 3: u L = U 0 4: di L /dt = u L / L 1 5: v 1 = U 0 6: u R1 = v 1 – v 2 7: i R1 = u R1 / R 1 8: v 2 = u C 9: i C = i R1 – i R2 10: du C /dt = i C / C 1 11: u R2 = u C 12: i R2 = u R2 / R 2 01 02 03 04 05 06 07 08 09 10 11 12 Ecuaciones U0U0 i0 i0 uLuL di L /dt v1 v1 u R1 i R1 v2 v2 iC iC du C /dt u R2 i R2 Incógnitas 01 02 03 12 11 10 04 05 06 09 uLuL v1v1 v1v1 i R2 iCiC i R1
10
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 El Algoritmo de Tarjan: Un Ejemplo III 1: U 0 = f(t) 2: i 0 = i L + i R1 3: u L = U 0 4: di L /dt = u L / L 1 5: v 1 = U 0 6: u R1 = v 1 – v 2 7: i R1 = u R1 / R 1 8: v 2 = u C 9: i C = i R1 – i R2 10: du C /dt = i C / C 1 11: u R2 = u C 12: i R2 = u R2 / R 2 01 02 03 04 05 06 07 08 09 10 11 12 Ecuaciones U0U0 i0 i0 uLuL di L /dt v1 v1 u R1 i R1 v2 v2 iC iC du C /dt u R2 i R2 Incógnitas 01 02 03 12 11 10 04 05 06 09 07 08 u R1 i R1
11
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 El Algoritmo de Tarjan: Un Ejemplo IV 01 02 03 04 05 06 07 08 09 10 11 12 Ecuaciones U0U0 i0 i0 uLuL di L /dt v1 v1 u R1 i R1 v2 v2 iC iC du C /dt u R2 i R2 Incógnitas 01 02 03 12 11 10 04 05 06 09 07 08 1: U 0 = f(t) 2: v 2 = u C 3: u R2 = u C 4: u L = U 0 5: v 1 = U 0 6: i R2 = u R2 / R 2 7: u R1 = v 1 – v 2 8: i R1 = u R1 / R 1 9: i C = i R1 – i R2 10: i 0 = i L + i R1 11: di L /dt = u L / L 1 12: du C /dt = i C / C 1
12
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 La matriz de incidencia estructural del sistema de ecuaciones completamente ordenadas es triangular inferior. La Matriz de Incidencia Estructural II 1: U 0 = f(t) 2: v 2 = u C 3: u R2 = u C 4: u L = U 0 5: v 1 = U 0 6: i R2 = u R2 / R 2 7: u R1 = v 1 – v 2 8: i R1 = u R1 / R 1 9: i C = i R1 – i R2 10: i 0 = i L + i R1 11: di L /dt = u L / L 1 12: du C /dt = i C / C 1 di L dt du C dt S = 01 02 03 04 05 06 07 08 09 10 11 12 100110000000100110000000 010000100000010000100000 001001000000001001000000 000100000010000100000010 000010100000000010100000 000001001000000001001000 000000110000000000110000 000000011100000000011100 000000001001000000001001 000000000100000000000100 000000000010000000000010 000000000001000000000001 U0U0 i0i0 u R2 v2v2 v1v1 iCiC u R1 i R1 i R2 uLuL
13
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 Bucles Algebraicos: Un Ejemplo I 1: U 0 = f(t) 2: u 1 = R 1 · i 1 3: u 2 = R 2 · i 2 4: u 3 = R 3 · i 3 5: u L = L· di L /dt 6: i 0 = i 1 + i L 7: i 1 = i 2 + i 3 8: U 0 = u 1 + u 3 9: u 3 = u 2 10: u L = u 1 + u 2 01 02 03 04 05 06 07 08 09 10 Ecuaciones U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Incógnitas
14
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 Bucles Algebraicos: Un Ejemplo II 1: U 0 = f(t) 2: u 1 = R 1 · i 1 3: u 2 = R 2 · i 2 4: u 3 = R 3 · i 3 5: u L = L· di L /dt 6: i 0 = i 1 + i L 7: i 1 = i 2 + i 3 8: U 0 = u 1 + u 3 9: u 3 = u 2 10: u L = u 1 + u 2 01 02 03 04 05 06 07 08 09 10 Ecuaciones U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Incógnitas 01 10 09
15
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 Bucles Algebraicos: Un Ejemplo III 1: U 0 = f(t) 2: u 1 = R 1 · i 1 3: u 2 = R 2 · i 2 4: u 3 = R 3 · i 3 5: u L = L· di L /dt 6: i 0 = i 1 + i L 7: i 1 = i 2 + i 3 8: U 0 = u 1 + u 3 9: u 3 = u 2 10: u L = u 1 + u 2 01 02 03 04 05 06 07 08 09 10 Ecuaciones U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Incógnitas 01 10 09 08 El algoritmo se atasca porque no se encuentran más ni ecuaciones ni variables con una sola conexión negra.
16
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 La Rasgadura de Bucles Algebraicos I La heurística siguiente puede usarse para encontrar variables de rasgadura adecuadas: A cada conexión negra dale como peso el número de conexiones negras de su ecuación más el número de conexiones negras de su variable. Para cada conexión negra con peso máximo, colorea esa conexión temporalmente en rojo y todas las demás conexiones negras de su ecuación y de su variable en azul. Calcula cuantas ecuaciones adicionales pueden hacerse causal de esa manera y selecciona permanentemente la conexión con peso máximo que permite hacer causal el más grande número de ecuaciones adicionales. Su ecuación se llama ecuación residual y su variable se llama variable de rasgadura.
17
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 La Rasgadura de Bucles Algebraicos II 01 02 03 04 05 06 07 08 09 10 Ecuaciones U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Incógnitas 01 10 09 08 4 4 4 4 5 4 5 5 5 4 5 4 5 En nuestro ejemplo se encuentran siete conexiones negras con peso 4 y seis más con peso 5. Considerando por ejemplo la conexión entre la ecuación 7 y la variable i 1, se nota que ella permite hacer causal todas las demás ecuaciones. Entonces se selecciona la ecuación 7 como ecuación residual y la variable i 1 como variable de rasgadura.
18
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 Bucles Algebraicos: Un Ejemplo IV 10 09 08 01 02 03 04 05 06 07 08 09 10 Ecuaciones U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Incógnitas 01 02 1: U 0 = f(t) 2: u 1 = R 1 · i 1 3: u 2 = R 2 · i 2 4: u 3 = R 3 · i 3 5: u L = L· di L /dt 6: i 0 = i 1 + i L 7: i 1 = i 2 + i 3 8: U 0 = u 1 + u 3 9: u 3 = u 2 10: u L = u 1 + u 2 Selección
19
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 Bucles Algebraicos: Un Ejemplo V 10 09 08 01 02 03 04 05 06 07 08 09 10 Ecuaciones U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Incógnitas 01 02 1: U 0 = f(t) 2: u 1 = R 1 · i 1 3: u 2 = R 2 · i 2 4: u 3 = R 3 · i 3 5: u L = L· di L /dt 6: i 0 = i 1 + i L 7: i 1 = i 2 + i 3 8: U 0 = u 1 + u 3 9: u 3 = u 2 10: u L = u 1 + u 2 Selección 03 07 06
20
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 Bucles Algebraicos: Un Ejemplo VI 1: U 0 = f(t) 2: u 1 = R 1 · i 1 3: u 2 = R 2 · i 2 4: u 3 = R 3 · i 3 5: u L = L· di L /dt 6: i 0 = i 1 + i L 7: i 1 = i 2 + i 3 8: U 0 = u 1 + u 3 9: u 3 = u 2 10: u L = u 1 + u 2 Selección 10 09 08 01 02 03 04 05 06 07 08 09 10 Ecuaciones U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Incógnitas 01 02 03 04 07 05 06
21
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 Bucles Algebraicos: Un Ejemplo VII 1: U 0 = f(t) 2: i 1 = i 2 + i 3 3: u 1 = R 1 · i 1 4: u 3 = U 0 - u 1 5: u 2 = u 3 6: i 2 = u 2 / R 2 7: i 3 = u 3 / R 3 8: u L = u 1 + u 2 9: i 0 = i 1 + i L 10: di L /dt = u L / L Selección 10 09 08 01 02 03 04 05 06 07 08 09 10 Ecuaciones U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Incógnitas 01 02 03 04 07 05 06
22
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 La Matriz de Incidencia Estructural III La matriz de incidencia estructural del sistema de ecuaciones parcialmente ordenadas es triangular inferior por bloques. di L dt S = 01 02 03 04 05 06 07 08 09 10 10010000001001000000 01100000100110000010 00110001000011000100 00011010000001101000 00001101000000110100 01000100000100010000 01000010000100001000 00000001010000000101 00000000100000000010 00000000010000000001 U0U0 i0i0 i2i2 u3u3 i3i3 u1u1 i1i1 i3i3 uLuL 1: U 0 = f(t) 2: i 1 = i 2 + i 3 3: u 1 = R 1 · i 1 4: u 3 = U 0 - u 1 5: u 2 = u 3 6: i 2 = u 2 / R 2 7: i 3 = u 3 / R 3 8: u L = u 1 + u 2 9: i 0 = i 1 + i L 10: di L /dt = u L / L Selección u2u2
23
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 La Solución de Bucles Algebraicos I El algoritmo de Tarjan identifica y aísla bucles algebraicos. El algoritmo transforma la matriz de incidencia estructural a la forma TIB (triangular inferior por bloques). Los bloques en la diagonal se quedan de tamaño mínimo. Las variables de rasgadura no se seleccionan de una forma verdaderamente óptima. Eso no sería razonable porque puede enseñarse que la selección óptima de las variables de rasgadura requiere un algoritmo np-completo. En su lugar se propuso un algoritmo heurístico que normalmente resulta en un número pequeño de variables de rasgadura aunque no necesariamente en el número mínimo. El algoritmo de Tarjan no trata con la cuestión de como los bucles algebraicos estén resueltos.
24
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 La Solución de Bucles Algebraicos II Los bucles algebraicos pueden resolverse usando métodos analíticos o numéricos. Si las ecuaciones del bucle son no lineales una iteración de Newton sobre las variables de rasgadura es normalmente óptima. Si las ecuaciones del bucle son lineales y si se trata de un bucle relativamente grande (más de 5 ecuaciones y variables), la iteración de Newton es aún la solución óptima. Si las ecuaciones del bucle son lineales y si se trata de un bucle relativamente pequeño, las ecuaciones pueden resolverse o por técnicas de matrices o por manipulación de formulas. El entorno de modelado de Modelica usa heurísticas para elegir automáticamente la técnica más adecuada en cada caso.
25
Principio de la presentación © Prof. Dr. François E. Cellier Modelado Matemático de Sistemas Físicos Febrero 5, 2008 Referencias Elmqvist H. and M. Otter (1994), “Methods for tearing systems of equations in object-oriented modeling,” Proc. European Simulation Multiconference, Barcelona, Spain, pp. 326-332.Methods for tearing systems of equations in object-oriented modeling Tarjan R.E. (1972), “Depth first search and linear graph algorithms,” SIAM J. Comp., 1, pp. 146-160.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.