26
Cap´ ıtulo 7 Introducci´ on al Control ´ Optimo 7.1. El problema de control ´ optimo En la formulaci´ on del problema de control ´ optimo hay dos ingredientes: 1.- Un sistema de control que en el caso continuo viene dado por un sistema de ecuaciones diferenciales: ˙ x(t)= f (t, x(t),u(t)), t ∈[t 0 ,t f ]⊂ R x(t 0 )= x 0 (7.1) que cumple las condiciones de existencia y unicidad de las soluciones (v´ ease la Secci´ on 4.2.1). Y en el caso discreto por un sistema de ecuaciones en diferencias: x(t + 1)= f t (x(t),u(t)), t = 0, 1,...,N - 1 x(0)= x 0 (7.2) En los dos casos x(t) es el vector de R n que para cada instante de tiempo t nos da el estado del sistema, u(t) es, para cada t, el vector de controles o entradas que toma valores en alg´ un conjunto U R m denominado conjunto de los valores admisibles de los controles, t 0 es el tiempo inicial en cuyo instante el sistema se encuentra en el estado inial x 0 . En el caso discreto es habitual poner t = 0 como instante inicial. Obs´ ervese que en este caso (el discreto) se puede pensar en la variable tiempo t como un ´ ındice; es por eso que la dependencia de f en t la indicamos como un sub´ ındice f t . Lo mismo haremos con las dem´ as funciones que vayan apareciendo. Supondremos, adem´ as, que se dan las condiciones de existencia y unicidad de soluciones para cada sistema considerado. 2.- Un coste funcional que asocia un valor (coste) a cada funci´ on de control admisible. El coste funcional se suele denotar con J y tiene la siguiente forma en el caso continuo: J (u(⋅)) = K(t f ,x f )+ t f t 0 L(t, x(t),u(t))dt, (7.3) 167

Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

Capıtulo 7

Introduccion al Control Optimo

7.1. El problema de control optimo

En la formulacion del problema de control optimo hay dos ingredientes:

1.- Un sistema de control que en el caso continuo viene dado por un sistema de ecuacionesdiferenciales:

