Está en la página 1de 21

Ejercicio 1

Modelo Compacto
MODEL:

!i:1,2,3 (plantas);

!j:1,2 (distribuidores);

!k:1,2,3,4 (tiendas);

!l:1,2,3,4 (meses);

SETS:

PLANTA/A..C/: COSTPROD, CAPPROD;

DIST/1..2/: CAPDIST;

TIENDA/1..4/: II, PV;

MESES/1..4/:;

PD(PLANTA,DIST): CT_1;

DT(DIST,TIENDA): CT_2;

TM(TIENDA,MESES): DEMANDA, VENTA, IF;

PM(PLANTA,MESES):;

DM(DIST,MESES):;

PDM(PLANTA, DIST, MESES):X;

DTM(DIST, TIENDA, MESES):Y;

ENDSETS

DATA:

COSTPROD= 14 14 10;

CAPPROD= 2000 2500 3000;

CAPDIST= 4000 4000;

II= 200 200 200 200;

PV= 30 26 28 35;

CT_1= 2 3

22

1 2;
CT_2= 1 2 2 2

2 1 2 4;

DEMANDA= 1200 1400 2000 1800

1100 1600 1200 2000

1400 1600 1400 1800

1000 1800 1500 1700;

ENDDATA

MAX=@SUM(TM(K,L):PV(K)*VENTA(K,L))-

@SUM(DTM(J,K,L):CT_2(J,K)*Y(J,K,L))

-@SUM(PDM(I,J,L):CT_1(I,J)*X(I,J,L)+COSTPROD(I)*X(I,J,L));

!RESTR;

@FOR(PM(I,L):@SUM(DIST(J):X(I,J,L)) <= CAPPROD(I));

@FOR(DM(J,L):@SUM(PLANTA(I):X(I,J,L)) <= CAPDIST(J));

@FOR(TM(K,L):@SUM(TIENDA(K):VENTA(K,L)) <= DEMANDA(K,L));

!BALANCES DISTRIBUIDORES;

@FOR(DM(J,L):@SUM(PLANTA(I):X(I,J,L)) =

@SUM(TIENDA(K):Y(J,K,L)));

!BALANCE TIENDAS;

@FOR(TM(K,L)|L#EQ#1:II(K) + @SUM(DIST(J):Y(J,K,L)) = VENTA(K,L)

+ IF(K,L));

@FOR(TM(K,L)|L#GT#1:IF(K,L-1) + @SUM(DIST(J):Y(J,K,L)) = VENTA(K,L) + IF(K,L));

END

Reporte Solución
LINGO/WIN32 19.0.40 (26 Apr 2021), LINDO API 13.0.4099.270

Licensee info: Eval Use Only

License expires: 23 AUG 2023

Global optimal solution found.

Objective value: 374300.0

Infeasibilities: 0.000000

Total solver iterations: 62

Elapsed runtime seconds: 0.05


Model Class: LP

Total variables: 88

Nonlinear variables: 0

Integer variables: 0

Total constraints: 61

Nonlinear constraints: 0

Total nonzeros: 268

Nonlinear nonzeros: 0

Variable Value Reduced Cost

COSTPROD( A) 14.00000 0.000000

COSTPROD( B) 14.00000 0.000000

COSTPROD( C) 10.00000 0.000000

CAPPROD( A) 2000.000 0.000000

CAPPROD( B) 2500.000 0.000000

CAPPROD( C) 3000.000 0.000000

CAPDIST( 1) 4000.000 0.000000

CAPDIST( 2) 4000.000 0.000000

II( 1) 200.0000 0.000000

II( 2) 200.0000 0.000000

II( 3) 200.0000 0.000000

II( 4) 200.0000 0.000000

PV( 1) 30.00000 0.000000

PV( 2) 26.00000 0.000000

PV( 3) 28.00000 0.000000

PV( 4) 35.00000 0.000000

CT_1( A, 1) 2.000000 0.000000

CT_1( A, 2) 3.000000 0.000000

CT_1( B, 1) 2.000000 0.000000

CT_1( B, 2) 2.000000 0.000000

CT_1( C, 1) 1.000000 0.000000

CT_1( C, 2) 2.000000 0.000000

CT_2( 1, 1) 1.000000 0.000000

CT_2( 1, 2) 2.000000 0.000000


CT_2( 1, 3) 2.000000 0.000000

CT_2( 1, 4) 2.000000 0.000000

CT_2( 2, 1) 2.000000 0.000000

CT_2( 2, 2) 1.000000 0.000000

CT_2( 2, 3) 2.000000 0.000000

CT_2( 2, 4) 4.000000 0.000000

DEMANDA( 1, 1) 1200.000 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) 1100.000 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) 1400.000 0.000000

