Documente Academic
Documente Profesional
Documente Cultură
Programacin Dinmica
Antonio Alban
Ing. Industrial titulado - Universidad Nacional del Callao MBA Centrum Catlica Experiencia laboral de 20 aos en empresas industriales y de servicio. Textil del Valle, Industrias Nettalco, Cortexsa, Tortas Charlotte, Texfina, Servitejo y la Camara de Comercio del Callao. Actualmente me desempeo como Gerente de Planta de Calzado Chosica S.A.C (Ex BATA), desde 2007 a la actualidad. E-mail: aalban@pucp.pe
Contenido
PARTE I Definicin Caractersticas de los problemas de programacin dinmica determinstica : etapas, estados, formula recursiva, programacin en avance y en retroceso. Modelos de programacin dinmica
Contenido
PARTE II Programacin Dinmica Probabilstica Problemas de programacin e inventarios
PARTE I - PD
Definicin de PD
Tcnica matemtica orientada a la solucin de problemas con decisiones secuenciales en etapas sucesivas donde se debe minimizar el costo de esas decisiones. O en su defecto optimizar la mejor alternativa.
Caractersticas de PD
1. Etapas: Son las divisiones en que se subdivide el problema, por lo general encontramos ms de 3 etapas.
2. Estados asociados:
Cada etapa tiene cierto nmero de estados asociados con su inicio.
Caractersticas de PD
3. Poltica de decisin: El efecto de la poltica de decisin en cada etapa es transformar el estado actual en un estado asociado con el inicio de la siguiente etapa. 4. Diseo de solucin: El procedimiento de solucin est diseado para encontrar una poltica ptima para el problema completo, es decir, una receta para la poltica de decisin ptima en cada etapa para cada uno de los estados posibles.
12
E
9 H
8
A 8 5 D C 7 9 13 F
C( S , Xn) + fn-1(Xn) ,
n= 1,2,3,4
n, es la etapa o sub problema que estamos resolviendo. Xn, variable de decisin, estado inmediato en la etapa n. S, estado. c, costo, distancia del estado S a Xn. fn, costo total de la mejor poltica global para las etapas restantes, dado que el vendedor se encuentra en el nodo S (listo para iniciar la etapa n) y se selecciona a Xn como destino inmediato.
PROGRAMACION EN RETROCESO :
INICIAMOS CON LA ETAPA 3 HASTA LA ETAPA1 Mtodo de solucin Etapa 3; n = 3
S
E F
3(S)*
9 6
X*3
H H
Etapa 2; n = 2
X2
S
B C D
2(S)*
21 15 16
X*2
E F E
F
9 + 6 = 15 13 + 6 = 19
PROGRAMACION EN RETROCESO :
INICIAMOS CON LA ETAPA 3 HASTA LA ETAPA1 Mtodo de solucin Etapa 1; n = 1
X1
S
A
C
8 + 15 = 23
D
5 + 16 = 21 21 D
1(S)*
X*1
PROGRAMACION EN RETROCESO :
INICIAMOS CON LA ETAPA 3 HASTA LA ETAPA1 Mtodo de solucin
Etapa 3; n = 3 Etapa 2; n = 2
S
E F
Etapa 1; n = 1
3(S)*
9 6
X*3
H H
X2
S
B C D
2(S)*
21 15 16
X*2
E F E
F
9 + 6 = 15 13 + 6 = 19
X1
S
A
C
8 + 15 = 23
D
5 + 16 = 21 21 D
1(S)*
X*1
Recorrido optimo 21 km
E 4 6 3 3 G
1 H 3 4 J
4 1 5 D
I 3
Pero sacrificando un poco en una etapa es posible obtener ahorros mayores de all en adelante. A-D-F es mas barato que A-B-F.
4 1 5 D
PROGRAMACION EN RETROCESO :
INICIAMOS CON LA ETAPA 4 HASTA LA ETAPA1 Mtodo de solucin Etapa 4; n = 4
Etapa 1 Etapa 2 7 4 Etapa 3 Etapa 4
S
H I
4(S)*
3 4
X*4
J J
B
2 A 4 3 C 6
E
4 F 6 3 3
1 H 3 4
J
3 4
2
Etapa 3; n = 3
4 1 5 D
I 3
PROGRAMACION EN RETROCESO :
INICIAMOS CON LA ETAPA 4 HASTA LA ETAPA1
2(S)* G
11 7 8
X*2
EF E EF
F
4 + 7 = 11 2+7=9 1+7=8
6 + 6 = 12 4 + 6 = 10 5 + 6 = 11
Etapa 1
B
2 A 4 3 C 6
Etapa 2 7 4
Etapa 3
Etapa 4
E
4 F 6 3 3
1 H 3 4
J
3 4
2
4 1 5 D
I 3
PROGRAMACION EN RETROCESO :
INICIAMOS CON LA ETAPA 4 HASTA LA ETAPA1 Mtodo de solucin Etapa 1; n = 1
X1 S
A
C
4 + 7 = 11
D
3 + 8 = 11
1(S)*
11
X*1
CD
Etapa 1
B
2 A 4 3 C 6
Etapa 2 7 4
Etapa 3
Etapa 4
E
4 F 6 3 3
1 H 3 4
J
3 4
2
4 1 5 D
I 3
PROGRAMACION EN RETROCESO :
INICIAMOS CON LA ETAPA 4 HASTA LA ETAPA1 Mtodo de solucin
Etapa 4; n = 4 Etapa 3; n = 3
S
H I
Etapa 2; n = 2
4(S)*
3 4
X*4
J J
Etapa 1; n = 1
X2 S
B C D
2(S)* G
11 7 8
X*2
EF E EF
X1 S
A
F
4 + 7 = 11 2+7=9 1+7=8
C
4 + 7 = 11
D
3 + 8 = 11
1(S)*
11
X*1
CD
6 + 6 = 12 4 + 6 = 10 5 + 6 = 11
5. Principio de optimalidad: a. Dado el estado actual, una poltica ptima para las etapas restantes es independiente de la poltica adoptada en etapas anteriores. b. La decisin inmediata ptima depende slo del estado actual y no de cmo se lleg ah. 6. Inicio de solucin: El procedimiento de solucin se inicia al encontrar una poltica ptima para la ltima etapa.
7. Relacin recursiva:
Se dispone de una relacin recursiva que identifica la poltica ptima para la etapa n, dada la poltica ptima para la etapa n + 1. La forma precisa de relacin recursiva difiere de un problema a otro de programacin dinmica, pero usaremos una notacin anloga a la siguiente: N n Sn = nmero de etapas. = etiqueta para la etapa actual ( n = 1,2,,N) = estado actual para la etapa n
Xn = variable de decisin para la etapa n Xn* = valor ptimo de xn (dado sn) f n(sn , xn) = contribucin a la funcin objetivo de las
etapas n,n+1,,N, si el sistema se encuentra en el estado sn en la etapa n, la decisin inmediata es xn y en adelante se toman decisiones ptimas.
f n*(sn)
= f n(sn , xn*)
La relacin recursiva siempre tendr la forma: f n*(sn) = mn fn(sn , xn) f n*(sn) = mx fn(sn , xn)
8. Retroceso: Cuando se use esta relacin recursiva, el procedimiento de solucin comienza al final y se mueve hacia atrs etapa por etapa encontrando cada vez la poltica ptima para esa etapa hasta que se encuentra la poltica ptima desde la etapa inicial.
Aplicaciones de la PD
La programacin dinmica se adapta bien a problemas de carcter secuencial como por ejemplo:
- Bsqueda del camino mas corto entre dos puntos. - Planificacin de Tareas - Gestin de recursos escasos - Gestin de stocks
PROGRAMACION EN AVANCE :
INICIAMOS CON LA ETAPA 1 HASTA LA ETAPA 4
B
2 A 4 3 C 6
E
4 F 6 3 3
1 H 3 4
J
3 4
2
4 1 5 D
I 3
Etapa 2; n = 2
PROGRAMACION EN AVANCE :
INICIAMOS CON LA ETAPA 1 HASTA LA ETAPA 4
Etapa 3; n = 3
S
H I
3(S)*
8 7
X*3
E F
Etapa 1
B
2
J
6 4
Etapa 2 7 4
H
Etapa 3
Etapa 4
E
4
1
E
3 4
2
C
J
6 3 3 3
3 4
J
41 J D 5
I
F
PROGRAMACION EN AVANCE :
INICIAMOS CON LA ETAPA 1 HASTA LA ETAPA 4
Etapa 4; n = 4
S
J
4(S)*
11
X*4
HI
Etapa 1
B
2 A 4 3 C
Etapa 2 7 4
Etapa 3
H
Etapa 4
E
4 F 6 3 3
3 4
2
3 4
J
41 D 5
I 3
PROGRAMACION EN AVANCE :
INICIAMOS CON LA ETAPA 1 HASTA LA ETAPA4 Mtodo de solucin
Etapa 1; n = 1 Etapa 2; n = 2
Etapa 3; n = 3
Etapa 4; n = 4
S
H I
3(S)*
8 7
X*3
E F
S
J
4(S)*
11
X*4
HI
A
J I
J
J
H
H
E
Ejercicio: Forestal
Un ingeniero forestal, requiere saber: i) Cul es el costo mnimo? Y ii) Cul es la ruta de ese costo mnimo, para ir desde su oficina hasta el lugar donde esta la cosecha. En su camino debe pasar por tres sectores o ciudades antes de llegar a su destino.
Ejercicio: Forestal
Un ingeniero forestal, requiere saber: i) Cul es el costo mnimo? Y ii) Cul es la ruta de ese costo mnimo, para ir desde su oficina hasta el lugar donde esta la cosecha. En su camino debe pasar por tres sectores o ciudades antes de llegar a su destino.
PROGRAMACION EN RETROCESO :
INICIAMOS CON LA ETAPA 4 HASTA LA ETAPA1
Etapa 1
Mtodo de solucin Etapa 4; n = 4
S
9 10 11 12
Etapa 2
Etapa 3
Etapa 4
4(S)*
12 16 15 14
X*4
13 13 13 13
X3
Etapa 3; n = 3
X3 S
6 7 8
3(S)* 12
3 + 14 = 17 6 + 14 = 20 5 + 14 = 19 15 16 14
X*3
9 9 9
10
2 + 16 = 18 1 + 16 = 17 3 + 16 = 19
11
1 + 15 = 16 4 + 15 = 19 6 + 15 = 21
PROGRAMACION EN RETROCESO :
INICIAMOS CON LA ETAPA 4 HASTA LA ETAPA1
Etapa 1
Mtodo de solucin
Etapa 2
Etapa 3
Etapa 4
Etapa 2; n = 2
X2 S
2 3 4 5
2(S)* 8
20 18 22 24
X*2
78 8 8 6
7
4 + 16 = 20 7 + 16 = 23 10 + 16 = 26 10 + 16 = 26
6 + 14 = 20 4 + 14 = 18 8 + 14 = 22 11 + 14 = 25
PROGRAMACION EN RETROCESO :
INICIAMOS CON LA ETAPA 4 HASTA LA ETAPA1
Etapa 1
Mtodo de solucin
Etapa 2
Etapa 3
Etapa 4
Etapa 1; n = 1
X1 S
1
1(S)* 5
6 + 24 = 30 24
X*1
3
3
6 + 18 = 24
4
5 + 22 = 27
PROGRAMACION EN RETROCESO :
INICIAMOS CON LA ETAPA 4 HASTA LA ETAPA1 Mtodo de solucin
Etapa 4; n = 4 Etapa 3; n = 3
S
9 10 11 12
4(S)*
12 16 15 14
X*4
13 13 13 13
X3 S
6 7 8 X3
3(S)* 12
3 + 14 = 17 6 + 14 = 20 5 + 14 = 19 15 16 14
X*3
9 9 9
10
2 + 16 = 18 1 + 16 = 17 3 + 16 = 19
Etapa 1; n = 1
11
1 + 15 = 16 4 + 15 = 19 6 + 15 = 21
Etapa 2; n = 2
X2 S
2 3 4 5
2(S)* 8
20 18 22 24
X*2
78 8 8 6
7
4 + 16 = 20 7 + 16 = 23 10 + 16 = 26 10 + 16 = 26
X1 S
1
1(S)* 5
6 + 24 = 30 24
X*1
3
6 + 14 = 20 4 + 14 = 18 8 + 14 = 22 11 + 14 = 25
3
6 + 18 = 24
4
5 + 22 = 27
4 3 8
12
24
13
X1
Ejercicio: Diligencia
Este problema esta referido a encontrar la ruta optima (ruta mnima o ms confiable) para viajar desde un punto llamado nodo inicial o fuente, hacia otro nodo final o destino a travs de una red de caminos que los conecta
PROGRAMACION EN RETROCESO :
INICIAMOS CON LA ETAPA 5 HASTA LA ETAPA1 Mtodo de solucin Etapa 5; n = 5
S
12 13
5(S)*
4 3
X*5
14 14
Etapa 4; n = 4
X4 S
8 9 10 11
4(S)*
13 7 11 8
X*4
12 12 12 13 13
13
6+3=9 8 + 3 = 11 5+3=8
PROGRAMACION EN RETROCESO :
INICIAMOS CON LA ETAPA 5 HASTA LA ETAPA1 Mtodo de solucin
Etapa 3; n = 3
X3 S
5 6 7
9
2+7=9 11 + 7 = 18
10
5 + 11 = 16
11
9 + 8 = 17 4 + 8 = 12
3(S)*
9 16 12
X*3
9 10 11
PROGRAMACION EN RETROCESO :
INICIAMOS CON LA ETAPA 5 HASTA LA ETAPA1 Mtodo de solucin
Etapa 2; n = 2
X2 S
2 3 4
6
4 + 16 = 20 6 + 16 = 22
7
9 + 12 = 21 6 + 12 = 18
2(S)*
20 17 18
X*2
5 5 7
PROGRAMACION EN RETROCESO :
INICIAMOS CON LA ETAPA 5 HASTA LA ETAPA1 Mtodo de solucin
Etapa 1; n = 1
X1
S
1
3
2 + 17 = 19
4
3 + 18 = 21
1(S)*
19
X*1
3
PROGRAMACION EN RETROCESO :
INICIAMOS CON LA ETAPA 4 HASTA LA ETAPA1 Mtodo de solucin
Etapa 5; n = 5 Etapa 4; n = 4
X4 S
4(S)*
13 7 11 8
X*4
12 12 12 13 13
S
12 13
5(S)*
4 3
X*5
14 14
8 9 10 11
Etapa 3; n = 3
X3
Etapa 2; n = 2
10
5 + 11 = 16
11
9 + 8 = 17 4 + 8 = 12
3(S)*
9 16 12
X*3
9 10 11
X2 S
2 3 4
6
4 + 16 = 20 6 + 16 = 22
7
9 + 12 = 21 6 + 12 = 18
2(S)*
20 17 18
X*2
5 5 7
5 6 7
3 + 13 = 16 8 + 13 = 21
Etapa 1; n = 1
X1
S
1
3
2 + 17 = 19
4
3 + 18 = 21
1(S)*
19
X*1
3
2 1 3
8 5
4
12
14
19
Problema de la diligencia (Stagecoach Problem) Problema de la mochila (Snapsack Problem) Programacin de produccin e inventarios
(Production and Inventory Scheduling)
El modelo de la mochila
Un camionero que trabaja por su cuenta tiene 8 m3 de espacio disponible en un camin que saldr para la ciudad de Lima. Un distribuidor que tiene grandes cantidades de tres artculos diferentes, todos destinados para esa ciudad, ha ofrecido al camionero los siguientes pagos por transportar tantos artculos como quepan en el camin.
Artculo I II III Pago ($/art.) 11 32 58 Volumen (Vn) m3/art 1 3 5
Cuntas unidades de cada artculo deber aceptar el camionero a fin de maximizar los pagos de embarque, sin exceder la capacidad del camin?
El modelo de la mochila
Variables de decisin: X1: Cantidad de artculos tipo I a embarcar en camin. X2: Cantidad de artculos tipo II a embarcar en camin. X3: Cantidad de artculos tipo III a embarcar en camin. La funcin objetivo ser maximizar el beneficio total. El modelo matemtico ser: Max BT = 11X1 + 32 X2 + 58 X3 X1 + 32X2 + 5X3 8 Xj 0 y entero
El modelo de la mochila
Para utilizar la metodologa de la programacin dinmica, debemos dividir el problema en tres etapas (sub problemas), en cada etapa debe decidirse cuantas unidades se deben embarcar.
El modelo de la mochila
Para n = 3
S3 0 1 2 3 4 5 6 7 8
D3 0 58 x 0 + 0 = 0 58 x 0 + 0 = 0 58 x 0 + 0 = 0 58 x 0 + 0 = 0 58 x 0 + 0 = 0 58 x 0 + 0 = 0 58 x 0 + 0 = 0 58 x 0 + 0 = 0 58 x 0 + 0 = 0 1
f3 (D3 ) 0 0 0 0 0 58 58 58 58
D3 (S3 ) 0 0 0 0 0 1 1 1 1
58 x 1 + 0 = 58 58 x 1 + 0 = 58 58 x 1 + 0 = 58 58 x 1 + 0 = 58
El modelo de la mochila
Para n = 2
S2 0 1 2 3 4 5 6 7 8
0 32 x 0 + 0 = 0 32 x 0 + 0 = 0 32 x 0 + 0 = 0 32 x 0 + 0 = 0 32 x 1 + 0 = 32 32 x 0 + 0 = 0 32 x 1 + 0 = 32 32 x 0 + 58 = 58 32 x 1 + 0 = 32 32 x 0 + 58 = 58 32 x 1 + 0 = 32 32 x 0 + 58 = 58 32 x 1 + 0 = 32 32 x 0 + 58 = 58 32 x 1 + 58 = 90
D2 1
f2 (D2 ) 0 0 0 32 32 58 64 64 90
D2 (S2 ) 0 0 0 1 1 0 2 2 1
32 x 2 + 0 = 64 32 x 2 + 0 = 64 32 x 2 + 0 = 64
El modelo de la mochila
Para n = 1
S2
8
D2 4
f2 (D2 ) D2 (S2 )
91 3
11 x 0 + 90 = 90 11 x 1 + 64 = 75 11 x 2 + 64 = 86 11 x 3 + 58 = 91 11 x 4 + 32 = 76 11 x 5 + 32 = 87 11 x 6 + 0 = 66 11 x 7 + 0 = 77 11 x 8 + 0 = 88
Ejercicios Propuestos
PREGUNTA N 1 Los datos corresponden a los costos que le significa a una empresa enviar unidades de cierto artculo de una ciudad a otra. Se pide determinar la ruta ptima de envo desde la ciudad A a la ciudad N.
B C D A7 6 5 E F G H I J K L M N K L M 6 7 8
B
C
8
7
7
6 7
6
5 6
E 6
F 6 G 7
5
0 6
0
7 6
H 6
I 7 J 6
7
6 7
5
7 8
D 8
Ejercicios Propuestos
PREGUNTA N 2
Un estudiante que se acaba de graduar, est planeando ir de vacaciones a Rioacha. Dado que tiene poco dinero, desea determinar cul es la ruta area ms econmica. Un aumento reciente en ciertas tarifas de avin ha complicado la labor de encontrar la ruta ms econmica. El recin graduado ha investigado varias opciones y ha listado la siguiente informacin: Destinos De Quibdo a Medelln De Quibdo a Bogota De Quibdo a Monteria De Medellin a Cartagena De Bogota a Cartagena De Monteria a Rioacha De Cartagena a Rioacha Costo 280 370 340 200 400 220 150 Con base en esta informacin, plantee la informacin de red de este problema como un problema de ruta mas corta.