Notas sobre Teoría de Control, curso 2014 2015 Master en Modelización e Investigación Matemática, Estadística y Computación CONTROL ÓPTIMO: TIEMPO DISCRETO EDUARDO MARTÍNEZ En multitud de ocasiones la ley de control de un determinado sistema de control se decide por criterios de maximización de beneficios o minimización de esfuerzos. A tal fin, se define una función en el espacio de trayectorias del sistema y se aplican técnicas de optimización, especialmente adaptadas a la estructura de nuestro problema. Veremos dos de estas técnicas: la programación dinámica y el principio del máximo de Pontryagin, que proporcionan visiones complementarias del problema. 1. Programación dinámica Se considera un sistema de control en tiempo discreto y una función de coste x t+1 = f t (x t, u t ), t = 0, 1,..., N 1, (Σ) J ( ) x 0, {u t } = KN (x N ) + K t (x t, u t ). Fijado un punto inicial x 0, buscamos los controles u 0, u 1,..., u que hacen que se minimice el valor de J, donde x 0, x 1,..., x N es la trayectoria asociada a dichos controles mediante (Σ). En las expresiones anteriores, f t (x, u) y K t (x, u) son funciones definidas en algún subconjunto de R n R p, para t = 0, 1,..., N 1, con valores en R n y R, respectivamente, mientras que K N (x) es una función real definida en algún subconjunto de R n. Denotemos por u 0, u 1,..., u dichos controles óptimos, que supondremos únicos, y por x 0, x 1,..., x N la trayectoria asociada, donde obviamente x 0 = x 0. La clave del método de programación dinámica está en el siguiente razonamiento, que se conoce con el nombre de principio de optimalidad de Bellman. Consideramos para cada 0 i < N el problema minimizar ( ) J i x i, {u t } t=i = KN (x N ) + K t (x t, u t ) sujeto a x t+1 = f t (x t, u t ), t = i, i + 1,..., N 1 x i = x i. Es evidente que la solución a dicho problema es u i, u i+1,..., u, siendo la trayectoria asociada x i, x i+1,..., x N, ya que en caso contrario si u + i, u+ i+1,..., u+ minimiza J i entonces u 0, u 1,..., u i 1, u + i, u+ i+1,..., u+ 1 t=i
2 EDUARDO MARTÍNEZ nos daría un menor valor de J que la sucesión de controles óptimos u 0, u 1,..., u. Teniendo esto en cuenta, para utilizar el método de programación dinámica definimos la sucesión de funciones reales V t : R n R, para t = 0,..., N, por medio de la recurrencia regresiva V N (x) = K N (x), V t (x) {K t (x, u) + V t+1 (f t (x, u))}. u En ocasiones escribiremos J t (x, u) para la función a minimizar en cada paso J t (x, u) = K t (x, u) + V t+1 (f t (x, u)). Teorema 1.1: Supongamos que para cada t = N 1, N 2,..., 2, 1, 0 y para cada x R n, el problema mín{k t (x, u) + V t+1 (f t (x, u))} u tiene solución única u = h t (x), y sea V t (x) el valor mínimo de dicho problema. Entonces la sucesión dada por x 0 = x 0 u t = h t (x t ) x t+1 = f t (x t, u t ) t = 0, 1,..., N 1, minimiza la función de coste total J ( ) x 0, {u t } y su valor mínimo es V 0 (x 0 ). Dem. Los dos últimos sumandos de la función J dependen solo de u mientras que el resto dependen de todas las variables u t. De esta forma J ( x 0, {u t } N 2 ) = K t (x t, u t ) + K (x, u ) + K N (x N ) N 2 = K t (x t, u t ) + K (x, u ) + V N (x N ) N 2 = K t (x t, u t ) + K (x, u ) + V N (f (x, u )) N 2 = K t (x t, u t ) + J (x, u )
CONTROL ÓPTIMO: TIEMPO DISCRETO 3 Separando dichos términos obtenemos mín J(x 0, {u t } t=i ) = u 0,u 1,...,u u 0,u 1,...,u N 2 {N 2 u 0,u 1,...,u N 2 {N 2 } K t (x t, u t ) + mín J (x, u ) u } K t (x t, u t ) + V (x ), donde el mínimo del último sumando se obtiene para u = h (x ), es decir, V (x ) = J (x, h (x )). Repitiendo el mismo razonamiento, N 3 K t (x t, u t ) + K N 2 (x N 2, u N 2 ) + V (x ) = = N 3 K t (x t, u t ) + J N 2 (x N 2, u N 2 ) y procediendo iterativamente de la misma manera mín J(x 0, {u t } t=i ) = u 0,u 1,...,u u 0,u 1,...,u N 2 {N 2 u 0,u 1,...,u N 2 {N 3 u 0,u 1,...,u N 3 {N 3. u 0,u 1,...,u N 3 {N 3 u 0 { } K 0 (x 0, u 0 ) + V 1 (x 1 ) u 0 J 0 (x 0, u 0 ) = V 0 (x 0 ), } K t (x t, u t ) + V (x ) } K t (x t, u t ) + J N 2 (x N 2, u N 2 ) } K t (x t, u t ) + mín J N 2 (x N 2, u N 2 ) u N 2 } K t (x t, u t ) + V N 2 (x N 2 ) donde, en cada paso, el mínimo en el último sumando se obtiene para u t = h t (x t ), obteniéndose el valor mínimo V t (x t ) = J t (x t, h t (x t )). Por tanto, el valor mínimo de la función de coste es V 0 (x 0 ) y se obtiene para los valores de u t indicados en el enunciado.
4 EDUARDO MARTÍNEZ Si el problema consiste en maximizar en vez de minimizar, simplemente podemos cambiar máximo por mínimo en todo lo que se ha discutido. Alternativamente, podemos cambiar el signo a la función y minimizar. Ejemplo 1.2 (Asignación de recursos): Se posee una cantidad A de recursos que se puede asignar a diversas actividades (N actividades). La cantidad asignada a la actividad k-ésima es u k, y el beneficio proporcionado por dicha actividad es g k (u k ). Se pretende maximizar el beneficio total. Supondremos para simplificar que g k (u) = u. Tenemos que resolver el problema máx k=0 uk sujeto a k=0 u k = A. Este problema es equivalente al problema de control que tiene por ecuaciones del sistema 1 x t+1 = x t u t, con puntos inicial y final fijos y función objetivo x 0 = A, x N = 0, J(x 0, {u t } ) = ut. Además tenemos las restricciones 0 u t x t, para todo t (no puedo asignar más recursos que los que tengo). Dado que K N = 0, tenemos V N (x) = 0. El primer término a calcular es V (x) que se obtiene maximizando u + V N (x u) = u, cuyo valor máximo se obtiene para u = x (ya que 0 u x) y su valor máximo es V (x) = x. Para N 2 tengo que maximizar u + V (x u) = u + x u cuyo valor máximo es V N 2 (x) = 2x, que se obtiene u = h N 2 (x) = x/2. Es fácil ver que, en general V t (x) = (N t)x, obteniéndose dicho valor para u t = h t (x) = x/(n t). Por tanto, la mejor estrategia es asignar u t = x t /(N t), y el valor óptimo es V 0 (x 0 ) = Nx 0 = NA. La asignación a realizar es u 0 = A/N, de donde x 1 = x 0 u 0 = A A/N = (N 1)/A, u 1 = x 1 /(N 1) = A/N, y así sucesivamente, es decir, u t = A/N y x t = A(N t)/n. 1 Esta forma de entender el problema consiste es pensar que vamos asignando recursos a cada actividad sucesivamente, siendo x t la cantidad de recursos que nos queda después de asignar recursos a las primeras t 1 actividades, y siendo u t la cantidad de recursos que se le asigna a la t-ésima actividad.
CONTROL ÓPTIMO: TIEMPO DISCRETO 5 Como era de esperar, dada la simetría de problema, la estrategia óptima consiste en asignar la misma cantidad de recursos a cada una de las actividades. Ejemplo 1.3 (Agente comercial: compraventa de bienes): Supongamos que disponemos de un cierto número de bienes g t y una cierta cantidad de dinero m t. Cada día t podemos vender una cantidad de bienes u t (comprar si es negativa) y se conoce el precio π t por unidad de dicho bien en dicho día. Además, mantener cada unidad de nuestro bien en nuestra cartera/almacén genera un gasto s cada día. Lo que busca nuestro agente de ventas es maximizar el capital al final de un cierto número N de días. Existe además una restricción en la cantidad de producto que puede comprar/vender diariamente, siendo esta no superior a k. Las ecuaciones que rigen la evolución del sistema son { mt+1 = m t + π t u t sg t g t+1 = g t u t. La función a maximizar es J((m 0, g 0 ), {u t } ) = m N +π N g N, teniendo en cuenta que u t k. Por tanto, nuestras variables de estado son (m, g), el control es u, los costes son K t (m, g, u) = 0 para 0 t N 1 y K N (m, g) = m + π N g, y la aplicación del sistema es f t ((m, g), u) = (m + π t u sg, g u), t = 0, 1,..., N 1. (t = N) La función valor óptimo en el paso t = N es claramente V N (m, g) = m + π N g. (t = N 1) En el paso t = N 1, tenemos que maximizar K (m, g, u) + V N (f (m, g, u)) = 0 + V N (m + π u sg, g u) = m + π u sg + π N (g u) = m + (π N s)g + (π π N )u, que tiene el máximo para u = k si π π N > 0 o para u = k si π π N < 0, siendo el valor máximo V (m, g) = m + (π N s)g + k π π N. (t = N 2) En el paso t = N 2 tenemos que maximizar K N 2 (m, g, u) + V (f N 2 (m, g, u)) = = 0 + V (m + π N 2 u sg, g u) = m + π N 2 u sg + (π N s)(g u) + k π π N = m + (π N 2s)g + k π π N + (π N 2 π N + s)u que tiene el máximo cuando u = k, si π N 2 π N +s > 0, o cuando u = k, si π N 2 π N + s > 0, siendo dicho valor máximo V N 2 (m, g) = m + (π N 2s)g + k π π N + k π N 2 π N + s.
6 EDUARDO MARTÍNEZ (t = t) Si se realizan algunos pasos más, es fácil inducir la fórmula V t (m, g) = m + ( π N s(n t) ) g + k π i π N + (N i 1)s, que se obtiene para u = h t (m, g), donde { k si πt π N + (N t 1)s > 0 h t (m, g) = k si π t π N + (N t 1)s < 0. Como ejercicio, demuéstrese por inducción que dicha fórmula es válida. En consecuencia, el valor óptimo de la función objetivo es V 0 (m, g) = m + (π N sn)g + k π i π N + (N i 1)s, que se obtiene con la estrategia { k si πt π N + (N t 1)s > 0 u = h t (m, g) = k si π t π N + (N t 1)s < 0. Ejemplo 1.4 (Problemas LQ): Se denominan genéricamente problemas LQ aquellos problemas de control óptimo en los cuales el sistema de control es un sistema lineal (L) i=0 i=t x t+1 = Ax t + Bu t, y la función objetivo es una función cuadrática (Q) en todas las variables (de estado y de control) J(x 0, {u t } ) = x T NMx N + (x T t Qx t + u T t Ru t + 2u T t Sx t ). Se supondrá que la matriz R es simétrica y definida positiva, que la matriz M es simétrica y semidefinida positiva, y que la matriz simétrica [Q, S T ; S, R] es también semidefinida positiva. Teorema 1.5: La ley de control óptimo para el problema LQ: minimizar x T NMx N + [x T t Qx t + u T t Ru t + 2u T t Sx t ] k=0 sujeta a x t+1 = Ax t + Bu t, viene dada por el feedback lineal u t = h t (x t ) = F t x t, obteniéndose el valor mínimo de la función de coste J(x 0, {u t } ) = x T 0 M 0 x 0,
CONTROL ÓPTIMO: TIEMPO DISCRETO 7 donde las matrices F t están definidas por F t = (R + B T M t+1 B) 1 (S + B T M t+1 A), y la sucesión de matrices M t viene dada por la ley de recurrencia regresiva { Mt = Q + A T M t+1 A F T t (R + B T M t+1 B)F t M N = M. Dem. Tenemos que K N (x) = x T Mx y K t (x, u) = x T Qx + u T Ru + 2u T Sx. Probaremos que V t (x) = x T M t x, donde M t son las matrices indicadas en el enunciado del teorema. La demostración la realizamos por inducción (regresiva) en t. Para t = N tenemos V N (x) = x T M N x y K N (x) = x T Mx, que son iguales ya que M N = M. Supuesto cierto que V t (x) = x T M t x, veamos que V t 1 (x) = x T M t 1 x, con u t 1 = F t 1 x, y F t 1, M t 1 definidas en términos de M t como se indica en el enunciado. Tenemos J t 1 (x, u) = K t 1 (x, u) + V t (f t 1 (x, u)) = x T Qx + u T Ru + 2u T Sx + (Ax + Bu) T M t (Ax + Bu) = u T (R + B T M t B)u + 2u T (B T M t A + S)x + x T (Q + A T M t A)x. Cada una de las funciones K t (x, u) es semidefinida positiva, de donde se deduce que tanto J t (x, u) como V t (x) son también semidefinidas positivas 2. Por tanto, cada una de las matrices M t es semidefinida positiva. Como además R es estrictamente definida positiva, tenemos que R+B T M t B es definida positiva (en particular es invertible). De aquí se deduce que J t 1 tiene un único punto crítico (con respecto a la variable u) que es el punto de mínimo buscado. Para hallarlo, derivamos con respecto a u e igualamos a cero, de donde se obtiene (R + B T M t B)u + (S + B T M t A)x = 0, u = (R + B T M t B) 1 (S + B T M t A)x = F t 1 x. Sustituyendo ahora u por F t 1 x en J t obtenemos el valor óptimo [ ] V t 1 (x) = x T Ft 1(R T + B T M t B)F t 1 + 2Ft 1(B T T M t A + S) + (Q + A T M t A) x ( ) = x T Ft 1(R T + B T M t B)F t 1 + (Q + A T M t A) x, 2 J t es suma de semidefinidas positivas y V t es el valor mínimo de una semidefinida positiva.
8 EDUARDO MARTÍNEZ donde se ha tenido en cuenta que (B T M t A+S) = (R+B T M t B)F t 1. Por tanto, la matriz de la forma cuadrática V t 1 es M t 1, lo que concluye la prueba. Nótese que de la demostración del teorema se deduce que las matrices M t son todas semidefinidas positivas. Existen multitud de ejemplos de sistemas físicos que se describen de esta manera. El resultado del teorema muestra que el controlador se implementa por medio de realimentación lineal de estados. Más aún, las matrices F t, aunque dependan del tiempo, pueden construirse recursivamente e independientemente de la observación del sistema. 2. Principio del máximo de Pontryagin El segundo de los métodos que vamos a estudiar se obtiene al aplicar el conocido método de los multiplicadores de Lagrange al problema en cuestión. Dados dos puntos x 0 y x N, arbitrarios pero fijos, consideremos el problema de control óptimo minimizar k=0 K t (x t, u t ) sujeto a x t+1 = f t (x t, u t ), t = 0, 1,..., N 1. Para simplificar, supondremos inicialmente que el dominio es un abierto en el que solo hay un punto crítico, que es el punto de mínimo buscado. Además, supondremos que las ligaduras son independientes en el punto de óptimo. Veremos más adelante cómo proceder cuando esto no ocurre. La función de Lagrange definida a partir de los datos anteriores es L = K 0 (x 0, u 0 ) + K 1 (x 1, u 1 ) + + K (x, u )+ + p T 0 [x 1 f 0 (x 0, u 0 )] + p T 1 [x 2 f 1 (x 1, u 1 )] + + p T [x N f (x, u )]. Dado que los puntos x 0 y x N están prefijados, las variables de las que depende la función de Lagrange son (x 1,..., x, p 0,..., p, u 0,..., u ). La derivada de L con respecto a u t da K t u (x t, u t ) p T f t t u (x t, u t ) = 0. La derivada de L con respecto a x t da K t x (x t, u t ) + p T t 1 p T f t t x (x t, u t ) = 0, y finalmente, la derivada de L con respecto a p t da x t+1 f t (x t, u t ) = 0.
CONTROL ÓPTIMO: TIEMPO DISCRETO 9 Estas ecuaciones pueden reescribirse de forma adecuada como sigue. Definimos la función H t (x, p, u) = p T f t (x, u) K t (x, u), que se denomina Hamiltoniano de Pontryagin. En términos de ésta, las ecuaciones para los puntos críticos son 0 = H t u (x t, p t, u t ) t = 0,..., N 1 p t 1 = H t x (x t, p t, u t ) t = 1,..., N 1 x t+1 = H t p (x t, p t, u t ) t = 0,..., N 1. que se denominan ecuaciones de Hamilton-Pontryagin. Es conveniente definir p 1 por medio de p 1 = H 0 x (x 0, p 0, u 0 ) = p T f 0 0 x (x 0, u 0 ) K 0 x (x 0, u 0 ). De esta manera, los tres bloques de ecuaciones de Hamilton-Pontryagin se deben satisfacer para t = 0,..., N 1. Asumiremos este convenio en lo que sigue. Nota 2.1: Nótese que no se obtiene ninguna condición sobre el valor del multiplicador p, que debe obtenerse a partir de las ecuaciones anteriores. Por otro lado, nótese que, mientras que las ecuaciones para x son ecuaciones en diferencias progresivas, las ecuaciones para p son ecuaciones en diferencias regresivas. Nota 2.2: En el caso general de un dominio no abierto, o cuando existen otros puntos críticos de L, un análisis más detallado del problema muestra que la condición Ht u (x t, p t, u) = 0 debe sustituirse por la siguiente condición de optimalidad del Hamiltoniano: el valor de u t es la solución del problema de optimización máx H(x t, p t, u), u para los valores actuales de x t y p t. Las ecuaciones a resolver son entonces u t = arg máx H t (x t, p t, u) u p t 1 = H t x (x t, p t, u t ) (PMP) x t+1 = H t p (x t, p t, u t ), para t = 0,..., N 1. Obsérvese que, mientras que el problema original es un problema de minimización, en cada paso el valor del Hamiltoniano debe maximizarse con respecto a la variable u.
10 EDUARDO MARTÍNEZ Ejemplo 2.3 (Asignación de recursos): Volvemos a considerar el problema de la asignación de recursos, que ya estudiamos en el ejemplo 1.2, y planteamos de la forma minimizar k=0 ut sujeto a x t+1 = x t u t, con puntos inical y final fijos x 0 = A y x N = 0. Además, tenemos la restricción 0 u x. La función Hamiltoniana es H t (x, p, u) = p(x u) + u. La derivada con respecto a u, igualada a cero da p + 1 2 u = 0. La derivada con respecto a p nos da simplemente la ecuación del sistema de control x t+1 = H t p (x t, u t ) = x t u t, y la derivada con respecto a x nos da la evolución de las variables p t p t 1 = H t x (x t, p t ) = p t. De esta última obtenemos que p t es constante (no depende de t) y la ecuación para u implica que u t también es constante u t u. La solución de x t+1 = x t u t es x t = x 0 tu = A tu, e imponiendo x N = 0 obtenemos A = Nu. Por tanto, la asignación debe ser u = A/N para cada actividad. El valor óptimo es A/N = NA. Nota 2.4: Hemos supuesto que las funciones de ligadura tienen, en el punto de óptimo, diferenciales linealmente independientes. Para detectar cuando esto no ocurre, podemos proceder como sigue. Una combinación lineal de las ligaduras se obtiene de la expresión de L si suponemos que todas las funciones K t son nulas. Por tanto, las ecuaciones obtenidas entonces son válidas, de donde se deducen las condiciones 0 = p T f t t u (x t, u t ) p T t 1 = p T f t t x (x t, u t ) x t+1 = f t (x t, u t ), para (p 0, p 1,..., p ) (0,..., 0). De las ecuaciones anteriores, se deduce que si p τ = 0, para algún tiempo τ, entonces p t = 0 para todo t τ. En particular, p 0 equivale a la condición anterior (p 0, p 1,..., p ) (0,..., 0).
CONTROL ÓPTIMO: TIEMPO DISCRETO 11 Estas condiciones pueden re-escribirse en términos de la función H 0 t (x, p, u) = p T f t (x, u), 0 = H0 t u (x t, p t, u t ) p t 1 = H0 t x (x t, p t, u t ) x t+1 = H0 t p (x t, p t, u t ), t = 0,..., N 1 con p 0. Las soluciones de estas ecuaciones que minimizan nuestra función objetivo se denominan soluciones anormales. Condiciones en la frontera. Debemos destacar que, en el problema general que hemos resuelto, hemos impuesto que los extremos x 0 y x N son fijos. En muchos problemas se deben imponer otras condiciones distintas a dichos puntos o bien se añade un coste terminal a la función objetivo que penalice ciertos valores del punto final. Estás condiciones no cambian las ecuaciones obtenidas anteriormente (PMP), sino que solamente añaden condiciones a los multiplicadores inicial p 0 y final p. Veamos algunos ejemplos: Punto final libre y coste terminal. A la función de coste J se le añade K N (x N ) (como se hizo inicialmente en el estudio mediante programación dinámica). Por tanto, la función de Lagrange es ahora L = L + K N (x N ), donde L es la función de Lagrange que usamos anteriormente, y donde ahora x N es una variable. De la derivada de L con respecto a x N igualada a cero resulta p = K N x (x N), que nos proporciona el valor final del multiplicador p t. Punto final ligado. Se impone que el punto final satisfaga una cierta ecuación ψ(x N ) = 0. Dado que ésta es una ligadura nueva, se debe multiplicar por un nuevo multiplicador ν y sumar a la función de Lagrange, que resulta L = L νψ(x N ), donde de nuevo x N es una variable. La derivada de L con respecto a x N igualada a cero da p = ν ψ x (x N), que, de nuevo, nos proporciona el valor final del multiplicador p t, aunque ν debe ser determinado. En particular, si se permite que el punto final x N sea completamente arbitrario, entonces p = 0.
12 EDUARDO MARTÍNEZ Punto inicial ligado. Si es al punto inicial a quien le imponemos que satisfaga una cierta ecuación ψ(x 0 ) = 0, el análisis es similar. Esta nueva ligadura se debe multiplicar por un nuevo multiplicador ν y sumar a la función de Lagrange, que resulta L = L νψ(x 0 ), donde x 0 no está fijado y es ahora una variable. La derivada de L con respecto a x 0 igualada a cero da p 1 = ν ψ x (x 0). En particular, si se permite que el punto inicial x 0 sea completamente arbitrario, entonces p 1 = 0. Ejercicio 2.5: Hallar las condiciones que se obtienen al imponer varias de las condiciones anteriores: ligadura inicial y final, ligadura final y coste terminal, etc.. Ejemplo 2.6 (Compraventa de bienes): Consideremos de nuevo el ejemplo 1.3 de un agente comercial. Como el problema original es de maximización, para adecuarlo a nuestra teoría, debemos cambiar el signo del coste terminal, de forma que K N (m, g) = m π N g, junto con K t = 0 para t = 0,..., N 1. Denotando por (p, q) a los multiplicadores, el Hamiltoniano es H t (m, g, p, q, u) = p(m + π t u sg) + q(g u). La evolución del multiplicador p viene dada por p t 1 = H t m (m t, g t, p t, q t, u t ) = p t, por lo que p t es constante. Como el valor terminal es p = K N m (m N, g N ) = 1, se deduce que p t = 1 para todo t = 0, 1,..., N. Para el momento q tenemos q t 1 = H t g (m t, g t, p t, q t, u t ) = q t p t s = q t s. Como el valor terminal es q = K N g (m N, g N ) = π N se deduce que q t = π N s(n t 1). Sustituyendo estos valores en el Hamiltoniano se obtiene H t (m t, g t, p t, q t, u) = m t + π t u sg t + (g t u)(π N s(n t 1)) = m t + (π N s(n t))g t + (π t π N + s(n t 1))u, que tiene un máximo con respecto a u en { k si πt π u N + s(n t 1) > 0 t = k si π t π N + s(n t 1) < 0.
CONTROL ÓPTIMO: TIEMPO DISCRETO 13 Obtenemos, por tanto, la misma respuesta que por medio del método de programación dinámica. Para obtener el valor óptimo se deben resolver las ecuaciones de recurrencia originales con el valor de u t obtenido. Ejemplo 2.7 (Problemas LQ): Consideremos de nuevo un problema LQ como en el ejemplo 1.4. El Hamiltoniano de Pontryagin es H(x, p, u) = p T (Ax + Bu) 1 2 (xt Qx + u T Ru + 2u T Sx). La derivada con respecto a u es B T p Ru Sx = 0, de donde obtenemos u = R 1 (B T p Sx). Sustituyendo en la aplicación del sistema obtenemos x t+1 = [A BR 1 S]x t + BR 1 B T p t. Derivando con respecto a x obtenemos p t 1 = A T p t Qx t S T u t = [A T S T R 1 B T ]p t + [S T R 1 S Q]x t. Por tanto las ecuaciones quedan { xt+1 = [A BR 1 S]x t + BR 1 B T p t p t 1 = [S T R 1 S Q]x t + [A T S T R 1 B T ]p t. El punto final es libre, por lo que p = 0. Relación con la programación dinámica. Comparando la condición de punto crítico para el Hamiltoniano u H t (x t, p t, u) con la condición de punto crítico para la función u J t (x t, u) = K t (x t, u) + V t+1 (f t (x t, u)), es decir, V t+1 p T t f t u (x t, u t ) + K t u (x t, u t ) = 0 frente a u (f t(x, u)) f t u (x t, u t ) + K t u (x t, u t ) = 0, se deduce que la relación entre ambos métodos debe venir dada por medio de p t = V t+1 x (x t+1). Veamos que, bajo condiciones adecuadas de regularidad de las funciones que han ido apareciendo, esto es cierto. Teorema 2.8: Supongamos que la función valor óptimo V t (x) es diferenciable, que el punto de máximo u = h t (x) se sitúa siempre en el interior de su dominio, siendo también la función h t diferenciable. Sea (x t, u t ) la sucesión de estados y controles óptimos, y definamos p t = V t+1 x (x t+1).
14 EDUARDO MARTÍNEZ Entonces (x t, p t, u t ) satisface las ecuaciones de Hamilton-Pontryagin. Dem. En efecto, por un lado, es evidente que x t+1 = f(x t, u t ). Por otro lado, u t es un punto crítico de J t (x, u) = K t (x, u) + V t+1 (f t (x, u)), por lo que 0 = J t u (x t, u t ) = K t u (x t, u t ) + V t+1 x (x t+1) f t u (x t, u t ) = K t u (x t, u t ) p t T f t u (x t, u t ) = H t u (x t, u t ). Antes de verificar la última ecuación, notemos lo siguiente. Para x fijo, el mínimo de J t (x, u) se obtiene en u = h t (x), por lo que J t (x, h t (x)) = V t (x). Derivando esta relación en x = x t y teniendo en cuenta que h t (x t ) = u t obtenemos V t x (x t ) = J t x (x t, u t ) + J t u (x t, u t ) h t x (x t ) = J t x (x t, u t ). Teniendo este resultado en cuenta, la ecuación para la evolución del momento es H t x (x t, p t, u t ) p t 1 T = p t 1 T + p t T f t x (x t, u t ) K t x (x t, u t ) Esto prueba el teorema. = V t x (x t ) V t+1 x (x t+1) f t x (x t, u t ) K t x (x t, u t ) = V t x (x t ) x [V t+1 f t + K t ](x t, u t ) = V t x (x t ) J t x (x t, u t ) = 0. Ejercicio 2.9: Los problemas LQ fueron estudiados en el ejemplo 1.4 utilizando programación dinámica y en el ejemplo 2.7 utilizando el principio del máximo de Pontryagin. Por medio del teorema 2.8 relaciona ambos resultados, comprobando en dicho caso que se obtiene la misma solución por ambos métodos. Eduardo Martínez: IUMA and Departamento de Matemática Aplicada, Facultad de Ciencias, Universidad de Zaragoza, 50009 Zaragoza, Spain E-mail address: emf@unizar.es