DEMANDA( 3, 2) 1600.000 0.000000

DEMANDA( 3, 3) 1400.000 0.000000

DEMANDA( 3, 4) 1800.000 0.000000

DEMANDA( 4, 1) 1000.000 0.000000

DEMANDA( 4, 2) 1800.000 0.000000

DEMANDA( 4, 3) 1500.000 0.000000

DEMANDA( 4, 4) 1700.000 0.000000

VENTA( 1, 1) 1200.000 0.000000

VENTA( 1, 2) 1400.000 0.000000

VENTA( 1, 3) 2000.000 0.000000

VENTA( 1, 4) 1800.000 0.000000

VENTA( 2, 1) 1100.000 0.000000

VENTA( 2, 2) 1600.000 0.000000

VENTA( 2, 3) 1200.000 0.000000

VENTA( 2, 4) 2000.000 0.000000

VENTA( 3, 1) 1400.000 0.000000

VENTA( 3, 2) 1600.000 0.000000

VENTA( 3, 3) 1400.000 0.000000

VENTA( 3, 4) 1800.000 0.000000

VENTA( 4, 1) 1000.000 0.000000


VENTA( 4, 2) 1800.000 0.000000

VENTA( 4, 3) 1500.000 0.000000

VENTA( 4, 4) 1700.000 0.000000

IF( 1, 1) 300.0000 0.000000

IF( 1, 2) 0.000000 0.000000

IF( 1, 3) 0.000000 0.000000

IF( 1, 4) 0.000000 17.00000

IF( 2, 1) 0.000000 0.000000

IF( 2, 2) 0.000000 0.000000

IF( 2, 3) 0.000000 0.000000

IF( 2, 4) 0.000000 17.00000

IF( 3, 1) 0.000000 0.000000

IF( 3, 2) 0.000000 0.000000

IF( 3, 3) 800.0000 0.000000

IF( 3, 4) 0.000000 18.00000

IF( 4, 1) 0.000000 0.000000

IF( 4, 2) 400.0000 0.000000

IF( 4, 3) 0.000000 0.000000

IF( 4, 4) 0.000000 18.00000

X( A, 1, 1) 300.0000 0.000000

X( A, 1, 2) 1000.000 0.000000

X( A, 1, 3) 1000.000 0.000000

X( A, 1, 4) 1000.000 0.000000

X( A, 2, 1) 0.000000 1.000000

X( A, 2, 2) 0.000000 1.000000

X( A, 2, 3) 0.000000 1.000000

X( A, 2, 4) 0.000000 1.000000

X( B, 1, 1) 0.000000 0.000000

X( B, 1, 2) 0.000000 0.000000

X( B, 1, 3) 0.000000 0.000000

X( B, 1, 4) 0.000000 0.000000

X( B, 2, 1) 900.0000 0.000000

X( B, 2, 2) 2500.000 0.000000

X( B, 2, 3) 2500.000 0.000000

X( B, 2, 4) 2500.000 0.000000
X( C, 1, 1) 3000.000 0.000000

X( C, 1, 2) 3000.000 0.000000

X( C, 1, 3) 3000.000 0.000000

X( C, 1, 4) 3000.000 0.000000

X( C, 2, 1) 0.000000 1.000000

X( C, 2, 2) 0.000000 1.000000

X( C, 2, 3) 0.000000 1.000000

X( C, 2, 4) 0.000000 1.000000

Y( 1, 1, 1) 1300.000 0.000000

Y( 1, 1, 2) 1100.000 0.000000

Y( 1, 1, 3) 2000.000 0.000000

Y( 1, 1, 4) 1800.000 0.000000

Y( 1, 2, 1) 0.000000 1.000000

Y( 1, 2, 2) 0.000000 1.000000

Y( 1, 2, 3) 0.000000 1.000000

Y( 1, 2, 4) 0.000000 1.000000

Y( 1, 3, 1) 1200.000 0.000000

