Sunteți pe pagina 1din 31

IO2 Rosa Delgadillo

Programacin Dinmica
Conceptos y formulacin
IO2- Rosa Delgadillo
Programacin Dinmica
Conceptos
Motivacin
Formalizacin del Modelo de
Programacin Dinmica
Estrategia de solucin
Ejemplos



IO2- Rosa Delgadillo
Programacin Dinmica
Gran cantidad de situaciones que se
desea modelar presentan naturaleza
dinmica
Esto es, las decisiones de un periodo de
tiempo se ven afectadas por las
decisiones de los periodos anteriores y
las decisiones del periodo actual
afectarn el comportamiento futuro.
IO2- Rosa Delgadillo
Programacin Dinmica
Dos enfoques que dependen de los
requerimientos y abstraccin que se
realice en el modelamiento pueden ser
contemplados:
Asumir que el efecto dinmico es poco
relevante y solo considerar modelos de un
periodo
Considerar el efecto dinmico dentro del
modelo
IO2- Rosa Delgadillo
Programacin Dinmica
La programacin dinmica tambin se
conoce como programacin en mltiples
etapas.
Se basa en el uso de funciones
recursivas y en un principio de
optimalidad desarrollado por R. Bellman
que es una aplicacin del principio de
induccin.
IO2- Rosa Delgadillo
Programacin Dinmica
La programacin dinmica (donde el tiempo
da el carcter dinmico) es un caso particular
de la programacin recursiva.
El modelo recursivo presenta una forma
alternativa equivalente de escribir la mayora
de los modelos de programacin matemtica,
proporcionando un mecanismo de solucin.
IO2- Rosa Delgadillo
Motivacin
Ejemplo:
Considere una familia que est planificando sus vacaciones y desea
viajar a travs del Per. Para ello ha elegido n ciudades para visitar en
un cierto orden. El nmero de das dedicados a visitar cada ciudad
debe ser determinado en la planificacin. La familia dispone de m das
para sus vacaciones. De acuerdo al inters turstico y las preferencias
familiares, a cada ciudad se le ha asignado una funcin de utilidad
que representa el grado de satisfaccin de la familia asociado a la visita
de la ciudad i cuando se dedican das asignados a esa ciudad, el
cual debe ser entero.
Se asume que:
El tiempo de viaje entre ciudades es despreciable
Los das son dedicados completamente a una ciudad
El orden de las ciudades que se visitarn corresponde al ndice
asignado

) (
i i
x g
i
x
IO2- Rosa Delgadillo
Motivacin
Modelo de programacin matemtica
: es el nmero de das a dedicar a la visita de la ciudad i
M :Mximo nmero de das disponibles de vacaciones
: Utilidad percibida si das son dedicados a la visita de la
ciudad i
n : Nmero de ciudades a visitar

) (
i i
x g
i
x
i
x
n i x
M x
a s
x g Max
i
n
i
i
n
i
i i
,..., 1 entero, , 0

. .
) ( (P1)
1
1
= >
s

=
=
IO2- Rosa Delgadillo
Motivacin
Modelo de programacin Dinmica
Es necesario observar que el nmero de das dedicados a visitar
una ciudad afectar al nmero de das posibles que se
dedicarn a la visita de otras ciudades (caracterstica dinmica)
Supongamos que la familia llega a la ltima ciudad que quera
visitar (ciudad n) y que dispone de das de vacaciones
Cul es la mejor decisin que ellos pueden tomar en ese
momento? Esto es cuntos das le dedicarn a la ltima
ciudad?.
Si se asume que es una funcin creciente en entonces la
decisin ser dedicar das disponibles a la ltima ciudad. Una
funcin que representa la utilidad de la mejor alternativa en la
ciudad n es dado por:

i
y
) (
n n
x g
n
x
n
y
{ } ) ( ) (
0
n n
y x
n n
x g y f
Max
n n
s s
=
IO2- Rosa Delgadillo
Motivacin
Pero, que ocurre en la ciudad n-1?
Supongamos que existen das disponibles antes de visitar la
ciudad n-1 ( y la ciudad n). En este momento la familia debe
decidir cuantos das dedicar a la ciudad n-1 y a la ciudad n.
Por tanto si hay das disponible para ambas ciudades,
quedarn si se decide dedicar das a la ciudad n-1
la funcin que representa la utilidad de la mejor alternativa
escogida para la ciudad n-1 ( y la ciudad n) es:

1 n
x
1 1

n n
x y
{ } ) ( ) ( ) (
1 1 1 1
0
1 1
1 1

s s

+ =

n n n n n
y x
n n
x y f x g y f
Max
n n
1 n
y
1 n
y
IO2- Rosa Delgadillo
Motivacin
y, que ocurre en la ciudad i ?
Nuevamente supongamos que existen das disponibles antes
de visitar la ciudad i ( y las ciudades i +1, ,n) , estos das
deben ser distribuidos entre esas ciudades de forma a
maximizar la utilidad asociada a esas ciudades.
La funcin que representa la utilidad de la mejor alternativa
escogida para la ciudad i ( y las ciudades i +1, ,n) es:

{ } ) ( ) ( ) (
1
0
i i i i i
y x
i i
x y f x g y f
Max
i i
+ =
+
s s
i
y
IO2- Rosa Delgadillo
Motivacin
Finalmente, en todas las ciudades se supone que existen y das
disponibles antes de visitarla (a ella y las restantes).
Sin embargo en la primera ciudad (primera a ser visitada) la familia
conoce los das disponibles para sus vacaciones.
Esto es, con lo cual la funcin que representa la
utilidad de la mejor alternativa en la ciudad 1, se define como:



En conclusin: El problema (P1), ha sido formulado como una serie
de subproblemas paramtricos interrelacionados, mediante la
variable y , pues esta asegura un valor en la ciudad 1 (ultima en
ser planificada) y relaciona las variables entre dos ciudades
consecutivas ( )
{ } ) ( ) ( ) (
1 2 1 1
0
1 1
1
x M f x g M y f
Max
M x
+ = =
s s
M y =
1
1 1
=
i i i
x y y
IO2- Rosa Delgadillo
Formalizacin del modelo de
Programacin Dinmica
En el ejemplo anterior se observ que el abordaje de la
formulacin de los subproblemas relacionados partieron desde
la ltima ciudad a la primera ciudad, este forma es conocida
como formulacin hacia atrs o backward . Sin embargo es
posible hacer una formulacin hacia delante o forward.
El concepto de programacin dinmica se basa en el uso de
ecuaciones funcionales y el principio de Optimalidad de Bellman
Las ecuaciones funcionales corresponden a :
Funciones que dan cuenta de la funcin objetivo (desde la etapa k
hasta el fin del horizonte)
La funcin de interrelacin entre estados de dos etapas
consecutivas
Las condiciones de borde

IO2- Rosa Delgadillo
Formalizacin del modelo de
Programacin Dinmica
Modelo general de la formulacin backward:






Donde : Variable de decisin de la etapa k-esima
: Variable de estado al comienzo de la etapa k-esima
: Funcin de transformacin
: Funcin de Optimizacin
: Funcin de recursin en etapa k-esima
: Espacio de soluciones factibles de la etapa k-esima
M : Valor inicial de Y , o condicin de borde
F : Valor final de la funcin f

k
y
{ }
F y f
M y
n n k x y T
y f x y H y f
n n
k k k
k k k k k
y A x
k k
Max
k k k
=
=
= =
=
+ +
+
+ +
e
) (
1 ,...., 1 , ) , ( y
)) ( , , ( ) (
1 1
1
1 k
1 1
) (
k
x
k
T
k
H
k
f
) (
k k
y A
IO2- Rosa Delgadillo
Formalizacin del modelo de
Programacin Dinmica
La formulacin anterior presenta algunas
caractersticas importantes:
La formulacin tiene el concepto de
recursividad, que es la generalizacin del
concepto dinmico del modelo
Las condiciones de borde M y F , permiten
obtener la solucin explicita del modelo
La funcin corresponde a la funcin
objetivo desde la etapa k hasta la etapa final
n
k
H
IO2- Rosa Delgadillo
Formalizacin del modelo de
Programacin Dinmica
La funcin de transformacin
establece la relacin entre las variables de
estado y para dos periodos
consecutivos.
El conjunto representa al conjunto de
restricciones asociadas a la variable de
decisin de la etapa k.
) , (
k k k
x y T
1 k
y
k
y
k
A
IO2- Rosa Delgadillo
Formalizacin del modelo de
Programacin Dinmica
La solucin del subproblema de optimizacin
en la etapa k, es una solucin paramtrica en
la variable de estado , ya que f es funcin
de ella.
Se denomina poltica ptima de la etapa K a
la solucin ptima de las etapas k, k+1,,n
para un determinado estado inicial en la
etapa k
k
y
IO2- Rosa Delgadillo
Formalizacin del modelo de
Programacin Dinmica
Principio de optimalidad de Bellman:
Una solucin ptima tiene la propiedad que
cualquiera sea el estado inicial y la decisin inicial, las
decisiones para las etapas posteriores deben
constituir una poltica ptima con respecto al estado
resultante de la primera decisin.

Es decir: las decisiones involucradas desde una etapa
en adelante slo dependen del estado inicial de la
etapa y no de la decisiones previas.
IO2- Rosa Delgadillo
Formalizacin del modelo de
Programacin Dinmica
En general es posible establecer ciertas
reglas para construir un modelo de
programacin dinmica equivalente al
modelo de optimizacin P1; asociado a
las definiciones de etapas, estado,
funcin de transformacin y funcin de
recursin:
IO2- Rosa Delgadillo
Formalizacin del modelo de
Programacin Dinmica
Cada variable de decisin (o conjunto de ellas) define
una etapa del modelo de PD. Generalmente se
establece una relacin uno a uno entre las variables y
las etapas.
La funcin objetivo corresponde a la funcin de
recursin. Por tanto, para cada etapa la funcin de
recursin debe corresponder a la funcin objetivo
desde esa etapa hasta la etapa final.
El nmero de variables de estado del modelo
corresponde al nmero de restricciones que
involucran a variables en ms de una etapa. Las
restricciones que solo afectan a una etapa no
generan variables de estado.
IO2- Rosa Delgadillo
Formalizacin del modelo de
Programacin Dinmica
Las variables de estado tienen una
interpretacin asociada al valor disponibles
del lado derecho ce cada restriccin en una
etapa determinada (holgura residual).
El valor de la condicin de borde es
asignado de acuerdo a la forma de la funcin
objetivo y a la decisin tomada al final de la
ltima etapa ( si la F.O. es aditiva y
si es multiplicativa).
1 + n
f
0
1
=
+ n
f
1
1
=
+ n
f
IO2- Rosa Delgadillo
Estrategia de solucin
Ejemplo:
Para el ejemplo anterior considere tres
ciudades y el nmero de das disponibles para
vacaciones de 5. las funciones de utilidad
son , ,
Considere que el orden de vista de las
ciudades est predefinido (1, 2, y luego 3) .
2 / 1
1 1
2 ) ( x x g =
2 / 1
2 2
) ( x x g =
2 / 1
3 3
3 ) ( x x g =
IO2- Rosa Delgadillo
Estrategia de solucin
Etapa3
Los das que se pueden dedicar a la
ciudad 3 son 0,1,2,3,4 y 5.
Si la familia dispone de das,
entonces puede dedicar desde 0 a a
esta ciudad.
El subproblema que debe ser resuelto
entonces es:

3
y
3
y
{ } ) ( 3 ) (
3 3 4
2 / 1
3
0
3 3
3 3
x y f x y f
Max
y x
+ =
s s
IO2- Rosa Delgadillo
Estrategia de solucin
La funcin , ya que independientemente del nmero de
das que queden despus de visitar la ultima ciudad, esto no
reporta ninguna utilidad.
La tabla muestra la solucin del subproblema

y
3
x
3
=0 x
3
=1 x
3
=2 x
3
=3 x
3
=4 x
3
=5 X
3
*
f
3
(y
3
)
0 0,00 - - - - - 0 0,00
1 0,00 3,00 - - - - 1 3,00
2 0,00 3,00 4,24 - - - 2 4,24
3 0,00 3,00 4,24 5,20 - - 3 5,20
4 0,00 3,00 4,24 5,20 6,00 - 4 6,00
5 0,00 3,00 4,24 5,20 6,00 6,71 5 6,71
0 ) (
4 4
= y f
0 3 ) ( ) (
2 / 1
3 3 3 4 3 3
+ = + x x y f x g
IO2- Rosa Delgadillo
Estrategia de solucin
Etapa2
En esta etapa se resuelve el problema de cuantos das
dedicar a la ciudad 2 y a la ciudad 3, en forma conjunta.
Dado que la decisin tomada en esta etapa afecta a
la etapa 3, ya que
Los das disponibles en esta etapa tambin son:
0,1,2,3,4,5; el subproblema a ser resuelto es:


2
x
2 2 3
x y y =
{ } ) ( 1 ) (
2 2 3
2 / 1
2
0
2 2
2 2
x y f x y f
Max
y x
+ =
s s
IO2- Rosa Delgadillo
Estrategia de solucin
La funcin y dado que
se tiene:


La tabla muestra la solucin del subproblema

y
2
x
2
=0 x
2
=1 x
2
=2 x
2
=3 x
3
=4 x
2
=5 X
2
*
f
2
(y
2
)
0 0,00 - - - - - 0 0,00
1 3,00 1,00 - - - - 0 3,00
2 4,24 4,00 1,41 - - - 0 4,24
3 5,20 5,24 4,41 1,73 - - 1 5,24
4 6,00 6,20 5,65 4,73 2,00 - 1 6,20
5 6,71 7,00 6,61 5,97 5,00 2,23 1 7,00
) ( ) (
3 3 2 2 3
x f x y f =
) ( ) ( ) (
2 2 3
2 / 1
2 2 2 3 2 2
x y f x x y f x g + = +
{ } ) ( ) ( ) (
3 3 4 3 3 3 3
x y f x g Max y f + =
{ } ) ( ) ( ) ( ) (
3 2 2 4 3 3 2 2
0 ,
2 2
3 2
2 3 2
x x y f x g x g Max x f
x x
y x x
+ + =
>
s +
IO2- Rosa Delgadillo
Estrategia de solucin
Etapa1
En esta etapa el nmero de das disponibles es conocido,
con lo que el subproblema a resolver es:


Y la tabla es:


y
1
x
1
=0 x
1
=1 x
1
=2 x
1
=3 x
1
=4 x
1
=5 X
1
*
f
1
(y
1
)
5 7,00 8,20 8,06 7,70 7,00 4,47 1 8,20
) (
1
y
) ( 2 ) ( ) (
1 1 2
2 / 1
1 1 1 2 1 1
x y f x x y f x g + = +
{ } ) ( 2 ) (
1 1 2
2 / 1
1
5
0
1 1
1
1 1
x y f x y f
Max
y
y x
+ =
=
s s
IO2- Rosa Delgadillo
Estrategia de solucin
solucin
La determinacin de la poltica ptima de asignacin de
das de visita a todas las ciudades es obtenido
recursivamente, partiendo de y observando en la
etapa 2 el valor ptimo para ,el cual es
, por lo que ahora , de la
observacin en la etapa 3 (tabla 3) se tiene que para
el valor optimo es
Por lo tanto la poltica ptima es dedicar un da a la
ciudad 1 y 2; y 3 das a la ciudad 3. Obtenindose una
utilidad de
1
*
1
= x
4
*
1 1 2
= = x y y
1
*
2
= x
3
*
2 2 3
= = x y y
4
3
= y
3
*
3
= x
20 , 8 ) (
1 1
= y f
IO2- Rosa Delgadillo
Ejemplos: Asignacin de recursos
El propietario de 3 tiendas ha comprado 5 cestas de cerezas, para
satisfacer la demanda en las diferentes tiendas. El propietario desea
determinar la forma de distribuir los canastos, de manera de maximizar
el beneficio total. Los retornos (utilidades) en funcin del nmero de
canastos distribuidos (se asume vendidos) en las 3 tiendas estn dados
en la siguiente tabla.
Cantidad de canastos
Tienda 0 1 2 3 4 5
1 0 3 7 9 12 13
2 0 5 10 11 11 11
3 0 4 6 11 12 12
IO2- Rosa Delgadillo
Ejemplos: Modelo de Planificacin de la
Produccin e Inventario
Una empresa debe decidir su poltica de produccin e inventario
para los prximos tres meses. La empresa ha adquirido algunos
compromisos de entrega para estos meses:3,2,y 4 unidades
respectivamente. En el proceso productivo se incurre en algunos
costos que estn asociados con la produccin y el almacenamiento.
Estos se indican en la siguiente tabla






Asuma que el inventario inicial es 0
Mes Almacenamiento
($/unidad-mes)
Produccin
($/unidad)
1 1 10
2 3 15
3 2 20
IO2- Rosa Delgadillo
Ejemplos: Modelo de Reemplazo de un
Equipo
Una empresa posee un equipo de 3 aos de uso, y desea
determinar la poltica de reemplazo para los prximos 3 aos.
Segn los antecedentes recopilados, el valor de un equipo
nuevo es de M$100, los costos de operacin y el valor de
rescate del equipo son entregados en la tabla







Nota. Considere que el equipo no puede operar ms all del ao 6.
Edad Operacin
(M$/aos)
Rescate
(M$)
1 10,0 70,0
2 40,0 50,0
3 60,0 30,0
4 70,0 20,0
5 80,0 10,0
6 85,0 0,0

S-ar putea să vă placă și