Beruflich Dokumente
Kultur Dokumente
Ejemplo 1:
Una empresa manufacturera elabora tres componentes: 1, 2 y 3 para
vender a compaas de refrigeracin. Los componentes son procesados
en dos mquinas 1 y 2. La mquina 1 est disponible por 120 horas y la
mquina 2 est disponible por 110 horas. No ms de 200 unidades de
componente 3 podrn ser vendidos, pero hasta 1000 unidades de cada
uno de los otros dos componentes pueden ser vendidas. De hecho, la
empresa tiene ya rdenes de 600 unidades de componente 1 que deben
ser satisfechas. Los beneficios de cada unidad de los componentes 1, 2 y
3 son de $ 8, 6 y 9 respectivamente.
Los tiempos en minutos necesarios para cada elaborar cada componente
en cada mquina son:
Solucin en Lingo:
SETS:
COMPONENTES/C1,C2,C3/:
BENEFICIO,CANTIDAD;
RECURSOS/MAQUINA1,MAQUINA2,COMPONENTE3,
COMPONENTE1,COMPONENTE2/:DISPONIBLE;
DEMANDAS/DCOMPONENTE1/:DEMANDADO;
RXC(RECURSOS,COMPONENTES):UTILIZADO;
DXC(DEMANDAS,COMPONENTES):REQUERIDO;
ENDSETS
DATA:
BENEFICIO=
8
6
9;
DISPONIBLE=
7200660020010001000;
DEMANDADO=
600;
UTILIZADO=644
452
001
100
010;
REQUERIDO=100;
ENDDATA
MAX=@SUM(COMPONENTES:
BENEFICIO*CANTIDAD);
@FOR(RECURSOS(I):
@SUM(COMPONENTES(J):
UTILIZADO(I,J)*CANTIDAD(J))<=
DISPONIBLE(I));
@FOR(DEMANDAS(I):
@SUM(COMPONENTES(J):
REQUERIDO(I,J)*CANTIDAD(J))>=
DEMANDADO(I));
Ejemplo 2:
Una empresa manufacturera elabora un producto en tres pases
diferentes P1, P2 y P3, que debe ser transportado a tres distribuidores
situados en tres diferentes ciudades C1, C2 y C3 para su posterior venta.
La cantidad de unidades de producto disponible en P1 es de 9.000, en
P2 existen 4.000 y en P3 es de 8.000. Las unidades de producto
requeridas en C1 es de 6.000, en C2 es de 5.000 y en C3 es de 7.000.
Los costos unitarios de transporte, en unidades monetarias, desde cada
pas hasta cada una de los distribuidores de las tres ciudades se
muestran en la siguiente matriz.
Solucin:
MODEL:
!Unproblemadetransportecon3paisesy3distribuidores;
SETS:
PAISES/P1P2P3/:CAPACIDAD;
DISTRIBUIDORES/D1D2D3/:DEMANDA;
LINKS(Pases,Distribuidores):COSTO,CANTIDAD;
ENDSETS
!Theobjective;
MIN=@SUM(LINKS(I,J):
COSTO(I,J)*CANTIDAD(I,J));
!Thedemandconstraints;
@FOR(DISTRIBUIDORES(J):
@SUM(PAISES(I):CANTIDAD(I,J))=
DEMANDA(J));
!Thecapacityconstraints;
@FOR(PAISES(I):
@SUM(DISTRIBUIDORES(J):CANTIDAD(I,J))<=
CAPACIDAD(I));
!Hereisthedata;
DATA:
CAPACIDAD=900040008000;
DEMANDA=600050007000;
COSTO=10209
8106
10307;
ENDDATA
END
169000.0
Infeasibilities:
0.000000
Model Class:
Total variables:
LP
Nonlinear variables:
Integer variables:
Total constraints:
Nonlinear constraints:
Total nonzeros:
Nonlinear nonzeros:
27
0
Variable
Value
Reduced Cost
CAPACIDAD( P1)
9000.000
0.000000
CAPACIDAD( P2)
4000.000
0.000000
CAPACIDAD( P3)
8000.000
0.000000
DEMANDA( D1)
6000.000
0.000000
DEMANDA( D2)
5000.000
0.000000
DEMANDA( D3)
7000.000
0.000000
10.00000
0.000000
20.00000
0.000000
9.000000
0.000000
8.000000
0.000000
10.00000
0.000000
6.000000
0.000000
10.00000
0.000000
30.00000
0.000000
7.000000
0.000000
6000.000
0.000000
1000.000
0.000000
0.000000
2.000000
0.000000
8.000000
4000.000
0.000000
0.000000
9.000000
0.000000
0.000000
0.000000
10.00000
7000.000
0.000000
Row
Slack or Surplus
Dual Price
169000.0
-1.000000
0.000000
-10.00000
0.000000
-20.00000
0.000000
-7.000000
2000.000
0.000000
0.000000
10.00000
1000.000
0.000000
Ejemplo 3:
Supongamos la siguiente formulacin en LINGO: un modelo de
transporte desde
6 bodegas a 8 vendedores o clientes.
Existe
informacin sobre la demanda de cada uno de los clientes, como
tambin informacin sobre la capacidad de cada una de las bodegas.
El modelo en LINGO es:
MODEL:
! A 6 Warehouse 8 Vendor Transportation Problem;
SETS:
WAREHOUSES: CAPACITY;
VENDORS: DEMAND;
LINKS( WAREHOUSES, VENDORS): COST, VOLUME;
ENDSETS
! Here is the data;
DATA:
!set members;
WAREHOUSES = WH1 WH2 WH3 WH4 WH5 WH6;
VENDORS = V1 V2 V3 V4 V5 V6 V7 V8;
!attribute values;
CAPACITY = 60 55 51 43 41 52;
DEMAND = 35 37 22 32 41 32 43 38;
COST = 6 2 6 7 4 2 5 9
4 9 5 3 8 5 8 2
5 2 1 9 7 4 3 3
7 6 7 3 9 2 7 1
2 3 9 5 7 2 6 5
5 5 2 2 8 1 4 3;
ENDDATA
! The objective;
MIN = @SUM( LINKS( I, J):
COST( I, J) * VOLUME( I, J));
MODEL:
! A 6 Warehouse 8 Vendor Transportation Problem;
SETS:
! Import warehouses and vendors from Excel;
WAREHOUSES: CAPACITY;
VENDORS
: DEMAND;
LINKS( WAREHOUSES, VENDORS): COST, VOLUME;
ENDSETS
! The objective;
MIN = @SUM( LINKS( I, J):
COST( I, J) * VOLUME( I, J));
! The demand constraints;
@FOR( VENDORS( J):
@SUM( WAREHOUSES( I):
VOLUME( I, J)) = DEMAND( J));
! The capacity constraints;
@FOR( WAREHOUSES( I):
@SUM( VENDORS( J): VOLUME( I, J))
<= CAPACITY( I));
DATA:
! Import the data from Excel;
WAREHOUSES, VENDORS, CAPACITY, DEMAND, COST =
@OLE( '\LINGO13\SAMPLES\WIDGETS.XLS',
'WAREHOUSES', ' VENDORS', 'CAPACITY',
'DEMAND', 'COST');
ENDDATA
END
MODEL:
! A 6 Warehouse 8 Vendor Transportation Problem;
SETS:
! Import warehouses and vendors from Excel;
WAREHOUSES: CAPACITY;
VENDORS
: DEMAND;
LINKS( WAREHOUSES, VENDORS): COST, VOLUME;
ENDSETS
! The objective;
MIN = @SUM( LINKS( I, J):
COST( I, J) * VOLUME( I, J));
! The demand constraints;
@FOR( VENDORS( J):
@SUM( WAREHOUSES( I):
VOLUME( I, J)) = DEMAND( J));
! The capacity constraints;
@FOR( WAREHOUSES( I):
@SUM( VENDORS( J): VOLUME( I, J))
<= CAPACITY( I));
DATA:
! Import the data from Excel;
WAREHOUSES, VENDORS, CAPACITY, DEMAND, COST =
@OLE( '\LINGO13\SAMPLES\WIDGETS.XLS',
'WAREHOUSES', ' VENDORS', 'CAPACITY',
'DEMAND', 'COST');
! Export the solution back to Excel;
@OLE( '\LINGO13\SAMPLES\WIDGETS.XLS',
'VOLUME') = VOLUME;
ENDDATA
END