Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Presentación LINDO

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 47

LINDO

Linear Interactive Discrete Optimizer


Introducción

 Es un popular software destinado a


resolver problemas Optimización:
programación lineal, entera y entera
mixta.
 De esta forma trataremos de
explicar en que consiste y en como
utilizarlo, dando para ello algunos
ejemplos de aplicación y su análisis
correspondiente.
Comando a Considerar
 Funciones.
 Maximizar : MAX
 Minimizar : MIN
 Restricciones:
 SUBJECT TO
 SUCH THAT
 S.T.
 ST
 Al terminar restricciones.
 END
Variables
 Las variables pueden tener un nombre de
máximo 8 caracteres.
 Tipos de Variables:
 FREE: declara a la variable S.R.S
 GIN: Números enteros no negativos.
 INT: Variables Binarias ( 0 o 1)
 SLB: Coloca una cota inferior simple sobre la
variable ( X >= 20)
 SUB Coloca una cota superior simple sobre la
variable (X =< 20)
Restricciones
 5 operadores: +, - , >, <, =. Las
igualdades estrictas, las relaja.
 No aceptará orden por paréntesis, este
resolverá de izquierda a derecha.
 Puede escribir una F.O. o una restricción
en múltiples líneas excepto en medio de
un nombre variable o un coeficiente.
 Lindo no es sensible a MAYUS, esto es
tomara a x y a X como una sola variable.
 Lindo no permite variables al lado
derecho, del mismo modo no permite
constantes al lado izquierdo.
Problema
MAX Z= 6x + 7 y
Sujeto a
2x+3y≤24
2x+y≤16
Y≤16
X,Y≥0
Ejemplo Básico
Una vez hecho esto se procede a resolver, donde si la hoja de calculo no
está minimizada la solución y los detalles de ésta aparecerán detrás del
problema. Para un mayor entendimiento de lo que va sucediendo se
recomienda
Mientras el programa resuelve el problema, éste pregunta si se quiere un análisis de
sensibilidad o no, si la respuesta es si, la solución será mas detallada. Además tras
esta pequeña ventana de pregunta, se puede divisar que nuestro problema tiene un
optimo dentro de una serie de otras especificaciones, las cuales se muestran en la
siguiente figura
Solución Básica
Solución más Sensibilidad
Ejemplo

Carolina dedica parte de su tiempo al reparto de


propaganda publicitaria para Falabella y Ripley.
Falabella le paga $50 por cada volante entregado y
Ripley, con volantes más grandes, le paga $70. Ella
lleva dos bolsas: una para los impresos de
Falabella, en la que caben 120 y otra para los
impresos de Ripley, en la que caben 100. Ha
calculado que cada día es capaz de repartir 150
volantes como máximo. Lo que se pregunta la
estudiante es: ¿Cuántos volantes habrá que repartir
de cada clase para que su beneficio diario sea
máximo?
Solución

 X: Cantidad de volantes de Falabella a


repartir.
 Y: Cantidad de volantes de Ripley a
repartir.
Solución

Objetivo es Maximizar la utilidad

Max Z= 50X+70Y
Sujeto a
X<=120
Y<=100
X + Y<=150
X>=0
Y>=0
Ejercicio Nº1
 Se desea Producir 3 productos: mesas, sillas, cajones.
El precio de venta de cada producto es de 20, 12 y 18
pesos, y el costo de producción es de 12, 6 y 11 pesos
respectivamente. Se dispone actualmente de 500 m3
de madera y los requerimientos son de 0.6, 0.4, 0.35
para las mesas, sillas y cajones.
 Se sabe que cada mesa ocupa 0.5 hrs. en el taller de
fabricado, 0.2 en el taller de pintado y 0.1 en
embalado. Cada silla ocupa 0.3, 0.65, 0.15 hrs.
respectivamente. Y cada cajón 0.4, 0.42, 0,27 hrs.
respectivamente.
 Además la producción mínima de mesas es 100 y
máxima de 8000, no se pueden producir mas de 2500
sillas ni tampoco menos de 50 cajones ni más de 3000
de estos mismos.
 La restricción de horas de fabricado es de 800, de
