Está en la página 1de 21

Matemáticas IV

UNIDAD 2: OPTIMIZACIÓN DINÁMICA


2.3 PROGRAMACIÓN DINÁMICA
El problema
𝑇

max 𝑉 = ෍ 𝑓𝑡 𝑢𝑡 , 𝑦𝑡 + 𝑍 𝑦𝑇+1
𝑡=0

𝑠. 𝑎. 𝑦𝑡+1 ≤ 𝑔𝑡 𝑢𝑡 , 𝑦𝑡 ∀𝑡 = 0,1, … , 𝑇

𝑦0 𝑑𝑎𝑑𝑜

𝑢𝑡 ≥ 0, 𝑦𝑡+1 ≥ 0

PROGRAMACIÓN DINÁMICA 2
El problema

• Las variables de control óptimas en programación


dinámica son de circuito cerrado, es decir,
dependen tanto de la variable de estado (𝑦𝑡 ) como
del tiempo (𝑡).
• A la estrategia que determina el valor del control
óptimo para un valor dado de la variable de estado
se le denomina función de política (policy function),
y se le representará mediante la función 𝑢𝑡 =
ℎ 𝑦𝑡 .

PROGRAMACIÓN DINÁMICA 3
Optimización dinámica empleando las condiciones KKT

• El problema puede ser interpretado como un


problema de optimización estática en el cual se
deben determinar las “2T + 2” variables que
optimicen la función.
• Se busca las secuencias de variables:
𝑢0 , 𝑢1 , … , 𝑢 𝑇 , 𝑦1 , … , 𝑦𝑇+1

PROGRAMACIÓN DINÁMICA 4
Optimización dinámica empleando las condiciones KKT

Planteamos la función Lagrangeana:


𝑇 𝑇

𝐿 = ෍ 𝑓𝑡 𝑢𝑡 , 𝑦𝑡 + 𝑍 𝑦𝑇+1 + ෍ 𝜆𝑡 𝑔𝑡 𝑢𝑡 , 𝑦𝑡 − 𝑦𝑡+1
𝑡=0 𝑡=0
Considerando las restricciones de desigualdad y no negatividad,
es necesario que se cumpla ∀𝑡 = 0,1, … , 𝑇:
𝜕𝐿 𝜕𝐿
a) 𝜕𝑢𝑡
≤0 𝑢𝑡
𝜕𝑢𝑡
=0 𝑢𝑡 ≥ 0
𝜕𝐿 𝜕𝐿
b) 𝜕𝑦𝑡+1
≤0 𝑦𝑡+1
𝜕𝑦𝑡+1
=0 𝑦𝑡+1 ≥ 0
𝜕𝐿 𝜕𝐿
c) 𝜕𝜆𝑡
≥0 𝜆𝑡
𝜕𝜆𝑡
=0 𝜆𝑡 ≥ 0

PROGRAMACIÓN DINÁMICA 5
Optimización dinámica empleando las condiciones KKT

Para explicar el procedimiento, supongamos una solución interior:


𝑇 𝑇

𝐿 = ෍ 𝑓𝑡 𝑢𝑡 , 𝑦𝑡 + 𝑍 𝑦𝑇+1 + ෍ 𝜆𝑡 𝑔𝑡 𝑢𝑡 , 𝑦𝑡 − 𝑦𝑡+1
𝑡=0 𝑡=0
𝜕𝐿 𝜕𝑓𝑡 𝜕𝑔𝑡
𝑎) = + 𝜆𝑡 =0 ∀𝑡 = 0,1, … , 𝑇
𝜕𝑢𝑡 𝜕𝑢𝑡 𝜕𝑢𝑡
𝜕𝐿
b.1) = 𝑍 ′ 𝑦𝑇+1 − 𝜆 𝑇 = 0
𝜕𝑦𝑇+1
𝜕𝐿 𝜕𝑓𝑡+1 𝜕𝑔𝑡+1
b.2) = + 𝜆𝑡+1 − 𝜆𝑡 = 0 ∀𝑡 = 0,1, … , 𝑇 − 1
𝜕𝑦𝑡+1 𝜕𝑦𝑡+1 𝜕𝑦𝑡+1
𝜕𝐿
c) = 𝑔𝑡 𝑢𝑡 , 𝑦𝑡 − 𝑦𝑡+1 = 0 ∀𝑡 = 0,1, … , 𝑇
𝜕𝜆𝑡