Y( 1, 3, 2) 700.0000 0.000000

Y( 1, 3, 3) 900.0000 0.000000

Y( 1, 3, 4) 500.0000 0.000000

Y( 1, 4, 1) 800.0000 0.000000

Y( 1, 4, 2) 2200.000 0.000000

Y( 1, 4, 3) 1100.000 0.000000

Y( 1, 4, 4) 1700.000 0.000000

Y( 2, 1, 1) 0.000000 1.000000

Y( 2, 1, 2) 0.000000 1.000000

Y( 2, 1, 3) 0.000000 1.000000

Y( 2, 1, 4) 0.000000 1.000000

Y( 2, 2, 1) 900.0000 0.000000

Y( 2, 2, 2) 1600.000 0.000000

Y( 2, 2, 3) 1200.000 0.000000

Y( 2, 2, 4) 2000.000 0.000000

Y( 2, 3, 1) 0.000000 0.000000

Y( 2, 3, 2) 900.0000 0.000000

Y( 2, 3, 3) 1300.000 0.000000
Y( 2, 3, 4) 500.0000 0.000000

Y( 2, 4, 1) 0.000000 2.000000

Y( 2, 4, 2) 0.000000 2.000000

Y( 2, 4, 3) 0.000000 2.000000

Y( 2, 4, 4) 0.000000 2.000000

Row Slack or Surplus Dual Price

1 374300.0 1.000000

2 1700.000 0.000000

3 1000.000 0.000000

4 1000.000 0.000000

5 1000.000 0.000000

6 1600.000 0.000000

7 0.000000 0.000000

8 0.000000 0.000000

9 0.000000 0.000000

10 0.000000 5.000000

11 0.000000 5.000000

12 0.000000 5.000000

13 0.000000 5.000000

14 700.0000 0.000000

15 0.000000 0.000000

16 0.000000 0.000000

17 0.000000 0.000000

18 3100.000 0.000000

19 1500.000 0.000000

20 1500.000 0.000000

21 1500.000 0.000000

22 0.000000 13.00000

23 0.000000 13.00000

24 0.000000 13.00000

25 0.000000 13.00000

26 0.000000 9.000000

27 0.000000 9.000000

28 0.000000 9.000000
29 0.000000 9.000000

30 0.000000 10.00000

31 0.000000 10.00000

32 0.000000 10.00000

33 0.000000 10.00000

34 0.000000 17.00000

35 0.000000 17.00000

36 0.000000 17.00000

37 0.000000 17.00000

38 0.000000 -16.00000

39 0.000000 -16.00000

40 0.000000 -16.00000

41 0.000000 -16.00000

42 0.000000 -16.00000

43 0.000000 -16.00000

44 0.000000 -16.00000

45 0.000000 -16.00000

46 0.000000 -17.00000

47 0.000000 -17.00000

48 0.000000 -18.00000

49 0.000000 -18.00000

50 0.000000 -17.00000

51 0.000000 -17.00000

52 0.000000 -17.00000

53 0.000000 -17.00000

54 0.000000 -17.00000

55 0.000000 -17.00000

56 0.000000 -18.00000

57 0.000000 -18.00000

58 0.000000 -18.00000

59 0.000000 -18.00000

60 0.000000 -18.00000

61 0.000000 -18.00000
RESPUESTA PREGUNTA 1: Se deberían enviar 700 items
PREGUNTA 2
EL MODELO COMPACTO
SETS:

PLANTA/1..3/:CAPACIDAD_PLA, COSTPROD, II;

DISTRIBUIDOR/1..2/: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;

COSTPROD= 14 14 10;

PRECIOV= 30 26 28 35;

COSTRANSP_1= 2 3

22

1 2;

COSTRANSP_2= 1 2 2 2

2 1 2 4;

DEMANDA= 1200 1400 2000 1800

1100 1600 1200 2000

1400 1600 1400 1800

1000 1800 1500 1700;

II= 200 200 200;

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));

!BALANCES DISTRIBUIDORES;

@FOR(DM(J,M):@SUM(PLANTA(I):X(I,J,M))=@SUM(TIENDA(K):Y(J,K,M)));

!BALANCE PLANTAS;

@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

REPORTE SOLUCION
LINGO/WIN32 19.0.40 (26 Apr 2021), LINDO API 13.0.4099.270

Licensee info: Eval Use Only

