PROBLEMAS DE ASIGNACION
PROBLEMAS DE ASIGNACIÓN
El Problema de la Asignación es un problema clásico de la Investigación de Operaciones y es un caso particular del Problema del Transporte.
Este problema se trata de asignar una serie de Recursos a una serie de tareas.
Tiene una limitante y es que a cada tarea se le puede asignar sólo un recurso, pueden sobrar recursos o podrían sobrar tareas pero no se le puede asignar dos recursos a una misma tarea, o tres... 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, pero no nos diría como asignar dos operarios a dos máquinas y el otro operario a las otras dos máquinas.
Ejemplos de Asignaciones: Operarios a Tareas, Máquinas a Operarios, Nadadores a Estilos, Novias a días de la semana, etc, etc, etc.
El Problema de la Asignación se basa en una información comparativa para tomar la decisión de que asignar a que, por ejemplo una matriz de costos, una matriz de tiempos, de ingresos, etc.
Cuando la matriz no está balanceada, es decir, cuando no es cuadrada, cuando sobran filas o columnas, se debe balancear para que tenga solución mediante la inclusión de filas o columnas ficticias, con valores de cero en dicha matriz.
Teorema fundamental de la asignación:Si a todos los elementos de una fila o de una columna de una matriz de rendimientos se le suma o se le resta una cantidad constante la asignación optima no varía.
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.
Este problema se trata de asignar una serie de Recursos a una serie de tareas.
Tiene una limitante y es que a cada tarea se le puede asignar sólo un recurso, pueden sobrar recursos o podrían sobrar tareas pero no se le puede asignar dos recursos a una misma tarea, o tres... 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, pero no nos diría como asignar dos operarios a dos máquinas y el otro operario a las otras dos máquinas.
Ejemplos de Asignaciones: Operarios a Tareas, Máquinas a Operarios, Nadadores a Estilos, Novias a días de la semana, etc, etc, etc.
El Problema de la Asignación se basa en una información comparativa para tomar la decisión de que asignar a que, por ejemplo una matriz de costos, una matriz de tiempos, de ingresos, etc.
Cuando la matriz no está balanceada, es decir, cuando no es cuadrada, cuando sobran filas o columnas, se debe balancear para que tenga solución mediante la inclusión de filas o columnas ficticias, con valores de cero en dicha matriz.
Teorema fundamental de la asignación:Si a todos los elementos de una fila o de una columna de una matriz de rendimientos se le suma o se le resta una cantidad constante la asignación optima no varía.
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.
Comentarios
Publicar un comentario