Sesión 04 - Introducción A Lingo
Sesión 04 - Introducción A Lingo
Sesión 04 - Introducción A Lingo
• Acerca de Lingo
• Solución de un problema de programación lineal con “Lingo”
» El problema
» El modelo matemático
• Ingresando los datos a Lingo
» Objective Function
» Value
» Slack or Surplus
» Dual Price
Software Lingo
Contiene un potente lenguaje
para expresar modelos de
LINGO es una herramienta diseñada optimización
Permite resolverlos
Función Objetivo
Una sola fórmula que describe exactamente que es lo que se desea
optimizar.
Variables
Cantidades que pueden ser cambiadas para producir el valor óptimo
de la función objetivo
Restricciones
Fórmulas que definen los límites de los valores de las variables
Ingresando los datos en Lingo
Objective Function: Nos muestra el resultado de nuestra función objetivo.
Slack or Surplus:
Cuando la restricción en cuestión tiene el operador <=, corresponde a una holgura, es decir, se
puede interpretar como el recurso no utilizado.
Dual Price: El precio sombra de una restricción, es el cambio marginal de la función objetivo
cuando el valor del lado derecho de la restricción aumenta en una unidad.
Modelo LINGO
También podemos incluir al modelo LINGO comentarios,
de tal manera que mejore la legibilidad de éste.
Sintaxis general de LINGO
• Una expresión puede ser escritas en muchas líneas, pero la
expresión debe ser terminada por un punto y coma. Por ejemplo,
podríamos haber utilizado dos líneas para la función objetivo.
• Definición de conjuntos:
Se inicia con la palabra sets, seguida de “:”.
En esta sección se definen o declaran los conjuntos de objetos propios de cada caso y
sus atributos.
Los atributos pueden ser los datos o las variables que se asocian a cada elemento de
cada conjunto.
Esta sección del modelo debe concluir con las palabras en inglés endsets (ya sea
juntas o separadas).
Usando Conjuntos (Sets)
–PLANTAS / P1 P2 P3/ : O;
Usando Conjuntos
Lista miembros Implícito Ejemplo Conjunto de miembros
(formato)
1..n 1..5 1,2,3,4,5
stringM..stringN TRUCKS3.. TRUCKS3,
TRUCKS204 TRUCKS4,…,TRUC
KS204
DayM..dayN MON..FRI MON,TUE,WED,TH
U,FRI
monthM..monthN OCT..JAN OCT,NOV,DEC,JAN
Operadores lógicos reconocidos por LINGO son
:
#EQ# igual
#NE# distinto
#GE# mayor o igual que
#GT# mayor
#LT# menor que
#LE# menor o igual que
Carga de los datos - DATA:
función uso
• @GIN(nombre_variable).
– @GIN(X);
El Lenguaje Lingo