Está en la página 1de 26

Linear Dynamic Programming

OPTIMIZACIÓN DINÁMICA

FLORES ROSA J. A.
LOPEZ TORRES E.
RUBIO GONZALEZ K.

Grupo: 2EM12

Profesor:
YAÑEZ JIMENEZ CARLOS ALBER

2018

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 1 / 26


Índice

1 Formalizando el enfoque de la programación dinamica.

2 Ejemplos

3 Bibliografı́a

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 2 / 26


Formalizando el enfoque de la programación dinamica.

Las caracterı́sticas más importantes de problemas de


programación dinámica son:

Stages
La caracterı́stica esencial del enfoque de programación dinámica es la
estructuración de los problemas de optimización en múltiples etapas,
que se resuelven secuencialmente una etapa a la vez. Aunque cada
problema de una etapa se resuelve como un problema ordinario de
optimización, su solución ayuda a definir las caracterı́sticas del
próximo problema de una etapa en la secuencia.
A menudo, las etapas representan diferentes perı́odos de tiempo en el
horizonte de planificación del problema. Por ejemplo, el problema de
determinar el nivel de inventario de un solo producto básico puede
establecerse como un programa dinámico.

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 3 / 26


Formalizando el enfoque de la programación dinamica.

States
Asociados con cada etapa del problema de optimización están los
estados del proceso. Los estados reflejan la información requerida para
evaluar completamente las consecuencias que la decisión actual tiene
sobre las acciones futuras. En el problema de inventario dado en esta
sección, cada etapa tiene solo una variable que describe el estado: el
nivel de inventario en la mano del producto único. El problema de
retraso mı́nimo también tiene una variable de estado: la intersección
de un viajero (commuter) en una etapa particular.
Las propiedades esenciales que deberı́an motivar la selección de
estados son:
Los estados deberı́an transmitir suficiente información para tomar
decisiones futuras sin importar cómo el proceso alcanzó el estado
actual; y
el número de variables de estado debe ser pequeño, ya que el esfuerzo
computacional asociado con el enfoque de programación dinámica es
prohibitivamente costoso cuando hay más de dos, o posiblemente tres,
estados variables involucradas en la formulación del modelo.
OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 4 / 26
Formalizando el enfoque de la programación dinamica.

Recursive optimization
La última caracterı́stica general del enfoque de programación dinámica es
el desarrollo de un recursivo procedimiento de optimización, que se basa en
una solución del problema general de N etapas resolviendo primero una
etapa problema y secuencialmente, incluyendo una etapa a la vez y la
solución de problemas de una etapa hasta el general óptimo ha sido
encontrado.

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 5 / 26


Formalizando el enfoque de la programación dinamica.

Estructura del problema


Para simplificar la exposición, consideremos únicamente un estado x y un
control u. Sean

F = {ft : D → R | D ⊆ R2 , t = 0, . . . , T }
G = {gt : E → R | E ⊆ R2 , t = 0, . . . , T },
dos familias de funciones de clase C 2 , y sean

x : {0, . . . , T + 1} → R,
u : {0, . . . , T } → R,
dos funciones. Denotemos por x(t) = xt y u(t) = ut y, como antes,
decimos que x es la variable de estado y u la de control. Finalmente sea
VT +1 una función con dominio e imagen en R, de clase C 2 . La estructura
general del problema de programación dinámica es escoger u y x que
resuelvan
OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 6 / 26
Formalizando el enfoque de la programación dinamica.

T
X
máx fk (xk , uk )
k=0 (1.1)
sujeto a xk+1 = gk (xk , uk ), k = 0, . . . , T,
x0 y xT +1 dados

Se sabe que la función de valor es


Z T
V (x, t) = máx b(x, u, τ ) dτ (1.2)
t
es decir, es el valor (presente) de los beneficios máximos a partir del
tiempo t. Consideremos un intervalo de tiempo ∆t, suficientemente
pequeño como para que el control óptimo no cambie durante ese intervalo.
Una observación no trivial, llamada el principio de optimalidad de
Bellman, dice que

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 7 / 26


Formalizando el enfoque de la programación dinamica.

