Modelo en Lingo compacto
75739499Apuntes7 de Marzo de 2023
12.511 Palabras (51 Páginas)69 Visitas
SOLUCION
Modelo en Lingo compacto:
MODEL:
!i:1,2,3 (plantas);
!j:1,2,3 (distribuidores);
!k:1,2,3,4 (tiendas);
!m:1,2,3,4 (meses);
SETS:
PLANTA/1..3/:CAPACIDAD_PLA, COSTPROD, II;
DISTRIBUIDOR/1..3/:CAPACIDAD_DIST;
TIENDA/1..4/:PRECIOV;
MES/1..4/:;
PD(PLANTA,DISTRIBUIDOR):COSTRANSP_1;
DT(DISTRIBUIDOR,TIENDA):COSTRANSP_2;
TM(TIENDA,MES):DEMANDA;
PM(PLANTA,MES):PROD,IF;
DM(DISTRIBUIDOR,MES):;
PDM(PLANTA,DISTRIBUIDOR,MES):X;
DTM(DISTRIBUIDOR,TIENDA,MES):Y;
ENDSETS
DATA:
CAPACIDAD_PLA = 2000 2500 3000;
CAPACIDAD_DIST= 4000 4000 4000;
COSTPROD= 16 14 10;
PRECIOV= 30 26 28 35;
COSTRANSP_1= 2 3 2
2 2 3
1 2 1;
COSTRANSP_2= 1 2 2 2
2 1 2 4
3 2 1 3;
DEMANDA= 200 1400 2000 1800
100 1600 1200 2000
400 1600 1400 1800
0 1800 1500 1700;
II= 500 500 500;
ENDDATA
MAX=@SUM(DTM(J,K,M):PRECIOV(K)*Y(J,K,M))-@SUM(DTM(J,K,M):COSTRANSP_2(J,K)*Y(J,K,M))-
@SUM(PDM(I,J,M):COSTRANSP_1(I,J)*X(I,J,M))-@SUM(PM(I,M):COSTPROD(I)*PROD(I,M));
@FOR(PM(I,M):@SUM(PLANTA(I):PROD(I,M))<=CAPACIDAD_PLA(I));
@FOR(DM(J,M):@SUM(PLANTA(I):X(I,J,M))<=CAPACIDAD_DIST(J));
@FOR(TM(K,M):@SUM(DISTRIBUIDOR(J):Y(J,K,M))<=DEMANDA(K,M));
@FOR(DM(J,M):@SUM(PLANTA(I):X(I,J,M))=@SUM(TIENDA(K):Y(J,K,M)));
@FOR(PM(I,M)|M#EQ#1:II(I)+PROD(I,M)=@SUM(DISTRIBUIDOR(J):X(I,J,M))+IF(I,M));
@FOR(PM(I,M)|M#GE#2:IF(I,M-1)+PROD(I,M)=@SUM(DISTRIBUIDOR(J):X(I,J,M))+IF(I,M));
END
De lo anterior obtendremos el reporte solución
Global optimal solution found.
Objective value: 338000.0
Infeasibilities: 0.000000
Total solver iterations: 65
Elapsed runtime seconds: 0.04
Model Class: LP
Total variables: 108
Nonlinear variables: 0
Integer variables: 0
Total constraints: 65
Nonlinear constraints: 0
Total nonzeros: 345
Nonlinear nonzeros: 0
Variable Value Reduced Cost
CAPACIDAD_PLA( 1) 2000.000 0.000000
CAPACIDAD_PLA( 2) 2500.000 0.000000
CAPACIDAD_PLA( 3) 3000.000 0.000000
COSTPROD( 1) 16.00000 0.000000
COSTPROD( 2) 14.00000 0.000000
COSTPROD( 3) 10.00000 0.000000
II( 1) 500.0000 0.000000
II( 2) 500.0000 0.000000
II( 3) 500.0000 0.000000
CAPACIDAD_DIST( 1) 4000.000 0.000000
CAPACIDAD_DIST( 2) 4000.000 0.000000
CAPACIDAD_DIST( 3) 4000.000 0.000000
PRECIOV( 1) 30.00000 0.000000
PRECIOV( 2) 26.00000 0.000000
PRECIOV( 3) 28.00000 0.000000
PRECIOV( 4) 35.00000 0.000000
COSTRANSP_1( 1, 1) 2.000000 0.000000
COSTRANSP_1( 1, 2) 3.000000 0.000000
COSTRANSP_1( 1, 3) 2.000000 0.000000
COSTRANSP_1( 2, 1) 2.000000 0.000000
COSTRANSP_1( 2, 2) 2.000000 0.000000
COSTRANSP_1( 2, 3) 3.000000 0.000000
COSTRANSP_1( 3, 1) 1.000000 0.000000
COSTRANSP_1( 3, 2) 2.000000 0.000000
COSTRANSP_1( 3, 3) 1.000000 0.000000
COSTRANSP_2( 1, 1) 1.000000 0.000000
COSTRANSP_2( 1, 2) 2.000000 0.000000
COSTRANSP_2( 1, 3) 2.000000 0.000000
COSTRANSP_2( 1, 4) 2.000000 0.000000
COSTRANSP_2( 2, 1) 2.000000 0.000000
COSTRANSP_2( 2, 2) 1.000000 0.000000
COSTRANSP_2( 2, 3) 2.000000 0.000000
COSTRANSP_2( 2, 4) 4.000000 0.000000
COSTRANSP_2( 3, 1) 3.000000 0.000000
COSTRANSP_2( 3, 2) 2.000000 0.000000
COSTRANSP_2( 3, 3) 1.000000 0.000000
COSTRANSP_2( 3, 4) 3.000000 0.000000
DEMANDA( 1, 1) 200.0000 0.000000
DEMANDA( 1, 2) 1400.000 0.000000
DEMANDA( 1, 3) 2000.000 0.000000
DEMANDA( 1, 4) 1800.000 0.000000
DEMANDA( 2, 1) 100.0000 0.000000
DEMANDA( 2, 2) 1600.000 0.000000
DEMANDA( 2, 3) 1200.000 0.000000
DEMANDA( 2, 4) 2000.000 0.000000
DEMANDA( 3, 1) 400.0000 0.000000
DEMANDA( 3, 2) 1600.000 0.000000
DEMANDA( 3, 3) 1400.000 0.000000
...