Está en la página 1de 27

MODELOS ESTOCÁSTICOS

Clase 3: programación dinámica probabilística


Contenido
1. Concepto de programación
dinámica probabilística.
2. Algoritmos de programación
dinámica probabilística
Resultado de aprendizaje
Descompone problemas de programación
dinámica probabilística en etapas y ejecuta
algoritmos de resolución.
Programación dinámica probabilística

Programación dinámica probabilística

La programación dinámica probabilística (PDP) es


una técnica matemática útil para la toma de
decisiones interrelacionadas.
Se presenta cuando el estado en la siguiente
etapa no está determinado por completo por el
estado y la política de decisión de la etapa actual.
En su lugar existe una distribución de probabilidad
para determinar cuál será el siguiente estado.
Programación dinámica probabilística

Esquemáticamente
Contribución n de Etapa n+1
Etapa n Probabilidad la etapa n

C1
P1

Decisión
Estado: P2 C2

P3
CN
Programación dinámica probabilística

Caso 1: producción de artículo particular

Una empresa industrial ha recibido un pedido para surtir un


artículo de tipo particular. Sin embargo, el cliente ha
especificado requerimientos de calidad tan rigurosos que es
posible que el fabricante tenga que producir más de un artículo
para obtener uno aceptable.
El fabricante estima que cada artículo de este tipo que produce
será aceptable con probabilidad de ½ y será defectuoso (sin
probabilidad de reparación) con probabilidad de ½.
Así, el número de artículos aceptables producidos en un lote de
tamaño L tendrá una distribución binomial, es decir, la
probabilidad de producir cero artículos aceptables en ese lote es
de (½)L.
Programación dinámica probabilística

Caso 1: producción de artículo particular

Se estima que los CMg (costos marginales) de producción por artículo son de $100 (incluso si es
defectuoso) y los artículos en exceso no tienen valor.
Además, deberá incurrirse en un costo de preparación de $300, siempre que se monte el proceso
de producción para este producto. El fabricante sólo tiene tiempo para hacer no más de tres series
de producción. Si no se ha obtenido un artículo aceptable al final de la tercera serie de producción,
el costo para el fabricante por ventas perdidas y en costos de penalización sería de $ 1.600.

Se busca determinar la política referente al tamaño del lote para la serie o series de producción
requeridos que minimicen el costo total esperado para el fabricante.
Programación dinámica probabilística

Construcción de las bases del problema

• La etapa n corresponde a la enésima corrida de producción (n=1,2,3).

• Xn = tamaño del lote en la etapa n.

• Estado Sn = número de productos aceptables por obtener al iniciar la etapa n.

Así, el estado S1 = 1 en la etapa 1.


Si en los subsecuentes estados se obtiene al menos un artículo aceptable, el estado cambia a Sn = 0,
después de lo cual no se incurre en costos adicionales.
Programación dinámica probabilística

Construcción de las bases del problema


• fn(Sn;Xn) corresponde al costo para la etapa.

Si en la etapa n el sistema comienza con el estado Sn, la decisión inmediata es Xn y en adelante se toman
decisiones óptimas de acuerdo a la regla: f*(Sn) = min fn(Sn,Xn)
Donde f*(0)= 0.

Si se usa $100 como unidad monetaria, la contribución al costo de la n es [K(Xn) + Xn]


independientemente del siguiente estado, donde:

• K(Xn) se define con un valor 0 si Xn= 0 y con un valor 3 si Xn es mayor que 0.


• O bien, K(Xn) = 3*min(1 , Xn)
Programación dinámica probabilística

Por lo tanto, para Sn = 1, entonces:

Para n = 1,2,3.
Programación dinámica probabilística

n=3 f3(1,X3) = K(X3) + X3 + 16(1/2)X3


f*3(S3) X*3
S3 X3 0 1 2 3 4 5
0 0 0 0
1 16 12 9 8 8 8,5 8 3o4

n=2 f2(1,X2) = K(X2) + X2 + (f*3 )*(1/2)X2


f*2(S2) X*2
S2 X2 0 1 2 3 4 5
0 0 0 0
1 8 8 7 7 7,5 7 2o3

n=1 f2(1,X1) = K(X1) + X1 + (f*2 )*(1/2)X1


