Guia LINGO
software de optimización matemática
www.lindo.com
I.
Entorno de Desarrollo de modelos en el software LINGO
¿Qué es LINGO?
LINGO (Linear, INteractive, and General Optimizer), es un lenguaje de modelación
matemática, que provee un entorno en el cual se puede desarrollar, correr y modificar
modelos matemáticos.
LINGO es una herramienta fácil de utilizar para desarrollargrandes modelos de
optimización lineal y no lineal.
Uso de Conjuntos (SETS)
Comúnmente los grandes modelos requieren expresar grupos de muchas
restricciones, las cuales mantienen una estructura similar. Dada esta característica,
LINGO, permite manejarlo como conjuntos (SET) de información y realizar las
operaciones de una manera más eficiente. Usando el estilo del modelo directo, usted
necesitaráencargarse de tipear de manera repetitiva cada término de cada restricción.
Los SETS le permiten definir y trabajar con grupos de objetos que necesitan ser
procesados de formas similares. En efecto, los mismos objetos pueden incluso ser
otros conjuntos. Los SETS son el fundamento del Lenguaje de Modelación de LINGO.
Con una definición de conjuntos pude escribir una serie de restricciones similares enuna sentencia simple y expresar formulaciones largas y complejas consistentemente.
Esto le permite expresar sus modelos más grandes muy rápidamente, y de cierta
manera es fácil de leer y entender.
LA SECCION SET DE UN MODELO
Consideraciones sobre el uso de conjuntos (SETS)
•
•
•
•
•
•
•
•
Es la característica más poderosa en LINGO para modelar sistemas grandes.
Permite expresar muchasrestricciones similares en pocas líneas.
Antes de usar conjuntos en un modelo LINGO, tenemos que definirlos en la
sección de conjuntos del modelo.
La sección de conjuntos comienza con la palabra clave “ SETS:” (incluyendo los
dos puntos) y termina con la palabra clave “ENDSETS”.
Un modelo puede, no tener la sección de conjuntos, una sola o múltiples
secciones.
Una sección de conjuntos puede aparecer encualquier lugar del modelo.
La única restricción es que se debe definir cualquier conjunto y sus atributos antes
de que los mismos sean referenciados en las restricciones del modelo.
El nombre del conjunto es cualquiera que el usuario seleccione, comenzando con
un carácter alfabético, seguido de hasta 31 caracteres alfanuméricos o el underline
“_”.
J. Ponce, G. Solis y L. Ulfe – Investigación deOperaciones
1
•
•
•
La lista de miembros del conjunto es aquella que constituyen el conjunto, estos
pueden ser listados en forma explicita o implícita.
Los miembros del conjunto pueden tener cero o mas atributos especificados en la
lista de atributos de la definición del conjunto.
Un atributo es simplemente alguna propiedad que cada uno de los miembros del
conjunto posee.
Los SETS (conjuntos) sonsimplemente grupos de objetos seleccionados. Un
SET puede ser una lista de productos, tareas, o stocks. Cada elemento del conjunto
puede tener una o más características asociadas con éste. Llamaremos a estas
características atributos. Por ejemplo, un SET de producto puede tener un atributo que
lista el precio de cada producto.
Tipos de Conjuntos
Primitivos
Densos
Derivados
Lista Explicita
NoDensos
Filtros
Conjunto Primitivo:
Los conjuntos primitivos son los objetos fundamentales en un modelo y no pueden ser
desmenuzados en componentes más pequeños.
La definición de un conjunto primitivo requiere:
–
–
–
El nombre del conjunto.
Sus miembros (objetos contenidos en el conjunto).
Opcionalmente, cualquier atributo que los miembros del conjunto
puedan tener.
Sintaxis:
nombre_conjunto /lista_miembros / [ : lista_atributos ]
SUCURSAL / AREQUIPA, CUZCO, TRUJILLO / : INGRESOS;
En algunos casos de definición de conjuntos no es necesario definir atributos
asociados a los miembros del conjunto, por ejemplo el caso anterior podría quedar así:
SUCURSAL / AREQUIPA, CUZCO, TRUJILLO / : ;
Los miembros de los dos ejemplos anteriores han sido definidos por extensión.
nombre_conjunto / 1 ..n /...
Regístrate para leer el documento completo.