Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
4.1 Introducción
La Þlosofía de este capítulo es derivar la solución de problemas de control óptimo continuos en el caso más
general. En el tema anterior hemos visto como los problemas de control óptimo se pueden plantear como la
búsqueda de una trayectoria que optimice cierto índice mientras se cumplen unas determinadas restricciones
debidas a la naturaleza del sistema. En este tema vamos a plantear y resolver alguno de estos problemas de
control óptimo cuando el sistema evoluciona de forma continua con el tiempo.
El enfoque inicial del problema se hace desde el punto de vista de los métodos variacionales clásicos, donde se
busca una función real deÞnida sobre un determinado dominio de funciones, que minimice un determinado índice
de rendimiento que estará deÞnido en la mayoría de las ocasiones por medio de una integral. Introduciremos
brevemente algunos resultados sobre el cálculo de variaciones.
Abordaremos el problema desde el punto de vista de la formulación hamiltoniana. Esta formulación es muy
útil a la hora de tratar con el principio del mínimo.
Para ilustrar las principales características del tipo de problemas de control óptimo que vamos a tratar,
presentaremos un ejemplo muy sencillo.
Ejemplo 4.1 Se plantea el problema del lanzamiento de un cohete hasta una altura x en un tiempo T . Para
controlar el movimiento del mismo en cada instante se utiliza una fuerza u(t), que es función del tiempo. Si
x(t) es la altura sobre el suelo en tiempo t y m es la masa del cohete, la ecuación del movimiento nos da la
siguiente relación.
••
x (t) + mg = u(t) t 5 [0, T ]
Supongamos por otra parte que la fuerza ejercida no puede superar cierto valor b (debido entre otras cosas a las
limitaciones en la potencia de los motores, la cantidad de combustible utilizada, etc.). El objetivo del problema
podría ser gastar la menor cantidad de energía posible para lograr el objetivo de situar el cohete a una altura x
en el tiempo T . El problema podría plantearse como
RT
Minimizar 0
| u(t) | dt
••
Sujeto a x (t) + mg = u(t)
| u(t) | b
x(T ) = x
x(0) = 0
•
Si hacemos x1 = x, x2 = x, obtenemos una ecuación diferencial de primer orden y el problema vendrá dado
107
108 Capítulo 4. Control Óptimo de Sistemas en tiempo Continuo
como: RT
Minimizar 0
| u(t) | dt
•
Sujeto a x2 (t) + mg = u(t)
•
x1 (t) = x2 (t)
| u(t) | b
x1 (T ) = x
x1 (0) = x2 (0) = 0
donde al poner la función |u (t)| dentro del integrando estamos considerando el gasto de fuerza necesaria para
acelerar o decelerar el cohete.
Observando el ejemplo anterior vamos a ver a continuación la formulación general de los problemas de
control óptimo en tiempo continuo. En primer lugar solamente estamos interesados en la conducta de sistemas
que evolucionen según una determinada ley determinista. En otras palabras, no se considerarán sistemas cuya
conducta sea aleatoria o estocástica.
Supondremos que la conducta relevante de los sistemas estudiados puede ser cuantiÞcada por n variables. La
identiÞcación de esas variables y la descripción del sistema en términos de ellas es el trabajo más complicado al
construir un modelo matemático del sistema, este aspecto no será tratado aquí y supondremos que este trabajo
ha sido ya realizado y la conducta del sistema estará descrita por los valores del vector de estado x, cuyas
componentes xi , i = 1, . . . , n, son las variables de estado. El sistema evoluciona con el tiempo t, por tanto las
variables de estado son funciones de t y estarán gobernadas por n ecuaciones diferenciales de primer orden, las
ecuaciones de estado, que tienen la forma general
xú = f (t, x, u) (4.1)
donde el punto indica la derivada temporal. La función f es una función vectorial que tiene n componentes
fi . La ecuación de estado dependerá del estado del sistema, del tiempo y de las variables de control ui , i =
1, . . . , m, que forman un vector de control u, m-dimensional. Asumiremos que esas variables de control son
funciones integrables de t. SimpliÞcaremos el problema considerablemente si requerimos que dichos controles
sean continuos.
DeÞnimos U como el conjunto de todas las variables de control admisibles es decir que podemos utilizar en
el sistema, junto con los requerimientos ya mencionados. En algunos problemas podemos restringir los valores
mínimo y máximo de cualquier control que pueda utilizarse; por ejemplo, podemos suponer que el control ui
está acotado entre ai y bi . En ese caso, podemos hacer un cambio lineal en la variable para reemplazar ui por
otra variable vi , deÞnida por
1 1
ui = (ai + bi ) + (ai bi ) vi (4.2)
2 2
de manera que la nueva variable vi sea también admisible y veriÞque la siguiente relación
1 vi (t) 1 (4.3)
para todo valor del tiempo t. Por tanto el conjunto U de todos los controles admisibles consistirá en todas las
funciones integrables de t que o bien son no acotadas o acotadas por los valores extremos 1 y +1.
Dentro del conjunto de los controles acotados, hay un subconjunto importante en el que las variables de
control solamente toman los valores extremos. Cualquier cambio en el valor del control es un cambio inmediato
entre un valor extremo y el otro (funciona como un interruptor). Tales controles se denominan controles de tipo
bang-bang.
La evolución del sistema comienza a partir de una determinada conÞguración en un valor inicial t0 de t. Por
ejemplo
x (t0 ) = x0 (4.4)
donde el estado inicial x0 en el tiempo inicial t0 están dados por el problema. En algunos casos también se
conoce el estado Þnal del sistema
x (t1 ) = x1 (4.5)
Aunque aquí podemos distinguir diferentes casos. Por una parte podemos considerar el tiempo Þnal o
terminal t1 bien Þjo o bien libre. Por otra puede conocerse el estado Þnal del sistema o puede ser que dicho
c
°SPH
4.1. Introducción 109
estado esté sobre una determinada curva o superÞcie. Por ejemplo, se puede exigir que x1 (t1 ) tenga un valor
Þjo, pero que los otros componentes de x (t1 ) no estén restringidas. En general, la condición del estado terminal
x1 , es que esté dentro de un determinado conjunto objetivo F.
El ingrediente Þnal de este planteamiento general de un problema de control optimal concierne al coste. La
forma más general para el coste que será considerado tiene la forma
Zt1
J (x, u) = ! (x (t1 ) , t1 ) + F (t, x, u) dt (4.6)
t0
Este tipo de funciones recibe el nombre de funcional, puesto que asigna un único número real a un conjunto de
funciones xi (t), uj (t). Este coste tiene 2 partes. La primera llamada coste terminal, que es una penalización
respecto al estado Þnal del sistema. Por supuesto, solamente tiene efecto cuando el estado Þnal del sistema no
está preÞjado. La segunda parte depende del estado del sistema a lo largo de la trayectoria de la solución y del
tiempo y, más importante, de los valores del control empleados en la solución. Un caso importante y especial,
es cuando F 1, y ! 0, no hay coste terminal. En este caso el coste J (x, u) es igual al tiempo necesario para
que el sistema pase del estado inicial al Þnal. Tendremos entonces un problema de tiempo óptimo; que tiene
que ser por supuesto, un problema de tiempo terminal no Þjo.
Esto completa la lista de ingredientes de un problema de control óptimo y la pregunta que hay que resolver
puede formularse de la siguiente forma. El estado del sistema puede ser conducido desde su posición inicial
hasta su posición Þnal mediante la aplicación de ciertos controles que están en el conjunto U, mientras que la
evolución del estado está gobernada por las ecuaciones de estado 4.1. Si no hay controles apropiados, diremos
que el sistema es no controlable desde el estado inicial hasta el conjunto objetivo F, y el problema no tiene
solución. Si el sistema es controlable habrá, en general, muchos controles apropiados y a cada uno de ellos le
corresponde un valor de la función de coste J (x, u), determinada por 4.6. El problema del control optimal
consiste en determinar el valor mínimo de J (x, u), el coste optimal, y el valor del vector de control u, para el
que se obtiene ese coste mínimo; en este caso u es el control optimal. Podemos también determinar la solución
correspondiente a las ecuaciones de estado, que dan la trayectoria óptima, así como el valor Þnal del tiempo, el
tiempo optimal, y el estado Þnal, si estos no han sido preÞjados.
Junto con la clasiÞcación de los problemas de control óptimo en continuos y discretos, también podemos
hacer una clasiÞcación según la variable tiempo t, esté o no explícitamente incluida en las ecuaciones de estado,
de esta forma tenemos problemas
•
1. Autónomos: la ecuación de estado no depende explícitamente del tiempo: x= f (x, u)
•
2. No autónomos: La variable t está presente en la ecuación anterior: x= f (t, x, u)
1. No acotado
2. Acotado
3. Bang-Bang
El tiempo Þnal pude ser Þjo o libre, mientras que el estado Þnal del sistema puede ser Þjo, completamente
libre, o parcialmente libre, dependiendo de si F es un único punto de Rn , todo Rn , o algún subconjunto de
Rn . La función de coste J (x, u) puede tener o no función de coste terminal. Además del caso especial del
problema de tiempo optimal, hay otro tipo de problemas importantes: si el problema tienen una única variable
de control u, es decir m = 1, podemos suponer que F es proporcional a |u|, en este caso es un problema de coste
de combustible, puesto que las operaciones de control contribuyen al coste total independientemente del signo.
Un tercer ejemplo particular de problemas aparece cuando F es proporcional a u2 ; en este caso con este coste
cuadrático, se puede avanzar más rápidamente hacia la solución general.
Para ilustrar la descripción anterior del problema general, daremos a continuación algunos problemas parti-
culares.
Aunque no estamos en condiciones de extraer la solución, podemos hacer un intento en la estrategia de
control óptimo y determinar la solución óptima.
c
°SPH
110 Capítulo 4. Control Óptimo de Sistemas en tiempo Continuo
1. Problemas de tiempo mínimo. Como ya se ha comentado anteriormente, en este caso u (t) tiene que
elegirse para transferir el sistema desde un estado inicial x0 hasta otro en el menor tiempo posible. Esto
es equivalente a minimizar el índice de rendimiento
Zt1
J = t1 t0 = dt (4.7)
t0
2. Control terminal. En este caso el estado Þnal xf = x (t1 ) tiene que estar lo más cerca posible de un estado
preÞjado r (t1 ). Un índice adecuado para este tipo de problema es minimizar
donde e (t) = x (t) r (t) y M es una matriz n × n simétrica real deÞnida positiva
3. Esfuerzo mínimo. En este caso se pretende alcanzar el estado Þnal utilizando la menor cantidad de energía
o esfuerzo en el control. Índices adecuados para minimizar son
Zt1 X
i |ui | dt (4.9)
t0
o
Zt1
uT Rudt (4.10)
t0
donde R es una matriz real y semideÞnida positiva, i y rij son factores de ponderación.
4. Problema del seguimiento (Tracking problem). El objetivo principal es seguir o “perseguir” tan cerca como
sea posible un estado deseado r (t) en el intervalo t0 t t1 . En este caso un índice adecuado podría ser
Zt1
eT Qedt (4.11)
t0
donde Q es real, simétrica y semideÞnida positiva. Introducimos el término servomecanismo para este
tipo de sistemas, mientras que un regulador es un caso especial cuando r (t) es constante o cero. Si las
funciones ui (t) son no acotadas entonces la minimización de 4.11 puede conducir a un vector de control
con componentes inÞnitas. Este hecho es inaceptable en problemas cotidianos, por tanto, para restringir
el esfuerzo total del control, podemos utilizar una combinación de 4.10 y 4.11 para obtener
Zt1
¡ T ¢
e Qe + uT Ru dt (4.12)
t0
las expresiones de la forma 4.10, 4.11 y/o ?? se denominan índices de coste cuadrático.
c
°SPH
4.3. Formulación hamiltoniana 111
con estado x (t) 5 Rn y control u (t) 5 Rm . Asociaremos a este sistema un índice de rendimiento del tipo:
Zt1
J (x, u) = ! (t1 , x (t1 )) + F (t, x (t) , u (t)) dt (4.14)
t0
donde [t0 , t1 ] es el intervalo en el que queremos estudiar el comportamiento del sistema. La función peso de
coste terminal ! (t1 , x (t1 )) 5 R, donde ! : R × Rn $ R, depende del instante de tiempo Þnal y del estado Þnal
del sistema, mientras que la función F (t, x, u) : R × Rn × Rm $ R, depende de toda la trayectoria de estados y
de los controles utilizados en el intervalo [t0 , t1 ]. En principio tanto t0 como t1 pueden ser variables.
Zt1
T
£ ¤
Ja (x, u) = ! (t1 , x (t1 )) + b # (t1 , x (t1 )) + F (t, x, u) + pT (f (t, x, u) x)
ú dt (4.16)
t0
Zt1
T
£ ¤
Ja (x, u) = ! (t1 , x (t1 )) + b # (t1 , x (t1 )) + H (t, x, u, p) pT xú dt (4.18)
t0
c
°SPH
112 Capítulo 4. Control Óptimo de Sistemas en tiempo Continuo
si buscamos extremales para Ja (x, u), entonces podemos aplicar la teoría del tema anterior y aplicar las ecua-
ciones de Euler-Lagrange al funcional así deÞnido. Teniendo en cuenta que en este caso es un funcional con
varias variables, habrá que aplicar las ecuaciones de Euler-Lagrange a todas ellas
Zt1 Zt1
£ ¤
Ja (x, u) = H (t, x, u, p) pT xú dt = G (t, x, u, p, x)
ú dt
t0 t0
y obtendremos pú
CG d CG CH d CH
=0/ (pk (t)) = 0 / púk =
Cxk dt C xú k Cxk dt Cxk
CG d CG CH d CH
=0/ (0) = 0 / 0 =
Cuk dt C uú k Cuk dt Cuk
CG d CG CH d CH
=0/ xú k (t) (0) = 0 / xú k (t) =
Cpk dt C púk Cxk dt Cpk
Estas ecuaciones osn las condiciones de optimalidad cuando t0 , t1 , x (t0 ) y x (t1 ) son Þjos y no hay ni coste
terminal, ni restricción de estado terminal.
Recordemos que en el caso de que x (t0 ) o x (t1 ) son variables, entonces debería cumplirse además las
condiciones ¯
CG ¯¯
= 0 , pk (tj ) = 0
C xú k ¯t=tj
En el caso general del problema de control óptimo, donde los elementos t0 , t1 , x (t0 ) y x (t1 ) pueden ser variables
y existen funciones ! de coste terminal y # de estado terminal, las condiciones de contorno son
³ ´T ¯¯ ³ ´¯
¯
!x + # Tx b p ¯¯ dx (t1 ) + !t + # Tt b + H ¯ dt1 = 0
t=t1 t=t1
¯
pT dx¯t=t0 Hdt|t=t0 = 0
sin embargo puesto que en la mayoría de problemas t0 y x (t0 ) son conocidas y Þjas los valores dx (t0 ) y dt0 son
ambos cero solamente queda la primera de las ecuaciones anteriores como condición de contorno.
sujeto a
xú (t) = f (t, x (t) , u (t)) t t0 , t0 Þjo
# (t1 , x (t1 )) = 0
x (t0 ) = x0 , Þjo
siendo ! : R × Rn $ R, # : R × Rn $ Rs , es que existan funciones p1 , . . . , pn : [t0 , t1 ] $ R, 1 , . . . , s 5 R,
cumpliendo las ecuaciones:
1. Ecuación de Estado
CH CH
Hx + pú = 0 / xú = = f, t t0 , xú i = = fi , i = 1, . . . , n (4.19)
Cp Cpi
c
°SPH
4.4. Ejemplos 113
2. Ecuación de Co-estado
¸T
CH Cf CF CH
Hp xú = 0 / pú = = p t t1 , púi = , i = 1, 2, . . . , n (4.20)
Cx Cx Cx Cxi
3. Condición de contorno
³ ´T ¯¯ ³ ´¯
¯
!x + # Tx b p ¯¯ dx (t1 ) + !t + # Tt b + H ¯ dt1 = 0 (4.21)
t=t1 t=t1
4. Condición estacionaria
X Cfj n
CH CH CF
HuT = 0 / =0 , = + pj = 0, t0 t t1 , i = 1, . . . , m (4.22)
Cu Cui Cui j=1 Cui
Las ecuaciones de estado (ecuación 4.19) y la ecuación de co-estado (ecuación 4.20, lamadas también ecua-
ciones adjuntas) constituyen un sistema de 2n ecuaciones diferenciales no lineales con condiciones de frontera
x (t0 ) y p (t1 ). En general no es posible alcanzar una solución analítica de la solución y hay que utilizar técnicas
numéricas.
La condición de contorno 4.21 necesita de una aclaración adicional. Hemos dicho que dx (t1 ) y dt1 no son
independientes. Por tanto, no podemos poner los coeÞcientes de los dos primeros términos del miembro de la
derecha en ?? iguales a cero de forma separada. En su lugar, tenemos que poner la expresión 4.21 igual a cero
en t = t1 .
El control óptimo depende de la solución de un problema de contorno de dos puntos, puesto que x (t0 ) está
dado y p (t1 ) está determinado por 4.21. En general es muy complicado resolver este tipo de problemas.
Realmente el valor de p (t) no es necesario, pero evidentemente su determinación es un paso intermedio para
encontrar el control optimal u (t), que depende de p (t) a través de las condiciones estacionarias.
Notar que la derivada del Hamiltoniano respecto al tiempo t, es:
• •T ³ • ´T
T • T • T •
H = Ht + Hx x +Hu u + p f = Ht + Hu u + Hx + p f (4.24)
De manera que si u (t) es un control óptimo, utilizando las ecuaciones 4.20, 4.22, entonces
•
H (t, x , u ) = Ht (t, x , u ) (4.25)
Y en el caso de tiempo invariante, donde ni f ni F dependen explícitamente de t, y por tanto tampoco lo hará
H, ocurre
•
H= 0 (4.26)
Por tanto, para sistemas y funciones de coste invariantes en el tiempo, el Hamiltoniano es constantes sobre la
trayectoria y el control óptimos.
4.4 Ejemplos
4.4.1 Crecimiento de plantas
Supongamos que un jardinero tiene un número de determinado de plantas y que desea hacerlas crecer hasta
una determinada altura en una fecha determinada. Su tasa natural de crecimiento puede acelerarse utilizando
luz artiÞcial para reducir las horas de obscuridad cuando no hay crecimiento. Después de una elección apropiada
de unidades, podemos modelar este proceso mediante una ecuación diferencial para la altura x (t) de la planta
en tiempo t, de la forma
dx
=1+u (4.27)
dt
c
°SPH
114 Capítulo 4. Control Óptimo de Sistemas en tiempo Continuo
donde u u (t) mide el exceso de crecimiento producido por la luz artiÞcial. Podemos suponer que la altura
es cero al principio, y que el jardinero quiere una altura de dos unidades después de que haya transcurrido una
unidad temporal. De esta forma, requerimos
El crecimiento extra producido al utilizar la luz artiÞcial implica un coste Þnanciero, que depende del tamaño
del control; una posible función de coste podría tener la forma
Z1
1 2
J= u dt (4.29)
2
0
El objetivo es encontrar una variable de control u que produzca una solución de 4.27 satisfaciendo 4.28 y al
mismo tiempo que minimice el valor de J. Construimos en primer lugar el Hamiltoniano para este problema
1 2
H (t, x, u, p) = u + p (1 + u)
2
La ecuación de co-estado es:
CH
pú = =0
Cx
que tiene como solución
p (t) = A
donde A es una constante. Aplicando la condición estacionaria
CH
= 0 , u + p = 0 , u = p = A
Cu
Las ecuaciones de estado se transforman en
xú = 1 + u , xú = 1 A , x = (1 A) t + C
donde las constantes A y C se calculan utilizando la condición inicial y Þnal impuesta al sistema
x (0) = 0 / (1 A) · 0 + C = 0 , C = 0
x (1) = 2 / (1 A) · 2 + C = 2 , A = 1
y la solución que cumple las condiciones inicial y Þnal es
x (t) = 2t, A = 1
1
El control óptimo será por tanto u (t) = 1 para todo t y el coste óptimo es J = , tal y como encontramos
2
por métodos elementales.
c
°SPH
4.4. Ejemplos 115
Un conjunto de ecuaciones que pueda servir para modelar este sistema, en las unidades adecuadas, podría
ser el siguiente:
xú = v + u
x (0) = 0 (4.30)
x (t1 ) = 1
junto con la siguiente función de coste
Zt1
1 2
J= u dt (4.31)
2
0
que mide la cantidad de energía utilizada en bombear el agua dulce.
La altura del agua por encima del nivel inicial está medida por x (t) . Según las condiciones iniciales de la
ecuación 4.30 queremos alcanzar la altura 1 por encima del nivel inicial en el tiempo t1 . La tasa de bombeo
está dada por u (t), mientras que v (t) es la tasa a la que el agua es vaciada. Supongamos por ejemplo que la
función v (t) tiene la forma:
v (t) = t.
El Hamiltoniano de este problema tiene la forma
1 2
H= u + p (t + u) (4.32)
2
Consideremos en primer lugar el tiempo Þnal Þjo igual a t1 = 1. Las ecuaciones que tienen que cumplir el
control y la trayectoria óptimas son:
CH
xú = = t + u
Cp
CH (4.33)
pú = =0
Cx
CH
=u+p=0
Cu
En este caso puesto que tanto t1 como x (t1 ) son Þjos, dt1 = 0 y dx (t1 ) = 0 y la condición de contorno 4.21 se
cumple trivialmente.
De la segunda ecuación de 4.33 obtenemos que
p (t) = A cte.
Mientras que de la tercera ecuación
u (t) = p (t) = A.
Substituyendo en la primera ecuación de 4.33 e integrando
1
xú = t A =, x (t) = t2 At + B
2
las condiciones que deben cumplirse son
x (0) = 0 , B = 0
1 3
x (1) = 1 , A = 1 , A =
2 2
Por tanto la expresión de x (t) y u (t) quedan como
1 3
x (t) = t2 + t
2 2
3
u (t) =
2
c
°SPH
116 Capítulo 4. Control Óptimo de Sistemas en tiempo Continuo
9
El valor del índice de rendimiento óptimo se obtiene sustituyendo en 4.31 J = .
8
Si ahora consideramos a t1 libre, entonces dt1 6= 0 y la condición de contorno que se debe cumplir es
³ ´T ¯¯ ³ ´¯
¯
!x + # Tx b p ¯¯ dx (t1 ) + !t + # Tt b + H ¯ dt1 = 0 , H (t1 ) = 0
t=t1 t=t1
x (0) = 0 , B = 0
1
x (t1 ) = 1 , t21 At1 = 1
2
resuelven el problema, puesto que como t1 = 12 A , A = 2t1
s
1 2 2 3 2 2
t1 + 2t1 = 1 , t1 = 1 , t1 = s
2 2 3
s
2 2
yA= s .
3
Y las expresiones de x (t) y u (t) son
s
1 2 2 2
x (t) = t + s t
2 3
s
2 2
u (t) = s
3
y el coste optimal tiene un valor de
s s
Zt1 Z 3Ã
2/ s !2 s s
1 2 1 2 2 18 2 4 2
J (u ) = (u ) dt = s dt = s = s = 1, 08866
2 2 3 23 3 3 3
0 0
c
°SPH