Lab2 iop11. 1. MODELO EN LENGUAJE MATEMÁTICO
VARIABLES DE DECISIÓN
SC i,j : Cantidad de sustancia i comprada en el mes j
SR i,j : Cantidad de sustancia i refinada en el mes j
II i,j : Inventario Inicial de sustancia i en el mes j
IF i,j : Inventario Final de sustancia i en el mes j
Donde: i: Art1=1, Art2=2, Nat1=3, Nat2=4, Nat3=5
j: Enero=1, Febrero=2, Marzo=3, Abril=4, Mayo=5, Junio=6
FUNCIÓN OBJETIVO
Maximizar Z = - -
RESTRICCIONES
; i=1,2 (Límite por mes de refinamiento artificial)
; i=3,4,5 (Límite por mes de refinamiento natural)
II i,j = 730 ; i=1..5 , j=1 (Inventario inicial de cada sustancia en el mes 1)
SR i,j<= II i,j + SC i,j ; i=1..5 , j=1..6 (Lo que refinas tiene que ser menor a lo que
tienes ese mes en tu inventario más lo que compras)
II i,j = IF I,j-1 ; i=1..5 , j≠1 (El inventario inicial de este mes es el inventario final
del mes pasado)
IF i,j = II i,j + SC i,j – SR i,j ; i=1..5 , j=1..6 (El inventario final de este mes es
igual al inventario inicial de este mes, más lo que compras de sustancias, menos
lo que refinas de sustancias)
IF i,j<= 1360 ; i=1..5 , j≠6 (Límite de almacenamiento mensual por producto)
IF i,j = 730 ; i=1..5 , j=6 ( Inventario final de cada sustancia en el último mes)
; i=1..5 (Dureza mínima que debe tener el producto final)
2. ; i=1..5 (Dureza máxima que debe tener el producto final)
RANGO DE EXISTENCIA
SC i,j>=0
SR i,j>=0
II i,j>=0
IF i,j>=0
2. MODELO EN EL LENGUAJE DEL LINGO
Model:
Sets:
Sustancia/Art1 Art2 Nat1 Nat2 Nat3/: Dureza;
Mes/En Feb Mar Abr May Jun/;
SustanciaxMes(Sustancia, Mes): PrecioSust, CantSustComprada,
CantSustRefinada, InvFinal, InvInicial;
Endsets
Data:
PrecioAlim = 170;
CostoAlm = 6;
MaxRefinadoArt= 320;
MaxRefinadoNat = 350;
AlmacenMax = 1360;
Inicial = 730;
Dureza = 9.5 7.1 3.4 5.2 4.8;
PrecioSust = 130 150 130 140 120 110
140 150 160 130 140 120
150 130 150 140 170 160
130 110 120 140 130 100
135 135 115 145 125 155;
Enddata
max = (@sum(SustanciaxMes(I,J):CantSustRefinada(I,J)) * PrecioAlim)
- @sum(SustanciaxMes(I,J):PrecioSust(I,J)*CantSustComprada(I,J))
-@sum(SustanciaxMes(I,J):InvFinal(I,J))*CostoAlm;
@for(Mes(J):@sum(SustanciaxMes(I,J)| I #LE# 2: CantSustRefinada(I,J))
<=MaxRefinadoArt);
@for(Mes(J):@sum(SustanciaxMes(I,J)| I #GE# 3: CantSustRefinada(I,J)) <=
MaxRefinadoNat);
@for(SustanciaxMes(I,J)| J #EQ# 1 : InvInicial(I,J) = Inicial);
3. @for(SustanciaxMes(I,J): CantSustRefinada(I,J) <= InvInicial(I,J) +
CantSustComprada(I,J));
@for(SustanciaxMes(I,J)| J #NE# 1 : InvInicial(I,J) = InvFinal(I,J-1));
@for(SustanciaxMes(I,J): InvFinal(I,J)=InvInicial(I,J)+
CantSustComprada(I,J)-CantSustRefinada(I,J));!
@for(SustanciaxMes(I,J)| J #NE# 6: InvFinal(I,J) <= AlmacenMax
);@for(SustanciaxMes(I,J)| J #EQ# 6: InvFinal(I,J) = Inicial);
@for(Mes(J): @sum(SustanciaxMes(I,J): CantSustRefinada(I,J)*
Dureza(I))/(@sum(SustanciaxMes(I,J):CantSustRefinada(I,J))) >= 5);
@for(Mes(J): @sum(SustanciaxMes(I,J): CantSustRefinada(I,J)*
Dureza(I))/(@sum(SustanciaxMes(I,J):CantSustRefinada(I,J))) <= 7);
End
3. MODELO ALGEBRAICO DEL LINGO
MODEL:
[_1] MAX= - 130 * CANTSUSTCOMPRADA_ART1_EN + 170 * CANTSUSTREFINADA_ART1_EN
- 6 *
INVFINAL_ART1_EN - 150 * CANTSUSTCOMPRADA_ART1_FEB + 170 *
CANTSUSTREFINADA_ART1_FEB - 6 * INVFINAL_ART1_FEB - 130 *
CANTSUSTCOMPRADA_ART1_MAR + 170 * CANTSUSTREFINADA_ART1_MAR - 6 *
INVFINAL_ART1_MAR - 140 * CANTSUSTCOMPRADA_ART1_ABR + 170 *
CANTSUSTREFINADA_ART1_ABR - 6 * INVFINAL_ART1_ABR - 120 *
CANTSUSTCOMPRADA_ART1_MAY + 170 * CANTSUSTREFINADA_ART1_MAY - 6 *
INVFINAL_ART1_MAY - 110 * CANTSUSTCOMPRADA_ART1_JUN + 170 *
CANTSUSTREFINADA_ART1_JUN - 140 * CANTSUSTCOMPRADA_ART2_EN + 170 *
CANTSUSTREFINADA_ART2_EN - 6 * INVFINAL_ART2_EN - 150 *
CANTSUSTCOMPRADA_ART2_FEB
+ 170 * CANTSUSTREFINADA_ART2_FEB - 6 * INVFINAL_ART2_FEB - 160 *
CANTSUSTCOMPRADA_ART2_MAR + 170 * CANTSUSTREFINADA_ART2_MAR - 6 *
INVFINAL_ART2_MAR - 130 * CANTSUSTCOMPRADA_ART2_ABR + 170 *
CANTSUSTREFINADA_ART2_ABR - 6 * INVFINAL_ART2_ABR - 140 *
CANTSUSTCOMPRADA_ART2_MAY + 170 * CANTSUSTREFINADA_ART2_MAY - 6 *
INVFINAL_ART2_MAY - 120 * CANTSUSTCOMPRADA_ART2_JUN + 170 *
CANTSUSTREFINADA_ART2_JUN - 150 * CANTSUSTCOMPRADA_NAT1_EN + 170 *
CANTSUSTREFINADA_NAT1_EN - 6 * INVFINAL_NAT1_EN - 130 *
CANTSUSTCOMPRADA_NAT1_FEB
+ 170 * CANTSUSTREFINADA_NAT1_FEB - 6 * INVFINAL_NAT1_FEB - 150 *
CANTSUSTCOMPRADA_NAT1_MAR + 170 * CANTSUSTREFINADA_NAT1_MAR - 6 *
INVFINAL_NAT1_MAR - 140 * CANTSUSTCOMPRADA_NAT1_ABR + 170 *
CANTSUSTREFINADA_NAT1_ABR - 6 * INVFINAL_NAT1_ABR - 170 *
CANTSUSTCOMPRADA_NAT1_MAY + 170 * CANTSUSTREFINADA_NAT1_MAY - 6 *
INVFINAL_NAT1_MAY - 160 * CANTSUSTCOMPRADA_NAT1_JUN + 170 *
CANTSUSTREFINADA_NAT1_JUN - 130 * CANTSUSTCOMPRADA_NAT2_EN + 170 *
CANTSUSTREFINADA_NAT2_EN - 6 * INVFINAL_NAT2_EN - 110 *
CANTSUSTCOMPRADA_NAT2_FEB
+ 170 * CANTSUSTREFINADA_NAT2_FEB - 6 * INVFINAL_NAT2_FEB - 120 *
CANTSUSTCOMPRADA_NAT2_MAR + 170 * CANTSUSTREFINADA_NAT2_MAR - 6 *
INVFINAL_NAT2_MAR - 140 * CANTSUSTCOMPRADA_NAT2_ABR + 170 *
CANTSUSTREFINADA_NAT2_ABR - 6 * INVFINAL_NAT2_ABR - 130 *
CANTSUSTCOMPRADA_NAT2_MAY + 170 * CANTSUSTREFINADA_NAT2_MAY - 6 *
INVFINAL_NAT2_MAY - 100 * CANTSUSTCOMPRADA_NAT2_JUN + 170 *
CANTSUSTREFINADA_NAT2_JUN - 135 * CANTSUSTCOMPRADA_NAT3_EN + 170 *
CANTSUSTREFINADA_NAT3_EN - 6 * INVFINAL_NAT3_EN - 135 *
CANTSUSTCOMPRADA_NAT3_FEB
4. + 170 * CANTSUSTREFINADA_NAT3_FEB - 6 * INVFINAL_NAT3_FEB - 115 *
CANTSUSTCOMPRADA_NAT3_MAR + 170 * CANTSUSTREFINADA_NAT3_MAR - 6 *
INVFINAL_NAT3_MAR - 145 * CANTSUSTCOMPRADA_NAT3_ABR + 170 *
CANTSUSTREFINADA_NAT3_ABR - 6 * INVFINAL_NAT3_ABR - 125 *
CANTSUSTCOMPRADA_NAT3_MAY + 170 * CANTSUSTREFINADA_NAT3_MAY - 6 *
INVFINAL_NAT3_MAY - 155 * CANTSUSTCOMPRADA_NAT3_JUN + 170 *
CANTSUSTREFINADA_NAT3_JUN - 21900;
[_2] CANTSUSTREFINADA_ART1_EN + CANTSUSTREFINADA_ART2_EN <= 320;
[_3] CANTSUSTREFINADA_ART1_FEB + CANTSUSTREFINADA_ART2_FEB <= 320;
[_4] CANTSUSTREFINADA_ART1_MAR + CANTSUSTREFINADA_ART2_MAR <= 320;
[_5] CANTSUSTREFINADA_ART1_ABR + CANTSUSTREFINADA_ART2_ABR <= 320;
[_6] CANTSUSTREFINADA_ART1_MAY + CANTSUSTREFINADA_ART2_MAY <= 320;
[_7] CANTSUSTREFINADA_ART1_JUN + CANTSUSTREFINADA_ART2_JUN <= 320;
[_8] CANTSUSTREFINADA_NAT1_EN + CANTSUSTREFINADA_NAT2_EN +
CANTSUSTREFINADA_NAT3_EN
<= 350;
[_9] CANTSUSTREFINADA_NAT1_FEB + CANTSUSTREFINADA_NAT2_FEB +
CANTSUSTREFINADA_NAT3_FEB <= 350;
[_10] CANTSUSTREFINADA_NAT1_MAR + CANTSUSTREFINADA_NAT2_MAR +
CANTSUSTREFINADA_NAT3_MAR <= 350;
[_11] CANTSUSTREFINADA_NAT1_ABR + CANTSUSTREFINADA_NAT2_ABR +
CANTSUSTREFINADA_NAT3_ABR <= 350;
[_12] CANTSUSTREFINADA_NAT1_MAY + CANTSUSTREFINADA_NAT2_MAY +
CANTSUSTREFINADA_NAT3_MAY <= 350;
[_13] CANTSUSTREFINADA_NAT1_JUN + CANTSUSTREFINADA_NAT2_JUN +
CANTSUSTREFINADA_NAT3_JUN <= 350;
[_19] - CANTSUSTCOMPRADA_ART1_EN + CANTSUSTREFINADA_ART1_EN <= 730;
[_20] - CANTSUSTCOMPRADA_ART1_FEB + CANTSUSTREFINADA_ART1_FEB -
INVINICIAL_ART1_FEB
<= 0;
[_21] - CANTSUSTCOMPRADA_ART1_MAR + CANTSUSTREFINADA_ART1_MAR -
INVINICIAL_ART1_MAR
<= 0;
[_22] - CANTSUSTCOMPRADA_ART1_ABR + CANTSUSTREFINADA_ART1_ABR -
INVINICIAL_ART1_ABR
<= 0;
[_23] - CANTSUSTCOMPRADA_ART1_MAY + CANTSUSTREFINADA_ART1_MAY -
INVINICIAL_ART1_MAY
<= 0;
[_24] - CANTSUSTCOMPRADA_ART1_JUN + CANTSUSTREFINADA_ART1_JUN -
INVINICIAL_ART1_JUN
<= 0;
[_25] - CANTSUSTCOMPRADA_ART2_EN + CANTSUSTREFINADA_ART2_EN <= 730;
[_26] - CANTSUSTCOMPRADA_ART2_FEB + CANTSUSTREFINADA_ART2_FEB -
INVINICIAL_ART2_FEB
<= 0;
[_27] - CANTSUSTCOMPRADA_ART2_MAR + CANTSUSTREFINADA_ART2_MAR -
INVINICIAL_ART2_MAR
<= 0;
[_28] - CANTSUSTCOMPRADA_ART2_ABR + CANTSUSTREFINADA_ART2_ABR -
INVINICIAL_ART2_ABR
<= 0;
[_29] - CANTSUSTCOMPRADA_ART2_MAY + CANTSUSTREFINADA_ART2_MAY -
INVINICIAL_ART2_MAY
<= 0;
[_30] - CANTSUSTCOMPRADA_ART2_JUN + CANTSUSTREFINADA_ART2_JUN -
INVINICIAL_ART2_JUN
5. <= 0;
[_31] - CANTSUSTCOMPRADA_NAT1_EN + CANTSUSTREFINADA_NAT1_EN <= 730;
[_32] - CANTSUSTCOMPRADA_NAT1_FEB + CANTSUSTREFINADA_NAT1_FEB -
INVINICIAL_NAT1_FEB
<= 0;
[_33] - CANTSUSTCOMPRADA_NAT1_MAR + CANTSUSTREFINADA_NAT1_MAR -
INVINICIAL_NAT1_MAR
<= 0;
[_34] - CANTSUSTCOMPRADA_NAT1_ABR + CANTSUSTREFINADA_NAT1_ABR -
INVINICIAL_NAT1_ABR
<= 0;
[_35] - CANTSUSTCOMPRADA_NAT1_MAY + CANTSUSTREFINADA_NAT1_MAY -
INVINICIAL_NAT1_MAY
<= 0;
[_36] - CANTSUSTCOMPRADA_NAT1_JUN + CANTSUSTREFINADA_NAT1_JUN -
INVINICIAL_NAT1_JUN
<= 0;
[_37] - CANTSUSTCOMPRADA_NAT2_EN + CANTSUSTREFINADA_NAT2_EN <= 730;
[_38] - CANTSUSTCOMPRADA_NAT2_FEB + CANTSUSTREFINADA_NAT2_FEB -
INVINICIAL_NAT2_FEB
<= 0;
[_39] - CANTSUSTCOMPRADA_NAT2_MAR + CANTSUSTREFINADA_NAT2_MAR -
INVINICIAL_NAT2_MAR
<= 0;
[_40] - CANTSUSTCOMPRADA_NAT2_ABR + CANTSUSTREFINADA_NAT2_ABR -
INVINICIAL_NAT2_ABR
<= 0;
[_41] - CANTSUSTCOMPRADA_NAT2_MAY + CANTSUSTREFINADA_NAT2_MAY -
INVINICIAL_NAT2_MAY
<= 0;
[_42] - CANTSUSTCOMPRADA_NAT2_JUN + CANTSUSTREFINADA_NAT2_JUN -
INVINICIAL_NAT2_JUN
<= 0;
[_43] - CANTSUSTCOMPRADA_NAT3_EN + CANTSUSTREFINADA_NAT3_EN <= 730;
[_44] - CANTSUSTCOMPRADA_NAT3_FEB + CANTSUSTREFINADA_NAT3_FEB -
INVINICIAL_NAT3_FEB
<= 0;
[_45] - CANTSUSTCOMPRADA_NAT3_MAR + CANTSUSTREFINADA_NAT3_MAR -
INVINICIAL_NAT3_MAR
<= 0;
[_46] - CANTSUSTCOMPRADA_NAT3_ABR + CANTSUSTREFINADA_NAT3_ABR -
INVINICIAL_NAT3_ABR
<= 0;
[_47] - CANTSUSTCOMPRADA_NAT3_MAY + CANTSUSTREFINADA_NAT3_MAY -
INVINICIAL_NAT3_MAY
<= 0;
[_48] - CANTSUSTCOMPRADA_NAT3_JUN + CANTSUSTREFINADA_NAT3_JUN -
INVINICIAL_NAT3_JUN
<= 0;
[_49] - INVFINAL_ART1_EN + INVINICIAL_ART1_FEB = 0;
[_50] - INVFINAL_ART1_FEB + INVINICIAL_ART1_MAR = 0;
[_51] - INVFINAL_ART1_MAR + INVINICIAL_ART1_ABR = 0;
[_52] - INVFINAL_ART1_ABR + INVINICIAL_ART1_MAY = 0;
[_53] - INVFINAL_ART1_MAY + INVINICIAL_ART1_JUN = 0;
[_54] - INVFINAL_ART2_EN + INVINICIAL_ART2_FEB = 0;
[_55] - INVFINAL_ART2_FEB + INVINICIAL_ART2_MAR = 0;
[_56] - INVFINAL_ART2_MAR + INVINICIAL_ART2_ABR = 0;
6. [_57] - INVFINAL_ART2_ABR + INVINICIAL_ART2_MAY = 0;
[_58] - INVFINAL_ART2_MAY + INVINICIAL_ART2_JUN = 0;
[_59] - INVFINAL_NAT1_EN + INVINICIAL_NAT1_FEB = 0;
[_60] - INVFINAL_NAT1_FEB + INVINICIAL_NAT1_MAR = 0;
[_61] - INVFINAL_NAT1_MAR + INVINICIAL_NAT1_ABR = 0;
[_62] - INVFINAL_NAT1_ABR + INVINICIAL_NAT1_MAY = 0;
[_63] - INVFINAL_NAT1_MAY + INVINICIAL_NAT1_JUN = 0;
[_64] - INVFINAL_NAT2_EN + INVINICIAL_NAT2_FEB = 0;
[_65] - INVFINAL_NAT2_FEB + INVINICIAL_NAT2_MAR = 0;
[_66] - INVFINAL_NAT2_MAR + INVINICIAL_NAT2_ABR = 0;
[_67] - INVFINAL_NAT2_ABR + INVINICIAL_NAT2_MAY = 0;
[_68] - INVFINAL_NAT2_MAY + INVINICIAL_NAT2_JUN = 0;
[_69] - INVFINAL_NAT3_EN + INVINICIAL_NAT3_FEB = 0;
[_70] - INVFINAL_NAT3_FEB + INVINICIAL_NAT3_MAR = 0;
[_71] - INVFINAL_NAT3_MAR + INVINICIAL_NAT3_ABR = 0;
[_72] - INVFINAL_NAT3_ABR + INVINICIAL_NAT3_MAY = 0;
[_73] - INVFINAL_NAT3_MAY + INVINICIAL_NAT3_JUN = 0;
[_74] - CANTSUSTCOMPRADA_ART1_EN + CANTSUSTREFINADA_ART1_EN +
INVFINAL_ART1_EN =
730;
[_75] - CANTSUSTCOMPRADA_ART1_FEB + CANTSUSTREFINADA_ART1_FEB +
INVFINAL_ART1_FEB -
INVINICIAL_ART1_FEB = 0;
[_76] - CANTSUSTCOMPRADA_ART1_MAR + CANTSUSTREFINADA_ART1_MAR +
INVFINAL_ART1_MAR -
INVINICIAL_ART1_MAR = 0;
[_77] - CANTSUSTCOMPRADA_ART1_ABR + CANTSUSTREFINADA_ART1_ABR +
INVFINAL_ART1_ABR -
INVINICIAL_ART1_ABR = 0;
[_78] - CANTSUSTCOMPRADA_ART1_MAY + CANTSUSTREFINADA_ART1_MAY +
INVFINAL_ART1_MAY -
INVINICIAL_ART1_MAY = 0;
[_79] - CANTSUSTCOMPRADA_ART1_JUN + CANTSUSTREFINADA_ART1_JUN -
INVINICIAL_ART1_JUN
= - 730;
[_80] - CANTSUSTCOMPRADA_ART2_EN + CANTSUSTREFINADA_ART2_EN +
INVFINAL_ART2_EN =
730;
[_81] - CANTSUSTCOMPRADA_ART2_FEB + CANTSUSTREFINADA_ART2_FEB +
INVFINAL_ART2_FEB -
INVINICIAL_ART2_FEB = 0;
[_82] - CANTSUSTCOMPRADA_ART2_MAR + CANTSUSTREFINADA_ART2_MAR +
INVFINAL_ART2_MAR -
INVINICIAL_ART2_MAR = 0;
[_83] - CANTSUSTCOMPRADA_ART2_ABR + CANTSUSTREFINADA_ART2_ABR +
INVFINAL_ART2_ABR -
INVINICIAL_ART2_ABR = 0;
[_84] - CANTSUSTCOMPRADA_ART2_MAY + CANTSUSTREFINADA_ART2_MAY +
INVFINAL_ART2_MAY -
INVINICIAL_ART2_MAY = 0;
[_85] - CANTSUSTCOMPRADA_ART2_JUN + CANTSUSTREFINADA_ART2_JUN -
INVINICIAL_ART2_JUN
= - 730;
[_86] - CANTSUSTCOMPRADA_NAT1_EN + CANTSUSTREFINADA_NAT1_EN +
INVFINAL_NAT1_EN =
730;
7. [_87] - CANTSUSTCOMPRADA_NAT1_FEB + CANTSUSTREFINADA_NAT1_FEB +
INVFINAL_NAT1_FEB -
INVINICIAL_NAT1_FEB = 0;
[_88] - CANTSUSTCOMPRADA_NAT1_MAR + CANTSUSTREFINADA_NAT1_MAR +
INVFINAL_NAT1_MAR -
INVINICIAL_NAT1_MAR = 0;
[_89] - CANTSUSTCOMPRADA_NAT1_ABR + CANTSUSTREFINADA_NAT1_ABR +
INVFINAL_NAT1_ABR -
INVINICIAL_NAT1_ABR = 0;
[_90] - CANTSUSTCOMPRADA_NAT1_MAY + CANTSUSTREFINADA_NAT1_MAY +
INVFINAL_NAT1_MAY -
INVINICIAL_NAT1_MAY = 0;
[_91] - CANTSUSTCOMPRADA_NAT1_JUN + CANTSUSTREFINADA_NAT1_JUN -
INVINICIAL_NAT1_JUN
= - 730;
[_92] - CANTSUSTCOMPRADA_NAT2_EN + CANTSUSTREFINADA_NAT2_EN +
INVFINAL_NAT2_EN =
730;
[_93] - CANTSUSTCOMPRADA_NAT2_FEB + CANTSUSTREFINADA_NAT2_FEB +
INVFINAL_NAT2_FEB -
INVINICIAL_NAT2_FEB = 0;
[_94] - CANTSUSTCOMPRADA_NAT2_MAR + CANTSUSTREFINADA_NAT2_MAR +
INVFINAL_NAT2_MAR -
INVINICIAL_NAT2_MAR = 0;
[_95] - CANTSUSTCOMPRADA_NAT2_ABR + CANTSUSTREFINADA_NAT2_ABR +
INVFINAL_NAT2_ABR -
INVINICIAL_NAT2_ABR = 0;
[_96] - CANTSUSTCOMPRADA_NAT2_MAY + CANTSUSTREFINADA_NAT2_MAY +
INVFINAL_NAT2_MAY -
INVINICIAL_NAT2_MAY = 0;
[_97] - CANTSUSTCOMPRADA_NAT2_JUN + CANTSUSTREFINADA_NAT2_JUN -
INVINICIAL_NAT2_JUN
= - 730;
[_98] - CANTSUSTCOMPRADA_NAT3_EN + CANTSUSTREFINADA_NAT3_EN +
INVFINAL_NAT3_EN =
730;
[_99] - CANTSUSTCOMPRADA_NAT3_FEB + CANTSUSTREFINADA_NAT3_FEB +
INVFINAL_NAT3_FEB -
INVINICIAL_NAT3_FEB = 0;
[_100] - CANTSUSTCOMPRADA_NAT3_MAR + CANTSUSTREFINADA_NAT3_MAR +
INVFINAL_NAT3_MAR
- INVINICIAL_NAT3_MAR = 0;
[_101] - CANTSUSTCOMPRADA_NAT3_ABR + CANTSUSTREFINADA_NAT3_ABR +
INVFINAL_NAT3_ABR
- INVINICIAL_NAT3_ABR = 0;
[_102] - CANTSUSTCOMPRADA_NAT3_MAY + CANTSUSTREFINADA_NAT3_MAY +
INVFINAL_NAT3_MAY
- INVINICIAL_NAT3_MAY = 0;
[_103] - CANTSUSTCOMPRADA_NAT3_JUN + CANTSUSTREFINADA_NAT3_JUN -
INVINICIAL_NAT3_JUN = - 730;
[_104] INVFINAL_ART1_EN <= 1360;
[_105] INVFINAL_ART1_FEB <= 1360;
[_106] INVFINAL_ART1_MAR <= 1360;
[_107] INVFINAL_ART1_ABR <= 1360;
[_108] INVFINAL_ART1_MAY <= 1360;
[_109] INVFINAL_ART2_EN <= 1360;
[_110] INVFINAL_ART2_FEB <= 1360;
8. [_111] INVFINAL_ART2_MAR <= 1360;
[_112] INVFINAL_ART2_ABR <= 1360;
[_113] INVFINAL_ART2_MAY <= 1360;
[_114] INVFINAL_NAT1_EN <= 1360;
[_115] INVFINAL_NAT1_FEB <= 1360;
[_116] INVFINAL_NAT1_MAR <= 1360;
[_117] INVFINAL_NAT1_ABR <= 1360;
[_118] INVFINAL_NAT1_MAY <= 1360;
[_119] INVFINAL_NAT2_EN <= 1360;
[_120] INVFINAL_NAT2_FEB <= 1360;
[_121] INVFINAL_NAT2_MAR <= 1360;
[_122] INVFINAL_NAT2_ABR <= 1360;
[_123] INVFINAL_NAT2_MAY <= 1360;
[_124] INVFINAL_NAT3_EN <= 1360;
[_125] INVFINAL_NAT3_FEB <= 1360;
[_126] INVFINAL_NAT3_MAR <= 1360;
[_127] INVFINAL_NAT3_ABR <= 1360;
[_128] INVFINAL_NAT3_MAY <= 1360;
[_134] ( CANTSUSTREFINADA_ART1_EN * 9.5 + CANTSUSTREFINADA_ART2_EN * 7.1 +
CANTSUSTREFINADA_NAT1_EN * 3.4 + CANTSUSTREFINADA_NAT2_EN * 5.2 +
CANTSUSTREFINADA_NAT3_EN * 4.8) / ( ( CANTSUSTREFINADA_ART1_EN +
CANTSUSTREFINADA_ART2_EN + CANTSUSTREFINADA_NAT1_EN +
CANTSUSTREFINADA_NAT2_EN +
CANTSUSTREFINADA_NAT3_EN)) >= 5;
[_135] ( CANTSUSTREFINADA_ART1_FEB * 9.5 + CANTSUSTREFINADA_ART2_FEB * 7.1 +
CANTSUSTREFINADA_NAT1_FEB * 3.4 + CANTSUSTREFINADA_NAT2_FEB * 5.2 +
CANTSUSTREFINADA_NAT3_FEB * 4.8) / ( ( CANTSUSTREFINADA_ART1_FEB +
CANTSUSTREFINADA_ART2_FEB + CANTSUSTREFINADA_NAT1_FEB +
CANTSUSTREFINADA_NAT2_FEB + CANTSUSTREFINADA_NAT3_FEB)) >= 5;
[_136] ( CANTSUSTREFINADA_ART1_MAR * 9.5 + CANTSUSTREFINADA_ART2_MAR * 7.1 +
CANTSUSTREFINADA_NAT1_MAR * 3.4 + CANTSUSTREFINADA_NAT2_MAR * 5.2 +
CANTSUSTREFINADA_NAT3_MAR * 4.8) / ( ( CANTSUSTREFINADA_ART1_MAR +
CANTSUSTREFINADA_ART2_MAR + CANTSUSTREFINADA_NAT1_MAR +
CANTSUSTREFINADA_NAT2_MAR + CANTSUSTREFINADA_NAT3_MAR)) >= 5;
[_137] ( CANTSUSTREFINADA_ART1_ABR * 9.5 + CANTSUSTREFINADA_ART2_ABR * 7.1 +
CANTSUSTREFINADA_NAT1_ABR * 3.4 + CANTSUSTREFINADA_NAT2_ABR * 5.2 +
CANTSUSTREFINADA_NAT3_ABR * 4.8) / ( ( CANTSUSTREFINADA_ART1_ABR +
CANTSUSTREFINADA_ART2_ABR + CANTSUSTREFINADA_NAT1_ABR +
CANTSUSTREFINADA_NAT2_ABR + CANTSUSTREFINADA_NAT3_ABR)) >= 5;
[_138] ( CANTSUSTREFINADA_ART1_MAY * 9.5 + CANTSUSTREFINADA_ART2_MAY * 7.1 +
CANTSUSTREFINADA_NAT1_MAY * 3.4 + CANTSUSTREFINADA_NAT2_MAY * 5.2 +
CANTSUSTREFINADA_NAT3_MAY * 4.8) / ( ( CANTSUSTREFINADA_ART1_MAY +
CANTSUSTREFINADA_ART2_MAY + CANTSUSTREFINADA_NAT1_MAY +
CANTSUSTREFINADA_NAT2_MAY + CANTSUSTREFINADA_NAT3_MAY)) >= 5;
[_139] ( CANTSUSTREFINADA_ART1_JUN * 9.5 + CANTSUSTREFINADA_ART2_JUN * 7.1 +
CANTSUSTREFINADA_NAT1_JUN * 3.4 + CANTSUSTREFINADA_NAT2_JUN * 5.2 +
CANTSUSTREFINADA_NAT3_JUN * 4.8) / ( ( CANTSUSTREFINADA_ART1_JUN +
CANTSUSTREFINADA_ART2_JUN + CANTSUSTREFINADA_NAT1_JUN +
CANTSUSTREFINADA_NAT2_JUN + CANTSUSTREFINADA_NAT3_JUN)) >= 5;
[_140] ( CANTSUSTREFINADA_ART1_EN * 9.5 + CANTSUSTREFINADA_ART2_EN * 7.1 +
CANTSUSTREFINADA_NAT1_EN * 3.4 + CANTSUSTREFINADA_NAT2_EN * 5.2 +
CANTSUSTREFINADA_NAT3_EN * 4.8) / ( ( CANTSUSTREFINADA_ART1_EN +
CANTSUSTREFINADA_ART2_EN + CANTSUSTREFINADA_NAT1_EN +
CANTSUSTREFINADA_NAT2_EN +
CANTSUSTREFINADA_NAT3_EN)) <= 7;
[_141] ( CANTSUSTREFINADA_ART1_FEB * 9.5 + CANTSUSTREFINADA_ART2_FEB * 7.1 +
CANTSUSTREFINADA_NAT1_FEB * 3.4 + CANTSUSTREFINADA_NAT2_FEB * 5.2 +
9. CANTSUSTREFINADA_NAT3_FEB * 4.8) / ( ( CANTSUSTREFINADA_ART1_FEB +
CANTSUSTREFINADA_ART2_FEB + CANTSUSTREFINADA_NAT1_FEB +
CANTSUSTREFINADA_NAT2_FEB + CANTSUSTREFINADA_NAT3_FEB)) <= 7;
[_142] ( CANTSUSTREFINADA_ART1_MAR * 9.5 + CANTSUSTREFINADA_ART2_MAR * 7.1 +
CANTSUSTREFINADA_NAT1_MAR * 3.4 + CANTSUSTREFINADA_NAT2_MAR * 5.2 +
CANTSUSTREFINADA_NAT3_MAR * 4.8) / ( ( CANTSUSTREFINADA_ART1_MAR +
CANTSUSTREFINADA_ART2_MAR + CANTSUSTREFINADA_NAT1_MAR +
CANTSUSTREFINADA_NAT2_MAR + CANTSUSTREFINADA_NAT3_MAR)) <= 7;
[_143] ( CANTSUSTREFINADA_ART1_ABR * 9.5 + CANTSUSTREFINADA_ART2_ABR * 7.1 +
CANTSUSTREFINADA_NAT1_ABR * 3.4 + CANTSUSTREFINADA_NAT2_ABR * 5.2 +
CANTSUSTREFINADA_NAT3_ABR * 4.8) / ( ( CANTSUSTREFINADA_ART1_ABR +
CANTSUSTREFINADA_ART2_ABR + CANTSUSTREFINADA_NAT1_ABR +
CANTSUSTREFINADA_NAT2_ABR + CANTSUSTREFINADA_NAT3_ABR)) <= 7;
[_144] ( CANTSUSTREFINADA_ART1_MAY * 9.5 + CANTSUSTREFINADA_ART2_MAY * 7.1 +
CANTSUSTREFINADA_NAT1_MAY * 3.4 + CANTSUSTREFINADA_NAT2_MAY * 5.2 +
CANTSUSTREFINADA_NAT3_MAY * 4.8) / ( ( CANTSUSTREFINADA_ART1_MAY +
CANTSUSTREFINADA_ART2_MAY + CANTSUSTREFINADA_NAT1_MAY +
CANTSUSTREFINADA_NAT2_MAY + CANTSUSTREFINADA_NAT3_MAY)) <= 7;
[_145] ( CANTSUSTREFINADA_ART1_JUN * 9.5 + CANTSUSTREFINADA_ART2_JUN * 7.1 +
CANTSUSTREFINADA_NAT1_JUN * 3.4 + CANTSUSTREFINADA_NAT2_JUN * 5.2 +
CANTSUSTREFINADA_NAT3_JUN * 4.8) / ( ( CANTSUSTREFINADA_ART1_JUN +
CANTSUSTREFINADA_ART2_JUN + CANTSUSTREFINADA_NAT1_JUN +
CANTSUSTREFINADA_NAT2_JUN + CANTSUSTREFINADA_NAT3_JUN)) <= 7;
END
SOLUTION REPORT:
Local optimal solution found.
Objective value: 149231.7
Infeasibilities: 0.000000
Total solver iterations: 376
Model Class: NLP
Total variables: 110
Nonlinear variables: 30
Integer variables: 0
Total constraints: 135
Nonlinear constraints: 12
Total nonzeros: 445
Nonlinear nonzeros: 60
Variable Value Reduced Cost
PRECIOALIM 170.0000 0.000000
COSTOALM 6.000000 0.000000
MAXREFINADOART 320.0000 0.000000
MAXREFINADONAT 350.0000 0.000000
ALMACENMAX 1360.000 0.000000
INICIAL 730.0000 0.000000
DUREZA( ART1) 9.500000 0.000000
DUREZA( ART2) 7.100000 0.000000
10. DUREZA( NAT1) 3.400000 0.000000
DUREZA( NAT2) 5.200000 0.000000
DUREZA( NAT3) 4.800000 0.000000
PRECIOSUST( ART1, EN) 130.0000 0.000000
PRECIOSUST( ART1, FEB) 150.0000 0.000000
PRECIOSUST( ART1, MAR) 130.0000 0.000000
PRECIOSUST( ART1, ABR) 140.0000 0.000000
PRECIOSUST( ART1, MAY) 120.0000 0.000000
PRECIOSUST( ART1, JUN) 110.0000 0.000000
PRECIOSUST( ART2, EN) 140.0000 0.000000
PRECIOSUST( ART2, FEB) 150.0000 0.000000
PRECIOSUST( ART2, MAR) 160.0000 0.000000
PRECIOSUST( ART2, ABR) 130.0000 0.000000
PRECIOSUST( ART2, MAY) 140.0000 0.000000
PRECIOSUST( ART2, JUN) 120.0000 0.000000
PRECIOSUST( NAT1, EN) 150.0000 0.000000
PRECIOSUST( NAT1, FEB) 130.0000 0.000000
PRECIOSUST( NAT1, MAR) 150.0000 0.000000
PRECIOSUST( NAT1, ABR) 140.0000 0.000000
PRECIOSUST( NAT1, MAY) 170.0000 0.000000
PRECIOSUST( NAT1, JUN) 160.0000 0.000000
PRECIOSUST( NAT2, EN) 130.0000 0.000000
PRECIOSUST( NAT2, FEB) 110.0000 0.000000
PRECIOSUST( NAT2, MAR) 120.0000 0.000000
PRECIOSUST( NAT2, ABR) 140.0000 0.000000
PRECIOSUST( NAT2, MAY) 130.0000 0.000000
PRECIOSUST( NAT2, JUN) 100.0000 0.000000
PRECIOSUST( NAT3, EN) 135.0000 0.000000
PRECIOSUST( NAT3, FEB) 135.0000 0.000000
PRECIOSUST( NAT3, MAR) 115.0000 0.000000
PRECIOSUST( NAT3, ABR) 145.0000 0.000000
PRECIOSUST( NAT3, MAY) 125.0000 0.000000
PRECIOSUST( NAT3, JUN) 155.0000 0.000000
CANTSUSTCOMPRADA( ART1, EN) 0.000000 34.00000
CANTSUSTCOMPRADA( ART1, FEB) 0.000000 48.00000
CANTSUSTCOMPRADA( ART1, MAR) 0.000000 22.00000
CANTSUSTCOMPRADA( ART1, ABR) 0.000000 26.00000
CANTSUSTCOMPRADA( ART1, MAY) 140.0000 0.000000
CANTSUSTCOMPRADA( ART1, JUN) 979.1667 0.000000
CANTSUSTCOMPRADA( ART2, EN) 0.000000 44.00000
CANTSUSTCOMPRADA( ART2, FEB) 0.000000 48.00000
CANTSUSTCOMPRADA( ART2, MAR) 0.000000 52.00000
CANTSUSTCOMPRADA( ART2, ABR) 0.000000 16.00000
CANTSUSTCOMPRADA( ART2, MAY) 0.000000 20.00000
CANTSUSTCOMPRADA( ART2, JUN) 800.8333 0.000000
CANTSUSTCOMPRADA( NAT1, EN) 0.000000 28.00000
CANTSUSTCOMPRADA( NAT1, FEB) 0.000000 2.000000
CANTSUSTCOMPRADA( NAT1, MAR) 0.000000 16.00000
CANTSUSTCOMPRADA( NAT1, ABR) 0.000000 0.000000
CANTSUSTCOMPRADA( NAT1, MAY) 0.000000 24.00000
CANTSUSTCOMPRADA( NAT1, JUN) 0.000000 8.000000
CANTSUSTCOMPRADA( NAT2, EN) 0.000000 29.00000
CANTSUSTCOMPRADA( NAT2, FEB) 0.000000 3.000000
CANTSUSTCOMPRADA( NAT2, MAR) 0.000000 7.000000
CANTSUSTCOMPRADA( NAT2, ABR) 0.000000 21.00000
CANTSUSTCOMPRADA( NAT2, MAY) 0.000000 5.000000
CANTSUSTCOMPRADA( NAT2, JUN) 1080.000 0.000000
11. CANTSUSTCOMPRADA( NAT3, EN) 0.000000 34.00000
CANTSUSTCOMPRADA( NAT3, FEB) 0.000000 28.00000
CANTSUSTCOMPRADA( NAT3, MAR) 0.000000 2.000000
CANTSUSTCOMPRADA( NAT3, ABR) 0.000000 26.00000
CANTSUSTCOMPRADA( NAT3, MAY) 1020.000 0.000000
CANTSUSTCOMPRADA( NAT3, JUN) 0.000000 24.00000
CANTSUSTREFINADA( ART1, EN) 307.3086 0.000000
CANTSUSTREFINADA( ART1, FEB) 1.407955 0.000000
CANTSUSTREFINADA( ART1, MAR) 21.66388 0.000000
CANTSUSTREFINADA( ART1, ABR) 232.5555 0.000000
CANTSUSTREFINADA( ART1, MAY) 307.0641 0.000000
CANTSUSTREFINADA( ART1, JUN) 249.1667 0.000000
CANTSUSTREFINADA( ART2, EN) 12.69139 0.000000
CANTSUSTREFINADA( ART2, FEB) 318.5920 0.000000
CANTSUSTREFINADA( ART2, MAR) 298.3361 0.000000
CANTSUSTREFINADA( ART2, ABR) 87.44452 0.000000
CANTSUSTREFINADA( ART2, MAY) 12.93592 0.000000
CANTSUSTREFINADA( ART2, JUN) 70.83333 0.000000
CANTSUSTREFINADA( NAT1, EN) 0.000000 21.00000
CANTSUSTREFINADA( NAT1, FEB) 0.000000 21.00000
CANTSUSTREFINADA( NAT1, MAR) 0.000000 21.00000
CANTSUSTREFINADA( NAT1, ABR) 0.000000 21.00000
CANTSUSTREFINADA( NAT1, MAY) 0.000000 21.00000
CANTSUSTREFINADA( NAT1, JUN) 0.000000 44.50000
CANTSUSTREFINADA( NAT2, EN) 1.148358 0.000000
CANTSUSTREFINADA( NAT2, FEB) 350.0000 0.000000
CANTSUSTREFINADA( NAT2, MAR) 26.23614 0.000000
CANTSUSTREFINADA( NAT2, ABR) 350.0000 0.000000
CANTSUSTREFINADA( NAT2, MAY) 2.615500 0.000000
CANTSUSTREFINADA( NAT2, JUN) 350.0000 0.000000
CANTSUSTREFINADA( NAT3, EN) 348.8516 0.000000
CANTSUSTREFINADA( NAT3, FEB) 0.000000 0.000000
CANTSUSTREFINADA( NAT3, MAR) 323.7639 0.000000
CANTSUSTREFINADA( NAT3, ABR) 0.000000 0.000000
CANTSUSTREFINADA( NAT3, MAY) 347.3845 0.000000
CANTSUSTREFINADA( NAT3, JUN) 0.000000 29.33333
INVFINAL( ART1, EN) 422.6914 0.000000
INVFINAL( ART1, FEB) 421.2834 0.000000
INVFINAL( ART1, MAR) 399.6196 0.000000
INVFINAL( ART1, ABR) 167.0641 0.000000
INVFINAL( ART1, MAY) 0.000000 16.00000
INVFINAL( ART1, JUN) 730.0000 0.000000
INVFINAL( ART2, EN) 717.3086 0.000000
INVFINAL( ART2, FEB) 398.7166 0.000000
INVFINAL( ART2, MAR) 100.3804 0.000000
INVFINAL( ART2, ABR) 12.93592 0.000000
INVFINAL( ART2, MAY) 0.000000 0.000000
INVFINAL( ART2, JUN) 730.0000 0.000000
INVFINAL( NAT1, EN) 730.0000 0.000000
INVFINAL( NAT1, FEB) 730.0000 0.000000
INVFINAL( NAT1, MAR) 730.0000 0.000000
INVFINAL( NAT1, ABR) 730.0000 0.000000
INVFINAL( NAT1, MAY) 730.0000 0.000000
INVFINAL( NAT1, JUN) 730.0000 0.000000
INVFINAL( NAT2, EN) 728.8516 0.000000
INVFINAL( NAT2, FEB) 378.8516 0.000000
INVFINAL( NAT2, MAR) 352.6155 0.000000
12. INVFINAL( NAT2, ABR) 2.615500 0.000000
INVFINAL( NAT2, MAY) 0.000000 31.00000
INVFINAL( NAT2, JUN) 730.0000 0.000000
INVFINAL( NAT3, EN) 381.1484 0.000000
INVFINAL( NAT3, FEB) 381.1484 0.000000
INVFINAL( NAT3, MAR) 57.38450 0.000000
INVFINAL( NAT3, ABR) 57.38450 0.000000
INVFINAL( NAT3, MAY) 730.0000 0.000000
INVFINAL( NAT3, JUN) 730.0000 0.000000
INVINICIAL( ART1, EN) 730.0000 0.000000
INVINICIAL( ART1, FEB) 422.6914 0.000000
INVINICIAL( ART1, MAR) 421.2834 0.000000
INVINICIAL( ART1, ABR) 399.6196 0.000000
INVINICIAL( ART1, MAY) 167.0641 0.000000
INVINICIAL( ART1, JUN) 0.000000 0.000000
INVINICIAL( ART2, EN) 730.0000 0.000000
INVINICIAL( ART2, FEB) 717.3086 0.000000
INVINICIAL( ART2, MAR) 398.7166 0.000000
INVINICIAL( ART2, ABR) 100.3804 0.000000
INVINICIAL( ART2, MAY) 12.93592 0.000000
INVINICIAL( ART2, JUN) 0.000000 0.000000
INVINICIAL( NAT1, EN) 730.0000 0.000000
INVINICIAL( NAT1, FEB) 730.0000 0.000000
INVINICIAL( NAT1, MAR) 730.0000 0.000000
INVINICIAL( NAT1, ABR) 730.0000 0.000000
INVINICIAL( NAT1, MAY) 730.0000 0.000000
INVINICIAL( NAT1, JUN) 730.0000 0.000000
INVINICIAL( NAT2, EN) 730.0000 0.000000
INVINICIAL( NAT2, FEB) 728.8516 0.000000
INVINICIAL( NAT2, MAR) 378.8516 0.000000
INVINICIAL( NAT2, ABR) 352.6155 0.000000
INVINICIAL( NAT2, MAY) 2.615500 0.000000
INVINICIAL( NAT2, JUN) 0.000000 0.000000
INVINICIAL( NAT3, EN) 730.0000 0.000000
INVINICIAL( NAT3, FEB) 381.1484 0.000000
INVINICIAL( NAT3, MAR) 381.1484 0.000000
INVINICIAL( NAT3, ABR) 57.38450 0.000000
INVINICIAL( NAT3, MAY) 57.38450 0.000000
INVINICIAL( NAT3, JUN) 730.0000 0.000000
13. 4. INTERPRETACIÓN DE RESULTADOS
La máxima utilidad que se obtiene es de 149231,7 u.m.
Se compra casi nada de las sustancias (salvo en algún mes para cada
sustancia) debido a que más se trabaja con los inventarios iniciales de cada
sustancia en el mes de enero.
Para la elaboración del producto alimenticio no se toma en cuenta la sustancia
natural 1 porque, según el reporte de Lingo, se compra 0 y se refina 0 de esta
sustancia. Por lo tanto, el inventario inicial en cada mes será igual al inventario
final en cada mes (La cantidad de 730 se mantiene constante durante todo el
semestre).