Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LINGO - FUNCIONES
UNMSM 2015
1.
SETS:
TIPO/1..6/:CO,X;
MACRO/1..3/:UNID;
MATRIZ1(TIPO,MACRO):CANT;
ENDSETS
DATA:
CO=2,3,5,6,8,8;
UNID=70,100,20;
CANT=20,50,4,
30,30,9,
40,20,11
40,25,10,
45,50,9,
30,20,10;
ENDDATA
MIN=@SUM(TIPO:CO*X);
@FOR(MACRO(J):@SUM(TIPO(I):CANT(I,J)*X(I))>=UNID(J));
END
2.
Solucin:
!FAB=FABRICA(1,2)
!CEN=CENTRO (1,2)
DEM=DEMANDA;
SETS:
FAB/1..2/:PROD;
CEN/1..2/:DEM;
MATRIZ1(FAB,CEN):CO,X;
ENDSETS
DATA:
PROD=300,400;
DEM=250,350;
CO= 5,10,
12,3;
ENDDATA
X=UNIDADES TRANSPORTADAS;
MIN=@SUM(MATRIZ1:CO*X);
@FOR(FAB(I):@SUM(CEN(J):X(I,J))<=PROD(I));
@FOR(CEN(J):@SUM(FAB(I):X(I,J))>=DEM(J));
END
3.
!TIPO=TIPO DE INVERSION
DATA:
INT=8.5,9,8.5,14.3,6.7,13;
INV= 2000,400,10000,500;
DAT= 1,1,1,1,1,1,
0.02,0.01,0.38,0.45,0.07,0.35,
8,2,5,6,2,4,
0,0,0,1,0,1;
ENDDATA
MIN=@SUM(CAR:0.01*INT*X);
@FOR(TIPO(I):@SUM(CAR(J):DAT(I,J)*X(J))>=INV(I));
END
4.
SETS:
MAQ/1..2/:CAP;
PROD/1..4/:PV;
MATRIZ1(MAQ,PROD):TM,X,uti;
ENDSETS
DATA:
CAP=500,380;
PV=65,70,55,45;
TM= 2,3,4,2,
3,2,1,2;
UTI=45,40,15,25
50,60,50,35;
ENDDATA
MAX=@SUM(MATRIZ1:UTI*X);
@FOR(MAQ(I):@SUM(PROD(J):TM(I,J)*X(I,J))<=CAP(I));
END
5.
Solucin:
SETS:
CAMPOS/C1,C2/:PRODUCCION;
CLIENTES/Z1,Z2,Z3/:DEMANDA;
!se ha creado un cliente ficticio al cual llamamos z3;
RUTA1(CAMPOS,CAMPOS):S,Y;
RUTAS(CAMPOS,CLIENTES):C,X;
ENDSETS
MIN=@SUM(RUTAS:C*X)+@SUM(RUTA1:S*Y);
@FOR(CAMPOS(I):@SUM(CLIENTES(J):X(I,J))>=PRODUCCION(I));
@FOR(CLIENTES(J):@SUM(CAMPOS(I):X(I,J))>=DEMANDA(J));
PRODUCCION=500,400;
DEMANDA=400,300,200;
S=300,110,
420,100;
C= 450,550,0,
470,530,0;
ENDDATA
END
MIN
450 X( C1, Z1) + 550 X( C1, Z2) + 470 X( C2, Z1) + 530 X( C2, Z2)
+ 300 Y( C1, C1) + 110 Y( C1, C2) + 420 Y( C2, C1)
+ 100 Y( C2, C2)
SUBJECT TO
2]
500
3]
400
4]
400
5]
300
6]
200
END
6.
Solucin:
MAX Z = Y
X= NUMERO DE OPERACIONES;
UNID=UNIDADES REQUERIDAS
SETS:
PLANTA/1..4/:X;
MP/1..2/:DISP;
CAP/1..2/:SC;
SOL/1..1/:Y;
SC=SUMA DE CAPAS;
FAB= NUMERO DE CAPAS;
VECTOR1(PLANTA,MP):UNID;
VECTOR2(PLANTA,CAP):FAB;
ENDSETS
DATA:
DISP=700,900;
UNID=15,19,
14,20,
16,15,
12,18;
FAB=2,3,
3,7,
5,4,
4,4;
ENDDATA
MAX=@SUM(SOL:Y);
@FOR(MP(J):@SUM(PLANTA(I):UNID(I,J)*X(I))<=DISP(J));
@FOR(CAP(J):@SUM(PLANTA(I):FAB(I,J)*X(I))=SC(J));
Y(1)<=SC(1);
Y(1)<=SC(2)/2;
END
7.
Solucin:
SETS:
GRANJA/1..2/:TAM;
PRODUCTO/1..2/:DEMANDA;
RUTAS(GRANJA,PRODUCTO):UNID,COSTO,X;
ENDSETS
DATA:
TAM=100,100;
DEMANDA=11000,7000;
UNID=500,650,
400,350;
COSTO=100,120,
90,80;
ENDDATA
MIN=@SUM(RUTAS:COSTO*X);
@FOR(GRANJA(I):@SUM(PRODUCTO(J):X(I,J))<=TAM(I));
@FOR(PRODUCTO(J):@SUM(GRANJA(I):UNID(I,J)*X(I,J))>=DEMANDA(J));
END
8.
SETS:
VARI/1..3/:Rhs;
VARJ/1..2/:U,X;
ConsVar(VARI,VARJ):Aij;
ENDSETS
DATA:
Rhs=400,150,200;
U=8,5;
Aij= 2,1,
1,0,
0,1;
ENDDATA
!FUNCION OBJETIVO;
MAX=@SUM(VARJ:U*X);
@FOR(VARI(I):@SUM(VARJ(J):Aij(I,J)*X(J))<=Rhs(I));
END
9.
!HORAS=TUENO
!PERS=PERSONAL
MIN=PERSONAL MINIMO;
SETS:
HORAS/1..6/:X;
PERS/1..6/:MIN;
MATRIZ1(HORAS,PERS):CANT;
ENDSETS
DATA:
MIN=4,8,10,7,12,4;
CANT=1,1,0,0,0,0,
0,1,1,0,0,0,
0,0,1,1,0,0,
0,0,0,1,1,0,
0,0,0,0,1,1,
1,0,0,0,0,1;
ENDDATA
MIN=@SUM(HORAS:X);
@FOR(PERS(J):@SUM(HORAS(I):CANT(I,J)*X(I))>=MIN(J));
END
MIN
X( 1) + X( 2) + X( 3) + X( 4) + X( 5) + X( 6)
SUBJECT TO
2]
X( 1) + X( 6) >=
3]
X( 1) + X( 2) >=
4]
X( 2) + X( 3) >=
10
5]
X( 3) + X( 4) >=
6]
X( 4) + X( 5) >=
12
7]
X( 5) + X( 6) >=
END
10.
!TIPO=TIPO DE INVERSION
SETS:
TIPO/1..4/:INV;
CAR/1..6/:INT,X;
MATRIZ1(TIPO,CAR):DAT;
ENDSETS
DATA:
INT=8.5,9,8.5,14.3,6.7,13;
INV= 2000,400,10000,500;
DAT= 1,1,1,1,1,1,
0.02,0.01,0.38,0.45,0.07,0.35,
8,2,5,6,2,4,
0,0,0,1,0,1;
ENDDATA
MIN=@SUM(CAR:0.01*INT*X);
@FOR(TIPO(I):@SUM(CAR(J):DAT(I,J)*X(J))>=INV(I));
END