Beruflich Dokumente
Kultur Dokumente
LINGO Document
Qu es LINGO?
Investigacin Operativa I
Una sola frmula que describe exactamente que es lo que se desea optimizar.
j Variables
Cantidades que pueden ser cambiadas para producir el valor ptimo de la funcin objetivo
j Restricciones
Seccin de conjuntos, SETS, que especifica los conjuntos y sus atributos Seccin de datos, DATA, que proporciona los datos a usar o indica donde obtenerlos Seccin del modelo, MODEL, lugar donde se describe el modelo matemtico.
SECCION DE CONJUNTOS
Investigacin Operativa I
Cada conjunto tiene la sintaxis siguiente: NOMBRE/ LOS MIEMBROS/: LOS ATRIBUTOS; SETS: FABRICAS /F1, F2/: CAPACIDAD; CENTROS /C1, C2, C3/: DEMANDA; RUTAS (FBRICAS, CENTROS): C, X; ENDSETS Los conjuntos, FABRICAS y CENTROS se denominan conjuntos primitivos y el ltimo se denomina conjunto derivado, donde C y X representan, respectivamente, los costos unitarios de transporte y cantidad transportada de las fabricas a los centros.
SECCION DE DATOS
Investigacin Operativa I Los valores de los atributos de los elementos de los conjuntos, tienen la sintaxis siguiente: DATA: CAPACIDAD = 30, 20; DEMANDA = 10, 25, 15; C = 2, 4, 6, 7, 10, 1; ENDDATA
UN EJEMPLO
Investigacin Operativa I Una empresa fabrica tres productos 1,2 y 3. Cada producto requiere tiempos de produccin en tres departamentos como se ilustra en la siguiente tabla :
Depart. 1
Depart. 2
Depart. 3
Benef.
3 hrs./unid. 2 hrs./unid. 1 hr./unid. $ 2 4 hrs./unid. 1 hr./unid. 2 hrs./unid. 2 hr./unid. 600 horas 400 horas 3 hr./unid. $ 4 3 hr./unid. $ 2.5 300 horas
Modelo
Investigacin Operativa I
Modelo LINGO
Investigacin Operativa I
Cada Lnea en LINGO debe terminarse con un punto y coma ; . Tu modelo no se resolver sin ellos.
LINGO Document
Investigacin Operativa I
Ya que los computadores no tienen el smbolo e, LINGO Adopt la convencin de usar los caracteres <= para denotar e. Sin embargo, tu puedes entrar simplemente <. Lo mismo ocurre para >=, tu puedes entrar simplemente >.
Modelo LINGO
Modelo LINGO
Investigacin Operativa I
Tambin podemos incluir al modelo LINGO comentarios, de tal manera que mejore la legibilidad de ste.
LINGO Document
Una expresin puede ser escritas en muchas lneas, pero la expresin debe ser terminada por un punto y coma. Por ejemplo, podramos haber utilizado dos lneas para la funcin objetivo.
LINGO Document
o minsculas. Por lo tanto, los siguientes nombres de variables podran ser equivalentes.
TURBO, Turbo, turbo
Cuando se le dan nombres a las variables en LINGO, todos los nombres deben comenzar con un caracter (A-Z). Los otros pueden ser alfabticos, numricos o el smbolo _. Los nombres pueden tener una longitud de 32 caracteres.
Una vez que el modelo ha sido entrado en la ventana modelo , ste puede ser resuelto mediante :
Un click en el botn solve Seleccionando solve del men LINGO Utilizando la tecla ctrl-s Si existen errores, stos sern informados
LINGO Document
Investigacin Operativa I
tambin el informe de la
solucin.
LINGO Document
Investigacin Operativa I
permite expresar tu problema de una manera natural que es muy similar a la notacin matemtica.
Investigacin Operativa I
P1 P2 P3
C1 (US$) 8 9 14
C2 (US$) 6 12 9 20
C3 (US$) 10 13 16 30
C4 (US$) 9 7 5 30
Oferta 35 50 40
Deman 45 da
Modelo
Investigacin Operativa I
min z ! s.a
c
ij
ij
xij
x
i
ij
e Oi u Dj
x
j
ij
xij u 0
Funcin Objetivo
min
Investigacin Operativa I
Lenguaje modelo LINGO MIN = @SUM(ARCOS(I,J) : C(I,J) * X(I,J));
c
ij
ij
xij
ij
cij xij
C(I,J) X(I,J));
x
Investigacin Operativa I
j
ij
e Oi
i
Notacin Matemtica
Sintaxis LINGO
@FOR(PLANTAS(I) :
@SUM(CLIENTES(J) :
i
xij Oi
X(I,J) O(I));
x
Investigacin Operativa I
i
ij
u Dj
j
Notacin Matemtica
Sintaxis LINGO
@FOR(CLIENTES(J) : @SUM(PLANTAS(I) :
j
xij Dj
X(I,J) D(J));
EL MODELO LINGO ES
Investigacin Operativa I
MODEL : MIN = @SUM(ARCOS(I,J) : C(I,J) * X(I,J)); @FOR(PLANTAS(I) : @SUM(CLIENTES(J):X(I,J))<=O(I)); @FOR(CLIENTES(J) : @SUM(PLANTAS(I):X(I,J))>=D(J)); END
MODELO LINGO
Investigacin Operativa I
LINGO Document
Investigacin Operativa I
CARACTERISTICAS ADICIONALES
PODEMOS COLOCARLES NOMBRES A NUESTRA FUNCION OBJETIVO, RESTRICCIONES Y UN TITULO AL MODELO
LINGO Document
Problema
Investigacin Operativa I
Almacn Fbrica
1
12 10 14
2
13 12 11
3
10 14 15
4
11 10 12
Oferta
1 2 3
Demanda
10 9 7 26
Sets son simplemente grupos de objetos relacionados. Un conjunto (set) puede ser una lista de productos, camiones o empleados. Cada miembro del conjunto puede tener una o ms caractersticas relacionadas con l. Estas caractersticas se conocen bajo el nombre de atributos. Los valores de los atributos pueden ser conocidos o desconocidos.
Usando Conjuntos
Investigacin Operativa I
PLANTAS / P1 P2 P3/ : O;
Usando Conjuntos
Investigacin Operativa I
PLANTAS / miembro1..miembroN/ : O;
Usando Conjuntos
Investigacin Operativa I Lista miembros Implcito (formato) Ejemplo Conjunto de miembros
1..n
stringM..stringN
1..5
1,2,3,4,5
DayM..dayN
TRUCKS3.. TRUCKS3, TRUCKS204 TRUCKS4, ,TRUCKS 204 MON..FRI MON,TUE, WED,THU,F RI OCT..JAN OCT,NOV,D EC,JAN
monthM..monthN
Usando Conjuntos
Investigacin Operativa I
Como una ilustracin, en el ejemplo Powerco, podramos haber definido el conjunto PLANTAS como :
PLANTAS /P1..P3/ : O;
Usando Conjuntos
Investigacin Operativa I
Una forma alternativa, cuando se utiliza el formato 1..n, tu puedes definir la longitud del conjunto en la seccin DATA y entonces realizar la referencia :
DATA:
Nmero_de_plantas = 3;
ENDDATA SETS:
PLANTAS /1..Nmero_de_plantas/ : O;
ENDSETS
Investigacin Operativa I
setname(Lista_conj_padres)[/lista_miembros/][:lista_atrib]
Investigacin Operativa I
Investigacin Operativa I
Operadores lgicos reconocidos por LINGO son : #EQ# igual #NE# distinto #GE# mayor o igual que #GT# mayor #LT# menor que #LE# menor o igual que
Investigacin Operativa I
funcin
@FOR @SUM @MIN @MAX
uso
Funciones
Es utilizado para generar conjuntos de restricciones Calcula la suma de una expresin sobre todos los miembros de un conjunto Calcula el mnimo de una expresin sobre todos los miembros de un conjunto Calcula el mximo de una expresin sobre todo los miembros de un conjunto
Funcin @SUM
Investigacin Operativa I
SETS: CLIENTES / C1 C2 C3 C4 C5/ : Demanda; ENDSETS DATA : DEMANDA = 5 1 3 4 6; ENDDATA
Funcin @FOR
Investigacin Operativa I
SETS: CAMIONES / RENAULT FORD DODGE / : CARGA; ENDSETS
Investigacin Operativa I
Sintaxis
Investigacin Operativa I
@GIN(nombre_variable).
@GIN(X);
LINGO Document
Modelo LINGO
Investigacin Operativa I
MODEL: SETS:
ARTICULOS /A1..A10/: PESO, RATING, INCLUYE;
ENDSETS
DATA: PESO RATING = 1 2 3 9 4 3 3 8 4 10 1 6 5 4 10 10; CAPACIDAD_MOCHILA = 15; ENDDATA
Modelo LINGO
Investigacin Operativa I
MAX = @SUM(ARTICULOS: RATINGS * INCLUYE); @SUM(ARTICULOS:PESO*INCLUYE)<=CAPACIDAD_MOCHILA; @FOR(ARTICULOS:@BIN(INCLUYE)); END
VARIABLES ACOTADAS
Investigacin Operativa I
@BND(cota_inferior,nombre_variable,cota_superior);