Investigación de Operaciones I Problemas de Asignación MSc. Ing. Julio Rito Vargas II cuatrimestre 2012 Introducción Los problemas de asignación incluyen aplicaciones tales como asignar personas a tareas. Aunque sus aplicaciones parecen diferir de las del problema del transporte, constituye un caso particular. Los problemas de transporte y asignación son casos particulares de un grupo más grande de problemas, llamados problemas de flujo en redes. Introducción El problema de asignación es un tipo especial de problema de programación lineal en el que los asignados son recursos destinados a la realización de tareas Ej. Empleados a trabajo Máquinas a tareas Períodos a tareas Supocisiones de un problema de asignación 1. El número de asignados es igual al número de 2. 3. 4. 5. tareas (se denota por n). (esto puede variar) Cada asignado se asigna exactamente a una tarea. Cada tarea debe realizarla exactamente un asignado. Existe un costo cij asociado con el asignado i (i=1,2,…,n). El objetivo es determinar cómo deben hacerse las asignaciones para minimizar los costos totales. Caso Fowle Marketing Research Tiempos estimados de terminación del proyecto (días) Jefe de Cliente Proyecto 1 2 3 1. Terry 10 15 9 2. Carla 9 18 5 3. Roberto 6 14 3 Problema de la Fowle Representación en Red Jefes de Proyecto Nodos de Origen Asignaciones Posibles Clientes Nodos de Destino Arcos [1] J1 C1 [1] [1] J2 18 C2 [1] [1] J3 3 C3 [1] Variables de decisión 1 si se asigna el jefe de proyecto i al cliente j xij 0 si no es así Planteamiento matemático Sea Z tiempo total de terminación M in Z 10 x11 15 x12 9 x13 9 x21 18 x22 5 x23 6 x31 14 x32 3 x33 Sujeta a las restriccio nes x11 x12 x13 1 x21 x22 x23 1 x31 x32 x33 1 x21 x11 x31 x22 x12 x13 xij 0 (i 1,2,3; j 1,2,3,4) x23 x32 1 1 x33 1 Solución Asignaciones Jefe de Cliente Proyecto 1 2 1. Terry 0 1 2. Carla 0 0 3. Roberto 1 0 1 1 = = 1 1 3 0 1 0 1 = 1 1 1 1 = = = Costo 26 1 1 1 Representación de red para el problema general [1] S1 [1] S2 c21 c11 c12 c1n c2n c22 cm1 cm2 cmn [1] Sm D1 [1] D2 [1] Dm [1] Planteamiento matemático modelo general m n min Z cij xij i 1 j 1 sujeta a n x j 1 ij m x j 1 ij 1 para i 1,2,..., m, 1 para j 1,2,..., n, xij 0, para i y j ( xij binarias, para toda i y j ). Problema Natación El entrenador de un equipo de natación debe asignar competidores para la prueba de 200 metros de relevo combinado que irán a las Olimpiadas Juveniles. Como muchos de sus mejores nadadores son rápidos en más de un estilo, no es fácil decidir qué nadador asignar a cada uno de los cuatro estilos. Los cinco mejores nadadores y sus mejores tiempos (en segundos) en cada estilo son los siguientes. Dorso Pecho Mariposa Libre Carlos 37.7 43.4 33.3 29.2 Tiempo de Nado Cristy David Antony 32.9 33.8 37 33.1 42.2 34.7 28.5 38.9 30.4 26.4 29.6 28.5 José 35.4 41.8 33.6 31.1 Solución Problema Natación (Solución) Dorso Pecho Mariposa Libre Carlos 0 0 0 1 1 <= 1 Tiempo de Nado Cristy David Antony 0 1 0 0 0 1 1 0 0 0 0 0 1 1 1 <= <= <= 1 1 1 José 0 0 0 0 0 <= 1 1 1 1 1 = 1 = 1 = 1 = 1 126.2 TIEMPO Min. Problema de Asignación El gerente de la línea de producción de una empresa electrónica debe asignar personal a cinco tareas. Existen cinco operadores disponibles para asignarlos. El gerente de línea tiene a su disposición datos de prueba que reflejan una calificación numérica de productividad para cada uno de los cinco trabajos. Estos datos se obtuvieron a través de un examen de operación y prueba administrado por el departamento de ingeniería industrial (véase la tabla P3-20). Suponiendo que un operador puede ejecutar un solo trabajo, plantee un modelo que conduzca a la asignación óptima de tareas. TABLA P3-20 Número de operador Op1 Op2 Op3 Op4 Op5 Número de trabajo 1 2 3 4 5 12 6 10 2 7 16 8 6 4 10 24 20 26 2 6 8 14 18 24 6 2 6 12 20 18 1.Formular el modelo como uno de PL 2.Desarrollar el modelo Matemático Método Húngaro 1) A todos los elementos de cada columna restar el menor elemento de la columna. En la matriz resultante, restar a todos los elementos de cada fila el menor elemento de la fila. Así se garantiza la obtención de por lo menos un cero en cada fila y columna. 2) Con la matriz resultante, verificar la existencia de una solución óptima. Para encontrarla se debe asignar un cero a cada fila( comenzando por las que tengan menor Nº de ceros), y cancelar los demás ceros de esa fila y los ceros de la columna en la que se encuentra ese cero. Repetir esta operación hasta que no queden ceros sin asignar o cancelar. Si no existe solución óptima ir al paso 3. Método Húngaro 3) Realizar lo siguiente: a) Marcar con un * todas la filas que no contengan ceros asignados. b) Marcar todas las columnas que contengan uno o más ceros cancelados en alguna fila marcada. c) Marcar toda fila que tenga un cero asignado en una columna marcada. d) Repetir b) y c) hasta que no sea posible marcar más filas o columnas. e) Poner un trazo (línea) sobre toda fila no marcada y sobre toda columna marcada. Método Húngaro 4) Tomar el menor número no atravesado por un trazo(línea) y: • Restarlo a todos los elementos de las filas no atravesadas. • Sumarlo a todos los elementos de columnas atravesadas. Volver al paso 2. Ejemplo de Asignación usando el método Húngaro. Se desea asignar 4 máquinas a 4 lugares posibles. A continuación se presentan los costos asociados. Maquina\Lugar 1 2 3 4 1 2 3 4 3 5 3 3 5 14 10 10 12 6 19 17 2 17 10 12 Ejemplo (cont.) Paso 1. 1 2 3 4 1 0 0 6 0 2 3 4 2 0 0 9 5 5 0 13 11 15 8 10 Paso 2. 1 2 3 4 1 0 2 0 0 2 0 9 5 5 3 6 0 13 11 4 0 15 8 10 No hay óptimo pues hay 3 asignaciones que es <4 Ejemplo (cont.) Paso 3. a) 1 2 3 * 4 1 0 0 6 0 1 * 2 3 * 4 * 1 0 0 6 0 c) 2 3 4 2 0 0 9 5 5 0 13 11 15 8 10 2 3 4 2 0 0 9 5 5 0 13 11 15 8 10 b) 1 2 3 * 4 * 1 0 0 6 0 2 3 4 2 0 0 9 5 5 0 13 11 15 8 10 d) No es posible marcar más filas ni columnas Ejemplo (cont.) Paso 3. e) 1 * 2 3 * 4 * 1 0 0 6 0 2 3 4 2 0 0 9 5 5 0 13 11 15 8 10 Paso 2. 1 2 3 4 1 2 3 4 5 2 0 0 0 4 0 0 11 0 13 11 0 10 3 5 Paso 4. El menor número es 5 1 2 3 4 1 2 3 4 5 2 0 0 0 4 0 0 11 0 13 11 0 10 3 5 Óptimo pues hay 4 asignaciones: • Máq. 1 a lugar 3 • Máq. 2 a lugar 4 • Máq. 3 a lugar 2 • Máq. 4 a lugar 1 Costo total=21 Problema de Asignación Se deben utilizar cuatro barcos cargueros para transportar bienes de un puerto a otros cuatro puertos (numerados 1,2,3, y 4). Se puede usar cualquier barco para hacer cualquiera de los cuatro viajes. Sin embargo, dadas algunas diferencias entre los barcos y las cargas, el costo total de carga, transporte y descarga de bienes de las distintas combinaciones de barcos y puertos varía de manera considerable. Estos costos se muestran en la tabla siguiente. Tabla de datos Puerto 1 Barcos 2 3 4 1 $500 $400 $600 $700 2 $600 $600 $700 $500 3 $700 $500 $700 $600 4 $500 $400 $600 $600 El objetivo es asignar los barcos a los puerto en una correspondencia uno a uno de manera que se minimice el costo total de los cuatro envíos. Formule el modelo como un PPL Obtenga una solución óptima Muestre la solución en gráfico de red Obtenga la solución como un problema de asignación. Aplique en forma manual el algoritmo húngaro. Al problema de costos (Asignación) Tarea Personas 1 2 3 4 A 4 6 5 5 B 7 4 5 6 C 4 7 6 4 D 5 3 4 7 Solución mediante el método Húngaro Problema: El profesor Michell ha terminado 4 capítulos de su libro y esta pensando en pedir ayuda para terminarlo. El ha elegido a 4 secretarias que podrían tipearle cada uno de sus capítulos. El costo asociado refleja la velocidad de la secretaria y la exactitud con la que realiza el trabajo. Además los capítulo difieren en la cantidad de hojas y en la complejidad. ¿Qué puede hacer el profesor si conoce la siguiente tabla: Capítulos Secretaría 13 14 15 16 Juana 96 99 105 108 María 116 109 107 96 Jackeline 120 102 113 111 Edith 114 105 118 115 Restricciones del Método * Todas las asignaciones son posibles * Una asignación por persona y una persona por asignación Matriz de Costos Secretaría Juana María Jackeline Edith Capítulos 13 14 96 99 116 109 120 102 114 105 15 16 105 108 107 96 113 111 118 115 Restar el Menor valor de cada fila Secretaría Juana María Jackeline Edith 13 0 20 18 9 Capítulos 14 15 3 9 13 11 0 11 0 13 16 12 0 9 10 Restar el menor valor de cada columna en la matriz anterior Secretaría Juana María Jackeline Edith 13 0 20 18 9 Capítulos 14 15 3 0 13 2 0 2 0 4 16 12 0 9 10 Trazar el mínimo número de líneas que cubran los ceros de la matriz obtenida en el punto anterior. Secretaría Juana María Jackeline Edith 13 0 20 18 9 Capítulos 14 15 3 0 13 2 0 2 0 4 16 12 0 9 10 Si el número de líneas es igual al número de filas se esta en la solución óptima, sino identificar el menor valor no rayado restárselo a los demás números no rayados y sumarlo en las intersecciones. Pare este caso corresponde al valor 2 Secretaría Juana María Jackeline Edith 13 0 18 16 7 Capítulos 14 15 5 0 13 0 0 0 0 2 16 14 0 9 10 Las asignaciones corresponde a los valores donde existen 0 Juana María Jackeline Edith Cap. 13 Cap. 16 Cap. 15 Cap. 14 *Costo Asignación: 96 + 96 +113 +105 =410