Universidad Nacional Experimental Politécnica Antonio José de Sucre Vicerectorado Barquisimeto. Dirección de Investigación y Postgrado
Ejercicios. Métodos de Optimización (II-51053). Prof: Victor Bernal
1. Pedro Pedro Pérez fabrica fabrica cable eléctrico de alta calidad usando dos tipos de aleaciones metálicas, A y B. La aleación A contiene un 80% de cobre y un 20% de aluminio, mientras que la B incluye un 68% de cobre y un 32% de aluminio. La aleación A tiene un precio de 80 euros por tonelada, y la B, 60 euros por tonelada. ¿Cuáles son las cantidades que Pedro Pérez Pérez debe usar de cada aleación para producir una tonelada de cable que contenga a lo mas un 25 % de aluminio y cuyo costo de producción sea el menor posible? Solución: Las variables de decisión son las cantidades x1 ,
x2 de las aleaciones ale aciones A y B, respectivamente. respectivamente. La función objetivo es el costo 80 x 80 x1 + 60 x 60 x2 . Las restricciones son x1 + x2 = 1 pues se elabora una x2 ≤ 0.25 por el máximo porcentaje de aluminio que debe contener. El código tonelada y 0.2 x 0.2 x1 + 0.32 0.32 x para el programa LINGO es entonces:
La solución proporcionada es:
PROF. VICTOR BERNAL
I–2013
Ejercicios. Pág. 1 de 14
2. Tres empleados deben realizar seis tareas distintas. El empleado i puede hacer ai j partes de la tarea j en una hora y se le paga c i j por hora. El número total de horas de trabajo para el empleado i es b 1i y el número de partes que requiere la tarea j es b 2 j . Se desea determinar el plan de trabajo que da lugar a un costo mínimo C =
3 6
c i j xi j
i =1 j =1
donde xi j representa el número de horas empleadas en la tarea j por el empleado i. Plantear este problema como uno de programación lineal. Solución:
La función objetivo está ya definida en el problema junto con las variables de decisión xi j .
Ahora se plantean las restricciones, para cada empleado i, i = 1,2, 3 y cada trabajo j , j = 1,2,3,4,5,6: 6
xi j = b 1i ,
3
i = 1,2,3.
j =1
ai j xi j = b 2 j ,
j = 1,2,3,4,5,6.
i =1
La primera por las horas disponibles y la segunda por la cantidad de partes que requiere cada tarea. 3. Una compañía de fabricación de muebles necesita determinar cuántas mesas, sillas, pupitres y bibliotecas debe hacer para optimizar el uso de sus recursos. Estos productos utilizan dos tipos diferentes de paneles, y la compañía dispone de 1500 tableros de un tipo y 1000 de otro tipo. Por otro lado cuenta con 800 horas de mano de obra. Las predicciones de venta así como los pedidos atrasados exigen la fabricación de al menos 40 mesas, 130 sillas, 30 pupitres y como máximo 10 bibliotecas. Cada mesa, silla, pupitre y biblioteca necesita 5, 1, 9, y 12 tableros, respectivamente, del primer tipo de panel y 2, 3, 4, y 1 tableros del segundo. Una mesa requiere 3 horas de trabajo; una silla, 2; un pupitre, 5; y una biblioteca 10. La compañía obtiene un beneficio de 12 dólares en cada mesa, 5 dólares en cada silla, 15 dólares en un pupitre, y 10 dólares en una biblioteca. Plantear el modelo de programación lineal para maximizar los beneficios totales. Modificar el problema si ahora deben fabricarse cuatro sillas por cada mesa. Solución:
Las variables de decisión son las cantidades de mesas, x1 , de sillas, x2 , de pupitres, x3 y de bibliotecas, x4 . La función objetivo, que expresa el total de beneficios, es, z = 12 x1 + 5 x2 + 15 x3 + 10 x4 Las restricciones se deben a la disponibilidad de tableros y horas de trabajo, junto con los pedidos actuales y los atrasados. 5 x1 + x2 + 9 x3 + 12 x4 ≤ 1500 2 x1 + 3 x2 + 4 x3 + x4 ≤ 1000 3 x1 + 2 x2 + 5 x3 + 10 x4 ≤ 800 x1 ≥ 40, x2 ≥ 130, x3 ≥ 30, x4 ≤ 10. La formulación en el programa LINGO es, PROF. VICTOR BERNAL
I–2013
Ejercicios. Pág. 2 de 14
La solución dada por el programa LINGO es,
4. Una empresa que produce un cierto producto P consta de dos plantas. Cada planta produce 90 toneladas de P al mes, y el producto se distribuye en tres mercados distintos. La tabla muestra los precios unitarios del envío de una tonelada de P desde cada planta a cada mercado. La empresa desea enviar el mismo número de toneladas a cada mercado y minimizar el costo total. Formular el problema como uno de programación lineal. Plantas Planta1 Planta2
Mercado1 1 2
Mercado2 3 5
Mercado3 5 4
Solución:
El problema anterior sigue el modelo del problema de transporte, la formulación en LINGO se puede tomar como guía para formular otros similares.
PROF. VICTOR BERNAL
I–2013
Ejercicios. Pág. 3 de 14
La solución da un costo mínimo de 510, y valores de las variables,
5. Un productor de electricidad tiene que planificar la producción en cada hora para maximizar los beneficios vendiendo la energía en un horizonte temporal que abarca un número de horas dado. El productor no genera energía antes de dicho periodo. Los precios de la energía en cada hora pueden PROF. VICTOR BERNAL
I–2013
Ejercicios. Pág. 4 de 14
predecirse con garantías y se consideran conocidos. La energía mínima que el productor puede generar en cada hora es cero y el máximo es una cantidad fija. La diferencia de producción en horas consecutivas no puede exceder un determinado límite. El costo de generación de energía es lineal. Formular este problema como uno de programación lineal. Solución:
Si se tiene un horizonte de n horas para la producción. Las variables de decisión son las cantidades e i , i = 1,..., n producidas en cada hora, y el costo unitario c i en cada hora, produce un costo total c i e i para cada hora, por la linealidad. Igualmente, M es el máximo de energía permitido. Las restricciones se deben al máximo permitido y la máxima diferencia L entre horas consecutivas. La función objetivo es
n
c i e i y las restricciones,
i =1
0 ≤ e i
≤ M ,
i = 1,..., n
− L ≤ e i +1 − e i ≤ L,
i = 1,... n − 1
6. Suponga que hay m refinerías y que la refinería i tiene capacidad para proporcionar ai litros de gasolina. Hay n ciudades que requieren de tal combustible y la demanda en la ciudad j es de b j litros. Si f i j la fracción de litro de combustible que se dedica al transporte cuando 1 litro de gasolina va desde la refinería i a la ciudad j en un transporte. Encontrar una forma factible de despachar el combustible de tal forma que la cantidad consumida por los transportes sea la menor posible. Solución:
Las variables de decisión xi j son la cantidad de litros enviados desde la refinería i hasta la ciudad j , i = 1,..., m, j = 1,... n. Las restricciones se deben a las capacidades ai de las refinerías y las demandas d i de las ciudades. El planteamiento puede ser entonces, m´ın z =
m n
xi j f i j
i =1 j =1
Sujeto a:
m
xi j ≤ ai ,
i = 1,..., m
j =1 n
xi j ≥ b j ,
j = 1,..., n
i =1
7. Dos pozos petroleros, A y B , producen, cada uno, 10000 barriles diarios que se quieren vender en su totalidad. Dos compañías, C y D ofrecen comprar, de acuerdo con la tabla siguiente: Oferente C D
Pozo A B A B
Máximo deseado 10000 10000 10000 10000
Bono por barril $ 0.10 $ 0.09 $ 0.20 $ 0.15
El bono es una cantidad que la compañía accede a pagar sobre el precio base mínimo anunciado, por barril. Las regulaciones gubernamentales prohíben vender más de 15000 barriles diarios de estos PROF. VICTOR BERNAL
I–2013
Ejercicios. Pág. 5 de 14
dos pozos a un sólo comprador. Se requiere determinar la cantidad de crudo que se debe vender a cada una de las compañías C y D de cada uno de los pozos, A y B de tal manera que la cantidad obtenida por los bonos sea máxima sujeto a las restricciones dadas. Formular este problema como uno de programación lineal. Solución:
Las variables de decisión son las cantidades vendidas a cada compañía, de cada pozo. Se notan xC A, xC B , x DA, x DB , las restricciones se deben a la capacidad de los pozos y las restricciones gubernamentales, el planteamiento del problema es, m´ax z = 0.10 xC A + 0.09 xC B + 0.20 x DA + 0.15 x DB Sujeto a: Capacidades de los pozos xC A + x DA ≤ 10000 xC B + x DB ≤ 10000 Regulaciones gubernamentales xC A + xC B ≤ 15000 x DA + x DB ≤ 15000 xC A, xC B , x DA, x DB ≥ 0. La formulación en LINGO es,
La solución obtenida, un máximo de 3200, es,
PROF. VICTOR BERNAL
I–2013
Ejercicios. Pág. 6 de 14
8. Se desea obtener la mezcla de petróleo a partir de crudos de distinta procedencia, cada uno de los cuales tienen distintas características. En la tabla adjunta se detallan los distintos crudos - cuatro en total - y sus características más importantes: el tanto por ciento de azufre, la densidad y el precio por Tm. medido en dólares. Origen 1–Kuwait 2–Arabia 3–Noruega 4–Venezuela
% Azufre 0.45 0.40 0.38 0.41
Densidad 0.91 0.95 0.89 0.92
Precio($) 806 714 898 783
Se exige a la mezcla que tenga unas características concretas, que se traducen en un porcentaje del 0.40% de contenido de azufre y una densidad igual a 0.91. Se desea que el precio de la mezcla sea mínimo. Solución: Las variables de decisión son las proporciones xi
de los crudos que intervienen en la mezcla, de cada uno de los disponibles. La función objetivo es el costo de una unidad de mezcla. Las restricciones se refieren al porcentaje de azufre y la densidad. Su formulación en el programa LPSOLVE es entonces,
La solución es un mínimo de 821.33333, de acuerdo con el reporte del programa LPSOLVE.
El resultado se puede interpretar como un costo mínimo unitario de $821 13 con una mezcla de crudo de Noruega y 23 de crudo de Venezuela. PROF. VICTOR BERNAL
I–2013
1 3
de
Ejercicios. Pág. 7 de 14
9. En un centro de nutrición se desea obtener la dieta de costo mínimocon unos determinados requisitos vitamínicos, para un grupo de niños que van a asistir a campamentos de verano. El especialista estima que la dieta debe contener entre 26 y 32 unidades de vitamina A, al menos 25 unidades de vitamina B y 30 de C, y a lo sumo 14 de vitamina D. La tabla nos da el número de unidades de las distintas vitaminas por unidad de alimento consumido para seis alimentos elegidos, denominados 1, 2, 3, 4, 5 y 6, así como su costo por unidad.
Alimentos 1 2 3 4 5 6
Vitaminas A B C 1 1 0 1 2 1 0 1 2 3 1 0 2 1 2 1 0 2
Costo por unidad D 1 0 0 1 0 1
10 14 12 18 20 16
Se desea construir un modelo de programación lineal para conocer la cantidad de cada alimento que se debe preparar de manera que satisfaga los requisitos propuestos con costo mínimo. Solución:
El problema es una variación del problema de la dieta, es por esto que lo formulamos directamente en el programa LPSOLVE como sigue,
Cuya solución es,
PROF. VICTOR BERNAL
I–2013
Ejercicios. Pág. 8 de 14
10. Los materiales tales como papel, textiles, celofán, vidrio y papel de aluminio se fabrican en rollos o láminas de gran anchura. Estos rollos, llamados primarios, se cortan luego en rollos, llamados finales, de menor anchura. Cada fabricante produce rollos primarios en cier tos anchos estándar, las anchuras de los finales son especificadas por los diferentes clientes y pueden variar ampliamente. El corte se realiza en las máquinas por cuchillas que cortan a través de los rodillos de la misma manera como un cuchillo hace rebanadas de pan. Por ejemplo, un rollo primario de 100cm de ancho se puede cortar en dos finales de 31cm y uno de 36cm, con 2cm sobrantes. Cuando llegan pedidos muy variados, la maneramás económica de reducir los primarios existentes a finales casi nunca es evidente.El problema de encontrar tal manera se conoce como problema del corte (cutting–stock problem). Por ejemplo, una industria que fabrica papel y lo distribuye en rollos debe determinar la mejor forma de realizar el proceso de corte. Los rollos de papel que se producen tienen un ancho de 100cm y un largo fijo. Los clientes demandan rollos de 30cm, 45cm y 50cm de ancho. Al cortar los rollos de 100cm se puede incurrir en pérdida de material. Se tiene un pedido de 800 rollos de 30cm de ancho, 500 rollos de 45cm y 1000 rollos de 50cm. Se desea determinar la forma de efectuar el corte de manera que se satisfaga la demanda y se minimice la pérdida total de material. Solución: Existen 6 alternativas diferentes de corte de un rollo de 100cm de
ancho que tienen sentido,
en este caso, y se pueden resumir en la siguiente tabla:
Esquema 1 2 3 4 5 6
Rollos de ancho 30 45 50 3 1 1 2 1 1 2 1 1
Pérdida 10 25 10 5 0 20
De esta manera, las variables de decisión xi son las cantidades de rollos cortados bajo el esquema i, i = 1,..6. Por lo tanto, la función objetivo, que mide las pérdidas totales, es, m´ın z = 10 x1 + 25 x2 + 10 x3 + 5 x4 + 20 x6 . Las restricciones son el resultado de la demanda, Rollos de 30: 3 x1 + x2 + x6 = 800 Rollos de 45: x2 + 2 x3 + x4 = 500 Rollos de 50: x4 + 2 x5 + x6 = 1000 PROF. VICTOR BERNAL
I–2013
Ejercicios. Pág. 9 de 14
El siguiente es el código para resolver el problema con LPSOLVE.
La solución es,
El valor de x1 es fraccionario. Si se agrega la restricción opcional de que las variables sean enteras se obtiene,
Ahora los valores son enteros y las pérdidas, 5200, son menores, pero el esfuerzo computacional es mayor. En general se acepta la solución con valores fraccionarios como una buena aproximación a los valores enteros óptimos. PROF. VICTOR BERNAL
I–2013
Ejercicios. Pág. 10 de 14
Los problemas más frecuentes en la industria del papel pueden implicar gran cantidad de variables. Por ejemplo, si los rollos primarios son 200cm de ancho y si los finales se ordenan en 40 longitudes diferentes que van desde 20cm a 80cm, entonces el número de patrones diferentes puede superar fácilmente los 10 o incluso 100 millones. La cantidad de tiempo y espacio requerido sólo para generar estos patrones (por no hablar de la posterior solución del problema) pueden ser imposibles de obtener. Una ingeniosa manera de resolver esta dificultad fue descubierta por P. C. Gilmore y R. E. Gomory (1961). El truco, en definitiva, es trabajar con sólo unos pocos modelos a la vez y generar nuevos patrones sólo cuando sean realmente necesarios. 11. Considere una situación recurrente en la que los empleados tienen que ser asignados a diversos turnos. El número de empleados que deban estar en el trabajo varía a lo largo del día en una variedad de segmentos de tiempo. Por ejemplo, una ruta de autobús requerirá servicio importante durante la madrugada y las horas pico de la tarde, mientras que no habrá mucho servicio durante la hora del almuerzo o por la noche. Existen requisitos similares para las enfermeras, los pilotos, los cajeros en supermercados, y escenarios similares. La dificultad de este problema es que, en general, no se puede contratarmano de obra ocasional cuando sea necesaria y por lo tanto se deben contratar empleados permanentes. Así, el objetivo del problema es utilizar el menor número de empleados y todavía ser capaz de dotar de personal la(s) posición(es) durante todo el día. En nuestro ejemplo numérico, supongamos que un turno normal es de 8 horas y se supone que hay segmentos de 4 horas durante los que se han observado los requisitos de personal. Las necesidades de personal durante los intervalos de tiempo de 4 horas se muestran en la Tabla, usando un reloj de 24 horas.
Turno Empleados
Tabla de requerimientos de personal (4 horas) 06:00–10:00 10:00–14:00 14:00–18:00 18:00–22:00 17 9 19 12
22:00–02:00 5
02:00–06:00 8
Supongamos que los turnos pueden empezar cada 4 horas, a las 6am, las 10am, y así sucesivamente. Las variables de decisión son entonces el número de empleados a contratar en cada uno de estos puntos en el tiempo. Esto significa que podemos definir las variables x06 , x10 , x14 , x18 , x22 y x02 como el número de empleados que comienzan su jornada a la s 6am 10am, 2pm y así sucesivamente. El número total de trabajadores requerido corresponde a la suma de todas estas variables. En cuanto a las restricciones, se debe pedir que un número suficiente de empleados esté presente durante cada intervalo de tiempo. Por ejemplo, en el intervalo de tiempo entre las 14:00 y y las 18:00 se necesitan al menos 19 empleados, los que trabajan durante este intervalo de tiempo son aquellos cuyo turno comienza a las 10:00 más los que empiezan a trabajar a las 14:00, esto significa que durante este intervalo de tiempo van a trabajar x10 + x14 empleados, una cifra que debe ser por lo menos 19. Restricciones similares tienen que ser formulada para todos los seis rangos de tiempo. La formulación se puede escribir de la
PROF. VICTOR BERNAL
I–2013
Ejercicios. Pág. 11 de 14
siguiente manera, pasando por alto que las variables sean enteras, por razones de simplicidad. m´ın z = x06 + x10 + x14 + x18 + x22 + x02 s.a. x06 + x02 ≥ 17 x06 + x10 ≥ 9 x10 + x14 ≥ 19 x14 + x18 ≥ 12 x18 + x22 ≥ 5 x22 + x02 ≥ 8 x06 , x10 , x14 , x18 , x22 , x02 ≥ 0
La formulación en LPSOLVE es como sigue:
La solución da un valor de 41 empleados y los turnos son,
PROF. VICTOR BERNAL
I–2013
Ejercicios. Pág. 12 de 14
Hay que tener en cuenta que esta solución tiene el número exacto de empleados requeridos durante todas las franjas horarias, excepto en el rango 10:00–14:00, donde sólo se necesitan 9 empleados, mientras que están disponibles 21 empleados. En otras palabras, hay 12 empleados ociosos de las 10am a las 2pm. En una variación del modelo anterior, se supone que ahora es posible iniciar los turnos cada 2 horas en vez de cada 4 horas. Del mismo modo, los requisitos de tiempo son conocidos por cada 2 horas en lugar de cada 4 horas durante todo el día. Por ejemplo, los 17 empleados que en el problema anterior se necesitaban de 6am a 10am ahora sólo se necesitan de 6am a 8am, mientras que de 8am a 10am sólo se requieren 11 empleados. Las necesidades de personal durante los intervalos de tiempo de 2 horas se muestran en la siguiente tabla,
Turno Empleados Turno Empleados
Tabla de requerimientos de personal (2 horas) 06:00 - 08:00 08:00 -10:00 10:00 - 12:00 12:00 - 14:00 17 11 9 7 18:00 - 20:00 20:00 - 22:00 22:00 - 00:00 00:00 -02:00 12 8 5 3
14:00 - 16:00 13 02:00 - 04:00 3
16:00 - 18:00 19 04:00 -06:00 8
Su formulación en LPSOLVE es,
PROF. VICTOR BERNAL
I–2013
Ejercicios. Pág. 13 de 14
La solución óptima es de 36 empleados y los turnos son,
Se destaca el 12% de ahorro en el número de empleados que deben contratarse. En general, no es de extrañar que rangos más finos proporcionen una solución que es al menos tan buena como la que se obtiene con intervalos de tiempo de 4 horas. La razón es que la solución anterior todavía se puede implementar y además es una solución factible. Sin embargo, con las horas de inicio aumentadas se generan posibilidades adicionales que pueden permitir, y en este caso nos permiten, encontrar una mejor solución.
PROF. VICTOR BERNAL
I–2013
Ejercicios. Pág. 14 de 14