Professional Documents
Culture Documents
CONICET y Universidad Nacional del Centro, 7000 Tandil, Argentina {gboroni, clausse, plotito}@exa.unicen.edu.ar b Tambin CNEA
1072
INTRODUCCIN
Actualmente los modelos matemticos que se estn utilizando para investigar fenmenos fsicos son cada vez ms realistas. Las nuevas caractersticas de los modelos utilizan a menudo parmetros cuyos valores no pueden ser conocidos exactamente. A raz de esto hay una necesidad de realizar anlisis de sensibilidad paramtrica de los modelos representados por sistemas algebraicos diferenciales. Las reas de uso incluyen optimizacin, valoracin del parmetro, simplificacin del modelo, control ptimo, sensibilidad de proceso, anlisis de la incertidumbre, y diseo experimental para una amplia gama de los problemas cientficos y de ingeniera. Trabajos previos sobre mtodos y software para el anlisis de la sensibilidad de los sistemas algebraicos diferenciales (DAEs) (Cao 2003, Feehery 1997, Li 2000, Li 1999, Petzold 2000 y Maly 1997), han demostrado que los valores de las sensibilidades a posteriori pueden ser calculados confiablemente y eficientemente va la diferenciacin conjuntamente con las tcnicas de la solucin de DAEs. No obstante, surgen diversos inconvenientes cuando se pretende realizar un anlisis de sensibilidad para sistemas DAEs, que tienen una gran cantidad de parmetros comparada con la cantidad de variables. En dichos casos resulta necesaria la extensin del sistema original con ecuaciones vinculadas al anlisis sensitivo, haciendo que el sistema resultante crezca significativamente y por ende disminuya la performance de clculo. El aporte de este trabajo es presentar la aplicacin de un nuevo mtodo para el clculo de la sensibilidad paramtrica basado en sistemas adjuntos, cuya teora fue recientemente propuesta para ecuaciones algebraicos diferenciales (Cao 2003). Apoyndose en dicha tcnica se obtiene que es posible calcular la sensibilidad de parmetros utilizando sistemas lineales adjuntos asociados sin necesidad de extender el sistema original, lo cual permite mejorar sustancialmente la eficiencia en el clculo. Dicho mtodo es aplicado a una serie de experimentos, donde los resultados son comparados con la estimacin de la sensibilidad por el mtodo de diferencias finitas, el cual es ampliamente utilizado dada la simpleza de su implementacin. En este trabajo se propone adems una extensin de la tcnica a esquemas de resolucin por medio de funciones estimadoras, que permiten transformar el sistema adjunto original en un sistema puramente algebraico, para el cual es posible aplicar una gran variedad de mtodos numricos eficientes. 2 CLCULO DE LA SENSIBILIDAD PARA SISTEMAS DE ECUACIONES ALGEBRAICOS DIFERENCIALES POR EL MTODO ADJUNTO
La resolucin de problemas modelados con sistemas DAE es un tema de importancia al cual se dedican esfuerzos considerables desde hace 30 aos (Brenan 1996 y Kees 1999). Muchos problemas de ingeniera y ciencia se modelan en forma natural con sistemas DAE, donde en general las ecuaciones son del tipo:
& F ( x, x, p , t ) = 0 x(t0 ) = x0 ( p)
(1)
Compuesta por una combinacin de ecuaciones diferenciales y algebraicas, donde N & x, x R N x son las variables de estado, y p R p es un vector de parmetros. El problema del clculo de la sensibilidad de parmetros para un sistema DAE se plantea N de la siguiente forma: dado un sistema DAE del tipo (1) dependiente de parmetros p R p ,
1073
encontrar
dx en el tiempo T para j :1,.., N p . dp j La solucin de este problema requiere la solucin simultnea del sistema DAE original con los N p sistemas de sensibilidad, obtenidos por diferenciacin del DAE original con respecto
a cada parmetro (Cao 2003). Para sistemas grandes esto puede parecer mucho trabajo pero puede ser realizado eficientemente si N p es relativamente pequeo, explotando el hecho de que los sistemas de la sensibilidad son lineales, y todos comparten las mismas matrices Jacobianas del sistema original. No obstante algunos problemas requieren el estudio de las sensibilidades con respecto a una gran cantidad de parmetros. Para estos problemas, particularmente si el nmero de las variables del estado N x es tambin grande, la estimacin previa de la sensibilidad es intratable. En Cao (2003) se demostr que estos problemas se pueden manejar ms eficientemente por el mtodo adjunto (Errico 1997). En este sentido el dG inters es calcular la sensibilidad de una funcin objetivo G ( x, p) definida como: dp
G ( x, p) = g ( x, t , p )dt
0 T
(2)
dg de una funcin g ( x, T , p) definida solamente en el dp tiempo T . Por ejemplo, en el modelado matemtico de reactores nucleares, un caso comn de anlisis es el estudio de sensibilidad de la velocidad del lquido refrigerante ui , perturbando la potencia trmica demandada Q . Para ello, se puede plantear la siguiente funcin objetivo: O en su defecto la sensibilidad
& I ( x, p) = G ( x, p) (t ) F ( x, x, p, t )
0
(3)
Donde es un multiplicador de Lagrange, * denota la matriz traspuesta, y & F ( x, x, p, t ) = 0 segn (1). Derivando ambos miembros con respecto a p , se obtiene que la sensibilidad respecto de G ( x, p) es: dI dG = = ( g p + g x x p ) dt (t )* ( Fp + Fx x p + Fx x p ) dt && dp dp 0 0 Luego se desarrolla el trmino (t )* Fx x p para obtener una expresin con respecto a x p : &&
T * * * & (t ) Fx& x p dt = (t ) Fx& x p 0 ( (t ) Fx& ) x p dt T ' 0 0 T
(4)
(5)
1074
(6)
Donde:
( (t ) F ) (t ) F
* ' * & x
= gx
(7)
Es la ecuacin adjunta, y es la incgnita o variable adjunta del sistema (7). En vez de trabajar con el sistema (7), en este trabajo se va a utilizar la notacin de sistema adjunto aumentado:
(t )* (t )* Fx = g x & * (t ) (t ) Fx = 0 & Luego, la sensibilidad para G ( x, p ) queda representada por:
T dG = ( g p (t )* Fp )dt (t )* Fx x p & 0 dp 0 T
(8)
(9)
A partir de (9) se observa que para calcular la sensibilidad por el sistema adjunto, el sistema (8) debe ser resuelto hacia atrs hasta el tiempo t = 0 . Las condiciones iniciales en el tiempo t = T para calcular dicha sensibilidad surgen de la resolucin del sistema:
& (t )* Fx& + (t )* Fx = g x
(t )* Fx& = 0
T
(10)
t =T
(g
0
(11)
t =0 = ( g p (t )* Fp )dt
0
(12)
(13)
1075
dg = ( g p (t , T )* Fp ) (T (t , T )* Fp )dt + T (t , T )* Fx x p & t =T t =0 dp 0
(14)
Donde la variable adjunta (t , T ) depende de los parmetros t y T , y donde T (t , T ) es d (t , T ) . A partir de (14) se obtiene que el sistema adjunto es: dT
* & * (t ) T (t , T ) Fx = 0 * (t ) T (t , T ) Fx = 0 &
(15)
Y se resuelve de manera similar que el sistema (8). Las condiciones iniciales en el tiempo t = T se obtienen de resolver el sistema:
T (t , T )* Fx& = ( g x (t , T )* Fx )
& (t , T )* Fx& + (t , T )* Fx = g x
(16)
t =T
(t , T ) Fx& = 0
* T
(
0
(17)
+ T (t , T )* Fx x p &
t =0
(18)
RESULTADOS NUMRICOS
Para la solucin numrica de los sistemas (8) y (15) (problemas de condiciones iniciales) actualmente se dispone de una variedad de mtodos numricos que pueden clasificarse en tres categoras: mtodos de un paso, multipaso y de extrapolacin. La eficiencia de cada tipo de aproximacin depende del problema particular. En este trabajo se resuelven los sistemas (8) y (15) transformndolos en sistemas puramente algebraicos mediante aproximaciones numricas (Boroni 2005). Para ello se define & una transformacin reemplazando y por funciones (n , n 1 , n 2 ,...) y D (n , n 1 , n 2 ,...) , que representan estimadores multipaso de las variables adjuntas y sus
Copyright 2006 Asociacin Argentina de Mecnica Computacional http://www.amcaonline.org.ar
1076
derivadas, es decir:
(t ) ai (t it )
i =0 k
& (t )
b (t it )
i =0 i
(19)
Especficamente en este trabajo se emplea un estimador implcito para las variables adjuntas y un estimador multipaso lineal clsico (Jackson 1980) en las derivadas, es decir:
(t it ) & = (t ), = i
k i =0
(20)
Para analizar la aplicacin del mtodo adjunto en el clculo de la sensibilidad se realizaron una serie de experimentos, donde se examinaron los resultados y errores numricos. Para dicho estudio se definieron dos sistemas de prueba: un sistema de ecuaciones diferenciales lineales con solucin explcita analtica y un sistema oscilatorio conservativo no lineal. Para simplificar la presentacin de los resultados se considera nicamente el clculo de la sensibilidad de la funcin objetivo G ( x, p) .
3.1 Sistema lineal
Se plantea el ejemplo de una ecuacin diferencial lineal de primer orden dado por:
& & F ( x, x, p, t ) = x + px = 0 x(t0 ) = x0 ( p) = p
(21)
El cual posee un nico parmetro p , y donde la solucin explcita es: x(t , p) = pe tp (22)
El objetivo de trabajar con este sistema lineal es obtener medidas del error asociados a los T dG trminos t =0 = ( g p (t )* Fp )dt y (t ) t =0 en el clculo numrico de la sensibilidad dp 0
definida en (9). Para el clculo de la sensibilidad
T
G ( x, p) = x(t , p)dt
0
(24)
1077
dG . dp
clculo del trmino integral es el que genera mayor error, con un mximo aproximado a 1.0 104 , el cual se estabiliza para un tiempo t 3 . En cuanto al error vinculado al trmino (t ) t =0 , el valor mximo es inferior a 1.5 105 y se da cuando t 0.28 ; luego de alcanzar
este valor el error disminuye de manera asinttica a 0 . Por ltimo, los resultados del error son bajos comparados con el paso de tiempo dt = 1.0 103 utilizado para el clculo numrico de la sensibilidad. En la figura 3 se muestra el error absoluto entre la solucin explcita y dG numrica de la sensibilidad . dp
t =0
(t ) t =0 .
1078
dG . dp
Este es un sistema de ecuaciones diferenciales no lineales de cuarto orden, cuyas variables de estado natural son la longitud del brazo elstico, el ngulo de inclinacin respecto a la vertical, y sus respectivas derivadas temporales (figura 4):
& z =r & w = k (r L) + g cos( ) m & rw + 2 zw = g sen( ) & z rw2 =
(25)
En este caso no existe solucin explcita. En la figura 5 se muestra la evolucin de la posicin de la masa para los siguientes parmetros y condiciones iniciales: k = 7 , L = 1 , & & m = 0.1 , g = 9.8 , r (0) = 1 , (0) = , r (0) = 0 y (0) = 0 . 2 Para el clculo de la sensibilidad se define una funcin objetivo relacionado con la energa en el movimiento del pndulo. Inicialmente cuando el pndulo con resorte esta en reposo & & ( r (0) = 0, (0) = 0 ) la ecuacin de la energa esta dada por: E0 = Donde 1 k (r0 L) 2 + mgr0 (1 cos( 0 )) 2 (26)
1 k (r0 L) 2 es el trmino asociado a la energa potencial armnica, y 2 mgr0 (1 cos( 0 )) representa la energa potencial gravitacional. Cuando el pndulo esta en movimiento la ecuacin de la energa es: E= 1 2 1 mv + k (r L) 2 + mgr (1 cos( )) 2 2 1 2 mv asociado a la energa cintica. 2 (27)
1079
A partir de las ecuaciones (26) y (27) se especificaron 4 casos de anlisis, en las cuales la funcin objetivo se define a partir la energa total y los trminos de energa cintica, potencial armnica y potencial gravitacional.
Caso 1. Energa total del pndulo
El objetivo de este caso fue determinar una medida del error, considerando que la funcin objetivo tiene solucin explcita a partir del principio de conservacin de la energa. Para ello & & se define la funcin objetivo G (r , , r , , k , m) como:
& & & & & & G (r , , r , , k , m) = E (r , , r , , k , m, t )dt = E0 (r , , r , , k , m, t )dt
0 0
T T
(28)
Desarrollando esta expresin para el pndulo en movimiento se obtiene que: 1 1 & & G (r , , r , , k , m) = mv 2 + k (r L) 2 + mgr (1 cos( ))dt 2 2 0
& & & & & & Donde v 2 = (r sin( ) + r cos( )) 2 + (r cos( ) r sin( )) 2 = r 2 + r 2 2 dG Cuando en pndulo esta en reposo la sensibilidad esta dada por: dk
T
(29)
dG d (k (r0 L) 2 T / 2) = =0 dk dk
(30)
1080
parmetro m la sensibilidad
En la expresin (31) el resultado indica que la sensibilidad posee un crecimiento lineal con el tiempo. En base a las expresiones de sensibilidad (30) y (31), se realiz un anlisis comparativo con los resultados numricos que se obtienen al aplicar el mtodo adjunto y el mtodo por diferencias finitas. Para este ltimo mtodo se resuelve numricamente el sistema DAE con valores de parmetro diferentes, una con los valores originales y la otra con un valor de parmetro perturbado. Luego es posible obtener por ejemplo una estimacin de la sensibilidad
T
dG dG 0 0 igual a: . dk dk k La ventaja de este mtodo es la simpleza y la rapidez de implementacin, mientras que la principal desventaja es que el error en la estimacin es significativo.
E (r , , r&,&, k + k , m, t ) E (r , , r&,&, k , m, t )
Figura 6. Sensibilidad
dG . dk
dG . dk
dG en funcin del tiempo, donde se ve dk claramente que la solucin por el mtodo adjunto oscila ligeramente sobre la solucin En la figura 6 se muestra la sensibilidad
Copyright 2006 Asociacin Argentina de Mecnica Computacional http://www.amcaonline.org.ar
1081
explcita, mientras que la solucin por diferencias finitas para valores de t > 5 varia considerablemente, inducida por la discretizacin propia del mtodo (el orden del estimador multipaso utilizado para las variables derivadas fue de 4). En la figura 7 se muestra el error definido por la diferencia absoluta DGDK , en la cual se hace notorio que al aplicar el mtodo adjunto dicha medida se encuentra por debajo de 1, mientras que por el mtodo de diferencias finitas el error se llega a triplicar con respecto al mtodo adjunto. En la figura 8 se grafica el clculo de la sensibilidad respecto de m . La solucin por el mtodo adjunto oscila levemente sobre la solucin explcita, mientras que la solucin por diferencias finitas flucta ampliamente. En la figura 9 se muestra el error dado por la diferencia absoluta DGDM . En dicha figura se hace evidente que por el mtodo adjunto el error absoluto es bastante chico comparado con el clculo por diferencias finitas. Los valores obtenidos por este ltimo mtodo llegan a ser muy grandes comparados con la magnitud de la solucin explcita. Se puede observar que para valores del tiempo T entre 7.7 y 7.9, la sensibilidad por diferencias finitas toma valores entre 125 y 130 con un error DGDM entre 55 y 60, lo que representa prcticamente ms del 50%. Este un indicador claro que la aplicacin de este ltimo mtodo puede llevar a resultados considerablemente equivocados.
dG . dm
dG . dm
1082
1 & & La funcin objetivo utilizada en este caso es G (r , , r , , k , m) = mv 2 dt . Las figuras 10 y 2 0 11 muestran las sensibilidades respecto de k y m , las cuales oscilan alrededor del valor 0, aumentando la amplitud a medida que t crece.
1 & & Para el caso 3 la funcin objetivo es G (r , , r , , k , m) = k (r L) 2 dt . Las figuras 12 y 13 2 0 muestran los resultados de las sensibilidades. Dichos resultados permiten concluir que ambas sensibilidades crecen casi linealmente con el tiempo t .
1083
& & En este caso la funcin objetivo es G (r , , r , , k , m) = mgr (1 cos( ))dt . La sensibilidad
0
respecto de k decrece linealmente con el tiempo t (figura 14), mientras que la sensibilidad asociada a m crece linealmente (figura 15).
Por ltimo se analizaron las contribuciones de las sensibilidades asociadas a los trminos individuales de la energa, respecto de las sensibilidades asociadas con la energa total (30). En la figura 16 se observa que en el anlisis paramtrico de k , el trmino de la energa cintica es el que genera el mayor aporte al valor de la sensibilidad, mientras que los trminos asociados a la energa potencial tienden a cancelarse entre s. Respecto a la variacin del parmetro m ocurre todo lo contrario (figura 17). El trmino de la energa cintica casi no
Copyright 2006 Asociacin Argentina de Mecnica Computacional http://www.amcaonline.org.ar
1084
interviene en el clculo de la sensibilidad asociada a la energa total, mientras que los trminos vinculados con la energa potencial aportan individualmente aproximadamente un 50% del total.
CONCLUSIONES
De los ejemplos anteriores se puede ver que el clculo de la sensibilidad es obtenida casi siempre con errores de precisin bastante pequeos. Para el sistema lineal (3.1), el mtodo propuesto permite obtener una solucin mucho ms aproximada. Cuando el sistema es no lineal (3.2), el clculo de la sensibilidad paramtrica por el mtodo adjunto produce una solucin bastante aceptable. Por ltimo, la propiedad ms importante de dicho mtodo es que es posible calcular la sensibilidad de parmetros utilizando sistemas lineales adjuntos asociados, sin necesidad de extender el sistema original, lo cual permite mejorar la eficiencia en el clculo.
REFERENCIAS
Brenan K., Campbell S., and Petzold L. 1996. Numerical Solution of Initial Value Problems in Differential-Algebraic Equations. SIAM, Philadelphia, PA. Kees C. and Miller C. 1999. C11 Implementations of Numerical Methods for Solving Differential-Algebraic Equations: Design and Optimization Considerations. ACM Trans. on Mathematical Software, 25, 377403. Jackson R. and Sacks-Davis R. 1980. An Alternative Implementation of Variable Step-Size Multistep Formulas for Stiff ODEs. ACM Trans. on Mathematical Software, 6, 295318. G. Boroni and A. Clausse, Una formulacin matemtica orientada a objetos para simulacin
1085
continua. MECOM 2005, Vol. 24, pp. 261. ISSN 1666-6070. Y. Cao, S. Li, L. Petzold and R. Serban, Adjoint sensitivity analysis for differential-algebraic equations: The adjoint DAE system and its numerical solution. SIAM J. SCI. COMPUT.c 2003 Vol. 24, No. 3, pp. 10761089. R. M. Errico, What is an adjoint model?, Bulletin of the American Meteorological Society, 78 (1997), pp. 25772591. W. F. Feehery, J. E. Tolsma, and P. I. Barton, Efficient sensitivity analysis of large-scale differential-algebraic systems, Appl. Numer. Math., 25 (1997), pp. 4154. S. Li and L. R. Petzold, Software and algorithms for sensitivity analysis of large-scale differential-algebraic systems, J. Comput. Appl. Math., 125 (2000), pp. 131145. S. Li and L. R. Petzold, Design of New DASPK for Sensitivity Analysis, Technical report, Dept. of Computer Science, UCSB, Santa Barbara, CA, 1999. S. Li, L. R. Petzold, and W. Zhu, Sensitivity analysis of differential-algebraic equations: A comparison of methods on a special problem, Appl. Numer. Math., 32 (2000), pp. 161174. T. Maly and L. R. Petzold, Numerical methods and software for sensitivity analysis of differential-algebraic systems, Appl. Numer. Math., 20 (1997), pp. 5779.