You are on page 1of 23

Modelos con LINGO

Introduccin

R.Delgadillo

Modelo de mezcla
Modelo de transporte
Modelo de Asignacin

Modelo de Mezcla
Se dispone de cierta cantidad de materiales
(minerales), cada uno de estos conteniendo
un conjunto de componentes (cobre, fosforo,
etc.). El objetivo del problema es determinar
una mezcla ptima de minerales de tamao
definido que atienda ciertas requerimientos
tcnicos en su composicin.

R.Delgadillo

Modelo de mezcla
min z

ci xi
i
m

s.a

(tij tu j ) xi

j 1,..., n

(tij tl j ) xi

j 1,..., n

i
m
i
m

xi

xi
xi

donde xi
ci
tuj
tlj
tij
Qui
R.Delgadillo

Qui
Z

cantidadque se utiliza de material i en la mezcla final


costode material i
% maximo permitido de componentej en la mezcla
% minimo permitido de componentej en la mezcla
% de componentej en el material i
cantidaddisponiblede material i

p tamao de la mezcla

Modelo de Mezcla

La funcin objetivo
min z

ci xi
i

En LINGO, se representa por:


MIN = @SUM(minerales(i): costo(i) * qtd(i) );

R.Delgadillo

Modelo de mezcla

Las restricciones:
m

(tij tu j ) xi

j 1,..., n

(tij tl j ) xi

j 1,..., n

i
m
i
m

xi

xi

Qui

En LINGO, se representa por:

@FOR(componentes(j): @SUM(minerales(i): (t(i,j) - tu(j))*qtd(i)) <= 0);


@FOR(componentes(j): @SUM(minerales(i): (t(i,j) - tl(j))*qtd(i)) >= 0);
@SUM(minerales(i): qtd(i)) = p;
@FOR(minerales(i): @BND(0, qtd(i), Qu(i)));
Obs: @BND(0, qtd(i), Qu(i)) se lee como 0< qtd(i) <QU(i)
R.Delgadillo

Modelo de mezcla
MODEL:
TITLE: Problema de Mezcla;
[FO] MIN = @SUM(minerales(i): costo(i) * qtd(i) );
! El limite superior de especificacin de c/componente se debe satisfacer ;
@FOR(componentes(j): @SUM(minerales(i): (t(i,j) - tu(j))*qtd(i)) <= 0);
! El limite inferior de especificacin de c/componente se debe satisfacer;
@FOR(componentes(j): @SUM(minerales(i): (t(i,j) - tl(j))*qtd(i)) >= 0);
! La mezcla total debe ser igual a p;
@SUM(minerales(i): qtd(i)) = p;
! La cantidad mxima a tomarse de cada mineral debe ser <= Qu ;
@FOR(minerales(i): @BND(0, qtd(i), Qu(i)));
@FOR(minerales(i): @GIN(qtd(i)));
END
Obs: @GIN(qtd(i) ) , indica que la qtd es un valor entero
R.Delgadillo

Modelo de mezcla

R.Delgadillo

Considere los datos para el problema


Miner Fe
al
(%)

Al2O3
(%)

P
(%)

PPC
(%)

He

(%)

Masa
total

