Академический Документы
Профессиональный Документы
Культура Документы
Investigacin Operativa I
Investigacin Operativa I
Qu es LINGO?
LINGO (Linear, INteractive, and General
Optimizer).
Es una herramienta simple para utilizar la
Investigacin Operativa I
Investigacin Operativa I
UN EJEMPLO
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 :
Prod.
Depart. 1
Depart. 2
4 hrs./unid. 1 hr./unid.
3 hr./unid. $ 4
2 hrs./unid. 2 hr./unid.
3 hr./unid. $ 2.5
Hrs.
Total
600 horas
300 horas
400 horas
Depart. 3
Benef.
Investigacin Operativa I
Modelo
Max 2 x1 4 x2 2.5 x3
s.a
3 x1 4 x2 2 x3 600
2 x1 x2 2 x3 400
x1 3 x2 3 x3 300
x1 , x2 , x3 0
Investigacin Operativa I
Modelo LINGO
Cada Lnea en LINGO debe terminarse con un punto y coma
; . Tu modelo no se resolver sin ellos.
Investigacin Operativa I
Modelo LINGO
max
2 x1 4 x2 2.5 x3 ;
3 x1 4 x2 2 x3 600;
2 x1 x2 2 x3 400;
x1 3 x2 3 x3 300;
Investigacin Operativa I
Modelo LINGO
Tambin podemos incluir al modelo LINGO comentarios, de
tal manera que mejore la legibilidad de ste.
Investigacin Operativa I
Investigacin Operativa I
Investigacin Operativa I
Investigacin Operativa I
solucin.
tambin el informe de la
Investigacin Operativa I
Utilizando el Lenguaje de
Modelamiento
Investigacin Operativa I
Utilizando el Lenguaje de
Modelamiento
Powerco tiene tres plantas de generacin de energa
elctrica que suministran energa requerida a cuatro
ciudades. Cada planta puede suministrar las siguientes
cantidades de kilowatt-hora (kwh) de energa elctrica : la
planta 1, 35 millones; la planta 2, 50 millones; la planta 3,
40 millones. Las demandas mximas de energa en estas
ciudades, que se presentan al mismo momento (2 p.m.)
son las siguientes (en kwh): la ciudad 1, 45 millones; la
ciudad 2, 20 millones; la ciudad 3, 30 millones; la ciudad
4; 30 millones. Los costos para enviar 1 milln de kwh de
energa de una planta a una ciudad depende de la distancia
que la energa tiene que viajar. Formule un PL que
minimice el costo para satisfacer la demanda mxima de
energa de cada ciudad.
Investigacin Operativa I
Utilizando el lenguaje de
modelamiento
C2
(US$)
6
C3
(US$)
10
C4
(US$)
9
Oferta
P1
C1
(US$)
8
P2
12
13
50
P3
14
16
40
20
30
30
Deman 45
da
35
Investigacin Operativa I
Modelo
min z
ij
xij
ij
s.a
ij
Oi
i 1,2,3
ij
Dj
j 1,2,3,4
xij 0
i,j
Funcin Objetivo
Investigacin Operativa I
min
ij
xij
ij
Notacin
Matemtica
min
ij
Sintaxis LINGO
MIN =
@SUM(ARCOS(I,J) :
cij
C(I,J)
xij
X(I,J));
Investigacin Operativa I
ij
Oi
@FOR(PLANTAS(I) : @SUM(CLIENTES(J):X(I,J))
<=O(I));
Notacin
Matemtica
Sintaxis LINGO
@FOR(PLANTAS(I) :
@SUM(CLIENTES(J) :
xij
X(I,J)
Oi
O(I));
Investigacin Operativa I
ij
Dj
@FOR(CLIENTES(J) : @SUM(PLANTAS(I):X(I,J))
>=D(J));
Notacin
Matemtica
Sintaxis LINGO
@FOR(CLIENTES(J) :
@SUM(PLANTAS(I) :
xij
X(I,J)
Dj
D(J));
Investigacin Operativa I
EL MODELO LINGO ES
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
Investigacin Operativa I
SETS:
PLANTAS / P1 P2 P3/ : O;
CLIENTES / C1 C2 C3 C4/ : D;
ARCOS(PLANTAS,CLIENTES) : C,X;
ENDSETS
Investigacin Operativa I
Investigacin Operativa I
MODELO LINGO
Investigacin Operativa I
CARACTERISTICAS
ADICIONALES
PODEMOS COLOCARLES NOMBRES A NUESTRA
FUNCION OBJETIVO, RESTRICCIONES Y UN TITULO
AL MODELO
Investigacin Operativa I
Problema
Almacn
Oferta
Fbrica
12
13
10
11
10
10
12
14
10
14
11
15
12
Demanda
26
Investigacin Operativa I
Investigacin Operativa I
Investigacin Operativa I
Usando Conjuntos
Un conjunto primitivo se define de la
siguiente manera :
setname [/lista_miembros/][: lista_atributos];
PLANTAS / P1 P2 P3/ : O;
Investigacin Operativa I
Usando Conjuntos
Un conjunto primitivo se define de la
siguiente manera :
setname [/lista_miembros/][: lista_atributos];
PLANTAS / miembro1..miembroN/ : O;
Investigacin Operativa I
Usando Conjuntos
Lista miembros
Implcito (formato)
Ejemplo
Conjunto de
miembros
1..n
1..5
1,2,3,4,5
stringM..stringN
TRUCKS3.. TRUCKS3,
TRUCKS204 TRUCKS4,
,TRUCKS
204
MON..FRI
MON,TUE,
WED,THU,F
RI
OCT..JAN
OCT,NOV,D
EC,JAN
DayM..dayN
monthM..monthN
Investigacin Operativa I
Usando Conjuntos
Como una ilustracin, en el ejemplo
Powerco, podramos haber definido el
conjunto PLANTAS como :
PLANTAS /P1..P3/ : O;
Investigacin Operativa I
Usando Conjuntos
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
EJEMPLO :
SETS:
PRODUCTO /A B /;
MAQUINA /M N/;
SEMANA /1..2/;
ASIGNACION(PRODUCTO,MAQUINA,SEMANA);
ENDSETS
Investigacin Operativa I
Investigacin Operativa I
Funciones
funcin
uso
@FOR
@SUM
@MIN
@MAX
Investigacin Operativa I
Funcin @SUM
SETS:
CLIENTES / C1 C2 C3 C4 C5/ : Demanda;
ENDSETS
DATA :
DEMANDA = 5 1 3 4 6;
ENDDATA
Demanda_total = @SUM(CLIENTES(J):DEMANDA(J));
Demanda_total = @SUM(CLIENTES:DEMANDA);
Demanda_3 = @SUM(CLIENTES(J)|J #LE3# :DEMANDA(J));
Investigacin Operativa I
Min_demanda = @MIN(CLIENTES(J):DEMANDA(J));
Max_demanda = @MAX(CLIENTES(J):DEMANDA(J));
Min_demanda = @SUM(CLIENTES:DEMANDA);
Max_demanda = @SUM(CLIENTES:DEMANDA);
Investigacin Operativa I
Funcin @FOR
SETS:
CAMIONES / RENAULT FORD DODGE / : CARGA;
ENDSETS
CARGA(RENAULT)<=2500;
CARGA(FORD) <= 2500;
CARGA(DODGE)<=2500;
Investigacin Operativa I
definicin
@GIN
Variable entera
@BIN
Variable binaria
@FREE
Cualquier valor
@BND
Rango para la
variable
Investigacin Operativa I
Sintaxis
@GIN(nombre_variable).
@GIN(X);
Investigacin Operativa I
peso
1
3
4
4
4
1
5
10
Rating
2
9
3
8
10
6
4
10
Investigacin Operativa I
Modelo LINGO
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
Investigacin Operativa I
Modelo LINGO
MAX = @SUM(ARTICULOS: RATINGS * INCLUYE);
@SUM(ARTICULOS:PESO*INCLUYE)<=CAPACIDAD_MOCHILA;
@FOR(ARTICULOS:@BIN(INCLUYE));
END
Investigacin Operativa I
VARIABLES ACOTADAS
@BND(cota_inferior,nombre_variable,cota_superior);