Sunteți pe pagina 1din 21

INVESTIGACIÓN DE OPERACIONES I

Modelos de Producción con Inventario


en Lingo Compacto
PRODUCCIÓN DE VELEROS

Sailco Corporation tiene que determinar cuántos veleros hay que producir en cada uno de
los cuatro trimestres. La demanda durante cada uno de los siguientes cuatro trimestres es:
primer trimestre, 40 veleros; segundo trimestre, 60 veleros; tercer trimestre, 75 veleros;
cuarto trimestre, 25 veleros. Sailco tiene que cumplir a tiempo con las demandas.Al
principio del primer trimestre, Sailco tiene un inventario de 10 veleros. Durante cada
trimestre, Sailco pude producir hasta 40 veleros, en el tiempo regular de trabajo, a un
costo total de 400 dólares por velero. Sailco puede producir más veleros, al hacer que
trabajen tiempo extra los empleados durante un trimestre, a un costo total de 450 dólares
por velero. El costo de inventario por cada velero es de $ 20. Utilice la programación
lineal para determinar un programa de producción e inventario para Sailco.
PRODUCCIÓN DE VELEROS

𝑿𝒊 = 𝐶𝑎𝑛𝑡𝑖𝑑𝑎𝑑 (𝑒𝑛 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠) 𝑑𝑒 𝑣𝑒𝑙𝑒𝑟𝑜𝑠 𝑎 𝑝𝑟𝑜𝑑𝑢𝑐𝑖𝑟 𝑒𝑛 𝑡𝑖𝑒𝑚𝑝𝑜 𝑛𝑜𝑟𝑚𝑎𝑙 𝑒𝑛 𝑒𝑙 𝑡𝑟𝑖𝑚𝑒𝑠𝑡𝑟𝑒 𝑖


𝒀𝒊 = 𝐶𝑎𝑛𝑡𝑖𝑑𝑎𝑑 (𝑒𝑛 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠) 𝑑𝑒 𝑣𝑒𝑙𝑒𝑟𝑜𝑠 𝑎 𝑝𝑟𝑜𝑑𝑢𝑐𝑖𝑟 𝑒𝑛 𝑡𝑖𝑒𝑚𝑝𝑜 𝑒𝑥𝑡𝑟𝑎 𝑒𝑛 𝑒𝑙 𝑡𝑟𝑖𝑚𝑒𝑠𝑡𝑟𝑒 𝑖
𝑺𝒊 = 𝐶𝑎𝑛𝑡𝑖𝑑𝑎𝑑 (𝑒𝑛 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠) 𝑑𝑒 𝑣𝑒𝑙𝑒𝑟𝑜𝑠 𝑎 𝑎𝑙𝑚𝑎𝑐𝑒𝑛𝑎𝑟 𝑒𝑛 𝑒𝑙 𝑡𝑟𝑖𝑚𝑒𝑠𝑡𝑟𝑒 𝑖
𝒊 = 1, 2, 3, 4
𝑫𝒊 = [ 40 60 75 25]
𝑷𝒊 = [ 40 40 40 40]

4 4 4

𝑴𝒊𝒏 𝒁 = 400 ∗ ෍ 𝑋𝑖 + 450 ∗ ෍ 𝑌𝑗 + 20 ∗ ෍ 𝑆𝑖


𝑖=1 𝑖=1 𝑖=1
Sujeto a:

𝑋𝑖 ≤ 𝑃𝑖 ∀𝑖 = 1. . 4
𝑆0 = 10
𝑆𝑖 = 𝑆𝑖−1 + 𝑋𝑖 + 𝑌𝑖 − 𝐷𝑖 ∀𝑖 = 2. . 4

𝑋𝑖, 𝑌𝑖, 𝑆𝑖 ≥ 0 ∀𝑖 = 1. . 4
PRODUCCIÓN DE VELEROS

!PRODUCCIÓN INVENTARIO: VELERO;

PERIODO/1..4/:X,Y,S,DEMANDA;
ENDSETS

DATA:
S0=10;
DEMANDA= 40 60 75 25;
ENDDATA