pintado es de 400 y de embalado es de 300.
Variables de Decisión

 X1: cantidad de mesas a Producir


 X2: cantidad de Sillas a Producir
 X3: cantidad de Cajones a Producir
Modelo del problema
 MAXIMIZAR Z = (20 - 12) X1 + (12 - 6) X2 + (18 -11) X3

 s/a:
 FABRICACION: 0.5X1 + 0,3X2 + 0,4X3  800
 PINTADO: 0,2X1 + 0,35X2 + 0,42X3  400
 EMBALADO: 0,1X1 + 0,15X2 + 0,27X3  300
 MATERIAL 0,6X1 + 0,4X2 + 0,35X3  500
 X1  100
 X1  8000
 X2  0
 X2  2500
 X3  50
 X3  3000
Xi0 , i=1,2,3.
Modelo LINDO
Solución
Análisis de Sensibilidad
Problema Nº2
 Para producir una determinada aleación metálica que requiere
cobre, estaño y cinc, se van a mezclar 3 tipos de aleación de
estos 3 metales, disponibles en el mercado: A, B y C.
 Cada libra de la aleación final deseada debe contener a lo
menos un 20% de cobre, no más de un 45% de estaño y la
proporción de cinc debe ser un 30%. Las características de
las aleaciones A, B y C son:

 Plantear como un PPL la situación-problema de determinar los


porcentajes
 de A, B y de C que debe contener 1 libra de aleación
deseada.
Definición de Variables
 x1 = proporción de A en 1 libra de
aleación
 x2 = proporción de B en 1 libra de
aleación
 x3 = proporción de C en 1 libra de
aleación
Modelo
Modelo en Lindo
Resultado.

 Infactible:
Problema Nº3

 Una empresa tiene 3 fábricas y 2 tiendas


mayoristas. Los datos de producción semanal del
bien A en cada fábrica, los requerimientos
semanales del bien A en cada tienda y el costo
unitario de transporte desde cada fábrica hasta
cada tienda son:

 Plantear como un PPL, para minimizar el costo


total semanal de transporte.
Definición de Variables

 xi j = Nº unidades a transportar
desde fábrica “i” hasta tienda “j”
Para:
i = 1, 2, 3 j = 1, 2
Modelo
Modelo LINDO
Resultados
Sensibilidad
Ejercicio Nº4
 Una empresa manufacturera de papeles debe
surtir un pedido consistente en 800 rollos de
papel de 30 cms. de ancho, 500 rollos de papel
de 45 cms. de ancho y 1.000 rollos de papel de
56 cms. de ancho. En este momento, la empresa
cuenta solamente con rollos de 108 cms. De
ancho y debe decidir cómo cortarlos para surtir el
pedido con un mínimo desperdicio de papel.
Definición de Variable

 Sea xj = Nº de rollos de 108 cms.


que se cortan en la modalidad “j”.

Para j= 1,2,3,4,5.
Modelo.
Modelo LINDO
Resultados
Sensibilidad
Programación lineal
Entera binaria 0-1
Las variables binarias o 0-1 juegan un
importante papel en la aplicación de la PLE.
Estas variables hacen posible incorporar
“decisiones de si o no”, llamadas a veces
“decisiones dicotómicas”, el formato de una
programación matemática.
Dos ejemplos ilustran lo que decimos:

1.- En un problema de ubicación de una planta


pondremos Xj = 1 si decidimos ubicar la planta en
la localidad j y Xj = 0 si decidimos no hacerlo.
2.- En un problema de asignación de rutas
escribimos Xijk = 1 si el camión k va de la ciudad
i a la ciudad j o Xijk = 0 si no lo hace.
Solución mediante LINDO para
problemas de Programación Entera

- Para declarar variables enteras:


Escribir después de “END”
GIN Xi, con i=1,2,… etc.

- Para declarar variables binarias:


Escribir después de “END”
INT Xi, con i=0 ó 1
Ejemplo:
Solución sin declarar las variables como enteras:
Solución declarando las variables como
enteras:

También podría gustarte