Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación Lineal Entera Resueltos PDF
Programación Lineal Entera Resueltos PDF
DE INVESTIGACIÓN OPERATIVA I
Problema 3:
TABLA 1
Solución:
Función objetivo:
Sujeto a:
X1+ X2+ X3+ X4+ X5+ X6 = 3 (seleccionar a 3 personas que hagan ambos
eventos)
Y1+ Y2+ Y3+ Y4+ Y5+ Y6 =4 (se quiere un total de 4 personas que hagan el
mismo evento, en este caso el evento 1: vigas de equilibrio)
1
W1+ W2+ W3+ W4+ W5+ W6 =4 (se quiere un total de 4 personas que hagan el
mismo evento, en este caso el evento 2: ejercicios de piso)
Xi, Yi, Wi =0 ó 1
SETS:
Cant/1..6/:X,Y,W,VIGA,EJRPISO,PUNTAJE;
ENDSETS
DATA:
VIGA = 8.8 9.4 9.2 7.5 8.7 9.1 ;
EJRPISO = 7.9 8.3 8.5 8.7 8.1 8.6;
ALVEZ=3;
POREVNTO=4;
ENDDATA
max=@SUM(cant(i):PUNTAJE*X(i))+@SUM(cant(i):VIGA*Y(i))
+@SUM(cant(i):EJRPISO*W);
@FOR(cantidad(I):
PUNTAJE(i)=VIGA(i)+EJRPISO(i);
);
! RESTRICCIONES;
@SUM (cant(I):X(i))=ALVEZ;
@SUM (cant(I):Y(i))=POREVNTO;
@SUM (cant(I):W(i))=POREVNTO;
2
La solución nos dice que los gimnastas que entran solo en viga de equilibrio son el
1,2,3,6 ;los gimnastas que entran solo en ejercicio de piso son el 2,3,4,6 y los gimnastas
que entran a ambos eventos son el 2,3,6 ;uno se da cuenta ya que el valor de cada una de
estas variables es 1.
La calificación total máxima que obtienen los gimnastas de Transilvania es 123.70.
Problema 4 :
ESCUELA ESCUELA
DISTRITO 1 2
1 1 2
2 0,5 1,7
3 0,8 0,8
4 1,3 0,4
5 1,5 0,6
Tabla 2
3
Sol:
sea
Xij = distrito i, escuela de bachillerato j
Sujeto a:
110X11 + 75X21 + 100X31 + 90X41 + 90X51 >= 150 (restricción alumnos por
escuela)
PROBLEMA 6 :
MATERIA CURSOS
4
Cal. Inv. Estr. Estadi Sim. Intr. Pred. tota
Op. Dat. . Comp. Prog. Requ. l
(1) (2) (3) Adm. (5) (6) (7)
(4)
matemáticas 1 1 1 1 0 0 1 2
Inv. 0 1 0 1 1 0 1 2
operativa
computació 0 0 1 0 1 1 0 2
n
Pre- Nin. Nin. (6) (1) (6) Nin. (4)
requisito
sets:
cursos/1..7/:x;
materias/1..3/:tot;
matcur(materias,cursos):pcurso;
endsets
data:
tot= 2 2 2;
pcurso= 1 1 1 1 0 0 1
0 1 0 1 1 0 1
0 0 1 0 1 1 0;
enddata
min=@sum(cursos:x);
@for(materias(i):@sum(cursos(j):pcurso(i,j)*x(j))>=tot(i));
x(3)<=x(6);
x(4)<=x(1);
x(5)<=x(6);
x(7)<=x(4);
@for(cursos:@bin(x););
end
5
MIN X( 1) + X( 2) + X( 3) + X( 4) + X( 5) + X( 6) + X( 7)
SUBJECT TO
2] X( 1) + X( 2) + X( 3) + X( 4) + X( 7) >= 2
3] X( 2) + X( 4) + X( 5) + X( 7) >= 2
4] X( 3) + X( 5) + X( 6) >= 2
5] X( 3) - X( 6) <= 0
6]- X( 1) + X( 4) <= 0
7] X( 5) - X( 6) <= 0
8]- X( 4) + X( 7) <= 0
END
INTE 7
Interpretación
Los cursos que utilizaran para lograr la especialización son 4 y son los siguientes:
• Investigación operativa
• Estructura de datos
• Simulación por computadora
• Introducción a la programación
Por lo tanto significa que al llevar estos 4 cursos podré satisfacer los requerimientos
para la especialización con la menor cantidad de cursos llevados
PROBLEMA Nª12:
Una compañía planea abrir unas bodegas en cuatro ciudades; Nueva York, Los Ángeles,
Chicago y Atlanta. Desde cada bodega se pueden embarcar 100 unidades por semana.
El costo fijo por semana por mantener en operación cada bodega es de 400 dólares para
Nueva York, 500 dólares para Los Ángeles, 300 dólares para Chicago y 150 dólares
para Atlanta. La región 1 del país requiere 80 unidades por semana, la región 2 demanda
70 unidades por semana y la región 3 necesita 40 unidades por semana. Los costos (sin
olvidar los costos de producción y embarque) por enviar una unidad desde una planta
desde una región se señala en la tabla 11. Se desea cumplir con las demandas
6
semanales a un costo mínimo, sujeto a la información precedente y a las
restricciones siguientes:
1. Si se abre la bodega de Nueva York, entonces se debe abrir la bodega
de Los Ángeles.
Hasta (dólares)
Región
Desde 1 Región 2 Región 3
Nueva York 20 40 50
Los Ángeles 48 15 26
Chicago 26 35 18
Atlanta 24 50 35
Formulación de la PE:
Xi { = 1 Si se abre la bodega i (i=0,1,2,3,4)
= 0 En caso contrario.
Yj = Cantidad de unidades destinadas para la región j (j=1,2,3)
Yij = Cantidad de unidades trasladadas de la bodega i (i=1,2,3,4) hasta la
región j (j=1,2,3)
PE :
Minz = 400X1 + 500X2 + 300X3 + 150X4 +
20Y11 + 40Y12 + 50Y13 +
48Y21 + 15Y22 + 26Y23 +
26Y31 + 35Y32 + 18Y33 +
24Y41 + 50Y42 + 31Y43
S.a:
Y11 + Y21 + Y31 + Y41 = Y1
Y12 + Y22 + Y32 + Y42 = Y2
Y13 + Y23 + Y33 + Y43 = Y3
7
Y3=>40
X1 – X2 <= 0
X1 + X2 + X3 + X4 <= 2
X4 + X2 <= 1
X1,X2,X3=0 ó 1;
Y1,Y2,Y3,Y11,Y12,Y13,Y21,Y22,Y23,Y31,Y32,Y33,Y41,Y42,Y43 = # enteros
M = # muy grande
Problema 13
Glueco fabrica tres tipos de pegamento en dos líneas de producción distintas. Hasta 7
trabajadores usan a la vez cada línea. Cada trabajador recibe un pago de 500 dólares por
semana en la línea de producción 1, y 900 dólares por semana en la línea de producción
2. Una semana de producción en la línea de producción 1 cuesta 1000 dólares para
organizarla y 2000 en la línea de producción 2.
Durante una semana en una línea de producción cada trabajador elabora la cantidad de
unidades de pegamentos indicada en la siguiente tabla::
Pegamento
Línea de producción
1 2 3
1 20 30 40
2 50 35 45
Se tienen que elaborar a la semana, por lo menos, 120 unidades del pegamento 1, por lo
menos 150 unidades del pegamento 2 y por lo menos 200 unidades del pegamento 3.
Formule un PE para minimizar el costo total por cumplir con las demandas semanales.
Solución:
Sea:
8
xi = número de trabajadores empleados en la línea i (i =1,2).
s.a.
20x1 + 50x2 120
30x1 + 35x2 150
40x1 + 45x2 200
x1 7 y1
x2 7 y2
x1, x2 0; y1,y2 = 0 ó 1
La programación en LINDO sería:
9
Y La solución en LINDO sería:
CONCLUSIÓN:
Como se puede observar en el resultado se tendrá un costo de 4000 dólares para cumplir
las demandas semanales, con 6 trabajadores trabajando en la línea número 1 solamente.
1
PROBLEMA 15:
15
CIRUJANO OPERACIÓN
1 2 3 4 5 6
1 x x x
2 x x x
3 x x
4 x x
5 x
6 x x
SOLUCION:
CIRUJANO OPERACIÓN
1 2 3 4 5 6
1 1 1 0 1 0 0
2 0 0 1 0 1 1
3 0 0 1 0 1 0
4 1 0 0 0 0 1
5 0 1 0 0 0 0
6 0 0 0 1 1 0
1
El PE apropiado para este problema es:
FUNCION OBJETIVO:
MIN Z= X1 + X2 + X3 + X4 + X5 + X6;
S.A:
X1 + X4 > = 1
X1 + X5 > = 1 C ir u j a n o s q u e e s t a n d is p o n ib le s p a r a
X2 + X3 > = 1 r e a liz a r c a d a u n a d e la s 6 o p e r a c io n e s
X1 + X6 > = 1 s e g ú n la t a b la .
X2 + X3 + X6 > = 1
X2 + X4 + X5 > = 1
X1 + X2 <= 1 (el cirujano 1 y 2 no simpatizan entre si)
Xi >= 0 (i = 1, 2, 3, 4, 5, 6);
PROGRAMACIÓN EN LINGO:
LINGO
VARIABLES UTILIZADAS:
1
SETS:
CIRUJANO/1..6/:X;
OPERACION/1..6/;
COMBINACION(CIRUJANO,OPERACIÓN):DISPONIBILIDAD;
ENDSETS
DATA:
DISPONIBILIDAD=1,1,0,1,0,0,
0,0,1,0,1,1,
0,0,1,0,1,0,
1,0,0,0,0,1,
0,1,0,0,0,0,
0,0,0,1,1,0;
ENDDATA
! FUNCION OBJETIVO;
MIN=@SUM(CIRUJANO:X);
! RESTRICCIONES;
! CIRUJANOS DISPONIBLES;
@FOR(OPERACION(J):@SUM(CIRUJANO(I):DISPONIBILIDAD(I,J)*X(I))>=1);
! CIRUJANO 1 Y 2 NO SIMPATIZAN ENTRE SI;
X(1)+X(2)<=1;
! RESTRICCION DE VARIABLES BINARIAS;
@FOR(CIRUJANO:@BIN(X));
END
RESPUESTA:
Como se nota en la solución con LINGO, la cantidad mínima de cirujanos para que se
puedan realizar las 6 operaciones es 3. Los cirujanos que pueden realizar las
operaciones son 1, 3 y 4.
Eastinghouse embarca 12 000 capacitores por mes para sus clientes. Se podrían producir
los capacitares en plantas distintas. La capacidad de producción, costos fijos mensuales
y costos variables por la producción de un capacitor en cada planta se proporcionan en
la tabla 96. el costo fijo en una planta se contrae sólo si la planta se usa para hacer
capacitares. Desarrolle un modelo de programación con enteros cuya solución le indique
a eastinghouse cómo minimizar sus costos mensuales por cumplir con la demanda de
sus clientes.
1
Tabla 96
Planta Costos fijos Costos Capacidad
(en miles de variables de
dólares) (dólares) producción
1 80 20 6000
2 40 25 7000
3 30 30 6000
SOLUCIÓN
1
Y( 2) 1.000000 40000.00
Y( 3) 0.0000000 30000.00
CAP( 1) 6000.000 0.0000000
CAP( 2) 7000.000 0.0000000
CAP( 3) 6000.000 0.0000000
CF( 1) 80000.00 0.0000000
CF( 2) 40000.00 0.0000000
CF( 3) 30000.00 0.0000000
CV( 1) 20.00000 0.0000000
CV( 2) 25.00000 0.0000000
CV( 3) 30.00000 0.0000000
DEM( TOTAL) 12000.00 0.0000000
Eastinghouse embarca 12 000 capacitores por mes para sus clientes. Se podrían producir
los capacitores en tres plantas distintas. La capacidad de producción, costos fijos
mensuales de operación y costos variables por la producción de un capacitor en cada
planta se proporciona en la tabla. El costo fijo en una planta se contrae solo si la planta
se usa para hacer capacitores. Desarrolle un modelo de programación con enteros cuya
solución le indique a Eastinghouse como minimizar sus costos mensuales por cumplir
con la demanda de sus clientes.
1
1 80 20 6 000
2 40 25 7 000
3 30 30 6 000
Solución:
FUNCIÓN OBJETIVO:
MIN Z= 20 X1 + 25 X2 + 30 X3 + 80 Y1 + 40 Y2 + 30 Y3;
S.A.:
X1 + X2 + X3 = 12 000; (Se embarca 12 000 capacitores al mes)
X1 <= M Y1
X2 <= M Y2
X3 <= M Y3
Xi >= 0 (i = 1, 2,3); Yi =0 ó 1
Programación en Lingo:
VARIABLES UTILIZADAS:
1
SETS:
PLANTA/1..3/: COSTO, COSTOADIC, X, Y, CAP;
ENDSETS
DATA:
COSTO = 20 25 30;
COSTOADIC = 80 40 30;
CAP= 6000 7000 6000;
M=1000000;
REQUERIMIENTO=12000;
ENDDATA
! FUNCION OBJETIVO:
MIN=@SUM(PLANTA(I):COSTO(I)*X(I))+ @SUM(PLANTA(I):COSTOADIC(I)*Y(I));
! RESTRICCIONES:
! RESTRICCION DE REQUERIMIENTO;
@SUM(PLANTA(I):X(I))=REQUERIMIENTO;
END
Respuesta:
Como se nota en la solución con LINGO, para poder cumplir la demanda de los clientes
y a su vez minimizar los costos se deben producir en las plantas 1 y 2 con una cantidad
de 6 000 capacitores en cada planta, de esta forma el costo de producir capacitores en
estas plantas será de 270 120 dólares.
Problema 17
1
TABLA
1 1000 20 900
2 920 24 1000
3 800 16 1200
4 700 28 1600
Solución:
Sujeto a:
X i, Yi =0 ó 1 ( i =1, 2, 3, 4. )
En Lindo
1
MIN 20 X1 + 24 X2 + 16 X3 + 28 X4 + 1000 Y1 + 920 Y2 + 800 Y3
+ 700 Y4
SUBJECT TO
X1 + X2 + X3 + X4 = 2000
X1 - 2000 Y1 <= 0
X2 - 2000 Y2 <= 0
X3 - 2000 Y3 <= 0
X4 - 2000 Y4 <= 0
X1 <= 900
X2 <= 1000
X3 <= 1200
X4 <= 1600
END
GIN X1
GIN X2
GIN X3
GIN X4
INTE Y1
INTE Y2
INTE Y3
INTE Y4
1) 37000.00
1
9) 0.000000 0.000000
10) 1600.000000 0.000000
NO. ITERATIONS = 26
En conclusión:
El productor para minimizar sus costos totales deberá producir 800
productos en la maquina 1 y 1200 productos en la maquina 3, de esta manera incurrirá
en menos costos fijos y variables. Con esto la empresa incurrirá en un costo total
de 37 000 dólares.
PROBLEMA 18
MODEL:
SETS:
¡DEFINICION DE ATRIBUTOS:;
¡P:RESTRICCION DE QUE UN REACTOR SOLO PUEDE TRABAJAR A UN REGIMEN EN
UN AÑO;
¡COSTO:EN MILES DE DOLARES;
¡LIBRAS:CANTIDAD DE LIBRAS PRODUCIDAS EN EL REACTOR;
ENDSETS
DATA:
COSTO = 50 80 100
65 90 120
70 90 110
40 60 70;
ENDDATA
@FOR(REACTOR(J):@SUM(REGIMEN(I):X(I,J))<=P(I));
2
@FOR(REGIMEN(I):@BIN(P(I));
@FOR(FUNC(I,J):@SUM(FUNC:COSTO*X(I,J))=359);
MAX=@SUM(FUNC:LIBRAS(I,J)*X(I,J));
END
El reactor 2 y el reactor 4 serán los que trabajen con el régimen 3 durante todo el año
Problema 20
Gasahol, Inc. Tiene 14 000 galones de una mezcla de gasolina y alcohol almacenada en
su
instalación de Fresno y 16 000 galones almacenados en su instalación de Bakersfield.
Desde estas instalaciones, Gasahol debe proveer a Fresh Food Farms (FFF) 10 000
galones y a American Growers (AG) 20 000 galones. El costo de embarcar un galón
desde cada instalación de almacenado a cada cliente es:
Planteo Gráfico:
Variables de Decisión:
2
Restricciones de no negatividad:
Restricciones de Disponibilidad:
Mediante Lindo:
SUBJECT TO
FRFFF + BKFFF >= 10000
FRAG + BKAG >= 20000
FRFFF + FRAG <= 14000
BKFFF + BKAG <= 16000
END
1) 1120.000
NO. ITERATIONS= 1
2
PROBLEMA 21
Gotham City fue divida en 8 distritos. El tiempo en minutos que tarda una
ambulancia en llegar de un distrito a otro se muestra en la tabla. La
población de cada distrito en miles es como se indica:
Distrito 1 2 3 4 5 6 7 8
Población 40 30 35 20 15 50 45 60
DISTRITO DISTRITO
1 2 3 4 5 6 7 8
1 0 3 4 6 8 9 8 10
2 3 0 5 4 8 6 12 9
3 4 5 0 2 2 3 5 7
4 6 4 2 0 3 2 5 4
5 8 8 2 3 0 2 2 4
6 9 6 3 2 2 0 3 2
7 8 12 5 5 2 3 0 2
8 10 9 7 4 4 2 2 0
SOLUCION:
Yi = 1 si el distrito i es atendido
0 en caso contrario
Donde i = 1,2,3,4,5,6,7,8
Si se quiere atender a las personas que viven a dos minutos o menos de una de las
ambulancias entonces en la siguiente tabla el valor 1 significa si la ambulancia del
2
distrito i atiende en 2 o menos minutos al distrito j , y 0 en caso contrario. La
ambulancia de un distrito atiende a su propio distrito en 0 min.
DISTRI DISTRITO
TO 1 2 3 4 5 6 7 8
1 1 0 0 0 0 0 0 0
2 0 1 0 0 0 0 0 0
3 0 0 1 1 1 0 0 0
4 0 0 1 1 0 1 0 0
5 0 0 1 0 1 1 1 0
6 0 0 0 1 1 1 0 1
7 0 0 0 0 1 0 1 1
8 0 0 0 0 0 1 1 1
MAX Z= 40 Y( 1) + 30 Y( 2) + 35 Y( 3) + 20 Y( 4) + 15 Y( 5) + 50 Y( 6)+ 45 Y( 7) + 60 Y( 8)
RESTRICCIONES:
X( 1) + X( 2) + X( 3) + X( 4) + X( 5) + X( 6) + X( 7) + X( 8) = 2
2
FORMULACION EN LINGO:
sets:
distrito/1..8/:pob,x,y;
distime(distrito,distrito):tviaje;
endsets
data:
tviaje=1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 1 1 0 0 0
0 0 1 1 0 1 0 0
0 0 1 0 1 1 1 0
0 0 0 1 1 1 0 1
0 0 0 0 1 0 1 1
0 0 0 0 0 1 1 1;
pob=40,30,35,20,15,50,45,60;
enddata
max=@sum(distrito(i):pob(i)*y(i));
!RESTRICCION 1;
@sum(distrito:x)=2;
!RESTRICCION 2;
@for(distrito(j):@sum(distrito(i):tviaje(i,j)*x(i))>=@sum(distrito(j):
y(j)));
! X e Y SON VARIABLES BINARIAS;
@for(distrito:@bin(x););
@for(distrito:@bin(y););
end
2
SOLUCION EN LINGO:
El máximo número de personas atendidas es 225. Para que esto ocurra los distritos con
ambulancia deben ser el 3 y 8. Se va a dejar de atender a los distritos 1 y 2.
SETS:
TRABAJO/1..3/:;
MAQUINA/1..4/:;
ROBLEMA 22
MATRIZ(TRABAJO,MAQUINA):T,X,Y;
Una compañía debe terminar tres trabajos. El tiempo de proceso ( en minutos) requerido
ENDSETS
se muestra en la tabla. Un trabajo no se pueda procesar en la maquina j a menos que
DATA:
para 0toda
T=20 25 30i<j el trabajo ha completado su proceso en la maquina i. Una vez que un
15 20 0empieza
trabajo 18 su proceso en la maquina j, dicho trabajo debe continuar en la maquina
0 35 28 0;
j . El
!M, tiempo
mayor de posible
valor flujo para unquer
para trabajo es la diferencia
no afecte entre su tiempo
a las restricciones de terminación y el
M=1000;
ENDDATA
tiempo en el cual el trabajo empieza su primera etapa de proceso. Planteé un PE cuya
solución se pueda usar para minimizar el tiempo de flujo promedio de los tres trabajos.
MIN=@SUM(MATRIZ(I,J):X(I,J));
!tiempo para trabajar c/u de los 3 trabajos >= tiempo establecido para optimizar la
produccion por ejemplo:
X(1,1)<=MY(1,1)
20-X(1,1)<=M*(1-Y(1,1);
@FOR(TRABAJO(I):@FOR(MAQUINA(J):X(I,J)<=M*Y(I,J)));
Maquina
@FOR(TRABAJO(I):@FOR(MAQUINA(J):T(I,J)-X(I,J)<=M*(1-Y(I,J))));
Trabajo 1 2 3 4
1
!cada maquina 20 solo un trabajo completo
debe realizar - 25 30
2 15 20
@FOR(MAQUINA(J):@SUMA(TRABAJO(I):Y(I,J)=1); - 18
3 - 35 28 -
!el producto1 solo
SOLUCION EN requiere
LINGO:3 procesos;
Y(1,1)+Y(2,1)+Y(1,3)+Y(1,4)=3;
!Y es la variable binaria;
@FOR(MATRIZ(I,J):@BIN(Y(I,J)));
2
Problema 26:
El gobernador Blue del estado de Berry pretende conseguir la legislatura del estado
para dividir injusta y arbitrariamente los distritos electorales de de Berry. El estado
consiste en 10 ciudades y el número de republicanos y demócratas (en miles) en cada
ciudad es el que se presenta en la tabla. Berry tiene cinco representantes electorales.
Para formar los distritos electorales; las ciudades se tienen que agrupar según las
restricciones siguientes.
1.- Todos los electores en un a ciudad deben estar en el mismo distrito.
2.- cada distrito debe tener entre 150000 y 250000 electores (no hay electores
independientes).
El gobernador Blue es demócrata. Suponga que cada votante siempre vota por todos los
candidatos de un partido. Formule un PE que para ayudar al gobernador Blue a
maximizar el número de demócratas que ganaran curules en el congreso.
Tabla
Ciudad Republicanos Demócratas
1 80 34
2 60 44
3 40 44
4 20 24
5 40 114
6 40 64
7 70 14
8 50 11
9 70 54
10 70 64
Solución:
Xi = 1: si ganan los demócratas en el distrito i
0: caso contrario
Yij =cantidad de votantes del tipo j (1=Demócratas, 2= Republicanos)
Wij = 1 si los pobladores de la ciudad j pertenecen al distrito i
0 caso contrario
Max Z = X1 + X2+ X3+ X4 + X5
Y11 + Y12 ≥ 150000
Y21 + Y22 ≥ 150000
Y31 + Y32 ≥ 150000
Y41 + Y42 ≥ 150000
Y51 + Y52 ≥ 150000
Y11 + Y12 ≥ 250000
Y21 + Y22 ≥ 250000
Y31 + Y32 ≥ 250000
Y41 + Y42 ≥ 250000
2
Y51 + Y52 ≥ 250000
Y12 = 80 W11 + 60 W12 + 40 W13 + 20 W14 + 40 W15+40 W16+70 W17 +50 W18 +70
W19+70 W1 10
Y22 = 80 W21 + 60 W22 + 40 W23 + 20 W24 + 40 W25+40 W26+70 W27 +50 W28 +70
W29+70 W2 10
Y32 = 80 W31 + 60 W32 + 40 W33 + 20 W34 + 40 W35+40 W36+70 W37 +50 W38 +70
W39+70 W3 10
Y42 = 80 W41 + 60 W42 + 40 W43 + 20 W44 + 40 W45+40 W46+70 W47 +50 W48 +70
W49+70 W4 10
Y52 = 80 W51 + 60 W52 + 40 W53 + 20 W54 + 40 W55+40 W56+70 W57 +50 W58 +70
W59+70 W5 10
Y11 = 34 W11 + 44 W12 + 44 W13 + 24 W14 + 114 W15+64 W16+14 W17 +44 W18 +54
W19+64 W1 10
Y21 = 34 W21 + 44 W22 + 44 W23 + 24 W24 + 114 W25+64 W26+14 W27 +44 W28 +54
W29+64 W2 10
Y31 = 34 W31 + 44 W32 + 44 W33 + 24 W34 + 114 W35+64 W36+14 W37 +44 W38 +54
W39+64 W3 10
Y41= 34 W41 + 44 W42 + 44 W43 + 24 W44 + 114 W45+64 W46+14 W47 +44 W48 +54
W49+64 W4 10
Y51 = 34 W51 + 44 W52 + 44 W53 + 24 W54 + 114 W55+64 W56+14 W57 +44 W58 +54
W59+64 W5 10
W11 + W21+ W31 + W41 + W51 = 1
W12+ W22+ W32 + W42 + W52 = 1
W13+ W23+ W33+ W43 + W53= 1
W14+ W24+ W34 + W44 + W54 = 1
W15+ W25+ W35+ W45+ W55 = 1
W16+ W26+ W36 + W46 + W56 = 1
W17+ W27+ W37 + W47 + W57 = 1
W18+ W28+ W38 + W48 + W58 = 1
W19+ W29+ W39 + W49 + W59 = 1
W1 10 + W2 10 + W3 10 + W4 10 + W5 10 = 1
Y11 - Y12 = a11 – a12
Y21 - Y22 = a21 – a22
Y31 - Y32 = a31 – a32
Y41 - Y42 = a41 – a42
Y51 - Y52 = a51 – a52
a11 ≥ X1
a21 ≥ X2
a31 ≥ X3
a41 ≥ X4
a51 ≥ X5
2
PROBLEMA 26
Formule un PE que maximice la renta total que gana Houseco al final del año 4.
Tabla 106
Numero de trabajadores
Edificio Duración del proyecto (años)
necesarios
1 2 30
2 2 20
3 3 20
SOLUCION
RESTRICCIONES:
2
X31 + X33<=1 (restricción del edificio 3)
FORMULACIÓN EN LINGO:
SETS:
EDIFICIO /1..3/:NUMTRAB,INGRESO;
YEAR/1..3/;
EDIFYEAR(EDIFICIO,YEAR):X;
ENDSETS
DATA:
NUMTRAB= 30 20 20;
INGRESO= 50 30 40;
ENDDATA
MAX= 100*X(1,1)+50*X(1,2)+40*X(3,1);
@FOR(YEAR(J):@SUM(EDIFICIO(I):X(I,J))<=1);
@FOR(EDIFICIO(I):@SUM(YEAR(J):X(I,J))<=1);
X(2,3)=1;
@SUM(EDIFICIO(I):NUMTRAB*X(I,1))<=60;
@SUM(EDIFICIO(I):NUMTRAB*X(I,1)+NUMTRAB*X(I,2))<=60;
@SUM(EDIFICIO(I):NUMTRAB*X(I,1)+NUMTRAB*X(I,2)+NUMTRAB*X(I,3))<=60;
@FOR(EDIFYEAR:@BIN(X));
SOLUCION EN LINGO:
El máximo ingreso por la renta total de Houseco es 100 mil dólares. El edificio 1 se
construye en el año 1, el edificio 2 en el año 3 para que este listo a finales del año 4 y el
edificio 3 se empezara a construir recién en el año 4 debido a la restricción de la mano
de obra.
3
2 0.000000 0.000000
3 1.000000 0.000000
4 0.000000 0.000000
5 0.000000 0.000000
6 0.000000 0.000000
7 1.000000 0.000000
8 0.000000 0.000000
9 30.00000 0.000000
10 30.00000 0.000000
11 10.00000 0.000000
Problema 27:
Hay cuatro camiones disponibles para entregar leche a cinco tiendas. La capacidad y los
costos de operación diarios de cada camión se muestran en la tabla 107, la demanda de
cada tienda puede ser surtida por sólo un camión, pero un camión podría entregar a más
de una tienda. La demanda diaria de cada tienda es como se indica: tienda 1, 100
galones; tienda 2, 200 galones; tienda3, 300 galones; tienda 4, 500 galones; tienda 5,
800 galones. Formule un PE con el que se pueda minimizar el costo diario de cumplir
con la demanda.
1 400 45
2 500 50
3 600 55
4 1100 60
Solución
3
El PE sería:
min z= 45y1+50y2+55y3+60y4
s.a
100x11+200x12+300x13+500x14+800x15<=400y1 (restricción de la capacidad)
100x21+200x22+300x23+500x24+800x25<=500y2
100x31+200x32+300x33+500x34+800x35<=600y3
100x41+200x42+300x43+500x44+800x45<=1100y4
x11 + x21 + x31 + x41=1 (la demanda de cada tienda no puede ser surtida
por más de un camión)
x12 + x22 + x32 + x42=1
SETS:
CAMION/1..4/:CAP,COST,Y;
TIENDA/1..5/:DEM;
REPARTO(CAMION, TIENDA):X;
ENDSETS
DATA:
CAP=400 500 600 1100;
COST = 45 50 55 60;
DEM= 100 200 300 500 800;
ENDDATA
MIN=@SUM(CAMION(I):COST(I)*Y(I));
@FOR(CAMION(I):
@SUM(TIENDA(J):X(I,J)*DEM(J))<=CAP(I)*Y(I);
);
@FOR(TIENDA(I):
@SUM(REPARTO(J,I):X(J,I))=1;
);
3
@FOR(CAMION(I):
@BIN(Y);
);
@FOR(REPARTO(I,J):
@BIN(X(I,J));
);
El mínimo costo en que se incurriría para cumplir con la demanda y ajustándose a las
restricciones es de 155 dólares.
Problema 28
El estado de Texas efectúa con frecuencia auditorias a compañías que tienen negocios
en Texas. Las oficinas centrales de estas compañías están ubicadas a menudo fuera del
estado de modo que los auditores tienen que viajar a lugares fuera del estado. Los
auditores tienen que hacer al año 500 viajes a ciudades en el noroeste, 400 viajes a
ciudades en el oeste medio, 300 viajes a ciudades en el oeste y 400 viajes a ciudades en
el sur. Texas está proyectando ubicar a sus auditores en Chicago, Nueva York, Atlanta y
Los Ángeles. El costo anual por ubicar auditores en cualquier ciudad es 100 000. El
costo por enviar un auditor desde cualquiera de estas ciudades a una región dada del
país, se muestra en la tabla 108.
Plantee un PE cuya solución minimice el costo anual que se genera por enviar a
los auditores fuera del estado.
Solución:
3
3
PROBLEMA Nº 28 :
3
El estado de Texas efectúa con frecuencia auditorias a compañías que tienen negocios
en Texas. Las oficinas centrales de estas compañías están ubicadas a menudo fuera del
estado, de modo que los auditores tienen que viajar a lugares fuera del estado. Los
auditores tienen que hacer al año 500 viajes a ciudades en el noreste, 400 viajes a
ciudades en el oeste medio, 300 viajes a ciudades en el oeste y 400 viajes a ciudades en
el sur. Texas esta proyectando ubicar a sus auditores en Chicago, Nueva York, Atlanta y
Los Ángeles.
El costo anual por ubicar auditores en cualquier ciudad es 100 000. El costo por enviar
un auditor desde cualquiera de estas ciudades a una región dada del país, se muestra en
la siguiente tabla.
Solución:
Xij = Cantidad de viajes de los auditores de la ciudad i ( i = 1: NY,2:A, 3:C, 4:LA) hacia
una región j ( j = 1: NO, 2:OM , 3: O, 4: S)
0, si no es así.
1 100 * X11+ 1 400 * X12 +1 900 * X13 + 1 400 * X14 + 1 200 * X12 + 1000 *X22 + 1 500
* X23 + 1 200 * X24 + 1 900 * X31+ 1 700 * X32 + 1 100 * X33 + 1 400 * X34 + 1 300 * X41
+ 1 400 * X42 + 1 500 * X43 + 1 050 * X44
3
100 000Y1 + 100 000 Y2 + 100 000Y3 +100 000 Y4
Restricciones :
Noreste:
X11+ X21 + X31 + X41 >= 500
Oeste Medio:
X12+ X22 + X32 + X42 >= 400
Oeste:
X13+ X23+ X33 + X43 >= 300
Sur:
X13+ X23+ X33 + X44 >= 400
3
El programa del Lingo es:
!COSTOS EN DOLARES;
!M=VALOR MUY GRANDE;
!Y =1 O 0 (1 = SI SE ASIGNA AUDITOR EN LA CIUDAD Y 0 = SI NO LO ES A
SI);
!CANT_V= CANTIDAD DE VIAJES HACIA LAS REGIONES;
!COST_V= COSTO POR VIAJE A LA CIUDAD I HACIA LA REGION J;
!COST_A= COSTO POR ASIGNAR UN AUDITOR A UNA LA CIUDAD;
SETS:
CIUDAD /1..4/: Y;
REGION /1..4/: CANT_V;
VIAJES (CIUDAD,REGION) : COST_V,X;
ENDSETS
DATA:
COST_V = 1100 1400 1900 1400
1200 1000 1500 1200
1900 1700 1100 1400
1300 1400 1500 1050 ;
! RESTRICION DE VIAJES;
@FOR(REGION(J):@SUM(CIUDAD(I):X(I,J))>=CANT_V(J));
@FOR(CIUDAD(I):@SUM(REGION(J):X(I,J))<=M*Y(I));
MODEL:
[_1] MIN= 1100 * X_1_1 + 1400 * X_1_2 + 1900 * X_1_3 + 1400 * X_1_4
+
3
1200 * X_2_1 + 1000 * X_2_2 + 1500 * X_2_3 + 1200 * X_2_4 + 1900 *
X_3_1
+ 1700 * X_3_2 + 1100 * X_3_3 + 1400 * X_3_4 + 1300 * X_4_1 + 1400
*
X_4_2 + 1500 * X_4_3 + 1050 * X_4_4 + 100000 * Y_1 + 100000 * Y_2 +
100000 * Y_3 + 100000 * Y_4 ;
[_2] X_1_1 + X_2_1 + X_3_1 + X_4_1 <= 500 ;
[_3] X_1_2 + X_2_2 + X_3_2 + X_4_2 <= 400 ;
[_4] X_1_3 + X_2_3 + X_3_3 + X_4_3 <= 300 ;
[_5] X_1_4 + X_2_4 + X_3_4 + X_4_4 <= 400 ;
[_6] X_1_1 + X_1_2 + X_1_3 + X_1_4 - 10000000000 * Y_1 <= 0 ;
[_7] X_2_1 + X_2_2 + X_2_3 + X_2_4 - 10000000000 * Y_2 <= 0 ;
[_8] X_3_1 + X_3_2 + X_3_3 + X_3_4 - 10000000000 * Y_3 <= 0 ;
[_9] X_4_1 + X_4_2 + X_4_3 + X_4_4 - 10000000000 * Y_4 <= 0 ;
@BIN( Y_1); @BIN( Y_2); @BIN( Y_3); @BIN( Y_4);
END
CONCLUSIONES:
El menor costo que se puede asignar para tener el costo en auditorias a compañías que
tienen negocios en el estado de Texas será por los cálculos obtenidos de 2010000
dólares al año.
Problema 29:
3
Usted fue asignado para acomodar las canciones del ultimo álbum de Madona en la
versión audio cinta. Una cinta tiene dos lados ( 1 y 2 ). Las canciones de cada lado de la
cinta deben hacer en total entre 14 y 16 minutos de duración. La duración y tipo de
cada canción se proporcionan en la tabla 28.
Las asignaciones de canciones en la cinta debe cumplir con las condiciones siguientes:
Canción Duración
Tipo ( min. )
1 Balada 4
2 Hit 5
3 Balada 3
4 Hit 2
5 Balada 4
6 Hit 3
7 5
8 Balada y Hit 4
Solución:
4
1; Si en el lado i esta la canción numero j.
Xij =
0; Si no es así
Función objetivo:
max Z = X11 + X12 + X13 + X14 + X15 + X16 + X17 + X18 + X21 + X22 + X23 +
X24 + X25 + X26 + X27 + X28
Sujeto a:
END
INTE X11
INTE X12
INTE X13
INTE X14
INTE X15
INTE X16
INTE X17
INTE X18
INTE X21
INTE X22
INTE X23
INTE X24
INTE X25
INTE X26
INTE X27
INTE X28
Problema 29:
4
Una compañia de consultoria tiene 10 empleados ,cada uno de los cuales puede trabajar
cuando mucho en 2 proyectos de grupos.Hay 6 proyectos en planes .Cada proyecto
requiere 4 de nuestros 10 trabajadores. Los trabajadores necesarios y las ganancias
generadas en cada proyecto se muestra en la tabla 109.
A cada trabajador que interviene en cualquier proyecto se debe pagar el anticipo de la
tabla 110 .
Por ultimo ,cada trabajador que interviene en un proyecto se le paga la tarifa del
proyecto que se muestra en la tabla 111.
¿Como se puede maximizar su ganancia?
Tabla 109
Proyecto Trabajadore Rendimiento($)
s necesarios
1 1,4,5,8 10000
2 2,3,7,10 15000
3 1,6,8,9 6000
4 2,3,5,10 8000
5 1,6,7,9 12000
6 2,4,8,10 9000
Tabla 110
Trabajadores
1 2 3 4 5 6 7 8 9 10
Anticip 800 500 600 700 800 600 400 500 400 500
o
Tabla 111
Proyecto
1 2 3 4 5 6
Tarifa($) 250 300 250 300 175 180
Resolución:
1, si se realiza el proyecto i
Yi =
0, si no es asi.
4
800*(X51+X54) – 600*(X63+X65) – 400(X72+X75) – 500(X81+X83+X86) – 400*(X93+X95) –
500*(X102+X104+X10 6) – 250*( X11 + X41 + X51 + X81 ) – 300*( X22 + X32 + X72 + X10.2) –
250*( X13 + X62 + X83 + X93) – 300*( X24 + X34 + X54 + X10 4) – 175*( X15 + X65 + X75 +
X95) – 180*( X26 + X46 + X86+ X10 6)
Sujeto a:
X11+X12+X13+ X14+X15+X16 ≤ 2
X21+X22+X23+ X24+X25+X26 ≤ 2
X31+X32+X33+ X34+X35+X36 ≤ 2
X41+X42+X43+ X44+X45+X46 ≤ 2
X51+X52+X53+ X54+X55+X56 ≤ 2
X61+X62+X63+ X64+X65+X66 ≤ 2
X71+X72+X73+ X74+X75+X76 ≤ 2
X81+X82+X83+ X84+X85+X86 ≤ 2
X91+X92+X93+ X94+X95+X96 ≤ 2
X10 1+X10 2+X10 3+ X10 4+X10 5+X10 6 ≤ 2
SETS:
TRABAJADOR/1..10/:ANTICIPO;
PROYECTO/1..6/:TARIFA,RENDIMIENTO,Y;
MATRIZ(TRABAJADOR,PROYECTO):X;
ENDSETS
DATA:
ANTICIPO = 800 500 600 700 800 600 400 500 400 500;
TARIFA = 250 300 250 300 175 180;
RENDIMIENTO = 10000 15000 6000 8000 12000 9000;
MAXIMOP = 2;
ENDDATA
MAX=@SUM(PROYECTO:RENDIMIENTO*Y)- 800*(X(1,1)+X(1,3)+X(1,5) ) -
500*(X(1,2)+X(2,4)+X(2,6)) - 600*(X(3,2)+X(3,4)) - 700*(X(4,1)+X(4,6)) -
800*(X(5,1)+X(5,4)) - 600*(X(6,3)+X(6,5)) - 400*(X(7,2)+X(7,5)) -
500*(X(8,1)+X(8,3)+X(8,6)) - 400*(X(9,3)+X(9,5)) -
500*(X(10,2)+X(10,4)+X(10,6)) - 250*(X(1,1)+X(4,1)+X(5,1)+X(8,1)) -
300*(X(2,2)+X(3,2)+X(7,2)+X(10,2)) - 250*(X(1,3)+X(6,3)+X(8,3)+X(9,3)) -
300*( X(2,4)+X(3,4)+X(5,4)+X(10,4)) - 175*(X(1,5)+X(6,5)+X(7,5)+X(9,5)) -
180*(X(2,6)+X(4,6)+X(8,6)+X(10,6));
Problema 29.
TABLA 1
PROYECTO TRABAJADORES RENDIMIENTO
NECESARIOS (DOLARES )
1 1,4,5,8 10000
2 2,3,7,10 15000
3 1,6,8,9 6000
4 2,3,5,10 8000
5 1,6,7,9 12000
6 2,4,8,10 9000
TABLA 2
TRABAJADOR
1 2 3 4 5 6 7 8 9 10
Anticipo(Dólares) 800 500 600 700 800 600 400 500 400 500
TABLA 3
PROYECTO
1 2 3 4 5 6
TARIFA(DOLARES) 250 300 250 300 175 180
Solución
4
MODEL:
SETS:
TRABAJADOR/1..10/:ANTICIPO, Y ;
PROYECTO/1..6/:R, T, Z;
MATRIZ(PROYECTO , TRABAJADOR):C, X ;
ENDSETS
DATA:
ANTICIPO = 800 500 600 700 800 600 400 500 400 500;
RENDIMIENTO = 10000 15000 6000 8000 12000 9000;
TARIFA = 250 300 250 300 175 180;
C = 1 0 0 1 1 0 0 1 0 0
0 1 1 0 0 0 1 0 0 1
1 0 0 0 0 1 0 1 1 0
0 1 1 0 1 0 0 0 0 1
1 0 0 0 0 1 1 0 1 0
0 1 0 1 0 0 0 1 0 1;
ENDDATA
MAX = @SUM(PROYECTO(I):R(I)*Z(I))+@SUM(TRABAJADOR(I):ANTICIPO(I)*Y(I))
+@SUM(PROYECTO(I):T(I)*X(I,J));
! RESTRICCIONES;
@FOR(TRABAJADOR(J):@SUM(PROYECTO(I):X(I,J)*C(I,J))<=2 );
@FOR(TRABAJDOR(J):@SUM(PROYECTO(I): X(I,J))<=2);
@FOR(PROYECTO(I):@SUM(TRABAJADOR(I): X(I,J))>=M*Y(I));
@FOR(PROYECTO(I):@SUM(TRABAJADOR(J): X(I,J))>=M*Z(J));
@FOR(PROYECTO(I):@SUM(TRABAJADOR(J): X(I,J)*C(I,J))<=4);
@FOR(PROYECTO(I):@SUM(TRABAJADOR(J): X(I,J))<=4);
END
PROBLEMA 30:
4
La ciudad de Nueva Cork tiene 10 distritos de recolección de basura y pretende
determinar cuál de los distritos debería un tiradero. Cuesta 1000 dólares acarrear una
tonelada de basura un tramo de una milla. La ubicación de cada distrito, el costo fijo
anual (en millones de dólares) por operar un tiradero, y el costo variable (por tonelada)
por procesar una tonelada de basura en un tiradero, se muestra en la tabla 112.
Por ejemplo, el distrito 3 se localiza en las coordenadas (10,8). El distrito 3 produce 555
toneladas de basura al año, y cuesta un millón de dólares al año en costos fijos operar un
tiradero en el distrito 3. Cada tonelada de basura procesada en el sitio 3 incurre en un
costo variable de 51 dólares.
Cada tiradero puede procesar cuando mucho 1500 toneladas de basura. Cada distrito
debe enviar toda su basura a un solo sitio. Determine dónde localizar los tiraderos de tal
manera que se minimice el costo total por año.
TABLA 112:
SOLUCIÓN:
FO:
4
Min Z = (2 + 49*310)*X1 + (1+40*874)*X2 + (1+51*555)*X3 +
(1+341*351)*X4 + (3+131*381)*X5 + (2+182*428)*X6 +
(1+20*985)*X7 + (2+40*105)*X8 + (4+177*258)*X9 +
(2+75*210)*X10 +
(D11*Y11 + D12*Y21 + D13*Y31 + D14*Y41 + D15*Y51 +
D16*Y61 +D17*Y71 +D18*Y81 + D19*Y91 +
D110*Y101)*1000*X1
+ (D21*Y12 + D22*Y22 + D23*Y32 + D24*Y42 + D25*Y52 +
D26*Y62 +D27*Y72 +D28*Y82 + D29*Y92 +
D210*Y102)*1000*X2
+ (D31*Y13 + D32*Y23 + D33*Y33 + D34*Y43 + D35*Y53 +
D36*Y63 +D37*Y73 +D38*Y83 + D39*Y93 +
D310*Y103)*1000*X3
+ (D41*Y14 + D42*Y24 + D43*Y34 + D44*Y44 + D45*Y54 +
D46*Y64 +D47*Y74 +D48*Y84 + D9*Y94 +
D410*Y104)*1000*X4
+(D51*Y15 + D52*Y25 + D53*Y35 + D54*Y45 + D55*Y55 +
D56*Y65 +D57*Y75 +D58*Y85 + D59*Y95 +
D510*Y105)*1000*X5
+(D61*Y16 + D62*Y26 + D63*Y36 + D64*Y46 + D65*Y56 +
D66*Y66 +D67*Y76 +D68*Y86 + D69*Y96 +
D610*Y106)*1000*X6
+(D71*Y17 + D72*Y27 + D73*Y37 + D74*Y47 + D75*Y57 +
D86*Y67 +D77*Y77 +D78*Y87 + D79*Y97 +
D710*Y107)*1000*X7
+ (D81*Y18 + D82*Y28 + D83*Y38 + D84*Y48 + D85*Y58 +
D86*Y68 +D87*Y78 +D88*Y88 + D89*Y98 +
D810*Y108)*1000*X8
+(D91*Y19 + D92*Y29 + D93*Y39 + D94*Y49 + D95*Y59 +
D96*Y69 +D97*Y79 +D98*Y89 + D99*Y99 +
D910*Y109)*1000*X9
+(D101*Y110 + D102*Y210 + D103*Y310 + D104*Y410 +
D105*Y510 + D106*Y610 +D107*Y710 +D108*Y810 +
D109*Y910 + D1010*Y1010)*1000*X10
Sa:
X1*(Y11*49+Y12*874+Y13*555+Y14*352+Y15*381+Y16*428
+Y17*985+Y18*105+Y19*258+Y110*210) <=1500;
X2*(Y21*49+Y22*874+Y23*555+Y24*352+Y25*381+Y26*428
+Y27*985+Y28*105+Y29*258+Y210*210) <=1500;
RESTRICCION DE LA
CAPACIDAD DE LOS X3*(Y31*49+Y32*874+Y33*555+Y34*352+Y35*381+Y36*428
TIRADEROS +Y37*985+Y38*105+Y39*258+Y310*210) <=1500;
X4*(Y41*49+Y42*874+Y43*555+Y44*352+Y45*381+Y46*428
+Y47*985+Y48*105+Y49*258+Y410*210) <=1500;
4
X5*(Y51*49+Y52*874+Y53*555+Y54*352+Y55*381+Y56*428
+Y57*985+Y58*105+Y59*258+Y510*210) <=1500;
X6*(Y61*49+Y62*874+Y63*555+Y64*352+Y65*381+Y66*428+Y
67*985+Y68*105+Y69*258+Y610*210) <=1500;
X7*(Y71*49+Y72*874+Y73*555+Y74*352+Y75*381+Y76*428+Y
77*985+Y78*105+Y79*258+Y710*210) <=1500;
RESTRICCION DE LA
CAPACIDAD DE LOS
TIRADEROS
X8*(Y81*49+Y82*874+Y83*555+Y84*352+Y85*381+Y86*428+Y
87*985+Y88*105+Y89*258+Y810*210) <=1500;
X9*(Y91*49+Y92*874+Y93*555+Y94*352+Y95*381+Y96*428+Y
97*985+Y98*105+Y99*258+Y910*210) <=1500;
X10*(Y101*49+Y102*874+Y103*555+Y104*352+Y105*381+Y106
*428+Y107*985+Y108*105+Y109*258+Y1010*210) <=1500;
Y11+Y21+Y31+Y41+Y51+Y61+Y71+Y81+Y91+Y101<=1;
Y12+Y22+Y32+Y42+Y52+Y62+Y72+Y82+Y92+Y102<=1;
Y13+Y23+Y33+Y43+Y53+Y63+Y73+Y83+Y93+Y103<=1;
CADA DISTRITO Y14+Y24+Y34+Y44+Y54+Y64+Y74+Y84+Y91+Y104<=1;
DEBE ENVIAR Y15+Y24+Y35+Y45+Y55+Y65+Y75+Y85+Y91+Y105<=1;
TODA SU BASURA Y16+Y24+Y36+Y46+Y56+Y66+Y76+Y86+Y91+Y106<=1;
A UN SOLO SITIO. Y17+Y24+Y37+Y47+Y57+Y67+Y77+Y87+Y91+Y107<=1;
Y18+Y24+Y38+Y48+Y58+Y68+Y78+Y88+Y91+Y108<=1;
Y19+Y24+Y39+Y49+Y59+Y69+Y79+Y89+Y91+Y109<=1;
Y110+Y24+Y310+Y410+Y510+Y610+Y710+Y810+Y91+Y1010<=
1;
El programa en lingo:
SETS:
DISTRITO/1..10/:TN,CF,CV,CT,X;
DISTANCIA (DISTRITO,DISTRITO):D,Y;
ENDSETS
DATA:
TN=49 874 555 352 381 428 985 105 258 210;
CF=2 1 1 3 2 1 2 4 2;
CV=310 40 51 341 131 182 20 40 177 75;
D=0 2.83 7.81 5.38 1 2 6.32 2.23 5.09 5
2.83 0 8.54 3 3.61 2 8 5 4.24 2.23
7.81 8.54 0 8 7.07 6.71 3 8.6 5 9.05
5.38 3 8 0 5.83 3.6 7.61 7.62 3 1.41
1 3.61 7.07 5.83 0 1.49 5.38 2 5 5.65
2 2 6.71 3.6 1.49 0 6 4.12 3.16 3.6
6.32 8 3 7.61 5.38 6 0 6.4 5.83 9.22
2.23 5 8.6 7.62 2 4.12 6.4 0 7 7.21
4
5.09 4.24 5 3 5 3.16 5.83 7 0 4.12
5 2.23 9.05 1.41 5.65 3.6 9.22 7.21 4.12 0;
ENDDATA
!FUNCION OBJETIVO;
MIN = @SUM(DISTRITO(I):CT(I)*X(I))
+@SUM(DISTANCIA(I,J):@SUM(DISTANCIA(I,J):D(I,J)*Y(I,J))*1000*X(I));
!COSTO TOTAL;
@FOR(DISTRITO:CT=CF+CV*TN);
!RESTRICCIONES;
@FOR(DISTANCIA(I,J):@SUM(DISTRITO(I):TN(I)*Y(I,J))*X(I)<=1500);
@FOR (DISTANCIA:@SUM(DISTANCIA(I,J):Y(I,1))<=1);
Problema 30:
SOLUCION:
VARIABLES:
FUNCION OBJETIVO:
RESTRICCIONES:
X( 1) + X( 2) + X( 3) >= 1100
4
X( 1) <= 500
X( 2) <= 900
X( 3) <= 400
1000000 Y( 1) + X( 1) <= 0
1000000 Y( 2) + X( 2) <= 0
1000000 Y( 3) + X( 3) <= 0
FORMULACION EN LINGO:
COSTOS EN DOLARES;
!M=VALOR MUY GRANDE;
!COSTOE ES EL COSTO DE ENTREGA;
!X CANTIDAD DE COMPUTADORAS QUE VENDE EN VENDEDOR I;
!Y 1 SI EL VENDEDOR I VENDCOMPUTADORAS
! 0 EN CASO CONTRARIO;
SETS:
VENDEDOR/1..3/:COSTOE,COSTO,X,Y,MAXVEND;
ENDSETS
DATA:
COSTOE = 5000 4000 6000;
COSTO = 500 350 250;
MAXVEND= 500 900 400;
M=1000000;
REQUERIMIENTO=1100;
ENDDATA
MIN=@SUM(VENDEDOR(I):COSTO(I)*X(I))
+@SUM(VENDEDOR(I):COSTOE(I)*Y(I));
! RESTRICCION 1;
@SUM(VENDEDOR(I):X(I))>=REQUERIMIENTO;
! RESTRICCION DE 2;
@FOR(VENDEDOR(I):
X(I)<=MAXVEND(I);
);
! RESTRICCION DE 3;
@FOR(VENDEDOR(I):
X(I)<=M*Y(I);
);
5
! RESTRICCION DE VARIABLES BINARIAS;
@FOR(VENDEDOR(I):
@BIN(Y););
SOLUCION EN LINGO:
5
PROBLEMA30:
Por ejemplo el distrito 3 se localiza en las coordenadas (10,8). El distrito 3 produce 555
toneladas de basura al año, y cuesta un millon de dolares al año en costos fijos operar un
tiradero en el distrito 3. Cada tonelada de basura procesada en el sitio 3 incurre en un
costo variable de 51 dólares.
Cada tiradero puede procesar cuando mucho 1500 toneladas de basura. Cada distrito
debe enviar toda su basura a un solo sitio. Determine dónde localizar los tiraderos de tal
manera que se minimice el costo total por año.
Soluciòn
(LINGO)
min 2015190x1+1034960x2+1028305x3+120032x4+3049911x5+
2077896x6+1019700x7+2004200x8+4045666x9+2015750x10
+7000x1+7000x2+18000x3+10000x4+8000x5+9000x6+15000x7
+6000x8+13000x9+8000x10
subject to
49x1+874x2+555x3+352x4+381x5+428x6+985x7+105x8+258x9+210x10<=15000
end
INT X1
INT X2
INT X3
5
INT X4
INT X5
INT X6
INT X7
INT X8
INT X9
INT X10
PROBLEMA N°
Problema 31:
Usted es el Gerente de ventas de Eli Lilly. Ud. Desea Ubicar oficinas de ventas en
cuatro de las ciudades de la tabla 1. La cantidad de llamadas telefónica de ventas (en
miles) Que se deben hacer en cada ciudad que se dan e n la tabla 1. por ejemplo San
Antonio requiere 2000 llamadas y está a 602 millas de Phoenix. La distancia entre cada
ciudad se da en la tabla 2. ¿En donde se deben ubicar las oficinas centrales con el objeto
de minimizar la distancia total que se debe recorrer para hacer las llamadas necesarias?
Tabla N° 1
Llamada requeridas
Ciudad (i)
(en miles)
San Antonio (1) 2
Phoenix (2) 3
Los Angeles (3) 6
Seattle (4) 3
Detroit (5) 4
Minneapolis (6) 2
Chicago (7) 7
Atlanta (8) 5
Nueva York (9) 9
Boston (10) 5
Filadelfia (11) 4
Tabla N° 2
5
SOLUCIÓN
Denotaremos las ciudades por códigos asignados:
j = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,.....55
Sea:
i = 1,2,3,4,5,6,7,8,9,10,11
La función Objetivo:
Minimizar las distancias totales que se debe recorrer para hacer las llamadas necesarias:
Min Z =
Y1(602X1+1376X2+1780X3+1262X4+1140X5+1060X6+935X7+1848X8+2000X9+16
68X10)+
Y2(602X1+851X11+1193X12+1321X13+1026X14+1127X15+1290X16+2065X17+2201X
18+1894X19)+
Y3(1376X2+875X11+971X20+2088X21+1727X22+1914X23+2140X24+2870X25+2995X
26+ 2702X27)+
Y4(1780X3+1193X12+971X20+1834X28+1432X29+1734X30+2178X31+2620X32+2707
X33+ 2486+
Y5(1262X4+1321X13+2088X21+1834X
28+403X35+205X36+655X37+801X38+912X39+654X40)+
5
Y6(1140X5+1026X14+1727X22+1432X
29+403X 35+328X41+876X42+1200X43+1304X44+1057X45)+
Y7(1060X6+1127X15+1914X23+1734X
30+205X 36+328X41+564X46+957X47+1082X48+794X49)+
Y8(935X7+1290X16+2140X24+2178X
31+655X 37+876X42+564X46+940X5+1096X51+765X52)+
Y9(1848X8+2065X17+2870X25+2620X
32+801X38+1200X43+957X47+940X50+156X53+180X54)+
Y10(2000X9+2201X10+2995X26+2707X
33+912X39+1304X44+1082X48+1096X51+156X53+333X55)+
Y11(1668X10+1891X11+2702X27+2486X
34+654X40+1057X45+794X49+765X52+180X54+333X55)
S.A.
Se desea con cuatro Oficinas centrales para realizar las ventas vía llamadas telefónicas:
Y1+ Y2 + Y3+ Y4+ Y5+ Y6+ Y7 + Y8+ Y9+ Y10 + Y11 = 4
El total de llamadas de las ciudades no debe de exceder de la Oficina central de ventas
(en miles):
• Si una de la oficinas centrales está en San Antonio, cuyas llamas necesarias es
2000:
3X1 + 6X2 + 3X3 + 4X4 + 2X5 + 7X6 + 5X7 + 9X8 + 5X9 + 4X10 <= 2;
5
• Si una de la oficinas centrales está en Atlanta, cuyas llamas necesarias es 5000:
2X7 + 3X16 + 6X24 + 3X31 + 4X37 + 2X42 + 7X46 + 9X50 + 5X51 + 4X52 <= 5;
Resuelto en LINGO:
Probla N° 31 del CAP. 9 del Libro de WINSTON;
!Xj = la ruta que debe realizar de una ciudad a otra
Xj= 1 Si se hace la ruta
0 Si no se realiza (j = 1,2,3 ... 55)
DATA:
Llamadas=2,3,6,3,4,2,7,5,9,5,4;
Distancia= 0 602 1376 1780 1262 1140 1060 935 1848 2000 1668
602 0 851 1193 1321 1026 1127 1290 2065 2201 1891
1376 851 0 971 2088 1727 1914 2140 2870 2995 2702
1780 1193 971 0 1834 1432 1734 2178 2620 2707 2486
1262 1321 2088 1834 0 403 205 655 801 912 654
1140 1026 1727 1432 403 0 328 876 1200 1304 1057
1060 1127 1914 1734 205 328 0 564 957 1082 794
935 1290 2140 2178 655 876 564 0 940 1096 765
1848 2065 2870 2620 801 1200 957 940 0 156 180
2000 2201 2995 2707 912 1304 1082 1096 156 0 333
1668 1891 2702 2486 654 1057 794 765 180 333 0;
ENDDATA
!LA FUNCIÓN OBJETIVO;
MIN=@SUM(CIUDAD(i):Y(i)*@SUM(Rutas(i,j):Distancia(i,j)*X(i,j)));
@FOR(CIUDAD(i):@SUM(Rutas(i,j):Llamadas(i)*X(i,j))<=Llamadas(i));
5
!X e Y SON VARIABLES BINARIAS;
@FOR(CIUDAD:@BIN(Y););
@FOR(RUTAS:@BIN(Y););
END
Problema 31.
Una pipa de Sunco Oil tiene 5 compartimientos, con una capacidad de 2700, 2800,
1100, 1800 y 3400 galones de combustible respectivamente. La compañía debe surtir 3
tipos de gasolina (súper, regular y sin plomo) a un cliente. En la tabla se dan las
demandas, la multa por galón que falta y el faltante máximo permisible. Cada
compartimiento puede llevar solo un tipo de gasolina. Se desea minimizar los costos por
faltante de gasolina.
SOLUCION:
VARIABLES:
FUNCION OBJETIVO:
MIN Z = 10 W( 1) + 8 W( 2) + 6 W( 3)
RESTRICCIONES:
W( 1) <= 500
W( 2) <= 500
W( 3) <= 500
5
X(2,1) + X(2,2) + X(2,3) + X(2,4) + X(2,5) + W(2) = 4000
Y( 1, 1) + Y( 2, 1) + Y( 3, 1) = 1
Y( 1, 2) + Y( 2, 2) + Y( 3, 2) = 1
Y( 1, 3) + Y( 2, 3) + Y( 3, 3) = 1
Y( 1, 4) + Y( 2, 4) + Y( 3, 4) = 1
Y( 1, 5) + Y( 2, 5) + Y( 3, 5) = 1
FORMULACION EN LINGO:
5
sets:
!PROB 31 CAP 9.2 DEL WINSTON;
!x:gasolina;
!w:gasolina faltante;
!y:1 si el compartimiento j lleva la gasolina tipo i o en caso contrario;
!cf : costo por galon faltante;
!me : máxima escasez permitida;
tipo/1..3/:cf,me,dem,a,w;
compartimiento/1..5/:cap;
matriz(tipo,compartimiento):x,y;
endsets
data:
cf=10,8,6;
me=500,500,500;
dem=2900,4000,4900;
cap=2700,2800,1100,1800,3400;
enddata
min=@sum(tipo:w*cf);
!RESTRICCION 1;
@for(tipo(i):w<=me(i));
!RESTRICCION 2;
@for(tipo(i):w(i)+@sum(compartimiento(j):x(i,j))=dem(i));
!RESTRICCION 3;
@for(matriz(i,j):x(i,j)<=cap(j)*y(i,j));
!RESTRICCION 4;
@for(compartimiento(j):@sum(tipo(i):y(i,j))=1);
!VARIABLE Y ES BINARIA;
@for(matriz:@bin(y));
SOLUCION EN LINGO:
El mínimo costo que se podrá pagar es 2 600 dólares. La gasolina del tipo 1 (super)
2800 galones van al compartimiento 2, la gasolina del tipo 2 (regular) 2700 galones
van al compartimiento 1, la gasolina del tipo 2 1100 galones van al compartimiento 3,
la gasolina del tipo 3 (sin plomo) 1500 galones van al compartimiento 4, la gasolina del
tipo 3 3400 galones van al compartimiento 5. La variable w son los galones de gasolina
tipo i faltantes. Para que se cumpla la demanda faltan 100 galones del tipo súper, y 200
galones del tipo regular.
5
Branch count: 32
6
Y( 3, 3) 0.0000000 0.0000000
Y( 3, 4) 1.000000 0.0000000
Y( 3, 5) 1.000000 0.0000000
Problema 33:
6
Al tratar un tumor en el cerebro mediante radiaciones, los médicos quieren la cantidad
máxima de radiación posible para bombardear el tejido en donde se localiza el tumor.
Pero la restricción es que hay una cantidad máxima de radiación que el tejido normal
puede tolerar sin sufrir daño. Por lo tanto los médicos deben decidir cómo dirigir la
radiación de tal manera que sea máxima la radiación que llegue al tumor sujeta a la
restricción de no dañar el tejido sano. Como un ejemplo simple de esta situación,
suponga que se pueden dirigir seis tipos de haces de radiación (los haces difieren en
dirección e intensidad) a un tumor. La región en donde se localiza el tumor se dividió en
seis regiones: tres regiones contiene tumores y tres están sanas. La cantidad de radiación
por cada tipo de haz se muestra en la tabla.
Si cada región de tejido tolera a lo más 40 unidades de radiación, entonces ¿qué haces
se deberían usar para maximizar la cantidad total de radiación recibida por el tumor?
Solución:
MaxZ = 74 x1 + 69 x 2 + 70 x3 + 68 x 4 + 56 x5 + 52 x6
Sujeto a:
SETS:
HAZ/1..6/:TIPO;
REGION/1..6/:;
RADIACION(HAZ,REGION):CANTIDAD;
ENDSETS
6
DATA:
CANTIDAD = 16 12 8 20 12 6
12 10 6 18 15 8
9 8 13 13 10 17
4 12 12 6 18 16
9 4 11 13 5 14
8 7 7 10 10 10;
ENDDATA
MAX=@SUM(RADIACION(I,J):CANTIDAD(I,J)*TIPO(I));
! RESTRICCIONES;
@FOR(REGION(J):@SUM(HAZ(I):CANTIDAD(I,J)*TIPO(I))<=40);
@FOR(HAZ: @BIN(TIPO));
END
Solución en Lingo:
6
CANTIDAD( 4, 1) 4.000000 0.0000000
CANTIDAD( 4, 2) 12.00000 0.0000000
CANTIDAD( 4, 3) 12.00000 0.0000000
CANTIDAD( 4, 4) 6.000000 0.0000000
CANTIDAD( 4, 5) 18.00000 0.0000000
CANTIDAD( 4, 6) 16.00000 0.0000000
CANTIDAD( 5, 1) 9.000000 0.0000000
CANTIDAD( 5, 2) 4.000000 0.0000000
CANTIDAD( 5, 3) 11.00000 0.0000000
CANTIDAD( 5, 4) 13.00000 0.0000000
CANTIDAD( 5, 5) 5.000000 0.0000000
CANTIDAD( 5, 6) 14.00000 0.0000000
CANTIDAD( 6, 1) 8.000000 0.0000000
CANTIDAD( 6, 2) 7.000000 0.0000000
CANTIDAD( 6, 3) 7.000000 0.0000000
CANTIDAD( 6, 4) 10.00000 0.0000000
CANTIDAD( 6, 5) 10.00000 0.0000000
CANTIDAD( 6, 6) 10.00000 0.0000000
Problema 34:
Maz = X12+ X13+ X23+ X24+ X31+ X35+ X42+ X46+ X53+ X56 + X64
+X67+X75+ X77
s.a :
6
X12+ X13>= 1
X23+ X24>= 1
X31+ X35>= 1
X42+ X46>= 1
X53+ X56>= 1
X64 +X67>= 1
X75+ X77>= 1
X12 =X42
X13= X23= X53
X24= X64
X35= X75
X46 = X56
X67= X77
PROBLEMA 35:
Cuando usted solicita números telefónicos 800 a AT&T para telemercadeo, AT&T
utiliza un modelo de Solver para indicar a usted dónde debe ubicar su centro de
llamadas a fin de minimiza sus costos de operación sobre un horizonte de 10 años. Con
el objeto de ilustrar el modelo, suponga que usted está considerando 7 ubicaciones para
centros de llamadas: Boston, Nueva York, Charlotte, Dallas, Chicago, L.A y Omaha. Ya
conocemos el costro promedio (en dólares) en que se incurre si una llamada de
telemercadeo es hecha desde cualquiera de estas ciudades a cualquier región del país.
También sabemos los salarios por hora que debemos pagar a los trabajadores en cada
ciudad (tabla 120)
Suponga que una llamada promedio requiere 4 minutos. Hacemos llamadas 250 días al
año, y el número promedio de llamadas por día a cada región del país, se proporciona en
la tabla 121.
El costo de la construcción de un centro de llamadas en cada localidad posible, está en
la tabla 122.
Cada centro de llamadas puede efectuar al menos 5000 llamadas por día. Con esta
información ¿cómo se puede minimizar el costo de contado (a 10% por año) de echar a
andar la operación de telemercadeo durante 10 años? Suponga que todos los salarios y
los costos de las llamadas se pagan al final de cada año.
Tabla 120
6
llamada Inglater co Sureste Soroeste Lagos Planicies Rocosas Pacífico x hora
($/min) ra Medio ($)
Boston 1.2 1.4 1.1 1.3 2 2.2 2.8 2.2 14
Nueva York 1.3 1 1.3 1.2 1.8 1.9 2.5 2.8 16
Charlotte 1.5 1.4 0.9 1.5 2.1 2.3 2.6 3.3 11
Dallas 2 1.8 1.2 1 1.7 2.2 1.8 2.7 12
Chicago 2.1 1.9 2.3 1.9 0.9 1.3 1.2 2.2 13
Los Angeles 2.5 2.1 1.9 2.2 1.7 1.5 1.4 1 18
Omaha 2.2 2.1 2 2.6 1.4 0.6 0.9 1.5 10
6
SOLUCION:
Para poder minimizar los costos, primero hallaremos los costos anuales en $ para las
llamadas, para lo cual multiplicaremos por el promedio de duración de la llamada (4), el
número promedio de llamadas al día (tabla 121) y el número de días que se realizan
llamadas por año (250). Con lo que obtenemos la Tabla 1:
Y para el Salario anual de los trabajadores, consideraremos que la central debe trabajar
los 365 días del año, las 24 horas del día.
Con lo que obtenemos la Tabla 2:
Salario Anual
Ciudad (Millones de $/Año)
Boston 0.12096
Nueva York 0.14016
Charlotte 0.09636
Dallas 0.10512
Chicago 0.11388
Los Angeles 0.15768
Omaha 0.08760
Función Objetivo:
6
Restricciones:
Como la demanda total de llamadas, a las distintas regiones, es de 17 000 y cada centro
hará al menos 5000, poniéndonos en el peor de los casos tendríamos que cada centro
solo haría las 5000 llamadas, así tendríamos que se necesitará por lo menos:
17000/5000 = 3.4 = 4 centros
Suma( Xi ) >= 4
DATA:
CLL= 34,
33.8,
36.9,
31.7,
28.7,
26.3,
25.6;
SA= 0.12096,
0.14016,
0.09636,
0.10512,
0.11388,
0.15768,
0.08760;
CC= 2.7,
3,
2.1,
2.1,
2.4,
3.6,
2.1;
ENDDATA
MIN = @SUM(CENTROS(i):X(i)*CLL(i)) +
@SUM(CENTROS(i):X(i)*SA(i))+
@SUM(CENTROS(i):X(i)*CC(i)*0.1);
@FOR(CENTROS(i):@SUM(CENTROS(j):X(j))>=4);
@FOR(CENTROS(i):@bin(X));
6
SOLUCION EN LINGO:
6
PROBLEMA 36 :
La pregunta siguiente se relaciona con el ejemplo del presupuesto de capital de Star Oil
de la sección 3.6 los resultados de LINGO para este problema se muestran en la figura
16.
e. Suponga que esta disponible (inversión 6). Dicha inversión tiene un VPN de 10
millones de dólares y requiere una salida de efectivo de 5 millones de dólares en
el tiempo 0 y 10millones de dólares en el tiempo 1 ¿Debería Star Oil invertir en
la inversión 6?
Se define como:
7
SOLUCIÓN ÓPTIMA : 57.44902 millones de dólares
7
SOLUCIÓN
Se define que:
7
Se observa que los precios sombra y su interpretación son:
7
b. Si el VPN de la inversión 1 fuera 5 millones de dólares ¿cambiaria la
solución óptima del problema?
7
Como se puede observar la solución óptima cambia a un valor menor que es
de 53.14558 millones de dólares.
7
Como se puede observar la solución óptima cambia a un valor mayor que es de
70.18182 millones de dólares. Es decir Star Oil será más rica.
e. Suponga que esta disponible (inversión 6). Dicha inversión tiene un VPN de
10 millones de dólares y requiere una salida de efectivo de 5 millones de
dólares en el tiempo 0 y 10 millones de dólares en el tiempo 1 ¿Debería Star
Oil invertir en la inversión 6?
7
Como se puede observar la solución óptima no cambia, y observamos que la
inversión 6 no se realiza y se obtiene un ahorro en gastos de 0.798526 millones
de dólares.