MIN=@SUM(PERIODO(I): 400*X(I)+450*Y(I)+20*S(I));
S(1)=S0+ X(1)+Y(1)- DEMANDA(1);
X(1)<=40;
@FOR(PERIODO(I)|I#GT#1: S(I)= S(I-1)+ X(I)+Y(I)- DEMANDA(I); X(I)<=40);
End
PRODUCCIÓN DE VELEROS

MODEL:
[_1] MIN= 400 * X_1 + 450 * Y_1 + 20 * S_1 + 400 * X_2 + 450 * Y_2 + 20 * S_2 +
400 * X_3 + 450 * Y_3 + 20 * S_3 + 400 * X_4 + 450 * Y_4 + 20 * S_4;
[_2] - X_1 - Y_1 + S_1 = - 30;
[_3] X_1 <= 40;
[_4] - S_1 - X_2 - Y_2 + S_2 = - 60;
[_5] X_2 <= 40;
[_6] - S_2 - X_3 - Y_3 + S_3 = - 75;
[_7] X_3 <= 40;
[_8] - S_3 - X_4 - Y_4 + S_4 = - 25;
[_9] X_4 <= 40;
END
PRODUCCIÓN DE VELEROS
Variable Value Reduced Cost
S0 10.00000 0.000000
X( 1) 40.00000 0.000000
X( 2) 40.00000 0.000000
X( 3) 40.00000 0.000000
X( 4) 25.00000 0.000000
Y( 1) 0.000000 20.00000
Y( 2) 10.00000 0.000000
Y( 3) 35.00000 0.000000
Y( 4) 0.000000 50.00000
S( 1) 10.00000 0.000000
S( 2) 0.000000 20.00000
S( 3) 0.000000 70.00000
S( 4) 0.000000 420.0000
DEMANDA( 1) 40.00000 0.000000
DEMANDA( 2) 60.00000 0.000000
DEMANDA( 3) 75.00000 0.000000
DEMANDA( 4) 25.00000 0.000000

Row Slack or Surplus Dual Price


1 78450.00 -1.000000
2 0.000000 430.0000
3 0.000000 30.00000
4 0.000000 450.0000
5 0.000000 50.00000
6 0.000000 450.0000
7 0.000000 50.00000
8 0.000000 400.0000
9 15.00000 0.000000
PRODUCCIÓN DE VELEROS

Otra sintaxis del modelo

SETS:
Trimestre /1..4/: X, Y, INV, INV_INICIAL, Demanda, Produccion;
ENDSETS

Min=@Sum(Trimestre (I): 400*X(I))+@Sum(Trimestre (I): 450*Y(I))+@Sum(Trimestre (I): 20*INV(I));


@For(Trimestre (I): X(I) <= Produccion (I));
@For(Trimestre (I) | I#EQ#1: INV(I) = INV_INICIAL(I) + (X(I)+Y(I)) - Demanda(I));
@For(Trimestre (I) | I#GT#1: INV(I) = INV(I-1) + (X(i)+Y(i)) - Demanda(I));

DATA:
Demanda = 40 60 75 25;
Produccion = 40 40 40 40;
INV_INICIAL = 10 0 0 0;
ENDDATA
PRODUCCIÓN DE CAMISAS Y PANTALONES
Gandhi Co. fabrica camisas y pantalones. La demanda en los próximos 3 meses, la cual se debe cumplir a
tiempo, es la siguiente:
Mes 1 Mes 2 Mes 3
Camisas 10 12 14
Pantalones 15 14 13
Durante cada mes, cuesta $4 elaborar una prenda cualquiera en turno normal y cuesta $8 en turno extra. La
capacidad mensual de producción en turno normal es 25 prendas y la capacidad mensual de producción en
turno extra es ilimitada. Es posible almacenar prendas, a un costo de inventario mensual de $3 por prenda. Al
inicio del mes 1, en el almacén hay una camisa y 2 pantalones.
Cada camisa requiere 2 yardas2 de tela y cada pantalón requiere 3 yardas2 de tela. Lo máximo de tela que se
puede comprar y el costo de compra se muestran a continuación:
Mes 1 Mes 2 Mes 3
Máximo a comprar (yardas2) 100 90 80
Costo ($/yarda2) 2 1.5 1.8
Es posible almacenar tela en cada mes, con un costo de almacenamiento despreciable. Elabore un modelo de
programación lineal que permita satisfacer la demanda al mínimo costo total.
Índices:

i= 1, 2 (productos) i= 1 (camisas) , i= 2 (pantalones)


j= 1, 2, 3 (mes) j= 1 (mes 1) , j=2 (mes 2) , j=3 (mes 3)
Variables:

𝑿𝒊𝒋 = 𝐶𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑒𝑛 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑎 𝑝𝑟𝑜𝑑𝑢𝑐𝑖𝑟 𝑒𝑛 𝑡𝑖𝑒𝑚𝑝𝑜 𝑛𝑜𝑟𝑚𝑎𝑙 𝑑𝑒𝑙 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑜 𝑡𝑖𝑝𝑜 𝑖 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑗.
𝒀𝒊𝒋 = 𝐶𝑎𝑛𝑡𝑖𝑑𝑎𝑑 (𝑒𝑛 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠) 𝑎 𝑝𝑟𝑜𝑑𝑢𝑐𝑖𝑟 𝑒𝑛 𝑡𝑖𝑒𝑚𝑝𝑜 𝑒𝑥𝑡𝑟𝑎 𝑑𝑒𝑙 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑜 𝑡𝑖𝑝𝑜 𝑖 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑗.
𝑺𝒊𝒋 = 𝐶𝑎𝑛𝑡𝑖𝑑𝑎𝑑 (𝑒𝑛 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠) 𝑑𝑒 𝑖𝑛𝑣𝑒𝑛𝑡𝑎𝑟𝑖𝑜 𝑑𝑒𝑙 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑜 𝑡𝑖𝑝𝑜 𝑖 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑗.
Estructura de datos:

𝐼𝑛𝑣𝑒𝑛𝑡𝑎𝑟𝑖𝑜_𝐼𝑛𝑖𝑐𝑖𝑎𝑙𝑖𝑗 = [1 0 0 2 0 0]
Dij = [10 12 14 15 14 13]
𝑃𝑟𝑜𝑑𝑢𝑐𝑐𝑖ó𝑛_𝑁𝑜𝑟𝑚𝑎𝑙𝑗 = [25 25 25 ]
𝑅𝑒𝑞𝑢𝑒𝑟𝑖 = [ 2 3 ]
𝐶𝑜𝑠𝑡𝑜𝑗 = 2.0 1.5 1.8
𝑀á𝑥𝑖𝑚𝑎_𝐶𝑜𝑚𝑝𝑟𝑎𝑗 = 100 90 80
2 3 2 3 2 3 2 3

𝑴𝒊𝒏 𝒁 = 4 ∗ ෍ ෍ 𝑋𝑖𝑗 + 8 ∗ ෍ ෍ 𝑌𝑖𝑗 + 3 ∗ ෍ ෍ 𝑆𝑖𝑗 + 4 ∗ ෍ ෍(𝑋𝑖𝑗 +𝑌𝑖𝑗 ) ∗ 𝑅𝑒𝑞𝑢𝑒𝑟𝑖 ∗ 𝐶𝑜𝑠𝑡𝑜𝑗


𝑖=1 𝑗=1 𝑖=1 𝑗=1 𝑖=1 𝑗=1 𝑖=1 𝑗=1
Sujeto a:
2

෍ 𝑋𝑖𝑗 ≤ 𝑃𝑟𝑜𝑑𝑢𝑐𝑐𝑖ó𝑛_𝑁𝑜𝑟𝑚𝑎𝑙𝑗 ; 𝑗 = 1. . 3
𝑖=1
2

෍ 𝑅𝑒𝑞𝑢𝑒𝑟𝑖 ∗ (𝑋𝑖𝑗 +𝑌𝑖𝑗 ) ≤ 𝑀á𝑥𝑖𝑚𝑎_𝑐𝑜𝑚𝑝𝑟𝑎𝑗 ; 𝑗 = 1. . 3


𝑖=1
𝑆𝑖𝑗 = 𝐼𝑛𝑣𝑒𝑛𝑡𝑎𝑟𝑖𝑜_𝐼𝑛𝑖𝑐𝑖𝑎𝑙𝑖𝑗 + 𝑋𝑖𝑗 + 𝑌𝑖𝑗 − 𝐷𝑖𝑗 ; 𝑖 = 𝑗 = 1
𝑆𝑖𝑗 = 𝑆𝑖−1,𝑗−1 + 𝑋𝑖𝑗 + 𝑌𝑖𝑗 − 𝐷𝑖𝑗 ; 𝑖 = 2, 3 ; 𝑗 = 2,3

CNN: 𝑋𝑖𝑗 ; 𝑌𝑖𝑗 ; 𝑌𝑖𝑗 ≥ 0 ∀𝑖, ∀j


PRODUCCIÓN DE CAMISAS Y PANTALONES
Sets:
Producto/1,2/: Requer;
Mes/1..3/: Costo, Maxima_Compra, Produccion_Normal;
PXM(Producto,Mes): X, Y, S, INV_INICIAL, D;
Endsets
Data:
D = 10 12 14 15 14 13;
Produccion_Normal = 25 25 25;
INV_INICIAL = 1 0 0 2 0 0;
Requer = 2 3;
Costo = 2.0 1.5 1.8;
Maxima_Compra = 100 90 80; !SE MODIFICÓ EL MÁXIMO PARA QUE PUEDA CORRER EL PROGRAMA;
Enddata
Min = 4*@Sum(PXM(I,J): X(I,J))+8*@Sum(PXM(I,J): Y(I,J))+3*@Sum(PXM(I,J):
S(I,J))+@Sum(PXM(I,J): (X(I,J)+Y(I,J))*Requer(I)*Costo(J));
@For(Mes(J): @Sum(Producto(I): X(I,J))<= Produccion_Normal);
@For(Mes(J): @Sum(Producto(I): (X(I,J)+Y(I,J))*Requer(I)) <= Maxima_Compra(J));
@For(PXM(I,J): @For(Mes(J)|J#EQ#1: S(I,J)=(X(I,J)+Y(I,J))+INV_INICIAL(I,J)-D(I,J)));
@For(PXM(I,J): @For(Mes(J)|J#GT#1: S(I,J)=(X(I,J)+Y(I,J))+S(I,J-1)-D(I,J)));
Sets:
Producto/1,2/: Requer;
Mes/1..3/: Costo, Maxima_Compra, Produccion_Normal;
Produccion_Mes(Producto,Mes): X, Y, S, SIni, D;
Endsets
Data:
D = 10 12 14 15 14 13;
Produccion_Normal = 25 25 25;
SIni = 1 0 0 2 0 0;
Requer = 2 3;
Costo = 2.0 1.5 1.8;
Maxima_Compra = 100 90 80;
Enddata
Min=@Sum(Produccion_Mes(I,J):4*X(I,J)+8*Y(I,J)+3*S(I,J)+(X(I,J)+Y(I,J))*Requer(I)*Costo
(J));
@For(Mes(J): @Sum(Producto(I): X(I,J))<= Produccion_Normal(J));
@For(Mes(J): @Sum(Producto(I): (X(I,J)+Y(I,J))*Requer(I)) <= Maxima_Compra(J));
@For(Produccion_Mes(I,J):@For(Mes(J)|J#EQ#1:S(I,J)=SIni(I,J)+X(I,J)+Y(I,J)-D(I,J)));
@For(Produccion_Mes(I,J):@For(Mes(J)|J#GT#1:S(I,J)=S(I,J-1)+X(I,J)+Y(I,J)-D(I,J)));
PRODUCCIÓN DE CAMISAS Y PANTALONES
Variable Value Reduced Cost
REQUER( 1) 2.000000 0.000000
REQUER( 2) 3.000000 0.000000
COSTO( 1) 2.000000 0.000000
COSTO( 2) 1.500000 0.000000
COSTO( 3) 1.800000 0.000000
MAXIMA_COMPRA( 1) 100.0000 0.000000
MAXIMA_COMPRA( 2) 90.00000 0.000000
MAXIMA_COMPRA( 3) 80.00000 0.000000
PRODUCCION_NORMAL( 1) 25.00000 0.000000
PRODUCCION_NORMAL( 2) 25.00000 0.000000
PRODUCCION_NORMAL( 3) 25.00000 0.000000
X( 1, 1) 9.000000 0.000000
X( 1, 2) 11.00000 0.000000
X( 1, 3) 14.00000 0.000000
X( 2, 1) 13.00000 0.000000
X( 2, 2) 14.00000 0.000000
X( 2, 3) 11.00000 0.000000
Y( 1, 1) 0.000000 4.000000
Y( 1, 2) 1.000000 0.000000
Y( 1, 3) 0.000000 0.000000
Y( 2, 1) 0.000000 4.000000
Y( 2, 2) 0.000000 0.000000
Y( 2, 3) 2.000000 0.000000
S( 1, 1) 0.000000 0.000000 Row Slack or Surplus Dual Price
S( 1, 2) 0.000000 2.400000 1 645.6000 -1.000000
S( 1, 3) 0.000000 14.60000 2 3.000000 0.000000
S( 2, 1) 0.000000 0.5000000 3 0.000000 4.000000
S( 2, 2) 0.000000 2.100000 4 0.000000 4.000000
S( 2, 3) 0.000000 16.40000 5 43.00000 0.000000
SINI( 1, 1) 1.000000 0.000000 6 24.00000 0.000000
SINI( 1, 2) 0.000000 0.000000 7 13.00000 0.000000
SINI( 1, 3) 0.000000 0.000000 8 0.000000 8.000000
SINI( 2, 1) 2.000000 0.000000 9 0.000000 10.00000
SINI( 2, 2) 0.000000 0.000000 10 0.000000 11.00000
SINI( 2, 3) 0.000000 0.000000 11 0.000000 11.60000
D( 1, 1) 10.00000 0.000000 12 0.000000 12.50000
D( 1, 2) 12.00000 0.000000 13 0.000000 13.40000
D( 1, 3) 14.00000 0.000000
D( 2, 1) 15.00000 0.000000
D( 2, 2) 14.00000 0.000000
D( 2, 3) 13.00000 0.000000
PRODUCCIÓN DE CAMISAS Y PANTALONES
MODEL:
[_1] MIN= 8 * X_1_1 + 12 * Y_1_1 + 3 * S_1_1 + 7 * X_1_2 + 11 * Y_1_2 + 3 * S_1_2 + 7.6 * X_1_3 + 11.6 * Y_1_3 + 3 * S_1_3 + 10 * X_2_1 + 14 * Y_2_1 +
3 * S_2_1 + 8.5 * X_2_2 + 12.5 * Y_2_2 + 3 * S_2_2 + 9.4 * X_2_3 + 13.4 * Y_2_3 + 3 * S_2_3;
[_2] X_1_1 + X_2_1 <= 25; Variable Value Reduced Cost
[_3] X_1_2 + X_2_2 <= 25; X_1_1 9.000000 0.000000
[_4] X_1_3 + X_2_3 <= 25; Y_1_1 0.000000 4.000000
[_5] 2 * X_1_1 + 2 * Y_1_1 + 3 * X_2_1 + 3 * Y_2_1 <= 100; S_1_1 0.000000 0.000000
[_6] 2 * X_1_2 + 2 * Y_1_2 + 3 * X_2_2 + 3 * Y_2_2 <= 90; X_1_2 11.00000 0.000000
[_7] 2 * X_1_3 + 2 * Y_1_3 + 3 * X_2_3 + 3 * Y_2_3 <= 80; Y_1_2 1.000000 0.000000
[_8] - X_1_1 - Y_1_1 + S_1_1 = - 9; S_1_2 0.000000 2.400000
[_9] - X_2_1 - Y_2_1 + S_2_1 = - 13; X_1_3 14.00000 0.000000
[_10] - S_1_1 - X_1_2 - Y_1_2 + S_1_2 = - 12; Y_1_3 0.000000 0.000000
[_11] - S_1_2 - X_1_3 - Y_1_3 + S_1_3 = - 14; S_1_3 0.000000 14.60000
[_12] - S_2_1 - X_2_2 - Y_2_2 + S_2_2 = - 14; X_2_1 13.00000 0.000000
[_13] - S_2_2 - X_2_3 - Y_2_3 + S_2_3 = - 13; Y_2_1 0.000000 4.000000
END S_2_1 0.000000 0.5000000
X_2_2 14.00000 0.000000
Y_2_2 0.000000 0.000000
S_2_2 0.000000 2.100000
X_2_3 11.00000 0.000000
Y_2_3 2.000000 0.000000
S_2_3 0.000000 16.40000

Row Slack or Surplus Dual Price


_1 645.6000 -1.000000
_2 3.000000 0.000000
_3 0.000000 4.000000
_4 0.000000 4.000000
_5 43.00000 0.000000
_6 24.00000 0.000000
_7 13.00000 0.000000
_8 0.000000 8.000000
_9 0.000000 10.00000
_10 0.000000 11.00000
_11 0.000000 11.60000
_12 0.000000 12.50000
_13 0.000000 13.40000
PRODUCCIÓN DE BICICLETAS
La empresa Body Cycling se dedica a la fabricación y ensamblaje de bicicletas para la exportación; posee 3 líneas de
bicicletas: MTB, ATB y BMX, las cuales poseen tiempos de producción diferentes y demanda de cada tipo de bicicletas
para los próximos tres meses, en unidades, tal y como se indican en las siguientes tablas.
Línea Tiempo de producción (horas) Mes Enero Febrero Marzo
MTB 6 MTB 1000 500 250
ATB 5 ATB 500 200 150
BMX 4 BMX 250 120 50
La planta cuenta con 30 operarios, los cuales deben permanecer en forma constante trabajando 8 horas diarias, 4 semanas
al mes y 5 días por semana; sin embargo, es posible trabajar horas extras hasta un límite de 40% de las horas normales. El
almacén tiene capacidad para 1000 bicicletas, indistintamente del modelo o tamaño y se ha establecido los siguientes
costos: mano de obra regular de $3200 al mes para un total de 160 horas mensuales, mano de obra extra de $25 por hora
adicional y mantenimiento de stock a $5 por unidad almacenada.
El inventario inicial de cada tipo de bicicletas para el mes de
Enero aparece en la siguiente tabla:
Línea Stock Formule un modelo de programación lineal para el
MTB 400 programa de producción de la empresa que tome en
ATB 150 cuenta satisfacer la demanda mensual (no se aceptan
BMX 50 ventas pendientes).
Índices:
i= 1, 2, 3 (Línea de bicicleta ) i = 1 (MTB) , i = 2 (ATB), i = 3 (BMX)
j= 1, 2, 3 (mes) j= 1 (mes 1) , j= 2 (mes 2), j= 3 (mes 3)
Variables:
𝑿𝒊𝒋 = 𝐶𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑒𝑛 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑎 𝑓𝑎𝑏𝑟𝑖𝑐𝑎𝑟 𝑒𝑛 𝑡𝑖𝑒𝑚𝑝𝑜 𝑛𝑜𝑟𝑚𝑎𝑙 𝑑𝑒 𝑏𝑖𝑐𝑖𝑐𝑙𝑒𝑡𝑎𝑠 𝑡𝑖𝑝𝑜 𝑖 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑗
𝒀𝒊𝒋 = 𝐶𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑒𝑛 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑎 𝑓𝑎𝑏𝑟𝑖𝑐𝑎𝑟 𝑒𝑛 𝑡𝑖𝑒𝑚𝑝𝑜 𝑒𝑥𝑡𝑟𝑎 𝑑𝑒 𝑏𝑖𝑐𝑖𝑐𝑙𝑒𝑡𝑎𝑠 𝑡𝑖𝑝𝑜 𝑖 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑗.
𝑺𝒊𝒋 = 𝐶𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑑𝑒 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑑𝑒 𝑖𝑛𝑣𝑒𝑛𝑡𝑎𝑟𝑖𝑜 𝑑𝑒 𝑏𝑖𝑐𝑖𝑐𝑙𝑒𝑡𝑎𝑠 𝑑𝑒 𝑙𝑎 𝑙í𝑛𝑒𝑎 𝑡𝑖𝑝𝑜 𝑖 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑗.
Estructura de datos:
Tiempo de produccióni (TPi) = [6 5 4]
Capacidad de Producción_Horas _Hombre_Normalj (CPNj)= 30*8*4*5=4800) = [4800 4800 4800]
Capacidad de Producción_Horas _Hombre_Extraj (CPEj)= 40%*4800=1920) = [1920 1920 1920]
Capacidad_de_Almacénj (CAj)= [1000 1000 1000]
Costo_hora-hombre normal= $3200/160horas_mes=$20
Costo_hora-hombre extra= $25
Costo_almacenamiento unitario= $5
Demanda Mensualij (Dij) = 1000 500 250 500 200 150 250 120 50]
Sinii,1= [400 150 50]
3 3 3 3 3 3

𝑀𝑖𝑛 𝑍 = 20 ෍ ෍ 𝑇𝑃𝑖 ∗ 𝑋𝑖𝑗 + 25 ෍ ෍ 𝑇𝑃𝑖 ∗ 𝑌𝑖𝑗 + 5 ෍ ෍ 𝑆𝑖𝑗


𝑖=1 𝑗=1 𝑖=1 𝑗=1 𝑖=1 𝑗=1
Sujeto a:
3

෍ 𝑋𝑖𝑗 ∗ 𝑇𝑃𝑖 ≤ 𝐶𝑃𝑁𝑗 ; 𝑗 = 1, 2, 3


𝐼=1
3

෍ 𝑌𝑖𝑗 ∗ 𝑇𝑃𝑖 ≤ 𝐶𝑃𝐸𝑗 ; 𝑗 = 1, 2, 3


𝐼=1
3

෍ 𝑆𝑖𝑗 ≤ 𝐶𝐴𝑗 ; 𝑗 = 1, 2 , 3
𝑖=1
𝑆𝑖𝑗 = 𝑆𝑖𝑛𝑖𝑖𝑗 + 𝑋𝑖𝑗 + 𝑌𝑖𝑗 − 𝐷𝑖𝑗 ; 𝑖 = 1, 2, 3 ; 𝑗 = 1
𝑆𝑖𝑗 = 𝑆𝑖,𝑗−1 + 𝑋𝑖𝑗 + 𝑌𝑖𝑗 − 𝐷𝑖𝑗 ; 𝑖 = 1, 2, 3 ; 𝑗 = 2, 3

CNN: 𝑋𝑖𝑗 , 𝑌𝑖𝑗, 𝑆𝑖𝑗 ≥ 0 ∀𝑖, ∀j


SETS:
BICICLETA/1..3/: TP;
MES/1..3/: CPN, CPE, CA;
LXM(BICICLETA,MES):X, Y, S, SINI, D;
ENDSETS
DATA:
TP= 6 5 4;
CPN= 4800 4800 4800;
CPE= 1920 1920 1920;
CA= 1000 1000 1000;
D= 1000 500 250 500 200 150 250 120 50;
SINI = 400 0 0 150 0 0 50 0 0;
ENDDATA

MIN=@SUM(LXM(I,J):20*X(I,J)*TP(I)+25*Y(I,J)*TP(I)+5*S(I,J));
@FOR(MES(J):@SUM(BICICLETA(I):X(I,J)*TP(I))<=CPN(J));
@FOR(MES(J):@SUM(BICICLETA(I):Y(I,J)*TP(I))<=CPE(J));
@FOR(MES(J):@SUM(BICICLETA(I):S(I,J))<= CA(J));
@FOR(LXM(I,J):@FOR(MES(J)|J#EQ#1:S(I,J)=SINI(I,J)+(X(I,J)+Y(I,J))-D(I,J)));
@FOR(LXM(I,J):@FOR(MES(J)|J#GT#1:S(I,J)=S(I,J-1)+(X(I,J)+Y(I,J))-D(I,J)));
MODEL:
[_1] MIN= 120 * X_1_1 + 150 * Y_1_1 + 5 * S_1_1 + 120 * X_1_2 + 150 * Y_1_2 + 5 *
S_1_2 + 120 * X_1_3 + 150 * Y_1_3 + 5 * S_1_3 + 100 * X_2_1 + 125 * Y_2_1 + 5 *
S_2_1 + 100 * X_2_2 + 125 * Y_2_2 + 5 * S_2_2 + 100 * X_2_3 + 125 * Y_2_3 + 5 *
S_2_3 + 80 * X_3_1 + 100 * Y_3_1 + 5 * S_3_1 + 80 * X_3_2 + 100 * Y_3_2 + 5 *
S_3_2 + 80 * X_3_3 + 100 * Y_3_3 + 5 * S_3_3;
[_2] 6 * X_1_1 + 5 * X_2_1 + 4 * X_3_1 <= 4800;
[_3] 6 * X_1_2 + 5 * X_2_2 + 4 * X_3_2 <= 4800;
[_4] 6 * X_1_3 + 5 * X_2_3 + 4 * X_3_3 <= 4800;
[_5] 6 * Y_1_1 + 5 * Y_2_1 + 4 * Y_3_1 <= 1920;
[_6] 6 * Y_1_2 + 5 * Y_2_2 + 4 * Y_3_2 <= 1920;
[_7] 6 * Y_1_3 + 5 * Y_2_3 + 4 * Y_3_3 <= 1920;
[_8] S_1_1 + S_2_1 + S_3_1 <= 1000;
[_9] S_1_2 + S_2_2 + S_3_2 <= 1000;
[_10] S_1_3 + S_2_3 + S_3_3 <= 1000;
[_11] - X_1_1 - Y_1_1 + S_1_1 = - 600;
[_12] - X_2_1 - Y_2_1 + S_2_1 = - 350;
[_13] - X_3_1 - Y_3_1 + S_3_1 = - 200;
[_14] - S_1_1 - X_1_2 - Y_1_2 + S_1_2 = - 500;
[_15] - S_1_2 - X_1_3 - Y_1_3 + S_1_3 = - 250;
[_16] - S_2_1 - X_2_2 - Y_2_2 + S_2_2 = - 200;
[_17] - S_2_2 - X_2_3 - Y_2_3 + S_2_3 = - 150;
[_18] - S_3_1 - X_3_2 - Y_3_2 + S_3_2 = - 120;
[_19] - S_3_2 - X_3_3 - Y_3_3 + S_3_3 = - 50;
END
Variable Value Reduced Cost Variable Value Reduced Cost
TP( 1) 6.000000 0.000000 SINI( 1, 1) 400.0000 0.000000
TP( 2) 5.000000 0.000000 SINI( 1, 2) 0.000000 0.000000
TP( 3) 4.000000 0.000000 SINI( 1, 3) 0.000000 0.000000
CPN( 1) 4800.000 0.000000 SINI( 2, 1) 150.0000 0.000000
CPN( 2) 4800.000 0.000000 SINI( 2, 2) 0.000000 0.000000
CPN( 3) 4800.000 0.000000 SINI( 2, 3) 0.000000 0.000000
CPE( 1) 1920.000 0.000000 SINI( 3, 1) 50.00000 0.000000
CPE( 2) 1920.000 0.000000 SINI( 3, 2) 0.000000 0.000000
CPE( 3) 1920.000 0.000000 SINI( 3, 3) 0.000000 0.000000
CA( 1) 1000.000 0.000000 D( 1, 1) 1000.000 0.000000
CA( 2) 1000.000 0.000000 D( 1, 2) 500.0000 0.000000
CA( 3) 1000.000 0.000000 D( 1, 3) 250.0000 0.000000
X( 1, 1) 375.0000 0.000000 D( 2, 1) 500.0000 0.000000
X( 1, 2) 500.0000 0.000000 D( 2, 2) 200.0000 0.000000
X( 1, 3) 250.0000 0.000000 D( 2, 3) 150.0000 0.000000
X( 2, 1) 350.0000 0.000000 D( 3, 1) 250.0000 0.000000
X( 2, 2) 200.0000 0.000000 D( 3, 2) 120.0000 0.000000
X( 2, 3) 150.0000 0.000000 D( 3, 3) 50.00000 0.000000
X( 3, 1) 200.0000 0.000000 Row Slack or Surplus Dual Price
X( 3, 2) 120.0000 0.000000 1 268350.0 -1.000000
X( 3, 3) 50.00000 0.000000 2 0.000000 5.000000
Y( 1, 1) 225.0000 0.000000 3 320.0000 0.000000
Y( 1, 2) 0.000000 30.00000 4 2350.000 0.000000
Y( 1, 3) 0.000000 30.00000 5 570.0000 0.000000
Y( 2, 1) 0.000000 0.000000 6 1920.000 0.000000
Y( 2, 2) 0.000000 25.00000 7 1920.000 0.000000
Y( 2, 3) 0.000000 25.00000 8 1000.000 0.000000
Y( 3, 1) 0.000000 0.000000 9 1000.000 0.000000
Y( 3, 2) 0.000000 20.00000 10 1000.000 0.000000
Y( 3, 3) 0.000000 20.00000 11 0.000000 150.0000
S( 1, 1) 0.000000 35.00000 12 0.000000 125.0000
S( 1, 2) 0.000000 5.000000 13 0.000000 100.0000
S( 1, 3) 0.000000 125.0000 14 0.000000 120.0000
S( 2, 1) 0.000000 30.00000 15 0.000000 120.0000
S( 2, 2) 0.000000 5.000000 16 0.000000 100.0000
S( 2, 3) 0.000000 105.0000 17 0.000000 100.0000
S( 3, 1) 0.000000 25.00000 18 0.000000 80.00000
S( 3, 2) 0.000000 5.000000 19 0.000000 80.00000
S( 3, 3) 0.000000 85.00000
REPARACIÓN DE COMPUTADORAS
CLS es una cadena de tiendas de servicio para computadoras. El número de horas de reparación
especializada que requiere CLS durante los próximos cinco meses, se da a continuación:
Horas de reparación requeridas mensualmente
Mes 1 (enero) 6000
Mes 2 (febrero) 7000
Mes 3 (marzo) 8000
Mes 4 (abril) 9500
Mes 5 (mayo) 11000
Al principio de enero, 50 técnicos especializados trabajan para CLS. Cada técnico especializado puede
trabajar hasta 160 horas al mes. Para satisfacer futuras demandas, hay que capacitar a nuevos técnicos. La
capacitación de un nuevo técnico dura un mes. Un técnico experimentado tiene que supervisar al aprendiz
durante 50 horas del mes de entrenamiento. A cada técnico experimentado se le pagan mensualmente $2000
(aunque no trabaje las 160 horas). Durante el mes de entrenamiento, se paga al aprendiz $1000 al mes. Al
final de cada mes, 5% de los técnicos experimentados de CLS, cambian de trabajo, para irse con Plum
Computers. Formule un modelo de Programación Lineal cuya solución permita a CLS minimizar los costos
de trabajo que se presentan al cumplir con los requerimientos de servicio durante los próximos meses.

S-ar putea să vă placă și