1
“PROGRAMACIÓN DINÁMICA”
ALUMNA: VILLANUEVA ORTEGA
ARIADNA LIZET
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE ECONOMÍA
2EM16
9 DE MAYO DEL 2020
PROFESOR:
HERNÁNDEZ ESPINOSA JESÚS
2
Introducción:
En este trabajo se buscara dar una mejor comprensión al tema de programación
dinámica, sus características, su estructura, su uso principalmente en el ámbito
económico. Esto mediante demostraciones matemáticas y la reflexión textual.
En la optimización dinámica con un único decisor existen a grosso modo dos
tipos de problemas: el problema variacional y el problema de control óptimo. Sus bases
matemáticas de análisis y resolución son el cálculo variacional y sus extensiones al
problema de control óptimo, conocido como "Principio del Máximo" de Pontryagin,
así como la programación dinámica u optimización por etapas de Bellman.
La programación dinámica, introducida por Bellman (1957), fue creada
inicialmente para resolver problemas formulados en tiempo discreto, aunque
posteriormente sería adaptada para la resolución de problemas en tiempo continuo, y
que más que un método en si constituye una filosofía de tratamiento para todo tipo de
problemas de toma de decisiones secuenciales y de múltiples etapas.
La programación dinámica lo que hace es resolver un problema de N etapas o
períodos, mediante la resolución de N problemas de una etapa o período.
La teoría de control se puede desarrollar a partir del principio de optimalidad de
Bellman en lugar del principio del máximo de Pontryagin. La diferencia es que, el
método de Bellman es intrínsecamente repetitivo y su finalidad es encontrar la forma
del valor óptimo o función valor. El método de Pontryagin, por otro lado, pone el
énfasis en encontrar las trayectorias de las variables de control que conducen a este
valor óptimo.
3
Generalidades
Si bien un mismo problema puede plantearse a través de la programación dinámica y
del control óptimo, existe una suerte de especialización. En aquellos problemas en los cuales
se considera el tiempo continuo y variables determinísticas, usualmente se emplea la técnica
de control óptimo; mientras que aquellos en los cuales se consideran el tiempo discreto y
variables estocásticas (es decir, variables que tienen un comportamiento aleatorio), se emplea
la técnica de programación dinámica.
Mientras que en el control óptimo es posible obtener una solución analítica de una
forma relativamente sencilla para las variables en análisis, en la programación dinámica no
ocurre lo mismo. Por lo general, a partir de las condiciones de primer orden del problema de
programación dinámica se obtienen características cualitativas acerca del proceso de
optimización intertemporal que enfrentan los agentes. Solamente bajo formas funcionales
específicas de la ecuación de movimiento y la función de retorno, se pueden obtener
soluciones analíticas simples para el problema. En caso contrario, las trayectorias de las
variables de control y de estado se obtienen a través de métodos numéricos o de computación.
Las variables de control óptimas en programación dinámica son de circuito cerrado
(también denominado closed-loop control), es decir, dependen tanto de la variable de estado
(yt) como del tiempo (t). En el caso del control óptimo, las variables de control son de
circuito abierto (también denominado open-loop control), ya que éstas dependen
exclusivamente 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 función), y se
le representará mediante la función ut = h(yt). Esta función constituye la esencia de la
solución al problema.
Teoría del control optimo
4
La teoría de control en tiempo continuo puede derivarse a partir del principio de
optimalidad; sin embargo, la ecuación diferencial que se debe resolver para obtener la
función valor involucra sus derivadas parciales, esta es la razón principal por la que el
desarrollo en tiempo continuo se hizo a partir del principio del máximo.
Si consideramos al tiempo como variable discreta, o sea t toma valores en el
conjunto {0, 1, . . . , n, . . .}, la estructura recursiva del principio de optimalidad resulta
sumamente útil. La idea es resolver para el último periodo, después para los dos
últimos periodos, luego para los tres últimos y así sucesivamente.
Planteamiento del problema de control óptimo en tiempo discreto
Se considera un sistema dinámico, formulado en tiempo discreto, para un
número dado N de etapas o períodos, cuya situación inicial viene dada por el vector n-
dimensional x0. Y que evoluciona en el tiempo. Al igual que en el caso de tiempo
continuo, dicha evolución depende del valor que se dé a ciertas variables, llamadas
variables de control, que permiten influir en el sistema.
Para simplificar la exposición, consideremos únicamente un estado x, y un
control u. Sean:
F = {ft : D → R | D ⊆ ℝ2, t = 0, ..., T},
G = {gt : E → R | E ⊆ ℝ2, t = 0, ..., T},
Dos familias de funciones de clase C2, y sean
x : {0, ..., T + 1} → ℝ
u : {0, ..., T} → ℝ
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
5
dominio e imagen en ℝ , de clase C2. La estructura general del problema de programación
dinámica es escoger u y x que resuelvan
Max ∑𝑇𝑘=0 f𝑘 (x𝑘 , u𝑘 )
Sujeto a xk+1 = gk (xk, uk), k = 0, ..., T,
x0 y xT +1 dados.
El equivalente de la función valor dada:
𝑇
𝑀𝑎𝑥 𝑉𝑡 [𝑥𝑡 ] = ∑ 𝑓𝑘 (𝑦𝑘 , 𝑢𝑘 )
𝑘=𝑡
Que representa, el máximo a partir del periodo t ∈ {0, ..., T}.
Tanto la función f, como la función g pueden ser cambiantes en el tiempo.
El principio de optimalidad de Bellman:
“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.” (Lomelí, 2001:295)
Se expresa con lo que usualmente se conoce como ecuación de Bellman:
Vt(xt) = max{ft(xt, ut) + Vt+1(xt+1)}
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.
El problema de programación dinámica cumple con dos propiedades fundamentales,
que permiten la resolución de una forma recursiva.
6
a) Propiedad de separabilidad: Para todo t, las funciones de retorno y transición,
ft (*) y gt (*), dependen de “t” y de los valores contemporáneos de las variables de
control y estado, pero no de sus valores pasados o futuros.
b) Propiedad de aditividad: El funcional objetivo V es la suma de las funciones
de retorno en los “T” períodos.
Sobre la base de estos dos principios se establece el principio de optimalidad. En
términos generales, este principio establece que la trayectoria óptima de la variable de
control debe satisfacer la siguiente propiedad: en cualquier período “t” del tiempo,
dado un valor de la variable de estado yt que depende de las decisiones tomadas
previamente, el resto de la secuencia de la variable de control (ut, ut+1, ut+2,... uT)
también debe ser óptimo. A partir de este principio se desarrolla toda la teoría de
programación dinámica.
El principio de optimalidad puede ser demostrado formalmente a partir de una
contradicción. Supongamos que la secuencia u0*, u1*, U2*,..., u t * es óptima y
resuelve el problema. Ahora, consideremos que la secuencia ut*, Ut+1*, ut+2 *,..., ut* no
cumple con la condición. Definamos la secuencia ut\ Ut+1*, ut+2 *,..., ut como la
solución al problema. Si así fuera, la secuencia u0*, u1*, U2*,..., u t * generaría un
mayor valor del funcional objetivo V que el conjunto de variables de control u0*, u1*,
U2*,..., u t*,..., u-r*. Este resultado contradice la hipótesis inicial, la cual establece que
la última secuencia de variables constituye la solución al problema.
La ecuación de Benveniste y Scheinkman
Para caracterizar completamente las condiciones de primer orden del problema,
también es necesaria la ecuación de Benveniste y Scheinkman, que constituye una
aplicación del teorema de la envolvente. Para obtener esta ecuación reemplazamos la
función de política ut = h (yt) en la ecuación de transición, con lo cual obtenemos yt+1 =
7
gt (yt, h (yt). Posteriormente se reemplazan la función de política y la ecuación de transición
en la ecuación de Bellman maximizada, con lo cual se obtiene la siguiente relación
Vt (yt)=ft (yt, h(yt))+Vt+1(gt(yt, h (yt))
La variación de yt, afecta directamente a la función de valor a través de la misma
variable e indirectamente, a través de la ecuación de movimiento yt+1= (gt (yt, h (yt)) y la
función de política (ut= h (yt)). El teorema de la envolvente establece que cuando la función
de valor se encuentra maximizada, solamente se consideran los efectos directos. En este
sentido, a partir del teorema de la envolvente, se cumple lo siguiente:
A esta relación se le denomina la ecuación de Benveniste y Scheinkman.
La ecuación de Euler
A partir de la condición de primer orden de la ecuación de Bellman y la ecuación de
Benveniste y Scheinkman, es posible obtener la ecuación de Euler. El primer paso para
obtener la ecuación de Euler consiste en despejar la derivada de la función de valor y
adelantarla un período:
El segundo paso consiste en adelantar la ecuación de Benveniste-Scheinkman un
período, y reemplazar la relación obtenida.
8
Reemplazando en la condición de primer orden de la ecuación de Bellman
obtenemos:
De igual forma, asumiendo una ecuación de transición que depende solamente
de la variable de control, obtenemos una versión simplificada de la ecuación de Euler:
La ecuación de Euler garantiza que la elección de la variable de control óptima
sea tal que la función de retorno tome el valor máximo posible, considerando los
efectos en los siguientes períodos.
Optimización dinámica empleando las condiciones de Kuhn-Tucker
El objetivo consiste en determinar las secuencias de las variables de control y
estado que logren maximizar el funcional objetivo. No obstante, dicho problema puede
ser interpretado como un problema de optimización estática en el cual se deben
determinar las “2T + 2” variables2 que optimicen la función objetivo.
Dada la función Lagrangiana del problema
9
Las condiciones de Kuhn-Tucker establecen que las variables que optimizan la función
objetivo cumplen con las siguientes condiciones de primer orden:
La ecuación de Euler
En un problema económico, muchas veces más importante que obtener la trayectoria
de una variable es la condición de optimización intertemporal, y cómo se interpreta dicha
condición en el marco de la teoría económica. Con este propósito se emplea una condición de
equilibrio denominada ecuación de Euler.
Para derivar la ecuación de Euler utilizaremos las condiciones de primer orden.
En primer lugar, debe despejarse el multiplicador de Lagrange de la ecuación b, con lo
cual se obtiene la siguiente expresión
10
Por otro lado se despeja la ecuación y se adelanta un período, con lo cual se
obtiene
Reemplazando finalmente obtenemos la ecuación de Euler
La ecuación de Euler junto con la ecuación de transición resumen las
condiciones de primer orden del problema. Para interpretar de una manera más sencilla
la ecuación de Euler, asumiremos que la ecuación de transición no depende de la
variable estado (gt(u0), con lo cual se simplifica del siguiente modo.
Esta condición implica que la elección de la variable de control en el período “t”
debe ser tal que garantice que la función de retorno en el mismo período sea la mayor
posible, pero considerando el efecto de la asignación sobre la función de retorno en el
período siguiente. Ello se debe a que a través de la ecuación de movimiento, las
variables en distintos períodos de tiempo se encuentran interrelacionadas. De este
modo, las decisiones en un período afectarán a la función de los siguientes períodos.
En este sentido, el segundo término de la ecuación es un producto de derivadas que
miden el efecto de la elección de la variable de control ut sobre la función de retorno en
11
el período “t+1”. Dichas derivadas constituyen una aplicación de la regla de la cadena, ya que
indican cómo cambia la función de retorno ante una variación de la variable de estado en el
período “t + 1”, multiplicado por la variación de esta variable ante un cambio en la variable
de control en el período “t”.
12
Ejemplos:
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
2𝑦𝑡2
𝑐𝑇 =
𝑥𝑇
Y las reservas iniciales son x0 = 600 toneladas. El problema de maximización de
la empresa, suponiendo que no hay descuento temporal es:
2𝑦𝑡2
max ∑𝑇𝑡=0(𝑝𝑦𝑡 − )
𝑥𝑇
Sujeto a xt+1 = xt − yt, x0 = 600.
La variable de control es y y x la de estado. La ecuación de Bellman está dada
por:
2𝑦𝑡2
Vt(xt) =𝑚𝑎𝑥 {(𝑝𝑦𝑡 − ) + 𝑣𝑡+1 (𝑥𝑡+1 ) }
𝑥𝑇
xt+1 = xt − yt, xt dado
Y las condiciones de primer orden son
p – (4yt/xt ) − V´t+1 = 0
2𝑦𝑡2
V´t = + V´t+1
𝑥𝑇
xt+1 = xt − yt
V´T+1 (𝑥 𝑇+1 )=0
La condición se obtiene al resolver el problema en el último periodo, dado por
Max VT+1 (𝑥 𝑇+1 )
Sujeto a xT +1 = xT − yT .
13
Vamos a suponer T = 2 y que la firma suspende su producción en T +1=3. La ecuación
nos dice que V´3 = 0 y, sustituyendo en cuando t = 2, se tiene que
4𝑦2 𝑦2 𝑝
𝑝= → =
𝑥2 𝑥2 4
𝑦
Sustituyendo 𝑥2 para t = 2, se tiene
2
𝑝2
𝑉2´ =
8
Sustituyendo 𝑉2´ en para t = 1, obtenemos
4𝑦1 𝑝2 𝑦1 8𝑝 − 𝑝2
𝑝− − =0 → =
𝑥1 8 𝑥1 32
𝑦
Sustituyendo 𝑥1 para t = 1, queda
1
2
8𝑝 − 𝑝2 𝑝2
𝑉2´ = 2( ) +
32 8
Sustituyendo 𝑉1´ para t = 0, se tiene
2
4𝑦0 8𝑝 − 𝑝2 𝑝2
𝑝− − [2 ( ) + ]=0
𝑥0 32 8
Poniendo el valor inicial x0 = 600, se llega a
2
8𝑝 − 𝑝2 𝑝2
𝑦0 = 150 [𝑝 − 2 ( ) − ]
32 8
Sustituyendo para t = 0
2
8𝑝 − 𝑝2 𝑝2
𝑥1 = 600 − 150 [𝑝 − 2 ( ) − ]
32 8
𝑦 8𝑝−𝑝2
Dado que𝑥1 = se obtiene
1 32
2
8𝑝 − 𝑝2 8𝑝 − 𝑝2 𝑝2
𝑦1 = [ ] {600 − 150 [𝑝 − 2 ( ) − ]}
32 32 8
14
Sustituyendo para t=1
2
8𝑝 − 𝑝2 𝑝2 8𝑝 − 𝑝2
𝑥2 = {600 − 150 [𝑝 − 2 ( ) − ]} [1 − ]
32 8 32
𝑦 𝑝
Y dado que 𝑥2 = 4 entonces
2
2
𝑝 8𝑝 − 𝑝2 𝑝2 8𝑝 − 𝑝2
𝑦2 = {600 − 150 [𝑝 − 2 ( ) − ]} [1 − ]
4 32 8 32
Sustituyendo para t=2
2
8𝑝 − 𝑝2 𝑝2 8𝑝 − 𝑝2 𝑝
𝑥3 = {600 − 150 [𝑝 − 2 ( ) − ]} [1 − ] [1 − ]
32 8 32 4
Finalmente, dado que la firma cierra en t = 3 se tiene que y3 = 0
Ejemplo 2:
Suponga una economía en la cual se produce un solo bien de acuerdo con la
función de producción 0 (k,). Cada período, la producción se destina solamente a dos
fines: consumo (Ct) o inversión en capital para el período siguiente (kt+1). Dicho
proceso de asignación puede representarse a través de la siguiente ecuación de
movimiento:
Por otra parte, el objetivo de la sociedad es maximizar su bienestar intertemporal
empleando el factor de descuento β
De esta manera, el problema que enfrenta el planificador social se resume del
siguiente modo
15
Asumiendo funciones genéricas para el nivel de utilidad f (Ct) (f’(Ct) > 0 f” (Ct) < 0) y
la producción Ф(kt) (Ф’(kt) >0 Ф” (kt) < 0), podemos plantear la ecuación de Euler para
analizar la condición de equilibrio intertemporal. Considerando la ecuación de movimiento
kt+1 = Ф kt -Ct, la ecuación de Euler establece lo siguiente:
En el contexto macroeconómico, el uso alternativo de una unidad de consumo ya no
consiste en realizar un depósito en un banco sino en la inversión en capital. De esta forma, la
ecuación de Euler establece que la tasa marginal de sustitución entre consumo presente y
consumo futuro debe ser igual a la productividad marginal del capital. Si la tasa marginal de
sustitución fuera mayor a la productividad marginal, entonces, la sociedad como un todo
valora más el consumo presente que la inversión en capital; por lo tanto, la decisión óptima
sería aumentar el consumo y disminuir la inversión en capital.
Por el contrario, si la tasa marginal de sustitución fuera inferior a la productividad
marginal, convendría disminuir el consumo e incrementar la inversión en capital. De esta
forma, en el equilibrio, las secuencias óptimas de consumo y capital deben cumplir con una
relación de igualdad entre la tasa marginal de sustitución y la productividad marginal.
En la medida en que la función de utilidad es estrictamente cóncava
16
Y la ecuación de transición es convexa
Conclusión:
El gran potencial de la programación dinámica consiste en su aplicabilidad a
problemas numéricos, mientras que su empleo en problemas analíticos es un poco más
limitado. En estos casos lo más adecuado es emplear la programación dinámica con la
ayuda de computadores que faciliten el trabajo.
Ciertamente este es un tema complicado de entender, más aun dado a que los
diversos autores consultados manejan diferentes expresiones de las ecuaciones, que
finalmente representan lo mismo es difícil lograr una completa compresión del tema.
Bibliografía
Bonifaz F., J. L., & Lama C., R. (2013). OPTIMIZACIÓN DINÁMICA Y TEORÍA ECONÓMICA. Lima: Centro
de Investigacion de la Universidad del pacifico.
Cerdá Tena, E. (2001). Optimización Dinámica. Madrid: PEARSON EDUCACIÓN S.A.
Lomelí, H., & Rumbos, B. (2001). Métodos Dinámicos en Economía. México D.F.: JIT PRESS.
Monsalve, S. (2008). Matematicas Basicas para Economistas III: Optimización y Dinamica. Bogotá:
Universidad Nacional de Colombia.