License expires: 23 AUG 2023

Global optimal solution found.

Objective value: 368900.0

Infeasibilities: 0.000000

Total solver iterations: 73

Elapsed runtime seconds: 0.05

Model Class: LP
Total variables: 80

Nonlinear variables: 0

Integer variables: 0

Total constraints: 57

Nonlinear constraints: 0

Total nonzeros: 249

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) 14.00000 0.000000

COSTPROD( 2) 14.00000 0.000000

COSTPROD( 3) 10.00000 0.000000

II( 1) 200.0000 0.000000

II( 2) 200.0000 0.000000

II( 3) 200.0000 0.000000

CAPACIDAD_DIST( 1) 4000.000 0.000000

CAPACIDAD_DIST( 2) 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( 2, 1) 2.000000 0.000000

COSTRANSP_1( 2, 2) 2.000000 0.000000

COSTRANSP_1( 3, 1) 1.000000 0.000000


COSTRANSP_1( 3, 2) 2.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

DEMANDA( 1, 1) 1200.000 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) 1100.000 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) 1400.000 0.000000

DEMANDA( 3, 2) 1600.000 0.000000

DEMANDA( 3, 3) 1400.000 0.000000

DEMANDA( 3, 4) 1800.000 0.000000

DEMANDA( 4, 1) 1000.000 0.000000

DEMANDA( 4, 2) 1800.000 0.000000

DEMANDA( 4, 3) 1500.000 0.000000

DEMANDA( 4, 4) 1700.000 0.000000

PROD( 1, 1) 0.000000 0.000000

PROD( 1, 2) 1000.000 0.000000

PROD( 1, 3) 1000.000 0.000000

PROD( 1, 4) 1000.000 0.000000

PROD( 2, 1) 1400.000 0.000000

PROD( 2, 2) 2500.000 0.000000

PROD( 2, 3) 2500.000 0.000000

PROD( 2, 4) 2500.000 0.000000


PROD( 3, 1) 3000.000 0.000000

PROD( 3, 2) 3000.000 0.000000

PROD( 3, 3) 3000.000 0.000000

PROD( 3, 4) 3000.000 0.000000

IF( 1, 1) 0.000000 0.000000

IF( 1, 2) 0.000000 0.000000

IF( 1, 3) 0.000000 0.000000

IF( 1, 4) 0.000000 14.00000

IF( 2, 1) 300.0000 0.000000

IF( 2, 2) 400.0000 0.000000

IF( 2, 3) 800.0000 0.000000

IF( 2, 4) 0.000000 14.00000

IF( 3, 1) 0.000000 0.000000

IF( 3, 2) 0.000000 0.000000

IF( 3, 3) 0.000000 0.000000

IF( 3, 4) 0.000000 15.00000

X( 1, 1, 1) 200.0000 0.000000

X( 1, 1, 2) 1000.000 0.000000

X( 1, 1, 3) 1000.000 0.000000

X( 1, 1, 4) 1000.000 0.000000

X( 1, 2, 1) 0.000000 1.000000

X( 1, 2, 2) 0.000000 1.000000

X( 1, 2, 3) 0.000000 1.000000

X( 1, 2, 4) 0.000000 1.000000

X( 2, 1, 1) 200.0000 0.000000

X( 2, 1, 2) 0.000000 0.000000

X( 2, 1, 3) 0.000000 0.000000

X( 2, 1, 4) 0.000000 0.000000

X( 2, 2, 1) 1100.000 0.000000

X( 2, 2, 2) 2400.000 0.000000

X( 2, 2, 3) 2100.000 0.000000

X( 2, 2, 4) 3300.000 0.000000

X( 3, 1, 1) 3200.000 0.000000
X( 3, 1, 2) 3000.000 0.000000

X( 3, 1, 3) 3000.000 0.000000

X( 3, 1, 4) 3000.000 0.000000

X( 3, 2, 1) 0.000000 1.000000

X( 3, 2, 2) 0.000000 1.000000

X( 3, 2, 3) 0.000000 1.000000

X( 3, 2, 4) 0.000000 1.000000

Y( 1, 1, 1) 1200.000 0.000000

Y( 1, 1, 2) 1400.000 0.000000

Y( 1, 1, 3) 2000.000 0.000000

Y( 1, 1, 4) 1800.000 0.000000

