Está en la página 1de 4

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, será entonces cuestión de agregar un paso adicional
para abordar ejercicios de maximización

¿En qué consiste el método húngaro?


El método húngaro consta de cuatro pasos. Los primeros dos pasos se ejecutan
una sola vez, mientras que los pasos 3 y 4 se repiten hasta encontrar una
asignación óptima.

Se considera como dato de entrada a una matriz cuadrada del orden n por n, la
cual debe contener solamente elementos no negativos.

Para un problema dado, si el número de filas de la matriz no es igual al número de


columnas se debe agregar una fila ficticia o una columna ficticia, dependiendo del
caso. Los costos de asignación para esas celdas ficticias siempre se asignan
como cero.

Paso 1: restar los mínimos de cada fila


Para cada fila de la matriz se selecciona el elemento con el valor más bajo y se lo
resta de cada elemento en esa fila.

Paso 2: restar los mínimos de cada columna


De manera similar, se selecciona para cada columna el elemento con el valor más
bajo y se lo resta de cada elemento en esa columna.

Paso 3: cubrir todos los ceros con un mínimo número de líneas


Se deben cubrir todos los ceros en la matriz resultante del paso 2 usando un
número mínimo de líneas horizontales y verticales, ya sea por filas o columnas.
Si se requiere un total de n líneas para cubrir todos los ceros, siendo n igual al
tamaño n por n de la matriz, se tendrá una asignación óptima entre los ceros y por
tanto el algoritmo se detiene.
De lo contrario, si se requieren menos de n líneas para cubrir todos los ceros en la
matriz, se continúa con el paso 4.
Paso 4: crear ceros adicionales
Se selecciona el menor elemento de la matriz (llamado k) que no esté cubierto por
una de las líneas realizadas en el paso 3.
Se resta el valor de k de todos los elementos que no están cubiertos por líneas.
Posteriormente se suma el valor de k a todos los elementos que están cubiertos
por la intersección de dos líneas.
Los elementos que están cubiertos por una sola línea se dejan tal como están.
Después de realizar este paso, se regresa al paso 3.
Asignación óptima
Una vez que se detenga el algoritmo en el paso 3, se elige un conjunto de ceros
de tal manera que cada fila y cada columna tenga solo un cero seleccionado.
Si en este proceso de selección no existe un único cero en una fila o columna, se
elegirá entonces uno de esos ceros. Se eliminan los ceros restantes en esa
columna o fila, repitiendo lo mismo para las otras asignaciones también.

Si no hay una única asignación de ceros significa que existen múltiples soluciones.
Sin embargo, el costo seguirá siendo el mismo para los diferentes conjuntos de
asignaciones.
El método húngaro es importante porque se usa para resolver problemas de
minimización ya que es más eficaz que el empleado para resolver el problema del
transporte por el alto grado de degeneración que pueden presentar los problemas
de asignación.
Este modelo nos ayuda a determinar la asignación óptima (de costo mínimo) de
trabajadores a puestos.

También podría gustarte