Una polı́tica óptima tiene la propiedad de que, cualquiera que sea la acción
inicial, las posibles elecciones restantes constituyen una polı́tica óptima
con respecto al subproblema que comienza en el estado determinado por
las acciones iniciales.
Ası́, por ejemplo, si se ha determinado que la trayectoria óptima de México
a Guadalajara es vı́a Toluca y Morelia, entonces la trayectoria óptima de
Toluca a Guadalajara también pasa por Morelia. En nuestro caso, podemos
expresar el principio de optimalidad en términos de la función valor como

Z t+∆t Z T 
V (x(t), t) = máx b(x, u, τ ) dτ + b(x, u, τ ) dτ
t t+∆t
= máx{b(x(t), u(t), t)∆t + V (x(t + ∆t), t + ∆t)} (1.3)
| {z }
óptimo del subproblema

Una solución interior óptima u∗ de este problema de maximización debe


satisfacer

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 8 / 26


Formalizando el enfoque de la programación dinamica.


[b(x(t), u(t), t)∆t + V (x(t + ∆t), t + ∆t)] = 0 (1.4)
∂u

Para evaluar esta derivada es necesario conocer ∂V [x(t+∆t),t+∆t]


∂u . Dado que
x(t + ∆t) ' x(t) + ẋ(t)∆t y ẋ = g(x, u, t), se tiene que

∂x(t + ∆t) ∂g
= ∆t
∂u ∂u
y por lo tanto

∂V [x(t + ∆t), t + ∆t] ∂V [x(t + ∆t), t + ∆t] ∂x(t + ∆t)


=
∂u ∂x(t + ∆t) ∂u
∂V [x(t + ∆t), t + ∆t] ∂g
= ∆t (1.5)
∂x(t + ∆t) ∂u

Sustituyendo (1.5) en (1.4) y reescribiendo llegamos a que


OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 9 / 26
Formalizando el enfoque de la programación dinamica.

 
∂V [x(t + ∆t), t + ∆t]
bu + gu ∆t = 0,
∂x(t + ∆t)
con lo cual, definiendo λ como
∂V (x, t)
λ(t) = ,
∂x
se concluye

bu + λ(t + ∆t)gu
A la variable λ(t) se la conoce también como valor o precio sombra del
estado. Se puede pensar como el valor, o contribución marginal, a la
función valor de la unidad adicional de x en el tiempo t, en unidades del
tiempo inicial t = 0

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 10 / 26


Formalizando el enfoque de la programación dinamica.

Entonces el equivalente de la función valor dada en (1.2) es ahora


T
X
Vt (xt ) = máx fk (xk , uk ), (1.6)
k=t

que representa, igual que antes, el máximo a partir del periodo


t ∈ {0, . . . , T }.
El principio de optimalidad de Bellman dado anteriormente se expresa con
lo que usualmente se conoce como ecuación de Bellman, que es

Vt (xt ) = máx {ft (xt , ut ) + Vt+1 (xt+1 )} (1.7)

Aquı́ el máximo es con respecto al control ut sujeto a xt+1 = gt (xt , ut ) y


xt dado. Con esta ecuación se reduce el problema original de T periodos a
una sucesión de problemas de dos periodos. Este enfoque permite resolver
el problema comenzando por el último periodo y luego procediendo
recursivamente hacia atrás. La ecuación es válida a pesar de que se
carezca de soluciones interiores; sin embargo, si éstas existen, se tiene el
siguiente resultado.
OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 11 / 26
Formalizando el enfoque de la programación dinamica.

Teorema
Si u∗ y x∗ resuelven el problema (1.1) y suponemos una solución interior,
entonces se satisfacen

∂ft d Vt+1 ∂gt


+ = 0, (1.8)
∂ut d xt+1 ∂ut
d Vt ∂ft d Vt+1 ∂gt
= + , (1.9)
d xt ∂xt d xt+1 ∂xt
xt+1 = gt (xt , ut ) (1.10)

en donde t ∈ {0, . . . , T − 1}

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 12 / 26


Ejemplos

Ejemplo 1

Una compañı́a minera desea maximizar el valor presente de sus