Y( 1, 2, 1) 0.000000 1.000000

Y( 1, 2, 2) 0.000000 1.000000

Y( 1, 2, 3) 0.000000 1.000000

Y( 1, 2, 4) 0.000000 1.000000

Y( 1, 3, 1) 1400.000 0.000000

Y( 1, 3, 2) 800.0000 0.000000

Y( 1, 3, 3) 500.0000 0.000000

Y( 1, 3, 4) 500.0000 0.000000

Y( 1, 4, 1) 1000.000 0.000000

Y( 1, 4, 2) 1800.000 0.000000

Y( 1, 4, 3) 1500.000 0.000000

Y( 1, 4, 4) 1700.000 0.000000

Y( 2, 1, 1) 0.000000 1.000000

Y( 2, 1, 2) 0.000000 1.000000

Y( 2, 1, 3) 0.000000 1.000000

Y( 2, 1, 4) 0.000000 1.000000

Y( 2, 2, 1) 1100.000 0.000000

Y( 2, 2, 2) 1600.000 0.000000

Y( 2, 2, 3) 1200.000 0.000000

Y( 2, 2, 4) 2000.000 0.000000

Y( 2, 3, 1) 0.000000 0.000000

Y( 2, 3, 2) 800.0000 0.000000
Y( 2, 3, 3) 900.0000 0.000000

Y( 2, 3, 4) 1300.000 0.000000

Y( 2, 4, 1) 0.000000 2.000000

Y( 2, 4, 2) 0.000000 2.000000

Y( 2, 4, 3) 0.000000 2.000000

Y( 2, 4, 4) 0.000000 2.000000

Row Slack or Surplus Dual Price

1 368900.0 1.000000

2 2000.000 0.000000

3 1000.000 0.000000

4 1000.000 0.000000

5 1000.000 0.000000

6 1100.000 0.000000

7 0.000000 0.000000

8 0.000000 0.000000

9 0.000000 0.000000

10 0.000000 5.000000

11 0.000000 5.000000

12 0.000000 5.000000

13 0.000000 5.000000

14 400.0000 0.000000

15 0.000000 0.000000

16 0.000000 0.000000

17 0.000000 0.000000

18 2900.000 0.000000

19 1600.000 0.000000

20 1900.000 0.000000

21 700.0000 0.000000

22 0.000000 13.00000

23 0.000000 13.00000

24 0.000000 13.00000

25 0.000000 13.00000
26 0.000000 9.000000

27 0.000000 9.000000

28 0.000000 9.000000

29 0.000000 9.000000

30 0.000000 10.00000

31 0.000000 10.00000

32 0.000000 10.00000

33 0.000000 10.00000

34 0.000000 17.00000

35 0.000000 17.00000

36 0.000000 17.00000

37 0.000000 17.00000

38 0.000000 -16.00000

39 0.000000 -16.00000

40 0.000000 -16.00000

41 0.000000 -16.00000

42 0.000000 -16.00000

43 0.000000 -16.00000

44 0.000000 -16.00000

45 0.000000 -16.00000

46 0.000000 -14.00000

47 0.000000 -14.00000

48 0.000000 -15.00000

49 0.000000 -14.00000

50 0.000000 -14.00000

51 0.000000 -14.00000

52 0.000000 -14.00000

53 0.000000 -14.00000

54 0.000000 -14.00000

55 0.000000 -15.00000

56 0.000000 -15.00000

57 0.000000 -15.00000
RESPUESTA : hay que enviar 800 items", que me confirme
si esta dentro de las opciones
PREGUNTA 3
PREGUNTA 4

!FUNCION OBJETIVO;

MIN = X1+X2+X3+X4+X5+X6+X7;

!RESTRICCIONES;

X1+X5+X6+X7 >= 19; !Req. de empleados en el dia Lunes;

X1+X2+X6+X7 >= 11; !Req. de empleados en el dia Martes;

X1+X2+X3+X7 >= 25; !Req. de empleados en el dia Miercoles;

X1+X2+X3+X4 >= 18; !Req. de empleados en el dia Jueves;

X2+X3+X4+X5 >= 24; !Req. de empleados en el dia Viernes;

X3+X4+X5+X6 >= 26; !Req. de empleados en el dia Sabado;

X4+X5+X6+X7 >= 12; !Req. de empleados en el dia Domingo;

END

También podría gustarte