Documentos de Académico
Documentos de Profesional
Documentos de Cultura
➢ Pasos.
Se considera como dato de entrada a una matriz cuadrada del orden n por n, la cual
debe contener solamente elementos no negativos.
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.
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.
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.
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.
Se elimina cualquier fila o columna ficticia que se haya agregado. Los ceros elegidos en
esta matriz final corresponden así a la asignación ideal requerida en la matriz original.
✓ Ejemplo.
Consideremos una empresa donde existen cuatro actividades (A1, A2, A3, A4) que
deben ser ejecutadas por cuatro trabajadores (T1, T2, T3, T4). Se debe asignar una
actividad por trabajador.
La siguiente matriz muestra el costo de asignar un determinado trabajador a una
determinada actividad. El objetivo que se persigue es minimizar el costo total de la tarea
compuesta por estas cuatro actividades.
Se comienza por restar el elemento con el valor mínimo de cada fila de los demás
elementos de esa fila. Por ejemplo, el elemento más pequeño en la primera fila es 69.
Por tanto, se resta 69 de cada elemento en la primera fila. La matriz resultante es:
Del mismo modo, se resta el elemento con el valor mínimo de cada columna de los
demás elementos de esa columna, obteniendo la siguiente matriz:
• Paso 3: Cubrir todos los ceros con un mínimo número de líneas.
Se selecciona el menor elemento no cubierto por las líneas, cuyo valor es 6. Se resta
este valor de todos los elementos no cubiertos y este mismo valor se suma a todos los
elementos cubiertos por la intersección de dos líneas. Esto da como resultado la
siguiente matriz:
Tal como está indicado en el método húngaro, se debe realizar de nuevo el paso
número tres.
• Paso 3 (repetición).
Nuevamente se determina el mínimo número de líneas requeridas para cubrir todos los
ceros en la matriz. En esta ocasión se requieren cuatro líneas:
❖ Asignación óptima.
Tal como indica el método, la selección realizada de los siguientes ceros corresponde a
una asignación óptima:
Referencias bibliográficas.
1. Hungarian Algorithm (2019). The Hungarian algorithm. Tomado de:
hungarianalgorithm.com.
2. Study (2019). Using the Hungarian Algorithm to Solve Assignment Problems.
Tomado de: study.com.
3. Wisdom Jobs (2018). Hungarian Method for Solving Assignment Problem –
Quantitative Techniques for Management. Tomado de: wisdomjobs.com.
4. Geeks for Geeks (2019). Hungarian Algorithm for Assignment Problem. Tomado
de: geeksforgeeks.org.
5. Karleigh Moore, Nathan Landman (2019). Hungarian Maximum Matching
Algorithm. Brilliant. Tomado de: brilliant.org.