{ x(t) = f(t, x(t), u(t)), t ∈ [t0, tf ] ⊂ Rx(t0) = x0

(7.1)

que cumple las condiciones de existencia y unicidad de las soluciones (vease la Seccion4.2.1). Y en el caso discreto por un sistema de ecuaciones en diferencias:

{ x(t + 1) = ft(x(t), u(t)), t = 0,1, . . . ,N − 1x(0) = x0

(7.2)

En los dos casos x(t) es el vector de Rn que para cada instante de tiempo t nos da elestado del sistema, u(t) es, para cada t, el vector de controles o entradas que tomavalores en algun conjunto U ⊆ Rm denominado conjunto de los valores admisiblesde los controles, t0 es el tiempo inicial en cuyo instante el sistema se encuentra enel estado inial x0. En el caso discreto es habitual poner t = 0 como instante inicial.Observese que en este caso (el discreto) se puede pensar en la variable tiempo t comoun ındice; es por eso que la dependencia de f en t la indicamos como un subındice ft.Lo mismo haremos con las demas funciones que vayan apareciendo. Supondremos,ademas, que se dan las condiciones de existencia y unicidad de soluciones para cadasistema considerado.

2.- Un coste funcional que asocia un valor (coste) a cada funcion de control admisible. Elcoste funcional se suele denotar con J y tiene la siguiente forma en el caso continuo:

J(u(⋅)) =K(tf , xf) + ∫ tf

t0L(t, x(t), u(t))dt, (7.3)

167

Page 2: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

168 Control Optimo

y en el caso discreto

J(u(⋅)) =K(xf) + N−1∑t=0

Lt(x(t), u(t)). (7.4)

En ambos casos L, Lt (t = 0,1, . . . ,N − 1) y K son funciones reales dadas (costeoperativo y coste final, respectivamente), tf (N en el caso discreto) es el tiempofinal o terminal y xf = x(tf) (x(N) = xf en el caso discreto) es el estado final oterminal. En concreto, L ∶ R×Rn ×Rn → R es una funcion de 2n+1 variables reales,K ∶ R × Rn → R es una funcion de n + 1 variables reales en el caso continuo yde n variables en el discreto, y Lt Rn × Rn → R es una funcion de 2n variablesreales para cada valor de t = 0,1, . . . ,N −1. El tiempo y estado finales (o terminales)puede ser libres o fijos; es decir, tf y xf pueden haber sido fijados de antemano o seconsideran como variables del problema. Nosotros supondremos que el tiempo finalha sido fijado de antemano aunque, como decimos, problemas mas generales puedenser considerados.

Debe observarse que u(⋅) es una funcion de modo que J es una funcion con valoresreales pero definida en un espacio de funciones. Es por ello, que decimos que Jes un funcional (vease Apendice A). El espacio de funciones donde puede elegirseu(⋅) puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo en laSeccion 4.2.1, suele ser el espacio de funciones continuas a trozos, U = PC([t0, tf ], U),o, mas generalmente, el espacio de funciones localmente integrables (vease la SeccionA.4 del Apendice A). En cualquier caso, U es el conjunto de los valores admisiblesde los controles. Genericamente, U sera llamado conjunto de funciones admisibles.Tambien los valores de los estados pueden estar sometidos a restricciones que, encada caso y si fuera necesario, se enunciaran de forma explıcita.

Con todas estas consideraciones en mente, podemos definir lo que se entiende por unproblema de control optimo: Encontrar un control u ∈ U que minimiza el funcional J sobretodos los controles admisibles. Un poco mas explıcitamente, en el caso continuo se tratarıade encontrar, si existe, una funcion u∗(⋅) ∈ U tal que la solucion x∗(t) del problema decondiciones iniciales (7.1) con u(t) = u∗(t), t ∈ [t0, tf ], cumpla:

K(tf , x∗(tf)) + ∫ tf

t0L(t, x∗(t), u∗(t))dt ≤K(tf , x(tf)) + ∫ tf

t0L(t, x(t), u(t))dt (7.5)

para todo control u(⋅) ∈ U y la correspondiente solucion x(⋅) de (7.1). Escribiremos breve-mente que u∗(⋅) ∈ U es la solucion del problema:

minimizar J(u(⋅)) =K(tf , x(tf)) + ∫ tf

t0L(t, x(t), u(t))dt

sujeto a { x(t) = f(t, x(t), u(t)), t ∈ [t0, tf ] ⊂ Rx(t0) = x0.

(7.6)

En lo sucesivo, y por simplicidad notacional, denotaremos a las funciones de U por u envez de u(⋅); y haremos lo mismo con las soluciones x del correspondiente problema decondiciones iniciales. Entonces u(t) y x(t) son los valors que toman u y x en t ∈ [t0, tf ].

Page 3: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

7.2 Programacion dinamica: caso discreto 169

En el caso discreto, el problema de control optimo consiste en encontrar, si existe, unasucesion de controles {u∗(t)}N−1

t=0 ⊂ U tal que la sucesion solucion {x∗(t)}N−1t=0 del problema

de condiciones iniciales (7.2) cumple:

K(x∗(N)) + N−1∑t=0

Lt(x∗(t), u∗(t)) ≤K(x(N)) + N−1∑t=0

Lt(x(t), u(t)), (7.7)

para toda sucesion {u(t)}N−1t=0 ⊂ U y la correspondiente sucesion solucion {x(t)}N−1

t=0 de(7.2). Al igual que en el caso continuo escribiremos que u∗ es la solucion del problema

minimizar J(u) =K(x(N)) + N−1∑t=0

Lt(x(t), u(t))sujeto a { x(t + 1) = ft(x(t), u(t)), t = 0,1, . . . ,N − 1

x(0) = x0

(7.8)

Para ambos tipos de problemas hay dos tecnicas clasicas de resolucion del problemade control optimo: la programacion dinamica desarrollada por Richard Bellman y la delprincipio del mınimo de Pontriagin desarrollada por el matematico ruso L. S. Pontriagin.En las dos proximas secciones estudiaremos la primera de ellas para cada tipo de sistemas.En la ultima haremos una incursion en el principio del mınimo de Pontriagin.

7.2. Programacion dinamica: caso discreto

La Programacion dinamica se basa en el llamado principio de optimalidad deBellman: Una polıtica optima tiene la propiedad de que cualquiera que sean el estadoinicial y la decision inicial, las restantes decisiones deben constituir una polıtica optimaen relacion al estado resultante de la primera decision.

Enseguida aplicaremos este principio a nuestro problema de control optimo, pero con-viene analizarlo de cerca para comprender su significado. En la Figura 7.1 se muestra un

Figura 7.1: Grafo de recorridos de a a l.

grafo que representa las posibles formas de ir de un origen (estado inicial) a a un destino(estado final) l. Se puede ir pasando por ciertos puntos intermedios (estados posibles) pero

Page 4: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

170 Control Optimo

ir de un punto (estado) a otro tiene un coste (se puede pensar en consumo de combustible,tiempo, etc.). Si x y z son dos estados cualesquiera, representamos con Jxz el coste de irdel estado x al z. Ası mismo J∗x es el coste mınimo de ir del estado x al l y J∗ el costemınimo de a a l.

Una busqueda exhaustiva nos da:

J∗ = mın{Jab + Jbd + Jdl, Jab + Jbe + Jel, Jac + Jch + Jhl, Jac + Jck + Jkl},para lo que deberıamos realizar 12 sumas. El principio de optimalidad nos dice que si eltrayecto optimo para ir de a a l es, digamos, ir de a a c, de c a h y de h a l, entonces,necesariamente, el trayecto optimo de ir de c a l es ir de c a h y entonces a l. ¿Como loaplicamos? Moviendonos hacia atras en el grafo: Calculamos los trayectos optimos de b yc a l:

J∗b = mın{Jbd + Jdl, Jbe + Jel}, J∗c = {Jch + Jhl, Jck + Jkl},y, aplicando el principio de optimalidad,

J∗ = mın{J∗b + Jab, J∗c + Jac}.El numero de sumas a realizar es, en este caso, exactamente la mitad de las que hay quehacer mediante la busqueda exhaustiva.

Un ejemplo numerico es el siguiente:

Ejemplo 7.1 Un motorista quiere minimizar el coste de ir desde el sitio en el que estaa un destino determinado h. Solo puede hacerlo siguiendo las direcciones indicadas enla Figura 7.2 (las calles son de direccion unica) y el coste de ir de una interseccion a lasiguiente es el indicado; por ejemplo, el coste de ir del estado c al d es 3. Supongamos que

Figura 7.2: Mapa de las calles.

el motorista se encuentra en c. De ahı solo se puede mover a d y a f . Supongamos tambienque sabe el coste mınimo de ir de d y de f a su destino final h. En este caso J∗d = J∗f = 8.Entonces, aplicando el principio de optimalidad, el coste mınimo de ir de c a h es

J∗c = mın{J∗d + Jcd, J∗f + Jcf} = mın{11,13} = 11.

Y el control optimo serıa la secuencia de decisiones: {S ,E, E, N} donde S, E y N significandirigirse hacia el Sur, hacia el Este y hacia el Norte, respectivamente.

Page 5: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

7.2 Programacion dinamica: caso discreto 171

¿Como sabe el motorista que J∗d = 8? Calculando primero J∗e . Como para ir de e ah tiene dos opciones: a traves de f o a traves de g ; necesita primero calcular J∗f y J∗gcuyos valores son 8 y 2, respectivamente. Por lo tanto, de nuevo aplicando el principio deoptimalidad

J∗e = mın{J∗f + Jef , J∗g + Jeg} = mın{10,5} = 5.

En consecuencia, J∗d = Jde +J∗e = 8, tal y como habıamos dicho. En definitiva, para aplicarel principio de optimalidad a cada interseccion, debemos calcular los valores optimos em-pezando desde las intersecciones mas proximas a h e ir hacia atras. En este caso el ordenserıa: J∗g , J∗f , J∗e , J∗d , J∗c , J∗b y J∗a . En la Tabla 7.1 se presentan los calculos que hay quehacer aplicando el principio de optimalidad en cada interseccion.

Interseccionactual

Direccion Proximaintersec-

cion

Coste mınimo deα a h vıa xi

Costemınimode α a h

Direccionoptima en

αα ui xi J∗xih+Jαxi = C∗

αxihJ∗αh u∗(α)

g N h 0+2=2 2 N

f E h 0+8=8 8 E

e N f 8+2=10E g 2+3=5 5 E

d E e 5+3=8 8 E

c E f 8+5=13c S d 8+3=11 11 S

b E c 11+3=14 14 E

a N b 14+2=16 16 Na E d 8+9=17

Tabla 7.1: Recorridos optimos.

La notacion empleada es la siguiente:

α representa el estado del sistema en cada instante (interseccion)

ui son las direcciones admitidas (controles) en cada estado. En este ejemplo hay 3posibles controles: N (norte), S (sur) y E (este).

xi es el estado contiguo a α que se puede alcanzar aplicando alguno de los controlesui admitidos en α.

Jαxi es el coste de ir de α a xi

J∗xih = J∗xi es el coste mınimo de alcanzar el estado final h desde xi.

C∗αxih

es el mınimo coste de ir de α a h a traves de xi.

J∗αh = J∗α es el coste mınimo de ir de α a h por cualquier trayecto admitido.

u∗(α) es la decision (control) optima en α.

Page 6: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

172 Control Optimo

Ası, la trayectoria optima para ir de a a h serıa: a → b → c → d → e → g → h y el controloptimo: u∗ = {N, E, S, E, E, N}. El coste mınimo J∗a = 16.

Si pensamos en los cruces de las calles como puntos en un sistema de coordenadascartesianos podemos asignar a cada cruce un par de coordenadas. Por ejemplo, a = (0,0),b = (0,1), d = (1,0), c = (1,1), e = (2,0), f = (2,1), g = (3,0) y h = (3,1). El problema queestamos resolviendo se podrıa enunciar como : calcular el coste mınimo de ir del punto(x, y) al punto (3,1) usando las direcciones y el coste asignado a cada transicion indicadosen la Figura 7.2 siendo x = 0,1,2,3, y = 0,1.

A fin de establecer un modelo matematico para este problema observamos que lasdirecciones posibles en la Figura 7.2 son {N,S,E}. Ademas ir de un punto a sus adyacentestiene un coste que podemos representar de la siguiente manera:

(x, y) NÐ→ (x, y + 1) coste: cN(x, y)(x, y) SÐ→ (x, y − 1) coste: cS(x, y)(x, y) EÐ→ (x + 1, y) coste: cE(x, y).

Se debe entender que el coste de ir en la direccion contraria a la que apuntan las flechasde la Figura 7.2 es ∞. Se omite la direccion oeste porque en este ejemplo ninguna flechaapunta en dicha direccion. Incorporar la direccion oeste se podrıa hacer imponiendo queel coste en esa direccion desde cada punto es ∞. De la misma forma, podemos extenderlas definiciones de cN , cS y cE para todo par de puntos (x, y) ∈ Z2 sin mas que asignarcoste infinito a cualquier transicion entre dos puntos que no esten en {0,1,2,3} × {0,1}.

Para (x, y) ∈ Z2, definimos la funcion valor optimo como la que da el coste del caminooptimo de (x, y) a (3,1), esta serıa J∗(x,y), que, por simplicidad notacional, la escribiremos

J∗(x, y). Es decir, pare este problema de camino optimo entre dos puntos:

J∗(x, y) ∶= Coste del camino optimo de (x, y) hasta (3,1).Y el principio de optimalidad establece que para todo (x, y) ∈ Z2

J∗(x, y) = mın{cN(x, y) + J∗(x, y + 1), cS(x, y) + J∗(x, y − 1), cE(x, y) + J∗(x + 1, y)}.Esta ecuacion recibe el nombre de ecuacion de optimalidad para el problema en estudio.Debemos exigir ademas la siguiente condicion de contorno: J∗(3,1) = 0. Esto tiene sentidoporque en este problema sobreentendemos que si el motorista se encuentra en el punto dedestino no hay ningun coste. Evidentemente, tal y como ha sido formulado el problema loque se busca es el valor J∗(0,0).

Vistos los ejemplos precedentes, para aplicar el principio de optimalidad a los proble-mas de control optimo debemos hacer la siguiente traduccion: Una “decision” es el valordel control u(t) para cada t = 0,1, . . . ,N −1 y “la polıtica” es la sucesion completa de con-troles {u(t)}N−1

t=0 . Ası pues, el principio de optimalidad de Bellman quedarıa: Una sucesionde controles optima {u∗(t)}N−1

t=0 tiene la propiedad de que para cualquier instante k ≥ 0 y

Page 7: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

7.2 Programacion dinamica: caso discreto 173

cualquiera que sean el estado en ese instante x∗(k) = x∗k, la sucesion de los controles apartir de k, {u∗(t)}N−1

t=k debe ser la solucion del problema de control optimo con la condi-cion inicial x(k) = x∗k. En otras palabras, para todo k = 0,1, . . . ,N − 1, {u∗(t)}N−1

t=k es lasolucion del problema:

minimizar J(u) =K(x(N)) + N−1∑t=k Lt(x(t), u(t))

sujeto a { x(t + 1) = ft(x(t), u(t)), t = k, k + 1, . . . ,N − 1x(k) = xk

(7.9)

Es evidente que la solucion de este problema es u∗(k), u∗(k + 1),. . . , u∗(N − 1), siendolos estados optimos x∗(k), x∗(k + 1),. . . , x∗(N) obtenidos como solucion del problema decondiciones iniciales

{ x(t + 1) = ft(x(t), u∗(t)), t = k, k + 1, . . . ,N − 1x(k) = xk .

En efecto, si la solucion fuera u�(k), u�(k + 1),. . . , u�(N − 1) entonces la sucesion decontroles u∗(0), u∗(1),. . . , u∗(k − 1), u�(k), u�(k + 1),. . . , u�(N − 1) darıa un valor menorde J que u∗(0), u∗(1),. . . , u∗(N − 1). Es decir, esta no serıa la sucesion de controles queminimizarıa la funcion de coste.

La formula (7.9) nos da la funcion valor optimo del problema: Para k ∈ {0,1, . . . ,N−1} y x ∈ RnJ∗k (x) = coste mınimo de alcanzar el estado x(N) desde el estado x ∈ Rn en el instante k.

Es decir,

J∗k (x) = mınu(k),...,u(N−1)∈U {K(x(N)) + N−1∑

t=k Lt(x(t), u(t))∣x(k) = x, x(t + 1) = ft(x(t), u(t)), t = k, k + 1, . . . ,N − 1}

Para obtener la ecuacion de optimalidad operativa vamos a desarrollar esta expresion. Enprimer lugar, el coste de alcanzar el estado final xf = xN es K(xN). Por ello convenimosque el valor de J∗N(x) es constante e igual a

J∗N(x) =K(xN), x ∈ Rn.En particular, J∗N(xN) =K(xN). A continuacion, para cualquier vector x ∈ Rn, calculamosJ∗N−1(x) que es el coste mınimo de alcanzar el estado x(N) cuando el sistema se encuentraen el estado x en el instante N − 1:

J∗N−1(x) = mınu(N−1)∈U {K(x(N)) +LN−1(x(N − 1), u(N − 1))∣x(N − 1) = x, x(N) = fN−1(x(N − 1), u(N − 1))}

= mınu(N−1)∈U {J∗N(fN−1(x,u(N − 1)) +LN−1(x,u(N − 1))} ,

(7.10)

Page 8: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

174 Control Optimo

donde hemos usado que x(N − 1) = x y que, siendo x(N) = fN−1(x(N − 1), u(N − 1)) =fN−1(x,u(N − 1)) y J∗N(xN) = K(x(N)), se tiene K(x(N)) = J∗N(fN−1(x,u(N − 1)).Ahora,

J∗N−2(x) = mınu(N−2),u(N−1)∈U {K(x(N)) +LN−1(x(N − 1), u(N − 1))

+ LN−2(x(N − 2), u(N − 2))∣x(N − 2) = x, x(t + 1) = ft(x(t), u(t)),t = N − 2,N − 1}

Pero si x(N − 2) = x entonces x(N − 1) = fN−2(x,u(N − 2)). Ası pues, teniendo en cuenta(7.10),

J∗N−2(x) = mınu(N−2)∈U { mın

u(N−1)∈U {K(x(N)) +LN−1(x(N − 1), u(N − 1))∣x(N − 1) = fN−2(x(N − 2), u(N − 2)), x(N) = fN−1(x(N − 1), u(N − 1)}

+ LN−2(x(N − 2), u(N − 2))∣x(N − 2) = x}= mın

u(N−2)∈U {J∗N−1(fN−2(x(N − 2), u(N − 2))) +LN−2(x(N − 2), u(N − 2))∣∣ x(N − 2) = x} = mın

u(N−2)∈U {J∗N−1(fN−2(x,u(N − 2))) +LN−2(x,u(N − 2))}.Usando los mismos argumentos para t = N − 2,N − 1,N obtendrıamos

J∗N−3(x) = mınu(N−3)∈U {J∗N−2(fN−3(x,u(N − 3))) +LN−3(x,u(N − 3))}. (7.11)

Continuando de esta manera hacia atras obtendrıamos la ecuacion de optimalidad:Para t = N − 1,N − 2, . . . ,0,1:

J∗t (x) = mınu(t)∈U {J∗t+1(ft(x,u(t))) +Lt(x,u(t))}, (7.12)

donde fN−1(x(N − 1), u(N − 1)) = x(N) = xf es un dato del problema y J∗N(x(N)) =K(x(N)).

Todo el proceso anterior se puede resumir en el siguiente teorema.

Teorema 7.2 Sean x0, xf ∈ Rn vectores dados y consideremos el problema de controloptimo en tiempo discreto (7.8) donde x(N) = xf . Definamos J∗N(x) = K(x(N)) paratodo x ∈ Rn y supongamos que para t = N − 1,N − 2, . . . ,1,0 y cada x ∈ R, el problema

mınu(t)∈U{Lt(x,u(t)) + J∗t+1(ft(x,u(t)))},

tiene una unica solucion u(t) = ht(x) y sea J∗t (x) el valor mınimo de dicho problema enx. Entonces la sucesion dada por

x∗(0) = x0

u∗(t) = ht(x∗(t)), t = 0,1, . . . ,N − 1x∗(t + 1) = ft(x∗(t), u∗(t)), t = 0,1, . . . ,N − 1

(7.13)

Page 9: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

7.2 Programacion dinamica: caso discreto 175

minimiza la funcion de coste J(u) y su valor mınimo es J∗0 (x0).

En palabras: para un vector arbitrario x ∈ Rn, empezamos con la funcion constanteJ∗N(x) = K(x(N)) y calculamos, usando la formula (7.12), J∗N−1(x) y el valor u(N − 1)donde se alcanza el mınimo, que dependera del vector x; es decir u(N − 1) = hN−1(x). Acontinuacion calculamos, usando la formula (7.12), J∗N−2(x) y el valor u(N −2) = hN−2(x)donde se alcanza el mınimo. Y ası, recursivamente hacia atras calculamos, siempre usando(7.12), J∗N−3(x) y u(N − 3) = hN−3(x), . . . , J∗0 (x) y u(0) = h0(x). Ahora, concocemos elvalor del estado inicial x0, que es un dato del problema. Con este valor y con ayuda de laecuacion restriccion x(t+1) = ft(x(t), u(t)), vamos a construir la sucesion de controles y es-tados optimos. Ponemos x∗(0) = x0 y calculamos u∗(0) = h0(x∗(0)). Con u∗(0) calculamosx∗(1) = f0(x∗(0), u∗(0)), lo cual nos permite calcular u∗(1) = h1(x∗(1)). A su vez, con estevalor del control podemos calcular el siguiente estado x∗(2) = f1(x∗(1), u∗(1)) y entoncesu∗(2) = h2(x∗(2)). Y ası sucesivamente x∗(3) = f2(x∗(2), u∗(2)) y u∗(3) = h3(x∗(3)),. . . ,x∗(N −1) = fN−2(x∗(N −2), u∗(N −2)) y u∗(N −1) = hN−1(x∗(N −1)). El valor se x∗(N)es un dato del problema: x∗(N) = xf . El coste mınimo es el valor J∗0 (x0) calculado en elproceso recursivo hacia atras.

Si el problema consiste en maximizar en vez de minimizar, se puede cambiar maximopor mınimo en todo lo anterior o, simplemente, cambiar el signo de la funcion y minimizar(haciendo los cambios de signo apropiados al terminar el proceso).

Ejemplo 7.3 Se posee una cantidad A de recursos que se pueden asignar a N distintasactividades. La cantidad asignada a la k + 1-esima actividad es u(k), k = 0,1, . . . ,N − 1,y el beneficio proporcionado por dicha actividad es gk(u(k)). Se pretende maximizar elbeneficio total. Supondremos que gk(u) = √

u.

Tenemos que resolver el problema:

maxN−1∑k=0

√u(k), sujeto a

N−1∑k=0

u(k) = A.Reformulamos el problema de la siguiente forma: supondremos que vamos asignando re-cursos a cada actividad sucesivamente, siendo x(t) la cantidad de recursos que nos quedandespues de asignar recursos a las t primeras actividades. De esta manera, tenemos unsistema en diferencias finitas (tiempo discreto):

x(t + 1) = x(t) − u(t), t = 0,1,2, . . .N − 1

con condiciones de frontera x(0) = A, x(N − 1) = 0 y funcion objetivo que se quieremaximizar:

J(u) = N−1∑t=0

√u(t).

Ası pues Lt(x,u(t)) = √u(t). Ademas lo que se asigna a cada actividad nunca puede ser

superior a los recursos disponibles en cada momento; i.e. 0 ≤ u(t) ≤ x(t).

Page 10: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

176 Control Optimo

Funcion valor optimo: J∗N(x) =K(x(N)) = 0 y para k = N − 1,N − 2, . . . ,0

J∗k (x) = maxu(k),...,u(N−1)∈U {N−1∑

t=k√u(t) ∶ x(k) = x, x(t + 1) = x(t) − u(t),

t = k, k + 1, . . . ,N − 1},siendo U el intervalo [0, x]. Ecuaciones de optimalidad: Para t = N − 1,N − 2, . . . ,0

J∗t (x) = mın0≤u(t)≤x{J∗t+1(x − u(t)) +Lt(x,u(t))}.

Dado que K = 0 es la funcion cero, J∗N(x) = K(x(N)) = 0 para todo x ∈ R. Pasamosentonces a calcular

J∗N−1(x) = maxu(N−1){J∗N(x − u(N − 1)) +LN−1(x,u(N − 1))} =

= maxu(N−1)

√u(N − 1) = √

x

porque 0 ≤ u(N − 1) ≤ x(N − 1) = x. Ası J∗N−1(x) = √x y se alcanza para u(N − 1) = x.

A continuacion calculamos J∗N−2(x). En este caso, LN−2(x,u(N − 2)) = √u(N − 2) y

hay que maximizar

J∗N−1(x − u(N − 2)) +√u(N − 2) = √

u(N − 2) +√x − u(N − 2).

De nuevo, como 0 ≤ u(N − 2) ≤ x(N − 2) = x, concluimos que (mediante un simple calculoo derivando respecto u(N − 2) e igualando la derivada a 0):

J∗N−2(x) = √2x,

que se alcanza para u(N − 2) = x/2.

Siguiendo este proceso iterativamente, es facil ver que J∗t (x) = √(N − t)x y que dichovalor se obtiene para u(t) = x/(N −t), t = N −1,N −2, . . . ,0. Ası pues, el valor optimo de la

funcion de coste es J∗0 (x0) = √Nx0 = √

NA y la secuencia de controles y correspondientesestados que proporcionan dicho valor optimo es:

x∗(0) = A, u∗(0) = x∗(0)/N = A/Nx∗(1) = x∗(0) − u∗(0) = A −A/N = (N − 1)A/N, u∗(1) = x∗(1)/(N − 1) = A/Nx∗(2) = x∗(1) − u∗(1) = (N − 2)A/N, u∗(2) = x∗(2)/(N − 2) = A/N. . .

Es decir, u∗(t) = A/N y x∗(t) = A(N − t)/N para t = 0,1, . . . ,N − 1. Resultado que eraesperable dado que la simetrıa del problema conduce a pensar que la estrategia optimaconsiste en asignar la misma cantidad de recursos a cada actividad.

Page 11: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

7.2 Programacion dinamica: caso discreto 177

7.2.1. El problema LQR discreto

El problema de control optimo se llama LQR (Linear Quadratic Regulator problem)si el sistema de control es lineal

x(k + 1) = A(k)x(k) +B(k)u(k) (7.14)

y la funcion de coste tiene la siguiente forma:

J(u) = 1

2x(N)THx(N) + 1

2

N−1∑k=0

[x(k)TQ(k)x(k) + u(k)TR(k)u(k) + 2u(k)TS(k)x(k)](7.15)

donde todas las matrices que aparecen en la expresion de J son reales de tamano n × n y

H y Q(k) son simetricas semidefinidas positivas para todo k = 0,1, . . . ,N − 1.

R(k) es simetrica definida positiva para todo k = 0,1, . . . ,N − 1.

[Q(k) ST (k)S(k) R(k) ] es semidefinida positiva para todo k = 0,1, . . . ,N − 1.

N es un entero positivo fijo.

T significa trasposicion.

Supondremos ademas (sobre todo para simplificar la notacion) que las matrices A, B,Q y R son constantes. Aplicaremos la tecnica de programacion dinamica y el principiode optimalidad para dar una expresion cerrada de la solucion del problema LQR. Paraello aplicaremos el Teorema 7.2. Comenzamos identificando las funciones que definen elproblema:

K(x) = 1

2xTHx, y Lt(x,u) = 1

2(xTQx + uTRu + 2uTSx),

de modo que J(u) =K(x(N)) + N−1∑t=0

Lt(x(t), u(t)).Demostraremos por induccion regresiva sobre t = N,N − 1, . . . ,1,0, que la ecuacion de

optimalidad se reduce a la expresion

J∗t (x) = 1

2xTHtx (7.16)

donde HN =H y

Ht = Q +ATHt+1A − F Tt (R +BTHt+1B)Ft, t = 0,1, . . . ,N − 1, (7.17)

y

Ft = −(R +BTHt+1B)−1(S +BTHt+1A). (7.18)

Page 12: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

178 Control Optimo

Observese que siendo HN = H simetrica, todas las matrices Ht son simetricas. Ademas,como H =HN y Q son semidefinidas positivas, tenemos que Q+ATHt+1A y BTHt+1B sonsemidefinida positivas. Finalmente, como R es definida positiva, R+BTHt+1B es tambiendefinida positiva. Esto implica que Ft esta bien definida porque R+BTHt+1B tiene inversa.

En primer lugar, para t = N tenemos J∗N(x) = 1

2xTHNx = 1

2xTHx = K(x) porque

HN =H. Supongamos que J∗t (x) = 1

2xTHtx y demostremos que J∗t−1(x) = 1

2xTHt−1x. Por

el Teorema 7.2 tenemos (para simplificar la notacion suprimimos el argumento de u; esdecir, escribiremos u en vez de u(t − 1)):

J∗t−1(x) = mınu

{Lt−1(x,u) + J∗t (ft−1(x,u))} == mın

u{Lt−1(x,u) + 1

2ft−1(x,u)THtft−1(x,u)} =

= 1

2mınu

{xTQx + uTRu + 2uTSx + (Ax +Bu)THt(Ax +Bu)}Escribamos

Jt−1(x,u) = xTQx + uTRu + 2uTSx + (Ax +Bu)THt(Ax +Bu) == uT (R +BTHtB)u + 2uT (BTHtA + S)x + xT (Q +ATHtA)x, (7.19)

donde hemos usado que (Ax)THtBu+(Bu)THtAx = xTATHtBu+uTBTHtAx = (uTBTHtAx)T+uTBTHtAx = 2uTBTHtAx porque Ht es simetrica.

Teniendo en cuenta que los controles admisibles u = u(t) para cada instante t sonvectores arbitrarios de Rn (al contrario de lo que pasaba en el Ejemplo 7.3, en el problemaLQR no hay ninguna restriccion sobre los posibles controles admisibles), para buscar lospuntos crıticos de Jt−1(x,u), respecto a u, debemos calcular los valores u para los que severifica

∂Jt−1

∂u=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

∂Jt−1

∂u1∂Jt−1

∂u2⋮∂Jt−1

∂un

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦= 0.

Ahora bien, para cualquier matriz G real de tamano n×n, uTGu = n∑i,j=1

gijuiuj . Si, ademas

G es simetrica, se comprueba facilmente que∂uTGu

∂ui= 2 [gi1 gi2 . . . gin]u. Es decir,

∂uTGu

∂u= 2Gu. De forma parecida se ve que

∂uTGx

∂u= Gx (en este caso no es necesario

que G sea simetrica). En consecuencia,

∂Jt−1

∂u= 2(R +BTHtB)u + 2(BTHtA + S)x. (7.20)

Page 13: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

7.2 Programacion dinamica: caso discreto 179

Dado que R +BTHtB es invertible, el vector que soluciona la ecuacion∂Jt−1

∂u= 0 es

u∗ = −(R +BTHtB)−1(BTHtA + S)x = Ft−1x.

Ademas, la matriz de las segundas derivadas parciales se calcula sin ninguna dificultad:

∂2Jt−1

∂u2= [ ∂2Jt−1

∂ui∂uj]ni,j=1

= R +BTHtB,

que, tal y como hemos visto mas arriba, es definida positiva. Es decir, Jt−1(x,u) alcanzaen u∗ = Ft−1x un mınimo relativo. Pero es un resultado bien conocido que para unafuncion cuadratica el mınimo relativo es tambien el mınimo absoluto o global. Sustituyendou∗ = Ft−1x en (7.19) obtenemos:

J∗t−1(x) = 1

2mınu

{xTQx + uTRu + 2uTSx + (Ax +Bu)THt(Ax +Bu)} == 1

2(xTF Tt−1(R +BTHtB)Ft−1x + 2xTF Tt−1(BTHtA + S)x + xT (Q +ATHtA)x) =

= 1

2xt (Q +ATHtA + F Tt−1(R +BTHtB)Ft−1 + 2F Tt−1(−(R +BTHtB)Ft−1))x)

donde hemos usado que −(R +BTHtB)−1(BTHtA + S) = Ft−1. En definitiva,

J∗t−1(x) = 1

2xt (Q +ATHtA − F Tt−1(R +BTHtB)Ft−1)x = 1

2xTHt−1x,

tal y como se deseaba demostrar.

Resumimos el resultado obtenido en el siguiente teorema

Teorema 7.4 La ley de control optimo para el problema LQR viene dada por el feedbacklineal

u∗(t) = Ftx(t) (7.21)

obteniendose el valor mınimo de la funcion de coste

J(u∗) = x(0)TH0x(0), (7.22)

donde las matrices Ft estan definidas por la formula (7.18) y la sucesion de matrices Ht

por la formula (7.17) siendo HN =H.

El resultado del teorema muestra que el controlador se implementa mediante un feed-back de estados lineal que se puede construir recursivamente pero que, en general, esdependiente del tiempo. Se puede demostrar, no obstante, que si el sistema es controlable,H = 0 y R y Q son constantes, entonces el feedback que proporciona el control optimotiende a ser constante. Es decir, FN−k → F (matriz constante) cuando N →∞.

Page 14: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

180 Control Optimo

Ejemplo 7.5 Consideremos el siguiente sistema lineal discreto

x(k + 1) = [ 0,9974 0,0539−0,1078 1,1591]x(k) + [0,0013

0,0539]u(k)

con la condicion inicial x(0) = [21]. Se quiere calcular una ley de control que minimice el

funcional de coste

J = 1

2

N−1∑k=0

(0,25x1(k)2 + 0,05x2(k)2 + 0,05u(k)2)Para calcular la ley de control optimo identificamos las matrices A, B, H, Q, R y S:

A = [ 0,9974 0,0539−0,1078 1,1591] , B = [0,0013

0,0539]

H = 0, Q = [0,25 00 0,05

] , R = 0,05, S = 0

Hacer las operaciones a mano es muy penoso a poco grande que sea N . Se puededisenar una funcion de MATLAB

Una vez obtenida las matrices de feedback se pueden obtener facilmente los controlesy trayectoria optimas, ası como sus graficas. Para el ejemplo que estamos trabajando, lasgraficas proporcionadas se muestran en las Figuras 7.3 y 7.4.

Figura 7.3: Grafica de la evolucion de lasdos columnas de la matrices de feedbackdel sistema del Ejemplo 7.5.

Figura 7.4: Trayectorias y control optimodel problema en el Ejemplo 7.5.

Page 15: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

7.3 Programacion dinamica: caso continuo 181

7.3. Programacion dinamica: caso continuo

Recordemos que el problema de control optimo en este caso es

minimizar J(u) =K(tf , x(tf)) + ∫ tf

t0L(t, x(t), u(t))dt

sujeto a { x(t) = f(t, x(t), u(t)), t ∈ [t0, tf ] ⊂ Rx(t0) = x0

(7.23)

Al igual que en el caso discreto, para aplicar la programacion dinamica, definimos pri-mero la funcion valor optimo. Teniendo en cuenta que ahora t es una variable continua,la funcion valor optimo sera:

J∗(t, x) = ınfu[t,tf ]

J(t, x, u). (7.24)

donde t ∈ [t0, tf), x ∈ Rn, u[t,tf ] significa que u(⋅) ∈ U se restringe al intervalo [t, tf ] ydonde

J(t, x, u) =K(tf , x(tf)) + ∫ tf

tL(s, x(s), u(s))ds (7.25)

siendo la funcion x(⋅), en la parte de la derecha de la ecuacion, la solucion del problemade condicion inicial

{ x(τ) = f(τ, x(τ), u(τ)), τ ∈ [t, tf ] ⊂ Rx(t) = x

Aquı hay un abuso de notacion: x como argumento de J(t, x, u) es un vector cualquiera deRn, mientras que x(s) en L es el valor que toma una funcion vectorial. Ademas u, comoargumento de J(t, x, u) es una funcion u(⋅) ∈ U ; i.e. u ∶ [t, tf ] → U ⊆ Rm. Es sobre estasfunciones sobre las que se calcula el ınfimo en (7.24). Hablando vagamente J∗(t, x) es lafuncion de coste mınimo desde (t, x) a (tf , x(tf)) (tambien llamada “optimal cost-to-gofunction”). Es claro que la funcion J∗(t, x) debe satisfacer la condicion d frontera

J∗(tf , x) =K(tf , x), ∀x ∈ Rn. (7.26)

Con estas definiciones, el principio de optimalidad dice lo siguiente: Para cada (t, x) ∈[t0, tf ] ×Rn y cada ∆t ∈ (0, tf − t] el valor de la funcion J∗ definido en (7.24) cumple lasiguiente condicion:

J∗(t, x) = ınfu[t,t+∆t] {∫

t+∆t

tL(s, x(s), u(s))ds + J∗(t +∆t, x(t +∆t))} (7.27)

Esta es la ecuacion de optimalidad. Su parecido con la ecuacion (7.12) del caso discretoes manifiesto. En realidad que la funcion J∗(t, x) de (7.24) coincide con la de (7.27) requiereuna demostracion (sobre todo teniendo en cuenta que no estamos suponiendo la existenciade un mınimo). Denotemos con J∗(t, x) la expresion de la derecha de la igualdad (7.27):

J∗(t, x) = ınfu[t,t+∆t] {∫

t+∆t

tL(s, x(s), u(s))ds + J∗(t +∆t, x(t +∆t))} . (7.28)

Page 16: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

182 Control Optimo

Veamos en primer lugar que J∗(t, x) ≥ J∗(t, x). En efecto, por la definicion de ınfimo, paracada t ∈ [t0, tf ] y x ∈ Rn y para cada ε > 0 existe un control uε en [t, tf ] tal que

J∗(t, x) + ε ≥ J(t, x, uε). (7.29)

Si xε(⋅) es la correspondiente solucion del problema de condiciones iniciales con control uεy condicion inicial xε(t) = x, tenemos

J(t, x, uε) = ∫ t+∆t

tL(s, xε(s), uε(s))ds + J(t +∆t, xε(t +∆t, uε) ≥

≥ ∫ t+∆t

tL(s, xε(s), uε(s))ds + J∗(t +∆t, xε(t +∆t)) ≥ J∗(t, x).

Dado que (7.29) se verifica para ε arbitrariamente pequeno, concluimos que J∗(t, x) ≥J∗(t, x).

Recıprocamente, se sigue de la definicion de J∗(t, x), (7.28), que fijados t ∈ [t0, tf ],∆t ∈ (0, tf − t] y x ∈ Rn, para todo ε > 0 arbitrariamente pequeno existe un control uε en

[t, t+∆t] tal que si xε(⋅) es la solucion del P.C.I. { x = f(τ, x, u)x(t) = x , τ ∈ [t, t+∆t], entonces

J∗(t, x) + ε ≥ ∫ t+∆t

tL(s, xε(s), uε(s))ds + J∗(t +∆t, xε(t +∆t)). (7.30)

Ahora bien, J∗(t+∆t, xε(t+∆t)) = ınfu[t+∆t,tf ]

J(t+∆t, xε(t+∆t), u). Por consiguiente, para

δ > 0 arbitrariamente pequeno existe un constrol uδ en [t + ∆, tf ] tal que si xδ(⋅) es la

solucion del P.C.I. { x = f(τ, x, u)x(t +∆t) = xε(t +∆t) , τ ∈ [t +∆t, tf ], entonces

J∗(t +∆t, xε(t +∆t)) + δ ≥ J(t +∆t, xε(t +∆t), uδ). (7.31)

Notese que xε(t +∆t) = xδ(t +∆t).Recordemos ahora que uε, uδ ∈ U = PC([t0, tf ], U) son funciones continuas a trozos.

Para τ ∈ [t0, tf ] definimos

u(τ) = { uε(τ) si τ ∈ [t,t +∆t)uδ(τ) si τ ∈ [t +∆t, tf ] .

De esta forma u ∈ U y el P.C.I. { x = f(τ, x, u)x(t) = x admite una unica solucion en [t, tf ],

digamos x(⋅). Esta funcion es solucion en [t, t + ∆t] del sistema x = f(τ, x, uε) con lacondicion inicial x(t) = x. Por lo tanto, debido a la unicidad de la solucion, x(τ) = xε(τ)para τ ∈ [t, t+∆t). Un argumento similar demuestra que x(τ) = xδ(τ) para τ ∈ [t+∆t, tf ].Como, recordemos, xε(t + ∆t) = xδ(t + ∆t), tenemos que x(⋅) es continua en t + ∆t. Asıpues, de (7.30) y (7.31) obtenemos

J∗(t, x) + ε ≥ ∫ t+∆t

tL(s, x(s), u(s))ds + J∗(t +∆t, x(t +∆t)) ≥

≥ ∫ t+∆t

tL(s, x(s), u(s))ds + J(t +∆t, x(t +∆t), u) − δ ≥

≥ J(t, x, u) − δ ≥ J∗(t, u) − δ

Page 17: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

7.3 Programacion dinamica: caso continuo 183

Es decir, J∗(t, x) + ε + δ ≥ J∗(t, u). Y como esta desigualdad se verifica para ε > 0 yδ > 0 arbitrariamente pequenos, debemos concluir que J∗(t, x) ≥ J∗(t, u). Por lo tanto,J∗(t, x) = J∗(t, u) tal y como se deseaba demostrar.

Al contrario de lo que sucedıa en el caso discreto, la formula de J∗(t, x) en (7.27) noes operativa. Por ello, vamos a trabajar sobre ella para obtener una condicion suficientede existencia de un coste mınimo para el problema de control optimo continuo. En primerlugar desarrollamos la funcion x(⋅) en serie de Taylor en t hasta primer orden. Recordandoque x(t) = x y x(t) = f(t, x(t), u(t)):

x(t +∆t) = x + f(t, x, u(t))∆t + o(∆t),donde o(∆t) representa los terminos de la serie de Taylor que contienen potencias de ∆tsuperiores a 1. Esto nos permite escribir J∗(t +∆t, x(t +∆t)) de la siguiente forma (bajola suposicion, que mantendremos en adelante, de que J∗ es de clase C1):

J∗(t +∆t, x(t +∆t)) = J∗(t, x) + [∂J∗∂t

(t, x)]∆t++ [∂J∗

∂x(t, x)]T (x(t +∆t) − x(t)) + o(∆t) =

=J∗(t, x) + J∗t (t, x)∆t+ < J∗x (t, x), f(t, x, u(t))∆t > +o(∆t)(7.32)

donde

J∗t (t, x) = ∂J∗∂t (t, x).J∗x (t, x) = ∂J∗∂x

(t, x) = [∂J∗∂x1

(t, x) ∂J∗∂x2

(t, x) . . .∂J∗∂xn

(t, x)]T .

< ⋅, ⋅ > es el producto escalar habitual en Rn. En particular, < J∗x (t, x), f(t, x, u(t))∆t >=J∗x (t, x)T f(t, x, u(t))∆t.

Tambien tenemos (desarrollando de nuevo en serie de Taylor)

∫ t+∆t

tL(s, x(s), u(s))ds = L(t, x(t), u(t))∆t + o(∆t). (7.33)

Sustituyendo (7.32) y (7.33) en (7.27) obtenemos

J∗(t, x) =ınf

u[t,t+∆t] {L(t, x, u(t))∆t + J∗(t, x) + J∗t (t, x)∆t+ < J∗x (t, x), f(t, x, u(t))∆t > +o(∆t)}Dado que J∗(t, x) no depende de u podemos “sacarlo fuera del ınf” y simplificarlo con elJ∗(t, x) que esta a la izquierda de la igualdad:

0 = ınfu[t,t+∆t] {L(t, x, u(t))∆t + J∗t (t, x)∆t+ < J∗x (t, x), f(t, x, u(t))∆t > +o(∆t)} (7.34)

Page 18: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

184 Control Optimo

Observamos que para valores s > t el unico sumando que depende de u(s) en la expresion

del mınimo es o(∆t). Recordamos tambien que, por definicion, lım∆t→0

o(∆t)∆t

= 0. Por lo

tanto, dividiendo por ∆t y tomando el lımite cuando ∆t → 0 resulta que el mınimo setoma sobre “valores instantaneos” de u en t; es decir, sobre los vectores u(t) ∈ U queabreviaremos suprimiendo el argumento t: u ∈ U ya que, en definitiva, u(t) puede sercualquier vector de U ⊆ Rm. Todo esto nos conduce a la siguiente ecuacion que debecumplir J∗(t, x) de acuerdo con el principio de optimalidad:

−J∗t (t, x) = ınfu∈U {L(t, x, u)+ < J∗x (t, x), f(t, x, u) >} (7.35)

Esta ecuacion que la funcion J∗(t, x) debe cumplir para todo t ∈ [t0, tf) y todo x ∈ Rn seconoce con el nombre de ecuacion de Hamilton-Jacobi-Bellman. Es una ecuacion enderivadas parciales con la condicion de frontera (7.26): J∗(tf , x) =K(tf , x), ∀x ∈ Rn.

Podemos aplicar todavıa algunas transformaciones adicionales para expresar la ecua-cion de Hamilton-Jacobi-Bellman (HJB) de una forma mas compacta. Se define el Hamil-toniano de las funciones h ∶ R × Rn × Rm → Rn y g ∶ R × Rn × Rm → R como la siguientefuncion de 4 variables t ∈ R, x ∈ Rn, u ∈ Rm y p ∈ Rn :

H(t, x, u, p) =< p, h(t, x, u) > +g(t, x, u),La ecuacion HJB puede escribirse usando el Hamiltoniano como sigue: dado que (7.35) esequivalente −J∗t (t, x) = ınf

u∈U {< J∗x (t, x), f(t, x, u) > +L(t, x, u)}la ecuacion de Hamilton-Jacobi-Bellman puede escribirse como

−J∗t (t, x) = ınfu∈UH(t, x, u, J∗x (t, x)) (7.36)

Hasta ahora no hemos asumido que la existencia de un control optimo (es decir, queel ınfimo de la ecuacion (7.35), o (7.36), se alcanza).Cuando un control optimo (global),u∗, existe, el ınfimo en todo lo anterior se puede reemplazar por mınimo sustituyendo upor u∗. En particular, el principio de optimalidad quedarıa:

J∗(t, x) = ınfu[t,tf ]

{∫ t+∆t

tL(s, x(s), u(s))ds + J∗(t +∆t, x(t +∆t))}

= ∫ t+∆t

tL(s, x∗(s), u∗(s))ds + J∗(t +∆t, x∗(t +∆t))

donde x∗(⋅) y x(⋅) son las trayectorias correspondientes a los controles u∗(⋅) y u(⋅), res-pectivamente, que pasan, ambas, por el mismo punto inicial x∗(t) = x(t) en el instante t.En estas condiciones tenemos

−J∗t (t, x) = mınu∈U {L(t, x∗, u)+ < J∗x (t, x∗), f(t, x∗, u) >}= L(t, x∗(t), u∗(t))+ < J∗x (t, x∗(t)), f(t, x∗(t), u∗(t)) > . (7.37)

Page 19: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

7.3 Programacion dinamica: caso continuo 185

O, usando el Hamiltoniano,

mınu∈U H(t, x∗, u, J∗x (t, x∗)) =H(t, x∗(t), u∗(t), J∗x (t, x∗(t))) (7.38)

Ejemplo 7.6 Consideremos la ecuacion x = u (x,u ∈ R) y sea L(x,u) = x4 + u4. Laecuacion HJB en este caso es

−J∗t (t, x) = ınfu∈R{x4 + u4 + J∗x (t, x)u} (7.39)

Como la expresion en el interior del ınf es un polinomio en u, podemos encontrar facilmenteel control donde se alcanza el ınfimo: derivando respecto a u obtenemos 4u3 +J∗x (t, x) = 0.Ası,

u = −(1

4J∗x (t, x))1/3

. (7.40)

Sustituyendo el valor de u en la ecuacion HJB (7.39):

−J∗t (t, x) = x4 − 3(1

4J∗x (t, x))4/3

. (7.41)

Esta es una ecuacion diferencial en derivadas parciales que, suponiendo que la pudiera-mos resolver, nos proporcionarıa una funcion J∗(t, x) con la que obtendrıamos un control

optimo u∗(t) = −(1

4J∗x (t, x∗(t)))1/3

como una feedback de estados. Mas explıcitamen-

te: una vez resuelta la ecuacion (7.41) obtendrıamos una funcion solucion V (t, x). De-rivandola respecto a x y sustituyendo la funcion obtenida en el lugar de J∗x (t, x) en (7.40)conseguirıamos una funcion u(t, x). Esta se insertarıa en la ecuacion diferencial dadax(t) = Vx(t, x) que una vez resuelta con la condicion inicial que nos dieran x(t0) = x0,nos porporcionarıa la trayectotia optima x∗(t). El control optimo serıa, como se ha dicho,

u∗(t) = −(1

4J∗x (t, x∗(t)))1/3

.

Hasta ahora hemos establecido que la funcion de coste del problema de control opti-mo debe satisfacer necesariamente la condicion (7.35) (o equivalentemente (7.36)) y quesi existe una funcion de control para la que el ınfimo de estas ecuaciones se alcanza, en-tonces el Hamiltoniano debe cumplir (7.38). Vamos a dar ahora una condicion suficientede optimalidad en el siguiente teorema.

Teorema 7.7 Sea J∗ ∶ [to, tf ] ×Rn → R una funcion de clase C1 (con derivadas parcialescontinuas) que satisface la ecuacion de Hamilton-Jacobi-Bellman (7.35) (o equivalente-mente (7.36)) y la condicion de frontera (7.26) J∗(tf , x) = K(tf , x). Supongamos quepara cada t ∈ R y para cada x ∈ Rn el mınimo de la ecuacion HJB (7.35) con la condicionde frontera dada se alcanza para una funcion u = h(t, x) y sea x∗(t) la unica solucion delproblema de condicion inicial

{ x(t) = f(t, x, h(t, x))x(t0) = x0

Page 20: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

186 Control Optimo

Si u∗(t) = h(t, x∗(t)), entonces u∗(⋅) es la funcion de control optimo, x∗(⋅) es la trayectoriaoptima y J∗(t0, x0) es el coste optimo; i.e., el valor optimo de J(u).

Ejemplo 7.8 Consideremos el sistema x(t) = x(t) + u(t) (x,u ∈ R) y supongamos que

queremos minimizar el funcional J(u) = 1

4x(T )2 + ∫ T

0

1

4u(t)2dt siendo T el tiempo final.

Ası, K(tf , x) = 1

4x(T )2 es el coste final (constante) y L(t, x, u) = 1

4u(t)2 y la funcion

de coste de (t, x) a (T,x(T )) para cada (t, x) ∈ R × R debe satisfacer la ecuacion HJB(7.36):

−J∗t (t, x) = mınu∈R H(t, x, u, J∗x (t, x)) = mın

u∈U {(x + u)J∗x (t, x) + 1

4u2}

Para hallar el mınimo de H derivamos respecto a u e igualamos a 0:

∂H∂u

= 1

2u + J∗x (t, x) = 0.

Como, ademas,∂2H∂u2

= 1

2> 0, tenemos que el mınimo de H(t, x, u, J∗x ) se alcanza para

u∗(t) = −2J∗x (t, x).Sustituyendo esta funcion en la ecuacion HJB vemos que la funcion J∗(t, x) debe satisfacerla ecuacion en derivadas parciales

0 = J∗t + 1

4(−2J∗x )2 + J∗x (x − 2J∗x ) = J∗t − J∗x2 + xJ∗x (7.42)

con la condicion J∗(T,x(T )) = 1

4x(T )2.

El problema que estamos resolviendo es un ejemplo de la version continua del problemaLQR de la Seccion 7.2.1. Recordando que las matrices de coste en aquel caso tenıan la

forma J∗(t, x) = 1

2xTH(t)x vamos a probar con J∗(t, x) = 1

2xTP (t)x para (7.42). Tenemos

entonces

J∗t (t, x) = 1

2P (t)x, J∗x (t, x) = P (t)x,

que sustituıdos en (7.42) produce:

0 = 1

2P (t)x2 − P (t)2x2 + P (t)x2

para todo x. Esto implica que P (t) debe ser solucion de la ecuacion diferencial

1

2P − P 2 + P = 0 (7.43)

y cumplir la condicion J∗(T,x(T )) = 1

4x(T )2. Es decir, P (T ) = 1

2. La ecuacion (7.43) es

de tipo Ricatti y estas, cuando son de coeficientes variables, no son facilmente resolubles.

Page 21: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

7.4 El problema LQR continuo 187

En este caso, sin embargo, es de coeficientes constantes y se puede resolver separando lasvariables. En este ejemplo, la solucion general de la ecuacion es

P (t) = 1

1 − ce2t

donde c es una constante no nula. Imponiendo la condicion P (T ) = 1

2llegamos a

P (t) = 1

1 + e2(t−T ) .El control optimo es entonces

u∗(t) = −2J∗x (t, x)x(t) = −2P (t)x(t) = − 2

1 + e2(t−T )x(t).Se trata de un feedback de estados lineal que varıa con t. El coste optimo sera J(u∗) =1

2P (t0)x2

0 = 1

2(1 + e2(t0−T ))x0 sindo x(t0) = x0 la condicion inicial de la ecuacion.

Tal y como se ha mencionado, el Ejemplo 7.8 es un caso particular de la version con-tinua del problema LQR visto en la Seccion 7.2.1. En la siguiente seccion lo desarrollamosen completa generalidad.

7.4. El problema LQR continuo

Al igual que en el caso discreto, el problema de control optimo continuo se llama LQRsi el sistema de control es lineal:

x(t) = A(t)x(t) +B(t)u(t) (7.44)

y el funcional de coste es (por sencillez notacional suprimimos los1

2habituales (ver (7.15))):

J(u) = x(tf)THx(tf) + ∫ tf

t0(x(t)TQ(t)x(t) + u(t)TR(t)u(t))dt, (7.45)

donde, para todo t ∈ [t0, tf ], x(t) ∈ Rn, u(t) ∈ Rm H,Q(t) ∈ Rn×n, R(t) ∈ Rm×m, H y Q(t)son simetricas semidefinidas positivas y R(t) es simetrica definida positiva.

Si Q(t) = In, x(t)Tx(t) = ∥x(t)∥22 indicarıa lo lejos que esta el estado del sistema

en el instante t del estado cero (x(t) = 0). Siendo Q(t) ≠ In, x(t)TQ(t)x(t) representael mismo criterio pero asignando a cada componente del estado en cada instante t un

determinado peso. La integral ∫ tf

t0x(t)TQ(t)x(t)dt serıa una medida de la desviacion de

x(t) del estado cero a lo largo del intervalo [t0, tf ] habiendo asignado a cada componentedel estado en cada instante t un determinado peso. Encontrar un control del sistema (7.44)

Page 22: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

188 Control Optimo

que minimice esta cantidad equivale a hacer que el sistema se aproxime al estado cero lomas rapidamente posible; es decir, instantaneamente. Recordamos que el control de normaL2 mınima que lleva el estado de la posicion x(t0) = x0 al estado x(t1) = 0 es (vease (6.9)):

u(t) = −B(t)TΦ(t1, t)TW (t1, t0)−1Φ(t1, t0)x0.

Un simple calculo muestra que

∥u(⋅)∥22 = ∫ t1

t0u(t)Tu(t)dt = xT0 Φ(t1, t0)TW (t1, t0)−1Φ(t1, t0)x0.

Ahora bien, por una parte la matriz Grammiana de controlabilidad (vease (6.7))W (t1, t0) =∫ t1

t0Φ(t1, t)B(t)B(t)Tφ(t1, t)Tdt es una matriz simetrica definida positiva para todo t1 >

t0. Esto implica que existe una matriz ortogonal V tal que V TW (t1, t0)V =D = Diag(λ1, . . . , λn)siendo λ1 ≥ . . . ≥ λn > 0 los valores propios de W (t1, t0). Por otra parte, siempre se puedeescoger t1 ≈ t0 de modo que los elementos de W (t1, t0) sean muy pequenos. Esto conlleva(por la continuidad de los valores propios de una matriz respecto a los elementos de esta)que los valores propios de W (t1, t0) serıan tan pequenos como se quisiera para valores det1 suficientemente proximos a t0. Por lo tanto, los valores propios de W (t1, t0)−1 serıanmuy grandes y para ciertos valores del estado inicial x0 tendrıamos que

∥u(⋅)∥22 = xT0 Φ(t1, t0)V TD−1V Φ(t1, t0)x0

podrıa llegar a ser tan grande como se quisiera (a base de aproximar t1 a t0). En otraspalabras llevar el estado inicial del sistema al estado cero instantaneamente puede reque-

rir controles de amplitud indefinidamente grande. El termino ∫ tf

t0u(t)TR(t)u(t)dt en la

funcion de coste J(u) representa una limitacion en la amplitud de los controles admisibles.

Para el problema LQR tenemos que

L(t, x, u) = x(t)TQ(t)x(t) + u(t)TR(t)u(t), K(tf) = x(tf)THx(tf)y el Hamiltoniano es

H(t, x, u, J∗x ) = L(t, x, u)+ < J∗x , (A(t)x +B(t)u) >== xTQ(t)x + uTR(t)u + J∗xTA(t)x + J∗xTB(t)u (7.46)

Para calcular el vector u ∈ Rm donde H alcanza el mınimo, derivamos respecto de u(recuerdese el desarrollo que condujo a (7.20)):

∂H∂u

= 2R(t)u +B(t)TJ∗xAdemas

∂2H∂u2

= 2R(t)T = 2R(t) > 0

Page 23: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

7.4 El problema LQR continuo 189

porque R(t) es simetrica definida positiva. Por lo tanto, H tiene un mınimo en

u∗(t) = −1

2R(t)−1B(t)TJ∗x (t, x)

La funcion de control u∗ depende tanto de t como de x, aunque omitiremos esta depen-dencia en la notacion. Sustituyendo u∗ en la ecuacion HJB (7.36) obtenemos

0 = J∗t + xTQ(t)x + u∗(t)TR(t)u∗(t) + J∗xTA(t)x + J∗xTB(t)u∗(t) == J∗t + xTQ(t)x − 1

4J∗xTB(t)R(t)−1B(t)TJ∗x + J∗xTA(t)x (7.47)

que es una ecuacion diferencial en derivadas parciales que debe satisfacer la funcion J∗(t, x)junto a la condicion de frontera J∗(tf , x(tf)) = x(tf)THx(tf).

Al igual que hicimos en el Ejemplo 7.8 intentaremos ver bajo que condiciones existeuna solucion de la forma

J∗(t, x) = xTP (t)xcon P (t) una matriz simetrica definida positiva para todo t ∈ [t0, tf ] y x ∈ Rn. TenemosJ∗t (t, x) = xT P (t)x y J∗x (t, x) = 2P (t)x, que sustituıdas en (7.47) producen:

0 = xT P (t)x + xTQ(t)x + 2xTP (t)A(t)x − xTP (t)B(t)R(t)−1B(t)TPx (7.48)

Ahora bien, si S,Z ∈ Rn×n podemos escribir SZ = 1

2[SZ + (SZ)T ] + 1

2[SZ − (SZ)T ] y

entonces

xTSZx = 1

2xT [SZ + (SZ)T ]x + 1

2[xTSZx − xT (SZ)Tx] =

= 1

2xT [SZ + (SZ)T ]x + 1

2[xTSZx − (xTSZx)T ] = 1

2xT [SZ + (SZ)T ]x,

donde hemos usado que (xTSZx)T = xTSZx por ser un numero real. Por consiguiente,(7.48) es equivalente a (recordando que P (t) es simetrica):

0 = xT P (t)x + xTQ(t)x + xTP (t)A(t)x + xTA(t)TP (t)x−−xTP (t)B(t)R(t)−1B(t)TP (t)x == xT (P (t) +Q(t) + P (t)A(t) +A(t)TP (t) − P (t)B(t)R(t)−1B(t)TP (t))x (7.49)

Como se debe cumplir esta identidad para todo x ∈ Rn conluımos que la funcion J∗(t, x) =xTP (t)x es solucion de (7.47) si y solo si P (t) es solucion de la siguiente ecuacion diferencialordinaria:

P (t) +Q(t) + P (t)A(t) +A(t)TP (t) − P (t)B(t)R(t)−1B(t)TP (t) = 0. (7.50)

Esta es una ecuacion de tipo Ricatti y se le llama Ecuacion de Ricatti para el problemade control optimo LQR. Su solucion queda determinada de forma unica imponiendo lacondicion J∗(tf , x(tf)) = x(tf)THx(tf); es decir, P (tf) = H. En general, para hallar lasolucion de (7.50) se deben emplear metodos numericos, pero si todos los coeficientes (A,B, Q y R) son constantes entonces, en ocasiones, se puede integrar simbolicamente.

Page 24: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

190 Control Optimo

Ejemplo 7.9 En el Ejemplo 7.8 el funcional a minimizar era J(u) = 1

4x(T )2+∫ T

0

1

4u(t)2dt

sujeto a x(t) = x(t)+ u(t). En este caso H = 1

4, Q = 0 y R = 1

4, A = 1 y B = 1. La ecuacion

de Ricatti correspondiente ((7.50)) es

P (t) + 0 + P (t) ⋅ 1 + 1 ⋅ P (t) − P (t) ⋅ 1 ⋅ 4 ⋅ 1 ⋅ P (t) = 0.

es decir,

P (t) + 2P (t) − 4P (t)2 = 0. (7.51)

Teniendo en cuenta que la funcion de coste J∗(t, x) en el desarrollo de esta seccion es

xTP (t)x mientras que la elegida en en el Ejemplo 7.8 fue1

2xTP (t)x, vemos que las ecua-

ciones de Ricatti (7.51) y (7.43) son equivalentes.

Ejemplo 7.10 Consideramos para terminar una variante del problema LQR. El objetivoes calcular un control optimo u∗(⋅) para que la correspondiente trayectoria x∗(⋅) (soluciondel sistema x = Ax+Bu∗) se aproxime a (persiga la trayectoria de) una funcion dada η(t)(“tracking problem”). En este caso entonces, queremos encontrar un control que haga quela desviacion de x(t) respecto a η(t) sea mınima a lo largo del intervalo [t0, tf ]. Es decir,η(t) juega el papel de la funcion 0 del problema LQR. Ası pues, el funcional a minimizarsera:

J(u) = x(tf)THx(tf) + ∫ tf

t0[(x(t) − η(t))TQ(t)(x(t) − η(t)) + u(t)TR(t)u(t)]dt. (7.52)

En este caso, la forma de la funcion J∗(t, x) que se busca para resolver el sistema deecuaciones en derivadas parciales resultante de la formula de Hamilton-Jacobi-Bellman es

J∗(t, x) = xTP (t)x + xT v(t) + z(t)con P (t) simetrica, v(t) ∈ Rn×1 y z(t) ∈ R para cada t ∈ [t0, tf ].

Veamos la aplicacion de este procedimiento en un ejemplo: encontrar el control optimoque minimiza

J(u) = 1

2∫ 1

0[(x(t) − 1)2 + u(t)2] (7.53)

sujeto a x(t) = −x + u con x(0) = 0. Ası pues, se trata de calcular el control optimo u∗(⋅)para que la trayectoria x∗(⋅) solucion del problema x = −x + u∗, x(0) = 0, se desvıe lomınimo posible de la funcion η(t) = 1 en el intervalo [0,1].

Para este problema L(t, x, u) = 1

2(x − 1)2 + 1

2u2 y H(t, x, u, J∗x ) = 1

2(x − 1)2 + 1

2u2 +

J∗x (−x+u). Derivamos esta funcion respecto a u para calcular donde se alcanza el mınimo:

∂H∂u

= u + J∗x = 0Ô⇒ u∗ = −J∗x .

Page 25: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

7.4 El problema LQR continuo 191

Como∂2H∂u2

> 0, H alcanza el mınimo (global) en u∗ = −J∗x . Sustituyendo este valor en la

ecuacion HJB:

0 = J∗t + 1

2(x − 1)2 + 1

2J∗x2 + J∗x (−x − J∗x ) =

= J∗t + 1

2(x − 1)2 − 1

2J∗x2 − xJ∗x .

Dado que estamos en el caso escalar (n = 1), la funcion con la que intentar una soluciones J∗(t, x) = p(t)x2 + v(t)x + z(t) que sustituıda en la ecuacion de mas arriba produce:

0 = (p(t) − 2p(t)2 − 2p(t) + 1

2)x2 + (v(t) − 2p(t)v(t) − v(t) − 2)x+

+(z(t) − 1

2v(t)2 + 1) .

Como x ∈ R es un numero arbitrario, podemos ver esta identidad como dos expresionesdel polinomio cero. Esto significa que los coeficientes del polinomio de la derecha sonidenticamente 0. Es decir, se deben cumplir simultaneamente las tres siguientes ecuacionesdiferenciales:

p(t) − 2p(t)2 − 2p(t) + 1

2= 0 (7.54)

v(t) − (2p(t + 1))v(t) − 2 = 0 (7.55)

z(t) − 1

2v(t)2 + 1 = 0 (7.56)

La primera es una ecuacion de Riccati de coeficientes constantes que se puede resolver porseparacion de variables. La condicion de contorno para esta primera ecuacion es p(1) = 0.Una vez resuelta, la solucion se sustituye en (7.55) que es una ecuacion lineal no ho-mogenea. De nuevo la condicion de contorno para esta ecuacion es v(1) = 0. Una vezobtenida la solucion, esta se sustituye en (7.56) y se integra. Tambien en este caso lacondicion inicial es z(1) = 0.

En todos los casos la condicion de contorno es 0 porque la funcion de coste final esK(tfx(tf)) = 0 en este ejemplo. En general K(tfx(tf)) = (x(tf)−η(tf)TH(x(tf)−η(tf)) =x(tf)THx(tf) − (x(tf)THη(tf) + η(tf)THx(tf)) + η(tf)THη(tf). Cada sumando de estaexpresion es la condicion de contorno para cada una de las ecuaciones (7.56), (7.55) y(7.56), respectivamente.

Una vez obtenida J∗(t, x) = p(t)x2 + v(t)x + z(t), se sustituye en u∗(t) = −J∗x (t, x) =2p(t)x + v(t). En el ejemplo que nos ocupa:

u∗(t) = 1

2− 1

4(1 +√

2)e√2t − 1

4(1 −√

2)e−√2t.

Page 26: Introducci on al Control Optimo - UPV/EHU · 2019-12-05 · El espacio de funciones donde puede elegirse u puede ser bastante restrictivo. Lo denotaremos por U y, tal y como se dijo

192 Control Optimo