Lindo PDF
Lindo PDF
Lindo PDF
PROFESOR
Dr(c). FELICINDO CORTS
FACULTAD DE INGENIERA
UNIVERSIDAD DE LA SERENA
LINDO
Generalidades
Lindo (Linear Interactive Discrete Optimizer) es un software muy bsico que permite realizar
optimizacin de problemas de programacin lineal (PL), y cuadrtica, definidos sobre variables
reales y/o binarias. Debido a su simplicidad se utiliza con fines educativos, ya que es de fcil 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 mnimos, se deben diferenciar 3 partes: la
funcin objetivo, las variables de decisin y las restricciones.
La funcin objetivo debe estar siempre al comienzo del modelo y debe comenzar con MAX para
maximizar o MIN para minimizar. Al finalizar de formular la funcin objetivo y antes de comenzar
con la formulacin 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.
En lo que respecta al nombre de las variables LINDO tiene un lmite de 8 caracteres para
nombrarlas. El nombre debe ser un carcter alfabtico (A-Z) seguido de cualquier carcter con
excepcin de: ! ) + - = < >.
Opcionalmente tambin se les puede dar nombres a las restricciones lo que hacen ms sencillo leer
el reporte de solucin. Para los nombres de las restricciones se sigue las mismas reglas que para las
variables. Para hacerlo se debe comenzar la restriccin con su nombre, seguido de un parntesis
luego del mismo se comienza con la formulacin de la restriccin. Solo constantes pueden ser
definidas del lado derecho de las restricciones.
Hay distintas sentencias opcionales que se incluyen en el texto del programa luego de la sentencia
END. Estas sentencias y sus funciones aparecen en la tabla siguiente
FREE <Variable> remueve todos los lmites en <Variable>, permitiendo a la <Variable> tomar
cualquier valor real positivo o negativo
GIN <Variable> hace la <Variable> una entera (restricta a un conjunto de enteros no negativos).
INT <Variable> hace la <Variable> binaria (restricta a 0 1)
SLB <Variable> <Value> pone un lmite inferior en <Variable> de <Value>.
SUB <Variable> <Value> pone un lmite superior en <Variable> de <Value>.
TITLE <Title> hace <Title> el ttulo del modelo.
LINDO solo reconoce 5 operadores: +, -, <, >, =. No se aceptan parntesis para indicar precedencias
y se toman las operaciones de izquierda a derecha.
Los comentarios pueden estar situados en cualquier lugar en el modelo precedido del signo ! , todo
lo que sigue al signo de admiracin en la misma lnea ser considerado como un comentario.
Tomaremos el siguiente ejemplo para comprender:
PROBLEMA EJEMPLO
END
Una vez finalizada la escritura del programa se debe seleccionar en el men Solve el comando
Compile Model. Mientras el modelo se compila aparece la siguiente pantalla que muestra el
progreso de la compilacin
Si luego de la compilacin no existe ningn error se debe proceder a resolver el modelo. Para esto
debemos elegir en el men Solve el comando del mismo nombre. En este momento tenemos la
opcin de seleccionar si queremos realizar un anlisis de riesgo de nuestro problema. Esto nos da
como primer resultado la pantalla de estado del solver. Para nuestro ejemplo;
L = Linear
IN = Interactive
D = Discrete
O = Optimizer
PRESENTACION GENERAL
MENUS Y COMANDOS
Menu File
Menu Edit
Menu Solve
Menu Reports
About Lindo