Contador


viernes, 11 de enero de 2019

2.3 Problema de la asignación.


Problema de la asignación.

Introducción.

El problema de asignación consiste en encontrar la forma de asignar ciertos recursos disponibles (máquinas o personas) para la realización de determinadas tareas al menor coste, suponiendo que cada recurso se destina a una sola tarea, y que cada tarea es ejecutada por uno solo de los recursos. Es uno de los problemas fundamentales de optimización combinatoria de la rama de optimización o investigación operativa en matemática. El modelo se puede aplicar a la asignación de empleados a tareas, de fábricas a productos, de vendedores a territorios, de postores a contratos, etc. Con una sencilla manipulación, el método también se puede aplicar al caso en el que se pretende maximizar cierta cantidad.
Formalmente, el problema de la asignación consiste en encontrar un emparejamiento de peso óptimo en un grafo bipartito ponderado. El problema de asignación es un caso particular del problema de transporte, en el que la oferta en cada origen y la demanda en cada destino son ambas de valor 1.

Definición del problema de asignación.

En su forma más general, el problema es como sigue:
Hay un número de agentes y un número de tareas. Cualquier agente puede ser asignado para desarrollar cualquier tarea, contrayendo algún coste que puede variar dependiendo del agente y la tarea asignados. Es necesario, para desarrollar todas las tareas, asignar un solo agente a cada tarea de modo que el coste total de la asignación sea mínimo.
Este tipo de problemas son lineales, con una estructura de transporte, solo que la oferta en cada origen es de valor uno y la demanda en cada destino es también de valor uno. Sería muy ineficiente resolver este tipo de problemas por medio del método simplex o por medio del algoritmo de transporte. Debido a la estructura propia de los problemas de asignación, existen métodos de solución llamados "algoritmos de asignación" que son más eficientes que el simplex o que el método de transporte.
Los problemas de asignación presentan una estructura similar a los de transporte, pero con dos diferencias: asocian igual número de orígenes con igual número de demandas y las ofertas en cada origen es de valor uno, como lo es la demanda en cada destino.
La restricción importante para cada agente es que será asignado a una sola tarea.


Características

El problema de asignación presenta las siguientes características:
El Problema de Asignación debe estar equilibrado, es decir, que la relación entre las ofertas y las demandas sean igual a 1. Un elemento importante para el problema de asignación es la matriz de costos. Si el número de renglones o columnas no son iguales el problema está desbalanceado y se puede obtener una solución incorrecta. Para obtener una solución correcta la matriz debe ser cuadrada.
Si el número de agentes y tareas son iguales y el coste total de la asignación para todas las tareas es igual a la suma de los costes de cada agente (o la suma de los costes de cada tarea, que es lo mismo en este caso), entonces el problema es llamado problema de asignación lineal. Normalmente, cuando hablamos de problema de asignación sin ninguna matización adicional, nos referimos al problema de asignación lineal.
Oferta: Cantidad que representa la disponibilidad del artículo en la fuente/fábrica de donde proviene.
Demanda: Cantidad de artículos que necesita recibir el destino para cumplir sus necesidades.

Diferencias con el Modelo de Transporte y Asignación

Los problemas de asignación son casos particulares de los problemas de transporte y constituyen la clase más sencilla de los problemas lineales, en el cual los trabajadores representan las fuentes y los puestos representan los destinos.
·         En el problema de transporte existen m orígenes y n destinos, y el flujo se realiza desde un origen hacia cada uno de los diferentes destinos. Si en este caso permitimos el flujo en ambos sentidos (de origen a destino y destino a origen) se puede hablar de un problema de m + n orígenes y m + n destinos. A este tipo de problemas se les conoce con el nombre de problemas de transbordo (transhipment problems) o transporte con nodos intermedios.
·         En el caso más general, cada punto de origen o destino pude ser un punto de transbordo, es decir, cada origen puede evitar o transportar a otros orígenes o a distintos; y los destinos pueden transportar a su vez a otros destinos o volver a los orígenes. Un punto conserva su identidad, origen o destino, solamente cuando sea respectivamente, un punto que originalmente disponga de un suministro o un punto que tenga una demanda a satisfacer.
·         En los problemas de asignación las ofertas en cada origen es de valor uno, como lo es la demanda en cada destino; una gran diferencia con respecto a los problemas de transporte.

Balanceado

