Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DE INVESTIGACIÓN DE OPERACIONES 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
Max 16.7 X1+17.7 X2+17.7 X3+16.2 X4+16.8 X5+17.7 X6 +8.8 Y1+9.4 Y2+9.2
Y3+7.5 Y4+8.7 Y5+9.1 Y6 +7.9 W1+8.3 W2+8.5 W3+8.7 W4+8.1 W5+8.6 W6
SUBJECT TO
X1+ X2+ X3+ X4+ X5+ X6 = 3
Y1+ Y2+ Y3+ Y4+ Y5+ Y6 =4
W1+ W2+ W3+ W4+ W5+ W6 =4
END
INTE 12
LINDO:
1) 123.7000
NO. ITERATIONS= 12
BRANCHES= 0 DETERM.= 1.000E 0
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
DISTRITO 1 ESCUELA 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
Sol:
sea
Xij = distrito i, escuela de bachillerato j
Min z = X11 +2X12 + 0.5X21 + 1.7X22 + 0.8X31 +1.3X41 + 0.4X42 + 1.5X51 + 0.6X52
Sujeto a:
110X11 + 75X21 + 100X31 + 90X41 + 90X51 >= 150 (restricción alumnos por escuela)
3
150X11 + 25X21 + 50X31 + 200X41 + 150X51-110X11 - 75X21 - 100X31 - 90X41
-90X51>=0
LINDO:
LP OPTIMUM FOUND AT STEP 10
OBJECTIVE VALUE = 1.45751631
1) 2.400000
PROBLEMA 6 :
4
MATERIA CURSOS
Cal. Inv. Estr. Estadi Sim. Intr. Pred. tota
Op. Dat. . Adm. Comp. Prog. Requ. l
(1) (2) (3) (4) (5) (6) (7)
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
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
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
X( 1) 4.000000
NO. ITERATIONS= 12
BRANCHES= 0 DETERM.= 1.000E 0
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
6
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 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.
Formule un PE que se pueda usar para minimizar los costos semanales de cumplir con
las demandas.
TABLA11
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:
yi = 1,0 Se abre o no una bodega en la ciudad i (i = 1,2,3,4)
Xij = Nº de unid. Enviadas semanalmente de la ciudad i a la región j (i = 1,2,3,4; j = 1,2,3)
Min Z =20 X11 + 40 X12 + 50 X13 + 400 y1 +48 X21 + 15 X22 + 26 X23 + 500 y2 +26 X31 + 35
X32 + 18 X33 + 300 y3 + 24 X41 + 50 X42 + 35 X43 + 150 y4
Sujeto a:
X11 + X12 + X13 £ 100 y1
X21 + X22 + X23 £ 100 y2
X31 + X32 + X33 £ 100 y3
7
X41 + X42 + X43 £ 100 y4
X11 + X21 + X31 + X41 / 80
X12 + X22 + X32 + X42 / 70
X13 + X23 + X33 + X43 / 40
y1 - y2 £ 0
y1 + y2 + y3 + y4 £ 2
y2 + y4 / 1
X11 , X12 , X13 , X21 , X22 , X23 , X31 , X32 , X33 , X41 , X42 , X43 / 0
LINDO:
8
9) 1.000000 0.000000
10) 0.000000 0.000000
11) 1.000000 0.000000
NO. ITERATIONS= 67
BRANCHES= 4 DETERM.= 1.000E 0
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:
xi = número de trabajadores empleados en la línea i (i =1,2).
9
yi =
0 si no es así
s.a.
20x1 + 50x2 >= 120
30x1 + 35x2 >= 150
40x1 + 45x2 >= 200
x1 - 7 y1 <=0
x2 - 7 y2<=0
SUBJECT TO
20x1 + 50x2>=120
30x1 + 35x2>=150
40x1 + 45x2>=200
x1 - 7y1<=0
x2 - 7y2<=0
END
INTE y1
INTE y2
GIN X1
GIN X2
Y La solución en LINDO sería:
1
Y2 0.000000 2000.000000
X1 6.000000 500.000000
X2 0.000000 900.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 0.000000
3) 30.000000 0.000000
4) 40.000000 0.000000
5) 1.000000 0.000000
6) 0.000000 0.000000
NO. ITERATIONS= 10
BRANCHES= 2 DETERM.= 1.000E 0
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.
PROBLEMA 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
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
FUNCION OBJETIVO:
MIN Z= X1 + X2 + X3 + X4 + X5 + X6;
S.A:
X1 + X4 >= 1
X1 + X5 >= 1 C ir u ja 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.
LINDO
1) 3.000000
1
5) 0.000000 0.000000
6) 0.000000 0.000000
7) 0.000000 0.000000
8) 0.000000 0.000000
NO. ITERATIONS= 0
BRANCHES= 0 DETERM.= 1.000E 0
PROBLEMA 16 :
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.
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
MIN=@SUM(PLANT:CF*Y+CV*X);
@FOR(PLANT:@BIN(Y););
@FOR(PLANT:X<=CAP);
@FOR(DEMAND:@SUM(PLANT:X)>=DEM);
@FOR(PLANT:X<=(12000*Y));
1
Problema16:
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.
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
1
Programación en Lingo:
VARIABLES UTILIZADAS:
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.
1
Problema 17
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. )
1
En Lindo
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
6) 0.000000 0.000000
7) 100.000000 0.000000
8) 1000.000000 0.000000
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;
2
ENDDATA
@FOR(REACTOR(J):@SUM(REGIMEN(I):X(I,J))<=P(I));
@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
BKAG: Cantidad de galones para proveer de Bakersfield a American Growers.
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
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
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
FORMULACION EN LINGO:
2
0-->si el distrito no cuenta con la ambulancia ;
!y= 1-->si el distrito es atendido
0-->si el distrito no es atendido;
!pob= cantidad de pobladores de un distrito;
!tviaje=posibilidad de viaje segun el tiempo que requiera de un
distrito a otro;
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
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.
2
PROBLEMA 22
Una compañía debe terminar tres trabajos. El tiempo de proceso ( en minutos) requerido se
muestra en la tabla. Un trabajo no se pueda procesar en la maquina j a menos que para toda i<j
el trabajo ha completado su proceso en la maquina i. Una vez que un trabajo empieza su
proceso en la maquina j, dicho trabajo debe continuar en la maquina j . El tiempo de flujo para
un trabajo es la diferencia entre su tiempo de terminación y el 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 .
SETS:
TRABAJO/1..3/:;
MAQUINA/1..4/:; Maquina
MATRIZ(TRABAJO,MAQUINA):T,X,Y;
Trabajo 1 2 3 4
ENDSETS
1 20 - 25 30
DATA:2 15 20 - 18
T=20 0325 30 - 35 28 -
15 20 0 18 EN LINGO:
SOLUCION
0 35 28 0;
!M, mayor valor posible para quer no afecte a las restricciones M=1000;
ENDDATA
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)));
@FOR(TRABAJO(I):@FOR(MAQUINA(J):T(I,J)-X(I,J)<=M*(1-Y(I,J))));
2
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
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
2
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
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
2
|________|________|________|________|
X11 X12
X23
X31 X32
RESTRICCIONES:
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.
2
Variable Value Reduced Cost
NUMTRAB( 1) 30.00000 0.000000
NUMTRAB( 2) 20.00000 0.000000
NUMTRAB( 3) 20.00000 0.000000
INGRESO( 1) 50.00000 0.000000
INGRESO( 2) 30.00000 0.000000
INGRESO( 3) 40.00000 0.000000
X( 1, 1) 1.000000 -100.0000
X( 1, 2) 0.000000 -50.00000
X( 1, 3) 0.000000 0.000000
X( 2, 1) 0.000000 0.000000
X( 2, 2) 0.000000 0.000000
X( 2, 3) 1.000000 0.000000
X( 3, 1) 0.000000 -40.00000
X( 3, 2) 0.000000 0.000000
X( 3, 3) 0.000000 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
3
Solución
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;
3
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;
);
@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.
3
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 :
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
Costo x asignar auditores :
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:
Función objetivo:
max Z = X11 + X12 + X13 + X14 + X15 + X16 + X17 + X18 + X21 + X22 + X23 +
X24 + X25 + X26 + X27 + X28
Sujeto a:
3
7) X21 + X23 + X25 + X28 = 2
8) X12 + X14 + X16 + X18 >= 3
9) X15 + X16 >= 1
10) X12 + X14 >= M (1 - X25)
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:
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 Trabajadores Rendimiento($)
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
4
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.
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
4
X22 + X32 + X72 + X10 2 >= 4*Y2
X13 + X62 + X83 + X93 >= 4*Y3
X24 + X34 + X54 + X10.4 >= 4*Y4
X15 + X65 + X75 + X95 >= 4*Y5
X26 + X46 + X86+ X10 6 > = 4*Y6
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));
Nota 1: No se pudo probar el Programa puede encontrar un Lingo de otra version pues
la cantidad de variables binarias es superior al limite que presenta esta version.
Nota 2: Se intento tratar de reducir el número de variables pero no llegue a ninguna
solución.
Nota 3: Gran parte de las restricciones se encuentran escritas en forma literal pues no
encontre la regla de adecuada para poder solo visualizar las variables que se necesitan
para la resolución de este problema.
Problema 29.
4
Por ultimo cada trabajador que interviene en un proyecto se le paga la tarifa
del proyecto que se muestra en la tabla 3.
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
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
4
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:
TABLA 112:
4
x y Fijo Variable
1 4 3 49 2 310
2 2 5 874 1 40
3 10 8 555 1 51
4 2 8 352 1 341
5 5 3 381 3 131
6 4 5 428 2 182
7 10 5 985 1 20
8 5 1 105 2 40
9 5 8 258 4 177
10 1 7 210 2 75
SOLUCIÓN:
FO:
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
4
+(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;
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;
4
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
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:
4
La universidad estatal tiene que comprar 1100 computadoras de tres vendedores. El
vendedor 1 carga 500 dólares por computadora mas un encargo por la entrega de 5000
dólares , el vendedor 2 carga 350 dólares por computadora mas un cargo por la entrega
de 4000 dólares. El vendedor 3 carga 250 dólares por computadora mas un cargo por la
entrega por de 6000 dólares. El vendedor 1 venderá a lo mas 500 computadoras, el
vendedor a los mucho 900 y el vendedor cuando mas 400. Se necesita minimizar el
costo de la compra de computadoras necesarias.
SOLUCION:
VARIABLES:
FUNCION OBJETIVO:
RESTRICCIONES:
X( 1) + X( 2) + X( 3) >= 1100
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:
4
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);
);
SOLUCION EN LINGO:
4
Branch count: 0
PROBLEMA30:
5
6 4 5 428 2 182
7 10 5 985 1 20
8 5 1 105 2 40
9 5 8 258 4 177
10 1 7 210 2 75
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
INT X4
INT X5
INT X6
INT X7
INT X8
INT X9
INT X10
PROBLEMA N° 31
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
Ciudad (i) Llamada requeridas
5
(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
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
5
Boston (10) X9 X18 X26 X33 X39 X44 X48 X51 X53 0 X55
Filadelfia (11) X10 X19 X27 X34 X40 X45 X49 X52 X54 X55 0
Llamadas Neces. 2000 3000 6000 3000 4000 2000 7000 5000 9000 5000 4000
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+2201X1
8 +1894X 19)+
Y3(1376X2+875X11+971X20+2088X21+1727X22+1914X23+2140X24+2870X25+2995X
26 + 2702X 27)+
Y4(1780X3+1193X12+971X20+1834X28+1432X29+1734X30+2178X31+2620X32+2707
X33+ 2486+
Y5(1262X4+1321X13+2088X21+1834X
28+403X35+205X36+655X37+801X38+912X39+654X40)+
Y6(1140X5+1026X14+1727X22+1432X
29+403X35+328X41+876X42+1200X43+1304X44+1057X45)+
Y7(1060X6+1127X15+1914X23+1734X
30+205X36+328X41+564X46+957X47+1082X48+794X49)+
Y8(935X7+1290X16+2140X24+2178X
31+655X37+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):
5
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;
Resuelto en LINGO:
5
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));
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.
5
SUPER 2900 10 500
REGULAR 4000 8 500
SIN PLOMO 4900 6 500
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( 3, 2) <= 2800 Y( 3, 2)
X( 3, 3) <= 1100 Y( 3, 3)
X( 3, 4) <= 1800 Y( 3, 4)
X( 3, 5) <= 3400 Y( 3, 5)
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:
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:
5
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
Y( 1, 3) 0.0000000 -11000.00
Y( 1, 4) 0.0000000 -18000.00
Y( 1, 5) 0.0000000 -34000.00
Y( 2, 1) 1.000000 -21600.00
Y( 2, 2) 0.0000000 -22400.00
Y( 2, 3) 1.000000 -8800.000
Y( 2, 4) 0.0000000 -14400.00
Y( 2, 5) 0.0000000 -27200.00
Y( 3, 1) 0.0000000 0.0000000
Y( 3, 2) 0.0000000 0.0000000
Y( 3, 3) 0.0000000 0.0000000
Y( 3, 4) 1.000000 0.0000000
Y( 3, 5) 1.000000 0.0000000
Problema 33:
5
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 x 6
Sujeto a:
SETS:
HAZ/1..6/:TIPO;
REGION/1..6/:;
6
RADIACION(HAZ,REGION):CANTIDAD;
ENDSETS
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( 3, 5) 10.00000 0.0000000
CANTIDAD( 3, 6) 17.00000 0.0000000
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
6
s.a :
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
Costo de Nueva Atlánti Grandes Montañas Salario
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
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:
6
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:
Min = Xi*( Costo de llamadas(i) + Salario Anual(i) ) + 0.1* Costo de Construcción(i)
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,
6
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));
SOLUCION EN LINGO:
6
CC( 7) 2.100000 0.0000000
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?
6
Se define como:
6
SOLUCIÓN ÓPTIMA : 57.44902 millones de dólares
SOLUCIÓN
Se define que:
6
Y1 = Disponibilidad de dinero en el tiempo 0
Y2 = Disponibilidad de dinero en el tiempo 1
Y3 = Restricción de la inversión 1
Y4 = Restricción de la inversión 2
Y5 = Restricción de la inversión 3
Y6 = Restricción de la inversión 4
Y7 = Restricción de la inversión 5
7
S5 = 10.124693 (Si aumentamos en 1 millón de dólares la inversión 3, el ingreso
aumentará en 10.124693 millones de dólares)
7
Como se puede observar la solución óptima cambia a un valor menor que es de
7
d. Suponga que el presupuesto del capital de Star Oil se modificara a 50 millones
de dólares en el tiempo 1. ¿Seria Star más rica? (Para este inciso se requiere
conocer la regla del 100%.)
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.