PROGRAMACIÓN DINÁMICA 6
Optimización dinámica empleando las condiciones KKT

Inducción hacia atrás: en 𝒕 = 𝑻


De b.1)
𝑍 ′ 𝑦𝑇+1 = 𝜆 𝑇
En a)
𝜕𝑓𝑇 𝜕𝑔𝑇 𝜕𝑓𝑇 ′
𝜕𝑔𝑇
+ 𝜆𝑇 = + 𝑍 𝑦𝑇+1 =0
𝜕𝑢 𝑇 𝜕𝑢 𝑇 𝜕𝑢 𝑇 𝜕𝑢 𝑇
En c)
𝑔𝑇 𝑢 𝑇 , 𝑦𝑇 − 𝑦𝑇+1 = 0

De este sistema de ecuaciones, se obtiene la función de


política: 𝒖𝑻 = 𝒉𝑻 𝒚𝑻

PROGRAMACIÓN DINÁMICA 7
Optimización dinámica empleando las condiciones KKT

Inducción hacia atrás: en 𝒕 = 𝑻 − 𝟏


De b.2)
𝜕𝑓𝑇 𝜕𝑔𝑇
+ 𝜆𝑇 = 𝜆 𝑇−1
𝜕𝑦𝑇 𝜕𝑦𝑇
En a)
𝜕𝑓𝑇−1 𝜕𝑔𝑇−1
+ 𝜆 𝑇−1 =0
𝜕𝑢 𝑇−1 𝜕𝑢 𝑇−1
En c)
𝑔𝑇−1 𝑢 𝑇−1 , 𝑦𝑇−1 − 𝑦𝑇 = 0
Estas ecuaciones, junto con la función de política hallada en T,
permiten encontrar la función de política: 𝒖𝑻−𝟏 = 𝒉𝑻−𝟏 𝒚𝑻−𝟏

PROGRAMACIÓN DINÁMICA 8
Optimización dinámica empleando las condiciones KKT

• El procedimiento sigue hasta el periodo inicial, de


tal manera que se encuentra: 𝑢0 = ℎ0 𝑦0
• Entonces es posible hallar la secuencia:

𝑦0 → 𝑢0 = ℎ0 𝑦0 → 𝑦1 = 𝑔0 𝑢0 , 𝑦0
𝑦1 → 𝑢1 = ℎ1 𝑦1 → 𝑦2 = 𝑔1 𝑢1 , 𝑦1

𝑦𝑇 → 𝑢 𝑇 = ℎ 𝑇 𝑦𝑇 → 𝑦𝑇+1 = 𝑔𝑇 𝑢 𝑇 , 𝑦𝑇

PROGRAMACIÓN DINÁMICA 9
Optimización dinámica empleando las condiciones KKT

Ecuación de Euler (condición de optimización intertemporal):


𝜕𝑓𝑡 𝜕𝑔𝑡
De la condición a) + 𝜆𝑡 =0
𝜕𝑢𝑡 𝜕𝑢𝑡
𝜕𝑓𝑡 𝜕𝑓𝑡+1
𝜕𝑢𝑡 𝜕𝑢𝑡+1
𝜆𝑡 = − , 𝜆𝑡+1 = −
𝜕𝑔𝑡 𝜕𝑔𝑡+1
𝜕𝑢𝑡 𝜕𝑢𝑡+1
𝜕𝑓𝑡+1 𝜕𝑔𝑡+1
En b)𝜆𝑡 = + 𝜆𝑡+1
𝜕𝑦𝑡+1 𝜕𝑦𝑡+1
𝜕𝑓𝑡 𝜕𝑓𝑡+1
𝜕𝑢𝑡 𝜕𝑓𝑡+1 𝜕𝑢𝑡+1 𝜕𝑔𝑡+1
− = −
𝜕𝑔𝑡 𝜕𝑦𝑡+1 𝜕𝑔𝑡+1 𝜕𝑦𝑡+1
𝜕𝑢𝑡 𝜕𝑢𝑡+1