Se dice que un problema de asignación se encuentra balanceado, si los recursos totales son iguales a las demandas totales. En caso contrario se dice que no está balanceado el problema.
Además en el modelo, m = n (obtener una matriz cuadrada), en donde m número de renglones y n es número de columnas.
Para lograr que el modelo este balanceado se pueden agregar trabajadores/tareas ficticias con costos de cero.








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.
Este método utiliza la propiedad de reducción de matrices para reducir la matriz original de costo, hasta que los costos C i j asociados con la asignación óptima, sean cero y todos los otros costos sean no negativos.
En cada iteración del método húngaro, se reduce la matriz de tal manera que haya al menos un cero en cada renglón y columna, comprobando con el teorema de König si se ha alcanzado la solución óptima. Si el número mínimo de renglones y/o columnas necesarios para cubrir todos los ceros es n, entonces existe una asignación óptima (no necesariamente única).
El algoritmo tal como se detallará a continuación está diseñado para la resolución de problemas de minimización únicamente, ya que es más eficaz para resolver el problema del transporte por el alto grado de degeneración que pueden presentar los problemas de asignació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.
Suposiciones de un problema de asignación:
1.    El número de asignados es igual al número de tareas (se denota por n). (esto puede variar).
2.    Cada asignado se asigna exactamente a una tarea.
3.    Cada tarea debe realizarla exactamente un asignado.
4.    Existe un costo cij asociado con el asignado i (i=1,2,…,n).
5.    El objetivo es determinar cómo deben hacerse las asignaciones para minimizar los costos totales
Procedimiento:
El Método Húngaro consta de los siguientes pasos:
Paso 1: En la matriz original de costo, identificar el mínimo de cada fila y restarlo de todos los elementos de la fila.
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.
A continuación presentaremos un ejemplo que muestra la aplicación del Método Húngaro que nos permite decidir la asignación de trabajadores a puestos de trabajo.
Ejemplo:
Un equipo de 3 ingenieros debe ser asignado para la realización de 3 tareas, donde cada ingeniero 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 ingeniero i realice la tarea j. Por ejemplo, representa el costo correspondiente a que el ingeniero 1 asuma la tarea 1.
Aplicar el Método Húngaro para encontrar una asignación óptima de los ingenieros a las tareas.
El Paso 1 del Método Húngaro requiere identificar el valor mínimo de cada fila. En el caso de la fila 1 dicho valor es $9 siendo el costo de que el ingeniero realice la tarea 3.
En particular si se dispone de un problema de mayor tamaño, hacer uso de Excel facilita los cálculos tal como se muestra en la siguiente imagen:
A continuación se resta el mínimo de cada fila a cada uno de los valores de la fila respectiva, para obtener la matriz reducida:
La aplicación del Paso 2 produce los mínimos de cada columna según se observa en la tabla anterior. Al restar esos valores de las columnas respectivas se obtiene la siguiente matriz reducida:

Las celdas con valor cero y color azul son la solución óptima. En consecuencia el ingeniero 1 realiza la tarea 2, el ingeniero 2 asuma la tarea 1 y el ingeniero 3 la tarea 3. Cada ingeniero realiza exactamente una tarea y el costo total de dicha asignación (valor óptimo) es de: 

$9 + $10 + $8 = $27
Los pasos presentados del Método Húngaro para el ejemplo anterior funcionaron bien debido a que los elementos cero de la matriz anterior permiten una asignación factible de ingenieros a las tareas (en el sentido que las tareas se asignan de forma única a los ingenieros). Aunque no siempre es posible lograr una solución factible en la aplicación, caso en el cual se requiere de pasos adicionales para la aplicación del método.

Conclusión

El método de asignación es computacionalmente más eficiente que el método simplex para una clase especial de problemas. Su objetivo es asignar personas para realizar ciertas tareas, minimizando costos. Sin embargo, no necesariamente deben de ser personas, también pueden ser máquinas, vehículos, fábricas, etc.
Los problemas de asignación de hicieron con el objetivo de reducir el tiempo de fabricación al mínimo para así aumentar la producción lo máximo posible organizar las máquinas y los trabajadores, Para así optimizar los recursos que posee la organización en cuestión
Para satisfacer la demanda que exige el día a día en las operaciones de la empresa sin estos métodos de asignación los precios de los productos se dispararían por las nubes, y las fábricas serian todo un caos, los recursos se desperdiciarían.















No hay comentarios:

Publicar un comentario