Sei sulla pagina 1di 11

LINGO:

sets:
planta/1..3/: capacidad,costo,ritmoA,ritmoB,transporte;
cliente/1..2/:minimoA,minimoB;
pxc(planta,cliente):A,B;

endsets

Data:

capacidad= 90 100 110;


costo= 120 130 145;
ritmoA= 1.5 2 1.8;
ritmoB= 1.2 1.5 2;
transporte= 0.5 0.4 0.6;
minimoA= 120 140;
minimoB= 130 150;

EndData

min=@sum(pxc(i,j):
costo(i)*((A(i,j)/ritmoA(i))+(B(i,j)/ritmoB(i))))+@sum(pxc(i,j):transporte(i)
*(A(i,j)+B(i,j))^(2));

@for(planta(i):
@sum(cliente(j):((A(i,j)/ritmoA(i))+(B(i,j)/ritmoB(i))))<=capacidad(i);

@for(cliente(j):
@sum(planta(i): A(i,j))>=minimoA(j));

@for(cliente(j):
@sum(planta(i): B(i,j))>=minimoB(j));
SOLUCIÓN:
Global optimal solution found.
Objective value: 65999.73
Infeasibilities: 0.000000
Total solver iterations: 14
Elapsed runtime seconds: 0.41
Model is convex quadratic

Model Class: QP

Total variables: 12
Nonlinear variables: 12
Integer variables: 0

Total constraints: 8
Nonlinear constraints: 1

Total nonzeros: 36
Nonlinear nonzeros: 18

Variable Value Reduced Cost


CAPACIDAD( 1) 90.00000 0.000000
CAPACIDAD( 2) 100.0000 0.000000
CAPACIDAD( 3) 110.0000 0.000000
COSTO( 1) 120.0000 0.000000
COSTO( 2) 130.0000 0.000000
COSTO( 3) 145.0000 0.000000
RITMOA( 1) 1.500000 0.000000
RITMOA( 2) 2.000000 0.000000
RITMOA( 3) 1.800000 0.000000
RITMOB( 1) 1.200000 0.000000
RITMOB( 2) 1.500000 0.000000
RITMOB( 3) 2.000000 0.000000
TRANSPORTE( 1) 0.5000000 0.000000
TRANSPORTE( 2) 0.4000000 0.000000
TRANSPORTE( 3) 0.6000000 0.000000
MINIMOA( 1) 120.0000 0.000000
MINIMOA( 2) 140.0000 0.000000
MINIMOB( 1) 130.0000 0.000000
MINIMOB( 2) 150.0000 0.000000
A( 1, 1) 28.10811
0.3497488E-05
A( 1, 2) 31.89189
0.4004355E-05
A( 2, 1) 91.89189
0.1171226E-05
A( 2, 2) 108.1081
0.9165886E-06
A( 3, 1) 0.4685486E-07 1397.059
A( 3, 2) 0.4770862E-07 1397.059
B( 1, 1) 25.40541
0.5257977E-05
B( 1, 2) 34.59459
0.2694508E-05
B( 2, 1) 0.3164357E-06 294.4174
B( 2, 2) 0.3020418E-06 294.4174
B( 3, 1) 104.5946
0.9270191E-06
B( 3, 2) 115.4054
0.9420044E-06

Row Slack or Surplus Dual Price


1 65999.73 -1.000000
2 0.6129627E-06 5299.514
3 0.6770663E-06 7056.018
4 0.7432770E-06 8743.523
5 -0.8273388E-06 -3666.523
6 -0.9654784E-06 -3679.496
7 -0.9018962E-06 -4569.775
8 -0.1039917E-05 -4582.748

LINGO:
sets:
quinua/1..3/:a,b,grado_s,w;
producto/1..2/:grado_m,c,p;
mercado/1..2/:;
qxp(quinua,producto):x;
pxm(producto,mercado):y,min_env,costo_env;
endsets
data:
a = 120 150 140;
b = 0.1 0.2 0.3;
grado_s = 60 70 80;
grado_m = 65 75;
c = 0.2 0.3;
min_env = 300 250
200 250;
costo_env = 2 3
4 5;
enddata

min= @sum(quinua(i):(a(i)+b(i)*w(i))*w(i))+
@sum(producto(j):(c(j)*p(j)^(2)))+
@sum(pxm(j,k):costo_env(j,k)*y(j,k));

@for(quinua(i):w(i)=@sum(producto(j):x(i,j)));
@for(producto(j):p(j)=@sum(quinua(i):x(i,j)));
@sum(producto(j):c(j)*p(j)^(2))<=130000;
@for(pxm(j,k):y(j,k)>=min_env(j,k));
@for(producto(j):@sum(quinua(i):grado_s(i)*x(i,j))>=grado_m(j)*p(j));
@for(producto(j):@sum(quinua(i):x(i,j))=@sum(mercado(k):y(j,k)));

SOLUCION:

Global optimal solution found.


Objective value: 323879.2
Infeasibilities: 0.1136798E-03
Total solver iterations: 13
Elapsed runtime seconds: 0.04
Model is convex quadratic

Model Class: QP

Total variables: 15
Nonlinear variables: 5
Integer variables: 0

Total constraints: 15
Nonlinear constraints: 2

Total nonzeros: 50
Nonlinear nonzeros: 7

Variable Value Reduced Cost


A( 1) 120.0000 0.000000
A( 2) 150.0000 0.000000
A( 3) 140.0000 0.000000
B( 1) 0.1000000 0.000000
B( 2) 0.2000000 0.000000
B( 3) 0.3000000 0.000000
GRADO_S( 1) 60.00000 0.000000
GRADO_S( 2) 70.00000 0.000000
GRADO_S( 3) 80.00000 0.000000
W( 1) 379.1667
0.2690920E-06
W( 2) 291.6667
0.1307453E-05
W( 3) 329.1667 -
0.2381761E-06
GRADO_M( 1) 65.00000 0.000000
GRADO_M( 2) 75.00000 0.000000
C( 1) 0.2000000 0.000000
C( 2) 0.3000000 0.000000
P( 1) 550.0000
0.8563536E-06
P( 2) 450.0000
0.1073704E-05
X( 1, 1) 331.0261
0.5387619E-08
X( 1, 2) 48.14053
0.2022222E-07
X( 2, 1) 162.9477
0.1253534E-07
X( 2, 2) 128.7189
0.1487621E-07
X( 3, 1) 56.02614
0.1737527E-07
X( 3, 2) 273.1405
0.7222525E-08
Y( 1, 1) 300.0000 0.000000
Y( 1, 2) 250.0000 0.000000
Y( 2, 1) 200.0000 0.000000
Y( 2, 2) 250.0000 0.000000
MIN_ENV( 1, 1) 300.0000 0.000000
MIN_ENV( 1, 2) 250.0000 0.000000
MIN_ENV( 2, 1) 200.0000 0.000000
MIN_ENV( 2, 2) 250.0000 0.000000
COSTO_ENV( 1, 1) 2.000000 0.000000
COSTO_ENV( 1, 2) 3.000000 0.000000
COSTO_ENV( 2, 1) 4.000000 0.000000
COSTO_ENV( 2, 2) 5.000000 0.000000

Row Slack or Surplus Dual Price


1 323879.2 -1.000000
2 -0.1207910E-05 -195.8333
3 -0.9291609E-06 -266.6667
4 -0.1048624E-05 -337.5000
5 -0.1752132E-05 -680.4167
6 -0.1433562E-05 -801.2500
7 8749.999 0.000000
8 -0.1777767E-07 -453.2500
9 0.000000 -454.2500
10 -0.1473796E-07 -576.0833
11 0.000000 -577.0833
12 -0.1136798E-03 -7.083333
13 -0.1071231E-03 -7.083333
14 0.000000 -451.2500
15 0.000000 -572.0833
LINGO:
sets:

planta/1..2/: produccion;
almacen/1..2/:;
ventas/1..2/: minimo;
pxa(planta,almacen): X,F;
pxv(planta,ventas): Y,G;
axv(almacen,ventas): costo,W;

end sets

Data:

produccion= 1000 1200;


minimo= 1400 600;
F= 0.4 0.3
0.2 0.5;
G= 0.1 0.15
0.1 0.15;
costo= 2 4
3 2;
End data

min= @sum(pxa(i,j): F(i,j)*X(i,j)^(2))+ @sum(pxv(i,k): G(i,k)*Y(i,k)^(2)) +


@sum(axv(j,k): costo(j,k)*W(j,k));

@for(planta(i):
@sum(almacen(j): X(i,j)) + @sum(ventas(k): Y(i,k)) <= produccion(i));

@for(ventas(k):
@sum(planta(i): Y(i,k)) + @sum(almacen(j): W(j,k)) >= minimo(k));

@for(almacen(j):
@sum(planta(i):X(i,j))= @sum(ventas(k): W(j,k)));

@sum(pxa(i,j): X(i,j)^(2)*F(i,j)) <= 23000;

SOLUCION:

Global optimal solution found.


Objective value: 87952.19
Infeasibilities: 0.8190848E-08
Total solver iterations: 16
Elapsed runtime seconds: 0.44
Model is convex quadratic

Model Class: QP

Total variables: 12
Nonlinear variables: 8
Integer variables: 0

Total constraints: 8
Nonlinear constraints: 2

Total nonzeros: 40
Nonlinear nonzeros: 12

Variable Value Reduced Cost


PRODUCCION( 1) 1000.000 0.000000
PRODUCCION( 2) 1200.000 0.000000
MINIMO( 1) 1400.000 0.000000
MINIMO( 2) 600.0000 0.000000
X( 1, 1) 106.3495
0.3246932E-06
X( 1, 2) 140.1468
0.2458079E-06
X( 2, 1) 212.6990
0.1610777E-06
X( 2, 2) 84.08812
0.4115822E-06
F( 1, 1) 0.4000000 0.000000
F( 1, 2) 0.3000000 0.000000
F( 2, 1) 0.2000000 0.000000
F( 2, 2) 0.5000000 0.000000
Y( 1, 1) 439.0150
0.7720893E-07
Y( 1, 2) 289.3433
0.1179814E-06
Y( 2, 1) 439.0150
0.7718713E-07
Y( 2, 2) 289.3433
0.1179476E-06
G( 1, 1) 0.1000000 0.000000
G( 1, 2) 0.1500000 0.000000
G( 2, 1) 0.1000000 0.000000
G( 2, 2) 0.1500000 0.000000
COSTO( 1, 1) 2.000000 0.000000
COSTO( 1, 2) 4.000000 0.000000
COSTO( 2, 1) 3.000000 0.000000
COSTO( 2, 2) 2.000000 0.000000
W( 1, 1) 319.0485
0.1079196E-06
W( 1, 2) 0.1150476E-04 3.000002
W( 2, 1) 202.9215
0.1686237E-06
W( 2, 2) 21.31337
0.1658194E-05

Row Slack or Surplus Dual Price


1 87952.19 -1.000000
2 25.14542
0.1384105E-05
3 174.8546
0.1986792E-06
4 -0.2564650E-05 -87.80296
5 -0.8758919E-06 -86.80296
6 0.000000 -85.80296
7 0.000000 -84.80296
8 0.6863955E-03
0.8499495E-02
Sets:
Producto/1..3/:;
Region/1..2/:;
Insumo/1..2/: disponible, ins;
PxR(producto, region): A, B, X, maximo;
IxP(insumo, producto): Requer;
end sets

Data:
disponible= 350 300;
A= 40.6 25.4
18.4 27
26.8 29;
B= 0.16 0.09
0.06 0.08
0.08 0.09;
maximo= 210 250
220 200
190 280;
Requer= 0.3 0.4 0.2
0.4 0.5 0.3;
End data
Max= @sum(PxR(i,j):(A(i,j)-B(i,j)*X(i,j))*X(i,j))-
@sum(insumo(k):0.00005*(ins^3));

@for(PxR(i,j):
X(i,j)<=Maximo(i,j));

@for(insumo(k):
Ins(k)<=Disponible(k));

@for(insumo(k):
Ins(k)= @sum(PxR(i,j):Requer(k,i)*X(i,j)));

1.6

1.7
Sets:
Mes/1..3/: A, B, P, Capac_prod, Demanda, X;
Frigorifico/1..2/: C, D, Capac_almac;
MxF(mes, frigorifico): SF;
End sets

Data:
A= 0.8 1 1.2;
B= 0.8 0.9 0.7;
Capac_prod= 1100 1200 1000;
Demanda= 700 800 1000;
C= 5 6;
D= 4 5;
Capac_almac= 60 80;
End data

Min= @sum(mes(i): A(i)*X(i)^2+B(i)*X(i))+


@sum(MxF(i,j):(C(j)*SF(i,j)-D(j))*SF(i,j));

@for(mes(i):X(i)<=capac_prod(i));
@for(MxF(i,j): SF(i,j)<=Capac_almac(j));
@for(mes(i)|i#eq#1:
@sum(frigorifico(j):SF(i,j))=X(i)-Demanda(i));
@for(mes(i)|i#ge#2:
@sum(frigorifico(j):SF(i,j))=@sum(frigorifico(j):SF(i-1,j))+X(i)-
Demanda(i));

Potrebbero piacerti anche