PROGRAMACIÓN DINÁMICA 10
Optimización dinámica empleando las condiciones KKT

Ecuación de Euler (condición de optimización intertemporal):

𝜕𝑓𝑡 𝜕𝑓𝑡+1
𝜕𝑢𝑡 𝜕𝑓𝑡+1 𝜕𝑢𝑡+1 𝜕𝑔𝑡+1
− = −
𝜕𝑔𝑡 𝜕𝑦𝑡+1 𝜕𝑔𝑡+1 𝜕𝑦𝑡+1
𝜕𝑢𝑡 𝜕𝑢𝑡+1

𝜕𝑓𝑡+1
𝜕𝑓𝑡 𝜕𝑔𝑡 𝜕𝑓𝑡+1 𝜕𝑢𝑡+1 𝜕𝑔𝑡+1
+ − =0
𝜕𝑢𝑡 𝜕𝑢𝑡 𝜕𝑦𝑡+1 𝜕𝑔𝑡+1 𝜕𝑦𝑡+1
𝜕𝑢𝑡+1

PROGRAMACIÓN DINÁMICA 11
Optimización dinámica empleando las condiciones KKT

Ejemplo 1:
𝑇

max ෍ 𝛽𝑡 𝑈 𝐶𝑡
𝑡=0

𝑠. 𝑎. 𝑆𝑡+1 ≤ 𝛼 𝑆𝑡 − 𝐶𝑡
𝑆0 𝑑𝑎𝑑𝑜, 𝐶𝑡 ≥ 0, 𝑆𝑡+1 ≥ 0
1
𝛽= ,𝛼 = 1 + r
1+𝜌
a) Obtenga e interprete la ecuación de Euler.
b) Si 𝑈 𝐶𝑡 = ln 𝐶𝑡 , obtenga la función de política general para 𝑡.

PROGRAMACIÓN DINÁMICA 12
Optimización dinámica empleando las condiciones KKT

Ejemplo 2:
𝑇

max ෍ 𝛽𝑡 𝑢 𝑐𝑡
𝑡=0

𝑠. 𝑎. 𝑘𝑡+1 ≤ 𝑓 𝑘𝑡 − 𝑐𝑡
𝑘0 𝑑𝑎𝑑𝑜, 𝑐𝑡 ≥ 0, 𝑘𝑡+1 ≥ 0

a) Obtenga e interprete la ecuación de Euler.


b) Si 𝑢 𝑐𝑡 = ln 𝑐𝑡 y 𝑓 𝑘𝑡 = 𝑘𝑡𝛼 , obtenga la función de política
general para 𝑡.

PROGRAMACIÓN DINÁMICA 13
Programación dinámica con horizonte temporal finito
𝑇

max 𝑉 = ෍ 𝑓𝑡 𝑢𝑡 , 𝑦𝑡 + 𝑍 𝑦𝑇+1
𝑡=0

𝑠. 𝑎. 𝑦𝑡+1 = 𝑔𝑡 𝑢𝑡 , 𝑦𝑡 ∀𝑡 = 0,1, … , 𝑇

𝑦0 𝑑𝑎𝑑𝑜

PROGRAMACIÓN DINÁMICA 14
Programación dinámica con horizonte temporal finito

Principio de optimalidad de Bellman:


• Propiedad de separabilidad: la función de retorno (𝑓)
y la función de transición (𝑔) dependen de los valores
contemporáneos de las variables de control y de
estado, no dependen de sus valores pasados o futuros.
• Propiedad de aditividad: la función objetivo (𝑉) es la
suma de todas las funciones de retorno.
Ejemplo:
𝑉 = ln 𝐶0 + 𝛽 ln 𝐶1 + 𝛽 2 ln 𝐶2 + ⋯ + 𝛽 𝑇 ln 𝐶𝑇

PROGRAMACIÓN DINÁMICA 15
Programación dinámica con horizonte temporal finito

• Principio de optimalidad:
La secuencia de variables de control 𝑢0∗ , 𝑢1∗ , … , 𝑢∗𝑇 es
una solución óptima del problema de programación

