Vous êtes sur la page 1sur 34

Modelos con LINGO

R.Delgadillo 2
Introduccin
Modelo de mezcla
Modelo de transporte
Modelo de Asignacin
Modelo de planificacin de la
produccin
R.Delgadillo 3
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.
Modelo de mezcla
R.Delgadillo 4



,..., 1 0 ) (
,..., 1 0 ) ( s.a
z min
Z x
Qu x
p x
n j x tl t
n j x tu t
x c
i
i i
m
i
i
m
i
i j ij
m
i
i j ij
i
i i
mezcla la de tamao
i material de disponible cantidad
i(%) material el en j componente de contenido
mezcla(%) la en j componente de permitido minimo contenido
mezcla(%) la en j componente de permitido maximo contenido
i material de costo
final mezcla la en i material de utiliza se que cantidad donde


p
Qu
t
tl
tu
c
x
i
ij
j
j
i
i
R.Delgadillo 5
Modelo de Mezcla
La funcin objetivo
En LINGO, se representa por:
MIN = @SUM(minerales(i): costo(i) * qtd(i) );
z min
i
i i
x c
Modelo de mezcla
Las restricciones:
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 6



,..., 1 0 ) (
,..., 1 0 ) (
i i
m
i
i
m
i
i j ij
m
i
i j ij
Qu x
p x
n j x tl t
n j x tu t
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 7
Modelo de mezcla
Considere los datos para el problema
R.Delgadillo 8
Miner
al
Fe
(%)
Al2O3
(%)
P
(%)
PPC
(%)
He
(%)
Masa
total
Costo
($/ton
1 52,64 0,52 0,084 4,48 45 1500 10,50
2 39,92 0,18 0,029 0,65 97 2000 12,50
3 47,19 0,50 0,050 2,52 52 1700 12,00
4 49,36 0,22 0,039 1,74 78 1450 10,00
5 43,94 0,46 0,032 2,36 41 1250 11,50
6 48,97 0,54 0,057 4,34 90 1890 11,00
7 47,46 0,20 0,047 5,07 9 1640 10,80
8 46,52 0,32 0,039 3,51 4 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 9
R.Delgadillo 10
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 11
Problema de transporte
1
i
m
1
j
n
Origenes Destinos
a1
ai
am
b1
bj
bn
Demanda
Oferta
c11
x11
cij
xij
Problema de transporte
R.Delgadillo 12
0
1,...,
,..., 1 s.a
z (max) min
ij
m
i
j ij
n
j
i ij
j
ij ij
i
x
n j b x
m i a x
x c
j destino el demanda que cantidad la
i origen el tiene que capacidad la
j destino al i origen el desde enviar de (lucro) costo
j destino al i origen el desde envia se que cantidad donde


j
i
ij
ij
b
a
c
x
Modelo de transporte
Suponga que los orgenes son las fabricas y
los destinos los almacenes , entonces
podemos reescribir la funcin objetivo :
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

* z (max) min
almacenes j
ij ij
fabricas i
qtdEnviada costo
Modelo de transporte
Las restricciones:
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 es escrito con @FOR
R.Delgadillo 14



almacenes j demanda qtdEnviada
fabricas i capacidad qtdEnviada
j
fabricas i
ij
i
almacenes j
ij
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:
R.Delgadillo 16
Fabr
icas
Alm.
1
Alm.
2
Alm.
3
Alm.
4
Cap.
1 8 6 10 9 35
2 9 12 13 7 50
3 14 9 16 5 40
Dem. 45 20 30 30
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
R.Delgadillo 18
Modelo de Asignacin
La particularidad con el problema de
transporte es que la capacidad de cada
origen y destino es: 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 19
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 20
Modelo de Asignacin
1
i
m
1
j
n
Personas Tareas
Demanda
Oferta
c11
x11
cij
xij
R.Delgadillo 21
Modelo de Asignacin

contrario caso en 0
j tarea la a asigna se i persona la si 1

0,1} {
1,..., 1
,..., 1 1
z min
, j i
ij
m
i
ij
n
j
ij
j
ij ij
i
x
x
n j x
m i x
x c
Modelo de Asignacin
Ahora considere los siguientes datos para el
problema:
R.Delgadillo 22
maqui
nas
Tarea 1
(hrs)
Tarea 2
(hrs)
Tarea 3
(hrs)
Tarea
4
1 14 5 8 7
2 2 12 6 5
3 7 8 3 9
4 2 4 6 10
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
7 8 3 6
2 4 6 10;
ENDDATA
END
R.Delgadillo 23
R.Delgadillo 24
Planificacin de la produccin
Motores LCL recibi recientemente un pedido para entregar 3
modelos diferentes de motores. Cada motor necesita de un
determinado nmero de horas de trabajo en el sector de
ensamblado y de acabado. Para atender el pedido, LCL puede
tercerizar parte de su produccin. La tabla a siguiente, muestra
la informacin sobre la demanda por cada modelo de motor, el
tiempo necesario para ensamblar una unidad de cada modelo,
la cantidad de horas disponibles en el sector de ensamble, el
tiempo necesario para dar el acabado a una unidad, la cantidad
de horas disponibles en el sector de acabado, el costo de
produccin, el costo de tercerizacin de una unidad de cada
modelo. Cual es la estrategia ptima que debe adoptar la
empresa para atender los pedidos?
Planificacin de la produccin
Considere los datos para el problema
R.Delgadillo 25
Modelo 1 2 3 Total
Demanda 3000 unid 2500 unid 500 unid 6000 unid
Ensamble 1 h/unid 2 h/unid 0,5 h/unid 6000 h
Acabado 2,5 h/unid 1 h/unid 4 h/unid 10000 h
Costo de
produccin
$50 $90 $120
Tercerizacin $65 $92 $140
Planificacin de la produccin
R.Delgadillo 26
Z y x
hAcab x acab
hMont x mont
i dem y x
y cterc x cprod
i i
i
i i
i
i i
i i i
i
i
i
i
i i
,


modelos s.a
z min
motores de modelos de conjunto mod
) ( acabado de seccion la en disponible Tiempo
(h) ensamblado de seccin la en disponible tiempo
i modelo de motor un de cin terceriza de costo
i modelo de motor un de produccin de costo
(h/unid) i modolo de motor del acabado de tiempo
(h/unid) i modelo de motor del ensamble de tiempo
(unid) i modelo del motores de demanda : Datos
dos terceriza i modelo del motores de cantidad
producidos i modelo del motores de cantidad : D V


elos
h hAcab
hMont
cterc
cprod
acab
mont
dem
y
x
i
i
i
i
i
i
i
Planificacin de la produccin
MODEL:
TITLE: Problema de Planificacion de produccion;
[FO] MIN = @SUM(modelos(i): cprod(i) * x(i) )+
@SUM(modelos(i):cterc(i) * y(i));
! Total producidos y tercerizados se satisfacer (>=) la demanda ;
@FOR(modelos(i): x(i) + y(i) = dem(i));
! Horas disponibles en la seccion de ensamble;
@SUM(modelos(i): mont(i) * x(i) ) <= hMont;
! Horas disponibles en la seccin de acabado ;
@SUM(modelos(i): acab(i) * x(i)) <= hAcab;
! Las variables x e y deben ser enteras;
@FOR(modelos (i): @GIN (x(i)), @GIN (y(i))) ;
END
R.Delgadillo 27
Planificacin de la produccin
Entonces el ingreso de estos datos en LINGO son:
SETS:
modelos / m1 m2 m3 /: dem, mont, acab, cprod, cterc, x, y;
ENDSETS
DATA:
dem = 3000 2500 500;
mont = 1 2 0.5;
acab= 2.5 1 4;
cprod= 50 90 120;
cterc = 65 92 140;
hMont = 6000;
hAcab = 10000;
ENDDATA
R.Delgadillo 28
R.Delgadillo 29
Planificacin de la produccin
Una determinada empresa esta interesada en maximizar su
beneficio mensual proveniente de cuatro de sus productos,
designados por I, II, III y IV. Para fabricar estos productos
utiliza dos tipos de maquinas ( M1 y M2) y dos tipos de mano de
obra ( MO1 y MO2) que tiene las siguientes disponibilidades.
maqui
na
Disponib
(Maq-
hora/mes)
M1 80
M2 20
mano
obra
Disponib
(Homen-
hora/mes)
MO1 60
MO2 40
R.Delgadillo 30
Planificacin de la produccin
El sector tcnico de la empresa provee los siguientes coeficientes
que especifican el total de horas de maquina y mano de obra
necesarias para la produccin de una unidad de cada producto
maq PdI PdII Pd III Pd IV
M1 5 4 8 9
M2 2 6 - 8
MO PdI PdII Pd III Pd IV
MO1 2 4 2 8
MO2 7 3 - 7
Planificacin de la produccin
El sector comercial provee la siguiente informacin
Se desea planear la produccin mensual de la empresa
que maximice el beneficio.
R.Delgadillo 31
productos Potencial
De ventas
Beneficio
Unitario
(S/mes)
I 70 10
II 60 8
III 40 9
IV 20 7
Planificacin de la produccin
R.Delgadillo 32
Z x
dem x
dispMObra x hMObra
dispMaq x hMaq
x lucro
j
j j
productos j
k j kj
productos j
i j ij
i
j j

productos j
mObra k
maquinas i s.a
z max
obra de mano de tipos de conjunto
maquinas de conjunto
productos de conjunto
(h) j producto del produccin la para k tipo de obra de mano de tiempo
(h) j producto del produccin la para i maquina la de disponible tiempo
(h/mes) k tipo de obra de mano de idad Disponibil
(h/mes) i mquina la de idad disponibil
j producto del venta la por obtenido beneficio
j(unid) tipo de producto por demanda : Datos
(unid) j producto del fabricada cantidad : D V
mObras
maquinas
productos
hMObra
hMaq
dispMObra
dispMaq
lucro
dem
x
kj
ij
k
i
j
j
i
Planificacin de la produccin
MODEL:
TITLE: Problema de Planificacion de produccion;
[FO] MAX = @SUM(productos(j): lucro (j) * x((j));
! Disponibilidad de maquina;
@FOR(maquinas(i):@sum(produtos(j):hMaq(i,j) * x(j) ) < = dispMaq(i));
!Mano de obra ;
@FOR (mObras(k): @SUM(productos(j): hMObra(k,j) * x(j))
<=dispMObra(k));
! demanda;
@FOR (productos(j): x(j) <= demanda (j));
! Variable entera;
@FOR(productos(j): @GIN (x(j)));
END
R.Delgadillo 33
Planificacin de la produccin
SETS:
productos/ p1 p2 p3 p4 /: demanda, lucro, x;
maquinas/m1 m2/:dispMaq;
mObras/ mo1 mo2/: dispMObra;
matriz1(maquinas, productos): hMaq;
matriz2 (mObras, productos/) hMObras;
ENDSETS
DATA:
demanda = 70 60 40 20;
lucro = 10 8 9 7;
dispMaq= 80 20;
dispMObra= 60 40;
hMaq = 5 4 8 9
2 6 0 8;
hMObras = 2 4 2 8
7 3 0 7;
ENDDATA
R.Delgadillo 34

Vous aimerez peut-être aussi