Académique Documents
Professionnel Documents
Culture Documents
MANUAL DE LINGO
PROFESOR
ING. EYZAGUIRRE
ALUMNOS
MARTIN
RODAS
POCCORPACHI
2011-I
INDICE
1. INTRODUCCION.........................................................................................
2. LENGUAJE DE MODELADO LINGO.....
3
4
5
5
6
7
8
9
10
11
8
9
10
11
12
12
12
13
13
13
13
14
14
15
19
20
PROBLEMAS DE TRASNPORTE..
PROBLEMAS DE INVESION......
PLANEACIN DE PRODUCCIN.....
PROBLEMAS DE PLANEAMIENTO FINANCIERO....
PROBLEMAS DE PROGRAMACIN ENTERA CON LINGO..
PROBLEMA APLICADO A LA ASIGNACIN IMPORTANDO DE
XCEL..............
12 PROBLEMA 1 EN LINGO EXPORTANDO DATOS EN ACCESS....
25
28
29
29
35
49
73
1. INTRODUCCIN
En el trabajo mostrado a continuacin, se muestra una prctica de laboratorio
correspondiente a contenidos de programacin matemtica. Se desarrollan
ejemplos, tanto de forma lineal, no lineal, de transportes, enteras, etc., as como la
solucin de los mismos como el anlisis de sensibilidad, el cual se realiza con
LINGO.
El software matemtico se ha venido empleando desde hace varios aos como un
asistente ms en la docencia de ciertas titulaciones con buenos resultados. Las
ventajas de su utilizacin son muchas.
LINGO es una herramienta matemtica que resuelve una amplia gama de problemas
de optimizacin, lineales, no lineales y enteros, utilizando un lenguaje sencillo, lo que
lo convierte en un asistente ideal en la docencia. Junto con LINDO forma parte del
paquete SOLVER SUITE (manual de usuario, 1996).
Podemos decir que el objetivo de este trabajo es mostrar las posibilidades del
software en la docencia de la optimizacin matemtica y no de servir de manual de
introduccin al manejo de LINGO, se incluyen los conocimientos elementales
necesarios para empezar a trabajar con este paquete.
Su llave de licencia puede haber sido incluido en un correo electrnico envi a usted
cuando usted orden su software. La llave de licencia es una cuerda de letras,
smbolos y nmeros, separado en grupos de cuatro por los guiones (por ejempo,
r82m-XCW2-dZu?-%72S-fD?S-Wp@ ). Cuidadosamente entre la llave de licencia
en el campo de edicin, incluyendo guiones. Las llaves de licencia son el caso
sensitivo, as que debe estar seguro de preservar el caso de las letras individuales al
entrar su llave. Haga clic sobre el botn OK y, asumiendo la llave es sido entrada
correctamente, LINGO empezar entonces. En lo sucesivo, ser capaz de correr
LINGO directamente sin entrar la llave.
Nota: Si recibi su licencia teclee por correo electrnico, entonces tiene la
opcin de cortante-y-pegndolo en la caja de dilogos clave de licencia. Corte la
llave del correo electrnico que contiene lo con el Ctrl+C llave, entonces escoja el
campo clave en caja de dilogos de LINGO y pegue la llave con la llave de Ctrl+V.
SECCION DE CONJUNTOS
= 30, 20;
= 10, 25, 15;
= 2, 4, 6,
7, 10, 1;
ENDDATA
SECCION DEL MODELO
Para presentar el modelo se utiliza dos funciones @SUM y @FOR.
@SUM calcula la suma de una expresin sobre todos los miembros del conjunto.
La forma general es:
@SUM (set: expresin)
Suma la expresin que sigue a los dos puntos.
Por ejemplo:
@SUM (RUTAS: C*X)
Suma la expresin que sigue a los dos puntos que corresponde al producto del costo
unitario de transporte por la cantidad transportada de cada origen a cada destino
considerado.
La segunda funcin es @FOR, esta funcin sirve para generar restricciones sobre
los miembros de un conjunto. La forma general es:
@FOR (set: restriccin)
Por ejemplo:
@FOR (CENTROS (J): @SUM (FABRICAS(I):X(I,J))<=CAPACIDAD(I));
Indica que se genere la restriccin que sigue a los dos puntos para cada miembro
del conjunto que les precede. Cada elemento del conjunto CENTROS (J) para J =
1, 2,3 se genera las restricciones siguientes:
J = 1:
J = 2:
J=3
Se puede omitir el paso anterior pasando a la solucin del modelo haciendo clic en
LINGO, Solve obteniendo el siguiente resultado:
Objective value:
160.0000
Variable
CAPACIDAD( F1)
CAPACIDAD ( F2)
DEMANDA( C1)
DEMANDA( C2)
DEMANDA( C3)
C( F1, C1)
C( F1, C2)
C( F1, C3)
C( F2, C1)
C( F2, C2)
C( F2, C3)
X( F1, C1)
X( F1, C2)
X( F1, C3)
X( F2, C1)
X( F2, C2)
X( F2, C3)
2.3
Value
30.00000
20.00000
10.00000
25.00000
15.00000
2.000000
4.000000
6.000000
7.000000
10.00000
1.000000
5.000000
25.00000
0.000000
5.000000
0.000000
15.00000
Reduced Cost
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
10.000000
0.0000000
1.0000000
0.0000000
LINGO est
@GIN
@BIN
@FREE
@BND
en 10 y 20
@FOR (ITEMS: @BND (QL, Q, QU)): Fija los lmites de todas las variables del
atributo Q en QL y QU (A QL y QU deben habrsele asignado valores en la seccin
de datos)
OPERADORES LOGICOS
LINGO tiene nueve operadores lgicos:
NOT (no), EQ (igual), NE (no igual), GT (mayor que), GE (mayor igual), LT (menor
igual), LE (menor igual), AND (y) y OR (o) que se utilizan para comparar valores, la
forma de usar es:
#operador#.
2.4.1
MEN FILE:
Los comandos del men File (archivo) le permiten manejar sus archivos de datos en
LINGO
guardar e imprimir archivos, as como para ejecutar varias tareas nicas con LINGO.
COMANDOS FILE:
NEW F2: Crea una nueva ventana para ingresar datos.
OPEN F3:
impresin.
Log output F9: Enva toda la actividad posterior de la pantalla que normalmente se
enviara a la ventana Reports, a un archivo de texto. Si usted especifica una
ubicacin log file, aparece una marca en el men file en la lnea de Log Output.
Para inactivar Log Output seleccione simplemente el comando de nuevo.
Take Commands:
Los comandos del men edit permiten a usted ejecutar tareas bsicas de edicin
comunes a la mayora de aplicaciones para Windows, as como efectuar varias
tareas que son exclusivas para LINGO.
COMANDOS EDIT:
Undo ctrl. + Z: Deshace la ltima accin.
Cut ctrl. + X: Corta el texto seleccionado en el portapapeles para pegarlo.
Copy ctrl. + C: Copia el texto seleccionado en el portapapeles para pegarlo.
Paste ctrl. + V:
insercin.
Clear
delete
portapapeles.
Find/ Replace ctrl. + F:
activa.
3. MENU LINGO:
Los comandos del men LINGO se usan despus de que usted ya introdujo datos y
estn listos para obtener una solucin.
COMANDOS LINGO:
Solve ctrl. + S: Enva el modelo que se encuentra en la ventana activa al Solver
de LINGO.
Solution ctrl. + O: Abre el cuadro de dialogo Solution Report Options (opciones
para mostrar la solucin), el cual permite a usted especificar como quiere que
aparezca su solucin.
FUNCIONES:
OPERADORES ESTANDAR
@FOR
(set_name:
constraint_expression),
@MAX
(set
name:
casos,
excepto
con
la
funcin
@FOR,
la
cual
genera
restricciones
Base
6
9
2
1100
Polimero
A
4
3
6
500
ganancia
2
2
4
2
6
9
1000
500
7
7
3
425
5
650
2
1100
400
Sea:
Xi: la cantidad de ingredientes del PRODUCTO i (i=airtex,extendex,resistex) que se
puede usar.
3
FUNCION OBJETIVO:
X
i 1
* ganacia(i )
X
i 1
COMPROMISO(i )
X
i 1
, donde requerimiento (i , j) es la
ESPAGUET
I
PAVO
PAPAS
ESPINACA
S
PASTEL
NUTRIENTE(mg / 100g)
TIACINA
TIAMINA
1.4
0.18
PROTEINA
5000
HIERRO
1.1
29300
5300
3000
1.8
0.5
2.2
5.4
0.9
0.5
4000
1.2
0.60
VITNA C
0.0
GRASA
5000
0.06
0.06
0.07
0.0
10
28
5000
7900
300
0.15
3.0
14300
PROTEINA
5000
29300
5300
3000
4000
63000
HIERRO
1.1
1.8
0.5
2.2
1.2
10
NUTRIENTE(mg/100g)
TIACINA TIAMINA VITNA C
1.4
0.18
0
5.4
0.06
0
0.9
0.06
10
0.5
0.07
28
0.6
0.15
3
15
1
50
GRASA MAXIMO
5000
300
5000
300
7900
200
300
100
14300
100
0
X 6 X i * CGi 0 ; donde
Pavo ,
X
i 1
X1<=300/100
X2<=300/100
X3<=200/100
X4<=100/100
X5<=100/100
X
i 1
* nutriente j ,i MINIMO j
nutriente ya Sea de protena, hierro, tiacina, tiamina, vitna C ,grasa por Cada potaje
i ya sea :Espagueti, pavo, papas, espinacas, pastel.
54800.00
3
Value
3.000000
2.833333
2.000000
1.000000
0.6666667
Reduced Cost
0.000000
0.000000
0.000000
0.000000
0.000000
- PROBLEMA 5.2
Una empresa que fabrica un producto nico, tiene 3 fabricas y 4 clientes. Las 3
fabricas producen 3 000, 5 000 y 5 000 unidades respectivamente, durante el siguiente
periodo. La empresa se comprometi a vender 4 000 unidades al cliente 1; 3 000
unidades al cliente 2; y, por lo menos, 3 000 unidades al cliente 3. Los clientes 3 y 4
quieren comprar la mayor cantidad posible de las unidades restantes. En la siguiente
tabla se da la ganancia asociada con el envo de una unidad desde la fabrica i hacia el
cliente j.
DESDE
Fabrica 1
Fabrica 2
Fabrica 3
AL CLIENTE
1
(dlares)
(dlares)
65
68
63
2
3
(dlares)
63
67
60
62
65
59
4
(dlares)
64
62
60
Value
Reduced Cost
0.0000000
0.0000000
0.0000000
3000.000
2000.000
3000.000
0.0000000
0.0000000
2000.000
0.0000000
0.0000000
3000.000
3.0000000
1.0000000
2.0000000
0.0000000
0.0000000
0.0000000
0.0000000
2.0000000
0.0000000
0.0000000
1.0000000
0.0000000
DISTRITO
ESTUDIANTES ESTUDIANTES
MINORITARIOS NO MINORITARIOS
1
2
3
50
50
100
200
250
150
La corte local a decidido que cada una de las dos escuelas de segunda enseanza
de la ciudad (Cooley y walt whitman) debe tener aproximadamente (ms o menos
5%) el mismo porcentaje de estudiantes de minoras, que la ciudad entera. En la
tabla B se da las distancias entre los distritos escolares y las escuelas. Cada escuela
debe tener entre 300 y 500 estudiantes. Utilice la programacin lineal para
determinar la asignacin de los estudiantes a cada escuela para minimizar la
distancia total que tienen que viajar los estudiantes para llegar a ella.
TABLA B
DISTRITO
1
2
3
WALT
WHITMAN
COOLEY
1
2
1
2
1
1
SOLUCION:
Primero vamos a encontrar la funcin objetivo, la escuela busca minimizar la
distancia total recorrida por sus estudiantes desde su distrito a la escuela y cuantos
estudiantes son mayoras y minoritarios, entonces vamos a llamar a la variable
estudiantes i,j,k, donde i: estudiantes del distrito i (i=1,2,3) que pertenecen al grupo j
(1:minoria,2:mayoria) y que estudian en la escuela k ( 1:Cooley,2:Walt Whitman).Si lo
queremos expresar escalarmente con los datos de la tabla Nro 2
Fab A
Fab B
Fab C
SUPERMEMRCADO LIBRERIA
Prod Prod2 Prod3 Prod1 Prod2 Prod3
CUZCO
SUPERMERCADO
LIBRERIA
Prod Prod2 Prod3 Prod1 Prod2 Prod3
1
13
10
12
1
14
13
11
15
13
11
17
14
13
11
12
10
12
14
11
15
16
13
12
14
13
13
15
14
15
11
12
13
12
13
La corporacin busca maximizar sus ventas y saber como va a distribuir sus productos
tomando en cuenta la capacidad de produccin de las fbricas, la demanda de las
ciudades y la capacidad de los centros de distribucin.
Capacidad de produccin
FAB
FAB
FAB C
PROD1
75
65
70
PROD2
60
70
80
PROD3
65
75
75
Demanda
PROD1
PROD2
PROD3
TACNA
73
58
67
CUZCO
67
72
74
TACNA
150
130
CUZCO
140
150
Solucin:
Xi,j,k,l=cantidad de productos fabricados en la fabrica i(i=A,B,C),en la ciudad si en
TACNA, si y
12
13
14
FUNCION OBJETIVO:
C
MAX
CZ
P4
I A, J TC K SM L P1
X I , J , K , L * PRECIOI , J , K , L
P4
K SM , L P1
I , J ,K ,L
Para I=A,J=P1:
XA,P1_SM,TC + XA,P1,SM,CZ + XA,P1,L,TC + XA,P1,L,CZ <= 75 ;
Para I=A,J=P2:
XA,P2,SM,TC + XA,P2,SM,CZ + XA,P2,L,TC + XA,P2,L,CZ <= 60 ;
Para I=A,J=P3:
XA,P3,SM,TC + XA,P3,SM,CZ + XA,P3,L,TC + XA,P3,L,CZ <= 65 ;
Para I=B,J=P1:
XB,P1,SM,TC + XB,P1,SM,CZ + XB,P1,L,TC + XB,P1,L,CZ <= 65 ;
Para I=B,J=P2:
XB,P2,SM,TC + XB,P2,SM,CZ + XB,P2,L,TC + XB,P2,L,CZ <= 70 ;
Para I=B,J=P3:
XB,P3,SM,TC + XB,P3,SM,CZ + XB,P3,L,TC + XB,P3,L,CZ <= 75 ;
Para I=C,J=P1:
XC,P1,SM,TC + XC,P1,SM,CZ + XC,P1,L,TC + XC,P1,L,CZ <= 70 ;
Para I=C,J=P2:
XC,P2,SM,TC + XC,P2,SM,CZ + XC,P2,L,TC + XC,P2,LCZ <= 80 ;
Para I=C,J=P3:
XC,P3,SM,TC + XC,P3,SM,CZ + XC,P3,L,TC + XC,P3,L,CZ <= 75
Demanda:
C
I A , K SM
I ,J ,K ,L
P4
I A , L P1
I ,J ,K ,L
8260.000
20
Variable
Value
Reduced Cost
PRECIO( A, P1, SM, TC)
12.00000
0.000000
PRECIO( A, P1, SM, CZ)
15.00000
0.000000
PRECIO( A, P1, L, TC)
17.00000
0.000000
PRECIO( A, P1, L, CZ)
11.00000
0.000000
PRECIO( A, P2, SM, TC)
12.00000
0.000000
PRECIO( A, P2, SM, CZ)
15.00000
0.000000
PRECIO( A, P2, L, TC)
14.00000
0.000000
PRECIO( A, P2, L, CZ)
12.00000
0.000000
PRECIO( A, P3, SM, TC)
13.00000
0.000000
A ASI SUCESIVAMENTE.
6. PROBLEMAS DE TRANSPORTE
La cadena de restaurantes CUATRO MARAS se especializa en la preparacin y
venta de pescados y mariscos. La demanda de pescado de las cuatro sucursales de la
cadena de restaurantes CUATRO MARAS es presentada en la siguiente tabla.
Sucursal
Demanda (Ton)
Jess Mara
15
Callao
17
San Luis
22
Los Olivos
12
Ventanilla
30
Villa El Salvador
25
Chorrillos
21
Jess Mara
Ventanilla
Villa El Salvador
Chorrillos
6
4
8
Sucursal
Callao
San
Luis
2
6
9
5
8
1
Los Olivos
7
3
5
- Problema 5.2
Los requerimientos para la produccin de 3 tipos de barras de chocolate as como la
cantidad de recursos y la utilidad de cada tipo se muestran en el siguiente cuadro:
Materia
prima
Azcar
Chocolate
Ganancia
unitaria
B1
B2
B3
1
2
3
1
3
7
1
1
5
Cantidad
disponible
50
100
Solucin:
Utilizando el siguiente algoritmo para resolver el modelo mediante LINGO:
Sets:
in/1..2/:d;
b/1..3/:p,g;
ca(in,b):Uso;
Endsets
Data:
g=3 7 5;
d=50 100;
Uso= 1 1 1
2 3 1;
Enddata
Max=@sum (b:p*g);
@for(in(i):@sum(b(j):uso(i,j)*p(j))<=d(i));
End
MAX
SUBJECT TO
2] P (1) + P (2) + P (3) <= 50
3] 2 P (1) + 3 P (2) + P (3) <= 100
END
Objective value:
Variable
D( 1)
D( 2)
P( 1)
P( 2)
P( 3)
300.0000
Value
50.00000
100.0000
0.0000000
25.00000
25.00000
Reduced Cost
0.0000000
0.0000000
3.000000
0.0000000
0.0000000
- PROBLEMA 5.2
Sailco Corporation tiene que determinar cuntos veleros hay que producir en cada uno
de cuatro trimestres. La demanda es 40, 60, 75 y 25 para el primer, segundo, tercero y
cuarto trimestre. Sailco tiene que cumplir con las demandas. Al principio del primer
trimestre, Sailco tiene un inventario de 10 veleros. Sailco tiene que decidir, al principio
de cada trimestre, cuntos veleros hay que construir en el trimestre. Los veleros
construidos en un trimestre son usados para satisfacer la demanda de ese trimestre.
Durante cada trimestre, Sailco puede producir hasta 40 veleros, en el tiempo regular
de trabajo, a un costo de 400 dlares por velero. Sailco puede producir ms veleros, al
hacer que trabajen tiempo extra los empleados durante un trimestre, a un costo total
de 450 dlares por velero. Al final de cada trimestre (despus de terminar la
produccin y despus de satisfacer la demanda del trimestre actual) se presentan
costos de mantenimiento del inventario, de 20 dlares por velero.
Utilice la programacin lineal para determinar un programa de produccin para los
siguientes cuatro trimestres.
El modelo en LINGO es:
6. PROBLEMA DE INVERSIN
Suponga que Ud. es trabajador de la empresa DISQUET S.A. Uno de los beneficios
que le otorga la empresa es el plan de retiro en que Ud. aporta 5% de su ingreso
mensual y 5% lo pone DISQUET S.A. El dinero de este plan de retiro es invertido en
cualquiera de dos fondos: fondos mutuos o fondos de acciones. Suponga que la
empresa le pregunta a Ud. qu fraccin de dinero debe ser invertido en cada fondo.
Antes de tomar una decisin, Ud. investiga y se entera que el fondo de acciones ha
crecido a una tasa anual promedio de 10% mientras que los fondos mutuos a una tasa
anual promedio de 8%. Para diversificar su cartera de inversiones y controlar el riesgo,
Ud. no desea poner todos los huevos en una sola canasta por lo que ha logrado
identificar dos pautas:
Ninguno de los fondos debe tener ms de 70% de la inversin total.
La cantidad de dinero en el fondo de acciones no debe exceder del doble invertido
en los fondos mutuos.
Qu decisin Ud. tomara para optimizar su dinero?
7. PLANEACIN DE PRODUCCIN
QUMICA S.A. produce dos solventes, S1 y S2. Las empresas compran S1 y S2 para
disolver ciertas pinturas y sustancias txicas. La empresa trabaja 40 horas semanales
y en el departamento de mezcla tiene a 4 trabajadores a tiempo completo y a tres a
tiempo parcial, que trabajan 10 horas a la semana cada uno. Los trabajadores operan
seis mquinas que mezclan las sustancias qumicas para producir cada solvente. Los
productos salen del departamento de mezclado para pasar al departamento de
S1
2
1
S2
1
2
Data:
utilidad = 350, 450;
horas = 2,1,
1,2;
disponibilidad_horas=190, 292;
Enddata
Max=@sum (Produccion:cantidad*utilidad);
@for(Departamento(j):@sum(Produccion(i):cantidad(i)*horas(i,j))<=disponibilidad_horas(j));
@for (Produccion:cantidad(2)<=100);
8. PLANEAMIENTO FINANCIERO
-PROBLEMA 8.1
Un banco otorga cuatro tipos de prstamos a sus clientes los cuales producen las
siguientes tasas de inters anual:
Tipo de prstamo
Compra de casa (o departamento)
Compra de un terreno
Ampliar o remodelar el hogar
Compra de un carro
El banco ha dispuesto 250 millones de nuevos soles para otorgar los prstamos. Las
directivas que se deben tener presentes para efectuar los prstamos son:
a. Los prstamos para compras de casa deben ser al menos 55% de todos los
prstamos otorgados para compras de casa o terreno y al menos 25% de todos los
prstamos otorgados.
b. Los prstamos para compra de terrenos no pueden exceder el 25% de todos los
prstamos otorgados.
c. Para evitar el descontento pblico y la introduccin de un impuesto no previsto el
dinero total anual recaudado por los prstamos no debe exceder el 15% del total
de dinero destinado a los prstamos.
Formule el problema de prstamos del banco como un PL.
El modelo en LINGO es:
! PLANEAMIENTO FINANCIERO;
Model:
Sets:
Tipo_de_prestamo/casa, terreno, hogar,carro/:interes;
Dinero(Tipo_de_prestamo):cantidad;
Endsets
Data:
interes= 0.14, 0.20, 0.20, 0.10;
Enddata
Max= @sum(Dinero(i):cantidad(i)*interes(i));
@sum(Dinero(i):cantidad(i))<=250;
@for(Dinero:cantidad(1)>=0.55*@sum(Dinero(i)|i#le#2:cantidad(i)));
@for(Dinero:cantidad(1)>=0.25*@sum(Dinero(i):cantidad(i)));
@for(Dinero:cantidad(2)<=0.25*@sum(Dinero(i):cantidad(i)));
@sum(Dinero(i):cantidad(i)*interes(i)) <= 0.15*@sum(Dinero(i):cantidad(i));
-. Problema 8 .2
Cuatro productos se procesan en secuencia de dos maquinas. La siguiente tabla
proporciona los datos pertinentes al problema.
Tiempo de fabricacin por unidad (hora)
Costo
Producto
Mquina
($)
/
hora
1
2
1
10
2
3
2
5
3
2
Precio
de
venta
65
70
3
4
1
4
2
2
55
45
Capacida
d
(hora)
500
380
Solucin:
Xij: unidades producidas por tipo de producto j (1, 2, 3, 4), utilizando cada maquina i
(1, 2)
MAX Z = 65(X11 + X12) + 70(X21 + X22) + 55(X31 + X32) + 45(X41 + X42)
- 10 (2X11 + 3X21 + 4X31 + 2X41) - 5(3X12 + 2X22 + 1X32 + 2X42)
Solucin ptima:
MAX
45 X( 1, 1) + 40 X( 1, 2) + 15 X( 1, 3) + 25 X( 1, 4)+ 50 X( 2, 1) + 60 X( 2, 2)
+ 50 X( 2, 3) + 35 X( 2, 4)
SUBJECT TO
2] 2 X( 1, 1) + 3 X( 1, 2) + 4 X( 1, 3) + 2 X( 1, 4) <= 500
3] 3 X( 2, 1) + 2 X( 2, 2) + X( 2, 3) + 2 X( 2, 4) <= 380
END
Objective value:
Variable
X( 1, 1)
X( 1, 2)
X( 1, 3)
X( 1, 4)
X( 2, 1)
X( 2, 2)
X( 2, 3)
X( 2, 4)
-
30250.00
Value
Reduced Cost
250.0000
0.0000000
0.0000000
27.50000
0.0000000
75.00000
0.0000000
20.00000
0.0000000
100.0000
0.0000000
40.00000
380.0000
0.0000000
0.0000000
65.00000
Para una jornada de 24 horas un hospital esta requiriendo el siguiente personal para
el rea de enfermera, se define 6 turnos de 4 horas cada uno.
Turno
Nmero mnimo
de personal
2:00 - 6:00
6:00 - 10:00
10:00 - 14:00
14:00 - 18:00
18:00 - 22:00
22:00 - 2:00
4
8
10
7
12
4
Los contratos laborales son de 8 horas consecutivas por da. El objetivo es encontrar
el nmero menor de personas que cumplan con los requerimientos. Formule el
problema como un modelo de programacin lineal.
Solucin:
Xi = Cantidad de personal por cada turno i = 1, 2, 3, 4, 5, 6.
Necesidades de personal por horario
2:00
- 6:00
Horas
6:00
10:00
X1
X1
X2
10:00
14:00
X2
X3
X6
Personal
4
8
10
MIN Z = X1 + X2 + X3 + X4 + X4 + X5 + X6
Sujeto a:
Turno 1:
X1 + X6 >= 4
Turno 2:
X1 + X2 >=8
Turno 3:
X2 + X3 >=10
Turno 4:
X3 + X4 >=7
Turno 5:
X4 + X5 >=12
Turno 6:
X5 + X6 >=4
14:00
18:00
X3
X4
18:00
20:00
X4
X5
12
20:00
24:00
X5
X6
4
0,1,1,0,0,0,
0,0,1,1,0,0,
0,0,0,1,1,0,
0,0,0,0,1,1,
1,0,0,0,0,1;
ENDDATA
MIN=@SUM(HORAS:X);
@FOR(PERS(J):@SUM(HORAS(I):CANT(I,J)*X(I))>=MIN(J));
END
MIN X( 1) + X( 2) + X( 3) + X( 4) + X( 5) + X( 6)
SUBJECT TO
2] X( 1) + X( 6) >= 4
3] X( 1) + X( 2) >= 8
4] X( 2) + X( 3) >= 10
5] X( 3) + X( 4) >= 7
6] X( 4) + X( 5) >= 12
7] X( 5) + X( 6) >= 4
END
Objective value:
26.00000
Variable
X(1)
X(2)
X(3)
X(4)
X(5)
X(6)
Value
0.0000000
8.000000
2.000000
5.000000
7.000000
4.000000
Reduced Cost
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
- PROBLEMA 8.4
Se desean invertir 2 mil dlares en 6 tipos de inversin cuyas caractersticas son las
siguientes:
Tipo
de
Inversion
Interes
Anual (%)
Factor
Riesgo
1
2
3
4
5
6
8.5
9
8.5
14.3
6.7
13
0.02
0.01
0.38
0.45
0.07
0.35
de
Plazo
promedio
de
inversion
8
2
5
6
2
4
Solucin:
Xj = cantidad de dlares a invertir
maximizar el rendimiento.
Value
592.0398
0.0000000
482.5871
0.0000000
425.3731
500.0000
Reduced Cost
0.0000000
0.2461194E-01
0.0000000
0.3865672E-02
0.0000000
0.0000000
TABLA 3
Solucin:
Si los estudiantes del distrito
=1,2)
Distrit
o
1
2
3
4
5
Escuela
de
bachillerato 1
1
0.5
0.8
1.3
1.5
Escuela
de
bachillerato 2
2
1.7
0.8
0.4
0.6
0, si no es as.
Entonces, el PE apropiado es:
Para hallar la funcin objetivo tengo que sumar la cantidad de blancos y negros que
hay en cada distrito y despus multiplicarlo por la distancia que hay de ese distrito a
cada escuela.
Funcin objetivo es:
Min z = 110 X11+220 X12+37.5 X21+127.5 X22+80 X31+80 X32 +117 X41 +36 X42 +135 X51
+54 X52
s.a :
110 X11+75 X21+100 X31+90 X41 +90 X51 >=150(escuela 1 debe tener una
matricula de por lo menos 150 estudiantes)
110 X12+75 X22+100 X32+90 X42 +90 X52 >=150(escuela 2 debe tener una
matricula de por lo menos 150 estudiantes)
30 X11 5 X21 10 X31 40 X41 30 X51
(escuela1 debe tener
110 X11 75 X21 100 X31 90 X41 90 X51
por lo menos 20% de negros)
30 X12 5 X22 10 X32 40 X42 30 X52
0.20<=
(escuela2 debe tener
110 X12 75 X22 100 X32 90 X42 90 X52
por lo menos 20% de negros)
0.20<=
Los estudiantes de cada distrito bien van a la escuela 1 2, pero no a las dos a la
vez por lo que solo una de ellas tiene el valor de uno y la otra de cero.
X11+ X12 =1(todos los estudiantes del distrito1 asisten a la misma escuela)
X21+ X22 =1(todos los estudiantes del distrito2 asisten a la misma escuela)
X31+ X32 =1(todos los estudiantes del distrito3 asisten a la misma escuela)
X41 + X42 =1(todos los estudiantes del distrito4 asisten a la misma escuela)
X51 + X52 =1(todos los estudiantes del distrito5 asisten a la misma escuela)
TABLA
Planta
Costos
(miles
dlares)
80
40
30
1
2
3
fijos
de
Costos
variables(dlares
)
20
25
30
Capacidad
produccin
6000
7000
6000
SOLUCIN:
Xi = Cantidad de capacitores producidos en la fbrica i.
Yi = 1 si se utiliza la planta i.
0 en caso contrario.
i =1, 2, 3.
FUNCION OBJETIVO:
Min z = (80 000Y1 + 40 000Y2 + 30 000Y3) + (20X1 + 25X2 + 30X3)
RESTRICCIONES:
X1 + X2 + X3 >= 12 000
X1
<= 6 000Y1
X2
<= 7 000Y2
X3 <= 6 000Y3
X1,X2,X3>0
Y1,Y2,Y3= 1 0
El programa en Lingo es:
Sets:
planta/1..3/:x,y,cf,cv,cap;
Endsets
Data:
cf = 80,40,30;
cv = 20,25,30;
cap = 6000,7000,6000;
Enddata
Min =@sum(planta(i):cf(i)*y(i))+@sum(planta(i):cv(i)*x(i));
!restriccion de la demanda;
@sum(planta(i):x(i))>=12000;
!restriccion de la capacidad;
@for(planta(i):x(i)<=cap(i)*y(i));
!restriccion binaria;
@for(planta(i):@bin(y));
End
de
MODEL:
[_1] MIN= 20 * X_1 + 80 * Y_1 + 25 * X_2 + 40 * Y_2 + 30 * X_3 + 30 *Y_3 ;
[_2] X_1 + X_2 + X_3 >= 12000 ;
[_3] X_1 - 6000 * Y_1 <= 0 ;
[_4] X_2 - 7000 * Y_2 <= 0 ;
[_5] X_3 - 6000 * Y_3 <= 0 ;
@BIN( Y_1); @BIN( Y_2); @BIN( Y_3);
END
Solucin Lingo:
Objective Value:
Variable
X( 1)
X( 2)
X( 3)
Y( 1)
Y( 2)
Y( 3)
CF( 1)
CF( 2)
CF( 3)
CV( 1)
CV( 2)
CV( 3)
CAP( 1)
CAP( 2)
CAP( 3)
270120.0
Value
6000.000
6000.000
0.000000
1.000000
1.000000
0.000000
80.00000
40.00000
30.00000
20.00000
25.00000
30.00000
6000.000
7000.000
6000.000
Reduced Cost
0.000000
0.000000
5.000000
-29920.00
40.00000
30.00000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
PROBLEMA 3
Una empresa se dedica a la construccin de puertas y ventanas de fierro. Una puerta
requiere 2 horas de pintado y 5 horas de soldadura, mientras que una ventana
requiere 4 de pintado y 6 de soldadura. El total de horas disponibles de la mquina
para pintura es 150 y de la mquina para soldar es 200. La utilidad de una puerta es
30 dlares y de una ventana es 40 dlares. Formule un modelo que permita
determinar la combinacin ptima de produccin de puertas y ventanas.
Model:
Sets:
La formulacin
del modelo
en LINGO
es:
Productos/1..2/:
utilidad,
cant;
materia_prima/1..2/:horas disponibles;
Horas(productos, materia_prima):hora;
Endsets
Data:
hora= 2, 5, 4, 6;
utilidad= 30, 40;
horas_disponibles= 150, 200;
Enddata
Max=@sum(productos(i):cant(i)*utilidad(i));
@for(materia_prima(j):@sum(productos(i):cant(i)*hora(i,j))<=horas_
disponibles(j));
@for(productos(i):@gin(cant(i)));
End
Problema 4
Una empresa que se dedica a la comercializacin de agua mineral embotellada
estudia adquirir un conjunto de fuentes y construir plantas embotelladoras. Para cada
localizacin potencial ha estimado unos costos variables de embotellamiento
parecidos, pero los costes fijos anuales ms la amortizacin de la adquisicin de la
fuente y de la construccin de la planta embotelladora varan de una localizacin a
otra, las fuentes sobre las que se han iniciado negociaciones son las reflejadas en la
tabla siguiente:
Fuente
Capacidad de
embotellamiento
(m3 anuales)
1.Biesacas
60.000
100
2.Bellanuga
70.000
140
3.Canfranc
55.000
88
45.000
65
5.Bielsa
90.000
145
6.Benasc
85.000
155
7.Llavors
65.000
160
8.Masella
75.000
175
9.Bellver de
Cerdanya
62.000
150
1.Lrida
2.Girona
3.Tarragona
4.Barcelona
Demanda(m3/ao)
30.350
60.700
45.500
160.000
1.Lrida
2.Girona
3.Tarragona
4.Barcelona
1.Biesacas
200
450
290
370
2.Bellanuga
210
460
310
380
3.Canfranc
220
470
310
390
140
170
250
180
5.Bielsa
150
400
250
320
6.Benasc
140
390
230
310
7.Llavors
144
240
200
250
8.Masella
200
135
230
160
9.Bellver de
Cerdanya
190
140
220
150
MODEL:
TITLE MODELO DE BALINSKI;
!Definicion de Conjuntos;
SETS:
fuente
/BIESCAS
BELLANUGA CANFRANC
SEU
BIELSA BENASC
@FOR(links(i,j):volumen(i,j)>=0);
END
PROBLEMA 5
NEWCOMP S.A. ha obtenido fondos para producir un nuevo tipo de computadora. La
empresa debe decidir la ubicacin y el tamao de las fbricas que producirn la
computadora. Existen dos lugares disponibles, en cada lugar slo puede construirse a
lo ms una fbrica pequea, grande o enorme. En uno de los lugares se puede
construir una fbrica enorme. La tabla N1 presenta los costos de construccin de las
fbricas, sus capacidades de produccin y los costos unitarios de manufactura de la
computadora para cada una de las alternativas.
Tabla N 1
Lugar
Ate
Bellavista
Tamao
Pequea
Grande
Pequea
Grande
Enorme
Costo de
construccin
(miles de
dlares)
1000
1500
1200
1600
2000
Capacidad
(miles de
unidades)
600
1200
600
1200
2000
Costo de
Manufactura
(dlares por
unidad)
5.00
4.00
5.00
4.00
3.50
1
1
2
500
Hasta la regin
2
3
4
2
3
4
3
2
3
200 700 800
Conjunto primitivo
Model:
Sets:
fabrica/fpa,fga,fpb,fgb,feb/:capacidad,costo_construccion, costo_manufactura,
construccion;
region/r1,r2,r3,r4/:requerimiento;
rutas(fabrica, region): costo, cantidad;
Endsets
Data:
Conjunto derivado
capacidad
costo_construccion
costo_manufactura
requerimiento
costo = 1, 2, 3, 4,
1, 2, 3, 4,
2, 3, 2, 3,
2, 3, 2, 3,
2, 3, 2, 3;
Enddata
=
=
=
=
Min=@sum(rutas:costo*cantidad)+@sum(fabrica: costo_construccion*construccion)
+@sum(fabrica(i):@sum(rutas(i,j):costo_manufactura(i)*cantidad(i,j)));
@for(region(j):@sum(rutas(i,j) : cantidad(i,j)) >= requerimiento(j));
@for(fabrica(i):@sum(rutas (i,j) : cantidad(i,j))<=capacidad(i)*construccion(i));
@for(fabrica(i):@sum(rutas(i,j) : cantidad(i,j))<=capacidad(i));
@for(fabrica:@bin(construccion));
End
La solucin de lingo es:
Objective value: 16200.00
Problema 6
La empresa financiera de Boris Milken es el dueo de 6 bienes. En las tablas se dan
los precios esperados de venta (en millones de dlares) para cada bien. En la tabla se
puede observar que la venta del bien 1 en el ao 2 dar a la empresa un ingreso de
20 millones de dlares. Para conservar el flujo de efectivo regular, Milken debe vender
por lo menos 20 millones de dlares en el ao 1, por lo menos 30 millones de dlares
en el ao 2, y por lo menos 35 millones de dlares en el ao 3. Se necesita maximizar
el ingreso total de los bienes vendidos en los prximos 3 aos.
BIEN 1
BIEN 2
BIEN 3
BIEN 4
BIEN 5
BIEN 6
VENDIDO EN EL
AO 1
15
16
22
10
17
19
SOLUCION:
VARIABLES: i = 1,2,3,4,5,6
j = 1,2,3
AO 2
20
18
30
20
19
25
AO 3
24
21
36
30
22
29
0 en caso contrario
FUNCION OBJETIVO:
MAX Z = B( 1) + B( 2) + B( 3)
Donde:
15X(1,1) + 16X(2,1) + 22X(3,1) + 10X(4,1) + 17X(5,1) + 19X(6,1) = B(1)
20X(1,2) + 18X(2,2) + 30X(3,2) + 20X(4,2) + 19X(5,2) + 25X(6,2) = B(2)
24X(1,3) + 21X(2,3) + 36X(3,3) + 30X(4,3) + 22X(5,3) + 29X(6,3) = B(3)
RESTRICCIONES:
o
1
1
1
1
1
1
Max=@sum(year:b);
FUNCION OBJETIVO;
@for(year(j):@sum(bien(i):precio(i,j)*x(i,j))=b(j));
RESTRICCION 1;
@for(bien(i):@sum(year(j):x(i,j))<=1);
RESTRICCION 2
@for(year(j):@sum(bien(i):precio(i,j)*x(i,j))>=a(j));
@for(matriz:@bin(x));
SOLUCIN EN LINGO:
El mximo ingreso por la venta de bienes es 146 millones. El bien 1 se vende en el
ao 3, el bien 2 en el ao 1, el bien 3 en el ao 2, el bien 4 en el ao 3, el bien 5 en
el ao 1 y en bien 6 en el ao 3.
Problema 7
La universidad estatal tiene que comprar 1100 computadoras de tres vendedores. El
vendedor 1 carga 500 dlares por computadora mas un encargo por la entrega de
5000 dlares, el vendedor 2 carga 350 dlares por computadora mas un cargo por la
entrega de 4000 dlares. El vendedor 3 carga 250 dlares por computadora mas un
cargo por la entrega por de 6000 dlares. El vendedor 1 vender a lo mas 500
computadoras, el vendedor a los mucho 900 y el vendedor cuando mas 400. Se
necesita minimizar el costo de la compra de computadoras necesarias.
SOLUCION:
VARIABLES:
X(i,j) = Cantidad de computadoras que vende el vendedor
Y(i,j) =
FUNCION OBJETIVO:
MIN Z = 5000Y (1) + 4000Y (2) + 6000Y (3) + 500X (1) + 350X (2) + 250X (3)
RESTRICCIONES:
o
RESTRICCION 1: La universidad
computadoras de tres vendedores.
estatal
tiene
que
comprar
X( 1) + X( 2) + X( 3) >= 1100
o
X( 1) <= 500
X( 2) <= 900
1100
X( 3) <= 400
o
RESTRICCION 3: Si la universidad compra computadoras al vendedor i
entonces tambin tendr que pagar el cargo respectivo por la entrega de
computadoras.
1000000 Y( 1) + X( 1) <= 0
1000000 Y( 2) + X( 2) <= 0
1000000 Y( 3) + X( 3) <= 0
FORMULACION EN LINGO:
! MODELO DE WINSTON CAP 9 # PROB 6
COSTOS EN DOLARES;
!M=VALOR MUY GRANDE;
!COSTOE ES EL COSTO DE ENTREGA;
!X CANTIDAD DE COMPUTADORAS QUE VENDE EN VENDEDOR I;
!Y 1 SI EL VENDEDOR I VENDCOMPUTADORAS
! 0 EN CASO CONTRARIO;
SETS:
VENDEDOR/1..3/:COSTOE,COSTO,X,Y,MAXVEND;
ENDSETS
DATA:
COSTOE = 5000 4000 6000;
COSTO = 500 350 250;
MAXVEND= 500 900 400;
M=1000000;
REQUERIMIENTO=1100;
ENDDATA
MIN=@SUM(VENDEDOR(I):COSTO(I)*X(I))
+@SUM(VENDEDOR(I):COSTOE(I)*Y(I));
! RESTRICCION 1;
@SUM(VENDEDOR(I):X(I))>=REQUERIMIENTO;
! RESTRICCION DE 2;
@FOR(VENDEDOR(I):X(I)<=MAXVEND(I));
! RESTRICCION DE 3;
@FOR(VENDEDOR(I):X(I)<=M*Y(I));
! RESTRICCION DE VARIABLES BINARIAS;
@FOR(VENDEDOR(I):@BIN(Y));
SOLUCION EN LINGO:
El mnimo costo para comprar computadoras es de 355 000 dolares, y la universidad
tendr que comprar 700 y 400
computadoras a los vendedores 1 y 2
respectivamente.
Problema 8
La acerera de Newcor recibi un pedido de 25 toneladas de acero. El acero debe tener
5% de carbono y 5% de molibdeno por peso. El acero es el resultado de combinar tres
tipos de metales: lingotes de acero, acero de desperdicios y aleaciones. Estn
disponibles para la compra cuatro lingotes de acero. El peso (en toneladas), costo por
tonelada, contenido de carbono y molibdeno de cada lingote se proporcionan en la
tabla 1.
Se pueden comprar tres tipos de aleaciones. El costo por tonelada y composicin
qumica de cada aleacin se dan en la tabla 2.
El desperdicio de acero se compra a un costo de 100 dlares por tonelada, y contiene
3% de carbono y 9% de molibdeno. Plantee un PE, mezclada con cuya solucin
indique a Newcor cmo debe minimizar el costo de cumplir con el pedido.
TABLA 1
Lingote
Peso
1
2
3
4
5
3
4
6
Costo
por
tonelada
350
330
310
280
%
carbono
5
4
5
3
de
%
de
molibdeno
3
3
4
4
TABLA 2
Aleacin
1
2
3
Costo
tonelada
500
450
400
por
Carbono %
Molibdeno %
8
7
6
6
7
SOLUCIN:
Xi: 1, cuando se ha comprado el lingote i
0, en caso contrario
Yi: Numero de toneladas de aleacin tipoi compradas
W: Numero de toneladas de desperdicios compradas
FUNCIN OBJETIVO:
MINZ=350*(5*X1)+330*(3*X2)+310*(4*X3)+280*(6*X4)+500*Y1+450Y2+400Y3+100
W
S.A.:
5*X1+3*X2+4*X3+6*X4+Y1+Y2+Y3+W=25 (PEDIDO)
5*(5*X1)+4*(3*X2)+5*(4*X3)+3*(6*X4)+8*Y1+7*Y2+6*Y3+3*W=5*25 (% CARBONO)
3*(5*X1)+3*(3*X2)+4*(4*X3)+4*(6*X4)+6*Y1+7*Y2+9*W=5*25
X1+X2+X3+X4=1
Y1+Y2+Y3>0
(% MOLIBDENO)
(LINGOTE)
W>0
XI=0 1
YI>0
W>0
El programa en Lingo es:
Sets:
lingote/1..4/:peso,costo1,carbono1,molibdeno1,x;
aleacion/1..3/:costo2,carbono2,molibdeno2,y;
desperdicio/1..1/:costo3,carbono3,molibdeno3,w;
Endsets
Data:
peso
= 5,3,4,6;
costo1 = 350 ,330 ,310 ,280;
carbono1 = 0.05, 0.04 ,0.05 ,0.03;
molibdeno1 = 0.03, 0.03, 0.04, 0.04;
costo2 = 500, 450, 400;
carbono2 = 0.08, 0.07, 0.06;
molibdeno2 = 0.06, 0.07, 0.00;
costo3 = 100;
carbono3 = 0.03;
molibdeno3 = 0.09;
Enddata
!funcion objetivo;
min = @sum(lingote(i):costo1(i)*peso(i)*x(i))+ @sum(aleacion(j):costo2(j)*y(j) )+
@sum(desperdicio(k):costo3(k)*w(k));
!restriccion del pedido;
@sum(lingote(i):x(i)*peso(i))+ @sum(aleacion(j):y(j)) + @sum(desperdicio(k):w(k))
=25;
!restriccion del % de carbono;
@sum(lingote(i):x(i)*peso(i)*carbono1(i))+@sum(aleacion(j):y(j)*carbono2(j))+
@sum(desperdicio(k):w(k)*carbono3(k)) =1.25;
!restriccion del % de molibdeno;
@sum(lingote(i):x(i)*peso(i)*molibdeno1(i))+@sum(aleacion(j):y(j)*molibdeno2(j))+
@sum(desperdicio(k):w(k)*molibdeno3(k)) =1.25;
!restriccion del lingote;
@sum(lingote(i):x(i))=1;
!restriccion de las aleaciones;
@sum(aleacion(j):y(j))>0;
!restriccion de los desperdicios;
@sum(desperdicio(k):w(k))>0;
!restriccion del binario;
@for(lingote(i):@bin (x));
End
TABLA 1
REPRESENTANTE
DENTRO DE
55Km
SI
NO
MERCADOS VENTA
Piura
Ayabaca Paita
Sechura
Morropn
Sullana
130
70
110
70
110
90
122
50
120
40
130
80
TABLA 2
BaseFbrica Mercado
Piura
Ayabaca
Paita
Sechura
Morropn
Sullana
SOLUCIN:
Piura
Ayabaca
Paita
Sechura
0
229
60
50
60
39
229
0
117
260
58
40
60
117
0
55
115
47
50
260
55
0
52
239
SALARIO DE REPRESENTANTES
FUNCION OBJETIVO
Sechura
130X14
40
130X34
110X44
110X54
50
Egresos:
Los egresos serian lo que se paga a cada uno de los representantes esto sera:
RESTRICCIONES:
Cantidad mnima de los representantes de cada fbrica
IMPLEMENTACIN EN LINGO:
En LINGO se realizan implementaciones muy largas y tediosas, pero estas siempre
siguen un formato de suma o repeticin por filas y columnas.
DEFINICIN DE SETS:
Segn lo planteado y a los datos del problema tenemos:
SETS:
MERCADOS/1..6/:SI,NO,W,Y,REPREMIN;
FABRICAS/1..4/:REPRE;
MERCAFABRI(MERCADOS,FABRICAS):DIST,X,H,T,Z;
ENDSETS
Creando Hij y Tij;
@FOR(MERCAFABRI(I,J)|DIST(I,J)#LE#55:H(I,J)=1);!REPRESENTANTES;
@FOR(MERCAFABRI(I,J)|DIST(I,J)#GT#55:H(I,J)=0);
@FOR(MERCAFABRI(I,J)|DIST(I,J)#GT#55:T(I,J)=1);!SIN
REPRESENTANTES;
@FOR(MERCAFABRI(I,J)|DIST(I,J)#LE#55:T(I,J)=0);
!SALARIO DE REPRESENTANTES;
@SUM(MERCAFABRI(I,J):X(I,J))*8400=COSTO;
Funcin Objetivo
MAX=70*(@SUM(MERCADOS(I):W(I))+@SUM(MERCADOS(I):Y(I)))-COSTO;
Definicin de data.
50
260
55
0
52
239;
REPRE=10 8 6 9;
REPREMIN=4 5 3 2 1 4;
SI=130 120 130 110 110 122;
NO=70 40 80 70 90 50;
ENDDATA
Data exportada de Excel:
DATA:
DIST,REPRE,REPREMIN,SI,NO= @OLE('F:\VII
CICLO\OPE\LABO\PROBLEMA2.xlsx');
@OLE('F:\VII CICLO\OPE\LABO \DATA1.xlsx')=X;
ENDDATA
LINGO tiene una funcin sencilla, @OLE(),para recuperar y colocar datos de y a una
hoja de clculo (Excel).
Un paso sencillo pero oculto que debe de realizarse antes en las hojas de clculo es
definir los nombres de los rangos de las distintas colecciones de celdas que contienen
datos. Los nombres de los rangos se pueden definir en Excel con el ratn y el
elemento del men Insertar, nombre, definir. Se elige los datos de la hoja y luego click
derecho luego a asignar rangos y poner el nombre con que se llamara en LINGO.
Las primeras 5 aplicaciones mostradas en el data ilustran que esta funcin se puede
usar de a la derecha de una instruccin de asignacin para recuperar datos de una
CANT. DE
REPRESENTANTES
PIURA
AYABACA
PAITA
SECHURA
PIURA
AYABACA
PAITA
SECHURA
MORROPN
SULLANA
En este cuadro podemos ver las cantidades de representantes asignados para cada
mercado pertenecientes a una determinada fbrica o base. Estas cantidades cumplen
con todas las condiciones establecidas.
Modelo de Asignacin de Presupuesto
La compaa constructora Molina dispone de 180 millones como presupuesto para 3
aos, que se usaran en sus 3 sucursales. Se ha establecido un nivel mximo de
asignacin de fondos de 20 millones para cada sucursal por ao. En caso que una
sucursal no exceda el lmite anual, puede usar esa diferencia para el siguiente ao.
Cada sucursal tiene la oportunidad de dirigir distintos proyectos con los fondos que
recibe. Para cada proyecto se ha establecido una tasa de ganancia (como un
porcentaje de la inversin) y una inversin mxima (Tabla1). Por otra parte, algunos de
los proyectos obligan una inversin mnima como se indica en la tabla 2. Determine la
poltica de asignacin de recursos que genere el mejor beneficio.
TABLA 1
SUCURSAL
Trujillo
Lima
Tacna
Proyecto
1
2
3
1
2
3
1
2
3
Ao 1
Tasa de
utilidad
(%)
8
6
7
5
8
9
10
6
15
Inversi
n
mxima
(m)
10
7
9
7
10
5
6
7
5
Proyecto
1
2
3
1
2
3
1
2
3
Ao 2
Tasa de
utilidad
(%)
9
6
7
6
18
5
11
6
15
Inversi
n
mxima
(m)
9
5
9
4
10
6
6
10
5
Proyecto
1
2
3
1
2
3
1
2
3
TABLA 2
Inversin Mnima (millones)
Sucursal
Proyecto
Periodo
Cantidad mnima
Ao 3
Tasa de
utilidad
(%)
8
7
7
5
8
5
7
6
15
Inversi
n
mxima
(m)
8
7
7
9
8
5
6
11
6
Trujillo
Lima
Tacna
2
1
2
1
1
2
4
5
9
Adicionalmente por una directiva de la alta gerencia se requiere que los proyectos que
tienen una utilidad mayores del 7% en cualquier ao, por lo menos tengan una
inversin de 5 millones.
SOLUCIN:
A. FORMULACIN ALGEBRAICA DEL MODELO
Definicin de variables:
X i, j, k = Cantidad asignada a la sucursal i para el proyecto j en el periodo k.
Sobrante i, k = Cantidad sobrante de dinero no asignado a la sucursal i en
periodo k.
Definicin de parmetros:
Mximo i, k = Nivel mximo de asignacin de fondos para la sucursal i en el periodo
k.
Mnimo i, j, k = Nivel mnimo de asignacin de fondos en la sucursal i, para el
proyecto j, en el periodo k.
InvMxima i, j, k = Inversin mxima en la sucursal i para el proyecto j en el periodo
k.
InvMnima=Inversin mnima que establece la gerencia para ciertos proyectos con
tasa de utilidad mayor a 7%.
Presupuesto Total = Presupuesto total disponible.
Tasa i, j, k = Tasa de rentabilidad de la sucursal i, para el proyecto j durante el periodo
k.
RESTRICCIN DE USO MXIMO DE PRESUPUESTO POR PERIODO POR
SUCURSAL.
3
X i, j, k + Sobrante
j =1
i, k
= Mximo
i, k
i, k
= Mximo i, k
k 2, 3 (Periodo)
i 1, 2, 3 (Sucursal)
RESTRICCIN DE INVERSIN MNIMA PARA ALGUNOS PROYECTOS
ESPECFICOS.
X i , j ,k Mnimo i , j ,k
3
3
X i , j ,k Presupuesto Total
I=1
j=1
k =1
MODEL PRESUPUESTOS:
! MODELO DE ASIGNACION DE PRESUPUESTO;
SETS:
SUCURSAL /TRUJILLO,LIMA,TACNA/:;
PROYECTO /1..3/: ;
PERIODO /1..3/: ;
SUCURSAL_PERIODO (SUCURSAL,PERIODO) : SOBRANTE, MAXIMO;
SUCURSAL_PROYECTO_PERIODO (SUCURSAL,PROYECTO,PERIODO):TASA,
INVMAXIMA, ASIGNACION;
INVERSION_MINIMA (SUCURSAL,PROYECTO,PERIODO)/TRUJILLO 2 1, LIMA 1 1, TACNA 2
2 /: MINIMO;
ENDSETS
DATA:
TASA,INVMAXIMA,MINIMO,PRESUPUESTO,INVMINIMA= @OLE('G:\VII
CICLO\OPE\LABO\DATA2.xlsx','tasa','INV_MAX','mnima','presupuesto','inv_mnima'
);
MAXIMO =
20,
20,
20,
20,
20,
20,
20,
20,
20;
ENDDATA
! Funcion Objetivo;
MAX = FO;
FO=@SUM(SUCURSAL_PROYECTO_PERIODO: TASA * ASIGNACION );
! Restriccion de uso maximo de presupuesto por periodo por sucursal ;
@FOR(PERIODO(K) | K #EQ#
1:@FOR( SUCURSAL(I):@SUM( PROYECTO(J) :ASIGNACION(I,J,K) ) + SOBRANTE(I,K) =
MAXIMO(I,K) ));
@FOR(PERIODO(K) | K #NE# 1:@FOR( SUCURSAL(I):@SUM( PROYECTO(J)
:ASIGNACION(I,J,K) ) - SOBRANTE(I,K-1)+ SOBRANTE(I,K) = MAXIMO(I,K) ));
! Restriccion de inversion minima para algunos proyectos especificos ;
@FOR(INVERSION_MINIMA(I,J,K): ASIGNACION(I,J,K) >= MINIMO(I,J,K));
! Restriccion de inversion maxima por proyecto en cada sucursal ;
@FOR(SUCURSAL_PROYECTO_PERIODO(I,J,K): ASIGNACION(I,J,K)
<=
INVMAXIMA(I,J,K) );
@FOR(SUCURSAL_PROYECTO_PERIODO(I,J,K)|TASA(I,J,K)#GT#0.07: ASIGNACION(I,J,K)>=
INVMINIMA);
! Restriccion de prespuesto disponible;
@SUM( SUCURSAL_PROYECTO_PERIODO(I,J,K): ASIGNACION(I,J,K)) <=
PRESUPUESTO ;
DATA:
@OLE('J:\OPE\LABO\DATA2.xlsx','FO','SOBRANTE','ASIGNACION' )
=FO,SOBRANTE,ASIGNACION;
ENDDATA
END
B. PROGRAMA EN LINGO
REPORTE DE LA SOLUCIN EXPORTANDO DATOS A EXCEL :
15.24
millones
PROYECTO 1
2
TRUJILLO
10
LIMA
TACNA
PROYECTO 2
2
TRUJILLO
LIMA
10
10
TACNA
10
11
PROYECTO 3
TRUJILLO
LIMA
TACNA
En estos 3 ltimos cuadros podemos ver las cantidades en millones asignadas para
cada proyecto en una determinada sucursal y ao. Estas cantidades cumplen con
todas las condiciones establecidas.
b) Modelo de Asignacion de Proyecto
Una compaa dispone de 35 millones para distribuirlos el prximo ao entre sus
sucursales (Arequipa, Cuzco, Trujillo). Debido a compromisos de la estabilidad, el nivel
de empleados y por otras razones la compaa ha establecido un nivel mnimo de
asignacin de fondos para cada sucursal. Estos fondos mnimos son de 8, 10 y 15
millones de dlares respectivamente. Debido a la naturaleza de su operacin, la
sucursal Cuzco no puede utilizar ms de 20 millones de dlares. Cada sucursal tiene
la oportunidad de dirigir distintos proyectos con los fondos que recibe. Para cada
proyecto se ha establecido una tasa de ganancia (como un porcentaje de la inversin).
Por otra parte, algunos de los proyectos permiten solo una inversin limitada. A
continuacin se dan los datos para cada proyecto.
Sucursal
Proyecto
Tasa de
Utilidad(%)
Inversin
Mxima
10
2
3
1
2
3
1
2
3
6
7
5
8
9
10
6
15
5
9
7
10
4
6
12
6
Arequipa
Cuzco
Trujillo
Solucin:
Dada la informacin del problema, lo que se debe hacer es maximizar las utilidades de
la compaa en mencin, asignando de la mejor manera los fondos a sus respectivas
sucursales.
1) DEFINICIN DE VARIABLES:
Xij: Cantidad asignada a la sucursal i para el proyecto j
(Siendo: i=1, 2, 3; 1: Arequipa, 2: Cuzco, 3: Trujillo) (j=1, 2, 3)
Definicin de parmetros:
Mnimo: Nivel mnimo de asignacin de fondos para la sucursal i (i=1,2,3)
Mximo: Nivel mximo de asignacin de fondos para la sucursal i (i=1,2,3)
Inv.Maximaij: Inversin mxima en la sucursal i para el proyecto j.
(Siendo: i=1, 2, 3 y j=1, 2, 3)
PresupuestoTotal: Presupuesto total disponible.
Tasaij: Tasa de rentabilidad del proyecto j en sucursal i.
(Siendo: i=1, 2, 3 y j=1, 2, 3)
1) FUNCIN OBJETIVO:
Max Z = Tasa11*X11 +Tasa12*X12+ Tasa 13*X13 + Tasa 21 *X21 + Tasa 22 *X22 + Tasa 23
*X23 + Tasa 31 *X31 + Tasa 32 *X32 + Tasa 33*X 33
2) RESTRICCIONES:
3.1 RESTRICCIN DE USO MNIMO DE PRESUPUESTO POR SUSCURSAL
Arequipa: X11 +X12 +X13 Minimo1
Cuzco: X21 +X22 +X23 Minimo2
Trujillo: X31 +X32 +X33 Minimo3
3.2 RESTRICCIN DE USO MXIMO DE PRESUPESTO POR SUCURSAL
Cuzco: X21 +X22 +X23 Mximo2
3.3 RESTRICCIN DE INVERSIN MXIMA POR PROYECTO EN CADA
SUCURSAL
Arequipa:
X11 InvMaxima11
X12 InvMaxima12
X13 InvMaxima13
Cuzco:
X21 InvMaxima21
X22 InvMaxima22
X23 InvMaxima23
Trujillo:
X31 InvMaxima31
X32 InvMaxima32
X33 InvMaxima33
3.4 RESTRICCION DE PRESUPUESTO DISPONOBLE
X11 +X12 +X13 +X21 +X22 +X23+ X31 +X32 +X33 PresupuestoTotal
PROGRAMACIN EN LINGO
De los resultados del reporte, en la parte superior se nota que la funcin objetivo se
optimiza cuando la rentabilidad es mxima, es decir, cuando toma el valor de 3.32
millones de dlares.
El resultado tambin nos da la asignacin total de los recursos financieros, en el
atributo ASIGNACIN. El valor de ASIGNACION (Arequipa, 1), por ejemplo es 8. Esto
Se activa la opcin que permite mostrar slo los valores distintos de cero para que
LINGO slo muestre los valores de la variable ASIGNACION distintos de cero, as:
Y en este ltimo cuadro se puede ver la forma cmo tienen que ser repartidos los
fondos a las diversas sucursales de la compaa para alcanzar una mxima utilidad. A
la sucursal de Arequipa se le asigna 8 millones para invertir en el proyecto 1, a la
sucursal del Cuzco 8 millones para el proyecto 2 y 4 millones para el proyecto 3 y
finalmente para la sucursal de Trujillo 1 milln para el proyecto 1, 3 millones para el
proyecto 2 y 6 millones para el proyecto 3.
Tacna
Cuzco
Supermercado
Librera
Supermercado
Librera
Producto Producto Producto Producto Producto Producto Producto Producto Producto Producto Producto Producto
1
2
3
1
2
3
1
2
3
1
2
3
Fbrica
A
Fbrica
B
Fbrica
C
12
15
17
11
12
15
14
12
13
15
13
12
10
13
14
12
14
16
13
14
15
11
12
13
12
11
13
10
11
13
11
13
14
12
13
14
La corporacin busca maximizar sus ventas y saber cmo va a distribuir sus productos
tomando en cuenta la capacidad de produccin de las fbricas, la demanda de las
ciudades y la capacidad de los centros de distribucin.
Capacidad de Produccin:
Fbrica A
Fbrica B
Fbrica C
Producto 1
75
65
70
Producto 2
60
70
80
Producto 3
65
75
75
Demanda:
Tacna
Cuzco
Producto 1
73
67
Producto 2
58
72
Producto 3
67
74
Cuzco
Supermercado
150
140
Librera
130
150
Solucin:
Xijkl: cantidad de productos elaborados en la fbrica i, que corresponde al tipo j,
distribuido en k, en la ciudad l
Donde:
Tipo de fbrica: i= A, B, C
Tipo de producto: j= P1, P2, P3
Tipo de centro de distribucin: k=supermercado (S), librera (L)
Ciudades: l=Tacna (T), Cuzco (Cz)
Funcin objetivo:
Sujeto a:
Capacidad de produccin:
Demanda:
!Tipo
de fbrica: i= A, B, C ;
!Tipo
!Ciudades:
75 60 65,
65 70 75,
70 80 75;
DEMANDA=
73 67,
58 72,
67 74;
CAPACIDAD2= 150 140,
130 150;
PRECIO=
12 15 17 11 12 15 14 12 13 15 13 12,
10 13 14 12 14 16 13 14 15 11 12 13,
12 11 13 10 11 13 11 13 14 12 13 14;
ENDDATA
MAX=@SUM(FPCC:PRECIO*X);!FUNCION OBEJTIVO RESULTADO;
@FOR(FABPRO(I,J):@SUM(FPCC(I,J,K,L):X(I,J,K,L))<=CAPACIDAD(I,J));
!RESTRICCIONES DE LA CAPACIDAD DE CADA RECURSO;
@FOR(PROCIU(J,L):@SUM(FPCC(I,J,K,L):X(I,J,K,L))>=DEMANDA(J,L));
!RESTRICCIONES DE LA DEMANDA DE CADA RECURSO;
@FOR(CENCIUDAD(K,L):@SUM(FPCC(I,J,K,L):X(I,J,K,L))<=CAPACIDAD2(K,L));
!RESTRICCIONES DE KA CAPACIDAD DE CADA RECURSO;
END
2)
RESULTADOS
S,
S,
L,
L,
T)
C)
T)
C)
Value
3.000000
0.000000
72.00000
0.000000
Reduced Cost
0.000000
0.000000
0.000000
3.000000
Holgura o Excedente
Vemos que si la restriccin es exacta satisfecha como una igualdad, la holgura o
excedente valdr cero y como no hay ningn nmero negativo en nuestro reporte
diremos que ninguna restriccin es violada.
Precio Dual
El precio dual se puede interpretar como el monto en que la funcin objetivo mejorar
si el segundo miembro de la restriccin se incrementase en una unidad en nuestro
cuadro de resultados podemos ver que Row 2 =4 esto quiere decir que si al recurso de
la segunda restriccin le aumentamos en 4 unidades, es decir 60+4=64 el nuevo valor
de nuestra FO= 2864, aumentar en 4 unidades.
CONCLUSIONES
Primero podemos decir que una variable en la solucin ptima automticamente tiene
un costo reducido de 0.
En la interpretacin del costo reducido podemos ver que si la variable tiene un costo
reducido de a el coeficiente objetivo de esta variable deber incrementarse en a
unidades en un problema de maximizacin o disminuirse en a unidades en un
problema de minimizacin para convertirse en una alternativa atractiva.
En nuestro ejerci podemos ver que ninguna restriccin es violada ya que en el
anlisis de Holgura y Excedente no hay ninguna variable negativa.
EL PROBLEMA EN LINGO EXPORTANDO DATOS EN EXCEL
Los pasos que se sigue para crear una base de datos en EXCEL son:
Crear una carpeta en C, por ejemplo: TRABAJO DE OPE I
Crear un hoja de clculo denominado PROBLEMA 1
Luego en la hoja de clculo poner los datos del problema:
2.
Luego aparecer una nueva ventana donde colocaremos el nombre de la
matriz luego la hoja, el rango de la matriz y por ltimo hacer click en aceptar.
!Tipo
de fbrica: i= A, B, C ;
!Tipo
!Ciudades:
FO
CUZCO
SUPERMERCADO
LIBRERA
P1
P2
P3
P1
P2
P3
75
55
65
64
67
75
77
66
8260
12. PROBLEMA 1 EN LINGO EXPORTANDO DATOS EN ACCESS
En la carpeta donde se instalo LINGO, se incluy una base de datos Microsoft
Access para el modelo de Programacin Lineal con cuatro variables.
Para instalar la base de datos PROBLE.MDB como una fuente de datos, haga lo
siguiente:
1. Haga clic en el botn Agregar en el cuadro de dilogo Administrador de datos
ODBC para mostrar el cuadro de dilogo a continuacin:
!PROBLEMA LINGO;
MODEL:
SETS:
FABRICAS / A B C/:; !Tipo
PRODUCTOS /P1 P2 P3/:;
CENTRO /S L/:;
CIUDAD /T C/:;
!Tipo
de fbrica: i= A, B, C ;
!Tipo
!Ciudades:
CONCLUSIONES
Se ha presentado una prctica de optimizacin empleando LINGO. La
experiencia docente derivada de su utilizacin ha puesto de manifiesto la
idoneidad del empleo de dicha herramienta. En particular, su aplicacin en la
resolucin de problemas relacionados con el campo empresarial ha permitido
facilitar su asimilacin por el alumnado, alcanzando un mejor nivel de
comprensin y un buen grado de satisfaccin por su parte.
Las herramientas matemticas como LINGO permiten que alumnos con unos
conocimientos elementales en optimizacin puedan resolver una amplia gama
de problemas. En aquellas titulaciones en las cuales las matemticas no son el
fin en s mismas y se reducen a una herramienta de trabajo, resulta de mayor
inters la formulacin de los problemas, la interpretacin y el anlisis de las
soluciones, en detrimento del mtodo empleado en la obtencin de dicha
solucin.
En los problemas estudiados se ha hecho una simplificacin importante que
debe puntualizarse. En el problema sin restricciones de capacidad se conoce el
coste de transporte por unidad entre las plantas y los almacenes. En general,
este coste puede venir dado en funcin de la distancia recorrida a lo largo de
cierta red que represente las comunicaciones entre ciudades. En tal caso, habra
que resolver en primer lugar el problema de las distancias mnimas en la red de
transporte y agregar los costes a lo largo del camino mnimo. En el problema con
capacidad, se conoce c y r para cada par origen-destino, aunque en general
sobre una red de transporte habra que tener en cuenta estos parmetros a lo
largo de todas las aristas que pertenecen al camino mnimo.
REFERENCIAS