f*1(S1) X*1
S2 X2 0 1 2 3 4 5
0 0 0 0
1 7 7,5 6,75 6,875 7,4375 6,75 2
Programación dinámica probabilística

Conclusión

Entonces, la política óptima es producir dos artículos en la


primera corrida de producción, si ninguno es aceptable,
deberán producirse dos o tres artículos en la segunda corrida,
si ninguno es aceptable, tendrán que producirse tres o cuatro
artículos en la tercera corrida.

El costo total esperado, si se sigue esta política, es


de $675.
Obtenida de Flaticon, 2020.
Programación dinámica probabilística

Caso 2: inciertos, estado conocido etapa siguiente


Ejercicio: cadena de supermercados

La cadena de supermercados Safeco compra 6 galones de leche a una


lechería local.
Cada galón se vende en las 3 tiendas de la cadena a 2 dólares/galón. La
lechería recoge de los supermercados la leche sobrante dejando un ingreso
al supermercado de 50¢ de dólar/galón al término del día.
Desafortunadamente, para el supermercado es incierta la demanda en cada
una de las 3 tiendas. Los datos acumulados indican que la demanda diaria
en cada tienda es como se muestra en la Tabla 1 (que se muestra a
continuación).
Programación dinámica probabilística

Caso 2: inciertos, estado conocido etapa siguiente


Ejercicio: cadena de supermercados
Tabla 1: demanda diaria en cada tienda
Demanda diaria
Tiendas Galones Probabilidad El supermercado desea asignar los 6 galones de
1 0,60 leche a las 3 tiendas, para maximizar la
Tienda 1 2 0 ganancia diaria (ingresos menos costos) que da
3 0,40 la leche.
1 0,50
Tienda 2 2 0,10 Mediante la programación dinámica determina
3 0,40
cómo debe asignar el supermercado los 6
galones de leche entre sus tiendas.
1 0,40
Tienda 3 2 0,30
3 0,30
Programación dinámica probabilística

Construcción de bases del problema

• Etapas: enésima tienda a la que se asigna la leche (n=1,2,3).


• Variable de estado: Sn = número de galones con los que se
llega a la tienda n.
• Variable de decisión: Xn = número galones asignados a la
tienda n.
• fn(Xn,Sn): ganancia máxima esperada a recibir por todas las
tiendas.
• rn(xn): ganancia esperada por Xn galones asignados a la tienda
n.
Programación dinámica probabilística

Construcción de bases del problema

Condiciones de borde:
• S1 = 6, ya que se dispone de 6 galones a repartir.
• f(X4 ; S4) = 0; al no existir ganancia por una tienda 4.
• Función recursiva = fn (Xn , Sn) = rn(Xn)+ f n+1(Sn - Xn)
• No se ven costos fijos de adquisición de la leche por
parte del supermercado.
• Para realizar el cálculo de rn(Xn) se debe considerar las
ganancias posibles por asignar cierta cantidad de leche a
cada lugar, la probabilidad de que se venda y la cantidad
de leche que se devuelve a la lechería.
Programación dinámica probabilística

Valorización de escenarios

Para ejemplificar la situación supongamos que se asignan 2


galones a la tienda 2:
• Si la demanda es por 2 o más galones, los 2 galones serán
vendidos, por lo tanto, se recibirá como ingreso $4.
• Si la demanda es por 1 galón se venderá dicho galón a $2 y se
devolverá el otro galón a $0,5. Por lo anterior, se recibirá un
ingreso de solo $ 2,5.

Dado que existe una probabilidad de 0,5 de vender 2 o más


galones y de 0,5 de vender 1 galón, el valor esperado de ingresos
en la tienda 2 será r2(2) = 2,5 *0,5 + (0,1 + 0,4) *4 = $ 3,25.
Programación dinámica probabilística

Valorización de escenarios
Si se realiza el cálculo para todos los casos, se obtienen los siguientes valores esperados de ingresos:
(nótese que es inútil calcular para 4, 5 o 6 galones, debido a que cada tienda solo puede vender
como máximo 3 galones).

r3 (0)=0 r2 (0)=0 r1 (0)=0

r3 (1)=$2 r2 (1)=$2 r1 (1)=$2

r3 (2)=$3.4 r2 (2)=$3.25 r1 (2)=$3.1

r3 (3)=$4.35 r2 (3)=$4.35 r1 (3)=$4.2


Programación dinámica probabilística

