U NIVERSIDAD C ARLOS III DE M ADRID Ingenierı́a Informática Examen de Investigación Operativa 12 de septiembre de 2007 Problema 1. (2.5 puntos) Un fabricante de productos informáticos produce 3 modelos de routers para conexión a Internet: Backbone, Subnet y Local. Los costes de fabricación (en euros) junto con las horas necesarias para su producción para cada tipo de router se muestran en la siguiente tabla: Backbone Subnet Local Coste/unidad Horas de producción/unidad 1000 30 700 20 500 20 El fabricante dispone de un presupuesto diario de 200000 euros y un máximo de 6600 horas/diarias para producir routers. El beneficio diario por cada router que vende es de 200 euros para el tipo Backbone, de 150 euros para el Subnet y de 95 euros para el Local. Además, sabe que como mucho va a vender 100 routers al dı́a del modelo Backbone, 200 del Subnet y 350 del Local. a) (1 puntos) Formula un modelo de programación lineal que permita al fabricante crear un plan de producción diaria para maximizar su beneficio. b) (0.5 puntos) Formula el modelo anterior en forma estándar. c) (1 puntos) Para el modelo en forma estándar, encuentra una solución básica factible y realiza una iteración del método Simplex a partir de ésta. Solución. a) Las variables de decisión son: x1 ≡ número de routers del modelo Backbone a producir al dı́a, x2 ≡ número de routers del modelo Subnet, x3 ≡ número de routers del modelo Local. maximizar 200x1 + 150x2 + 95x3 sujeto a 1000x1 + 700x2 + 500x3 ≤ 200000 30x1 + 20x2 + 20x3 ≤ 6600 x1 ≤ 100 x2 ≤ 200 x3 ≤ 350 x ≥ 0. b) Forma estándar: minimizar sujeto a − 200x1 − 150x2 − 95x3 1000x1 + 700x2 + 500x3 + s1 = 200000 30x1 + 20x2 + 20x3 + s2 = 6600 x1 + s3 = 100 x2 + s4 = 200 x3 + s5 = 350 x, s ≥ 0. 1 c) Solución básica factible: x0 = (0, 0, 0, 200000, 6600, 100, 200, 350). Una iteración del Simplex: x1 = (100, 0, 0, 100000, 3600, 0, 200, 350). Problema 2. (3 puntos) Un sistema de procesamiento compartido tiene 3 ordenadores diferentes (Oj , j = 1, 2, 3) y tiene que procesar 6 tareas (Ti i = 1, . . . , 6). Todas las tareas se pueden realizar en cualquier ordenador, pero no pueden fraccionarse (se deben completar en el ordenador en que se inician). Los tiempos de procesamiento de cada tarea i en cada ordenador j, tij , varı́a según el ordenador y el tiempo disponible de cada ordenador para ejecutar las tareas está limitado: Ordenador Tarea O1 O2 O3 T1 18 16 12 T2 14 21 19 T3 23 27 33 T4 16 24 23 T5 17 24 24 T6 25 28 30 T. disp. (Cj ) 47 41 46 a) (1.75 puntos) Escribe un modelo de programación entera para decidir a qué ordenador se debe mandar cada tarea si se quiere minimizar el tiempo total de procesamiento. Debes tener en cuenta la disponibilidad de tiempo en cada ordenador. b) (1.25 puntos) ¿Cómo cambiarı́as el modelo, si en lugar de querer minimizar el tiempo total de procesamiento, se quiere minimizar el tiempo que tardan en completarse todas las tareas cuando éstas se procesan en paralelo en los 3 ordenadores? Hay que tener en cuenta que el modelo tiene que seguir siendo lineal entero. Solución. a) Las variables de decisión son: ( 1, si la tarea i se asigna al ordenador j, , xij = 0, en otro caso. i = 1, . . . , 6, j = 1, 2, 3. Las restricciones son: Cada tarea se procesa en un sólo ordenador: 3 X xij = 1, i = 1, . . . , 6. j=1 Limitación de tiempo disponible en cada ordenador: 18x11 + 14x21 + 23x31 + 16x41 + 17x51 + 25x61 ≤ 47 16x12 + 21x22 + 27x32 + 24x42 + 24x52 + 28x62 ≤ 41 12x13 + 19x23 + 33x33 + 23x43 + 24x53 + 30x63 ≤ 46 Y la función objetivo es: T = 18x11 + 16x12 + 12x13 + 14x21 + 21x22 + 19x23 + + 23x31 + 27x32 + 33x33 + 16x41 + 24x42 + 23x43 + + 17x51 + 24x52 + 24x53 + 25x61 + 28x62 + 30x63 2 El modelo es entonces: T = mı́n 6 X 3 X tij xij i=1 j=1 3 X xij = 1, i = 1, . . . , 6 j=1 6 X tij xij ≤ Cj , j = 1, 2, 3 i=1 xij ∈ {0, 1} b) La función objetivo, a minimizar, es ahora: T = máx 18x11 + 14x21 + 23x31 + 16x41 + 17x51 + 25x61 , 16x12 + 21x22 + 27x32 + 24x42 + 24x52 + 28x62 , 12x13 + 19x23 + 33x33 + 23x43 + 24x53 + 30x63 Para linealizar el problema hay que añadir una variable adicional z, que sea igual al máximo anterior. El modelo queda entonces: T = mı́n z 6 X ti1 xi1 ≤ z i=1 6 X ti2 xi2 ≤ z i=1 6 X ti3 xi3 ≤ z i=1 3 X xij = 1, i = 1, . . . , 6 j=1 6 X tij xij ≤ Cj , j = 1, 2, 3 i=1 xij ∈ {0, 1} Problema 3. (1.5 puntos) Una compañı́a de productos informáticos está trabajando en el diseño y desarrollo de un nuevo producto de software. Con el fin de establecer el plan de trabajo se definen 4 etapas consecutivas: 1) investigación, 2) desarrollo, 3) diseño y manufactura, y 4) producción y distribución. Cada una de estas fases se puede llevar a cabo a 3 niveles diferentes de intensidad, lo que incide tanto en el coste como en el tiempo requerido para su finalización. En las siguientes tablas se recogen los tiempos requeridos para llevar a cabo cada etapa, dependiendo del nivel considerado, y el coste de cada etapa, también en función del nivel seleccionado: 3 Nivel Investigación Tiempo Desarrollo Normal Media Alta 5 meses 4 meses 2 meses (4 meses) 2 meses 2 meses Diseño y manufactura (7 meses) 5 meses 3 meses Producción y distribución (4 meses) 2 meses 1 meses La compañı́a ha decidido no contemplar el nivel normal para las 3 últimas etapas, al considerar que los tiempos son demasiado prolongados. Nivel Investigación Coste Desarrollo Normal Media Alta 3 6 9 – 6 9 Diseño y manufactura – 9 12 Producción y distribución – 3 6 La administración de la empresa quiere determinar el nivel de prioridad que debe seleccionarse para cada actividad con el fin de minimizar el tiempo total hasta su finalización, pero sin superar el presupuesto total disponible, que asciende a 30 millones de euros. Formula el problema que debe resolver la compañı́a para ello como un problema de programación matemática. Solución. La formulación del problema como uno de PL es: Minimizar 5x11 + 4x12 + 2x13 + 2x22 + 2x23 + 5x32 + 3x33 + 2x42 + 1x43 s.a x11 + x12 + x13 = 1 x22 + x23 = 1 x32 + x33 = 1 x42 + x43 = 1 3x11 + 6x12 + 9x13 + 6x22 + 9x23 + 9x32 + 12x33 + 3x42 + 6x43 ≤ 30 xij ∈ {0, 1} donde las variables binarias ( 1, xij = 0, si la actividad i se lleva a cabo al nivel j, en otro caso. Problema 4. (3 puntos) Un supermercado dispone de una caja con un empleado para atender a los clientes. Éstos llegan a la caja con una media de 24 personas cada hora (según una distribución de Poisson) y se les atiende respetando su orden de llegada. El empleado tarda una media de 2 minutos en atender a cada cliente (según una distribución exponencial). Calcula: a) (1 puntos) ¿Cuántas personas hay (en media) esperando para ser atendidos por el empleado? ¿Cuál es el tiempo medio de espera en la cola antes de ser atendido? b) (1 punto) El director del supermercado se plantea contratar a otro empleado para que ayude a los clientes a introducir los artı́culos en las bolsas. Con esta ayuda, el director estima que la caja podrı́a atender a 40 clientes por hora (en media). Recalcula las medidas de comportamiento del apartado (a). c) (1 punto) El nuevo empleado cobra 300 euros semanales por su ayuda. Por otra parte, el director ha estimado que por cada minuto que espera un cliente en la cola, el supermercado pierde 150 euros semanales en ventas pérdidas. ¿Le es rentable al director contratar al nuevo empleado? Razona la respuesta. 4 Puedes ayudarte de alguna de las fórmulas siguientes: M/M/1 M/M/s M/M/1/K (ρ 6= 1) M/M/1/K (ρ = 1) p0 pn L ρ n 1−ρ ρ p0 1−ρ ........................................................... (λ/µ)n p0 ; n 6 s 1 n! s−1 (λ/µ)s p0 ρ P (λ/µ)n + (λ/µ)s 1 + µλ s!(1−ρ)2 n! s! 1−ρ n=0 n (λ/µ) p ; n>s s!sn−s 0 ........................................................... ρ(1−(K+1)ρK +KρK+1 ) 1−ρ ρn p 0 1−ρK+1 (1−ρ)(1−ρK+1 ) ........................................................... 1 K+1 1 K+1 K 2 Solución. a) Es un modelo M/M/1, donde la tasa de llegadas es λ = 24 clientes por hora, la tasa de servicio es µ = 30 clientes servidos por hora y el factor de utilización es ρ = 24/30 = 0.8 . Lq = ρλ µ−λ = 3.2 personas (en media) esperando para ser atendidos por el empleado. Wq = Lq /λ = 0.13 horas ó 8 minutos de espera en la cola (en media). b) Es un modelo M/M/1, donde la tasa de llegadas es λ = 24 clientes por hora, la tasa de servicio es µ = 40 clientes servidos por hora y el factor de utilización es ρ = 24/40 = 0.6 . Lq = ρλ µ−λ = 0.9 personas (en media) esperando para ser atendidos por el empleado. Wq = Lq /λ = 0.0375 horas ó 2.25 minutos de espera en la cola (en media). c) Si el director no contrata al nuevo empleado, entonces pierde 8 × 150 = 1200 euros semanales por ventas perdidas. Si contrata al nuevo empleado, entonces pierde 2.25 × 150 = 337.5 euros semanales por ventas perdidas más 300 euros semanales por el sueldo del nuevo empleado. Como 1200 > 337.5 + 300, al director le compensa contratar al nuevo empleado. 5