Costo
($/ton

52,64

0,52

0,084 4,48

45

1500

10,50

39,92

0,18

0,029 0,65

97

2000

12,50

47,19

0,50

0,050 2,52

52

1700

12,00

49,36

0,22

0,039 1,74

78

1450

10,00

43,94

0,46

0,032 2,36

41

1250

11,50

48,97

0,54

0,057 4,34

90

1890

11,00

47,46

0,20

0,047 5,07

1640

10,80

46,52

0,32

0,039 3,51

1124

11,20

Min

44,5

0,27

0,035 2,05

38

En la

mezcla

Max

49,5

0,37

0,043 2,65

50

En la

mezcla

Modelo de mezcla
Entonces el ingreso de estos datos en LINGO son:
SETS:
Componentes / c1 c2 c3 c4 c5 /: tl, tu;
minerales / m1 m2 m3 m4 m5 m6 / : costo,Qu,qtd;
matriz(minerales, componentes): t;
ENDSETS
DATA:
tl = 44.5 0.27 0.035 2.05 38;
tu = 49.5 0.37 0.043 2.65 50;
costo= 10.50 12.50 12 10 11.50 11;
Qu= 1500 2000 1700 1450 1250 1890;
t=
52.64 0.52 0.084 4.48 45
39.92 0.18 0.029 0.65 97
47.19 0.50 0.050 2.52 52
49.36 0.22 0.039 1.74 78
43.94 0.46 0.032 2.36 41
48.97 0.54 0.057 4.34 90;
ENDDATA
R.Delgadillo

Modelo de transporte
Dado un conjunto de centros de produccin
(fbricas), un conjunto de mercados
consumidores (almacenes) y una red de
posibles caminos de transporte (rutas) desde
los centros de produccin a los mercados. El
objetivo del problema es determinar el
cargamento que minimiza el costo total de
transporte, de modo que no se sobre pase las
capacidades de los centros de produccin y
las demandas de los mercados sean
atendidas.
R.Delgadillo

10

Problema de transporte
Origenes
a1

Oferta
R.Delgadillo

c11

ai

am

Destinos

cij

x11

xij

1 b1

bj

bn

Demanda
11

Problema de transporte
min (max) z

cij xij
i

j
n

s.a

xij

ai

i 1,..., m

j
m

xij

bj

j 1,..., n

xij
donde xij
cij
ai
bj
R.Delgadillo

cantidadque se envia desdeel origen i al destino j


costo(lucro) de enviar desdeel origen i al destino j
la capacidadque tiene el origen i
la cantidadque demandael destino j
12

Modelo de transporte

Suponga que los orgenes son las fabricas y


los destinos los almacenes , entonces
podemos reescribir la funcin objetivo :
min (max) z

costoij * qtdEnviadaij
i fabricas j almacenes

En LINGO, se representa por:


MIN = @SUM(fabricas(i): @SUM (almacenes(j): costo(i,j) * qtdEnviada (i,j) ));

MIN = @SUM (rutas (i,j): costo(i,j) * qtdEnviada (i,j) );

R.Delgadillo

13

Modelo de transporte

Las restricciones:
qtdEnviadaij

capacidadi

fabricas

almacenes

j almacenes

qtdEnviadaij

demandaj

i fabricas

En LINGO, se representa por:


@FOR(fabricas(i): @SUM (almacenes(j): qtdEnviada (i,j) ) <= capacidad(i));
@FOR(almacenes(j): @SUM (fabricas(i): qtdEnviada (i,j) ) = demanda(j));

Obs: toda restriccin de tipo

R.Delgadillo

es escrito con @FOR

14

Modelo de transporte
MODEL:
TITLE: Problema de Transporte;
[FO] MIN = @SUM(rutas(i,j): costo(i,j)*qtdEnviada(i,j));
! Capacidades de las fbricas no se deben de sobrepasar;
@FOR(fabricas(i): @SUM(almacenes(j): qtdEnviada(i,j)) <=
capacidad(i));
! las demandas de los almacenes deben ser atendidos;
@FOR(almacenes(j): @SUM(fabricas(i): qtdEnviada(i,j)) =
demanda(j));
@FOR(rutas(i,j): @GIN(qtdEnviada(i,j)));
END
Obs: @GIN(qtdEnviada(i,j) ) , indica que la qtdEnviada es un valor
entero
R.Delgadillo
15

Modelo de transporte

Ahora considere los siguientes datos para el


problema:
Fabr
icas

Alm.
1

Alm.
2

Alm.
3

Alm.
4

Cap.

10

35

12

13

50

14

16

40

20

30

30

Dem. 45

R.Delgadillo

16

Modelo de transporte
Entonces el ingreso de estos datos en LINGO son:
SETS:
fabricas / F1 F2 F3 /: capacidad;
almacenes / A1 A2 A3 A4 /: demanda;
rutas(fabricas,almacenes): costo, qtdEnviada;
ENDSETS
DATA:
capacidad = 35 50 40;
demanda = 45 20 30 30;
costo = 8 6 10 9
9 12 13 7
14 9 16 5;
ENDDATA

R.Delgadillo

17

Modelo de Asignacin

La particularidad con el problema de


transporte es que oi =1, dj =1 para
todo i,j
Los orgenes => son trabajadores,
proyectos, mquinas, personas, agentes
Los destinos => trabajos, entidades,
tareas, servicios, ciudades.

R.Delgadillo

18

Modelo de Asignacin

Definicin
Se tiene n tareas y personas
El problema consiste en asignar cada
servicio a un trabajador de forma que
maximice el rendimiento (eficiencia,
ganancia) o minimice los costos (
tiempo empleado)

R.Delgadillo

19

Modelo de Asignacin
Personas
c11

m
Oferta
R.Delgadillo

Tareas

cij

x11

xij

Demanda
20

Modelo de Asignacin
min z

cij xij
i

xij

i 1,..., m

xij

j 1,..., n

j
m
i

xij
xi , j

R.Delgadillo

{0,1}
1 si la personai se asigna a la tarea j
0 en casocontrario

21

Modelo de Asignacin

Ahora considere los siguientes datos para el


problema:
maqui Tarea 1 Tarea 2 Tarea 3 Tarea
nas
(hrs)
(hrs)
(hrs)
4

R.Delgadillo

14

12

10

22

Modelo de asignacin
MODEL:
TITLE: Problema de asignacin;
SETS:
maquinas / 1..4/;
tareas / 1..4/;
par (maquinas, tareas):costo, asignacion;
ENDSETS
[FO] MIN = @SUM(par: costo*asignacion);
@FOR(maquinas(i): @SUM(tareas(j): asignacion(i,j)) < 1);
@FOR(tareas(j): @SUM(maquinas(i): asignacion(i,j)) >1);
DATA:
costo = 14 5 8 7
2 12 6 5
7836
2 4 6 10;
ENDDATA
END
R.Delgadillo

23

You might also like