Procedimiento de solución
Etapa 3: S3 X*3 f *3
0 0 0
1 1 2
2 2 3.4
>=3 3 4.35

Etapa 2: S2\x2 0 1 2 3 x*2 f*2


0 0 - - - 0 0
1 2 2 - - 0ó1 2
2 3.4 4 3.25 - 1 4
3 4.35 5.4 5.25 4.35 1 5.4
4 4.35 6.35 6.65 6.35 2 6.65
5 4.35 6.35 7.6 7.75 3 7.75
6 4.35 6.35 7.6 8.7 3 8.7
Programación dinámica probabilística

Procedimiento de solución
Etapa 1:
S1\x1 0 1 2 3 x*1 f*1
6 8.7 9.75 9.75 9.45 1o2 9.75

Por lo tanto, tenemos 2 combinaciones óptimas con las cuales es posible


maximizar los ingresos, lo cual se resume a continuación:

Tienda 1 Tienda 2 Tienda 3


Caso 1 1 3 2

Caso 2 2 2 2
Programación dinámica probabilística

Caso 3: modelos probabilísticos de inversión


Ejercicio: inversiones

Los modelos de análisis de inversiones probabilísticos son


modelos matemáticos que intentan simular cómo se
comportan las principales variables en el caso de realizarse la
inversión.
Un modelo de análisis de inversiones nunca podrá predecir
con exactitud cómo se comportan las variables en el futuro,
pero son necesarios para contar con información objetiva y
para encontrar puntos débiles que pueden hacer peligrar el
proyecto de inversión. Obtenida de Flaticon, 2020.
Programación dinámica probabilística

Caso 3: modelos probabilísticos de inversión


Ejercicio: inversiones
Tres posibles salidas del evento aleatorio

Una empresa tiene $2 millones para invertir en los próximos 3 años. La empresa está analizando una
inversión que se descompone en tres etapas, una etapa por cada año. Se puede lograr uno de los tres
resultados siguientes en cada etapa:
A. Doblar el monto invertido.
B. Recuperar el monto invertido.
C. Perder el monto invertido.

La probabilidad del resultado:


• A es de 30%.
• B es de 30%.
• C es de 40%.
Programación dinámica probabilística

Caso 3: modelos probabilísticos de inversión


Ejercicio: inversiones

Tres posibles salidas del evento aleatorio

En cada etapa se puede invertir un número entero de millón de dólares, es decir, $0, $1 millón, $2 millones
y así sucesivamente. Al comienzo del primer año se permite invertir hasta $2 millones. Luego, en las
siguientes etapas, se puede invertir lo que quede de los $2 millones más cualquier dinero adicional que se
haya ganado en las etapas anteriores.

Utilice programación dinámica para determinar la política que maximice la probabilidad de tener, al
menos, $4 millones al fin del tercer año.

Siguiendo la política óptima, ¿cuál es la probabilidad de lograr el objetivo de $4 millones?


Programación dinámica probabilística

Procedimiento de solución
Mes 3: S3 X*3 f*3
0-1 - 0
2 2 0,3
3 2o3 0,3
- 1

Mes 2:

S2\x2 0 1 2 3 x*2 f*2


0 - - - - 0 0
1 - (0,3)(0,3) - - 1 0,09
2 - (0,3)(0,3)+(0,3)(0,3) (0,3)+(0,3)(0,3) - 2 0,39
3 0,3 (0,3)+(0,3)(0,3)+(0,4)(0,3) (0,3)+(0,3)(0,3) (0,3)+(0,3)(0,3) 1 0,51
1 - - - - 1
Programación dinámica probabilística

Procedimiento de solución
Mes 1:

S1\x1 0 1 2 x*1 f*1


2 0,39 (0,3)(0,51)+(0,3)(0,39)+(0,4)(0,09) (0,3)+(0,3)(0,39) 2 0,417

Política:
Ganado Ganado

X1 = 2 X2 = 2 X3 = 2

Perdido Perdido

Probabilidad de lograr el objetivo es de 41,7%


Programación dinámica probabilística

Bibliografía
Hillier, F. y Lieberman, G. (2010). Introducción a la Investigación de

operaciones (9a edición). México: McGraw Hill. 978 p.

Taha, H. (2004). Investigación de operaciones (7a edición). Pearson

Educación México. p. 830.

También podría gustarte