Download - Programación Dinamica
-
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
Programacin dinmica probabilstica
-
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(donde el tiempo no es un factor importante).
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 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
)( ii xg
ix
-
IO2- Rosa Delgadillo
MotivacinModelo 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
)( ii xg
ix
ix
nix
Mx
as
xgMax
i
n
i
i
n
i
ii
,...,1 entero, ,0
..
)( (P1)
1
1
-
IO2- Rosa Delgadillo
MotivacinModelo de programacin Dinmica
Es necesario observar que el nmero de das dedicados a visitaruna 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:
iy
)( nn xg nx
ny
)()(0
nn
yx
nn xgyf Maxnn
-
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:
1nx11 nn xy
)()()( 11110
11
11
nnnnn
yx
nn xyfxgyf Maxnn
1ny
1ny
-
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:
)()()( 10
iiiii
yx
ii xyfxgyf Maxii
iy
-
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 ( )
)()()( 12110
11
1
xMfxgMyf MaxMx
My1
11 iii xyy
-
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
ky
Fyf
My
nnkxyT
yfxyHyf
nn
kkk
kkkkk
yAx
kk Maxkkk
)(
1,....,1, ),(y
))(,,()(
11
1
1k
11
)(
kx
kT
kH
kf
)( kk yA
-
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
kH
-
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.
),( kkk xyT
1kyky
kA
-
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,,npara un determinado estado inicial en la etapa k
ky
-
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 de 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).
1nf
01nf
11nf
-
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
11 2)( xxg2/1
22 )( xxg2/1
33 3)( xxg
-
IO2- Rosa Delgadillo
Estrategia de solucin
Etapa 3
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:
3y
3y
)(3)( 3342/1
3
0
33
33
xyfxyf Maxyx
-
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
y3 x3=0 x3=1 x3=2 x3=3 x3=4 x3=5 X3* f3(y3)
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)( 44 yf
03)()( 2/1333433 xxyfxg
-
IO2- Rosa Delgadillo
Estrategia de solucin
Etapa 2 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:
2x
223 xyy
)(1)( 2232/1
2
0
22
22
xyfxyf Maxyx
-
IO2- Rosa Delgadillo
Estrategia de solucin
La funcin y dado que
se tiene:
La tabla muestra la solucin del subproblema
y2 x2=0 x2=1 x2=2 x2=3 x3=4 x2=5 X2* f2(y2)
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
)()( 33223 yfxyf
)()()( 2232/1
222322 xyfxxyfxg
)()()( 3343333 xyfxgMaxyf
)()()()( 32243322
0,
22
32
232
xxyfxgxgMaxyf
xxyxx
-
IO2- Rosa Delgadillo
Estrategia de solucin
Etapa 1 En esta etapa el nmero de das disponibles es conocido,
con lo que el subproblema a resolver es:
Y la tabla es:
y1 x1=0 x1=1 x1=2 x1=3 x1=4 x1=5 X1* f1(y1)
5 7,00 8,20 8,06 7,70 7,00 4,47 1 8,20
)( 1y
)(2)()( 1122/1
111211 xyfxxyfxg
)(2)( 1122/1
1
50
11
1
11
xyfxyf Maxy
yx
-
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*1x
4*112 xyy
1*2x3*223 xyy
33y3*3x
20,8)( 11 yf
-
IO2- Rosa Delgadillo
Asignacin de recursosEjemploEl 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 las canastas, de manera de maximizar el beneficio total. Los retornos (utilidades) en funcin del nmero de cestas distribuidas (se asume vendidos) en las 3 tiendas estn dados en la tabla siguiente.
Cantidad de canastas
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
Asignacin de recursosModelo de programacin matemtica
: es el nmero de canastas distribuidos en la tienda i-sima
: Utilidad de repartir canastas en la tienda i)( ii xUix
ix
5,...,1 entero, ,0
5
..
)(
5
1
5
1
ix
x
as
xUMax
i
i
i
i
ii
-
IO2- Rosa Delgadillo
Asignacin de recursosModelo de programacin dinmica
Etapas: son cada una de las 3 tiendas => 3 etapas
Variable de estado: es el nmero de canastas disponibles al comienzo de cada etapa
Variable de decisin: es el nmero de canastas entregados a c/tienda
Funcin de transformacin: es la funcin
Funcin de recursin : Mejor utilidad desde la etapa k hasta la ltima, dado que se dispone de canastas
Condiciones de borde:
kkk xyy 1
ix
ky
)()()( 110
kkkkyx
kk yfxUMaxyfkk
ky
5 , 0)( 144 yyf
-
IO2- Rosa Delgadillo
Asignacin de recursosSolucinEn la etapa 3:
U3(x3)+f4(y4)=U3(x3)
y3 0 1 2 3 4 5 X3* f3(y3)
0 0 - - - - - 0 0
1 0 4 - - - - 1 4
2 0 4 6 - - - 2 6
3 0 4 6 11 - - 3 11
4 0 4 6 11 12 - 4 12
5 0 4 6 11 12 12 4,5 12
-
IO2- Rosa Delgadillo
Asignacin de recursosSolucinEn la etapa 2:
U2(x2)+f3(y2-x2)
y2 0 1 2 3 4 5 X2* f2(y2)
0 0 - - - - - 0 0
1 4 5 - - - - 1 5
2 6 9 10 - - - 2 10
3 11 11 14 11 - - 2 14
4 12 16 16 15 11 - 1, 2 16
5 12 17 21 17 15 11 2 21
-
IO2- Rosa Delgadillo
Asignacin de recursosSolucinEn la etapa 1:
La solucin es:
U1(x1)+f1(y1-x1)
y1 0 1 2 3 4 5 X1* f1(y1)
5 21 19 21 19 17 13 0,2 21
Tienda Canastas
1 0 2
2 2 2
3 3 1
-
IO2- Rosa Delgadillo
Planificacin de produccin e InventarioEjemploUna 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 asociados con la produccin y almacenamiento
Mes Costo Almacenar
CI
Costo Produccin
CP
1 1 10
2 3 15
3 2 20
-
IO2- Rosa Delgadillo
Planificacin de produccin e InventarioModelo de programacin matemtica
: cantidad a producir en el mes i
: inventario al inicio del mes i
: Requerimiento de entrega de producto para el mes iiyix
id
iy
ix
dxyy
dxyy
dxyy
as
yyyxxxZMin
i
i
entero, ,0
entero, ,0
..
231201510
3334
2223
1112
432321
-
IO2- Rosa Delgadillo
Planificacin de produccin e Inventario
Modelo de programacin dinmica
Etapas: son cada una de los periodos de trabajo, 3 meses => 3 etapas
Variable de estado: es el nivel del inventario al inicio del periodo i
Variable de decisin: es la cantidad a producir en el periodo i
Funcin de transformacin: es la funcin
Funcin de recursin : el costo de la poltica ptima desde la etapa i hasta la ltima, dado que se dispone de unidades en inventario al comienzo del periodo i
Condiciones de borde: inventario final 0 (puede ser otro valor)
Inventario inicial 0 =>
iiii dxyy 1
ixiy
)()()()( 111,0
iiiienterox
ii yfyCIxCPMaxyfi
iy
0 , 0)( 111 yyf nn
-
IO2- Rosa Delgadillo
Planificacin de produccin e InventarioSolucinEn la etapa 3:
CP(x3)+CI(0) +f4(y4)
y3 X=0 1 2 3 4 X3* f3(y3)
0 - - - - 80 4 80
1 - - - 60 - 3 60
2 - - 40 - - 2 40
3 - 20 - - - 1 20
4 0 - - - - 0 0
)}4()4(220{)( 334333,0
433
3
33
xyfxyxMinyf
enteroxyx
-
IO2- Rosa Delgadillo
Planificacin de produccin e InventarioSolucinEn la etapa 2:
CP(x2)+CI(y2) +f3(y3)
y3 X=0 1 2 3 4 5 6 X3* f3(y3)
0 - - 110 108 106 104 102 6 102
1 - 95 93 91 89 87 - 5 87
2 80 78 76 74 72 - - 4 72
3 63 61 59 57 - - - 3 57
4 46 44 42 - - - - 2 42
5 29 27 - - - - - 1 27
6 12 - - - - - - 0 12
)}2()2(315{)( 223222,0
622
3
22
xyfxyxMinyf
enteroxyx
-
IO2- Rosa Delgadillo
Planificacin de produccin e InventarioSolucinEn la etapa 1:
La solucin es:
CP(x1)+CI(y1)+f2(y2)
y1 3 4 5 6 7 8 9 X1* f1(y1)
0 132 128 124 120 116 112 108 9 108
periodo x
1 9
2 0
3 0
)}3()3(110{)( 112111,
9311
1
1
xyfxyxMinyf
enteroxx
-
IO2- Rosa Delgadillo
Programacin Dinmica Probabilstica
En los ejemplos anteriores se observa que una especificacin del estado actual y la decisin actual es suficiente para saber con certeza el nuevo estado y los costos durante la etapa actual.
-
IO2- Rosa Delgadillo
Programacin Dinmica Probabilstica
En la practica no siempre es cierto pues la demanda es una variable aleatoria, an que se conozca el estado actual y la decisin actual; el estado del siguiente periodo y el costo del periodo actual sern consecuentemente variables aleatorias
-
IO2- Rosa Delgadillo
Los costos de la etapa actual no se conocenEjemplo: Asignacin de recursosPor el precio de $1 /galn, una cadena de supermercados
compr 6 galones de leche de una lechera local, cada galn se vende en las 3 tiendas de la cadena a $2/galn. La lechera debe comprar de nuevo a $0.50/galn la leche que se queda al final del da.la demanda de leche es una variable aleatoria y se muestra en la tabla. La cadena debe asignar la leche a las 3 tiendas para maximizar la ganancia diaria neta.
Tienda 1 Tienda 2 Tienda 3
Dem x da Probab. Dem. x da Probab. Dem. x da Probab.
1 .60 1 .50 1 .40
3 0 2 .10 2 .30
2 .40 3 .40 3 .30
-
IO2- Rosa Delgadillo
Asignacin de recursosModelo de programacin dinmica
Etapas: son cada una de las 3 tiendas => 3 etapas
Variable de estado: es el nmero de galones de leche disponibles al comienzo de cada etapa
Variable de decisin: es el nmero de galones de leche asignados a c/tienda
Funcin de transformacin: es la funcin
Funcin de recursin : Mejor retorno desde la etapa k hasta la ltima, dado que se dispone de galones de leche
Condiciones de borde:
kkk xyy 1
ix
ky
)()()( 110
kkkkyx
kk yfxrMaxyfkk
ky
6 , 0)( 144 yyf
-
IO2- Rosa Delgadillo
Asignacin de recursosObservacin:Como los 6 galones de leche ya se compraron, esto es, ya
se hizo el gasto, entonces solo nos interesa el ingreso por las ventas (r (x)).
Es necesario primero determinar los ingresos asociados con las probables ventas => ingresos esperados
R3(2)= p(D=1)X Ganancia +P(D>=2) x Ganancia
R3(2) = 0.4 (2.5) + 0.6 (4) = 3.40
Tienda 1 Tienda 2 Tienda 3
R1(0) =0 Probab. R2(0)=0 Probab. R3(0)=0 Probab.
R1(1)=2 .60 R2(1)=2 .50 R3(1)=2 .40
R1(2)=3.10 0 R2(2)=3.25 .10 R3(2)=3.40 .30
R1(3)=4.20 .40 R3(3)=4.35 .40 R3(3)=4.35 .30
-
IO2- Rosa Delgadillo
El estado del siguiente periodo no se conoceEjemplo: Modelo de inventarioConsidere el modelo de inventario de 3 periodos. Al
comienzo de cada periodo, una empresa debe determinar cuantas unidades debe producir durante el periodo actual. Durante un periodo se produce x unidades, se incurre en un costo de produccin c(x), donde c(0)=0 y para x>0, c(x)=3 +2x. La produccin durante cada periodo esta limitada a lo sumo a 4 unidades. Despus que ocurre la produccin , se observa la demanda aleatoria del periodo. Y estas tiene las misma probabilidades de que sea 1 o 2 unidades. Despus de satisfacer la demanda se observa el inventario al fin del periodo, se estima un costo de mantenimiento de $1 por unidad. El inventario no puede exceder de 3 unidades en cada periodo. El inventario al final del periodo 3 se puede vender a $2 la unidad, el inventario inicial es de 1 unidad