UNIVERSIDAD PRIVADA DEL NORTE
DOCENTE:: DOCENTE
CURSO:: CURSO
Ing. Samir Augusto Arévalo Vidal CIP 177 295 Investigación de Operaciones II Lima-Perú 2015
PRO GR A MA CIÓ CIÓN N DINÁMI DINÁMICA CA •
•
•
•
•
OBJETIVOS:
Conocer los fundamentos fundamentos de la programación dinámica probabilística. Formular Formu lar programaciones programaciones dinámicas dinámicas probabilística probabilística para resolver situaciones situaciones reales con propiedades que satisfacen soluciones óptimas. Determinar una política óptima que de como resultado el mejor rendimiento óptimo. Darr so Da solu luci cion ones es fa fact ctib ible les s a lo los s pr prob oble lema mas s qu que e se su susc scit itan an en el ám ámbi bito to de la ingeniería relacionados con las proyecciones probabilísticas.
PROCESOS ESTOCÁSTICOS DE DECISIÓN DE N ETAPAS
•
Un proceso de decisión de n etapas es dinámico si el rendimiento asociado con al menos una decisión del proceso aleatorio. Esta aleatoriedad se presenta en una de dos formas. O los estados son determinados exclusivamente por las decisiones, pero los rendimientos asociados con uno o más de los estados son inciertos, o los rendimientos son determinados exclusivamente por los estados, pero los estados que se presentan a partir de una o más de las decisiones son inciertas.
TABLAS DE POLÍTICAS
•
Para los procesos en los cuales la aleatoriedad existe en los estados asociados con las decisiones, una política puede exhibirse como una tabla de políticas similar a la siguiente tabla N 01 .
( ) 1,2, …,; 1,2,…
Denota la decisión en la etapa j si el proceso se encuentra en un estados
Tabla N 01
a1
a2
1
d1(a1)
d1(a2)
2
d2(a1)
d2(a2)
…
…
dn(a1)
dn(a2)
…
n
…
… … … …
a3
d1(an) d2(an)
… dn(an)
.
PROBLEMA 01
•
Se va a distribuir entre 3 tiendas ocho barricas de naranjas. La demanda de naranjas en cada tiendas en aleatoria, de acuerdo con las distribuciones probabilísticas mostradas en la siguiente tabla N 01. El beneficio por barrica vendida en las tiendas 1, 2, y 3 es de $18, 20 y $21, respectivamente. Determine el número de barricas ( con la condición de que sea entero) que deberían asignarse a cada tienda para maximizar el beneficio total esperado.
PROBABILIDADES DE DEMANDA
BARRICAS
°
TIENDA 1
TIENDA 2
TIENDA 3
0.1
0
0.1
1
0.2
0.2
0.3
2
0.3
0.6
0.2
0.2
0
0.2
0.1
0.2
0
0.1
0
0.2
0
3
4 5
Este proceso de decisión de tres etapas. Los estados son u=0, 1, 2, …, 8,
representando el número de barricas disponibles para envío a una tienda. No hay aleatoriedad en cuanto al estado resultante de cualquier decisión- Si se asignan 2 barricas a una tienda, entonces esta tienda almacenará 2 barricas- pero hay aleatoriedad en cuanto al rendimiento de cada uno de los estados. En consecuencia lo que se maximiza es el beneficio esperado, más que el beneficio total, se define lo siguiente:
, . ó
x
0
1
2
3
4
5
6
7
8
f 1(x)
0,00
16,60
28,80
36,00
39,60
41,40
41,40
41,40
41,40
f 2(x)
0,00
20,00
36,00
40,00
44,00
44,00
44,00
44,00
44,00
f 3(x)
0,00
18,90
31,50
39,90
44,10
48,30
48,30
48,30
48,30
f
TABLA N
02
Con 3 barricas asignadas, la tienda 1 obtiene un beneficio de $0 su vende 0 barricas, $18 si se vende 1, $36 si venden 2, $54 si venden 3. Las probabilidades respectivas de los 3 primeros de estos eventos son, a partir de la TABLA N 01 y son 0,1; 0,2 y 0,3. La probabilidad del cuarto evento es la probabilidad de que la demanda sea igual o mayor a 3 barricas, 0,2 + 0,1+ 0,1= 0,4. Entonces: °
f 1(3)=0x0,1 + 18x0,2 + 36x0,3 + 54x0,4= 36 f 2(5)=20x0 + 20x0,2 + 40x0,6 + 60x0+ 80x0,2+100x0= 44
Etapa 1, U=1,2,…8 f1(1)=
0 x 0,1
+
18 x 0,9
= 16,20
f1(2)=
0 x 0,1
+
18 x 0,2
+
36 x 0,7
= 28,80
f1(3)=
0 x 0,1
+
18 x 0,2
+
36 x 0,3
+
54 x 0,4
= 36,00
f1(4)=
0 x 0,1
+
18 x 0,2
+
36 x 0,3
+
54 x 0,2
+
72 x 0,2
= 39,60
f1(5)=
0 x 0,1
+
18 x 0,2
+
36 x 0,3
+
54 x 0,2
+
72 x 0,1
+
90 x 0,1
= 41,40
f1(6)=
0 x 0,1
+
18 x 0,2
+
36 x 0,3
+
54 x 0,2
+
72 x 0,1
+
90 x 0,1
= 41,40
f1(7)=
0 x 0,1
+
18 x 0,2
+
36 x 0,3
+
54 x 0,2
+
72 x 0,1
+
90 x 0,1
= 41,40
f1(8)=
0 x 0,1
+
18 x 0,2
+
36 x 0,3
+
54 x 0,2
+
72 x 0,1
+
90 x 0,1
= 41,40
Etapa 2, U=1,2,…8 f2(1)=
0x 0
+
20 x 1
= 20,00
f2(2)=
0x 0
+
20 x 0,2
+
40 x 0,8
= 36,00
f2(3)=
0x 0
+
20 x 0,2
+
40 x 0,6
+
60 x 0,2
= 40,00
f2(4)=
0x 0
+
20 x 0,2
+
40 x 0,6
+
60 x 0
+
80 x 0,2
= 44,00
f2(5)=
0x 0
+
20 x 0,2
+
40 x 0,6
+
60 x 0
+
80 x 0,2
+
100 x 0
= 44,00
f2(6)=
0x 0
+
20 x 0,2
+
40 x 0,6
+
60 x 0
+
80 x 0,2
+
100 x 0
= 44,00
f2(7)=
0x 0
+
20 x 0,2
+
40 x 0,6
+
60 x 0
+
80 x 0,2
+
100 x 0
= 44,00
f2(8)=
0x 0
+
20 x 0,2
+
40 x 0,6
+
60 x 0
+
80 x 0,2
+
100 x 0
= 44,00
Etapa 3, U=1,2,…8 f3(1)=
0 x 0,1
+
21 x 0,9
= 18,90
f3(2)=
0 x 0,1
+
21 x 0,3
+
42 x 0,6
= 31,50
f3(3)=
0 x 0,1
+
21 x 0,3
+
42 x 0,2
+
63 x 0,4
= 39,90
f3(4)=
0 x 0,1
+
21 x 0,3
+
42 x 0,2
+
63 x 0,2
+
84 x 0,2
= 44,10
f3(5)=
0 x 0,1
+
21 x 0,3
+
42 x 0,2
+
63 x 0,2
+
84 x 0
+
105 x 0,2
= 48,30
f3(6)=
0 x 0,1
+
21 x 0,3
+
42 x 0,2
+
63 x 0,2
+
84 x 0
+
105 x 0,2
= 48,30
f3(7)=
0 x 0,1
+
21 x 0,3
+
42 x 0,2
+
63 x 0,2
+
84 x 0
+
105 x 0,2
= 48,30
f3(8)=
0 x 0,1
+
21 x 0,3
+
42 x 0,2
+
63 x 0,2
+
84 x 0
+
105 x 0,2
= 48,30
Para completar la siguiente TABLA N n= 3
03, se siguen los siguientes pasos:
u= 8
m3(8) = max ( f 3 ( 0 ) + f 3 ( 1 ) + f 3 ( 2 ) + f 3 ( 3 ) + f 3 ( 4 ) + f 3 ( 5 ) + f 3 ( 6 ) + f 3 ( 7 ) + f 3 ( 8 ) )
d3(8) =
max (
0,00
+
max (
48,30 )
18,90 +
31,50 +
39,90 +
44,10 +
48,30 +
48,30 +
48,30 +
5
m3(7) = max ( f 3 ( 0 ) + f3 ( 1 ) + f3 ( 2 ) + f3 ( 3 ) + f3 ( 4 ) + f3 ( 5 ) + f3 ( 6 ) + f3 ( 7 ) )
d3(7) =
max (
0,00
max (
48,30 )
5
+
18,90 +
31,50 +
39,90 +
44,10 +
48,30 +
48,30 + 48,30 )
48,30 )
m3(6) = max ( f 3 ( 0 ) + f3 ( 1 ) + f3 ( 2 ) + f3 ( 3 ) + f3 ( 4 ) + f3 ( 5 ) + f3 ( 6 ) )
d3(6) =
max (
0,00
+
max (
48,30 )
18,90 +
31,50 +
39,90 + 44,10 + 48,30 +
5
m3(5) = max ( f 3 ( 0 ) + f3 ( 1 ) + f3 ( 2 ) + f3 ( 3 ) + f3 ( 4 ) + f3 ( 5 ) )
d3(5) =
max (
0,00
+
max (
48,30 )
18,90 +
31,50 +
39,90 + 44,10 + 48,30 )
5
m3(4) = max ( f 3 ( 0 ) + f3 ( 1 ) + f3 ( 2 ) + f3 ( 3 ) + f3 ( 4 ) )
d3(4) =
max (
0,00
+
max (
44,10 )
18,90 +
31,50 +
39,90 + 44,10 )
4
m3(3) = max ( f 3 ( 0 ) + f3 ( 1 ) + f3 ( 2 ) + f3 ( 3 ) )
d3(3) =
max (
0,00
+
max (
39,90 )
18,90 +
31,50 +
3
m3(2) = max ( f 3 ( 0 ) + f3 ( 1 ) + f3 ( 2 ) )
d3(2) =
max (
0,00
max (
31,50 )
2
+
18,90 +
31,50 )
39,90 )
48,30 )
m3(1) = max ( f 3 ( 0 ) + f3 ( 1 ) )
d3(1) =
max (
0,00
+
max (
18,90 )
1
m3(0) = max ( f 3 ( 0 ) )
d3(0) =
max (
0,00
)
max (
0,00
)
0
18,90 )
n = 2 u= 8 m2( 8) = max ( f 2 ( 0 ) + m3 ( 8 - 0 ); f 2 ( 1 ) + m3 ( 8 - 1 ); f 2 ( 2 ) + m3 ( 8 - 2 ); f 2 ( 3 ) + m3 ( 8 - 3 ); f 2 ( 4 ) + m3 ( 8 - 4 ); f 2 ( 5 ) + m3 ( 8 - 5 ); f 2 ( 6 ) + m3 ( 8 - 6 ); f 2 ( 7 ) + m3 ( 8 - 7 ); f 2 ( 8 ) + m3 ( 8 - 8 ) ) max (
0,00
max (
88,30 )
d2(8) =
+ 48,30
;
20,00 + 48,30
;
36,00 + 48,30
;
40,00 + 48,30
;
44,00 + 44,10
;
44,00
+ 39,90
;
44,00
+ 31,50
;
44,00
+ 18,90
;
3
m2( 7) = max ( f 2 ( 0 ) + m3 ( 7 - 0 ); f2 ( 1 ) + m3 ( 7 - 1 ); f2 ( 2 ) + m3 ( 7 - 2 ); f2 ( 3 ) + m3 ( 7 - 3 ); f2 ( 4 ) + m3 ( 7 - 4 ); f2 ( 5 ) + m3 ( 7 - 5 ); f2 ( 6 ) + m3 ( 7 - 6 ); f2 ( 7 ) + m3 ( 7 - 7 ) ) max (
0,00
max (
84,30 )
d2(7) =
+ 48,30
;
20,00 + 48,30
;
36,00 + 48,30
;
40,00 + 44,10
;
44,00 + 39,90
;
44,00
+ 31,50
;
44,00
+ 18,90
;
44,00
+ 0,00
2
m2( 6) = max ( f 2 ( 0 ) + m3 ( 6 - 0 ); f2 ( 1 ) + m3 ( 6 - 1 ); f2 ( 2 ) + m3 ( 6 - 2 ); f2 ( 3 ) + m3 ( 6 - 3 ); f2 ( 4 ) + m3 ( 6 - 4 ); f2 ( 5 ) + m3 ( 6 - 5 ); f2 ( 6 ) + m3 ( 6 - 6 ) max (
0,00 + 48,30
max (
80,10 )
d2(6) =
;
20,00 + 48,30
;
36,00 + 44,10
;
40,00 + 39,90
;
44,00
+ 31,50
;
44,00 + 18,90
;
44,00 + 0,00
)
2
m2(5) = max ( f 2 ( 0 ) + m 3 ( 5 - 0 ); f 2 ( 1 ) + m 3 ( 5 - 1 ); f 2 ( 2 ) + m 3 ( 5 - 2 ); f 2 ( 3 ) + m 3 ( 5 - 3 ); f 2 ( 4 ) + m3 ( 5 - 4 ); f 2 ( 5 ) + m3 ( 5 - 5 )
d2(5) =
max (
0,00
max (
75,90 )
+ 48,30
;
20,00 + 44,10
;
36,00 + 39,90
;
40,00 + 31,50
;
44,00 + 18,90
;
2
m2(4) = max ( f 2 ( 0 ) + m 3 ( 4 - 0 ); f 2 ( 1 ) + m 3 ( 4 - 1 ); f 2 ( 2 ) + m 3 ( 4 - 2 ); f 2 ( 3 ) + m 3 ( 4 - 3 ); f 2 ( 4 ) + m3 ( 4 - 4 )
d2(4) =
max (
0,00
max (
67,50 )
+ 44,10
;
20,00 + 39,90
;
36,00 + 31,50
;
40,00 + 18,90
;
2
m2(3) = max ( f 2 ( 0 ) + m 3 ( 3 - 0 ); f 2 ( 1 ) + m 3 ( 3 - 1 ); f 2 ( 2 ) + m 3 ( 3 - 2 ); f 2 ( 3 ) + m 3 ( 3 - 3 )
d2(3) =
max (
0,00
max (
54,90 )
2
+ 39,90
;
20,00 + 31,50
;
36,00 + 18,90
;
40,00 +
0,00
)
44,00 +
0,00
)
44,00 + 0,00
)
)
44,00
+ 0,00
)
m2(2) = max ( f 2 ( 0 ) + m3 ( 2 - 0 ) ; f2 ( 1 ) + m3 ( 2 - 1 ) ; f 2 ( 2 ) + m3 ( 2 - 2 )
d2(2) =
max (
0,00
+ 31,50
max (
38,90 )
;
20,00 + 18,90
;
1
m2(1) = max ( f 2 ( 0 ) + m3 ( 1 - 0 ) ; f2 ( 1 ) + m3 ( 1 - 1 )
d2(1) =
max (
0,00
+ 18,90
max (
20,00 )
;
1
m2(0) = max ( f 2 ( 0 ) + m3 ( 1 - 0 ) max (
0,00
+
max (
0,00
)
0,00
)
20,00 +
0,00
)
36,00 +
0,00
)
n= 1 u= 8
m1(8) = max ( f 1 ( 0 ) + m3 ( 8 - 0 ); f1 ( 1 ) + m3 ( 8 - 1 ); f1 ( 2 ) + m3 ( 8 - 2 ); f1 ( 3 ) + m3 ( 8 - 3 ); f1 ( 4 ) + m3 ( 8 - 4 ); f1 ( 5 ) + m3 ( 8 - 5 ); f1 ( 6 ) + m3 ( 8 - 6 ); f1 ( 7 ) + m3 ( 8 - 7 ); f1 ( 8 ) + m3 ( 8 - 8 ) ) max (
0,00
+ 88,30
;
16,60 + 84,30
;
28,80 + 80,10
;
36,00 + 75,90
;
39,60 + 67,50
;
41,40 + 54,90
;
41,40 + 38,90
;
41,40 + 20,00
;
max ( 111,90 ) d1(8) =
3
TABLA N
03 u
0
1
2
3
4
5
6
7
8
0,00
18,90
31,50
39,90
44,10
48,30
48,30
48,30
48,30
d3(u)
0
1
2
3
4
5
5
5
5
m2(u)
0,00
20,00
389,00
54,90
67,50
75,90
80,10
84,30
88,30
d2(u)
0
1
1
2
2
2
2
2
3
m1(u)
…
…
…
…
…
…
…
…
d1(u)
…
…
…
…
…
…
…
…
m3(u)
111,90 3
41,40 +
0,00 )
La política ÓPTIMA:
X1*=
d1(8)=
3
X2*=
d2(8-X1*)=
2
X3*= d3(8-X1*-X2*)=
3
PROGRAMACIÓN DINÁMICA PROBABILÍSTICA En la programación dinámica probabilística, la transición al estado de una etapa siguiente no se determina por el estado de la decisión política en la etapa actual. Después de la decisión, quizá la transición al estado de la etapa siguiente dependa del azar; esto es, de una variable aleatoria que sigue una distribución de probabilidad y que puede estar condicionada por el estado, etapa y decisión política de la etapa actual. O simplemente, en j=t(n,i,k), la función t es una variable aleatoria en el sentido de que la transición (n,i,k)͢ -> (n+1,j), que se representa en el siguiente . esquema, tiene la probabilidad
,,
ETAPA N+1
ETAPA N
i
Decisión K C(n,i,k)
(n,i,k )
1 ,, 2 ,, ,,
1
f*(n+1,1)
2
f*(n+1,2)
m
f*(n+1,m)
Transición probabilís tica de un problema de programa dinámica.
Cuando se expande el diagrama para incluir todos los estados y decisiones posibles en todas las etapas, se obtiene un árbol de decisión del problema. En el caso de aditividad simple, la relación recursiva podrá describirse por la siguiente ecuación: ∗
, , ,, + ,, ∗ ( + 1,) =
En la expresión, la sumatoria representa el valor esperado de la función de recurrencia en la etapa posterior n+1, para todos los estados posibles de transición. Finalmente, está debe sumarse al costo o contribución subsecuente de la decisión que tomó en (n,i).
PROBLEMA 02 Una unidad de cierto producto puede fabricarse en una semana. El comprador hace un pedido de una unidad que deberá entregarse al final de la primera semana y otro de más de una unidad que se entregará al final de la segunda. Al ser entregado el artículo al final de la primera semana, el comprador lo somete a un control de calidad. De acuerdo con el control realizado, el comprado decide adquirirlo y pagar la cantidad de 600 u.m. en la siguiente semana. En caso de no superar el procedimiento de control, lo rechazará, lo cual constituirá una pérdida total para el productor. Para la producción de un artículo en una semana, quizá se utilice 1 o 2 unidades de producción, cada una de ellas a un costo total de 100 u.m. (maquinaria, mano de obra, materia prima, entre otros), y son independientes entre sí. Una unidad de producción tiene la probabilidad igual a 0,5 para fabricar un artículo que supere un control de calidad del comprador. Estos datos de costo y probabilidad se refieren a las condiciones actuales para la producción de la primera semana. Para la segunda semana, las unidades de producción sufrirán un ajuste tecnológico que elevará la probabilidad de conformidad, para cada una, a 0,65 y también elevará el costo total de una unidad de proceso al 50%. Represente el diagrama del problema y determine la mejor decisión política al inicio
MODELACIÓN Y SOLUCIÓN DEL PROBLEMA
La decisión k representa el número de unidades de producto a la semana. Cada etapa es el inicio de una semana. Los estados representan el número de artículos aceptados por el comprador, referidos a la producción de la semana anterior. Así en la semana 0 hay apenas un costo de 100 u.m. en el cas de que se utilice una unidad de proceso, o de 200 u.m. si se usan dos unidades de proceso. Para la semana posterior los costos se elevan a 150 u.m. si K=1 y a 300 u.m si K=2. En la semana 1, si se acepta el artículo producido la semana anterior, debe considerarse la contribución o efecto adicional de 600 u.m. menos el costo de las unidades utilizadas, lo cual resulta en una contribución positiva. Al final, en el inicio de la semana 2, el valor de la función de recurrencia refleja la fórmula adicional de venta del artículo producido en la semana 1, que puede ser 0 ó 600 u.m., en caso de que el artículo haya sido rechazado o aceptado, respectivamente.
-200 0
K=
-100 K=
(0,7 5) (0,2 5) (0,5 0)
1
(0,5 0)
0
300 450
-300 -150
Programación dinámica probabilística
(0,877 5) K= (0,122 5) (0,6 5) K= (0,3 5)
1
600
0
0
En relación con la distribución de probabilidad, cuando n=0, i=0 y k=2, entonces el artículo no será aceptado si ambas unidades de proceso no consigue el artículo correcto, esto es,
1 2 0,500,50 0,25 í á 1 − 0,25 0,75 Se aplica un razonamiento análogo para n=1, K=2. De acuerdo con la ecuación vista , ello resulta:
1,1,1 450 + 0,65600 + 0,350 840 1,1,2 300 + 0,8775600 + 0,12250 826,50 ∗ 1,1 á 840; 826,50 840 í ∗ 1 De la misma manera se trabaja para los demás casos. Por lo tanto obtenemos el siguiente cuadro: f(1,i,k) i/k 0 1
1
2
K*
f*(1,i)
240,00
226,50
1
240,00
840,00
826,50
1
840,00
f(1,i,k) i/k 0
1
2
K*
f*(1,i)
440,00
490,00
2
490,00
Así las decisiones óptimas son ubicar dos unidades de producción para la primera ronda (semana 0) y única unidad de producción para la siguiente (semana 1), el margen de que el artículo sea aceptado o no.
En una urna para sorteo contiene 5 bolas, 4 verdes y 1 roja. Un candidato del auditorio gana 160 u.m. por participar y el presentador le explica que puede quedarse con el dinero si desistir del juego o participar en el sorteo y elegir una bola de la urna. Si acepta, el participante pierde el dinero que ya ganó si saca la bola roja, o gana 50% más sobre el valor de lo que ya tiene si sale la verde. En este último caso, el participante decidirá de nuevo entre desistir o continuar con las mismas condiciones. La bola que ya extrajo no se repone. Este proceso puede repetirse varias veces. Represente el diagrama del problema del candidato y determine la mejor decisión política para él en cada momento que debe tomar una decisión (véase el siguiente diagrama). 2 D
1 ETAPA 1
C
2
160
D
P (1/5)
G (4/5)
0
1
ETAPA 2
C
2
240
D
P (1/4)
G (3/4)
1
ETAPA 3
2
360
C
1
ETAPA 4
2 A
540 D
P (1/3)
G (2/3)
0
C
P (1/2)
G (1/2)
1
ETAPA 5
0
SOLUCIÓN Cada etapa n representa la n-ésima respuesta que el candidato debe dar al presentador para decidir entre continuar (C) o desistir (D) del juego. Así, las decisiones C o D. Los estados de cada etapa, a partir de n=2, son dos: 1. El candidato juego y toma una decisión (C o D). 2. El candidato sale del juego en la etapa anterior. Así, por ejemplo, la función de recurrencia en n=4 e i=1 se calcula con: f(4,1,D)= 540 f(4,1,C)= 0,5x810+0,5x0= 405
∗ 4,2 0 ETAPA 4
f(4,i,k) C
D
K*
f*(4,i)
1
405
540
D
540
2
-
0
D
0
C
D
K*
f*(3,i)
1
360
360
DoC
360
2
-
0
D
0
f(3,i,k)
ETAPA 3
f(3,1,D)= 360 f(3,1,C)= 1/3x0+2/3x540= 360
f(1,1,D)= 160 f(1,1,C)= 1/5x0+4/5x540= 432
∗ 3,2 0
∗ 1,2 0
f(2,1,D)= 240 f(2,1,C)= 1/4x0+3/4x360= 270
∗ 2,2 0
ETAPA 2
f(2,i,k) 1
2
C
D
K*
f*(2,i)
270
240
C
270
-
0
D
0
C
D
K*
f*(1,i)
216
160
C
216
-
0
D
0
f(1,i,k)
ETAPA 1
1 2
Así, las decisiones óptimas son continuar en el juego en las dos primeras etapas, indiferencia entre continuar o desistir en la tercera y desistir en la cuarta decisión.
BIBLIOGRAFIA
•
•
INVESTIGACION DE OPERACIONES Aplicaciones y Algoritmos, Wayne L. Winston. INVESTIGACION DE OPERACIONES, Hamdy Taha.