OPTIMIZACIÓN DINÁMICA
Francisco Alvarez Gonzálezfralvare@ccee.ucm.es
TEMA 7
Extensiones: estado final restringido y tiempo final libre.
1. Estado final restringido a pertenecer a un conjunto convexo. 2. Ejemplo: planificación de la producción.
7.1. Estado final restringido a pertenecer a un conjunto
convexo
Supongamos el siguiente problema:
( )
{
}
min
x Y∈f x
siendo f una función real y diferenciable e Y un conjunto convexo. Sea x*
la solución al problema planteado e y un elemento arbitrario de Y. Consideramos la expresión:
( )(
)
'
*
*
f x
y x
−
Veamos algunos casos posibles:
x
*
Y
x
*
Y
x
*
Y
( )(
)
' * * 0
f x y x− ≥
+ +
( )(
)
' * * 0
f x y x− ≥
− −
( )(
)
' * * 0
0 /
f x y x− ≥
+ −
Aún podríamos añadir dos casos más:
•
Y
= ℜ
, notemos queℜ
es convexo, cuyo caso es análogo al último caso anterior.•
Y
=
{ }
b
, notemos que un conjunto compuesto por un único elemento es convexo, en cuyo caso es trivial que x*=b y f’(x*) es arbitrario. Por tanto, se satisfacef x
' *
( )(
y x
−
*
)
≥
0
El resumen de todos los casos anteriores es:
( )(
)
' *
*
0
f x
y x
−
≥
∀ ∈
y Y
(0)Una lectura de la anterior desigualdad es:
El producto de la derivada en el óptimo por cualquier variación factible del estado es no negativo, y es cero si el óptimo es interior.
Apliquemos este resultado:
Si en un problema de control óptimo de minimización debe verificarse:
( )
x T
∈
Y
siendo Y un conjunto convexo; entonces, la condición de transversilidad
que hemos visto anteriormente:
( )
(
)
( )
' *
S x T
=
λ
T
(*)generaliza a:
( )
(
)
( )
(
S x T
' *
−
λ
T
)
(
y x T
−
*
( )
)
≥
0
∀ ∈
y Y
(**)• La desigualdad en (**) cambia de signo si el problema es de maximización.
• La única diferencia entre (0) y (**) es que en (**) calcular la derivada en el óptimo es algo más complejo. La razón es que en el problema de control no podemos elegir variar x*(T) sin variar los estados inmediatamente anteriores.
Veamos tres casos particulares de (**):
• Primero: (**) es una generalización de (*) porque “no hay
restricción” es equivalente a
x T
( )
∈ℜ
. Para ese caso existirán, en general, valores dey
∈ℜ
mayores y menores que x*(T), la única forma de garantizar (**) es (*).• Segundo: Restringir el estado final a x(T)=b, siendo b un valor real.
En este caso se verifica trivialmente y- x(T)=0 para todo y∈Y, por lo que (**) se verifica para cualquier λ(T) arbitrario.
• Tercero: Restringir el estado final a x(T)≥b. Claramente, si x(T)=b,
entonces es y- x(T)≥0 para todo y∈Y, y en ese caso ha de ser S’(x*(T))-λ(T)≥0. Si x(T)>b, entonces estamos en el caso análogo al de “no hay restricción”, en el que existen valores de
y Y
∈
mayores y menores que x*(T) y la única forma de garantizar (**) es (*). Resumiendo, para la restricción x(T)≥b, (**) es equivalente a:( )
(
)
( )
( )
' *
0 con igualdad si
*
7.2. Ejemplo: planificación de la producción.
Una empresa firma un contrato por el que se compromete a producir a unidades de determinado producto y tenerlas disponibles en el instante T. En el momento de firmar el contrato, instante 0, la empresa tiene 0 unidades producidas. La empresa elige cómo distribuye su producción a lo largo del intervalo temporal [0,T]. En cada instante la empresa tiene dos costes: el coste de producción de nuevas unidades, que suponemos convexo y cuadrático, y el coste de almacenamiento de lo previamente producido, que suponemos lineal.
Antes de resolver el problema, discutamos sobre su solución. Si no existiese coste de almacenamiento, dado que el coste de producción es convexo, lo óptimo sería repartir la producción por igual en todos los instantes. En efecto, sea u(t) la cantidad producida en el instante t.
Cualquier función convexa g que represente el coste de producción de la
empresa verifica:
( )
(
)
( )
0 0
T T
g u t dt g
≤ ⎜
⎛
u t dt
⎞
⎟
⎝
⎠
∫
∫
que se conoce como la desigualdad de Jensen y caracteriza a las funciones
convexas. Haciendo uso de dicha desigualdad en cada intervalo de tiempo infinitesimal dentro de [0,T] se prueba el resultado indicado. Si existe coste de almacenamiento, su efecto es claramente posponer parte de la producción en el tiempo (respecto al caso en que dicho coste no existe).
En consecuencia, esperamos que la política óptima consista en la producción sea creciente en el tiempo.
Sean x(t) y u(t) el stock producido hasta y la cantidad producida en el instante t, respectivamente.
El funcional objetivo, a minimizar, es.
( )
( )
(
2)
0
T
x t
u t
dt
α
+
β
∫
donde el primer y segundo término corresponden al coste de almacenamiento y producción, respectivamente, y δ y β son parámetros fijados. Tenemos x(0)=0 y además debe darse x(T)=a. La dinámica de estado es:
x u
•=
Definimos el Hamiltoniano:
2
:
H
=
α
x
+
β
u
+
λ
u
La condición de maximización del Hamiltoniano da lugar (considerando soluciones interiores) a:
*
2
u
λ
β
= −
La dinámica de co-estado es:
λ
• = −α
donde ahora no tenemos una condición final sobre λ, pero a cambio tenemos una condición adicional sobre x, por lo que sigue estando balanceado el número de ecuaciones diferenciales (que son 2) y el número de condiciones de transversalidad (también 2).
La solución de la dinámica de co-estado es λ(t)=A-αt, donde A es una constante a determinar. Sustituyendo esta solución en u* y a su vez u* en la dinámica de estado queda:
(
)
1
2
x
A
α
t
β
•
= −
−
cuya solución es:
( )
22
2
x t
B
α
At
α
t
β
β
= −
+
siendo A y B constantes a determinar con x(0)=0 y x(T)=a. Usadas dichas condiciones, la solución queda:
( )
22
2
a
T
x t
t
t
T
α
α
β
β
⎛
⎞
=
⎜
−
⎟
+
Supongamos ahora una pequeña variación del problema anterior. La empresa debe producir al menos a unidades, y todas las unidades que
produzca las venderá al precio p.
Intuitivamente, esperamos que la empresa produzca más de a unidades si el precio es lo bastante alto.
El funcional objetivo, a minimizar, es ahora:
( )
( )
(
2)
( )
0
T
x t
u t
dt px T
α
+
β
−
∫
La condición terminal del estado es ahora x(T)≥a. La dinámica no cambia respecto al caso anterior.
El Hamiltoniano no cambia y la condición de maximización del Hamiltoniano sigue dando lugar al mismo valor de u*. La dinámica de co-estado sigue siendo la misma. La condición de transversalidad (**) es ahora:
( )
0 con igualdad si
*
( )
p
λ
T
x T
a
− −
≥
>
Caso (i): supongamos x*(T)=a. Entonces estamos en el caso anterior. En
particular tenemos λ(t)=A-αt y la constante A quedó determinada en al resolver la ecuación de estado. Dicha constante resultó ser:
2
A T
a
T
β
α
= −
Usando el valor de A para calcular λ(T) y operando tenemos que:
( )
0
2
(
1
)
p
T
p
a
T
T
β
λ
α
α
− −
≥
⇔
≤
+
−
El lado derecho de la anterior desigualdad es el precio crítico por debajo
del cuál la empresa se limita a cumplir produciendo a unidades. Si no supiésemos optimización dinámica, esto no se nos ocurriría !!
Caso (ii): si la anterior desigualdad no se verifica, sabemos que estamos en
el caso x*(T)>a, en el que tenemos la condición –p– λ(T)=0. La anterior condición terminal junto con x(0)=0 determinan una solución junto con las dinámicas de estado y co-estado.
7.3. Tiempo final libre: planificación de la producción
de nuevo.
Supongamos ahora que en un problema básico (con el estado final no restringido), podemos elegir el tiempo en el que deseamos terminar.
Continuemos con el ejemplo anterior: habíamos partido de que la empresa ya había firmado un contrato. Ahora podemos preguntarnos, ¿por qué decidió firmarlo? La respuesta es equivalente a preguntarse qué otras alternativas tenía la empresa.
Consideremos la siguiente alternativa: si no firma el contrato, la empresa es libre de elegir cuántas unidades produce y en que momento las saca al mercado. Se mantienen el coste de producción y el de almacenamiento, éste último lo paga hasta el instante en que decida sacar su producción al mercado. En ese instante, la empresa deja de producir y recibe un precio p por cada unidad que haya producido hasta ese instante.
El funcional objetivo, a minimizar, es de nuevo:
( )
( )
(
2)
( )
0
T
x t
u t
dt px T
α
+
β
−
∫
donde T es también una variable de elección.
La dinámica de estado sigue siendo:
x u
•=
De modo general, dado que tenemos algo adicional que elegir,
necesitamos una condición adicional de optimalidad.
Esta condición adicional (para un problema general) es:
*
0
T
H
=
es decir, el Hamiltoniano evaluado en el tiempo terminal óptimo, T*, debe ser igual a cero (ver justificación en el anexo final).
Veámoslo con el problema que hemos enunciado.
De nuevo, se mantienen: el Hamiltoniano, la condición de maximización del Hamiltoniano y la dinámica de co-estado. Recordemos:
2
:
H
=
α
x
+
β
u
+
λ
u
* 2
u
λ
β
= −λ
• = −α
Dado que el estado final es libre, debe ser además λ(T*)=-p. Resolviendo la ecuación de co-estado queda
( )
t
p
(
t T
*
)
λ
= − −
α
−
Sustituyendo esta solución en u* y a su vez u* en la dinámica de estado queda:
(
)
1
*
2 2
x p
α
Tα
tβ
β
•
= − +
Cuya solución, teniendo ya en cuenta la condición inicial x(0)=0, es:
( )
1(
*)
22 4
x t p
α
T tα
tβ
β
= − +
Ahora usamos las expresiones anteriores para calcular x*(T*), λ*(T*) y u(T*). El Hamiltoniano evaluado en T* es:
( )
( )
2( ) ( )
*
*
*
*
*
T
H
=
α
x T
+
β
u T
+
λ
T
u T
Sustituyendo las soluciones obtenidas y simplificando constantes, tenemos:
2
2 2
*
0
*
2
*
0
T
H
= ⇔
α
pT
−
α
T
−
p
=
que es una ecuación cuadrática en T* que tiene dos soluciones reales y positivas. Para que la empresa acepte el contrato que le ofrecen, el valor con el contrato debe al menos igualar al valor para el problema resuelto aquí.
ANEXO: Condición sobre el tiempo final
Suponamos elegido un instante final arbitrario, sea t1. La función valor en
el instante 0 es:
( )
(
)
{ ( ) [ ]} 1(
( ) ( )
)
(
( )
)
1 1 1
: 0, 0
0 , 0 :
min
,
,
t u t t t
J x
g x t u t dt S x t
t
∈
⎧
⎫
⎪
⎪
=
⎨
+
⎬
⎪
⎪
⎩
∫
⎭
s.a:( )
(
( ) ( )
,
)
,
[ ]
0,
1x t
•=
f x t u t
t
∈
t
tenemos que:
( )
(
)
(
( ) ( )
1 1)
( )
(
( )
1 1)
( )
1(
( )
1 1)
1 1 1
0 , 0 , , ,
J x g x t u t S x t t x t S x t t
t x t t
•
∂ ∂ ∂
= + + =
∂ ∂ ∂
( ) ( )
(
1 1)
( )
1(
( ) ( )
1 1)
(
( )
1 1)
1(
( )
1 1)
1 1
, , , t ,
g x t u t t f x t u t S x t t H S x t t
t t
λ ∂ ∂
= + + = +
∂ ∂
donde en la primera igualdad hemos usado el teorema de la envolvente, en la segunda la condición terminal sobre el co-estado y la dinámica de estado y en la tercera hemos usado la definición de Hamiltoniano. Si la función S es autónoma (no depende explícitamente del tiempo), tenemos:
( )
(
)
11
0 ,0 t
J x H
t
∂
= ∂
Supongamos ahora que el tiempo terminal debe satisfacer t1≥t0. Para que
sea óptimo tomar t1= t0 debe ocurrir:
0 0
t
H ≥
es decir, si es óptimo terminar en el instante t0 es porque terminar más tarde
aumenta el valor de la función valor y queremos minimizar. De hecho, podemos escribir la anterior condición:
(
)
0 0 0, 0
t
H t t− ≥ ∀ ≥t t
De modo más general: en un problema de minimización, el producto del Hamiltaniano (derivada de la función valor en el instante final) en el óptimo por cualquier incremento factible del tiempo debe ser no negativo, es decir:
(
)
0* * 0,
t
H t t− ≥ ∀ ≥t t
donde t* denota el instante terminal óptimo. Si no hay restricción en el tiempo terminal (t0=0), el signo de t-t* es arbitrario, por lo que la única
forma de garantizar la anterior desigualdad es:
* 0 t
Resumen del tema: para el problema:
( ) [ ]
{ }
(
( ) ( )
)
(
( )
)
1
1 1
: 0, 0
min
,
t
u t t∈ t
g x t u t dt S x t
⎧
⎫
⎪
+
⎪
⎨
⎬
⎪
⎪
⎩
∫
⎭
s.a:
( )
(
( ) ( )
,
)
,
[ ]
0,
1x t
•=
f x t u t
t
∈
t
hemos visto las siguientes posibilidades sobre el punto final (t1,x(t1)):
Estado final
Libre Fijado Acotado Libre
Fijado
Tiempo
final
Acotado
(
)
* * 0
t
H t t− ≥
para t factible
( )
(
)
( )(
S x T' * −λ T)
(
y x T− *( ))
≥0 para y factibleLa lectura de la anterior tabla es la siguiente:
• El tiempo final puede ser Libre(*) (t1≥0), Fijado (t1 dado) o Acotado
(t1≥t0). Para cualquiera de esos tres casos, con independencia de la
condición sobre el estado final, aplicamos la condición que aparece en la última columna de la derecha.
Análogamente:
• El estado final puede ser Libre (x1(t1)≥-∞), Fijado (x1(t1) dado) o
Acotado (x1(t1)≥x1). Para cualquiera de esos tres casos, con
independencia de la condición sobre el tiempo final, aplicamos la condición que aparece en la última fila de abajo.
(*) Notemos que aunque el tiempo final sea libre no puede ser menor que el tiempo inicial, que tomamos como 0. En problemas autónomos (en los que g, S y f no dependen implícitamente del tiempo) esta normalización es irrelevante. En problemas no autónomos la extensión a un tiempo inicial arbitrario es directa.