06 Modelos Con LINGO
-
Upload
dannydaniel -
Category
Documents
-
view
34 -
download
1
Transcript of 06 Modelos Con LINGO
Modelos con LINGO
R.Delgadillo 2
Introducción
Modelo de mezcla
Modelo de transporte
Modelo de Asignación
Modelo de planificación de la producción
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 tamaño definido que atienda ciertas requerimientos técnicos en su composición.
Modelo de mezcla
R.Delgadillo 4
,...,1 0)(
,...,1 0)( s.a
z min
Zx
Qux
px
njxtlt
njxtut
xc
i
ii
m
i
i
m
i
ijij
m
i
ijij
i
ii
mezcla la de tamaño
i material de disponible cantidad
i(%) material elen j componente de contenido
mezcla(%) laen j componente de permitido minimo contenido
mezcla(%) laen j componente de permitido maximo contenido
i material de costo
final mezcla laen 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 función objetivo
En LINGO, se representa por:
MIN = @SUM(minerales(i): costo(i) * qtd(i) );
z mini
ii xc
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)(
ii
m
i
i
m
i
ijij
m
i
ijij
Qux
px
njxtlt
njxtut
Modelo de mezclaMODEL:
TITLE: Problema de Mezcla;
[FO] MIN = @SUM(minerales(i): costo(i) * qtd(i) );
! El limite superior de especificación de c/componente se debe satisfacer ;
@FOR(componentes(j): @SUM(minerales(i): (t(i,j) - tu(j))*qtd(i)) <= 0);
! El limite inferior de especificación 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 máxima 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
Mineral
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 mezclaEntonces 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 producción (fábricas), un conjunto de mercados consumidores (almacenes) y una red de posibles caminos de transporte (rutas) desde los centros de producción 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 producción 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
bnDemandaOferta
c11 x11
cij xij
Problema de transporte
R.Delgadillo 12
0
1,...,
,...,1 s .a
z (max) min
ij
m
i
jij
n
j
iij
j
ijij
i
x
njbx
miax
xc
j destino el demanda que cantidad la
iorigen el tieneque capacidad la
j destino al iorigen el desdeenviar de (lucro) costo
j destino al iorigen el desde envia se que cantidad donde
j
i
ij
ij
b
a
c
x
Modelo de transporte
Suponga que los orígenes son las fabricas y los destinos los almacenes , entonces podemos reescribir la función 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) minalmacenesj
ijij
fabricasi
qtdEnviadacosto
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 restricción de tipo es escrito con @FOR
R.Delgadillo 14
almacenesjdemandaqtdEnviada
fabricasicapacidadqtdEnviada
j
fabricasi
ij
i
almacenesj
ij
Modelo de transporteMODEL:
TITLE: Problema de Transporte;
[FO] MIN = @SUM(rutas(i,j): costo(i,j)*qtdEnviada(i,j));
! Capacidades de las fábricas 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
Fabricas
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 transporteEntonces 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 Asignación 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 orígenes => son trabajadores, proyectos, máquinas, personas, agentes
Los destinos => trabajos, entidades, tareas, servicios, ciudades.
R.Delgadillo 19
Modelo de Asignación Definición
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 Asignación
1
i
m
1
j
n
Personas Tareas
DemandaOferta
c11 x11
cij xij
R.Delgadillo 21
Modelo de Asignación
contrario casoen 0
j tareala a asigna se i persona la si 1
0,1}{
1,..., 1
,...,1 1
z min
, ji
ij
m
i
ij
n
j
ij
j
ijij
i
x
x
njx
mix
xc
Modelo de Asignación
Ahora considere los siguientes datos para el problema:
R.Delgadillo 22
maquinas
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 asignaciónMODEL:
TITLE: Problema de asignación;
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
ENDR.Delgadillo 23
R.Delgadillo 24
Planificación de la producción Motores LCL recibió recientemente un pedido para entregar 3
modelos diferentes de motores. Cada motor necesita de un determinado número de horas de trabajo en el sector de ensamblado y de acabado. Para atender el pedido, LCL puede tercerizar parte de su producción. La tabla a siguiente, muestra la información 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 producción, el costo de tercerización de una unidad de cada modelo. Cual es la estrategia óptima que debe adoptar la empresa para atender los pedidos?
Planificación de la producción 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 producción
$50 $90 $120
Tercerización $65 $92 $140
Planificación de la producción
R.Delgadillo 26
Zyx
hAcabxacab
hMontxmont
idemyx
yctercxcprod
ii
i
ii
i
ii
iii
i
i
i
i
ii
,
modelos s.a
z min
motores de modelos de conjunto mod
)( acabado deseccion laen disponible Tiempo
(h) ensamblado desección laen disponible tiempo
i modelo demotor un deción tercerizade costo
i modelo demotor un de producción de costo
(h/unid) i modolo demotor del acabado de tiempo
(h/unid) i modelo demotor del ensamble de tiempo
(unid) i modelo del motores de demanda :Datos
dos tercerizai modelo del motores de cantidad
producidos i modelo del motores de cantidad :D V
elos
hhAcab
hMont
cterc
cprod
acab
mont
dem
y
x
i
i
i
i
i
i
i
Planificación de la producciónMODEL:
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 sección 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
Planificación de la producciónEntonces 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
Planificación de la producción 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.
maquina
Disponib(Maq-hora/mes)
M1 80
M2 20
manoobra
Disponib(Homen-hora/mes)
MO1 60
MO2 40
R.Delgadillo 30
Planificación de la producción El sector técnico de la empresa provee los siguientes coeficientes
que especifican el total de horas de maquina y mano de obra necesarias para la producción 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
Planificación de la producción El sector comercial provee la siguiente información
Se desea planear la producción mensual de la empresa que maximice el beneficio.
R.Delgadillo 31
productos PotencialDe ventas
BeneficioUnitario (S/mes)
I 70 10
II 60 8
III 40 9
IV 20 7
Planificación de la producción
R.Delgadillo 32
Zx
demx
dispMObraxhMObra
dispMaqxhMaq
xlucro
j
jj
productosj
kjkj
productosj
ijij
i
jj
productosj
mObrak
maquinasi s.a
z max
obra de mano de tiposde conjunto
maquinas de conjunto
productos de conjunto
(h) j producto del producción la parak tipode obra de mano de tiempo
(h) j producto del producción la para i maquina la de disponible tiempo
(h/mes)k tipode obra de mano de idadDisponibil
(h/mes) i máquina la de idaddisponibil
j producto del ventalapor obtenido beneficio
j(unid) tipode productopor 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
Planificación de la producciónMODEL:
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
Planificación de la producciónSETS:
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