INTRODUCCION
Lindo (Linear Interactive Discrete Optimizer) es un software muy básico que permite
realizar optimización de problemas de programación lineal (PL), y cuadrática, definidos
sobre variables reales y/o binarias. Debido a su simplicidad se utiliza con fines
educativos, ya que es de fácil acceso y puede correr hasta en un viejo 286. El problema
es que su interfaz es muy primitiva y no es amigable.
Sintaxis
La Sintaxis requerida para LINDO tiene requisitos mínimos, se deben diferenciar 3
partes:
La función objetivo
Las variables de decisión
las restricciones.
La función objetivo debe estar siempre al comienzo del modelo y debe comenzar con
MAX para maximizar o MIN para minimizar. Al finalizar de formular la función objetivo y
antes de comenzar con la formulación de las restricciones debe colocarse la sentencia
SUBJECT TO o SUCH THAT o S.T. o ST. Luego se formulan las restricciones el final
de las restricciones debe ir seguida de la palabra END.
TRABAJO ENCARGADO
Una empresa que produce una línea de componentes para el molino de martillos está
planeando los niveles de producción para el periodo de enero a junio.
Los pronósticos de la demanda de componentes para los seis meses son 980,640, 700,
1200, 900, y 550 unidades respectivamente. El inventario al final de diciembre se espera
que sea 500 unidades y la empresa desea tener 600 unidades al final de junio. El costo
por mantener una unidad en inventario un mes es de 3 dólares.
Debido a cuestiones de costo de materia prima y salario de los trabajadores el precio
por producir un componente vario de un mes a otro.
Al analizar datos históricos la empresa considera que el precio de fabricación de una
unidad es de 40, 34, 38 ,32, 41, y 38 dólares para enero, febrero, marzo, abril, mayo y
junio respectivamente.
a) Construir el modelo de programación lineal.
b) Tomar la decisión en base a los datos obtenidos con el software Lindo.
SOLUCIÓN:
Variables de decisión
𝑋1 = 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑎 𝑝𝑟𝑜𝑑𝑢𝑐𝑖𝑟 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑑𝑒 𝐸𝑛𝑒𝑟𝑜
𝑋2 = 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑎 𝑝𝑟𝑜𝑑𝑢𝑐𝑖𝑟 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑑𝑒 𝐹𝑒𝑏𝑟𝑒𝑟𝑜
𝑋3 = 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑎 𝑝𝑟𝑜𝑑𝑢𝑐𝑖𝑟 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑑𝑒 𝑀𝑎𝑟𝑧𝑜
𝑋4 = 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑎 𝑝𝑟𝑜𝑑𝑢𝑐𝑖𝑟 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑑𝑒 𝐴𝑏𝑟𝑖𝑙
𝑋5 = 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑎 𝑝𝑟𝑜𝑑𝑢𝑐𝑖𝑟 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑑𝑒 𝑀𝑎𝑦𝑜
𝑋6 = 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑎 𝑝𝑟𝑜𝑑𝑢𝑐𝑖𝑟 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑑𝑒 𝐽𝑢𝑛𝑖𝑜
Estas variables representan el inventario mensual, ya que se requiere variables extra
que correspondan al exceso de producción que se guardara para periodos posteriores.
𝑋7 = 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑎 𝑝𝑟𝑜𝑑𝑢𝑐𝑖𝑟 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑑𝑒 𝐸𝑛𝑒𝑟𝑜
𝑋8 = 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑎 𝑝𝑟𝑜𝑑𝑢𝑐𝑖𝑟 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑑𝑒 𝐹𝑒𝑏𝑟𝑒𝑟𝑜
𝑋8 = 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑎 𝑝𝑟𝑜𝑑𝑢𝑐𝑖𝑟 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑑𝑒 𝑀𝑎𝑟𝑧𝑜
𝑋10 = 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑎 𝑝𝑟𝑜𝑑𝑢𝑐𝑖𝑟 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑑𝑒 𝐴𝑏𝑟𝑖𝑙
𝑋11 = 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑎 𝑝𝑟𝑜𝑑𝑢𝑐𝑖𝑟 𝑒𝑛 𝑒𝑙 𝑚𝑒𝑠 𝑑𝑒 𝑀𝑎𝑦𝑜
Función Objetivo
𝑀𝑖𝑛 = 40𝑋1 + 34𝑋2 + 38𝑋3 + 32𝑋4 + 41𝑋5 + 38𝑋6 + 3𝑋7 + 3𝑋8 + 3𝑋9 + 3𝑋10 + 3𝑋11 + 3𝑋12
Para las restricciones se toma en cuenta la relación que existe entre el inventario
y las unidades [Link] aquí la ecuación.
𝒔. 𝒂:
𝑿𝟕 = 𝑋1 + 500 − 980
𝑿𝟖 = 𝑋2 + 𝑿𝟕 − 640
𝑿𝟗 = 𝑋3 + 𝑿𝟖 − 700
𝑿𝟏𝟎 = 𝑋4 + 𝑿𝟗 − 1200
𝑿𝟏𝟏 = 𝑋5 + 𝑿𝟏𝟎 − 900
600 = 𝑋6 + 𝑿𝟏𝟏 − 550
𝑋1 , 𝑋2 , 𝑋3 , 𝑋4 , 𝑋5 , 𝑋6 , 𝑋7 , 𝑋8 , 𝑋9 , 𝑋10 , 𝑋11 ≥ 0
PROGRAMANDO EN LINDO
MIN 40X1+34X2+38X3+32X4+41X5+38X6+3X7+3X8+3X9+3X10+3X11+3X12
SUBJECT TO
X1-X7=480
X2+X7-X8=640
X3+X8-X9=700
X4+X9-X10=1200
X5+X10-X11=900
X6+X11=1150
END
Resolviendo el problema tiene la siguiente solución:
LP OPTIMUM FOUND AT STEP 6
OBJECTIVE FUNCTION VALUE
1) 180460.0
VARIABLE VALUE REDUCED COST
X1 480.000000 0.000000
X2 1340.000000 0.000000
X3 0.000000 1.000000
X4 2100.000000 0.000000
X5 0.000000 6.000000
X6 1150.000000 0.000000
X7 0.000000 9.000000
X8 700.000000 0.000000
X9 0.000000 8.000000
X10 900.000000 0.000000
X11 0.000000 0.000000
X12 0.000000 3.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 -40.000000
3) 0.000000 -34.000000
4) 0.000000 -37.000000
5) 0.000000 -32.000000
6) 0.000000 -35.000000
7) 0.000000 -38.000000
NO. ITERATIONS= 6
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
X1 40.000000 INFINITY 9.000000
X2 34.000000 1.000000 8.000000
X3 38.000000 INFINITY 1.000000
X4 32.000000 6.000000 0.000000
X5 41.000000 INFINITY 6.000000
X6 38.000000 0.000000 INFINITY
X7 3.000000 INFINITY 9.000000
X8 3.000000 1.000000 8.000000
X9 3.000000 INFINITY 8.000000
X10 3.000000 6.000000 0.000000
X11 3.000000 INFINITY 0.000000
X12 3.000000 INFINITY 3.000000
RIGHTHAND SIDE RANGES
ROW CURRENT ALLOWABLE ALLOWABLE
RHS INCREASE DECREASE
2 480.000000 INFINITY 480.000000
3 640.000000 INFINITY 1340.000000
4 700.000000 INFINITY 700.000000
5 1200.000000 INFINITY 2100.000000
6 900.000000 INFINITY 900.000000
7 1150.000000 INFINITY 1150.000000
Decisión:
La producción de la línea de componentes para el molino de martillos seria en el mes
de enero 480; febrero 1340, abril 2100, junio 1150; con respecto a los inventarios en
febrero 700 y en abril 900 haciendo un gasto total de 180460.
ANEXOS
EJERCICIOS HECHO EN CLASES
EJERCICIO 1:
𝑀𝑖𝑛 𝑍 = 6𝑋1 + 21𝑋2
𝑠. 𝑎.
2000𝑋1 + 6000𝑋2 ≥ 6000 (𝑐𝑎𝑙𝑜𝑟𝑖𝑎𝑠)
50𝑋1 + 200𝑋2 ≥ 200 (𝑝𝑟𝑜𝑡𝑒𝑖𝑛𝑎𝑠)
𝑋1 ; 𝑋2 ≥ 0
Solución:
VARIABLES DE DECISION:
𝑋1 = 𝐾𝑔 𝑑𝑒 𝑝𝑎𝑛 𝑎 𝑐𝑜𝑚𝑝𝑟𝑎𝑟𝑠𝑒 𝑝𝑎𝑟𝑎 𝑐𝑢𝑚𝑝𝑙𝑖𝑟 𝑙𝑎 𝑑𝑖𝑒𝑡𝑎 𝑝𝑟𝑜𝑝𝑢𝑒𝑠𝑡𝑎
𝑋2 = 𝐾𝑔 𝑑𝑒 𝑞𝑢𝑒𝑠𝑜 𝑎 𝑐𝑜𝑚𝑝𝑟𝑎𝑟𝑠𝑒 𝑝𝑎𝑟𝑎 𝑐𝑢𝑚𝑝𝑙𝑖𝑟 𝑙𝑎 𝑑𝑖𝑒𝑡𝑎 𝑝𝑟𝑜𝑝𝑢𝑒𝑠𝑡𝑎
PROGRAMANDO EN LINDO:
MIn 6X1+21X2
subject to
2000X1+4000X2>=6000
50X1+200X2>=200
END
Resolviendo el problema tiene la siguiente solución:
LP OPTIMUM FOUND AT STEP 2
OBJECTIVE FUNCTION VALUE
1) 22.50000
VARIABLE VALUE REDUCED COST
X1 2.000000 0.000000
X2 0.500000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 -0.000750
3) 0.000000 -0.090000
NO. ITERATIONS= 2
Decisión:
Para cumplir la dieta alimenticia se debe comprar 2Kg de pan y medio Kg de queso haciendo
un gasto total de 22.50 soles.
EJERCICIO 2:
17P 20 13P 12P
OPT 20O OPT OPT 70
IMU PTI IMU IMU
15
M 21P
MU 26
M 25
M
OPT
FOU OPT
M OPT
FOU OPT
FOU 90
IMU
ND IMU
FOU IMU
ND IMU
ND
15P
M 14P
M
ND 15
M 19P
M
AT
AT AT 115
OPT
FOU OPT
FOU
AT OPT
FOU OPT
FOU
STE
STE STE
IMU
ND IMU
ND
STE IMU
ND IMU
ND
P
P P
M
AT M
AT M
AT M
AT
50 2 60 P 70 2 95 2
FOU
STE FOU
STE
2 FOU
STE FOU
STE
ND
P NDP ND
P ND
P
𝑿𝑰𝒋 : 𝒏𝒖𝒎𝒆𝒓𝒐𝒔 𝒅𝒆 𝒖𝒏𝒊𝒅𝒂𝒅 𝒂 AT 𝒍𝒍𝒆𝒗𝒂𝒓𝒔𝒆 𝒂 𝒅𝒆𝒔𝒅𝒆 𝒆𝒍AT 𝒐𝒓𝒊𝒈𝒆𝒏 𝒊 𝒂𝒍𝒅𝒆𝒔𝒕𝒊𝒏𝒐AT𝒋
AT
2 2 2 2
STE STE STE STE
OBJ OBJ OBJ
P P P P
OBJ ECTI + 26𝑋 + 25𝑋 ECTI
𝑀𝐼𝑛 𝑍 = 17𝑋ECTI
112 + 20𝑋12 + 13𝑋 13 + 12𝑋
2 14 + 15𝑋 21 + 21𝑋 222 23 24 2 15𝑋31
+
VE ECTI VE VE
+ 14𝑋32 + 15𝑋33 + 19𝑋34
OBJ
FUN OBJ
VE OBJ
FUN OBJ
FUN
ECTI
CTI ECTI
FUN ECTI
CTI ECTI
CTI
VE
ON VE
CTI VE
ON VE
ON
𝑠. 𝑎: OBJ
FUN OBJ OBJ OBJ
VAL FUN
ON FUN
VAL FUN
VAL
ECTI
CTI 𝑋 +ECTI
CTI
𝑋 + 𝑋 + 𝑋 = 70ECTI
CTI ECTI
CTI
UE
UE 11 VAL 12 13 14 UE
VE
ON VE
ON
UE VE
ON VE
ON
FUN
VAL 𝑋 21 + 𝑋
FUN
VAL22 + 𝑋23 + 𝑋24 = 90
FUN
VAL FUN
VAL
CTI
UE 𝑋31 + 𝑋 CTI
UE CTI
UE CTI
UE
32 + 𝑋33 + 𝑋34 = 115
ON ON ON ON
1) 1) 1)
VAL VAL VAL VAL
22.5 1) 22.5 22.5
UE 𝑋 + UE
𝑋 + 𝑋 + 𝑋 = 50UE UE
000 11 22.5 21 31 41 000 000
1)
0 1)
000 1)
0 1)
0
22.5 𝑋12 +22.5𝑋22 + 𝑋32 + 𝑋42 = 60 22.5
0 22.5
000 000 000 000
1)
0 1)
0 1)
0 1)
0
22.5 22.5 22.5 22.5
VAR VAR VAR
000 000 000 000
IABL VAR IABL IABL
0 0 0 0
E IABL E E
𝑋13 + 𝑋23 + 𝑋33 + 𝑋43 = 70
𝑋14 + 𝑋24 + 𝑋34 + 𝑋44 = 95
𝑋𝑖𝑗 ≥ 0 ∀𝑖 = 1, 2, 3 ∀𝑗 = 1, 2, 3, 4
PROGRAMANDO EN LINDO
MIn 17X11+20X12+13X13+12X14+15X21+21X22+26X23+25X24+15X31+14X32+15X33+17X34
subject to
X11+X12+X13+X14=70
X21+X22+X23+X24=90
X31+X32+X33+X34=115
X11+X21+X31=50
X12+X22+X32=60
X13+X23+X33=70
X14+X24+X34=95
END
Resolviendo el problema tiene la siguiente solución:
OBJECTIVE FUNCTION VALUE
1) 4185.000
VARIABLE VALUE REDUCED COST
X11 0.000000 14.000000
X12 0.000000 11.000000
X13 0.000000 3.000000
X14 70.000000 0.000000
X21 50.000000 0.000000
X22 40.000000 0.000000
X23 0.000000 4.000000
X24 0.000000 1.000000
X31 0.000000 7.000000
X32 20.000000 0.000000
X33 70.000000 0.000000
X34 25.000000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 12.000000
3) 0.000000 0.000000
4) 0.000000 7.000000
5) 0.000000 -15.000000
6) 0.000000 -21.000000
7) 0.000000 -22.000000
8) 0.000000 -24.000000
NO. ITERATIONS= 7
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
X11 17.000000 INFINITY 14.000000
X12 20.000000 INFINITY 11.000000
X13 13.000000 INFINITY 3.000000
X14 12.000000 3.000000 INFINITY
X21 15.000000 7.000000 INFINITY
X22 21.000000 1.000000 7.000000
X23 26.000000 INFINITY 4.000000
X24 25.000000 INFINITY 1.000000
X31 15.000000 INFINITY 7.000000
X32 14.000000 7.000000 1.000000
X33 15.000000 3.000000 INFINITY
X34 17.000000 1.000000 3.000000
RIGHTHAND SIDE RANGES
ROW CURRENT ALLOWABLE ALLOWABLE
RHS INCREASE DECREASE
2 70.000000 0.000000 0.000000
3 90.000000 0.000000 0.000000
4 115.000000 0.000000 0.000000
5 50.000000 0.000000 0.000000
6 60.000000 0.000000 0.000000
7 70.000000 0.000000 0.000000
8 95.000000 0.000000 0.000000
EJERCICIO 3:
𝑀𝑎𝑥 = 10𝑋2 − 5𝑋4
𝑠. 𝑎:
2𝑋1 + 3𝑋2 + 4𝑋3 + 2𝑋4 ≤ 500
3𝑋1 + 2𝑋2 + 𝑋3 + 2𝑋4 ≤ 380
𝑋𝑗 ≥ 0 ∀𝑗 = 1, 2, 3, 4
PROGRAMANDO EN LINDO
max 10x2-5x4
subject to
2x1+3x2+4x3+2x4<=500
3x1+2x2+x3+2x4<=380
END
Resolviendo el problema tiene la siguiente solución:
LP OPTIMUM FOUND AT STEP 1
OBJECTIVE FUNCTION VALUE
1) 1666.667
VARIABLE VALUE REDUCED COST
X2 166.666672 0.000000
X4 0.000000 11.666667
X1 0.000000 6.666667
X3 0.000000 13.333333
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 3.333333
3) 46.666668 0.000000
NO. ITERATIONS= 1
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
X2 10.000000 INFINITY 9.999999
X4 -5.000000 11.666666 INFINITY
X1 0.000000 6.666667 INFINITY
X3 0.000000 13.333333 INFINITY
RIGHTHAND SIDE RANGES
ROW CURRENT ALLOWABLE ALLOWABLE
RHS INCREASE DECREASE
2 500.000000 70.000000 500.000000
3 380.000000 INFINITY 46.666668
UNIVERSIDAD NACIONAL DEL
CENTRO DEL PERÚ
FACULTAD DE INGENIERÍA EN
INDUSTRIAS ALIMENTARIAS
¨Año del buen servicio al ciudadano”
TRABAJO ENCARGADO CON EL SOFTWARE
LINDO
CATEDRA: INVESTIGACION OPERATIVA
CATEDRÁTICO: Ing. Indigoyen Ramírez DAVID
INTEGRANTES: Chipana Lopez KAREN DANITZA
SEMESTRE: VI
2018
JUNIN-PERU