dinámica si y solo si la secuencia 𝑢𝑡∗ , 𝑢𝑡+1 , … , 𝑢∗𝑇
resuelve el siguiente problema, ∀𝑡 = 0,1, … 𝑇.
𝑇

max 𝑉 = ෍ 𝑓𝜏 𝑢𝜏 , 𝑦𝜏 + 𝑍 𝑦𝑇+1
𝜏=𝑡
𝑠. 𝑎. 𝑦𝜏+1 = 𝑔𝜏 𝑢𝜏 , 𝑦𝜏 ∀𝜏 = 𝑡, 𝑡 + 1, … , 𝑇
𝑦𝑡 𝑑𝑎𝑑𝑜, 𝑦𝑇+1 𝑑𝑎𝑑𝑜

PROGRAMACIÓN DINÁMICA 16
Programación dinámica con horizonte temporal finito

• Principio de optimalidad:
En otras palabras, la secuencia de variables de control
será óptima si y solo si dicha secuencia es óptima por
tramos.

PROGRAMACIÓN DINÁMICA 17
Programación dinámica con horizonte temporal finito
La ecuación de Bellman:
• El problema puede ser planteado a través de una
relación recursiva denominada ecuación de Bellman.

𝑉𝑡 𝑦𝑡 = max 𝑓𝑡 𝑢𝑡 , 𝑦𝑡 + 𝑉𝑡+1 𝑦𝑡+1


𝑢𝑡

𝑠. 𝑎. 𝑦𝑡+1 = 𝑔𝑡 𝑢𝑡 , 𝑦𝑡 ∀𝑡 = 0,1, … , 𝑇

𝑦𝑡 𝑑𝑎𝑑𝑜, 𝑦𝑇+1 𝑑𝑎𝑑𝑜


• Donde 𝑉𝑡 𝑦𝑡 es una función valor del problema en el
periodo 𝑡.
PROGRAMACIÓN DINÁMICA 18
Programación dinámica con horizonte temporal finito

• Si se reemplaza la restricción en la función objetivo:

𝑉𝑡 𝑦𝑡 = max 𝑓𝑡 𝑢𝑡 , 𝑦𝑡 + 𝑉𝑡+1
𝑢𝑡
𝑔𝑡 𝑢𝑡 , 𝑦𝑡

• La condición de primer orden se resume en:


𝜕𝑓𝑡 ′
𝜕𝑔𝑡
+ 𝑉𝑡+1 = 0 … (1)
𝜕𝑢𝑡 𝜕𝑢𝑡
• Esta ecuación, junto con la transición, permiten
encontrar la función de política para cada periodo.

PROGRAMACIÓN DINÁMICA 19
Programación dinámica con horizonte temporal finito
La ecuación de Benveniste y Scheinkman:
• La función valor puede escribirse en términos de 𝑦𝑡 ,
utilizando la función de política 𝑢𝑡 = ℎ 𝑦𝑡 .

𝑉𝑡 𝑦𝑡 = 𝑓𝑡 ℎ 𝑦𝑡 , 𝑦𝑡 + 𝑉𝑡+1 𝑔𝑡 ℎ 𝑦𝑡 , 𝑦𝑡
• A partir del teorema de la envolvente, se cumple:

𝜕𝑓𝑡 ′
𝜕𝑔𝑡
𝑉𝑡 = + 𝑉𝑡+1 … (2)
𝜕𝑦𝑡 𝜕𝑦𝑡
• Las ecuaciones (1) y (2) permiten obtener la ecuación
de Euler.

PROGRAMACIÓN DINÁMICA 20
Programación dinámica con horizonte temporal finito

Ejemplo:
𝑇

max ෍ 𝛽𝑡 𝑢 𝑐𝑡
𝑡=0

𝑠. 𝑎. 𝑘𝑡+1 = 𝑓 𝑘𝑡 − 𝑐𝑡
𝑘0 𝑑𝑎𝑑𝑜

a) Obtenga e interprete la ecuación de Euler.


b) Si 𝑢 𝑐𝑡 = ln 𝑐𝑡 y 𝑓 𝑘𝑡 = 𝑘𝑡𝛼 , obtenga la función de política
general para 𝑡.

PROGRAMACIÓN DINÁMICA 21

También podría gustarte