MODELO DE ASIGNACIÓN
MODELO DE ASIGNACIÓN
El modelo de asignación es un tipo especial de problema de programación lineal en el que los asignados son recursos que se destinan a la realización de tareas. Por ejemplo, los asignados pueden ser empleados a quienes se tiene que dar trabajo. La asignación de personas a trabajos es una aplicación común del problema de asignación. Sin embargo, los asignados no tienen que ser personas. También pueden ser máquinas, vehículos o plantas, o incluso periodos a los que se asignan tareas.
“La mejor persona para el puesto” es una buena descripción del modelo de asignación.
El objetivo del modelo es determinar la asignación óptima (de costo mínimo) de trabajadores a puestos.
El modelo general de asignación con n trabajadores y n puestos se representa en la tabla siguiente:
Para que se ajuste a la definición de un problema de asignación, es necesario que este tipo de aplicaciones se formule de manera tal que se cumplan los siguientes supuestos:
- El número de asignados es igual al número de tareas. (Este número se denota por n.)
- A cada asignado se le asigna sólo una tarea.
- Cada tarea debe realizarla sólo un asignado.
- Existe un costo cij asociado con el asignado i (i 5 1, 2, . . . , n) que realiza la tarea j ( j 1, 2, . . . , n).
- El objetivo es determinar cómo deben hacerse las n asignaciones para minimizar los costos totales.
Se puede resolver el modelo de asignación en forma directa como modelo normal de transporte. Sin embargo, el hecho de que todas las ofertas y las demandas son iguales a 1, condujo al desarrollo de un algoritmo sencillo de solución llamado método húngaro.
MÉTODO HÚNGARO
El método Húngaro es un método de optimización de problemas de asignación, conocido como tal gracias a que los primeros aportes al método clásico definitivo fueron de Dénes König y Jenő Egerváry dos matemáticos húngaros. El algoritmo tal como se detallará a continuación está diseñado para la resolución de problemas de minimización únicamente.
Es importante resaltar que el método húngaro trabaja en una matriz de costos n*m (en este caso conocida como matriz m*m, dado que el número de filas es igual al número de columnas n = m).
Para resolver problemas de asignación, aplicando el método Húngaro, se requiere seguir los siguientes algoritmos o pasos:
Paso 1
En la matriz original de costo, identificar el mínimo de cada renglón y restarlo de todos los elementos del renglón.
Paso 2
En la matriz que resulte del paso 1, identificar el mínimo de cada columna, y restarlo de todos los elementos de la columna.
Paso 2.1
Si no se puede asegurar una asignación factible (con todos los elementos cero) con los pasos 1 y 2,a). Trazar la cantidad mínima de líneas horizontales y verticales en la última matriz reducida que cubran todos los elementos cero.
b). Seleccionar el elemento mínimo no cubierto, restarlo de todo elemento no cubierto y a continuación sumarlo a todo elemento en la intersección de dos líneas.
c). Si no se puede encontrar una asignación factible entre los elementos cero que resulten, repetir el paso 2.1. En caso contrario, seguir en el paso 3 para determinar la asignación óptima.
Paso 3
Identificar la solución óptima como la asignación factible asociada con los elementos cero de la matriz obtenida en el paso 2.
EJEMPLO #1
Un equipo de 3 mecánicos debe ser asignado para la realización de 3 tareas, donde cada mecánico debe hacer una tarea. Se requiere encontrar la asignación de costo mínimo para lo cual se dispone de los costos asociados a que el mecánico i realice la tarea j.
SOLUCIÓN
PASO 1: En la matriz original de costo, identificar el mínimo de cada renglón y restarlo de todos los elementos del renglón.
PASO 2: En la matriz que resulte del paso 1, identificar el mínimo de cada columna, y restarlo de todos los elementos de la columna.
PASO 3: Identificar la solución óptima como la asignación factible asociada con los elementos cero de la matriz obtenida en el paso 2.
Las celdas con valor cero y color cafés son la solución óptima. En consecuencia el mecánico 1 realiza la tarea 2, el mecánico 2 asuma la tarea 1 y el mecánico 3 la tarea 3. Cada mecánico realiza exactamente una tarea y el costo total de dicha asignación (valor óptimo) es de Q9+Q10+Q8=Q27.
EJEMPLO #2
JoShop debe asignar 4 tareas a 4 trabajadores. El costo de realizar un trabajo es función de los conocimientos de los trabajadores. La siguiente tabla resume el costo de las asignaciones. El trabajador 1 no puede hacer el trabajo 3, y el trabajador 3 no puede hacer el trabajo 4. Determine la asignación óptima con el método húngaro.
SOLUCIÓN
PASO 1: En la matriz original de costo, identificar el mínimo de cada renglón y restarlo de todos los elementos del renglón.
PASO 2: En la matriz que resulte del paso 1, identificar el mínimo de cada columna, y restarlo de todos los elementos de la columna.
PASO 2.1: Si no se puede asegurar una asignación factible (con todos los elementos cero) con los pasos 1 y 2
- A). Trazar la cantidad mínima de líneas horizontales y verticales en la última matriz reducida que cubran todos los elementos cero.
- B). Seleccionar el elemento mínimo no cubierto (color amarillo), restarlo de todo elemento no cubierto y a continuación sumarlo a todo elemento en la intersección de dos líneas.
- C). Si no se puede encontrar una asignación factible entre los elementos cero que resulten, repetir el paso 2.1. En caso contrario, seguir en el paso 3 para determinar la asignación óptima.
PASO 3: Identificar la solución óptima como la asignación factible asociada con los elementos cero de la matriz obtenida en el paso 2.
Las celdas con valor cero y color verde son la solución óptima. En consecuencia el trabajador 1 realizará el trabajo 4, el trabajador 2 asuma el trabajo 3, el trabajador 3 realizará el trabajo 2 y el trabajador 4 el trabajo 1. Cada trabajador realizará exactamente un trabajo y el costo total de dicha asignación (valor óptimo) es de Q20+Q20+Q30+70=Q140.
Comentarios
Publicar un comentario