Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Optimización Dinámica Discreta-10-B-Bianco PDF
Optimización Dinámica Discreta-10-B-Bianco PDF
Aplicaciones económicas
SECRETARÍA ACADÉMICA
“Yo estaba intrigado por la programación dinámica. Era claro para mí que no había una buena
oferta de un buen análisis allí. Además, pude ver muchas aplicaciones. Fue una elección clara.
Yo podría ser un intelectual tradicional, o un intelectual moderno utilizando los resultados de
mi investigación para los problemas de la sociedad contemporánea. Este era un camino
peligroso. O yo podría hacer demasiada investigación y poca aplicación o podía hacer poca
investigación y mucha aplicación. Yo tenía confianza de que podía hacer esta actividad
delicada, “pie a la mode””.
Richard E. Bellman
1952
CONTROL ÓPTIMO EN TIEMPO DISCRETO
El problema básico que vamos a estudiar es optimizar un problema donde las acciones
tomadas en un período afectan las decisiones óptimas que se tomarán en períodos futuros.
Durante los años previos al estallido de la Segunda Guerra Mundial, Alemania, Inglaterra,
Estados Unidos y la U.R.S.S. formaron equipos de investigación, cuyos trabajos fueron la base
de muchos de los inventos que aparecieron en funcionamiento durante la guerra (el radar, por
ejemplo) y que abrieron las nuevas ramas de la matemática que se desarrollarían
enormemente después de 1945.
La primera gran disciplina que surgió a partir del abordaje matemático de los problemas
específicos de la guerra fue, seguramente, la Investigación Operativa. El término Operations
Research fue utilizado por primera vez en Inglaterra, en 1941. Las investigaciones realizadas en
los centros de Investigación Operativa de la Royal Air Force y otros organismos militares
británicos permitieron, entre otras cosas, incrementar la eficacia de la los patrullajes aéreos
en busca de submarinos alemanes, y consecuentemente, la cantidad de submarinos dañados o
hundidos.
Inmediatamente después de la guerra y con el comienzo de la Guerra Fría, las dos
superpotencias, EEUU y URSS incrementaron sus esfuerzos en utilizar matemáticos para
desarrollar estrategias de defensa. Por eso no es de extrañar que tanto matemáticos del este
como del oeste encontraran casi simultáneamente respuesta a los problemas que más tarde
se llamarían de control óptimo.
En Rusia entre tanto Pontryagin como ya vimos desarrollaba el principio del máximo
trabajando con un grupo de colaboradores para la Fuerza Aérea.
En EEUU, después de la Segunda Guerra Mundial, se creó RAND Corporation (Research and
Development) por la fuerza Aérea como una usina de investigación para las Fuerzas Armadas.
Alrededor de 1950 simultáneamente se encontraban trabajando: Magnus Hestenes (1906-
1991), Rufus Isaacs (1914-1981) y Richard Bellman (1920-1984).
Hestenes redactó dos investigaciones para RAND donde desarrolló una guía para el cómputo
numérico de las trayectorias de tiempo mínimo para aeronaves en los comienzos de las
computadoras digitales.
Entre estos nuevos temas se encontraba la teoría de los Procesos de Decisión en Múltiples
Pasos, que Richard Bellman abordó alrededor de 1952, y para los cuales fue pensada
originalmente la Programación Dinámica.
"¿De dónde vino el nombre, programación dinámica? La década de 1950 no fueron buenos
años para la investigación matemática. Tuvimos un señor muy interesante en Washington
llamado Wilson. Era Secretario de Defensa y tenía un miedo y un odio patológico de la
palabra “investigación”. No estoy usando el término a la ligera sino que lo estoy usando
precisamente. Su rostro se teñía, se volvía rojo y se ponía violento si las personas utilizaban el
término “investigación” en su presencia. Te puedes imaginar cómo se sentía, pues, sobre el
término “matemática”. La RAND Corporation fue empleada por la Fuerza Aérea y la Fuerza
Aérea tenía Wilson como su jefe, esencialmente. Por lo tanto, me sentí que tenía que hacer
algo para proteger de Wilson y la Fuerza Aérea el hecho de que yo estaba en realidad
haciendo matemáticas dentro de la RAND Corporation. ¿Qué título, qué nombre, podía elegir?
En primer lugar, yo estaba interesado en la planificación, en la toma de decisiones, en el
pensamiento. Pero “planificación” no es una buena palabra por varias razones. Decidí por lo
tanto, utilizar la palabra "programación". Yo quería transmitir la idea de que esto era
dinámico, que esto era en varias etapas, esto variaba en el tiempo. Pensé, vamos a matar dos
pájaros de un tiro. Tomemos una palabra que tiene un significado absolutamente preciso
como “dinámico”, en el sentido físico clásico. Además tiene una propiedad muy interesante
como un adjetivo y es imposible usar la palabra dinámico, en un sentido peyorativo. Intenta
pensar en una combinación que posiblemente le dé un sentido peyorativo. Es imposible. Por
lo tanto, pensé “programación dinámica” era un buen nombre. Era algo que ni siquiera un
Congresista podría objetar. Así que lo utilicé como un paraguas para mis actividades".
El problema general
max V = ∑ f ( xt , u t ) + S ( xT +1 )
ut
t =0
( P) sujeto a xt +1 = g ( xt , u t ) para t = 0, K, T
con x 0 dado
Resolución por el método de los multiplicadores de Lagrange
T T
L = ∑ f ( xt , u t ) + S ( xT +1 ) + ∑ λt [g ( xt , u t ) − xt +1 ]
t =0 t =0
∂L
= g ( x t , u t ) − xt +1 = 0 ∀ t = 0, K , T
∂λ t
Ejemplo 1:
2
utmax V = ∑ − ( x 2
t + u 2
t ) − x 2
3
t =0
Desarrollando obtenemos:
Un individuo cuenta con un stock de ahorro s t . Cada período el agente retira de sus ahorros
un monto igual a c para destinarlo a bienes de consumo. El stock de ahorro remanente
t
( st − ct ) se deposita en un banco que pasa una tasa de interés constante r ( 0 < r < 1 ). De este
modo en el siguiente período el nuevo stock de ahorros será igual a (1 + r ) ( st − ct ) .
Esta operación se repita período a período hasta el momento T, cuando termina el horizonte
de optimización del individuo.
El comportamiento de los ahorros puede ser expresado de una manera simple a través de una
ecuación de movimiento:
st +1 = (1 + r ) (st − ct ) con t = 1, K , T
Dado un stock inicial de ahorros s y asumiendo que el ahorro en el último período es igual a
0
max U = ∑ β t ln ct
ct
t =0
T T
L = ∑ β ln ct + ∑ λt [ α ( st − ct ) − st +1 ]
t
t =0 t =0
∂L β t
= − α λt = 0 ∀ t = 0, K , T
∂c t ct
∂L
= α λt +1 − λt = 0 ∀ t = 0, K , T − 1
∂s t +1
∂L
=0 t =T
∂sT +1
∂L
= α ( s t − c t ) − s t +1 = 0 ∀ t = 0, K , T
∂λ t
Al resolver las ecuaciones en diferencias obtenemos
t
1
λt = k1 ct =
1
(αβ )t st = k 2 α t +
1
(αβ )t
α k1 α k1 α (1 − β )
Resolución utilizando programación dinámica. Horizonte temporal finito
La resolución del problema (P) a través de los multiplicadores de Lagrange, si bien es correcta,
no es la manera más eficiente de enfrentar el problema. En general, involucra cálculos
engorrosos para despejar las variables de control y de estado óptimas y puede llegar a hacerse
extremadamente largo si T es suficientemente grande.
∗
La secuencia de variables control u = (u 0 ,K , uT ) es óptima para el problema (P) sí y sólo sí u j
∗ ∗ ∗
max Vt = ∑ f ( x j , u j ) + S ( xT +1 )
ut
j =t
( Pt ) sujeto a x j +1 = g ( x j , u j ) para j = t , K, T
con xt dado
Aclaración: La esencia del principio de optimalidad puede resumirse en el siguiente esquema:
u 0∗ , u1∗ , u 2∗ ,K, u t∗ , u t∗+1 ,K, uT∗ −1 , uT∗
144 42444 3
B
144444 42444444 3
A
el problema (P) sí y sólo sí cualquier subconjunto de variables control (desde cualquier t hasta
T) como B también es óptima.
Definimos VT +1 ( xT +1 ) = S ( xT +1 )
Al derivar esta función con respecto a uT e igualarla a cero (condición de primer orden de
∗
optimización libre) nos queda que uT = h( xT ) que es la llamada función de política.
Al derivar esta función con respecto a uT −1 e igualarla a cero (condición de primer orden de
∗
optimización libre) nos queda que uT −1 = h( xT −1 )
………………………………………………………
Al derivar esta función con respecto a u 0 e igualarla a cero (condición de primer orden de
∗
optimización libre) nos queda que u 0 = h( x 0 )
Luego como x0 es dado, volviendo para arriba realizamos la siguiente secuencia:
h
x0
→ u 0
h
g ( x0 , u0 ) = x1
→ u1
h
g ( x1 , u1 ) = x 2
→ u 2 ………
Ejemplo 3: Continuamos con el ejemplo 1
2
utmax V = ∑ β t
f ( x t , u t ) + β T
S ( xT +1 )
t =0
T
ctmax U = ∑ β t
ln ct
t =0
ct =
st T −t
1 − β T −t +1 (1 − β ) st
pero como ∑
k ct =
T −t β =
∑β k
k =0 1 − β nos queda: 1 − β T −t +1
k =0
T −t
1 − β T −t +1 1 − β T −t +1 1 − β T −t +1 1 − β
K = ∑ k β ln(αβ ) −k
ln + ln
T − t +1
k =0 1− β 1− β 1− β 1− β
Ecuación de Euler
∗
Dada la función de política u t = h( xt ) , se reemplaza en la función de transición, obteniendo
xt +1 = g ( xt , u t ) = g ( xt , h( xt )) . Reemplazamos ambas ecuaciones en la ecuación de Bellman
maximizada, con lo cual se obtiene la siguiente relación:
Vt ( xt ) = f ( xt , u t ) + Vt +1 ( xt +1 ) = f ( xt , h( xt )) + Vt +1 ( g ( xt , h( xt )))
∂f
∂Vt +1 ∂u
=− t
∂xt +1 ∂g (**)
∂u t
3) Reemplazamos la expresión (**) en la ecuación de Benveniste y Scheinkman:
∂f
∂Vt ∂f ∂u ∂g
= − t
∂xt ∂xt ∂g ∂xt (***)
∂u t
4) Adelantamos un período la expresión (***):
∂f
∂Vt +1 ∂f ∂u ∂g
= − t +1
∂xt +1 ∂xt +1 ∂g ∂xt +1
∂u t +1
5) Reemplazamos esta última expresión en la condición de primer orden:
∂f
∂f ∂f ∂u t +1 ∂g ∂g
+ − =0
∂u t ∂xt +1 ∂g ∂xt +1 ∂u t Ecuación de Euler
∂u t +1
Ejemplo 5: Continuamos con el ejemplo 2
∂Wt +1 1
= (1)
∂st +1 αβ ct
• Hallamos la ecuación de Benveniste y Scheinkman
∂Wt ∂Wt +1
= αβ (2)
∂s t ∂st +1
• Reemplazamos (1) en (2) y adelantamos un período
∂Wt 1 ∂Wt +1 1
= ⇒ =
∂st ct ∂st +1 ct +1
• Reemplazamos en la condición de primer orden:
1 1
− αβ =0 ⇒ ct +1 = αβ ct
ct c t +1
Se debe resolver ahora el sistema de ecuaciones en diferencias
ct +1 − αβ ct = 0
st +1 − α st = −α ct
max V = ∑ β t f ( xt , u t )
ut
t =0
La ecuación de Bellman para este problema es igual a la vista para los problemas con factor de
descuento.
Las dos metodologías más conocidas para hallar la función de política y la función valor en este
tipo de problemas son la de aproximaciones sucesivas y la adivinar y verificar
Método de aproximaciones sucesivas
max U = ∑ β t ln ct
ct
t =0
(1 − β ) st
ct =
1 − β T −t +1
Luego:
(1 − β ) st
ct = lim = (1 − β ) st
T →∞ 1 − β T −t +1
Teniendo en cuenta que:
T −t
β
∑
k =0
k β k
=
(1 − β ) 2
β ln(αβ ) 1
B= 2
+ ln(1 − β )
(1 − β ) 1− β
Método de adivinar y verificar
∂Wt 1 A st
= − αβ = 0 ⇒ ct =
∂ct ct α ( st − ct ) 1+ β A
Al regresar a la ecuación de Bellman, reemplazar e igualar se obtiene:
αβA
A ln st + B = (1 + β A) ln st + β B − ln(1 + βA) + βA ln
1 + β A
Por lo tanto:
1 β ln(αβ ) 1
A= B= 2
+ ln(1 − β )
1− β (1 − β ) 1− β
¡¡¡¡HASTA EL VIERNES!!!