UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
LABORATORIO INVESTIGACIÓN OPERATIVA 2 E.A.P. Ingeniería Industrial
Trabajo de Laboratorio PROFESORA: INTEGRANTES:
Mayta Huatuco, Rosmeri Contreras Ruiz, Diego Mallqui Paraguay, Denis Cuchula Laura. Adrián
HORARIO: CICLO
Lunes 4-6 PM 2017-1
2017
ÍNDICE Camino más Corto Problema 1 Problema 2 Árbol de expansión mínima Problema 1 Problema 2 Algoritmo de Dijkstra Problema 1 Problema 2 Flujo Máximo Problema 1 Problema 2 Flujo Máximo a costo mínimo Problema 1 Problema 2
2
CAMINO MÁS CORTO Problema 1
DIBUJANDO EL DIAGRAMA
2 70 40
5
10
60 1
60
3
55 40
50
80 6
20
7
10
50 4
3
RESOLUCIÓN: m1 = 0 m2 = min {m1+d12} = min {0+40} = 40 m3 = min {m1+d13, m2+d23} = min {0+60, 40+10} = 50 m4 = min {m1+d14, m3+d34} = min {0+50, 50+20} = 50 m5 = min {m2+d25, m3+d35} = min {40+70, 50+55} = 105 m6 = min {m3+d36, m4+d46, m5+d56} = min {50+40, 50+50, 105+10} = 90 m7 = min {m5+d57, m6+d67} = min {105+60, 90+80} = 165
EL CAMINO MAS CORTO ES: 1-2-3-5-7 VALOR: 165 millas
EN LINGO: SETS: NODOS/1..7/:Y; ARCOS(NODOS,NODOS) /1,2 1,3 1,4 2,5 2,3 3,4 3,5 3,6 4,6 5,6 5,7 6,7/:DISTANCIA; ENDSETS MAX=Y(7)-Y(1); @FOR(ARCOS(I,J):Y(J)<=Y(I)+DISTANCIA(I,J)); DATA: DISTANCIA=40,60,50,70,10,20,55,40,50,10,60,80; ENDDATA
4
EN NETWORK MODELING (WinQSB):
Problema 2 Se tiene la siguiente red, se pide hallar el camino más corto del nodo 1 al nodo 11
5
RESOLUCIÓN: m1 = 0 m2 = min {m1+d12} = min {0+4} = 4 m3 = min {m1+d13} = min {0+6} = 6 m4 = min {m1+d14} = min {0+3} = 3 m5 = min {m2+d25, m3+d35} = min {4+3, 6+2} = 7 m6 = min {m3+d36, m4+d46} = min {6+5, 3+6} = 9 m7 = min {m3+d37, m5+d57, m6+d67} = min {6+2, 7+2, 9+1} = 8 m8 = min {m5+d58, m7+d78} = min {7+4, 8+2} = 10 m9 = min {m6+d69, m7+d79, m8+d89} = min {9+2, 8+5, 10+2} = 11 m10 = min {m6+d610, m9+d910} = min {9+5, 11+3} = 14 m11 = min {m8+d811, m9+d911, m10+d1011} = min {10+7, 11+8, 14+4} = 17
EL CAMINO MAS CORTO ES: 1-3-7-8-11 VALOR: 17
EN LINGO: SETS: NODOS/1..11/:Y; ARCOS(NODOS,NODOS) /1,2 1,3 1,4 2,5 2,3 4,3 4,6 3,5 3,7 3,6 5,8 5,7 6,7 6,9 6,10 7,8 7,9 8,11 8,9 9,11 9,10 10,11/:DISTANCIA; ENDSETS MAX=Y(11)-Y(1); @FOR(ARCOS(I,J):Y(J)<=Y(I)+DISTANCIA(I,J)); DATA: DISTANCIA=4,6,3,3,5,4,6,2,2,5,4,2,1,2,5,2,5,7,2,8,3,4; ENDDATA
6
EN NETWORK MODELING (WinQSB):
7
ÁRBOL DE EXPANSIÓN MÍNIMA Problema 1
DIBUJANDO EL DIAGRAMA
2 1.3 1
0.9 0.9 1.8
2.1 3 2.6
4
8
RESOLUCIÓN: C = {1}
C´= {2, 3, 4}
C = {1,4}
C´= {2, 3}
C = {1, 4, 2} C = {1, 4, 2, 3}
C´= {3}
min {1.3, 2.1, 0.9} =0.9 min {1.3, 1.8, 2.1, 2.6} =1.3 min {1.3, 2.1, 0.9} =0.9
C´= {0}
ARBOL: 1 – 4 – 2 – 3 SUMA DE LAS DISTACIAS: 0.9 + 1.3 + 0.9 = 3.1
ÁRBOL:
2 1
0.9 0.9 1.8 3 4
EN LINGO: NODOS/1..4/:U; RED(NODOS,NODOS):DISTANCIA,X; ENDSETS DATA: DISTANCIA=
0 1.3 2.1 0.9 1.3 0 0.9 1.8 2.1 0.9 0 2.6 0.9 1.8 2.6 0;
ENDDATA N=@SIZE(NODOS); MIN=@SUM(RED:DISTANCIA*X); @FOR(NODOS(J)| J #GT# 1:
9
@SUM(NODOS(I)|I#NE#J:X(I,J))=1; @FOR(NODOS(I)|I#GT#1#AND#I#NE#J: U(J)>=U(I)+X(I,J)-(N-2)*(1-X(I,J))+(n-3)*X(J,I); ); ); @SUM(NODOS(J)|J#GT#1:X(1,J))>=1; @FOR(RED:@BIN(X); ); @FOR(NODOS(J)|J#GT#1: @BND(1,U(J),999999); U(J)<=N-1-(N-2)*X(1,J); ); END
EN NETWORK MODELING (WinQSB):
10
Problema 2
11
DIBUJANDO EL DIAGRAMA
1 190 100
110
Principal
70
2
160 50
220
5
270
140
115 215
80
3 120
310
4
175
RESOLUCIÓN:
C = {P}
C´= {1, 2, 3, 4, 5}
C = {P, 2}
C´= {1, 3, 4, 5}
C = {P, 2, 1}
C´= {3, 4, 5}
C = {P, 2, 1, 5}
C´= {3, 4}
C = {P, 2, 1, 5, 3} C = {P, 2, 1, 5, 3, 4}
C´= {4}
min {190, 70, 115, 270, 160} =70, min {190, 100, 140, 115, 120, 270, 220, 160} =100
min {115, 110, 140, 270, 215, 120, 160, 50, 220} =50 min {140, 110, 115, 80, 120, 215, 270, 310} =80 min {175, 120, 215, 270, 310} = 120
C´= { }
ARBOL: P – 2 – 1 – 5 – 3 – 4 SUMA DE LAS DISTACIAS: 70+100+50+80+120= 420.
12
ÁRBOL:
1
100
Principal 70
2
50
3
5 80 4
EN LINGO: SETS: NODOS/1..6/:U; RED(NODOS,NODOS):DISTANCIA,X; ENDSETS DATA: DISTANCIA=
0 190 70 115 270 160 190 0 100 110 215 50 70 100 0 140 120 220 115 110 140 0 175 80 270 215 120 175 0 310 160 150 220 80 310 0;
ENDDATA N=@SIZE(NODOS); MIN=@SUM(RED:DISTANCIA*X); @FOR(NODOS(J)| J #GT# 1: @SUM(NODOS(I)|I#NE#J:X(I,J))=1; @FOR(NODOS(I)|I#GT#1#AND#I#NE#J: U(J)>=U(I)+X(I,J)-(N-2)*(1-X(I,J))+(n-3)*X(J,I); ); );
13
175
@SUM(NODOS(J)|J#GT#1:X(1,J))>=1; @FOR(RED:@BIN(X); ); @FOR(NODOS(J)|J#GT#1: @BND(1,U(J),999999); U(J)<=N-1-(N-2)*X(1,J); ); END
EN NETWORK MODELING (WinQSB):
14
ALGORITMO DE DIJKSTRA Problema 1 Una persona que tiene que desplazarse a diario del pueblo A al pueblo H y desea saber cuál es el camino más corto usando un mapa de carreteras.
3km C
12km
E 5km
7km
A
H D 4km
2km
B
8km
6km
3km
5km G F
SOLUCIÓN ABCDEFGH [0 4 12 ∞ ∞ ∞ ∞ ∞] [0* 4* 12 ∞ ∞ ∞ ∞ ∞] NUEVA ETIQUETA DE D Y F , MIN[∞, 6] , MIN[∞,10] [0* 4* 12 6 ∞ 10 ∞ ∞] [0* 4* 12 6* ∞ 10 ∞ ∞]NUEVA ETIQUETA DE G min[∞,14] [0* 4* 12 6* ∞ 10 14 ∞] [0* 4* 12 6* ∞ 10* 14 ∞] NUEVA ETIQUETA DE G MIN[14,15] [0* 4* 12* 6* ∞ 10* 14 ∞] NUEVA ETIQUETA DE E MIN[∞,15] [0* 4* 12* 6* 15 10* 14 ∞] [0* 4* 12* 6* 15 10* 14* ∞]NUEVA ETIQUETA DE H MIN[∞,17] [0* 4* 12* 6* 15 10* 14* 17] [0* 4* 12* 6* 15* 10* 14* 17]NUEVA ETIQUETA DE H MIN[17,22] [0* 4* 12* 6* 15 10* 14* 17*] AHORA EL CAMINO MAS CORTO SERA LA RUTA COMPRENDIDA POR A–B–D–G–H
15
EN LINGO SETS: NODO/1..8/:Y; ARCO(NODO,NODO)/1,2 1,3 2,4 2,6 3,4 3,5 4,7 5,8 6,7 7,8/:DISTANCIA; ENDSETS DATA: DISTANCIA=4,12,2,6,5,3,8,7,5,3; ENDDATA MAX=Y(8)-Y(1); @FOR(ARCO(I,J):Y(J)<=Y(I)+DISTANCIA(I,J)); END
Con WinQSB
16
Problema 2 UTILIZANDO EL ALGORITMOS DE DIJKSTRA ENCOTRAR LA RUTA MAS CORTA
12 1
2 8
5
2 5
4
10
6 3
4
Solución [0* 2 8 ∞∞] [0* 2* 8 ∞∞] nueva etiqueta para 4 min[∞,16], nueva etiqueta para 5 min[∞,14] [0* 2* 8 6 14] [0* 2* 8 6* 14] nueva etiqueta para 5 min[14,16] [0* 2* 8* 6* 14*] LA RUTA MAS CORTA ES 1 – 2 – 5
EN LINGO SETS: NODO/1..5/:Y; ARCO(NODO,NODO)/1,2 1,3 2,3 2,4 2,5 3,4 4,5/:DISTANCIA; ENDSETS DATA: DISTANCIA=2,8,5,4,12,6,10; ENDDATA MAX=Y(5)-Y(1); @FOR(ARCO(I,J):Y(J)<=Y(I)+DISTANCIA(I,J)); END
17
Con WinQSB
18
FLUJO MÁXIMO Problema 1 (Hillier, página 384, problema 9.5-1) Para la red mostrada a continuación, utilice el algoritmo Ford-Fulkerson para encontrar el patrón de flujo que proporciona el flujo máximo del nodo origen al nodo destino, dado que la capacidad a través del arco que va del nodo i al nodo j es el número más cercano al nodo i del arco entre esos nodos.
SOLUCIÓN Empleamos el método de Ford-Fulkerson para hallar el flujo máximo 1) 1-2-5-7 mín {6,4,4} = 4 2) 1-3-6-7 mín {4,3,9} = 3 3) 1-3-4-6-7 mín {1,3,4,6} = 1 4) 1-4-6-7 mín {1,3,5} = 1 Flujo Máximo = 4+3+1+1=9 LINGO
Programación: SETS: NODOS/1..7/; ARCOS(NODOS,NODOS)/1,2 1,3 1,4 2,5 3,4 3,5 3,6 4,6 5,7 6,7 7,1/:CAPACIDAD,FLUJO; ENDSETS MAX=FLUJO(7,1); @FOR(ARCOS(I,J):FLUJO(I,J)
Solución:
Global optimal solution found.
Objective value:
9.000000
Infeasibilities: Total solver iterations:
0.000000 0
Variable CAPACIDAD( 1, 2) CAPACIDAD( 1, 3) CAPACIDAD( 1, 4) CAPACIDAD( 2, 5) CAPACIDAD( 3, 4) CAPACIDAD( 3, 5) CAPACIDAD( 3, 6) CAPACIDAD( 4, 6) CAPACIDAD( 5, 7) CAPACIDAD( 6, 7) CAPACIDAD( 7, 1) FLUJO( 1, 2) FLUJO( 1, 3) FLUJO( 1, 4) FLUJO( 2, 5) FLUJO( 3, 4) FLUJO( 3, 5) FLUJO( 3, 6) FLUJO( 4, 6) FLUJO( 5, 7) FLUJO( 6, 7) FLUJO( 7, 1)
Value 6.000000 4.000000 1.000000 4.000000 3.000000 1.000000 3.000000 4.000000 4.000000 9.000000 10000.00 4.000000 4.000000 1.000000 4.000000 3.000000 0.000000 1.000000 4.000000 4.000000 5.000000 9.000000
Solución en STORM
20
Reduced Cost 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000
Problema 2 (Hillier, página 384, problema 9.5-3) El siguiente diagrama describe un sistema de acueductos que se origina en tres ríos (R1,R2 y R3) y termina en una ciudad importante (nodo T), donde los otros nodos son puntos de unión del sistema.
Utilice unidades de miles de acres-pie; las siguientes tablas muestran la cantidad máxima de agua que puede bombearse, a través de cada acueducto, cada día. A B C R1 130 115 R2 70 90 11 R3 140 120
D E F A 110 85 B 130 95 85 C 130 160
T D 220 E 330 F 240
La comisión del agua desea determinar el plan que maximice el flujo de agua hacia la ciudad. SOLUCIÓN: Primero diagramamos la red con la fuente y las capacidades de arco respectivas
21
Empleamos el método de Ford-Fulkerson para hallar el flujo máximo 1) 2) 3) 4) 5) 6) 7) 8) 9)
Fo-R1-A-D-T Fo-R1-A-E-T Fo-R1-B-D-T Fo-R1-A-D-T Fo-R2-A-E-T Fo-R2-B-E-T Fo-R2-C-E-T Fo-R3-B-F-T Fo-R3-C-F-T
mín {245,130,110,220} = 110 mín {135,20,85,330} = 20 mín {115,115,130,110} = 110 mín {5,5,95,310} = 5 mín {270,70,65,305} = 65 mín {205,90,90,240} = 90 mín {115,110,130,130} = 110 mín {260,140,85,240} = 85 mín {175,120,160,155} = 120
Flujo Máximo = 110+20+110+5+65+90+110+85+120 = 715 LINGO Programación: SETS: NODOS/1..11/; ARCOS(NODOS,NODOS)/1,2 1,3 1,4 2,5 2,6 3,5 3,6 3,7 4,6 4,7 5,8 5,9 6,8 6,9 6,10 7,9 7,10 8,11 9,11 10,11 11,1/:CAPACIDAD,FLUJO; ENDSETS MAX=FLUJO(11,1); @FOR(ARCOS(I,J):FLUJO(I,J)
22
Solución Global optimal solution found. Objective value: Infeasibilities: Total solver iterations:
715.0000 0.000000 3
Variable CAPACIDAD( 1, 2) CAPACIDAD( 1, 3) CAPACIDAD( 1, 4) CAPACIDAD( 2, 5) CAPACIDAD( 2, 6) CAPACIDAD( 3, 5) CAPACIDAD( 3, 6) CAPACIDAD( 3, 7) CAPACIDAD( 4, 6) CAPACIDAD( 4, 7) CAPACIDAD( 5, 8) CAPACIDAD( 5, 9) CAPACIDAD( 6, 8) CAPACIDAD( 6, 9) CAPACIDAD( 6, 10) CAPACIDAD( 7, 9) CAPACIDAD( 7, 10) CAPACIDAD( 8, 11) CAPACIDAD( 9, 11) CAPACIDAD( 10, 11) CAPACIDAD( 11, 1) FLUJO( 1, 2) FLUJO( 1, 3) FLUJO( 1, 4) FLUJO( 2, 5) FLUJO( 2, 6) FLUJO( 3, 5) FLUJO( 3, 6) FLUJO( 3, 7) FLUJO( 4, 6) FLUJO( 4, 7) FLUJO( 5, 8) FLUJO( 5, 9) FLUJO( 6, 8) FLUJO( 6, 9) FLUJO( 6, 10) FLUJO( 7, 9) FLUJO( 7, 10) FLUJO( 8, 11) FLUJO( 9, 11) FLUJO( 10, 11) FLUJO( 11, 1)
Value 245.0000 270.0000 260.0000 130.0000 115.0000 70.00000 90.00000 110.0000 140.0000 120.0000 110.0000 85.00000 130.0000 95.00000 85.00000 130.0000 160.0000 220.0000 330.0000 240.0000 10000.00 185.0000 270.0000 260.0000 105.0000 80.00000 70.00000 90.00000 110.0000 140.0000 120.0000 90.00000 85.00000 130.0000 95.00000 85.00000 130.0000 100.0000 220.0000 310.0000 185.0000 715.0000
23
Reduced Cost 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
Solución en STORM
24
FLUJO MÁXIMO A COSTO MÍNIMO Problema 1 (Hillier, página 386, problema 9.6-6) La compañía Audiolife produce aparatos de sonido portátiles. Sin embargo, la administración ha decidido subcontratar la producción de las bocinas necesarias para dichos aparatos de sonido. Existen tres proveedores. Sus precios por cada embarque de 100 bocinas se muestran en la siguiente tabla. Proveedor 1 2 3
Precio $ 22,500 $ 22,700 $ 22,300
Además, cada proveedor cobrará un costo de envío. Cada embarque llegará a uno de los dos almacenes de la compañía. Cada proveedor tiene su propia fórmula para calcular este costo según las millas recorridas hasta el almacén. Estas fórmulas y los datos de las millas se muestran a continuación. Proveedor 1 2 3
Cargo por envío Almacén 1 $300+40c/milla 1600 millas $200+50c/milla 500 millas $500+20c/milla 2000 millas
Almacén 2 400 millas 600 millas 1000 millas
Cuando una de las dos fábricas requiere un embarque de bocinas para amenizar los bailes, contrata un camión para traerlo de los almacenes. El costo por embarque se presenta en la siguiente columna, junto con el número de embarques por mes que requiere cada planta.
Almacén 1 Almacén 2 Demanda Mensual
Costo unitario por envío Fábrica 1 Fábrica 2 $200 $700 $400 $500 10
6
Cada proveedor puede surtir hasta 10 embarques por mes; pero debido a las limitaciones de tranaporte, cada uno puede enviar un máximo de sólo 6 embarques por mes a cada almacén. De manera similar, cada almacén puede enviar hasta 6 embarques por mes a cada fábrica. Ahora, la administración desea desarrollar un plan mensual para determinar cuántos embarques (si son necesarios) ordenar a cada proveedor, cuántos de ellos deben ir a 25
cada almacén y cuántos embarques debe enviar cada almacén a cada fábrica. El objetivo es minimizar la suma de los costos de compra (incluyendo los cargos de envío) y los costos de envío desde los almacenes a las fábricas. SOLUCIÓN: Con todos los datos anteriores, procedemos a diagramar la red de flujo máximo a costo mínimo
Formulación de la PL Z = MIN 22500 * X_1_2 + 22700 * X_1_3 + 22300 * X_1_4 + 940 * X_2_5 +460 * X_2_6 + 450 * X_3_5 + 500 * X_3_6 + 900 * X_4_5 + 700 * X_4_6 +200 * X_5_7 + 700 * X_5_8 + 400 * X_6_7 + 500 * X_6_8 ; X_1_2 <= 10 X_1_3 <= 10 X_1_4 <= 10 X_2_5 <= 6 X_2_6 <= 6 X_3_5 <= 6 X_3_6 <= 6 X_4_5 <= 6 X_4_6 <= 6 X_5_7 <= 6 X_5_8 <= 6 X_6_7 <= 6 X_6_8 <= 6 X_7_9 <= 10 X_8_9 <= 6 X_1_2 + X_1_3 + X_1_4 = 16 - X_1_2 + X_2_5 + X_2_6 = 0 - X_1_3 + X_3_5 + X_3_6 = 0 - X_1_4 + X_4_5 + X_4_6 = 0 - X_2_5 - X_3_5 - X_4_5 + X_5_7 + X_5_8 = 0 - X_2_6 - X_3_6 - X_4_6 + X_6_7 + X_6_8 = 0
26
- X_5_7 - X_6_7 + X_7_9 = 0 - X_5_8 - X_6_8 + X_8_9 = 0 - X_7_9 - X_8_9 = - 16
LINGO Programación: SETS: NODOS/1..9/:REQ; ARCOS(NODOS,NODOS)/1,2 1,3 1,4 2,5 2,6 3,5 3,6 4,5 4,6 5,7 5,8 6,7 6,8 7,9 8,9 /:CAPACIDAD,FLUJO,COSTO; ENDSETS MIN=@SUM(ARCOS:COSTO*FLUJO); @FOR(ARCOS(I,J):FLUJO(I,J)
Solución: Global optimal solution found. Objective value: Infeasibilities: Total solver iterations:
374460.0 0.000000 7
Variable REQ( 1) REQ( 2) REQ( 3) REQ( 4) REQ( 5) REQ( 6) REQ( 7) REQ( 8) REQ( 9) CAPACIDAD( 1, 2) CAPACIDAD( 1, 3) CAPACIDAD( 1, 4) CAPACIDAD( 2, 5) CAPACIDAD( 2, 6) CAPACIDAD( 3, 5) CAPACIDAD( 3, 6) CAPACIDAD( 4, 5) CAPACIDAD( 4, 6) CAPACIDAD( 5, 7) CAPACIDAD( 5, 8) CAPACIDAD( 6, 7) CAPACIDAD( 6, 8)
Value 16.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -16.00000 10.00000 10.00000 10.00000 6.000000 6.000000 6.000000 6.000000 6.000000 6.000000 6.000000 6.000000 6.000000 6.000000
27
Reduced Cost 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
CAPACIDAD( CAPACIDAD( FLUJO( FLUJO( FLUJO( FLUJO( FLUJO( FLUJO( FLUJO( FLUJO( FLUJO( FLUJO( FLUJO( FLUJO( FLUJO( FLUJO( FLUJO( COSTO( COSTO( COSTO( COSTO( COSTO( COSTO( COSTO( COSTO( COSTO( COSTO( COSTO( COSTO( COSTO( COSTO( COSTO(
7, 8, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 8, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 8,
9) 9) 2) 3) 4) 5) 6) 5) 6) 5) 6) 7) 8) 7) 8) 9) 9) 2) 3) 4) 5) 6) 5) 6) 5) 6) 7) 8) 7) 8) 9) 9)
10.00000 6.000000 6.000000 6.000000 4.000000 0.000000 6.000000 6.000000 0.000000 0.000000 4.000000 6.000000 0.000000 4.000000 6.000000 10.00000 6.000000 22500.00 22700.00 22300.00 940.0000 460.0000 450.0000 500.0000 900.0000 700.0000 200.0000 700.0000 400.0000 500.0000 0.000000 0.000000
Solución en STORM
28
0.000000 0.000000 0.000000 0.000000 0.000000 290.0000 0.000000 0.000000 200.0000 50.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
Problema 2 En la fi gura 9.12 se muestra un ejemplo del problema del flujo de costo mínimo. Esta red, en realidad, es la red de distribución del problema de Distribution Unlimited Co., que se presentó en la sección 3.4 (vea la fi gura 3.13). Las cantidades que se presentaron en la fi gura 3.13 proporcionan los valores de bi , cij y uij que se muestran aquí. Los valores de bi de la fi gura 9.12 están entre corchetes cerca de los nodos; entonces, los nodos origen (bi . 0) son A y B (las dos fábricas de la compañía), los nodos destino (bi , 0) son D y E (los dos almacenes), y el único nodo de trasbordo (bi 5 0) es C (un centro de distribución). Los valores cij se muestran junto a los arcos. En este ejemplo, todos menos dos de los arcos tienen capacidades que exceden el fl ujo total generado (90), de manera que uij 5 ∞ para cualquier propósito práctico. Las dos excepciones son el arco A → B, donde uAB 5 10 y el arco C → E que tiene uCE 5 80
SOLUCIÓN MIN Z= 2XAB+4XAC+3XBC+9XAD+XCE+3XDE+2XED XAB+XAC+XAD=50 -XAB + XBC =40 -XBC-XAC+XCE=0 -XAD-XED+XDE=-30 -XCE-XDE+XED=-60 XAB<=10,XCE<=80, TODA Xij>=0 LINGO SETS: NODES/1..5/:SUPP; ARCS(NODES,NODES)/1,2 1,3 1,4 2,3 3,5 4,5 5,4/:CAP,FLOW,COST; ENDSETS MIN=@SUM(ARCS:COST*FLOW); @FOR(ARCS(I,J):FLOW(I,J)
29
DATA: COST=2,4,9,3,1,3,2; SUPP=50,40,0,-30,-60; CAP=10,10000,10000,10000,80,10000,10000; ENDDATA END
30