Universidad de Oriente Núcleo Bolívar Unidad Experimental Puerto Ordaz Cátedra: Investigación de Operaciones 2Profesor: Diego Capella Bachiller: Pablo Guerra C.I. Nº 16.388.728 Ciudad Guayana Junio, 2013 1 INDICE Introducción………………………………………………………………………………… ………………………………………. Problema de asignación………………………………………………………………………………… …………………. Modelo Matemático del Problema de asignación…………………………………………………………. Método Húngaro…………………………………………………………. ……………………………………………………… Casos Especiales del Problema de asignación………………………………………………………………… Soluciones múltiples Pág. Nº 03 04- 06 07- 10 10- 14 14 14- 16 2 Oficinas al personal.INTRODUCCIÓN Los problemas de asignación asocian igual número de orígenes con igual número de demandas y las ofertas en cada origen es de valor uno. que los recursos totales sean iguales a las demandas totales. es decir. Vendedores a regiones. El modelo de asignación tiene sus principales aplicaciones en: Trabajadores. productos a fabricar. Vehículos a rutas. 3 . es que se encuentre balanceado. La condición necesaria y suficiente para que este tipo de problemas tenga solución. etc. Máquinas. con la condición de que cada hombre puede ser asignado a un trabajo y que cada trabajo tendrá asignada una persona. como lo es la demanda en cada destino. El problema de asignación debe su nombre a la aplicación particular de asignar hombres a trabajos (o trabajos a máquinas). Existe un costo Cij asociado con el asignado i (i= 1. Los primeros tres supuestos son bastantes restrictivos cualquier problema que satisface todos estos supuestos se puede resolver en forma extremadamente eficiente mediante los algoritmos diseñados de manera especial para los problemas de asignación.2.) 2.…. También pueden ser maquinas.) 4. asignaciones para minimizar los costos totales.n) El objetivo es determinar como deben hacerse las n numero se denota por n.n). El siguiente ejemplo se refiere a maquinas asignadas a lugares de manera que la tarea en este caso se trata solo de tener una maquina.…. Por ejemplo los asignados pueden ser empleados.) 5. Muchas aplicaciones potenciales no los satisfacen por completo. La asignación de personas a trabajos es una aplicación común al problema de asignación. vehículos o plantas. a quienes se tiene que dar trabajo. o incluso periodos a los que se asignan tareas. Sin embargo los asignados no tienen que ser personas.) que realiza las tareas j (j= 1. Para que se ajuste a la definición de un problema de asignación es necesario que este tipo de asignación se formule de manera tal que cumpla los siguientes supuestos: 1.) 3. Por ejemplo muchas veces se pueden usar asignados ficticios o tareas ficticias con este fin. Ejemplo: 4 .) El numero de asignado es igual al numero de tareas (este A cada asignado se asigna solo una sola tarea Cada tarea debe realizarla solo un asignado.2. Con frecuencia es posible reformular el problema para hacerlo que se ajuste.PROBLEMA DE ASIGNACIÓN Es un tipo especial de problema de programación lineal en el que los asignados son recursos destinado a la realización de tareas. con cada una de las maquinas en los sitios respectivos. El lugar 2 no se considera adecuado para la maquina 2 por lo que no se da un costo para este caso. Tabla 1. La maquina ficticia se asigna al lugar 2. con lo que esta localidad queda disponible para una asignación real futura. debe asignarse un costo muy grande M a la asignación de la maquina 2 en el lugar 2 para evitarla en la solución optima en la tabla 1. Por lo tanto el objetivo es asignar las nuevas maquinas a los lugares disponibles de manera que se minimice el costo total del manejo de materiales. Algunos de ellos son mas adecuados que otros para ciertas maquinas en particular por su cercanía a los centros de trabajo que tendrían un flujo intenso de trabajo hacia y desde estas maquinas.1 se proporciona el costo estimado por unidad de tiempo del manejo de los materiales en cuestión.1 costos de manejo de materiales de la JOB SHOP COMPANY ($) 5 . Además. (No habrá flujo de trabajo entre las nuevas maquinas).La JOB SHOP COMPANY compro tres maquinas nuevas de diferentes tipos. En la tabla 1. debe introducirse una maquina ficticia en el lugar adicional.2 se muestra la tabla de costos que resulta para este problema de asignación. y la maquina 3 al lugar 1 con un costo total de 29$ por hora. Esta tabla de costos contiene todos los datos necesarios para resolver el problema la solución optima es asignara la Maquina 1 al lugar 4. la Maquina 2 al lugar 3. Para formular este como un problema de asignación. Existen cuatro sitios disponibles dentro del taller en donde se podría instalar una maquina. 1) Al igual que en un problema del transporte.1) T3 (.Tabla 1.2. un problema de asignación 13 12 16 T2 13 (. A1 11 15 (1) A2 20 5 (1) A3 6 7 10 6 Asignación (Localidad) T1 (.1) . Tabla de costos del problema de asignación de la JOB SHOP COMPANY ($) Asignados (Máquinas) Representación en red (1) se puede representar con una red.1) T4 (. 2. . y las demandas (o destinos) son las tareas o asignaciones realizarse. El modelo matemático para manejar el problema de asignación utiliza las siguientes variables de decisión: 1 si el asignado i realiza la asignacio n j xij = en caso contrario 0 i = 1. en la que Número de orígenes (m) = Número de destinos (n) Cada recurso si= 1 Cada demanda dj = 1 Una forma de resolver un problema de asignación es aplicar el método simplex de transporte.MODELO MATEMATICO DEL PROBLEMA DE ASIGNACIÓN En realidad un problema de asignación es un caso especial del problema del transporte. . Para ello se requiere que se convierta la tabla de costo en una tabla de parámetros para el problema de transporte equivalente Tomando en cuenta que la variable de decisión es una variable binaria. 2. en el que los recursos (u orígenes) son los asignados. n j = 1. n La variable decisión es una variable binaria (toma solo valores 0 o 1) Este tipo de variables son importantes en investigación de operaciones porque representan decisiones del tipo si o no Como se ha mencionado. 7 . un problema de asignación es un tipo especial de problema de transporte. se construye la siguiente tabla. hay tres orígenes y cuatro destinos. penalizamos con una cantidad muy grande (M). Costo por unidad distribuida Recursos Destino (Localidad) 3 1 2 4 12 1 13 16 11 Origen 1 13 (Máquina) 2 15 M 20 1 8 3 5 7 10 6 1 0 4(F) 0 0 0 1 Demanda 1 1 1 1 TABLA DE PARÁMETROS PARA JOB SHOP COMPANY . en la solución óptima. Para cumplir este requisito introducimos un origen ficticio (máquina nueva ficticia) para asignarla al lugar adicional. de la máquina 2 al lugar 2. Para tener un problema de asignación el número de asignados debe ser igual al número de tareas o asignaciones. Para evitar la asignación.TABLA DE PARÁMETROS CASO GENERAL Costo por unidad distribuida Recursos Destino 1 2 n Origen 1 c11 1 c1n c12 m=n 2 c21 c22 c2 n 1 n Demanda cn1 1 cn 2 1 cnn 1 1 1 En el problema de Job Shop Company. 2. . n ∑x i =1 n n ij =1 =1 para j = 1.2. ∀i. j ) El primer conjunto de restricciones indica que cada asignado debe realizar exactamente una tarea o asignación. X11+X12+X13+X14=1 X21+X23+X24=1 X31+X32+X33+X34=1 X41+X42+X43+X44=1 X11+X21+X31+X41=1 X12+X32+X42=1 X13+X23+X33+X43=1 X14+X24+X34+X44=1 9 .2. n ∀ i.Modelo de programación lineal general Sea Z el costo total: Z = ∑∑cij xij Minimizar = i =1 j =1 n n n Sujeto a: ∑x j =1 ij =1 para i = 1. El segundo conjunto de restricciones indica que cada asignación debe realizarla exactamente un asignado. . Minimice Z=13X11+16X12+12X13+11X14+15X21 Tercer conjunto de restricciones indica el número de máquinas +13X23+20X24+5X31+7X32+10X33+6X34 asignadas Sujeto a= a cada lugar. j ∑x i =1 ij xij ≥ 0 i ( xij binarias . n para j = 1. . MÉTODO HÚNGARO 10 .X11+X21+X31<=1 X12+X22+X32<=1 X13+X23+X33<=1 X14+X24+X34<=1 Solución óptima Z= 29. y no tienen significado para el problema original El valor de Z = 29 indica el costo de efectuar las asignaciones tal como se describieron anteriormente. Máquina 2 al lugar 3.00000 VARIABLE X11= 0 =1 X21= 0 =0 X31 = 1 =0 Solución: X12 = 0 X22 = 0 X32 = 0 X13 = 0 X23 = 1 X33 = 0 X14 X24 X34 Asignar maquina 1 a lugar 4. Máquina 3 al lugar 1 El lugar 2 queda disponible para alguna asignación futura La asignación de la máquina 4 al lugar 2 es solo una asignación ficticia Las variables básicas se dice que son variables básicas degeneradas. para resolver problemas de asignación Húngaro. Sea dicho costo k.En general. Paso 2: Trace el numero mínimo de líneas (horizontales o verticales) que son necesarias para cubrir todos los ceros de la matriz reducida. Por ello. reste a todos los coeficientes no tarjados el valor k y sume a todos los coeficientes tarjados por dos líneas el valor k. siga al Paso 3. El método Húngaro resuelve un problema de minimización a partir de una matriz de costos cuadrada. Paso 3: Determine el menor costo de la matriz reducida que no esta tarjado por las líneas del Paso 2. especialmente en problemas de gran tamaño. Sin embargo. el método Simplex para problemas de transporte es poco eficiente para resolver problemas de asignación. Si se requieren menos de m líneas. transporte. A continuación determine el costo mínimo en cada columna de la matriz resultante. Construya una nueva matriz (matriz de costos reducidos) restando a cada costo el menor costo de esa columna. Vuelva al Paso 1. los ceros de la matriz reducida indican la asignación optima. Si se requieren m líneas. haciendo algunas modificaciones puede ser más versátil: 11 (minimización) La principal se emplea es normalmente el método el Método es ventaja que húngaro considerablemente más simple que el método Simplex del problema de . Construya una nueva matriz restando a cada costo el costo menor de esa fila la. Para aplicar el método se deben seguir los siguientes pasos: Paso 1: Determine el menor elemento en cada fila de la matriz de costos (m £ m). Luego. Hay seis jugadores disponibles. el Club universitario debe enviar un equipo de 4 personas. por lo tanto se debe plantear como un problema de maximización. Cuadro 2. Dado que el Método Húngaro solo minimiza. Si el número de fila y columnas en la matriz de costos no son iguales. Balancee el problema. 2. balancee la matriz agregando filas o columnas artificiales según corresponda. multiplicaremos por -1 la matriz de 12 . multiplique la matriz de costos por -1 y resuelva el problema de minimización.1.1 Determine el mejor equipo que se podrá enviar al campeonato. 3. Para resolver un problema de asignación cuyo objetivo es maximizar la función objetivo. Los costos de las filas o columnas artificiales deben ser idénticos para todas las combinaciones de forma de no generar preferencias. Si se puede hacer una asignación mas de una vez. cuyos rendimientos relativos en cada una de las posiciones se indican en el Cuadro 2. el problema de asignación no esta balanceado. Similarmente al problema de transporte. repita la fila o columna según corresponda cuantas veces sea necesario.1 Rendimientos de los jugadores En este caso interesa maximizar el rendimiento del equipo. Ejemplo: Para participar en el próximo campeonato de bridge. agregaremos dos columnas artificiales para cuadrar la matriz.ganancias. Se vuelve a buscar el número mínimo de líneas que cubran todos los ceros y se identifica el coeficiente menor no tarjado: Se vuelve a aplicar el método a la matriz siguiente: 13 . luego la matriz de costos queda: A continuación se resta el mínimo costo por filas y por columnas y se busca el número mínimo de líneas que cubran todos los ceros: Restando 1 a las celdas no tarjadas y sumándoselo a las tarjadas dos veces se obtiene la siguiente tabla. Además. A continuación se procede a asignar: Si bien en la tabla anterior. Luego: Por lo tanto. Considere la matriz de utilidades del problema como la característica nueva la cual consiste en que el número que aparece en cada celdilla representa un beneficio en lugar de un costo. las dos opciones de asignación posibles representan que Raúl y Sergio no integraran el equipo. luego se ha alcanzado el óptimo. Considere un problema de asignación en el que la respuesta a cada asignación es una utilidad en vez de un costo. se asigna una actividad ficticia con un costo de cero para mantener la condición de método que debe ser igual número de ofertas y demandas. CASOS ESPECIALES EN EL PROBLEMA DE ASIGNACIÓN Oferta y demanda desiguales.En la nueva matriz de costos no es posible trazar un número inferior a 6 líneas para cubrir todos los ceros. Cuando la oferta y la demanda son desiguales. la asignación óptima tiene un rendimiento esperado de 27. 14 . Problemas de maximización. la tercera y cuarta fila (o quinta y sexta columna) no están asignadas. Problema de selección: Es un caso especial donde la función u objetivo es maximizar pero el problema se trata igual que una minimización al multiplicar por (-1). 3. Ejemplo. 2.A. Maximizar Z = 4x1+14x2 S. SOLUCIONES MÚLTIPLES ÓPTIMAS Este caso se presenta cuando la función objetivo es paralela a una de las restricciones del problema. Para alcanzar esta meta. entonces la función objetivo asume el mismo valor de una solución básica factible optima al menos una de las variables no-básicas tiene u coeficiente de cero en la solución final en la ecuación (0). M es un número tan grande que si se le resta un número finito cualquiera. queda todavía un valor mayor que los demás. 2x1 + 7x2 + x3 = 21 7x1 + 2x2 + x4 = 21 xj³>0 (j =1. simplemente asigna un costo arbitrariamente grande representado mediante la letra M.A.Problemas con asignación inaceptable. Maximizar Z -4x1-14x2 = 0 S. Si esto sucede debemos introducir a la base esa variable no-básica. Supóngase que se está resolviendo un problema de asignación y que se sabe que ciertas asignaciones son inaceptables. 4) 15 . 2x1 + 7x2 # 21 7x1 + 2x2 # 21 xj³>0 (j=1.2) En forma estándar e igualando a cero la función objetivo. Segunda tabla simplex.Primera tabla simplex. Primera solución óptima. Tercera tabla simplex. Primera solución óptima X1 = 0 X2 = 3 16 . Segunda solución óptima Conclusión: Se trata de un problema de soluciones óptimas múltiples. Construyendo la tabla inicial simplex. se resta este costo de todos los elementos del tablero y se resuelve como un problema de minimización. Una de las variables no-básicas tiene un coeficiente cero en el renglón de la función objetivo.Valor óptimo de Z = 42 Segunda solución óptima X1 = 7/3 X2 = 7/3 Valor óptimo de Z = 42 Los problemas con soluciones óptimas múltiples se identifican. si al obtener las soluciones óptimas se presenta: A. C. Se determina el costo más elevado de la tabla. Otra solución óptima es generada introduciendo a la base a la variable identificada en el inciso (a) y procediendo con la aplicación del algoritmo del método simplex. B. Problema De Asignación Generalizado Si suponemos que existen m trabajadores y cada uno de ellos tiene cierta cantidad de recursos disponibles y existen n tareas que deben 17 . MAXIMACION Cuando se tiene un problema de asignación de maximización se puede resolver de las siguientes formas: Se multiplica la función objetivo por -1 y se resuelve como un problema de minimización. Al menos uno de los coeficientes de la columna identificada en el inciso (a) es positivo. Cij: Costo para que el trabajador i – ésimo lleve a cabo la j – ésima tarea. Ejemplo: Asignar maximizando el siguiente Problema. 18 . el segundo conjunto de restricciones afianza el hecho que cada uno de los trabajos lo lleva a cabo un solo trabajador.llevarse a cabo.esimo trabajador rij: Recursos del trabajador i – ésimo necesarios para realizar la j – ésima tarea. el problema de asignación generalizado puede plantearse de la siguiente manera: Sujeta ha: bj: Cantidad de recursos para el i . El primer conjunto de restricciones asegura que no se utilizan más recursos de los que están disponibles para cada trabajador. Como este es un problema de maximización entonces primero pasaremos a convertirlo en minimización: lo pasamos a minimización con operación columna Ahora como una minimización primero operación fila: Ahora operación columna 19 . Tiene una limitante y es que a cada tarea se le puede asignar sólo un recurso. EJEMPLO: Existen cuatro operarios que se pueden asignar al trabajo con tres máquinas. o tres. una matriz de tiempos. por ejemplo una matriz de costos. se debe balancear para que tenga solución mediante la inclusión de filas o columnas ficticias. etc.. pero no nos diría como asignar dos operarios a dos máquinas y el otro operario a las otras dos máquinas. por ejemplo si se tienen tres operarios con diferentes tiempos de operación en cuatro máquinas el modelo nos diría como asignar los tres operarios a tres máquinas (nos sobraría una) de manera que se minimice el tiempo total. Indicar que 20 . pueden sobrar recursos o podrían sobrar tareas pero no se le puede asignar dos recursos a una misma tarea. con valores de cero en dicha matriz. de ingresos. es decir. cuando sobran filas o columnas. Un estudio de tiempos y movimientos ha arrojado los siguientes tiempos por operario para las tres máquinas. cuando no es cuadrada.Como aquí se encuentra la solución entonces se compara con la matriz original. El Problema de la Asignación se basa en una información comparativa para tomar la decisión de que asignar a que. Por lo tanto el resultado será: A le corresponde e B se le asigna c C lo canalizamos con d D lo asignamos a b E le corresponde a ⇒ Z=8 + 6 + 5 + 7 + 4 =30 PROBLEMA DESBALANCEADO Este problema se trata de asignar una serie de Recursos a una serie de tareas. Cuando la matriz no está balanceada.. operario debe trabajar en que máquina y cuál de ellos no será asignado a ninguna. es necesario incluir una máquina ficticia: (esto es fundamental para asegurar que haya una respuesta. Máquina Máquina Máquina 1 2 3 Operario 1 Operario 2 Operario 3 Operario 4 10 7 9 8 7 5 8 9 9 8 10 7 Como la matriz no esta balanceada. Si la matriz no está balanceada. el problema no será factible de resolver) Máquina Máquina Máquina 1 2 3 Operario 1 Operario 2 Operario 3 Operario 4 10 7 9 Máquina Ficticia 0 7 5 8 0 9 8 10 0 8 9 7 0 Xij = Se debe asignar el operario i a la máquina j? Sí o no? 21 . En matemáticas existen dos números cuyas propiedades hacen que puedan representar estas respuestas son el 1 y el 0. Así por ejemplo: 10X11 + 7X12 + 9X13 + 0X14 Representa el tiempo sumado que emplearía el operario1 en operar las máquinas.. X11 + X12 + X13 + X14 = 1 X21 + X22 + X23 + X24 = 1 X31 + X32 + X33 + X34 = 1 X41 + X42 + X43 + X44 = 1 7X43 Y como cada máquina solo puede tener un operario asignado. lo que significaría que el tiempo que utilice el operario 1 puede ser ya sea de "10" de "7" o de "9". Con base en esto podemos formular la función objetivo: Min Z = 10X11 + 7X12 + 9X13 7X21 + 5X22 + 8X23 9X31 + 8X32 + 10X33 8X41 + 9X42 + Restricciones: Como cada operario sólo puede estar asignado a una máquina. debido a que todo número multiplicado por 1 da el mismo número entonces el 1 se puede reemplazar por la respuesta Sí y como todo número multiplicado por cero da cero entonces se puede reemplazar por la respuesta No. y eso es debido a que el operario 1 sólo puede ser asignado a una máquina. X11 + X21 + X31 + X41 = 1 X12 + X22 + X32 + X42 = 1 22 .. pero solo una variable de las tres anteriores puede tomar el valor de Sí. o sea de 1 las demás tendrán que tomar el valor de 0.. j. Máquina Máquina Máquina 1 2 3 Operario 1 Operario 2 Operario 3 Operario 4 0 0 1 0 0 1 0 0 0 0 0 1 Máquina Fic. el operario 3 se asigna a la máquina 1 y el operario 4 se asigna a la máquina 3. 1 0 0 0 Esto significa que el Operario 1 queda asignado a la Máquina Ficticia (es decir. 23 . el operario 2 se asigna a la máquina 2.X13 + X23 + X33 + X43 = 1 X14 + X24 + X34 + X44 = 1 Xij = 1 o 0 para toda i. es el que sobra). el problema de asignación está desbalanceado. se debe multiplicar la matriz de ganancias por menos uno (-1) y resolver el problema como uno de minimización. Se puede demostrar que si se necesitan j líneas para cubrir todos los ceros. como ¿qué candidato es el idóneo para la vacante?. se debe balancear primero cualquier problema de asignación (añadiendo filas o columnas ficticias) antes de resolverlo mediante el método Húngaro. pues generalmente la cantidad de aspirantes es exageradamente superior al número de vacantes (lógicamente haciendo referencia a la aplicación del modelo al contexto de oferta y demanda laboral). o ¿qué personal es el indicado para la línea productiva?. Si el número de filas y de columnas en la matriz de costos son diferentes. Para resolver un problema de asignación en el cual la meta es maximizar la función objetivo. El método Húngaro puede proporcionar una solución incorrecta si el problema no está balanceado. o ¿qué personal es el mejor para ejecutar determinada tarea? Una característica particular del modelo de asignación es que para su resolución no se hace necesario que el número de fuentes sea igual al número de destinos. y dado que hemos asociado el modelo a una gran diversidad de circunstancias esta pregunta puede plantearse en múltiples contextos. entonces se pueden asignar solamente j trabajos a un costo 24 . debido a lo anterior. puede resultar difícil obtener el mínimo número de filas necesarias para cubrir todos los ceros en la matriz de costos actual.CONCLUSIÓN En el problema de asignación la idea fundamental de resolución es ¿qué fuente satisface mejor el destino?. En un problema grande. lo cual es muy común en la vida real teniendo en cuenta su aplicación. cero en la matriz actual. 25 . esto explica por qué termina cuando se necesitan m líneas.