Professional Documents
Culture Documents
DE INGENIERA
FACULTAD DE INGENIERA
INDUSTRIAL Y DE
SISTEMAS
CURSO
PROFESOR
ALUMNO
CODIGO
Investigacion de operaciones 1
2012 - I
PROBLEMA:
Un cientfico investigador ha obtenido las siete mejores razas de los seres vivos de
un planeta X. El investigador quiere formar un grupo ALFA conformado por 20
seres vivos para que le sean de ayuda en sus investigaciones, de los cuales este
grupo debe incluir a 5 razas diferentes debido a que quiere tener variedad de razas
para sus investigaciones. Las cualidades de las razas que se han tomado en cuenta
son precisin, inteligencia, memoria, fuerza, resistencia, rudeza y rebelda. Los
valores de las cualidades se han calificado en una escala del 0-5 y se dan en la
siguiente tabla:
CUALIDAD Precisin Inteligencia Memoria Fuerza Resistencia Rudeza Rebelda
RAZA 1
2
5
3
3
2
1
1
RAZA 2
2
5
2
2
1
2
3
RAZA 3
4
2
3
3
3
0
0
RAZA 4
2
2
2
1
4
3
0
RAZA 5
5
4
2
2
1
1
2
RAZA 6
2
5
2
3
3
2
3
RAZA 7
1
5
4
3
2
3
1
El cientfico requiere para sus investigaciones que el grupo ALFA tenga alta
precisin, inteligencia y memoria por lo que el promedio mnimo de estas
habilidades del grupo debe ser 3. Mientras que solo requerir un promedio mnimo
de 2 para habilidades como fuerza y resistencia. Por otro lado, desea mantener un
promedio de 2 como mximo de rudeza y rebelda.
El cientfico tambin observo en sus investigaciones que las criaturas de raza 5 y 6
son criaturas simbiticas, es decir, que uno no puede vivir sin el otro. Y tambin las
criaturas de raza 3 y 4 son criaturas muy conflictivas, por lo que, se prefiere no
tenerla juntas.
Las razas han vivido en diferentes ambientes cada uno. Los climas de los hbitats
en las que puede sobrevivir cada raza se dan en la tabla siguiente:
CLIMA
RAZA 1
RAZA 2
RAZA 3
RAZA 4
RAZA 5
RAZA 6
RAZA 7
CALIENTE
FRIO
SECO
TEMPLADO
HUMEDO
Del grupo debe haber por lo menos, 3 que sobrevivan al clima caliente, 4 que
sobrevivan al clima frio, 1 que sobrevivan al clima seco, 2 que sobrevivan al clima
hmedo y otros 2 que sobrevivan al templado.
Por otro lado, cada especie tiene un tipo de alimento diferente y cada tipo de
alimento necesita un tipo de preservante para que sta no se malogre. Por lo que si
se decide llevar un tipo de especie ser necesario comprar el preservante que
requiere el alimento de esta raza. Los costos de los preservante se dan en la tabla:
Preservante para el alimento de una
raza
PRES_ALI_1
PRES_ALI_2
PRES_ALI_3
PRES_ALI_4
PRES_ALI_5
PRES_ALI_6
PRES_ALI_7
Costo
3000
4000
3000
4000
2000
3000
2000
# de la
libra
0 - 6000
6001 15000
15001 30000
ALI_2
ALI_3
ALI_4
ALI_5
ALI_6
ALI_7
70
70
60
80
70
90
50
55
60
40
70
60
75
40
45
50
30
60
50
60
SOLUCION:
Variables:
ZIJ = 1 o 0
I = 1,2,..,7
J = 1,2
FUNCION OBJETIVO:
Debemos minimizar los costos totales:
COSTOS TOTALES = COSTOS POR COMIDA + COSTOS POR PRESERVANTE
* Costos por preservante:
3000*Y1 + 4000*Y2 + 3000*Y3 + 4000*Y4 + 2000*Y5 + 3000*Y6 + 2000*Y7
* Costos por comida:
(60*A11 + 50*A12 + 40*A13) + (70*A21 + 55*A22 + 45*A23) + (70*A31 + 60*A32 +
50*A33) + (60*A41 + 40*A42 + 30*A43) + (80*A51 + 70*A52 + 60*A53) + (70*A61 +
60*A62 + 50*A63) + (90*A71 + 75*A72 + 60*A73)
ALI_1
INTERVALO
Intervalo 1
Intervalo 2
Intervalo 3
# de la
libra
0 - 6000
6001 15000
15001 30000
FUNCION OBJETIVO
ALI_2
ALI_3
ALI_4
ALI_5
ALI_6
ALI_7
70
70
60
80
70
90
50
55
60
40
70
60
75
40
45
50
30
60
50
60
RESTRICCIONES:
* El grupo debe incluir a cinco razas diferentes:
Y1 + Y2 + Y3 + Y4 + Y5 + Y6 + Y7 = 5
J=1,..,7
I = 1,2,,7.
(Restriccin de la precisin)
(Restriccin de la inteligencia)
(Restriccin de la memoria)
* El promedio mnimo de la fuerza y resistencia del grupo debe ser 2, por tanto la
suma de estas habilidades debe ser como mnimo 20*2 = 40:
3X1 + 2X2 + 3X3 + 1X4 + 2X5 + 3X6 + 3X7 >= 40
(Restriccin de la fuerza)
(Restriccin de la resistencia)
* El promedio mximo de la rudeza y rebelda del grupo debe ser de ser 2, por
tanto la suma de estas habilidades debe ser como mximo 20*2 = 40:
1X1 + 2X2 + 0X3 + 3X4 + 1X5 + 2X6 + 3X7 <= 40
(Restriccin de la rudeza)
(Restriccin de la rebelda)
* El grupo debe haber por lo menos, 3 que sobrevivan al clima caliente, 4 que
sobrevivan al clima frio, 1 que sobrevivan al clima seco, 2 que sobrevivan al clima
hmedo y otros 2 que sobrevivan al templado.
X2 + X3 + X4 + X6 + X7 >= 3
X1 + X2 +X3 + X5 + X6 + X7 >= 4
X2 + X4 + X6 >= 1
X1 + X2 + X4 + X5 + X7 >= 2
X1 + X3 + X5 + X6 + X7 >= 2
* La suma de las cantidades AI1 + AI2 + AI3, es decir, la cantidad de comida en total
que compra para la raza I (I=1,..7) es igual a la cantidad que la raza I va a consumir
en los 10 meses. Sabemos que cada raza consume 5 libras de su comida diario, por
tanto en los 10 meses consumir 30*10*5=1500 libras.
#das del viaje = 30*10 = 300 das
Racin diaria por ser= 5 libras
AI1 + AI2 + AI3 = (#das del viaje) (Racin diaria por ser)XI
I=1,2,..,7
* Debemos buscar unas restricciones que cumplan:
SI: A11 < 6000
entonces
A12 = 0 y A13 = 0
entonces
FORMULACION EN LINGO:
SETS:
RAZA/1..7/:X,Y,COST_PRES;
CARAC/PRECI,INTEL,MEMOR,FUERZ,RESIS,RUDEZ,REBEL/:PROM_LIM;
CLIMA/CALI,FRIO,SECO,HUME,TEMP/:NUM_SOBR;
INTERV/1..3/:CANTMAX;
VAR/1..2/:;
MATRIZCARAC(RAZA,CARAC):COEF_CARAC;
MATRIZCLIMA(RAZA,CLIMA):COEF_CLIMA;
MATRIZINTERV(RAZA,INTERV):A,COST_ALIM;
AUX(RAZA,VAR):Z;
ENDSETS
DATA:
COST_PRES= 3000,4000,3000,4000,2000,3000,2000;
PROM_LIM=
3,3,3,2,2,2,2;
NUM_SOBR=
3,4,1,2,2;
CANTMAX=
6000,9000,15000;
COEF_CARAC= 2,5,3,3,2,1,1,
2,5,2,2,1,2,3,
4,2,3,3,3,0,0,
2,2,2,1,4,3,0,
5,4,2,2,1,1,2,
2,5,2,3,3,2,3,
1,5,4,3,2,3,1;
COEF_CLIMA= 0,1,0,1,1,
1,1,1,1,0,
1,1,0,0,1,
1,0,1,1,0,
0,1,0,1,1,
1,1,1,0,1,
1,1,0,1,1;
COST_ALIM= 60,50,40,
70,55,45,
70,60,50,
60,40,30,
80,70,60,
70,60,50,
90,75,60;
DIASDELVIAJE=
300;
RACIONDIARIA=
5;
ENDDATA
MIN=@SUM(RAZA:COST_PRES*Y)+@SUM(MATRIZINTERV:COST_ALIM*A);
@SUM(RAZA:Y)=5;
@SUM(RAZA:X)=20; @FOR(RAZA:X<20*Y);
@FOR(RAZA:Y<X);
@FOR(CARAC(J)|J#LE#5:@SUM(RAZA(I):COEF_CARAC(I,J)*X(I))>20*PROM_LIM(J));
@FOR(CARAC(J)|J#GE#6:@SUM(RAZA(I):COEF_CARAC(I,J)*X(I))<20*PROM_LIM(J));
@FOR(CLIMA(J):@SUM(RAZA(I):COEF_CLIMA(I,J)*X(I))>NUM_SOBR(J));
@FOR(RAZA(I):@SUM(INTERV(J):A(I,J))=RACIONDIARIA*DIASDELVIAJE*X(I));
@FOR(MATRIZINTERV(I,J)|J#EQ#1:A(I,J)<CANTMAX(J));
@FOR(MATRIZINTERV(I,J)|J#EQ#1:A(I,J)>CANTMAX(J)*Z(I,J));
@FOR(MATRIZINTERV(I,J)|J#EQ#2:A(I,J)<CANTMAX(J)*Z(I,J-1));
@FOR(MATRIZINTERV(I,J)|J#EQ#2:A(I,J)>CANTMAX(J)*Z(I,J));
@FOR(MATRIZINTERV(I,J)|J#EQ#3:A(I,J)<CANTMAX(J)*Z(I,J-1));
@FOR(RAZA(J)|J#EQ#1:@SUM(RAZA(I)|I#EQ#1:Y(3)+Y(4))<1);
@FOR(RAZA(J)|J#EQ#1:@SUM(RAZA(I)|I#EQ#1:Y(5)-Y(6))<0);
@FOR(RAZA:@GIN(X));
@FOR(RAZA:@BIN(Y));
1950000.
1950000.
0.7275958E-11
4
340
Value
300.0000
5.000000
3.000000
1.000000
13.00000
0.000000
0.000000
1.000000
2.000000
1.000000
1.000000
1.000000
0.000000
0.000000
1.000000
1.000000
3000.000
4000.000
3000.000
4000.000
2000.000
3000.000
2000.000
3.000000
3.000000
3.000000
2.000000
2.000000
2.000000
2.000000
3.000000
4.000000
1.000000
2.000000
2.000000
6000.000
9000.000
Reduced Cost
0.000000
0.000000
90000.00
105000.0
75000.00
90000.00
120000.0
105000.0
135000.0
3000.000
4000.000
3000.000
4000.000
2000.000
3000.000
2000.000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
CANTMAX( 3)
COEF_CARAC( 1, PRECI)
COEF_CARAC( 1, INTEL)
COEF_CARAC( 1, MEMOR)
COEF_CARAC( 1, FUERZ)
COEF_CARAC( 1, RESIS)
COEF_CARAC( 1, RUDEZ)
COEF_CARAC( 1, REBEL)
COEF_CARAC( 2, PRECI)
COEF_CARAC( 2, INTEL)
COEF_CARAC( 2, MEMOR)
COEF_CARAC( 2, FUERZ)
COEF_CARAC( 2, RESIS)
COEF_CARAC( 2, RUDEZ)
COEF_CARAC( 2, REBEL)
COEF_CARAC( 3, PRECI)
COEF_CARAC( 3, INTEL)
COEF_CARAC( 3, MEMOR)
COEF_CARAC( 3, FUERZ)
COEF_CARAC( 3, RESIS)
COEF_CARAC( 3, RUDEZ)
COEF_CARAC( 3, REBEL)
COEF_CARAC( 4, PRECI)
COEF_CARAC( 4, INTEL)
COEF_CARAC( 4, MEMOR)
COEF_CARAC( 4, FUERZ)
COEF_CARAC( 4, RESIS)
COEF_CARAC( 4, RUDEZ)
COEF_CARAC( 4, REBEL)
COEF_CARAC( 5, PRECI)
COEF_CARAC( 5, INTEL)
COEF_CARAC( 5, MEMOR)
COEF_CARAC( 5, FUERZ)
COEF_CARAC( 5, RESIS)
COEF_CARAC( 5, RUDEZ)
COEF_CARAC( 5, REBEL)
COEF_CARAC( 6, PRECI)
COEF_CARAC( 6, INTEL)
COEF_CARAC( 6, MEMOR)
COEF_CARAC( 6, FUERZ)
COEF_CARAC( 6, RESIS)
COEF_CARAC( 6, RUDEZ)
COEF_CARAC( 6, REBEL)
COEF_CARAC( 7, PRECI)
COEF_CARAC( 7, INTEL)
COEF_CARAC( 7, MEMOR)
COEF_CARAC( 7, FUERZ)
COEF_CARAC( 7, RESIS)
COEF_CARAC( 7, RUDEZ)
COEF_CARAC( 7, REBEL)
COEF_CLIMA( 1, CALI)
COEF_CLIMA( 1, FRIO)
COEF_CLIMA( 1, SECO)
COEF_CLIMA( 1, HUME)
COEF_CLIMA( 1, TEMP)
COEF_CLIMA( 2, CALI)
15000.00
2.000000
5.000000
3.000000
3.000000
2.000000
1.000000
1.000000
2.000000
5.000000
2.000000
2.000000
1.000000
2.000000
3.000000
4.000000
2.000000
3.000000
3.000000
3.000000
0.000000
0.000000
2.000000
2.000000
2.000000
1.000000
4.000000
3.000000
0.000000
5.000000
4.000000
2.000000
2.000000
1.000000
1.000000
2.000000
2.000000
5.000000
2.000000
3.000000
3.000000
2.000000
3.000000
1.000000
5.000000
4.000000
3.000000
2.000000
3.000000
1.000000
0.000000
1.000000
0.000000
1.000000
1.000000
1.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
COEF_CLIMA(
2,
2,
2,
2,
3,
3,
3,
3,
3,
4,
4,
4,
4,
4,
5,
5,
5,
5,
5,
6,
6,
6,
6,
6,
7,
7,
7,
7,
7,
A(
A(
A(
A(
A(
A(
A(
A(
A(
A(
A(
A(
A(
A(
A(
A(
A(
A(
A(
A(
A(
COST_ALIM(
COST_ALIM(
COST_ALIM(
COST_ALIM(
COST_ALIM(
COST_ALIM(
FRIO)
SECO)
HUME)
TEMP)
CALI)
FRIO)
SECO)
HUME)
TEMP)
CALI)
FRIO)
SECO)
HUME)
TEMP)
CALI)
FRIO)
SECO)
HUME)
TEMP)
CALI)
FRIO)
SECO)
HUME)
TEMP)
CALI)
FRIO)
SECO)
HUME)
TEMP)
1, 1)
1, 2)
1, 3)
2, 1)
2, 2)
2, 3)
3, 1)
3, 2)
3, 3)
4, 1)
4, 2)
4, 3)
5, 1)
5, 2)
5, 3)
6, 1)
6, 2)
6, 3)
7, 1)
7, 2)
7, 3)
1, 1)
1, 2)
1, 3)
2, 1)
2, 2)
2, 3)
1.000000
1.000000
1.000000
0.000000
1.000000
1.000000
0.000000
0.000000
1.000000
1.000000
0.000000
1.000000
1.000000
0.000000
0.000000
1.000000
0.000000
1.000000
1.000000
1.000000
1.000000
1.000000
0.000000
1.000000
1.000000
1.000000
0.000000
1.000000
1.000000
4500.000
0.000000
0.000000
1500.000
0.000000
0.000000
6000.000
9000.000
4500.000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
1500.000
0.000000
0.000000
3000.000
0.000000
0.000000
60.00000
50.00000
40.00000
70.00000
55.00000
45.00000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
COST_ALIM(
COST_ALIM(
COST_ALIM(
COST_ALIM(
COST_ALIM(
COST_ALIM(
COST_ALIM(
COST_ALIM(
COST_ALIM(
COST_ALIM(
COST_ALIM(
COST_ALIM(
COST_ALIM(
COST_ALIM(
COST_ALIM(
Z(
Z(
Z(
Z(
Z(
Z(
Z(
Z(
Z(
Z(
Z(
Z(
Z(
Z(
3,
3,
3,
4,
4,
4,
5,
5,
5,
6,
6,
6,
7,
7,
7,
1,
1,
2,
2,
3,
3,
4,
4,
5,
5,
6,
6,
7,
7,
1)
2)
3)
1)
2)
3)
1)
2)
3)
1)
2)
3)
1)
2)
3)
1)
2)
1)
2)
1)
2)
1)
2)
1)
2)
1)
2)
1)
2)
70.00000
60.00000
50.00000
60.00000
40.00000
30.00000
80.00000
70.00000
60.00000
70.00000
60.00000
50.00000
90.00000
75.00000
60.00000
0.000000
0.000000
0.000000
0.000000
1.000000
1.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
Row
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Slack or Surplus
1950000.
0.000000
0.000000
17.00000
19.00000
7.000000
0.000000
0.000000
19.00000
18.00000
2.000000
0.000000
12.00000
0.000000
0.000000
0.000000
1.000000
4.000000
1.000000
0.000000
19.00000
13.00000
27.00000
29.00000
14.00000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
-90000.00
-300000.0
-135000.0
-375000.0
120000.0
90000.00
-180000.0
-450000.0
-90000.00
-300000.0
-90000.00
-300000.0
-135000.0
-450000.0
Dual Price
-1.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
16.00000
1.000000
4.000000
17.00000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
1500.000
4500.000
0.000000
6000.000
6000.000
4500.000
3000.000
4500.000
1500.000
0.000000
0.000000
0.000000
1500.000
3000.000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
10500.00
0.000000
0.000000
0.000000
0.000000
0.000000
1.000000
0.000000
0.000000
0.000000
0.000000
-60.00000
-70.00000
-50.00000
-60.00000
-80.00000
-70.00000
-90.00000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
-20.00000
0.000000
0.000000
0.000000
0.000000
10.00000
15.00000
0.000000
20.00000
10.00000
10.00000
15.00000
0.000000
0.000000
-10.00000
0.000000
0.000000
0.000000
0.000000
20.00000
25.00000
0.000000
30.00000
20.00000
20.00000
30.00000
0.000000
0.000000