ganancias netas a lo largo del periodo de tiempo t = 0, . . . , T + 1. El
precio de mercado del mineral extraı́do está dado por p. Denotemos
por yt la producción (extracción) y xt las reservas restantes en el
periodo t. El costo de extracción está dado por

2yt2
ct =
xt
y las reservas iniciales son x0 = 600 toneladas. El problema de
maximización de la empresa, suponiendo que no hay descuento temporal,
es

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 13 / 26


Ejemplos

T 
2y 2
X 
máx pyt − t
xt
t=0
sujeto a

xt+1 = xt − yt
x0 = 600

Solución
La variable de control es y y x la de estado. La ecuación de Bellman está
dada por

2yt2
  
Vt (xt ) = máx pyt − + Vt+1 (xt+1 )
xt
xt+1 = xt − yt , xt dado,

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 14 / 26


Ejemplos

y las condiciones de primer orden son

4yt
p− − V̇t+1 = 0 (2.1)
xt
2y 2
V̇t = 2t + V̇t+1 (2.2)
xt
xt+1 = xt − yt (2.3)
V̇T +1 (xT +1 ) = 0 (2.4)

La condición (2.4) se obtiene al resolver el problema en el último periodo,


dado por

máx VT +1 (xT +1 )
yT

sujeto a xT +1 = xT − yT

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 15 / 26


Ejemplos

Vamos a suponer T = 2 y que la firma suspende su producción en


T + 1 = 3. La ecuación (2.4) nos dice que V̇3 = 0 y, sustituyendo en (2.1)
cuando t = 2 , se tiene que
4y2 y2 p
p= ⇒ =
x2 x2 4
y2
Sustituyendo x2 en (2.2) para t = 2, se tiene

p2
V̇2 =
8
Sustituyendo V̇2 en (2.1) para t = 1 , obtenemos

4y1 p2 y1 8p − p2
p− − =0⇒ =
x1 8 x1 32

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 16 / 26


Ejemplos

y1
Sustituyendo x1 en (2.2) para t = 1, queda
2
8p − p2 p2

V̇1 = 2 +
32 8
Sustituyendo V̇1 en (2.1) para t = 0 , se tiene
"  2 #
4y0 8p − p2 p2
p− − 2 + = 0.
x0 32 8
Poniendo el valor inicial x0 = 600, se llega a
" 2 #
8p − p2 p2

y0 = 150 p − 2 −
32 8

y, sustituyendo en (2.3) para t = 0 ,


" 2 #
8p − p2 p2

