Ejercicios de programación dinámica Investigación Operativa II Diplomatura en Estadı́stica Curso 08/09 1. Resuelve aplicando programación dinámica el problema siguiente: Se trata de asignar dı́as de estudio para preparar los exámenes de cuatro asignaturas. Se dispone de 10 dı́as para todas ellas, y estos dı́as han de repartirse de manera que se optimice la mejora prevista en las calificaciones totales de las mismas. Se ha estimado que para un cierto número de dı́as asignado a cada asignatura se pueden conseguir las mejoras en las notas que se indican en la tabla siguiente: Dı́as 1 2 3 4 Asignatura 1 2 3 4 1 3 1 2 3 4 2 4 4 4 4 5 5 5 4 5 A ninguna asignatura se le asignarán más de cuatro dı́as, y a cada una de ellas se le asignará al menos un dı́a. Sugerencia: Define como etapas la asignación de dı́as de estudio a cada una de las asignaturas. 2. Un operador turı́stico organiza viajes de vacaciones, que incluyen el alquiler de coches. Durante las próximas cinco semanas, y en función de los viajes que ha vendido, esta empresa prevee que debe tener disponibles 8, 6, 10, 7 y 8 coches respectivamente. El alquiler de los coches se subcontrata a una empresa local, que cobra una cantidad fija de 50 euros por automóvil por cada nuevo alquiler de un coche, más 150 euros por cada semana de alquiler de dicho coche. El operador puede por tanto alquilar coches y asignarlos a los viajes organizados, o mantenerlos sin usar, o bien devolverlos cuando ya no quiera usarlos (aunque quizás tenga que volver a alquilarlos más tarde pagando la cantidad fija). ¿Cuál es el número óptimo de automóviles a alquilar y/o devolver en cada semana de las próximas cinco? 3. Estás encargado de la gestión de un desarrollo de software, que requiere que se completen tres tareas en etapas sucesivas. Dispones de un presupuesto de 45.000 euros que puedes emplear para mejorar tus recursos (personal, equipos, medios) en cada una de las etapas. En función del dinero que inviertas, esperas reducir el tiempo necesario para llevar a cabo cada etapa, de acuerdo con las expresiones siguientes: t1 (x1 ) = 16 − x1 /3, t2 (x2 ) = 12 − x2 /5, t3 (x3 ) = 14 − x3 /3, 0 ≤ x1 ≤ 30 0 ≤ x2 ≤ 15 0 ≤ x3 ≤ 30 donde ti denota el tiempo en semanas necesario para completar cada tarea, i = 1, 2, 3, y xi es la cantidad invertida en cada etapa, medida en miles de euros. Las cantidades no invertidas al final del proceso no tienen valor para el desarrollo. Formula las relaciones de recurrencia y los elementos del problema de programación dinámica correspondientes. 1 Resuelve el problema de programación dinámica para el caso en que el dinero disponible deba gastarse en múltiplos de 15.000 euros, esto es, los valores aceptables para el gasto en la primera etapa serı́an 0, 15 ó 30 miles de euros, por ejemplo. Obtén a partir de ellas la polı́tica que permita un tiempo de desarrollo mı́nimo y el plan de gasto óptimo. ¿Existe más de una solución? ¿Cuáles son las soluciones alternativas? Repite el apartado anterior suponiendo que las cantidades a invertir en cada etapa fuesen valores cualesquiera entre 0 y los máximos indicados anteriormente. 4. Una empresa de alquiler de automóviles se propone planificar su polı́tica de reemplazamientos para los próximos 3 años. La adquisición de un coche nuevo le cuesta a la empresa 9.000 euros. Durante su vida útil, los coches incurren costes de mantenimiento que aumentan con su antigüedad, mientras que su valor de venta como coches usados disminuye con su edad. Un coche nuevo no incurre costes de mantenimiento. Para cada coche, la empresa toma decisiones el dı́a 1 de enero de cada año: vender el coche por su valor como coche usado y adquirir uno nuevo, o continuar utilizándolo durante un año más, incurriendo los costes de mantenimiento correspondientes. Los gastos de mantenimiento y el valor de venta de un coche usado, en función de su antigüedad en años, se muestran en la siguiente tabla: antigüedad (años) 1 2 3 4 coste de mantenimiento (euros) 1.800 2.100 2.400 2.700 valor de venta (euros) 6.000 4.000 3.000 2.250 a) Formula como un programa dinámico el problema de planificación óptima para los próximos 3 años. b) Formula las relaciones de recurrencia y los elementos del problema de programación dinámica correspondientes. c) Resuelve el problema. dinámica, y describe la polı́tica óptima obtenida. d ) ¿Debe la empresa reemplazar un coche que tiene inicialmente 4 años? ¿Y uno que tiene 3? 5. Tienes que decidir cuándo y cuánto producir de un determinado producto, para hacer frente a la demanda con coste mı́nimo. La demanda prevista para los próximos 4 meses se indica en la tabla siguiente: Mes Demanda 1 2 2 1 3 2 4 1 El coste de almacenamiento es de 600 Pta./unidad.mes, y el coste de producción está compuesto por un coste fijo de 3500 Pta. cada vez que se fabrica (independiente de la cantidad fabricada), y un coste variable de 1500 Pta./unidad. Aplica Programación Dinámica para obtener el plan de producción (cantidades y meses) óptimo, suponiendo que al comienzo del primer mes no dispones de ninguna unidad de producto en inventario, y que no dispones de espacio para llevar un inventario de más de dos unidades en ningún periodo. El valor de las unidades que estén en inventario al final del último periodo es de 2000 Pta./unidad. ¿Cuál hubiera sido la polı́tica óptima si el inventario inicial hubiese sido de dos unidades? 6. Un dispositivo consta de 3 etapas conectadas en serie. En cada etapa podemos tener un número de componentes variable mi , y la probabilidad de fallo en cada una de las etapas en función de dicho número de componentes viene dada por las expresiones siguientes: p1 = 0,5m1 , p2 = 0,75m2 , p3 = 0,6m3 . Los ingresos que se obtienen de la operación del sistema dependen de que los equipos estén funcionando correctamente o estén averiados. Dichos ingresos se dan en la tabla siguiente: 2 Estado F A 1 1500 −5000 Etapa 2 3000 −8000 3 2500 −6000 Por último, el coste de cada componente es de: Etapa Coste 1 100 2 150 3 75 Si se dispone de un presupuesto de 750 u.m., encontrar la manera de invertir este presupuesto en componentes de forma que se maximicen los ingresos esperados. Sugerencia: Incluye en el estado información sobre el dinero que no te has gastado todavı́a, y define las etapas de programación dinámica como decisiones de gasto en componentes de cada etapa. 3 EJEMPLO Figura 1: EJEMPLO: La diligencia 4