labo_programacion_dinamica
DESCRIPTION
Este laboratorio esta enfocado a la programación dinamicaTRANSCRIPT
LABORATORIO DE INVESTIGACIN OPERATIVA II
LABORATORIO DE INVESTIGACIN OPERATIVA II2014
INTEGRANTES:GUEVARA LPEZ SERGIO 10170122
25
INDICE
PROGRAMACIN DINMICA3
CAMINO MS CORTO (PROGRAMACIN DINMICA)3
MODELO VOLUMEN CARGA15
MODELO ASIGNACION34
MODELO DE INVENTARIO39
PROGRAMACIN DINMICA PROBABILSTICA46
PROGRAMACIN DINMICACAMINO MS CORTO (PROGRAMACIN DINMICA)PROBLEMA 1Carlos vive en Nueva York, pero proyecta viajar en su automvil hasta Los ngeles en busca de fama y fortuna. Los fondos son limitados, as que decide pasar cada noche de su viaje en la casa de un amigo. Carlos tiene amigos en Columbus, Nashville, Louisville, Kansas-city, Omaha , Dallas, San Antonio y Denver. Carlos sabe que despus de manejar un da puede llegar a Columbus , Nashville , o Louisville. Despus de manejar dos das puede llegar a Kansas city, Omaha , o Dallas. Despus de tres das de viaje puede llegar a San Antonio o Denver. Luego de cuatro das de manejar puede llegar finalmente a Los ngeles. Para minimizar la cantidad de millas recorridas Dnde debe Carlos pasar cada noche del viaje? Las millas reales por carretera entre las ciudades se dan en la siguiente figura:Solucin:Funcin de recurrencia:Fn(Sn , Xn ) = min [C(Sn,Xn) + Fn-1 (Xn-1)]Donde: Sn: inicio y Xn: Destino
ETAPA I n=1Sn=1 Xn=2,3,4,F1(Sn,X2) = min [C(1,2)+ F0(X0)]F1(Sn,X2) = min[550+0)F1*(2) = 550
F1(Sn,X3)= min[C(1,3) + F0(X0)]F1(Sn,X3)= min[900+0]F1*(3)= 900
F1(Sn,X4)= min[C(1,4) + F0(X0)]F1(Sn,X4)= min[770+0]F1*(4)= 770
ETAPA IIn=2Sn=2,3,4 Xn= 5, 6, 7F2(Sn,X5) = min [C(2,5)+ F1(2), C(3,5) + F1(3 ) , C(4,5) + F1(4)]F1(Sn,X5) = min[680+550, 580+900 , 510+770]
F2*(5) = 1230
F1(Sn,X6) = min [C(2,6)+ F1(2), C(3,6) + F1(3 ) , C(4,6) + F1(4)]F1(Sn,X6) = min[790+550,760+900, 830+770 ]
F2*(6) = 1340
F1(Sn,X7) = min [C(2,7)+ F1(2), C(3,7) + F1(3 ) , C(4,7) + F1(4)]F1(Sn,X7) =min[1050+550,660+900, 830+770 ]
F2*(7) = 1560
ETAPA IIIn=3Sn=5.6.7 Xn= 8,9F2(Sn,X8) = min [C(5,8)+ F2(5), C(6,8) + F2(6 ) , C(7,8) + F2(7)]F1(Sn,X8) = min[610+1230, 540+1340, 790+1560]
F3*(8) = 1840
F2(Sn,X9) = min [C(5,9)+ F2(5), C(6,9) + F2(6 ) , C(7,9) + F2(7)]F1(Sn,X9) = min[790+1230, 940+1340,270+1560]
F3*(9) = 1830
ETAPA IVn=4Sn=8,9 Xn= 10F4(Sn,X10) = min [C(8,10)+ F3(8), C(9,10) + F3(9 ) ]F4(Sn,X10) = min[1030+1840, 1390+1830]F4*(10) = 2870
RESPUESTA:Carlos debe pasar el primer dia en Columbus , el Segundo da en Kamsas City , el tercer dia Denver y finalmente en el cuarto da llega a Los ngeles.El total de millas recorridas es 2870.
REOLVIENDO POR EL WINQSB
PROBLEMA 2Encuentre el camino ms corto desde el nodo 1 hasta el nodo 10 en la red mostrada en la siguiente figura. Adems determine el camino ms corto desde el nodo 3 hasta el nodo 10.Solucin:Funcin de recurrencia:
Dnde: Sn: inicio y Xn: Destino
ETAPA I
ETAPA II
ETAPA III
ETAPA IV
RESPUESTA:Para ir del nodo 1 al nodo 10 existen dos caminos:
Para ir de nodo 3 al nodo 10 el camino ms corto estar dado por los nodos
SOLUCION POR WINQSB1. Ingresamos a inicio/Programas/WinQSB/Dynamic Programming.
2. Escogemos la primera opcin que es el tipo de problema (Stagecoach Shortest Route Problem) y la cantidad de nodos que es 10. Luego de la pantalla de inicializacin.
3. Se ingresan los datos:
4. Vamos a la opcin solve and Analize y hacemos clic en la opcin Solve en la pantalla:
MODELO VOLUMEN CARGAPROBLEMA 3Resolver el siguiente PL. Por el mtodo de la mochila:
SOLUCION:Analizando el PL observamos los costos (beneficios) y la capacidad mxima (8 Kg.), de lo que se concluye la siguiente tabla:ARTICULOPESO (WI)BENEFICIO (ri)ETAPA
1 (X1)45I
2 (X2)34II
3 (X3)22III
CAPACIDAD MAXIMA = 8Kg.Funcin de recurrencia:
En el caso de la mochila se recomienda empezar por la ltima etapa. En este caso se empezara por la etapa IIIETAPA III:
A continuacin se construye la siguiente tabla para el desarrollo del problema:
0000
10001
202021
3020021
40240042
50240042
60246063
70246063
80246884
Como no existe la fase 4 el F4 = 0;
ETAPA II:
A continuacin se construye la siguiente tabla para el desarrollo del problema:
0000
10000
220020
324041
444041
546061
666082
768082
88810102
ETAPA I:
A continuacin se construye la siguiente tabla para el desarrollo del problema:
0000
10000
220022
340042
445051
566062
687680
789992
810910102
RESPUESTAExistirn dos soluciones:
SOLUCION EN WINQSB1. Ingresamos a inicio/Programas/WinQSB/Dynamic Programming.
2. Escogemos la segunda opcin que es el tipo de problema (Knapsack Problem) y la cantidad de nodos que es 3. Luego de la pantalla de inicializacin.
3. Ingreso de datos:
4. Al hacer clic en Solve and Analyze:
PROBLEMA 4La carga de un avin se distribuye con el propsito de maximizar el ingreso total. Se consideran 5 elementos y solo se necesita uno de cada uno. La compaa gana 5000 S/. Por elemento ms una bonificacin por elemento. El avin puede transportar 2000 lb.ElementoPeso (lb)Volumen (cm3)BonificacinEtapa
1100070700I
21100100800II
37001001100III
4800801000IV
550050700V
a) Cules elementos deben transportarse?b) Si se considera un volumen mximo de 120 cm3. Cules elementos deben transportarse?SOLUCION:El problema se desarrolla bajo las dos consideraciones, primero teniendo en cuenta el peso y luego el volumen. Como puede apreciarse este es un problema que bien podra resolverse por programacin lineal entera teniendo en cuenta la funcin objetivo y restricciones siguientes:
a) Analizaremos para la restriccin del peso.CAPACIDAD MAXIMA = 2000 lb.Funcin de recurrencia:
En el caso de la mochila se recomienda empezar por la ltima etapa. En este caso se empezara por la etapa V
ETAPA V:
Por la condicin de que solo debe haber un solo artculo de cada uno el m solo toma dos valores para todas las etapas y sern:
A continuacin se construye la siguiente tabla para el desarrollo del problema:
0000
2000000
4000000
60007007001
80007007001
100007007001
120007007001
140007007001
170007007001
180007007001
200007007001
ETAPA IV:
Por la condicin de que solo debe haber un solo artculo de cada uno el m solo toma dos valores para todas las etapas y sern:
A continuacin se construye la siguiente tabla para el desarrollo del problema:
00000
2000000
4000000
60070007000
800700100010001
1000700100010001
1200700100010001
1400700170017001
1700700170017001
1800700170017001
2000700170017001
ETAPA III:
Por la condicin de que solo debe haber un solo artculo de cada uno el m solo toma dos valores para todas las etapas y sern:
A continuacin se construye la siguiente tabla para el desarrollo del problema:
00000
2000000
4000000
60070007000
8001000110011001
10001000110011001
12001000180018001
14001700210021001
17001700210021001
18001700210021001
20001700280028001
ETAPA II:
A continuacin se construye la siguiente tabla para el desarrollo del problema:
00000
2000000
4000000
60070007000
8001100011000
10001100011000
1200180080018000
1400210080021000
17002100150021000
18002100190021000
20002800190028000
ETAPA I:
Por la condicin de que solo debe haber un solo artculo de cada uno el m solo toma dos valores para todas las etapas y sern:
A continuacin se construye la siguiente tabla para el desarrollo del problema:
00000
2000000
4000000
60070007000
8001100011000
1000110070011000
1200180070018000
1400210070021000
17002100180021000
18002100180021000
20002800180028000
RESPUESTA:Con una capacidad mxima de 2000 lb la bonificacin mxima de 2800 S/., la relacin de los artculos a utilizar es:
Con un gasto total de:
SOLUCION EN WINQSB del tem a):1. Ingresamos a inicio/Programas/WinQSB/Dynamic Programming.
2. Escogemos la segunda opcin que es el tipo de problema (Knapsack Problem) y la cantidad de nodos que es 5. Luego de la pantalla de inicializacin.
3. Ingreso de datos:
4. Al hacer clic en Solve and Analyze:
b) Analizaremos para la restriccin del volumen.VOLUMEN MAXIMO = 120 cm3.Funcin de recurrencia:
En el caso de la mochila se recomienda empezar por la ltima etapa. En este caso se empezara por la etapa VETAPA V:
Por la condicin de que solo debe haber un solo artculo de cada uno el m solo toma dos valores para todas las etapas y sern:
A continuacin se construye la siguiente tabla para el desarrollo del problema:
0000
100000
200000
300000
400000
5007007001
6007007001
7007007001
8007007001
9007007001
10007007001
11007007001
12007007001
ETAPA IV:
Por la condicin de que solo debe haber un solo artculo de cada uno el m solo toma dos valores para todas las etapas y sern:
A continuacin se construye la siguiente tabla para el desarrollo del problema:
00000
100000
200000
300000
400000
5070007000
6070007000
7070007000
80700100010001
90700100010001
100700100010001
110700100010001
120700100010001
ETAPA III:
Por la condicin de que solo debe haber un solo artculo de cada uno el m solo toma dos valores para todas las etapas y sern:
A continuacin se construye la siguiente tabla para el desarrollo del problema:
00000
100000
200000
300000
400000
5070007000
6070007000
7070007000
801000010000
901000010000
1001000110011001
1101000110011001
1201000110011001
ETAPA II:
A continuacin se construye la siguiente tabla para el desarrollo del problema:
00000
100000
200000
300000
400000
500000
6070007000
7070007000
8070007000
901000010000
100100080010000
110110080011000
120110080011000
ETAPA I:
Por la condicin de que solo debe haber un solo artculo de cada uno el m solo toma dos valores para todas las etapas y sern:
A continuacin se construye la siguiente tabla para el desarrollo del problema:
00000
100000
200000
300000
400000
500000
6070007000
707007007000
807007007000
90100070010000
100100070010000
110110070011000
1201100140014001
RESPUESTA:Con un volumen mximo de 120 cm3 la bonificacin mxima de 1400 S/., la relacin de los artculos a utilizar es:
Con un gasto total de:
SOLUCION EN WINQSB del tem b):1. Ingresamos a inicio/Programas/WinQSB/Dynamic Programming.
2. Luego de la pantalla de inicializacin. Escogemos la segunda opcin que es el tipo de problema (Knapsack Problem) y la cantidad de nodos que es 5.
3. Ingreso de datos:
4. Al hacer clic en Solve and Analyze:
MODELO ASIGNACIONPROBLEMA 5El Ministerio De Vivienda quiere construir casas para familias que han sido damnificadas por el terremoto de Ica utilizando como mano de obra a voluntarios.Una familia puede acogerse a este plan a travs de una solicitud siendo un comit a cargo del ministerio quien le ponga una calificacin previa una evaluacin socio- econmica y dems factores. Una calificacin ms alta significa que la familia es ms necesitada. Para la construccin se cuenta con un mximo de 32 obreros voluntarios. En la tabla adjunto se encuentran los datos de las calificaciones de cada solicitud y la cantidad requerida de obreros.Cules solicitudes se deben de aprobar?SOLICITUDCALIFICACINNUMERO DE OBREROS
1817
2759
3695
4659
5888
SOLUCION
DIAGRAMA DE ARBOL
En el siguiente esquema se muestra la simbologa del diagrama de rbol.A= Numero de a etapa.B= Disponibilidad de obreros.Donde el 1 significa que la solicitud ha sido aprobado y el 0 indica que ha sido rechazado por lo tanto no se ejecuta.
A,B01
Se debe de aceptar la solicitud: 1, 2, 3 y 5. SOLICITUDCALIFICACINNUMERO DE OBREROS
1817
2759
3695
5888
La solucin ptima es utilizar 29 obreros obteniendo una clasificacin de 313.
SOLUCION WINQSB
PROBLEMA 6La clnica San Juan Bautista dispone del servicio de atencin a domicilio en los distritos de Los Olivos, Independencia y San Martin de Porres el cual desea saber qu cantidad de ambulancias asignar a los diferentes distritos. En la siguiente tabla se muestra la cantidad de ambulancias asignadas obteniendo el nmero de servicio sin atender por cada distrito.
DISTRITOSNUMERO DE AMBULANCIAS ASIGNADAS
012345
113116520
224201714139
3181410853
SOLUCION:El diagrama de rbol, en la siguiente hoja
RespuestaSe tiene como solucin ptima asignar al distrito 1 dos ambulancias, al distrito 2 una ambulancia y al distrito 3 dos ambulancias.
DISTRITOSOLUCION
12
21
32
MODELO DE INVENTARIOPROBLEMA 8La empresa CIA NUEVO MUNDO S.A fabrica todo tipo de tejidos planos, para sus principales clientes como PIERS, PIONER, KANSAS. La empresa tiene contrato para entregar cierta serie de tejidos durante los siguientes tres meses:MES ENTREGAC.V(UNITARIO)C.ALM.C.F
1232003003001010121.51.51.5250250250
Los modelos fabricados durante un mes pueden servir para abastecer la demanda de este mes y de algn mes futuro, suponiendo que la produccin de cada mes es mltiplo de 100. Dado que el nivel de inventario inicial y final es 0. Determineel calendario ptimo de produccin utilizando programacin dinmica.SOLUCION:Primero debemos analizar las opciones que habr en nuestros inventarios finales e iniciales por cada mes:MES 1 MES 2 MES 3
I.I000I.F / I.I0100200300400500600I.F / I.I0100200300I.F000
MES 3:Sabemos que el inventario final es 0:I.I + P D = I.F0 + 300 - 300 = 0100 + 200 300 =0200 + 100 - 300 = 0300 + 0 300 = 0
MES 2:El inventario final est en el rango [0, 300]I.I + P D = I.F 0+ 300 -300 = 0100+ 200 -300 =0200+ 100 -300 =0300+0 -300 =00 +400-300=100100 + 300-300 =100200 + 200 -300 =100300 + 100 300 =100400 + 0 -300 =1000+500 300 =200100+400-300 =200200+300-300=200300+200-300=200400+100-300=200500+0-300= 2000+600-300=300100+500-300=300200+400-300=300300+300-300=300400+200-300=300500+100-300=300600+0-300 =300
MES 1:El inventario inicial es 0 y segn el mes 2, el inventario final es de 0 hasta 600I.I + P D = I.F0 + 200 - 200 = 00+ 300 -200 = 1000 + 400 200= 2000 + 500 -200= 3000 + 600 200 = 4000 + 700 200 = 5000 + 800 200 =600
ETAPA I: Mes 3Costos totales:II + P D = IF COSTOS
IIPDFC=CV*P +CF+CA*IF
010020030030020010003003003003000000385026501450250
Programacin en funcion al II y produccin.IIXi0100200300F(Xi)Xi
038503850300
10026502650200
20014501450100
3002502500
ETAPA II: Mes 2Costos totales del mes 2:II + P D = IF COSTOSCOSTO ANTERIORCOSTOS ACUMULADOS
IIPDIFC=CV*P +CF+CA*IFXCA = C+X
000010010010010020020020020030030030030040040040050050060030040050060020030040050010020030040001002003000100200010003003003003003003003003003003003003003003003003003003003003003003000100200300010020030001002003000100200300100200300200300300325044005550670022503400455057001250240035504700250140025503700400155027005501700700385026501450250385026501450250385026501450250385036501450250265014502501450250250710010507000695061006050600059505100505050004950410040504000395030503000295020001950950
Programacin en funcion al II y produccin para el mes 2.IIXi0100200300400500600F(Xi)Xi
071007050700069506950600
10061006050600059505950500
20051005050500049504950400
30041004050400039503950300
4003050300029502950200
500200019501950100
6009509500
ETAPA III: Mes 1Costos totales del mes 1:II + P D = IF COSTOSCOSTO ANTERIORCOSTOS ACUMULADOS
IIPDIFC=CV*P +CF+CA*IFXCA = C+X
00000002003004005006007008002002002002002002002000100200300400500600225034004550570068508000915069505950495039502950195095092009350950096509800995010100
Programacin en funcin al II y produccin para el mes 2.IIXi200300400500600700800F(Xi)Xi
09200935095009651098009950101009200200
Respuesta Por lo tanto la produccin a realizar para minimizar los costos, son los siguientes:MESPRODUCCION
1200
2600
30
Dando como costo total la suma de 9200 $
Solucin WINQSB
PROGRAMACIN DINMICA PROBABILSTICAPROBLEMA En un almacn tenemos un espacio de 12mt3 para guardar tres artculos. Los volmenes necesarios para guardar una unidad de los artculos 1,2 y 3 mt3 son 2, 1 y 3 mt3 respectivamente. La demanda probabilstica de los artculos es la siguiente:Probabilidad de demanda
Nro de unidades Art1Art2Art3
10.50.30.3
20.50.40.2
300.20.5
400.10
Los costos de escasez por unidad de los artculos 1,2 y 3 son $8 , $10 y $5 respectivamente.a) Defina la funcin de recurrencia, las variable y las etapasb) Utilizar la programacin dinmica para calcular. cuntas unidades de cada artculo se deben guardar en el compartimiento?
Solucin:Art1Art2Art3
Costo de escasez8105
Wi213
Capacidad (W/Wi)6124
Funcion de recurrencia:F(x) = min {rt(gt) + ft+1 (x-gt)}rt(gt): Costo esperado de gt unidades asignadas al artculo tft(gt): costo mnimo esperado de X unidades asignadas a los artculos t,t+1gt: unidades asignadas al tipo de articulo .
Etapa I: Articulo 3Etapa II: Articulo 2Etapa III: Articulo 1
B) HALLAMOS LOS COSTOS:ARTICULO 3ARTCULO 2:
r3(0) = 0*4*5 + 0.5*3*5 + 0.2*2*5 + 0.3*1*5r3(0) = 11r3(1) = 0*3*5 + 0.5*2*5 + 0.2*1*5 r3(1) = 6r3(2) = 0*2*5 + 0.5*1*5r3(2) = 2.5r3(3)= 0*1*5 r3(3) = 0r3(4) = 0
r2(0)= 0.1*4*10 + 0.2*3*10 +0.4*2*10 + 0.3*1*10r2(0)= 21r2(1) = 0.1*3*10 + 0.2*2*10 + 0.4*1*10r2(1)= 11r2(2) = 0.1*2*10+ 0.2*1*10r2(2)= 4r2(3) = 0.1*1*10r2(3) = 1r2(4) =0
ARTICULO 1
r1(0)= 0*4*8 + 0*3*8 + 0.5*2*8 + 0.5*1*8r1(0)= 12r1(1) = 0*3*8 + 0*2*8 + 0.5*1*8r1(1) = 4 r1(2) = 0*2*8 + 0*1*8 r1(2) = 0r1(3) = 0*1*8r1(3) = 0r1(4) = 0
ETAPA I: ARTICULO 3F3(0) = r3(0) = 11 F3(1) = r3(1) = 6F3(2) = r3(2) = 2.5F3(3) = r3(3) = 0 F3(4) = r3(4) = 0
ETAPA II : articulo 2F2(0) = min[r2(0)+ f3(0)] = 21 g2(0) =0F2(1) =min = 22 g2(1)= 1
F2(2) =min = 15 g2(2)= 2F2(3) =min = 10 g2(3)= 2F2(4) =min = 6.5 g2(4)= 2F2(5) =min = 3.5 g2(5)= 3F2(6) =min = 1 g2(6)= 3
ETAPA III : ARTICULO 1
F1(6) =min = 6.5 g2(6)= 2RESPUESTA: Con un costo de escasez mnimo de $6.5, teniendo en el compartimiento la siguiente tabla de unidades por articulo.Unidades
Articulo 12
Articulo 22
Articulo 32
BLOMINGTO1
COLUMBU2
LOUISVILLE4
770
KAMSASCITY5
550
OMAHA6
DAILAS7
680
790
830
DENVER8
NASHVILLE3
900
760
SAN ATONIO9
270
1030
LOS ANGELES10
1390
1050
580
660
790
940
540
790
610
ETAPA I
ETAPA II
ETAPA III
ETAPA IV
510
700
NODO1
NODO2
NODO4
3
NODO5
2
NODO6
NODO7
7
4
5
NODO8
NODO3
4
2
NODO9
3
3
NODO10
4
6
3
4
3
3
6
3
1
ETAPA I
ETAPA II
ETAPA III
ETAPA IV
4
1
1,32
1
4,8
0
2,32
3,32
3,25
3,24
3,17
2,24
4,17
4,15
4,24
4,16
4,25
4,23
4,32
5,3
5,8
5,12
5,17
1
0
5,10
1
0
5,15
1
0
1
0
1
0
1
0
1
0
1
0
1
0
5,19
5,24
5,11
5,16
5,20
5,25
5,18
5,23
1
0
1
0
1
0
1
5,27
5,32
0
1
0
5,3
5,8
5,1
5,6
5,10
5,15
5,2
5,7
5,9
5,14
1
1
1
1
1
1
1
1
1
1
5,11
5,16
5,18
5,23
1
1
1
1
88
81
81
75
75
75
75
313
244
69
65
303
234
297
228
153
222
297
228
216
147
65
134
222
153
2,5
3,5
3,4
3,3
3,2
2,4
2,3
2,2
2,1
3,4
3,3
3,2
3,3
3,2
3,2
3,1
3,1
3,1
3,1
3,1
1,5
5
6
11
2
13
2,0
3,0
3,0
3,0
3,0
3,0
3,0
0
0 24
1 20
2 17
3 14
4 13
0 24
5 9
1 20
1 20
1 20
1 20
2 17
2 17
2 17
3 14
3 14
4 13
0 24
0 24
0 24
0 24
3
5
8
10
14
18
10
10
10
14
14
14
14
18
18
18
18
18
5
8
8
27
25
25
24
27
27
29
28
27
28
31
32
30
31
32
34
34
35
38
38
38
42
42
34
30
27
24
36