x1 = 600 − 150 p − 2 −
32 8
OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 17 / 26
Ejemplos
y1 8p−p2
Dado que x1 = se obtiene
32
( " 2 #)
8p − p2 8p − p2 p2
 
y1 = 600 − 150 p − 2 −
32 32 8

Sustituyendo en (2.2) para t = 1 ,


( " 2 #) 
8p − p2 p2 8p − p2
 
x2 = 600 − 150 p − 2 − 1−
32 8 32
y2
y dado que = p4 , entonces
x2
( " 2 #) 
8p − p2 p2 8p − p2
 
p
y2 = 600 − 150 p − 2 − 1−
4 32 8 32

Sustituyendo en (2.2) para t = 2 ,


( " 2 #) 
8p − p2 p2 8p − p2 h
 
pi
x3 = 600 − 150 p − 2 − 1− 1−
32 8 32 4

Finalmente, dado que la firma cierra en t = 3 se tiene que y3 = 0.


OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 18 / 26
Ejemplos

Ejemplo 2
Resolver el siguiente problema:

mı́n J = [u(0) − 2]2 + [u(1) − 4]2 + x(2)


{u(0),u(1)}

sujeto a: x(1) = 1 (2.5)


x(1) = 3x(0) + u(0)
x(2) = x(1) + 2u(1)

En donde u es la variable de control y la x es la variable de estado.

Solución
Comencemos haciendo un esquema sobre el horizonte temporal del problema,
indicando los perı́odos, y los momentos en que se concretan los valores de las
distintas variables.
Para resolver el problema de programación dinámica, comenzamos situándonos en
el instante final, analizando a continuación cada uno de los periodos de final a
principio del Horizonte temporal.
OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 19 / 26
Ejemplos

Figura: Esquema sobre el horizonte temporal del problema (2.5)

Final
J2∗ = x(2) (2.6)

Periodo 2, sea x(1) dado:


J1∗ {x(1)} = mı́n [u(1) − 4]2 + J2∗ {x(1) + 2u(1)}

(2.7)
u(1) x(2)=x(1)+2u(1)

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 20 / 26


Ejemplos

De la ecuación (2.7) se puede expresar como:

J1∗ {x(1)} = mı́n [u(1) − 4]2 + x(1) + 2u(1) ⇒ β



(2.8)
u(1)

Apartir de (2.8), podemos resolver mediante programación matemática

mı́n β(u) = (u − 4)2 + x + 2u (2.9)


u

Imponiendo las condiciones de optimalidad:

β̇(u) = 0 → 2(u − 4) + 2 = 0 ⇒ u = 3
β̈(u) = 2 > 0 mı́n

Por lo tanto, se ha obtenido que:

u∗ (1) = 3 (2.10)

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 21 / 26


Ejemplos

Sustituyendo la ecuación (2.10) en (2.8):

J1∗ {x(1)} = [3 − 4]2 + x(1) + 2(3)


= x(1) + 7 (2.11)

Periodo 1: sea x(0) = 1 dado, la ecuación de bellman para este periodo es:

J0∗ {x(0)} = mı́n [u(0) − 2]2 + J1∗ {3 + u(0)}



(2.12)
u(0)

Teniendo en cuenta que:

J ∗0 {x(0)} :
dado que: J ∗1 = x(1) + 7 ∀ x(1) = 3x(0) + u(0)
simplificando se llega que:

J1∗ = u(0) + 10 (2.13)


OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 22 / 26
Ejemplos

sustituyendo (2.13) en (2.12), es decir:

J0∗ {x(0)} = mı́n [u(0) − 2]2 + u(0) + 10 ⇒ δ



(2.14)
u(0)

Hay que resolver, por tanto, el siguiente problema de programación matemática:

mı́n δ(u) = (u − 2)2 + u + 10


u

Aplicando las condiciones de optimalidad:

3
δ̇(u) = 0 → 2(u − 2) + 1 = 0 ⇒ u =
2
δ̈(u) = 2 > 0 mı́n

Por lo tanto, se ha obtenido que:


3
u∗ (0) = (2.15)
2
OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 23 / 26
Ejemplos

Sustituyendo (2.15) en (2.14):

 2
3 3
J0∗ {x(0)} = − 2 + + 10
2 2
47
=
4

Haciendo ahora un recorrido desde el inicio:

x∗ (0) = 1 x∗ (1) = 3 + u∗ (0) = 9


2 x∗ (2) = 9
+ 2(3) = 21
u∗ (0) = 32 u∗ (1) = 3 2 2

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 24 / 26


Comentario acerca de la Programación Dinámica

La pregunta de cómo acercarse a la programación dinámica desde un


enfoque económico moderno ha sido resuelta con la aparición del libro de
Nancy L. Stokey y Robert E. Lucas (con Edward C. Prescott), Recursive
Methods and Economic Dynamics , Cambridge, Harvard University Press,
1989. El esfuerzo de estos autores ha permitido conjuntar bajo un solo
enfoque las técnicas y herramientas utilizadas en la programación
dinámica. Además de cubrir ı́ntegramente los requisitos necesarios para
construir firmemente los resultados de los métodos recursivos, los autores
nos ofrecen un conjunto de aplicaciones que cubren gran parte del trabajo
teórico desarrollado en los últimos 20 años en economı́a.

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 25 / 26


Bibliografı́a

Bibliografı́a

Richard Bellman. Dynamic programming, Princeton


University Press 1957
Héctor Lomelı́ & Beatriz Rumbos. Métodos Dinámicos en
Economı́a. Otra Búsqueda del Tiempo Perdido, México DF 2001
Jacob Engwerda. LQ Dynamic Optimization and Differential
Games. John Wiley & Sons Ltd 2005
James A. Momoh.Electric Power System Applications of
Optimization, Second Edition, 2008 by CRC Press

OPTIMIZACIÓN DINÁMICA Escuela Superior de Economı́a 2018 26 / 26

También podría gustarte