Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Ejercicios resueltos Modelos y Optimización I Segundo cuatrimestre 2020 Ejercicios resueltos Índice Índice 1.1 5 1.2 10 1.3 16 1.6 20 2.1 25 2.2 30 2.3 37 2.5 42 2.7 46 2.10 50 2.16 58 2.17 65 2.23 72 2.33 78 3.3 84 3.4 90 3.6 99 3.7 108 3.9 118 3.13 123 3.16 130 Segundo cuatrimestre 2020 2 Ejercicios resueltos Índice 3.20 141 3.34 149 4.2 169 4.8 173 4.10 177 4.12 183 5.1 187 5.6 192 5.7 202 6.1 205 6.2 209 6.12 218 6.16 224 7.2 227 Coloquio 2019-12-19 232 Coloquio 2020-09-07 240 Coloquio 2020-09-14 246 Coloquio 2020-09-21 253 Coloquio 2020-10-05 260 Coloquio 2021-03-22 267 Extra del 6.2 275 Parcial 2020-07-11 278 Parcial 2020-08-01 284 Segundo cuatrimestre 2020 3 Ejercicios resueltos Índice Parcial 2020-08-27 290 Teórico-práctica 296 Segundo cuatrimestre 2020 4 Ejercicios resueltos 1.1 1.1 1. Enunciado Una pequeña empresa de productos químicos debe consumir más de 40 M3mes de un determinado alcohol, debido a que ha firmado un contrato con la municipalidad de la zona (este alcohol es producido allí mismo). En compensación recibe beneficios impositivos. Produce dos tipos de fertilizantes: A y B. En la tabla siguiente se da la información básica: Producto A Producto B Consumo de alcohol 3 M3unit 2 3 M3 unit Consumo de ciclohexano 1 tnunit 2 tn unit Disponibilidad de ciclohexano: 20 tn. por mes. Con estas restricciones, y sabiendo que la contribución marginal es 1200$/u para el producto A y 400$/u para el producto B, ¿cuál es el plan óptimo de producción? 2. Análisis de la situación problemática. Al tener dos productos diferentes para fabricar, se debe plantear cuántos de cada uno se debe producir considerando la restricción del alcohol mínimo a consumir y la disponibilidad de ciclohexano. 3. Objetivo Los productos tienen contribuciones por unidad y a su vez se sabe cuánto de alcohol y ciclohexano se necesita para producir una unidad de cada uno. No se considerarán los precios de alcohol y ciclohexano por no conocerlos. El objetivo será maximizar la ganancia: producir la cantidad máxima de productos A y B con la mayor ganancia asociada considerando las restricciones de material. 4. Hipótesis y supuestos • Se vende todo lo que se produce. • No se encuentran límites físicos de almacenamiento de los productos. Segundo cuatrimestre 2020 5 Ejercicios resueltos 1.1 • No hay fallas de producción. • No hay desperdicio al producir. • No hay restricciones de mano de obra. • No hay inflación ni variación de precios. 5. Definición de variables (con tipos y unidades) • A: La cantidad del producto A a producir por mes. • B: La cantidad del producto B a producir por mes. A partir de esto se conoce: • Ganancia por producto A: GA = A · 1200$ unit • Ganancia por producto B: GB = B · 400$ unit • Función a maximizar: G = GA +GB • Consumo de alcohol: Ca = 3M3 unit A+ 23 M3 unit B ≥ 40M 3 mes • Consumo de ciclohexano: Cc = 1tn unit A+ 2 tn unit B ≥ 20tn mes 6. Modelo de programación lineal • Nuestra función objetivo es: MAX 1200 A + 400 B • La restricción de alcohol: ALCOHOL)3 A + 2 B / 3 >= 40 • La restricción de ciclohexano: CICLOHEXANO)A + 2 B <= 20 7. Resolución gráfica Los ejes X e Y representan la cantidad de productos de A y B, respectivamente. Segundo cuatrimestre 2020 6 Ejercicios resueltos 1.1 8. Resolución por so�ware (modelo y resultados) • Modelo 1 MAX 1200 A + 400 B 2 ST 3 ALCOHOL) 3 A + 0.666 B >= 40 4 CICLOHEX) A + 2 B <= 20 5 END • Resultado 1 LP OPTIMUM FOUND AT STEP 1 2 3 OBJECTIVE FUNCTION VALUE 4 5 1) 24000.00 6 7 VARIABLE VALUE REDUCED COST 8 A 20.000000 0.000000 9 B 0.000000 2000.000000 10 11 12 ROW SLACK OR SURPLUS DUAL PRICES 13 ALCOHOL) 20.000000 0.000000 14 CICLOHEX) 0.000000 1200.000000 15 16 NO. ITERATIONS= 1 17 18 19 RANGES IN WHICH THE BASIS IS UNCHANGED: 20 21 OBJ COEFFICIENT RANGES 22 VARIABLE CURRENT ALLOWABLE ALLOWABLE Segundo cuatrimestre 2020 7 Ejercicios resueltos 1.1 23 COEF INCREASE DECREASE 24 A 1200.000000 INFINITY 1000.000000 25 B 400.000000 2000.000000 INFINITY 26 27 RIGHTHAND SIDE RANGES 28 ROW CURRENT ALLOWABLE ALLOWABLE 29 RHS INCREASE DECREASE 30 ALCOHOL 40.000000 20.000000 INFINITY 31 CICLOHEX 20.000000 INFINITY 6.666667 9. Informe de la solución óptima (recomendación al tomador de la decisión) Se tiene una cantidad limitada de ciclohexano y se requiere menos de este para producir del producto A que del producto B. Adicionalmente, la ganancia del producto A es mayor a la del producto B por lo que la solución óptima será fabricar solo del producto A, en particular 20 unidades del mismo Correcciones Calificación general: Bien + Análisis: Regular El anális que hacés es un resumen del enunciado. ¿Qué clase de problema es? También podrías usar un diagrama para ayudarte en el entendimiento del problema y la modelización. Objetivo: Regular El objetivo definido está bien encausado pero está incompleto. Un objetivo correcto y completo responde tres preguntas: ¿Qué determinar? ¿Para maximizar/minimizar qué cosa? ¿Durante cuánto tiempo? Cuidado también cuando decís “producir la cantidad máxima de A y B”, ya que no es lo mismo que “maximizar las ganancias”. Hipótesis: Bien Las hipótesis están muy bien, tienen sentido y ayudan a acotar el modelo. Las hipótesis de “certeza” están cubiertas. Podrías agregar alguna hipótesis de “proporcionalidad” (que el consumo de los recursos es directamente proporcional a la cantidad fabricada) y “divisibilidad” (se pueden producir cantidades arbitrariamente pequeñas de producto); en este ejercicio no aplican las hipótesis de “aditividad”. Variables: Excelente La identificación de las variables principales es correcta, y guarda coherencia con el objetivo que planteaste. También es positivo que hayas indicado las unidades. No es necesario indicar todas las varibles que no sean de decisión, sino únicamente las que utilices dentro del modelo Segundo cuatrimestre 2020 8 Ejercicios resueltos 1.1 matemático. Modelo: Excelente Las restricciones y la función objetivo son correctas. El funcional guarda coherencia con el objetivo definido. Las unidades cierran perfectamente. No hay restricciones redundantes. Las restricciones están claramente identificadas. Resolución gráfica: Muy Bien El poliedro de soluciones está bien graficado. La traza del funcional está graficada correctamente. Podrías indicar las coordenadas de los vértices del poliedro. El valor del óptimo es correcto. Podrías calcular analíticamente las coordenadas de los vértices del poliedro y el valor del funcional en ellos. Resolución por so�ware: Excelente La resolución es correcta, y están incluidos el modelo y la salida del so�ware. Informe solución: Bien - El informe es correcto: está redactado en términos del dominio del problema; deberías agregarle el valor del funcional en el óptimo. El informe podría incluir los sobrantes y recursos saturados. Presentación: Bien El documento entregado es claro, y las secciones están claramente separadas. A medida que los modelos vayan creciendo, podrías incluir también carátula, numeración de páginas, e índice. De paso, te va a servir también para las entregas del TP. Segundo cuatrimestre 2020 9 Ejercicios resueltos 1.2 1.2 1. Enunciado Hay tres máquinas disponibles para la producción de dos productos. Cada uno de ellos requiere los tiempos de proceso que se indican en la tabla siguiente (expresados en horas/unidad). Producto Máq. A Máq. B Máq. C X 2 3 4 Y 4 2 2 Disponibilidad (hr/mes) 80 60 100 El esquema del proceso productivo es el siguiente: - Ambos productos deben pasar sucesivamente por las tres máquinas (en el orden “A ⇒ B ⇒ C”) para quedar totalmente terminados. Una máquina puede procesar un solo producto por vez. - El precio de venta de X es de 60 $/u y el de Y es de 50 $/u. Se planea la operación para el mes que viene. ¿Cuál es el uso óptimo de estos recursos frente al objetivo de maximizar las ventas? 2. Análisis de la situación problemática. Se quiere optimizar el uso de las máquinascuya disponibilidad por mes se encuentra limitada. 3. Objetivo Al tener un límite de disponibilidad de máquina por mes para fabricar dos productos con precio de venta diferentes, se busca obtener la cantidad de productos X e Y por mes para fabricar, maximizando la ganancia. 4. Hipótesis y supuestos • Se vende todo lo que se produce. • No se encuentran límites físicos de almacenamiento de los productos. • No hay fallas de producción cuando un producto pasa por las tres máquinas. • No hay desperdicio al producir. • No hay restricciones de materiales de producción. • No hay inflación ni variación de precios. Segundo cuatrimestre 2020 10 Ejercicios resueltos 1.2 5. Definición de variables (con tipos y unidades) • X : La cantidad del producto X a producir por mes. • Y : La cantidad del producto Y a producir por mes. A partir de esto se conoce: • Ganancia por producto X: GX = X · 60$ unit • Ganancia por producto Y: GY = Y · 50$ unit • Función a maximizar: G = GX +GY • Uso de máquina A por mes: CA = 2hrs unit X + 4hrs unit Y ≤ 80hrs mes • Uso de máquina B por mes: CB = 3hrs unit X + 2hrs unit Y ≤ 60hrs mes • Uso de máquina C por mes: CC = 4hrs unit X + 2hrs unit Y ≤ 100hrs mes 6. Modelo de programación lineal • Nuestra función objetivo es: MAX 60 X + 50 Y • La restricción de la máquina A: MAQ_A)2 X + 4 Y <= 80 • La restricción de la máquina B: MAQ_B)3 X + 2 Y <= 60 • La restricción de la máquina C: MAQ_C)4 X + 2 Y <= 100 Segundo cuatrimestre 2020 11 Ejercicios resueltos 1.2 7. Resolución gráfica 8. Resolución por so�ware (modelo y resultados) • Modelo 1 MAX 60 X + 50 Y 2 ST 3 MAQ_A) 2 X + 4 Y <= 80 4 MAQ_B) 3 X + 2 Y <= 60 5 MAQ_C) 4 X + 2 Y <= 100 6 END • Resultado 1 LP OPTIMUM FOUND AT STEP 2 2 3 OBJECTIVE FUNCTION VALUE 4 5 1) 1350.000 6 7 VARIABLE VALUE REDUCED COST 8 X 10.000000 0.000000 9 Y 15.000000 0.000000 10 11 12 ROW SLACK OR SURPLUS DUAL PRICES 13 MAQ_A) 0.000000 3.750000 14 MAQ_B) 0.000000 17.500000 15 MAQ_C) 30.000000 0.000000 16 17 NO. ITERATIONS= 2 Segundo cuatrimestre 2020 12 Ejercicios resueltos 1.2 18 19 20 RANGES IN WHICH THE BASIS IS UNCHANGED: 21 22 OBJ COEFFICIENT RANGES 23 VARIABLE CURRENT ALLOWABLE ALLOWABLE 24 COEF INCREASE DECREASE 25 X 60.000000 15.000000 35.000000 26 Y 50.000000 70.000000 10.000000 27 28 RIGHTHAND SIDE RANGES 29 ROW CURRENT ALLOWABLE ALLOWABLE 30 RHS INCREASE DECREASE 31 MAQ_A 80.000000 40.000000 40.000000 32 MAQ_B 60.000000 20.000000 20.000000 33 MAQ_C 100.000000 INFINITY 30.000000 9. Informe de la solución óptima (recomendación al tomador de la decisión) Considerando el precio de venta y la disponibilidad de las máquinas, la mejor opción para maximizar la ganancia es producir 10 unidades del producto X y 15 unidades del producto Y, obteniendo así una ganancia de 1350$. ¿Es conveniente conseguir 20 horas/mes más de equipo B? Si. Observando el gráfico, el tiempo de la máquina B es una restricción limitante. Volviendo a correr el so�ware con el modelo considerando la nueva restricción MAQ_B)3 X + 2 Y <= 80 obtenemos que la nueva solución óptima es producir 20 de X, y 10 de Y para una ganancia de 1700$. 1 LP OPTIMUM FOUND AT STEP 1 2 3 OBJECTIVE FUNCTION VALUE 4 5 1) 240.0000 6 7 VARIABLE VALUE REDUCED COST 8 X 4.000000 0.000000 9 Y 0.000000 70.000000 10 11 12 ROW SLACK OR SURPLUS DUAL PRICES 13 MAQ_A) 0.000000 30.000000 14 MAQ_B) 68.000000 0.000000 15 MAQ_C) 84.000000 0.000000 16 17 NO. ITERATIONS= 1 18 19 20 RANGES IN WHICH THE BASIS IS UNCHANGED: 21 22 OBJ COEFFICIENT RANGES 23 VARIABLE CURRENT ALLOWABLE ALLOWABLE 24 COEF INCREASE DECREASE 25 X 60.000000 INFINITY 35.000000 26 Y 50.000000 70.000000 INFINITY 27 Segundo cuatrimestre 2020 13 Ejercicios resueltos 1.2 28 RIGHTHAND SIDE RANGES 29 ROW CURRENT ALLOWABLE ALLOWABLE 30 RHS INCREASE DECREASE 31 MAQ_A 8.000000 42.000000 8.000000 32 MAQ_B 80.000000 INFINITY 68.000000 33 MAQ_C 100.000000 INFINITY 84.000000 Correcciones Buenas tardes Javier, Te dejo mis impresiones sobre la entrega. Saludos, PC Calificación general: Bien Análisis: Regular Cuidado cuando decis “se quiere optimizar el uso de las máquinas”, en realidad no nos importa cuánto se usan las máquinas en este problema sino qué cantidad de cada producto se fabrica. Lo que buscamos en este apartado es que puedan abstraer las características salientes y distintivas del problema. En este caso se puede hablar de un problema con dos productos y tres máquinas. Podría incluirse un pequeño gráfico que muestre cómo es el proceso. Objetivo: Regular Como comentáramos en clase, lo que el modelo hace no es calcular el valor de una incógnita sino determinar los valores de las variables del problema. En este caso lo que se determina es la cantidad de producto 1 y 2 a fabricar (eso, a su vez determina el uso de los recursos, pero no es necesario aclararlo). Lo que el enunciado indica es que se desea maximizar las ventas (cantidad total de unidades vendidas), no las ganancias. Los productos son 1 y 2, no X e Y Hipótesis: Bien Las hipótesis son correctas se podrían agregar: + No se considera la secuencia entre máquinas (o se asume que se procesa todo en A, luego todo en B y finalmente todo en C y un mes alcanza para hacerlo). + No hay otras restricciones (financieras, mano de obra) + No hay restricciones de demanda sobre los productos + El consumo de los recursos es directamente proporcional a la cantidad fabricada + Se pueden producir cantidades arbitrariamente pequeñas de producto Variables: Bien La nomenclatura de los productos es incorrecta. Se deberían incluir las unidades de las variables [u/mes] No es necesario indicar las distintas variables calculables, basta con las 2 variables principales del problema. Modelo: Muy Bien El funcional es coherente con el objetivo indicado. Resolución gráfica: Muy Bien El gráfico es clarísimo, usando todas las herramientas del so�ware. Se marca la traza del funcional y el punto óptimo. Se podría agregar el valor del funcional en cada vértice del poliedro como método alternativo de resolución. Resolución por so�ware: Bien(+) Se incluye el fuente y la salida del so�ware. Segundo cuatrimestre 2020 14 Ejercicios resueltos 1.2 Informe solución: Bien(+) Se podría agregar algo que mencionás luego al analizar la pregunta adicional: el uso de los recursos. Pregunta adicional: Bien(-) Si bien es correcto el análisis preliminar que hacés respecto de que B es limitanteo, la idea de estas preguntas de análisis de sensibilidad no es volver a resolver el problema desde cero sino trabajar a partir de la solución óptima (en este caso, desplazando la recta en el gráfico). Veremos más herramientas para hacerlo en las prácticas 5 y 6. Presentación: Bien La presentación es correcta y no hay un exceso de archivos (está bien que el modelo esté aparte por si se quiere correr). A medida que los modelos vayan creciendo, podrías incluir también separación de secciones, numeración de páginas, carátula e índice. De paso, te va a servir también para las entregas del TP. Segundo cuatrimestre 2020 15 Ejercicios resueltos 1.3 1.3 1. Enunciado Se desea definir las cantidades a fabricar de dos productos, A y B cuyo procesamiento se realiza en dos centros de máquinas, conociéndose los datos referentes a los tiempos de proceso y disponibilidades en los centros. Se sabe además que debe cumplirse con un pedido mínimo de 50 unidades de A. Al mismo tiempo, la producción de B debe ser por lo menos cuatro veces superior a la producción de A. Se conocen los márgenes brutos de beneficio de cada producto. 2. Análisis de la situación problemática. Se quiere optimizar el uso de las máquinas, cuya disponibilidad se encuentra limitada, a su vez cumpliendo con una producción mínima. 3. Objetivo Además de tener un límite de disponibilidad para cada máquina, se debe fabricar un mínimo de productos de A y B. Considerando esto, se busca obtener la cantidad de productos A y B para fabricar, maximizando la ganancia. 4. Hipótesis y supuestos. • Se vende todo lo que se produce. • No se encuentran límitesfísicos de almacenamiento de los productos. • No hay fallas de producción cuando un producto pasa por las máquinas. • No hay desperdicio al producir. • No hay restricciones de materiales de producción. • No hay inflación ni variación de precios. Segundo cuatrimestre 2020 16 Ejercicios resueltos 1.3 5. Definición de variables (con tipos y unidades) • A: La cantidad del producto A a producir por mes. • B: La cantidad del producto B a producir por mes. A partir de esto se conoce: • Ganancia por producto A: GA = A× 12$ unit • Ganancia por producto B: GB = B × 8$ unit • Función a maximizar: G = GA +GB • Uso de máquina 1: C1 = 1 unit A+ 0.4 unit B ≤ 200 • Uso de máquina 2: C2 = 0.5 unit A+ 1 unit B ≤ 200 • Mínimo de productos A: A ≥ 50 • Mínimo de productos B: B ≥ 4A 6. Modelo de programación lineal • Nuestra función objetivo es: MAX 12 A + 8 B • La restricción de la máquina A: MAQ_1)A + 0.4 B <= 200 • La restricción de la máquina B: MAQ_2)0.5 A + B <= 200 • La restricción del producto A: PROD_A)A >= 50 • La restricción del producto B: PROD_B)B >= 4 A 7. Resolución gráfica. Los ejes X e Y representan la cantidad de productos de A y B, respectivamente. Segundo cuatrimestre 2020 17 Ejercicios resueltos 1.3 8. Resolución por so�ware (modelo y resultados). • Modelo: 1 MAX 12 A + 8 B 2 ST 3 MAQ_1) A + 0.4 B <= 200 4 MAQ_2) 0.5 A + B <= 200 5 PROD_A) A >= 50 6 PROD_B) B - 4 A >= 0 7 END • Resultados: 1 Status: Infeasible 2 Iterations: 2 3 Infeasibility: 5.55556 4 Objective: 1955.56 5 Best IP: N/A 6 IP Bound: N/A 7 Branches: N/A 8 Elapsed Time: 00:00:02 9. Informe de la solución óptima No existe una región factible donde se cumplan las cuatro restricciones, por lo que el modelo es incompatible. Segundo cuatrimestre 2020 18 Ejercicios resueltos 1.3 Observando el gráfico, para que el modelo tenga solución óptima se podría eliminar o modificar una de las restricciones existentes. Correcciones Análisis: Cuidado cuando decis “se quiere optimizar el uso de las máquinas”, en realidad no nos importa cuánto se usan las máquinas en este problema, por más que intuitivamente un uso óptimo de ellas conlleven a una obtención óptima del margen bruto, no es algo que queramos optimizar. Objetivo: Bien en términos generales. Cumplir con el marco propuesto de “Determinar X para maximizar/minimizar Y en el período de tiempo Z” (acá el período de tiempo puede ser abstracto, “para un período dado”, al no estar especificado en el enunciado) Hipótesis correctas. Una adicional marcada en clase sería la de que los productos deben pasar por ambas máquinas para considerarse completados. Modelo correcto. La definición de variables no debería llevar las ecuaciones asociadas, esas van directamente en el modelo. Simplemente definiendo A y B es suficiente, al esas dos nuestras únicas variables de decisión. G, G_A, G_B no aparecieron en el modelo como variables, entonces están de más en la definición Correcta la resolución e informe. Segundo cuatrimestre 2020 19 Ejercicios resueltos 1.6 1.6 1. 1.6 Dado el siguiente sistema de inecuaciones: 1 4 X1 - 2 X2 <= 4 2 4 X1 + 2 X2 <= 8 3 X1 + X2 >= 1 Y el funcional: 1 MAX Z = 8 X1 + 4 X2 Encontrar un enunciado compatible con el modelo. 2. Enunciado Pedro está interesado en hacer dinero extra desde su casa, y decide investigar sobre el mundo de las criptomonedas. Por un lado encontró una la plataforma web Kraken para el intercambio de las criptomonedas, con las siguientes tasas de cambio: • 1 Taler = 8 pesos • 1 Zcoin = 4 pesos Los términos y condiciones de uso le exigen intercambiar al menos una moneda al mes para que su cuenta no se vea desactivada. Para el minado de las monedas en sí, encontró un servicio que ofrece tiempo de procesamiento gratuito mensual con su correo electrónico de la facultad. Investigando los recursos que necesita cada moneda y los planes disponibles, encontró cuánto tiempo en horas de CPU y GPU necesita para cada moneda y el tiempo disponible que provee el servicio mensualmente. Criptomoneda GPU CPU Taler 4 4 Zcoin 2 -2 Disponibilidad (hrs/mes) 8 4 Segundo cuatrimestre 2020 20 Ejercicios resueltos 1.6 3. Resolución gráfica. Valor deX1,X2 yZ sobre los vértices de la región factible: • A: – X1 = 0 – X2 = 4 – Z = 16 • B: – X1 = 1.5 – X2 = 1 – Z = 16 Segundo cuatrimestre 2020 21 Ejercicios resueltos 1.6 • C: – X1 = 1 – X2 = 0 – Z = 8 • D: – X1 = 0 – X2 = 1 – Z = 4 4. Indicar la o las soluciones que optimicen el funcional. Observando los límites de la región factible y sus vértices, cualquier punto que se encuentra alineado y entre los puntosA yB optimizan la función. De esta forma la ganancia sería de 16. 5. Dar el valor de las variables débiles o slacks, sus unidades y significado en cada uno de los vértices del poliedro. • X1: Cantidad de moneda Taler. • X2: Cantidad de moneda Zcoin. • S1: Sobrante de tiempo de CPU [hrs/mes]. • S2: Sobrante de tiempo de GPU [hrs/mes]. • S3: Moneda sobrante para marcar la cuenta de Kraken como activa. Las restricciones con las variables slack: 4X1 − 2X2 + S1 = 4 4X1 + 2X2 + S2 = 8 X1 +X2 − S3 = 1 Valor de S1, S2, S3 yZ sobre los vértices de la región factible: • A: Solo el uso de GPU mensual es limitante. – S1 = 12 – S2 = 0 – S3 = 3 Segundo cuatrimestre 2020 22 Ejercicios resueltos 1.6 – Z = 16 • B: El uso de GPU y CPU mensual es limitante. – S1 = 0 – S2 = 0 – S3 = 1.5 – Z = 16 • C: El uso de CPU mensual y el mínimo de moneda mensual necesario es limitante. – S1 = 0 – S2 = 4 – S3 = 0 – Z = 8 • D: El mínimo de moneda mensual necesario es limitante. – S1 = 6 – S2 = 6 – S3 = 0 – Z = 4 Correcciones Calificación general: Muy Bien Enunciado: Bien - El tema que redactaste es muy original! El enunciado que armaste está bien, aunque haría falta encontrarle una explicación al consumo negativo de CPU de los ZCoin. Resolución Gráfica: Excelente El poliedro de soluciones factibles está bien graficado. La traza del funcional es correcta. El segmento óptimo de soluciones está correctamente indicado. Soluciones Alternativas: Excelente La descripción de las soluciones alternativas es correcta. El valor del funcional que se indica es correcto. Slacks: Excelente La incorporación de las variables slack al modelo es correcta. Los valores de las slacks son correctos. La descripción de las variables slack es correcta. Indicás las unidades de las slacks. Segundo cuatrimestre 2020 23 Ejercicios resueltos 1.6 Presentación: Bien El documento entregado es claro, y las secciones están claramente separadas. A medida que los modelos vayan creciendo, podrías incluir también carátula, numeración de páginas, e índice. De paso, te va a servir también para las entregas del TP. Segundo cuatrimestre 2020 24 Ejercicios resueltos 2.1 2.1 1. Enunciado Un taller de tejido elabora varios modelos de pullóver. Estos modelos de pullóver se pueden agrupar, desde un punto de vista técnico-económico, en tres tipos diferentes de prendas, a los cuales llamaremos A,B yC. El taller posee dos máquinas (I y II). Los pullóveresA sólo pueden hacerse en la máquina I , losC sólo pueden hacerse en la máquina II y losB pueden hacerse tanto en la máquina I como en la II . Las dos máquinas trabajan dos turnos por día, 8 horas en cada turno, de lunes a viernes. La materia prima utilizada es lana de dos calidades distintas (Mejorada yNormal). La lana Mejorada se utiliza para los pullóveres de tipoA yC. Los pullóveres de tipoB se hacen con lana Normal. De la lana Mejorada se pueden conseguir hasta 20kg./semana y de la lana Normal hasta 36kg./semana. Existe un compromiso de entregar 10 pullóveresB por semana a un importante distribuidor. No es necesario que las prendas que comienzan a fabricarse en una semana se terminen durante la misma, es decir que pueden quedar pullóveres a medio hacer de una semana para la próxima. Los estándares de producción y materia prima y los beneficios unitarios para cada tipo de pullóver, se indican en el siguiente cuadro: ¿Qué es lo mejor quese puede hacer con la información disponible? 2. Análisis de la situación problemática El problema tiene tres productos distintos,A,B yC. Se tiene una cantidad limitada de materia prima por semana, donde los productosA yC se producen con la misma tela. Para la producción se utilizan dos máquinas con una disponibilidad de 8horasturno × 2turnos dia × 5dias semana = 80horas semana por máquina. Una de ellas se utiliza para producirA yB, y la otra para producirB yC, donde se observar que el tiempo de para producirB varía entre las dos máquinas. Segundo cuatrimestre 2020 25 Ejercicios resueltos 2.1 Finalmente, cada producto tiene un costo de venta respectivo por unidad. 3. Objetivo Determinar la cantidad de pullóver A y B a producir en el plazo de una semana para maximizar la ganancia mediante ventas de dichos pullóvers. 4. Hipótesis y supuestos • Se vende todo lo que se produce dentro del plazo del modelo. • Se podrá producir todo el producto dentro del plazo del modelo, considerando las restricciones. • No hay stock inicial ni final de producto. • No se encuentran límites físicos de almacenamiento de los productos. • No hay fallas de producción. • No hay desperdicio al producir ni desgaste al dejar un producto a medio hacer. • No hay restricciones de mano de obra ni financieras. • No hay inflación ni variación de precios. • El consumo de los recursos es directamente proporcional a la cantidad fabricada. • Se pueden producir cantidades arbitrariamente pequeñas de producto. 5. Definición de variables • AM1: La cantidad de pulloversA a producir en la máquina 1 por semana. • BM1: La cantidad de pulloversB a producir en la máquina 1 por semana. • BM2: La cantidad de pulloversB a producir en la máquina 2 por semana. • CM2: La cantidad de pulloversC a producir en la máquina 2 por semana. 6. Modelo de programación lineal La función objetivo a maximizar será la ganancia por la producción de producto: Z = 10$ pullóverAM1 + 15$ pullóverBM1 + 15$ pullóverBM2 + 18$ pullóverCM2 Las restricciones serán: Segundo cuatrimestre 2020 26 Ejercicios resueltos 2.1 • Producir 10 pullóveresB por semana para un distribuidor. BM1 +BM2 ≥ 10pullóver semana • Límite de lana mejorada: LM = 1.6kg pullóverAM1 + 1.2kg pullóverCM2 ≤ 20kg semana • Límite de lana normal: LN = 1.8kg pullóverBM1 + 1.8kg pullóverBM2 ≤ 36kg semana • Límite de uso de la máquina 1: M1 = 5hrs pullóverAM1 + 6hrs pullóverBM1 ≤ 80horas semana • Límite de uso de la máquina 2: M2 = 4hrs pullóverBM2 + 4hrs pullóverCM2 ≤ 80horas semana 7. Resolución por so�ware (modelo y resultados) • Modelo de programación lineal en LINDO: 1 MAX 10 AM1 + 15 BM1 + 15 BM2 + 18 CM2 2 ST 3 DIST) BM1 + BM2 >= 10 4 LM) 1.6 AM1 + 1.2 CM2 <= 20 5 LN) 1.8 BM1 + 1.8 BM2 <= 36 6 M1) 5 AM1 + 6 BM1 <= 80 7 M2) 4 BM1 + 4 CM2 <= 80 8 END • Resultado: 1 LP OPTIMUM FOUND AT STEP 1 2 3 OBJECTIVE FUNCTION VALUE 4 5 1) 550.0000 6 7 VARIABLE VALUE REDUCED COST 8 AM1 0.000000 6.500000 9 BM1 13.333333 0.000000 10 BM2 3.333333 0.000000 Segundo cuatrimestre 2020 27 Ejercicios resueltos 2.1 11 CM2 16.666666 0.000000 12 13 14 ROW SLACK OR SURPLUS DUAL PRICES 15 DIST) 6.666667 0.000000 16 LM) 0.000000 2.500000 17 LN) 6.000000 0.000000 18 M1) 0.000000 2.500000 19 M2) 0.000000 3.750000 20 21 NO. ITERATIONS= 1 22 23 24 RANGES IN WHICH THE BASIS IS UNCHANGED: 25 26 OBJ COEFFICIENT RANGES 27 VARIABLE CURRENT ALLOWABLE ALLOWABLE 28 COEF INCREASE DECREASE 29 AM1 10.000000 6.500000 INFINITY 30 BM1 15.000000 INFINITY 7.800000 31 BM2 15.000000 3.000000 15.000000 32 CM2 18.000000 INFINITY 3.000000 33 34 RIGHTHAND SIDE RANGES 35 ROW CURRENT ALLOWABLE ALLOWABLE 36 RHS INCREASE DECREASE 37 DIST 10.000000 6.666667 INFINITY 38 LM 20.000000 4.000000 4.000000 39 LN 36.000000 INFINITY 6.000000 40 M1 80.000000 20.000000 39.999996 41 M2 80.000000 13.333334 13.333333 8. Informe de la solución óptima La solución óptima considerando las restricciones de tela y máquina será producir por semana: • 13 y un tercio más de pullóvers B con la máquina I. • 3 y un tercio más de pullóvers B con la máquina II. • 16 y dos tercio más de pullóvers C con la máquina II. Al vender dicho stock, se obtendría una ganancia de $550. Los recursos limitantes serán el tiempo de las dos máquinas y la cantidad de lana mejorada. Adicional- mente, sobrarán 6 kilos de lana normal para la semana siguiente. Correcciones Buenas noches Javier, Te dejo nuestras correcciones. Saludos, PC El análisis de la situación problemática no tiene que ser un resumen del enunciado. Se puede decir “se trata de un problema de producción con recursos limitantes” en este caso. Cuando tengamos problemas más complejos, por ejemplo de armado o metas, se indicará eso en el Segundo cuatrimestre 2020 28 Ejercicios resueltos 2.1 análisis. También se puede hacer un diagrama. Habría que agregar al objetivo que hay que determinar también en qué máquina se producen los pulóveres (en el caso de los pulóveres B) En las hipótesis faltaría incluir que los pulóveres B son de la misma calidad, independientemente de en qué máquina se hayan fabricado. El modelo está bien y el informe de la solución óptima es correcto. Segundo cuatrimestre 2020 29 Ejercicios resueltos 2.2 2.2 1. Enunciado “Copani”, una compañía dedicada a la minería, explota tres yacimientos (Sierra Alta, Sierra Chica y El Abra), de cada uno de los cuales obtiene un mineral que contiene cuatro metales: Cobre, Estaño, Manganeso y Zinc. Con estos cuatro metales, y siguiendo las especificaciones que pueden verse en el cuadro que figura a continuación, Copani elabora dos aleaciones: A y B. La proporción de cada metal que está en el mineral depende del yacimiento del cual proviene ese mineral. La siguiente tabla indica esos datos, así como los costos de extracción de mineral: La aleación A se vende a $A por tonelada y la aleación B a $B por tonelada. Con la información indicada: ¿Qué es lo mejor que puede hacer “Copani”? Para facilitar el análisis se incluyen las siguientes definiciones: - Aleación: Producto homogéneo de propiedades metálicas, compuesto de dos o más elementos, uno de los cuales, al menos, debe ser un metal. Ej: Bronce, Acero. - Metal: Cada uno de los elementos químicos, buenos conductores del calor y de la electricidad. Ej: Oro, Cobre, Hierro. - Mineral: Sustancia inorgánica que se halla en la superficie o en diversas capas de la tierra, cuya explotación ofrece interés. Ej: Ferrita, Pirita Segundo cuatrimestre 2020 30 Ejercicios resueltos 2.2 2. Análisis de la situación problemática Se trata de un problema de producción con recursos limitantes. Los metales pueden provenir de tres yacimientos con extracción limitada y costo asociado, los cuales se utilizan para la producción de dos aleaciones diferentes. 3. Objetivo Se busca optimizar la cantidad en toneladas de cobre, estaño, manganeso y zinc destinadas a la producción de aleaciones A y B, y las toneladas de mineral a obtener de los yacimientos, para maximizar la ganancia en el plazo de tiempo de los datos. 4. Hipótesis y supuestos • Los metales obtenidos de yacimientos distintos son indistinguibles entre si. • Las aleaciones se producen solo con los tres metales especificados. • Los precios de venta de aleaciones son constantes. • Los datos son todos sobre el mismo plazo de tiempo genérico T. • Se vende todo lo que se produce dentro del plazo del modelo. • Se produce lo necesario dentro del plazo del modelo. • No hay fallas de producción ni desperdicio. Segundo cuatrimestre 2020 31 Ejercicios resueltos 2.2 • Todo lo extraído de los yacimientos es utilizable. • No hay límites físicos de almacenamiento de productos. • Se puede extraer cantidades arbitrariamente pequeñas de metales. • El consumo de metales es directamente proporcional a la cantidad fabricada. • No hay restricciones de mano de obra ni financieras. • No hay inflación ni variación de precios. 5. Definición de variables • CA: Toneladas de cobre utilizadas para la producción de aleación A. • EA: Toneladas de estañoutilizadas para la producción de aleación A. • EB : Toneladas de estaño utilizadas para la producción de aleación B. • MB : Toneladas de manganeso utilizadas para la producción de aleación B. • ZA: Toneladas de zinc utilizadas para la producción de aleación A. • ZB : Toneladas de zinc utilizadas para la producción de aleación B. • YSA: Toneladas de metal obtenidas en el yacimiento Sierra Alta. • YSC : Toneladas de metal obtenidas en el yacimiento Sierra Chica. • YEA: Toneladas de metal obtenidas en el yacimiento El Abra. 6. Modelo de programación lineal La función objetivo a maximizar será la ganancia por la producción de producto: Z = A$ tn (CA + EA + ZA) + B$ tn (EB +MB + ZB)− 10$ tn YSA − 40$ tn YSC − 50$ tn YEA Las restricciones serán: • Obtención de cobre: 0.2YSA + 0.1YSC + 0.05YEA ≥ CA • Obtención de estaño: 0.1YSA + 0.2YSC + 0.05YEA ≥ EA + EB • Obtención de manganeso: 0.3YSA + 0.3YSC + 0.7YEA ≥MB Segundo cuatrimestre 2020 32 Ejercicios resueltos 2.2 • Obtención de zinc: 0.3YSA + 0.3YSC + 0.2YEA ≥ ZA + ZB • Porcentajes de aleación A: 0.8(CA + EA + ZA) ≥ CA 0.3(CA + EA + ZA) ≥ EA 0.5(CA + EA + ZA) ≤ ZA • Porcentajes de aleación B: 0.4(EB +MB + ZB) ≤ EB ≤ 0.6(EB +MB + ZB) 0.3(EB +MB + ZB) ≤MB 0.7(EB +MB + ZB) ≥ ZB • Disponibilidad de los yacimientos: YSA ≤ 1000 YSC ≤ 2000 YEA ≤ 3000 7. Resolución por so�ware • Para la resolución del modelo, utilizo los siguientes valores de precio de ventaA yB: – A = 70 – B = 60 • Modelo de programación lineal en LINDO: 1 MAX 70 CA + 70 EA + 70 ZA + 60 EB + 60 MB + 60 ZB 2 - 10 YSA - 40 YSC - 50 YEA 3 ST 4 COB) 0.2 YSA + 0.1 YSC + 0.05 YEA - CA >= 0 5 EST) 0.1 YSA + 0.2 YSC + 0.05 YEA - EA - EB >= 0 6 MNG) 0.3 YSA + 0.3 YSC + 0.7 YEA - MB >= 0 7 ZNC) 0.3 YSA + 0.3 YSC + 0.2 YEA - ZA - ZB >= 0 8 A_COB) - 0.2 CA + 0.8 EA + 0.8 ZA >= 0 9 A_EST) 0.3 CA - 0.7 EA + 0.3 ZA >= 0 10 A_ZNC) 0.5 CA + 0.5 EA - 0.5 ZA <= 0 11 B_EST_1) - 0.6 EB + 0.4 MB + 0.4 ZB <= 0 12 B_EST_2) - 0.4 EB + 0.6 MB + 0.6 ZB >= 0 13 B_MNG) 0.3 EB - 0.7 MB + 0.3 ZB <= 0 14 B_ZNC) 0.7 EB + 0.7 MB - 0.3 ZB >= 0 15 MAX_YSA) YSA <= 1000 16 MAX_YSC) YSC <= 2000 Segundo cuatrimestre 2020 33 Ejercicios resueltos 2.2 17 MAX_YEA) YEA <= 3000 18 END • Resultado: 1 LP OPTIMUM FOUND AT STEP 0 2 3 OBJECTIVE FUNCTION VALUE 4 5 1) 76000.00 6 7 VARIABLE VALUE REDUCED COST 8 CA 400.000000 0.000000 9 EA 0.000000 80.000000 10 ZA 900.000000 0.000000 11 EB 500.000000 0.000000 12 MB 750.000000 0.000000 13 ZB 0.000000 70.000000 14 YSA 1000.000000 0.000000 15 YSC 2000.000000 0.000000 16 YEA 0.000000 25.000000 17 18 19 ROW SLACK OR SURPLUS DUAL PRICES 20 COB) 0.000000 -70.000000 21 EST) 0.000000 -150.000000 22 MNG) 150.000000 0.000000 23 ZNC) 0.000000 -70.000000 24 A_COB) 640.000000 0.000000 25 A_EST) 390.000000 0.000000 26 A_ZNC) 250.000000 0.000000 27 B_EST_1) 0.000000 150.000000 28 B_EST_2) 250.000000 0.000000 29 B_MNG) 375.000000 0.000000 30 B_ZNC) 875.000000 0.000000 31 MAX_YSA) 0.000000 40.000000 32 MAX_YSC) 0.000000 18.000000 33 MAX_YEA) 3000.000000 0.000000 34 35 NO. ITERATIONS= 0 36 37 38 RANGES IN WHICH THE BASIS IS UNCHANGED: 39 40 OBJ COEFFICIENT RANGES 41 VARIABLE CURRENT ALLOWABLE ALLOWABLE 42 COEF INCREASE DECREASE 43 CA 70.000000 500.000000 70.000000 44 EA 70.000000 80.000000 INFINITY 45 ZA 70.000000 125.000000 59.999996 46 EB 60.000000 500.000000 80.000000 47 MB 60.000000 333.333313 53.333332 48 ZB 60.000000 70.000000 INFINITY 49 YSA -10.000000 INFINITY 40.000000 50 YSC -40.000000 INFINITY 18.000000 51 YEA -50.000000 25.000000 INFINITY 52 53 RIGHTHAND SIDE RANGES 54 ROW CURRENT ALLOWABLE ALLOWABLE 55 RHS INCREASE DECREASE 56 COB 0.000000 400.000000 500.000000 57 EST 0.000000 500.000000 100.000000 58 MNG 0.000000 150.000000 INFINITY Segundo cuatrimestre 2020 34 Ejercicios resueltos 2.2 59 ZNC 0.000000 500.000000 INFINITY 60 A_COB 0.000000 640.000000 INFINITY 61 A_EST 0.000000 390.000000 INFINITY 62 A_ZNC 0.000000 INFINITY 250.000000 63 B_EST_1 0.000000 60.000000 166.666672 64 B_EST_2 0.000000 250.000000 INFINITY 65 B_MNG 0.000000 INFINITY 375.000000 66 B_ZNC 0.000000 875.000000 INFINITY 67 MAX_YSA 1000.000000 INFINITY 999.999939 68 MAX_YSC 2000.000000 INFINITY 2000.000000 69 MAX_YEA 3000.000000 INFINITY 3000.000000 8. Informe de la solución óptima Existe una región factible donde se cumplen todas las restricciones. Para ayudar a Compani, habría que determinar los valores de venta de las aleaciones para encontrar la o las soluciones óptimas. Correcciones Calificación general: Bien + Análisis: Excelente El análisis que presentás es un resumen del enunciado, pero el diagrama que hiciste para las variables es un excelente análisis: me quedo con el diagrama. Objetivo: Muy Bien La idea del objetivo está bien, pero se puede mejorar la redacción. Para formalizarlo adecuada- mente, recordá utilizar siempre la estructura "Determinar xxxx, para maximizar/minimizar yyyy, durante zzzz). Hipótesis: Excelente Las hipótesis están bien, tienen sentido y ayudan a acotar el modelo. Las hipótesis de “certeza”, “proporcionalidad”, “divisibilidad” y “aditividad” están correctamente contempladas. Variables: Excelente La identificación de las variables principales es correcta, y guarda coherencia con el objetivo que planteaste. También es positivo que hayas indicado las unidades. Modelo: Muy Bien Las restricciones de apertura de los metales de las minas son correctas. Las restricciones de composición de las aleaciones están bien, pero permiten la producción de aleación A con un solo metal. La función objetivo es correcta y guarda coherencia con el objetivo definido. Las unidades Segundo cuatrimestre 2020 35 Ejercicios resueltos 2.2 cierran perfectamente. No hay restricciones redundantes. Las restricciones están claramente identificadas. Resolución por so�ware: Bien La resolución presenta un resultado coherente. Están incluidos el modelo y la salida del so�ware. Informe de solución: Mal El informe que entregás carece de contenido. Presentación: Muy Bien El documento entregado es claro, y las secciones están claramente separadas. Incluye carátula e índice. Podrías incluir también numeración de páginas. De paso, te va a servir también para las entregas del TP. Segundo cuatrimestre 2020 36 Ejercicios resueltos 2.3 2.3 1. Enunciado Tu grupo de Modelos I quiere entrar al negocio de los dulces. Se está considerando producir dos tipos de dulces: Candy y Sweety, que se componen solamente de azúcar, nueces y chocolate. Actualmente se cuenta con 100 kg. de azúcar, 20 kg. de nueces y 30 kg. de chocolate. La mezcla para producir Candy tiene que contener por lo menos un 20% de nueces. La mezcla para producir Sweety tiene que contener por lo menos un 10% de nueces y por lo menos un 10% de chocolate. Cada kg. de mezcla de Candy se vende a 25 pesos y cada kg. de mezcla de Sweety se vende a 20 pesos. ¿Qué es lo mejor que se puede hacer con los datos disponibles? 2. Análisis de la situación problemática Se trata de un problema de producción con mezclas, con tres tipos de materia prima para fabricar dos productos distintos. 3. Objetivo Determinar la cantidad de azúcar, nueces y chocolate para utilizar en las mezclas de Candy y Sweety para maximizar la ganancia por ventas en el periodo de los datos. Segundo cuatrimestre 2020 37 Ejercicios resueltos 2.3 4. Hipótesis y supuestos • La producción es indistinguible, sin importar cómo está compuesta la mezcla. • Se vende todo lo que se produce. • El precio de venta es proporcional a la cantidad vendida. • Se puede fabricar cantidades arbitrariamente pequeñas de producto. • Se puede producir Sweety y Candy con cualquier proporción de la materia prima indicada, con tal de respetar los porcentajes indicados por los datos. • No hace falta que las mezclas de Sweety y Cando estén compuestos por los tres tipos de materia prima. • La mezcla es aditiva. • No hay fallas de producción ni desperdicio. • No hay otras restricciones además de las indicadas por los datos. 5. Definición de variables Las variablesde decisión son: • Mi,j : Kilos de materia prima i utilizados para la fabricación de producto j. – Donde i ∈MAT = {Azucar,Nueces, Chocolate}. – Donde j ∈ PROD = {Candy, Sweety}. También se definen las siguientes variables: • Pj : Kilos de producto j a fabricar. 6. Modelo de programación lineal Se considera la cantidad limitada de cada tipo de materia prima. • Azucar: MAzucar,Candy +MAzucar,Sweety ≤ 100kg • Nueces: MNueces,Candy +MNueces,Sweety ≤ 20kg • Chocolate: MChocolate,Candy +MChocolate,Sweety ≤ 30kg Segundo cuatrimestre 2020 38 Ejercicios resueltos 2.3 Se vinculan las variables de producto P y de materia primaM : ∀ j ∈ PROD : Pj = ∑ i∈MAT Mi,j La mezcla de Candy tiene que contener por lo menos un 20% de nueces: PCandy · 0.20 ≤MNueces,Candy La mezcla de Sweety tiene que contener por lo menos un 10% de nueces y un 10% de chocolate: PSweety · 0.10 ≤MNueces,Sweety PSweety · 0.10 ≤MChocolate,Sweety Finalmente, el funcional a maximizar: MAX Z = 25$ kg · PCandy + 20$ kg · PSweety 7. Resolución por so�ware El modelo en GLPK es: 1 set MAT; 2 set PROD; 3 4 var M{i in MAT, j in PROD} >= 0; 5 var P{j in PROD} >= 0; 6 7 s.t. LIMITE_AZUCAR: M['AZUCAR', 'CANDY'] + M['AZUCAR', 'SWEETY'] <= 100; 8 s.t. LIMITE_NUECES: M['NUECES', 'CANDY'] + M['NUECES', 'SWEETY'] <= 20; 9 s.t. LIMITE_CHOCOLATE: M['CHOCOLATE', 'CANDY'] + M['CHOCOLATE', 'SWEETY'] <= 30; 10 11 s.t. VINCULACION_PROD{j in PROD}: P[j] = sum{i in MAT} M[i, j]; 12 13 s.t. PROP_NUECES_CANDY: P['CANDY'] * 0.2 <= M['NUECES', 'CANDY']; 14 s.t. PROP_NUECES_SWEETY: P['SWEETY'] * 0.1 <= M['NUECES', 'SWEETY']; 15 s.t. PROP_CHOCOLATE_SWEETY: P['SWEETY'] * 0.1 <= M['CHOCOLATE', 'SWEETY']; 16 17 maximize z: 25 * P['CANDY'] + 20 * P['SWEETY']; 18 19 data; 20 21 set MAT := 'AZUCAR' 'NUECES' 'CHOCOLATE'; 22 set PROD := 'CANDY' 'SWEETY'; Y su resolución: 1 Problem: 2 2 Rows: 9 Segundo cuatrimestre 2020 39 Ejercicios resueltos 2.3 3 Columns: 8 4 Non-zeros: 22 5 Status: OPTIMAL 6 Objective: z = 3250 (MAXimum) 7 8 No. Row name St Activity Lower bound Upper bound Marginal 9 ------ ------------ -- ------------- ------------- ------------- ------------- 10 1 LIMITE_AZUCAR 11 NU 100 100 15 12 2 LIMITE_NUECES 13 NU 20 20 65 14 3 LIMITE_CHOCOLATE 15 NU 30 30 15 16 4 VINCULACION_PROD[CANDY] 17 NS 0 -0 = 15 18 5 VINCULACION_PROD[SWEETY] 19 NS 0 -0 = 15 20 6 PROP_NUECES_CANDY 21 NU 0 -0 50 22 7 PROP_NUECES_SWEETY 23 NU 0 -0 50 24 8 PROP_CHOCOLATE_SWEETY 25 B -20 -0 26 9 z B 3250 27 28 No. Column name St Activity Lower bound Upper bound Marginal 29 ------ ------------ -- ------------- ------------- ------------- ------------- 30 1 M[AZUCAR,SWEETY] 31 B 60 0 32 2 M[AZUCAR,CANDY] 33 B 40 0 34 3 M[NUECES,SWEETY] 35 B 10 0 36 4 M[NUECES,CANDY] 37 B 10 0 38 5 M[CHOCOLATE,SWEETY] 39 B 30 0 40 6 M[CHOCOLATE,CANDY] 41 NL 0 0 < eps 42 7 P[CANDY] B 50 0 43 8 P[SWEETY] B 100 0 44 45 Karush-Kuhn-Tucker optimality conditions: 46 47 KKT.PE: max.abs.err = 0.00e+00 on row 0 48 max.rel.err = 0.00e+00 on row 0 49 High quality 50 51 KKT.PB: max.abs.err = 0.00e+00 on row 0 52 max.rel.err = 0.00e+00 on row 0 53 High quality 54 55 KKT.DE: max.abs.err = 0.00e+00 on column 0 56 max.rel.err = 0.00e+00 on column 0 57 High quality 58 59 KKT.DB: max.abs.err = 0.00e+00 on row 0 60 max.rel.err = 0.00e+00 on row 0 61 High quality 62 63 End of output Segundo cuatrimestre 2020 40 Ejercicios resueltos 2.3 8. Informe de la solución óptima Para obtener una ganancia por venta de producción de $3250, se deben producir: • 50kg de Candy, utilizando 40kg de azucar y 10kg de nueces. • 100kg de Sweety, utilizando 60kg de azucar, 10kg de nueces y 30kg de chocolate. Se puede observar que se respeta las proporciones necesarias indicadas por los datos y las hipótesis. Segundo cuatrimestre 2020 41 Ejercicios resueltos 2.5 2.5 1. Enunciado “Takayama”, una tintorería textil cuenta con dos tipos de Estampadoras: Rápidas y Lentas. Dispone de 70 estampadoras Rápidas y 60 Lentas. Aclaremos que estampar consiste en imprimir dibujos con colores sobre tela cruda, de modo que el rollo de tela cruda va pasando por la estampadora y ésta le va imprimiendo el dibujo con los colores y formas seleccionados. Takayama ha tomado dos trabajos para hacer: Dibujo Snoopy y Dibujo Scooby. Cada uno de estos estampados se puede hacer en una máquina de cualquiera de los dos tipos, sólo que la eficiencia será distinta según el tipo. Una máquina Rápida estampa R m. de dibujo Snoopy por hora. Una máquina Lenta estampa 2 m. de dibujo Snoopy por hora. Una máquina Rápida estampa 7 m. de dibujo Scooby por hora. Una máquina Lenta estampa L metros de dibujo Scooby por hora. Una misma estampadora (sea Rápida o Lenta) no puede destinarse en el mismo día a trabajar en dos tipos distintos de dibujo. Cada metro de tela Snoopy se vende a $K y un metro de tela Scooby se vende a $M. Para mañana le han pedido a Takayama que entregue 10000 metros de tela Snoopy y 9000 metros de Scooby. Tiene todo el día de hoy (ocho horas) para trabajar. ¿Qué es lo mejor que puede hacer con la información disponible? 2. Análisis de la situación problemática Se trata de un problema de planificación de producción. A cada una de las máquinas se les puede asignar dos posibles trabajos, resultando en diferentes tiempos de producción. Segundo cuatrimestre 2020 42 Ejercicios resueltos 2.5 3. Objetivo Determinar cuántas máquinas de cada tipo destinar a la fabricación de los dos tipos de estampados para maximizar la ganancia del día. 4. Hipótesis y supuestos • La demanda indicada es una demanda mínima, y se vende (al precio correspondiente) toda producción que supere dichos números. • No hay fallas, interrupciones ni pérdidas en la producción. • Los estampados hechos por máquinas de distintos tipos son indistinguibles entre sí. • No hay restricciones financieras, de mano de obra, físicas o de materia prima. • El precio de venta es proporcional a la cantidad vendida. • Los tiempos de producción son exactos. • No hay stock inicial. 5. Definición de variables Las variables de control son: • Mi,j [maq/dia] [entera]: Cantidad de máquinas i destinadas a la producción de estampados j durante el día. – Donde i ∈MAQUINAS = {Rapida, Lenta} – Donde j ∈ ESTAMPADOS = {Snoopy, Scooby} También se definen las siguientes variables: • Pj [m/dia]: Cantidad de metros de estampado j fabricado durante el día. 6. Modelo de programación lineal Solo se dispone de 70 máquinas rápidas y 60 lentas. MRapida,Snoopy +MRapida,Scooby ≤ 70maq dia MLenta,Snoopy +MLenta,Scooby ≤ 60maq dia Segundo cuatrimestre 2020 43 Ejercicios resueltos 2.5 Vinculación de la producción de estampados con las máquinas utilizadas: PSnoopy = ( Rm maq · hora ·MRapida,Snoopy + 2m maq · hora ·MLenta,Snoopy ) · 8horas dia PScooby = ( 7m maq · hora ·MRapida,Scooby + Lm maq · hora min ·MLenta,Scooby ) · 8horas dia La demanda mínima de cada tipo de estampado: 10000m dia ≤ PSnoopy 9000m dia ≤ PScooby Finalmente, el funcional a maximizar: MAX Z = K$ m · PSnoopy + M$ m · PScooby 7. Resolución por so�ware El modelo en GLPK, fijando los valores de las constantes, es el siguiente: 1 param R := 10; 2 param L := 4; 3 param K := 3; 4 param M := 6; 5 6 var M_RAPIDA_SNOOPY >= 0, integer; 7 var M_RAPIDA_SCOOBY >= 0, integer; 8 var M_LENTA_SNOOPY >= 0, integer; 9 var M_LENTA_SCOOBY >= 0, integer; 10 11 var P_SNOOPY >= 0; 12 var P_SCOOBY >= 0; 13 14 s.t. MAX_RAPIDAS: M_RAPIDA_SNOOPY + M_RAPIDA_SCOOBY <= 70; 15 s.t. MAX_LENTAS: M_LENTA_SNOOPY + M_LENTA_SCOOBY <= 60; 16 17 s.t. VINCULACION_SNOOPY: P_SNOOPY = (R * M_RAPIDA_SNOOPY + 2 * M_LENTA_SNOOPY) * 8; 18 s.t. VINCULACION_SCOOBY: P_SCOOBY = (7 * M_RAPIDA_SCOOBY + L * M_LENTA_SCOOBY) * 8; 19 20 s.t. DEMANDA_MINIMA_SNOOPY: 10000 <= P_SNOOPY; 21 s.t. DEMANDA_MINIMA_SCOOBY: 9000 <= P_SCOOBY; 22 23 maximize z: K * P_SNOOPY + M * P_SCOOBY; Y su resolución: 1 Problem: 2 2 Rows: 7 3 Columns: 6 (4 integer, 0 binary) Segundo cuatrimestre 2020 44 Ejercicios resueltos 2.5 4 Non-zeros: 14 5 Status: INTEGER EMPTY 6 Objective:z = 0 (MAXimum) 7 8 No. Row name Activity Lower bound Upper bound 9 ------ ------------ ------------- ------------- ------------- 10 1 MAX_RAPIDAS 0 70 11 2 MAX_LENTAS 0 60 12 3 VINCULACION_SNOOPY 13 0 -0 = 14 4 VINCULACION_SCOOBY 15 0 -0 = 16 5 DEMANDA_MINIMA_SNOOPY 17 0 -10000 18 6 DEMANDA_MINIMA_SCOOBY 19 0 -9000 20 7 z 0 21 22 No. Column name Activity Lower bound Upper bound 23 ------ ------------ ------------- ------------- ------------- 24 1 M_RAPIDA_SNOOPY 25 * 0 0 26 2 M_RAPIDA_SCOOBY 27 * 0 0 28 3 M_LENTA_SNOOPY 29 * 0 0 30 4 M_LENTA_SCOOBY 31 * 0 0 32 5 P_SNOOPY 0 0 33 6 P_SCOOBY 0 0 34 35 Integer feasibility conditions: 36 37 KKT.PE: max.abs.err = 0.00e+00 on row 0 38 max.rel.err = 0.00e+00 on row 0 39 High quality 40 41 KKT.PB: max.abs.err = 1.00e+04 on row 5 42 max.rel.err = 1.00e+00 on row 5 43 SOLUTION IS INFEASIBLE 44 45 End of output 8. Informe de la solución óptima Suponiendo que las constantes R y L tienen valores aptos para sus tipos de máquinas, el modelo no tendrá solución. Es decir que no es posible producir los suficientes metros de estampados para cumplir la demanda. Para que el modelo tenga solución se podrían conseguir más máquinas, o bien bajar la demanda mínima. Segundo cuatrimestre 2020 45 Ejercicios resueltos 2.7 2.7 1. Enunciado “Tasmania”, una empresa de muñecos de peluche, quiere planificar la producción de sus famosos muñecos de para los próximos dos meses. Fabricar un muñequito les insume 2 horas máquina y 1,5 kg. de materia prima. Por mes se puede disponer de 150 kilos de materia prima y de M horas máquina. El primer mes se comprometió a entregar 70 muñequitos y el segundo mes el compromiso asciende a 110 muñequitos. Puede vender más de lo comprometido, pero no menos. Cada muñequito vendido le reporta una ganancia de $P. ¿Qué es lo mejor que puede hacer “Tasmania” con la información disponible? 2. Análisis de la situación problemática Se trata de un problema de planificación de ventas con recursos limitantes y varios periodos. Cada muñeco necesita un tiempo de máquina y materia prima para su producción. La diferencia entre los dos periodos son la demanda mínima a cumplir. 3. Objetivo Determinar la cantidad de muñecos a producir y vender en cada mes para cumplir con la demanda mínima y maximizar la ganancia. 4. Hipótesis y supuestos • No hay defectos de producción. • No hay defectos al usar la máquina o en la materia prima. • No hay stock inicial en el primer mes. • En el último mes se puede vender todo el stock restante. • Se vende todo lo que se produce en el mes. • No hay inflación ni variación de precios. • No hay límites físicos de almacenamiento de productos. • Se pueden dejar muñecos por medio hacer. • No hay restricciones de mano de obra ni financieras. • El consumo de los recursos es directamente proporcional a la cantidad fabricada. Segundo cuatrimestre 2020 46 Ejercicios resueltos 2.7 • La constanteM , que representa las horas máquina por mes, no será mayor que la cantidad de horas de ese mes. • La materia prima no utilizada en un mes se puede utilizar en el siguiente. • Las horas máquina no utilizadas en un mes no se pueden utilizar en el siguiente (por ser un servicio). 5. Definición de variables • Pi: Muñecos producidos en el mes i. • Vi: Muñecos vendidos en el mes i. 6. Modelo de programación lineal La función a maximizar será: Z = (V1 + V2) ∗ P$ muñeco La restricción de ventas mínimas por mes: V1 ≥ 70 V2 ≥ 110 La restricción del stock disponible por mes: V1 ≤ P1 V2 ≤ P2 + (P1 − V1) La restricción de producción: - Materia prima primer mes: 150kg mes ≥ 1.5kg muñecoP1 - Materia prima segundo mes: 300kg mes − 1.5kg muñecoP1 ≥ 1.5kg muñecoP2 - Horas máquina primer mes: Mhr mes ≥ 2hr muñecoP1 Segundo cuatrimestre 2020 47 Ejercicios resueltos 2.7 - Horas máquina segundo mes: Mhr mes ≥ 2hr muñecoP2 7. Resolución por so�ware Para encontrar una solución, asigno un valor a las constantes P yM : - P = 30 -M = 180 El modelo en GLPK será: 1 /* Variables */ 2 var P1 >= 0; 3 var P2 >= 0; 4 var V1 >= 0; 5 var V2 >= 0; 6 7 /* Funcional */ 8 maximize z: (V1 + V2) * 30; 9 10 /* Restricciones */ 11 s.t. VentasMes1Min: V1 >= 70; 12 s.t. VentasMes2Min: V2 >= 110; 13 14 s.t. StockMes1: V1 <= P1; 15 s.t. StockMes2: V2 <= P2 + (P1 - V1); 16 17 s.t. MateriaPrimaMes1: 150 >= 1.5 * P1; 18 s.t. MateriaPrimaMes2: 300 - 1.5 * P1 >= 1.5 * P2; 19 s.t. HorasMaquinaMes1: 180 >= 2 * P1; 20 s.t. HorasMaquinaMes2: 180 >= 2 * P2; El resultado: 1 Problem: 2 2 Rows: 9 3 Columns: 4 4 Non-zeros: 15 5 Status: OPTIMAL 6 Objective: z = 5400 (MAXimum) 7 8 No. Row name St Activity Lower bound Upper bound Marginal 9 ------ ------------ -- ------------- ------------- ------------- ------------- 10 1 z B 5400 11 2 VentasMes1Min 12 B 70 70 13 3 VentasMes2Min 14 NL 110 110 < eps 15 4 StockMes1 B -20 -0 16 5 StockMes2 NU 0 -0 30 17 6 MateriaPrimaMes1 18 B -135 -150 19 7 MateriaPrimaMes2 20 B -270 -300 21 8 HorasMaquinaMes1 22 NL -180 -180 -15 23 9 HorasMaquinaMes2 24 NL -180 -180 -15 25 26 No. Column name St Activity Lower bound Upper bound Marginal 27 ------ ------------ -- ------------- ------------- ------------- ------------- Segundo cuatrimestre 2020 48 Ejercicios resueltos 2.7 28 1 P1 B 90 0 29 2 P2 B 90 0 30 3 V1 B 70 0 31 4 V2 B 110 0 32 33 Karush-Kuhn-Tucker optimality conditions: 34 35 KKT.PE: max.abs.err = 0.00e+00 on row 0 36 max.rel.err = 0.00e+00 on row 0 37 High quality 38 39 KKT.PB: max.abs.err = 0.00e+00 on row 0 40 max.rel.err = 0.00e+00 on row 0 41 High quality 42 43 KKT.DE: max.abs.err = 0.00e+00 on column 0 44 max.rel.err = 0.00e+00 on column 0 45 High quality 46 47 KKT.DB: max.abs.err = 0.00e+00 on row 0 48 max.rel.err = 0.00e+00 on row 0 49 High quality 50 51 End of output 8. Informe de la solución óptima La solución óptima dependerá de la cantidad de horas máquina por mes. - SiM < 180, el modelo será incompatible por no llegar a producir suficientes muñecos en ambos meses. - Si 180 ≤M < 200, el modelo tendrá solución óptima, siendo las horas máquina por mes la restricción limitante. - Si 200 ≤M , el modelo tendrá solución óptima, siendo la materia prima la restricción limitante. Correcciones Buenas tardes Javier, Te dejo nuestras impresiones sobre la entrega. Saludos PC Buen objetivo Interesante la opción de guardar materia prima. Bien el modelo y la resolución y muy completo el informe de la solución Segundo cuatrimestre 2020 49 Ejercicios resueltos 2.10 2.10 1. Enunciado Un amigo florista se dedica a comprar flores al por mayor en un mercado. Con esas flores arma ramos que vende al público. Los precios actuales, por cada atado de flores (así como la cantidad de flores por atado), son los siguientes: Los ramos que arma el florista son una creación propia. Tiene siete tipos de ramos, y para cada uno definió una composición (en términos de cuántas flores de cada tipo necesita para armar un ramo de cada tipo) y estudió cuál puede ser la demanda máxima diaria. Eso se muestra en el siguiente cuadro: ¿Qué es lo mejor que puede hacer el florista con la información disponible? Segundo cuatrimestre 2020 50 Ejercicios resueltos 2.10 2. Análisis de la situación problemática Se trata de un problema de planificación de producción con demanda máxima y costo de materia prima. Hay cuatro productos que necesitan solo un tipo de flor para su producción. Para la producción de ramos chicos se utilizan crisantemos y margaritas, mientras que los ramos medianos y grandes utilizan estos dos y alguna de las rosas. Al plantear el modelo, hay que considerar cuáles son las rosas que se utilizan para estos ramos y cuáles no. 3. Objetivo Determinar la cantidad de los distintos tipos de ramos producir, considerando también las distintas formas de armar los ramos, para maximizar la ganancia diaria. Segundo cuatrimestre 2020 51 Ejercicios resueltos 2.10 4. Hipótesis y supuestos • No hay límite de stock del mercado de flores. • Las flores compradas del mercado son indistinguibles entre si, y siempre son utilizables.• Los ramos producidos son indistinguibles entre si, independiente de cómo fueron formados. • Se puede comprar atados parciales. • Se vende todo lo que se produce en el día, con tal de que esté debajo de la demanda máxima estimada. • La demanda máxima para cada ramo no varía. • No hay restricciones de mano de obra ni financieras. • El consumo de los recursos es directamente proporcional a la cantidad fabricada. • No hay inflación ni variación de precios. • No hay límites físicos de almacenamiento de productos. 5. Definición de variables • Ff,r: Cantidad de flores f destinadas a producir un ramo de r en el día. – Donde f puede ser: rosas de tallo largoL, rosas amarillasA, rosas rojasR, crisantemosC o margaritasM . – Donde r puede ser: rosas tallo largo L, rosas amarillas A, rosas rojas R, crisantemos C, ramos chicosRC, ramos medianosRM , ramos grandesRG. 6. Modelo de programación lineal Algunas igualdades para simplificar la función objetivo y las restricciones: • Pr: Cantidad de ramos r a producir en el día. PL = FL,L 9flor ramo PA = FA,A 7flor ramo PR = FR,R 18flor ramo PC = FC,C 6flor ramo PRC = FC,RC Segundo cuatrimestre 2020 52 Ejercicios resueltos 2.10 8flor ramo PRC = FM,RC 10flor ramo PRM = FC,RM 10flor ramo PRM = FM,RM 2flor ramo PRM = FL,RM + FA,RM + FR,RM 15flor ramo PRG = FC,RG 10flor ramo PRG = FM,RG 5flor ramo PRG = FL,RG + FA,RG + FR,RG • Af : Cantidad de atados de f para comprar en el día. 20flor atado AL = FL,L + FL,RM + FL,RG 50flor atado AA = FA,A + FA,RM + FA,RG 50flor atado AR = FR,R + FR,RM + FR,RG 100flor atado AC = FC,C + FC,RC + FC,RM + FC,RG 100flor atado AM = FM,RC + FM,RM + FM,RG Con esto, la función objetivo a maximizar será: Z = 3$ ramo PL + 10$ ramo PA + 8$ ramo PR + 3$ ramo PC + 2$ ramo PRC + 4$ ramo PRM + 6$ ramo PRG − 20$ atado AL − 20$ atado AA − 10$ atado AR − 5$ atado AC − 3$ atado AM Y las restricciones a partir de la demanda estimada: PL ≤ 650ramos PA ≤ 350ramos PR ≤ 250ramos Segundo cuatrimestre 2020 53 Ejercicios resueltos 2.10 PC ≤ 600ramos PRC ≤ 1100ramos PRM ≤ 990ramos PRG ≤ 625ramos 7. Resolución por so�ware El modelo en GLPK será: 1 /* Variables */ 2 3 /* Rosas de tallo largo */ 4 var FLL >= 0; 5 var FLRM >= 0; 6 var FLRG >= 0; 7 8 /* Rosas amarillas */ 9 var FAA >= 0; 10 var FARM >= 0; 11 var FARG >= 0; 12 13 /* Rosas rojas */ 14 var FRR >= 0; 15 var FRRM >= 0; 16 var FRRG >= 0; 17 18 /* Crisantemos */ 19 var FCC >= 0; 20 var FCRC >= 0; 21 var FCRM >= 0; 22 var FCRG >= 0; 23 24 /* Margaritas */ 25 var FMRC >= 0; 26 var FMRM >= 0; 27 var FMRG >= 0; 28 29 /* Atados */ 30 var AL >= 0; 31 var AA >= 0; 32 var AR >= 0; 33 var AC >= 0; 34 var AM >= 0; 35 36 /* Ramos */ 37 var PL >= 0; 38 var PA >= 0; 39 var PR >= 0; 40 var PC >= 0; 41 var PRC >= 0; 42 var PRM >= 0; 43 var PRG >= 0; 44 45 /* Funcional */ 46 maximize z: 3*PL + 10*PA + 8*PR + 3*PC + 2*PRC + 4*PRM + 6*PRG - 20*AL - 20*AA - 10*AR - 5*AC - 3*AM; Segundo cuatrimestre 2020 54 Ejercicios resueltos 2.10 47 48 /* Igualdades */ 49 s.t. ProdTaloLargo: PL = FLL; 50 s.t. ProdAmarillas: 9*PA = FAA; 51 s.t. ProdRojas: 7*PR = FRR; 52 s.t. ProdCrisantemos: 18*PC = FCC; 53 s.t. ProdRamoChico_Crisantemos: 6*PRC = FCRC; 54 s.t. ProdRamoChico_Margaritas: 8*PRC = FMRC; 55 s.t. ProdRamoMediano_Crisantemos: 10*PRM = FCRM; 56 s.t. ProdRamoMediano_Margaritas: 10*PRM = FMRM; 57 s.t. ProdRamoMediano_Rosas: 2*PRM = FLRM + FARM + FRRM; 58 s.t. ProdRamoGrande_Crisantemos: 15*PRG = FCRG; 59 s.t. ProdRamoGrande_Margaritas: 10*PRG = FMRG; 60 s.t. ProdRamoGrande_Rosas: 5*PRG = FLRG + FARG + FRRG; 61 62 s.t. CompraAtadoTaloLargo: 20*AL = FLL + FLRM + FLRG; 63 s.t. CompraAtadoAmarillas: 50*AA = FAA + FARM + FARG; 64 s.t. CompraAtadoRojas: 50*AR = FRR + FRRM + FRRG; 65 s.t. CompraAtadoCrisantemos: 100*AC = FCC + FCRC + FCRM + FCRG; 66 s.t. CompraAtadoMargaritas: 100*AM = FMRC + FMRM + FMRG; 67 68 /* Restricciones */ 69 s.t. DemandaTaloLargo: PL <= 650; 70 s.t. DemandaAmarillas: PA <= 350; 71 s.t. DemandaRojas: PR <= 250; 72 s.t. DemandaCrisantemos: PC <= 600; 73 s.t. DemandaRamoChico: PRC <= 1100; 74 s.t. DemandaRamoMediano: PRM <= 990; 75 s.t. DemandaRamoGrande: PRG <= 625; 76 77 end; La solución al problema: 1 Problem: 2 2 Rows: 25 3 Columns: 28 4 Non-zeros: 68 5 Status: OPTIMAL 6 Objective: z = 13296.75 (MAXimum) 7 8 No. Row name St Activity Lower bound Upper bound Marginal 9 ------ ------------ -- ------------- ------------- ------------- ------------- 10 1 z B 13296.8 11 2 ProdTaloLargo 12 NS 0 -0 = 1 13 3 ProdAmarillas 14 NS 0 -0 = 0.4 15 4 ProdRojas NS 0 -0 = 0.2 16 5 ProdCrisantemos 17 NS 0 -0 = 0.05 18 6 ProdRamoChico_Crisantemos 19 NS 0 -0 = 0.05 20 7 ProdRamoChico_Margaritas 21 NS 0 -0 = 0.03 22 8 ProdRamoMediano_Crisantemos 23 NS 0 -0 = 0.05 24 9 ProdRamoMediano_Margaritas 25 NS 0 -0 = 0.03 26 10 ProdRamoMediano_Rosas 27 NS 0 -0 = 0.2 28 11 ProdRamoGrande_Crisantemos 29 NS 0 -0 = 0.05 30 12 ProdRamoGrande_Margaritas Segundo cuatrimestre 2020 55 Ejercicios resueltos 2.10 31 NS 0 -0 = 0.03 32 13 ProdRamoGrande_Rosas 33 NS 0 -0 = 0.2 34 14 CompraAtadoTaloLargo 35 NS 0 -0 = -1 36 15 CompraAtadoAmarillas 37 NS 0 -0 = -0.4 38 16 CompraAtadoRojas 39 NS 0 -0 = -0.2 40 17 CompraAtadoCrisantemos 41 NS 0 -0 = -0.05 42 18 CompraAtadoMargaritas 43 NS 0 -0 = -0.03 44 19 DemandaTaloLargo 45 NU 650 650 2 46 20 DemandaAmarillas 47 NU 350 350 6.4 48 21 DemandaRojas NU 250 250 6.6 49 22 DemandaCrisantemos 50 NU 600 600 2.1 51 23 DemandaRamoChico 52 NU 1100 1100 1.46 53 24 DemandaRamoMediano 54 NU 990 990 2.8 55 25 DemandaRamoGrande 56 NU 625 625 3.95 57 58 No. Column name St Activity Lower bound Upper bound Marginal 59 ------ ------------ -- ------------- ------------- ------------- ------------- 60 1 FLL B 650 0 61 2 FLRM NL 0 0 -0.8 62 3 FLRG NL 0 0 -0.8 63 4 FAA B 3150 0 64 5 FARM NL 0 0 -0.2 65 6 FARG NL 0 0 -0.2 66 7 FRR B 1750 0 67 8 FRRM B 1980 0 68 9 FRRG B 3125 0 69 10 FCC B 10800 0 70 11 FCRC B 6600 0 71 12 FCRM B 9900 0 72 13 FCRG B 9375 0 73 14 FMRC B 8800 0 74 15 FMRM B 9900 0 75 16 FMRG B 6250 0 76 17 AL B 32.5 0 77 18 AA B 63 0 78 19 AR B 137.1 0 79 20 AC B 366.75 0 80 21 AM B 249.5 0 81 22 PL B 650 0 82 23 PA B 350 0 83 24 PR B 250 0 84 25 PC B 600 0 85 26 PRC B 1100 0 86 27 PRM B 990 0 87 28 PRG B 625 0 88 89 Karush-Kuhn-Tucker optimality conditions: 90 91 KKT.PE: max.abs.err = 0.00e+00 on row 0 92 max.rel.err = 0.00e+00 on row 0 93 High quality 94 Segundo cuatrimestre 2020 56 Ejercicios resueltos 2.10 95 KKT.PB: max.abs.err = 0.00e+00 on row 0 96 max.rel.err = 0.00e+00 on row 0 97 High quality 98 99 KKT.DE: max.abs.err = 5.55e-17 on column 7 100 max.rel.err = 3.97e-17 on column 7 101 High quality 102 103 KKT.DB: max.abs.err = 0.00e+00 on row 0 104 max.rel.err = 0.00e+00 on row 0 105 High quality 106 107 End of output 8. Informe de la solución óptima Para obtener una ganancia de $13296.75, se deben comprar atados hasta llegar a la demanda máxima de cada ramo. Luego para los ramos medianos y grandes deberían usarse rosas rojas, ya que el atado de esta son las más baratas por flor. Correcciones Análisis y objetivo: Muy buenos, sólo marco que en vez de hablar de “producción” podríamos hablar de “armado” Hipótesis: Lo marcaste en el análisis, lo hiciste así en el modelo, pero falta explicitar la idea de que se puede usar cualquier tipo de rosas para los ramos medianos y grandes, porque el enunciado es ambiguo. Muy bien planteado y resuelto el modelo. Ojo con declarar variables en la sección (el modelo en sí), por más que sean auxiliares deberían estar bajo la definición de variables, en la sección anterior. Segundo cuatrimestre 2020 57 Ejercicios resueltos 2.16 2.16 1. Enunciado Una empresa vende un único producto. Para planificar y organizar la producción del mismo cuenta con un pronóstico trimestral de ventas para el año próximo. La demanda de un trimestre puede ser satisfecha con unidades producidas en el mismo trimestre o con unidades producidas en trimestres anteriores. La capacidad de almacenamiento está limitadaa 5.000 unidades de producto. La producción programada para el cuarto trimestre del corriente año es de 6.000 unidades y se quiere que el nivel de inventarios a fin del año próximo sea de 1.000 unidades. Incrementar en una unidad la capacidad productiva, de un trimestre a otro, cuesta 1$/unidad y disminuir en una unidad la capacidad productiva, de un trimestre a otro, cuesta 0.50 $/unidad. El pronóstico trimestral para el año próximo es el que se indica a continuación: Trimestre Pronóstico de Ventas (unidades) 1° 9.000 2° 24.000 3° 20.000 4° 7.000 Se quiere definir el programa de producción trimestral que haga mínimo el costo de variaciones del nivel de producción y que asegure un stock suficiente para satisfacer las cantidades pronosticadas de ventas. Segundo cuatrimestre 2020 58 Ejercicios resueltos 2.16 2. Análisis de la situación problemática Se trata de un problema de planificación de producción multiperiodo. Se debe considerar un mínimo de stock a cumplir por periodo, un costo asociado al variar la producción entre periodos, una cantidad máxima de almacenamiento, y las condiciones iniciales de stock inicial y final del año. 3. Objetivo Determinar la cantidad de producto a producir en cada trimestre del año, cumpliendo con un stock necesario para las ventas, para minimizar el costo de variación de nivel de producción. 4. Hipótesis y supuestos • El stock inicial se encuentra en buen estado, y es indistinguible del stock producido del próximo año. • La producción de cada trimestre es indistinguible. • No hay diferencia en los productos al subir o bajar la producción entre trimestres. • No hay defectos ni fallas de producción. • Se vende exactamente lo pronosticado en ventas por trimestre. • La restricción de almacenamiento solo se considera al almacenar el stock no vendido de un trimestre. • Se puede dejar un producto a medio hacer para finalizarse el siguiente trimestre. • El stock al comienzo del año es cero. Es decir, todo el stock producido en el último trimestre del año anterior fue vendido. • Se necesitan exactamente 1000 unidades a fin de año. • No hay restricciones de mano de obra ni financieras. Segundo cuatrimestre 2020 59 Ejercicios resueltos 2.16 • No hay inflación ni variación de precios. 5. Definición de variables • Pi [ unidadtrimestre ]: Cantidad de producto a fabricar en el trimestre i. – Donde i puede ser 1, 2, 3 o 4. – P0, la producción del último trimestre del año anterior, es dato del enunciado: P0 = 6000 unidadtrimestre • SFi [ unidadtrimestre ]: Stock a fin del trimestre i. Con i = 0, se trata del stock al comienzo del año. • Ei [ unidadtrimestre ]: Exceso de diferencia de producción entre el trimestre i y i− 1. • Di [ unidadtrimestre ]: Defecto de diferencia de producción entre el trimestre i y i− 1. 6. Modelo de programación lineal Variables para considerar la restricción de cada trimestre: - Vi: Cantidad de producto a vender en el trimestre i. V1 = 9000 unidad trimestre V2 = 24000 unidad trimestre V3 = 20000 unidad trimestre V4 = 7000 unidad trimestre El stock restante, a partir de los datos e hipótesis: SF0 = 0unidades SF4 = 1000unidades Para cada trimestre i se relaciona la cantidad producida y vendida con el stock restante: Vi + SFi = Pi + SFi−1 Considerando la capacidad de almacenamiento: SF1 ≤ 5000 unidad trimestre Segundo cuatrimestre 2020 60 Ejercicios resueltos 2.16 SF2 ≤ 5000 unidad trimestre SF3 ≤ 5000 unidad trimestre SF4 ≤ 5000 unidad trimestre Función a minimizar es costo por diferencia de producción entre trimestres. Se usa el dato de la producción del último trimestre del año pasado: P0 = 6000 unidad trimestre Para distinguir los casos donde la diferencia de producción es positiva o negativa se utilizan las variables de exceso y defecto: Ei −Di = Pi − Pi−1 Finalmente, la función a minimizar: Z = (E1 + E2 + E3 + E4) · 1$ unidad + (D1 +D2 +D3 +D4) 0.5$ unidad 7. Resolución por so�ware El modelo en GLPK será: 1 /* Variables */ 2 3 /* Producción trimestral */ 4 var P0 = 6000; 5 var P1 >= 0; 6 var P2 >= 0; 7 var P3 >= 0; 8 var P4 >= 0; 9 10 /* Stock a fin de cada trimestre */ 11 var SF0 = 0; 12 var SF1 >= 0; 13 var SF2 >= 0; 14 var SF3 >= 0; 15 var SF4 = 1000; 16 17 /* Exceso de diferencia de producción trimestral */ 18 var E1 >= 0; 19 var E2 >= 0; 20 var E3 >= 0; 21 var E4 >= 0; 22 23 /* Defecto de diferencia de producción trimestral */ Segundo cuatrimestre 2020 61 Ejercicios resueltos 2.16 24 var D1 >= 0; 25 var D2 >= 0; 26 var D3 >= 0; 27 var D4 >= 0; 28 29 /* Ventas por trimestre */ 30 var V1 = 9000; 31 var V2 = 24000; 32 var V3 = 20000; 33 var V4 = 7000; 34 35 36 /* Restricciones */ 37 38 /* Relación ventas y cantidad producida de cada trimestre */ 39 s.t. V1 + SF1 = P1 + SF0; 40 s.t. V2 + SF2 = P2 + SF1; 41 s.t. V3 + SF3 = P3 + SF2; 42 s.t. V4 + SF4 = P4 + SF3; 43 44 /* Relación por la diferencia de producción trimestral */ 45 s.t. E1 - D1 = P1 - P0; 46 s.t. E2 - D2 = P2 - P1; 47 s.t. E3 - D3 = P3 - P2; 48 s.t. E4 - D4 = P4 - P3; 49 50 /* Funcional */ 51 minimize z: (E1 + E2 + E3 + E4) + (D1 + D2 + D3 + D4) * 0.5; 52 53 end; La solución al problema: 1 Problem: 2 2 Rows: 13 3 Columns: 22 4 Non-zeros: 44 5 Status: OPTIMAL 6 Objective: z = 19250 (MINimum) 7 8 No. Row name St Activity Lower bound Upper bound Marginal 9 ------ ------------ -- ------------- ------------- ------------- ------------- 10 1 TRIM1 NS 0 -0 = < eps 11 2 TRIM2 NS 0 -0 = -0.75 12 3 TRIM3 NS 0 -0 = -0.75 13 4 TRIM4 NS 0 -0 = 0.5 14 5 DIFPROD1 NS 0 -0 = 1 15 6 DIFPROD2 NS 0 -0 = 1 16 7 DIFPROD3 NS 0 -0 = 0.25 17 8 DIFPROD4 NS 0 -0 = -0.5 18 9 STOCK1 NU 5000 5000 -0.75 19 10 STOCK2 B 500 5000 20 11 STOCK3 B 0 5000 21 12 STOCK4 B 1000 5000 22 13 z B 19250 23 24 No. Column name St Activity Lower bound Upper bound Marginal 25 ------ ------------ -- ------------- ------------- ------------- ------------- 26 1 P0 NS 6000 6000 = -1 27 2 P1 B 14000 0 28 3 P2 B 19500 0 29 4 P3 B 19500 0 30 5 P4 B 8000 0 31 6 SF0 NS 0 0 = < eps Segundo cuatrimestre 2020 62 Ejercicios resueltos 2.16 32 7 SF1 B 5000 0 33 8 SF2 B 500 0 34 9 SF3 NL 0 0 1.25 35 10 SF4 NS 1000 1000 = -0.5 36 11 E1 B 8000 0 37 12 E2 B 5500 0 38 13 E3 NL 0 0 0.75 39 14 E4 NL 0 0 1.5 40 15 D1 NL 0 0 1.5 41 16 D2 NL 0 0 1.5 42 17 D3 NL 0 0 0.75 43 18 D4 B 11500 0 44 19 V1 NS 9000 9000 = < eps 45 20 V2 NS 24000 24000 = 0.75 46 21 V3 NS 20000 20000 = 0.75 47 22 V4 NS 7000 7000 = -0.5 48 49 Karush-Kuhn-Tucker optimality conditions: 50 51 KKT.PE: max.abs.err = 0.00e+00 on row 0 52 max.rel.err = 0.00e+00 on row 0 53 High quality 54 55 KKT.PB: max.abs.err = 0.00e+00 on row 0 56 max.rel.err = 0.00e+00 on row 0 57 High quality 58 59 KKT.DE: max.abs.err = 0.00e+00 on column 0 60 max.rel.err = 0.00e+00 on column 0 61 High quality 62 63 KKT.DB: max.abs.err = 0.00e+00 on row 0 64 max.rel.err = 0.00e+00 on row 0 65 High quality 66 67 End of output 8. Informe de la solución óptima Para gastar solo $19250 en el año, se debe producir 14000 unidades en el primer trimestre, 19500 en el segundo y el tercero, y finalmente 8000 en el cuarto. Se puede observar que el único punto donde decrece la cantidad de producción es en el último trimestre, fabricando 11500 unidades menos que el trimestre anterior. Esto se debe principalmente a las restricción de 5000 unidades de almacenamiento y la restricción que exige 1000 unidades de stock a fin de año. Para bajar este costo, se podría evaluar la posibilidad de expandir el almacenamiento y/o admitir más de 1000 unidades de stoc a fin de año. Correcciones Calificación General: Muy Bien Análisis: Muy Bien Segundo cuatrimestre 2020 63 Ejercicios resueltos 2.16 Identificás correctamente el tipo de problema. El resto es un resumen del enunciado: no está mal, pero suma poco. Sin embargo, el gráfico es muy bueno y refleja perfectamente tu modelo. Objetivo: Excelente El objetivo definido es correcto. Brillante redacción! Hipótesis: Muy Bien Las hipótesis están bien, tienen sentido y ayudan a acotar el modelo. Las hipótesis de“certeza”, “divisibilidad” y “aditividad” están correctamente contempladas. Entre las hipótesis de “propor- cionalidad”, podrías indicar que el costo de variación del nivel de producción es directamente proporcional a la cantidad variada. Variables: Excelente La identificación de las variables principales es correcta, y guarda coherencia con el objetivo que planteaste. También es positivo que hayas indicado las unidades. Modelo: Excelente Las restricciones y la función objetivo son correctas. El funcional guarda coherencia con el objetivo definido. Las unidades cierran perfectamente. No hay restricciones redundantes. Las restricciones están claramente identificadas. Las ecuaciones de stock están correctamente planteadas. Las metas para establecer las variaciones del nivel de producción son correctas. Resolución: Excelente La resolución es correcta, y está incluida la salida del so�ware. Entiendo que el modelo es simple, y no hace falta incluir la modelización en el so�ware, pero en los próximos ejercicios convendría que la incluyas. Informe: Bien El informe es correcto: está redactado en términos del dominio del problema. Presentación: Excelente El documento entregado es claro, y las secciones están claramente separadas. Incluye carátula, numeración de páginas e índice. Segundo cuatrimestre 2020 64 Ejercicios resueltos 2.17 2.17 1. Enunciado El encargado de un supermercado está organizando el trabajo para los próximos días viernes, sábado y domingo. Cuenta con 18 empleados. Las tareas a realizar cada día son las siguientes: - Reponer mercadería (viernes, sábado y domingo). - Ordenar mercadería (viernes y domingo). - Marcar códigos en la mercadería (viernes, sábado y domingo). Está probado que el personal que cambia de tarea (de un día para otro) aumenta su eficiencia en un 10% (se aburre menos). La eficiencia normal de un empleado en cada tarea y la tarea total diaria a realizar son: El personal propio tiene un costo de $12 por día. Sólo cobran los que trabajan. La jornada de trabajo es de 8 horas. ¿Qué es lo mejor que se puede hacer con la información disponible? Segundo cuatrimestre 2020 65 Ejercicios resueltos 2.17 2. Análisis de la situación problemática Se trata de un problema de planificación diaria de mano de obra, con un mínimo de cada tarea a cumplir cada día. 3. Objetivo Administrar la cantidad de personal en cada área de cada día para minimizar el costo de los empleados durante el fin de semana. 4. Hipótesis y supuestos • El aumento de eficiencia del 10% no se considera si un empleado no trabajó el día anterior. • El aumento de eficiencia no se vuelve a aplicar más de una vez. • No hay variación en los datos de tareas a realizar por día. Segundo cuatrimestre 2020 66 Ejercicios resueltos 2.17 • El costo del empleado diario es el mismo, y no depende del aumento de eficiencia. • Se puede usar parcialmente el tiempo del empleado. • La cantidad de tiempo de cada empleado es proporcional a lo que gana. • No hay costos adicionales. • La eficiencia de cada empleado es exactamente como indican los datos. • El valor de las variables A y C es positivo. 5. Definición de variables • Vt [ empleadodia ]: Cantidad de empleados realizando la tarea t el viernes, donde t puede ser: Reponer,Ordenar,Marcar oLibre. • St,p [ empleadodia ]: Cantidad de empleados realizando la tarea t el sábado y que hicieron la tarea p el viernes. • Dt,p [ empleadodia ]: Cantidad de empleados realizando la tarea t el domingo y que hicieron la tarea p el sábado. 6. Modelo de programación lineal La función a minimizar será el costo del personal que trabajó en cada día: Z = (VR + VO + VM + SR,R + SR,O + SR,M +DR,R +DR,M + DR,L +DO,R +DO,M +DO,L +DM,R +DM,M +DM,L) ∗ 12$ empleado Se deben vincular las variables del trabajo del día actual con el trabajo del día anterior. Sea T = {Reponer,Ordenar,Marcar, Libre}: • Vinculación variables viernes/sábado: ∀t ∈ T : Vt = ∑ p∈T Sp,t • Vinculación variables sábado/domingo: ∀t ∈ T : ∑ p∈T St,p = ∑ q∈T Dq,t Mínimo a realizar por día: Segundo cuatrimestre 2020 67 Ejercicios resueltos 2.17 • Mínima tarea a realizar el viernes: VR ∗ 15unidad hora ∗ 8hora >= Aunidad dia VO ∗ 30unidad hora ∗ 8hora >= 300unidad dia VM ∗ 35unidad hora ∗ 8hora >= 150unidad dia • Mínima tarea a realizar el sábado: (SR,R ∗ 1.1 + SR,O + SR,M ) ∗ 15unidad hora ∗ 8hora empleado >= 500unidad dia (SM,R + SM,O + SM,M ∗ 1.1) ∗ 35unidad hora ∗ 8hora empleado >= 139unidad dia • Mínima tarea a realizar el domingo: (DR,R ∗ 1.1 +DR,M ) ∗ 15unidad hora ∗ 8hora empleado >= 350unidad dia (DO,R +DO,M ) ∗ 30unidad hora ∗ 8hora empleado >= Cunidad dia (DM,R +DM,M ∗ 1.1) ∗ 35unidad hora ∗ 8hora empleado >= Cunidad dia 7. Resolución por so�ware Tomando A := 450 y C := 360, el modelo en GLPK será: 1 /* Parametros */ 2 param A := 450; 3 param C := 360; 4 param HORAS := 8; 5 6 /* Variables viernes */ 7 var V_R >= 0; 8 var V_O >= 0; 9 var V_M >= 0; 10 var V_L >= 0; 11 12 /* Variables sabado */ 13 var S_R_R >= 0; 14 var S_R_O >= 0; 15 var S_R_M >= 0; 16 var S_R_L >= 0; 17 18 var S_M_R >= 0; 19 var S_M_O >= 0; 20 var S_M_M >= 0; Segundo cuatrimestre 2020 68 Ejercicios resueltos 2.17 21 var S_M_L >= 0; 22 23 var S_L_R >= 0; 24 var S_L_O >= 0; 25 var S_L_M >= 0; 26 var S_L_L >= 0; 27 28 /* Variables domingo */ 29 var D_R_R >= 0; 30 var D_R_M >= 0; 31 var D_R_L >= 0; 32 33 var D_O_R >= 0; 34 var D_O_M >= 0; 35 var D_O_L >= 0; 36 37 var D_M_R >= 0; 38 var D_M_M >= 0; 39 var D_M_L >= 0; 40 41 var D_L_R >= 0; 42 var D_L_M >= 0; 43 var D_L_L >= 0; 44 45 /* Restricciones */ 46 47 s.t. MAXEMP_V: V_R + V_O + V_M + V_L <= 18; 48 s.t. MAXEMP_S: S_R_R + S_R_O + S_R_M + S_R_L + S_M_R 49 + S_M_O + S_M_M + S_M_L + S_L_R + S_L_O + S_L_M + S_L_L <= 18; 50 s.t. MAXEMP_D: D_R_R + D_R_M + D_R_L + D_O_R + D_O_M 51 + D_O_L + D_M_R + D_M_M + D_M_L + D_L_R + D_L_M + D_L_L <= 18; 52 53 /* Vinculacion tareas viernes/sabado */ 54 s.t. VINC_REP_S: V_R = S_R_R + S_M_R + S_L_R; 55 s.t. VINC_ORD_S: V_O = S_R_O + S_M_O + S_L_O; 56 s.t. VINC_MAR_S: V_M = S_R_M + S_M_M + S_L_M; 57 s.t. VINC_LIB_S: V_L = S_R_L + S_M_L + S_L_L; 58 59 /* Vinculacion tareas sabado/domingo */ 60 s.t. VINC_REP_D: S_R_R + S_R_O + S_R_M + S_R_L = D_R_R + D_O_R + D_M_R + D_L_R; 61 s.t. VINC_MAR_D: S_M_R + S_M_O + S_M_M + S_M_L = D_R_M + D_O_M + D_M_M + D_L_M; 62 s.t. VINC_LIB_D: S_L_R + S_L_O + S_L_M + S_L_L = D_R_L + D_O_L + D_M_L + D_L_L; 63 64 /* Mínima tarea a realizar el viernes */ 65 s.t. MIN_REP_V: V_R * 15 * HORAS >= A; 66 s.t. MIN_ORD_V: V_O * 30 * HORAS >= 300; 67 s.t. MIN_MAR_V: V_M * 35 * HORAS >= 150; 68 69 /* Mínima tarea a realizar el sábado */ 70 s.t. MIN_REP_S: (S_R_R * 1.1 + S_R_O + S_R_M) * 15 * HORAS >= 500; 71 s.t. MIN_MAR_S: (S_M_R + S_M_O + S_M_M * 1.1) * 35 * HORAS >= 139; 72 73 /* Mínima tarea a realizar el domingo */ 74 s.t. MIN_REP_D: (D_R_R * 1.1 + D_R_M) * 15 * HORAS >= 350; 75 s.t. MIN_ORD_D: (D_O_R + D_O_M) * 30 * HORAS >= C; 76 s.t. MIN_MAR_D: (D_M_R + D_M_M * 1.1) * 35 * HORAS >= C; 77 78 /* Funcional */ 79 minimize z: (V_R + V_O + V_M + S_R_R + S_R_O + S_R_M 80 + D_R_R + D_R_M + D_R_L + D_O_R + D_O_M 81 + D_O_L + D_M_R + D_M_M + D_M_L) * 12; Y su resolución: Segundo cuatrimestre 2020 69 Ejercicios resueltos 2.17 1 Problem: 2 2 Rows: 19 3 Columns: 28 4 Non-zeros: 98 5 Status: OPTIMAL 6 Objective: z = 175.7727273 (MINimum) 7 8 No. Row name St Activity Lower bound Upper bound Marginal 9 ------ ------------ -- ------------- ------------- ------------- ------------- 10 1 MAXEMP_V B 5.53571 18 11 2 MAXEMP_S B 5.53571 18 12 3 MAXEMP_D B 5.53571 18 13 4 VINC_REP_S NS 0 -0 = 1.2 14 5 VINC_ORD_S NS 0 -0 = < eps 15 6 VINC_MAR_S NS 0 -0 = < eps 16 7 VINC_LIB_S NS 0 -0 = < eps 17 8 VINC_REP_D NS 0 -0 = < eps 18 9 VINC_MAR_D NS 0 -0 = < eps 19 10 VINC_LIB_D NS 0 -0 = < eps 20 11 MIN_REP_V NL 450 450 0.09 21 12 MIN_ORD_V NL 300 300 0.05 22 13 MIN_MAR_V NL 150 150 0.0428571 23 14 MIN_REP_S NL 500 500 0.1 24 15 MIN_MAR_S B 435.833 139 25 16 MIN_REP_D NL 350 350 0.0909091 26 17 MIN_ORD_D NL
Compartir