You are on page 1of 21

Corporacin Mexicana de Investigacin en Materiales S.A. de C.V.

Investigacin de Operaciones
Problemas de Asignacin con el Mtodo de
Solucin Algoritmo Hngaro
Adrian Vargas Vazquez
15/06/2015

Contenido
1.

Problemas de Asignacin. ........................................................................................................... 3


1.1 Mtodo Hngaro ....................................................................................................................... 4
1.1.1 Paso 1 ................................................................................................................................. 4
1.1.2 Paso 2 ................................................................................................................................. 4
1.1.3 Paso 3 ................................................................................................................................. 4
1.1.4. Paso 4 ................................................................................................................................ 5
1.1.5. Paso 5 ................................................................................................................................ 5
1.2 Ejemplos .................................................................................................................................... 5
1.2.1. Problema 1 ........................................................................................................................ 5
1.2.2. Problema 2 ........................................................................................................................ 9
1.2.3. Problema 3 ...................................................................................................................... 13
1.2.4. Problema 4 ...................................................................................................................... 17

1. Problemas de Asignacin.

Los problemas de asignacin son una variacin de los problemas de transporte,


variacin en la cual las variables de decisin

solo pueden tomar valores

binarios, es decir ser cero o uno en la solucin ptima, lo que supone que la oferta
y la demanda estn perfectamente alineadas, de hecho ambas son iguales a uno.
Los casos de asignacin son muy utilizados en la industria ya que se pueden
resolver diversas situaciones, entre los que cabe mencionar se encuentran la
asignacin de personal a maquinas, herramientas a puestos de trabajos, horarios
a maestros, candidatos a vacantes, huspedes a habitaciones, comensales a
mesas, vendedores a zonas territoriales etc.
En el modelo de asignacin la idea fundamental es resolver cual es la fuente que
satisface mejor el destino, y dado que hemos asociado el modelo a una gran
diversidad de circunstancias pueden surgir preguntas para distintos contextos,
tales como:
Qu candidato es el idneo para la vacante?
Qu personal es el indicado para la lnea productiva?
Qu personal es el mejor para ejecutar determinada tarea?
Una caracterstica particular del modelo de asignacin es que para su resolucin
no se hace necesario que el nmero de fuentes sea igual al nmero de destinos,
lo cual es muy comn en la vida real teniendo en cuenta su aplicacin, pues
generalmente la cantidad de aspirantes es exageradamente superior al nmero de
vacantes.

1.1 Mtodo Hngaro

El mtodo Hngaro es un mtodo de optimizacin de problemas de asignacin,


conocido como tal gracias a que los primeros aportes al mtodo clsico definitivo
fueron hechos por Dnes Knig y Jen Egervry dos matemticos hngaros. El
algoritmo tal como se detallar a continuacin est diseado para la resolucin de
problemas de minimizacin nicamente, ser entonces cuestin de agregar un
paso adicional para abordar ejercicios de maximizacin.
1.1.1 Paso 1
Antes que nada cabe recordar que el mtodo hngaro trabaja en una matriz de
costos

(en este caso conocida como matriz

filas es igual al nmero de columnas

, dado que el nmero de

), una vez construida esta se debe

encontrar el elemento ms pequeo en cada fila de la matriz.


1.1.2 Paso 2
Una vez se cumple el procedimiento anterior se debe construir una nueva matriz
, en la cual se consignarn los valores resultantes de la diferencia entre cada
costo y el valor mnimo de la fila a la cual cada costo corresponde (valor mnimo
hallado en el primer paso).
1.1.3 Paso 3
Este paso consiste en realizar el mismo procedimiento de los dos pasos anteriores
referidos ahora a las columnas, es decir, se halla el valor mnimo de cada
columna, con la diferencia que este se halla de la matriz resultante en el segundo
paso, luego se construir una nueva matriz en la cual se consignarn los valores
resultantes de la diferencia entre cada costo y el valor mnimo de la columna a la
cual cada costo corresponde, matriz llamada "Matriz de Costos Reducidos".

1.1.4. Paso 4
A continuacin se deben de trazar lneas horizontales o verticales o ambas
(nicamente de esos tipos) con el objetivo de cubrir todos los ceros de la matriz de
costos reducidos con el menor nmero de lneas posibles, si el nmero de lineas
es igual al nmero de filas o columnas se ha logrado obtener la solucin ptima (la
mejor asignacin segn el contexto de optimizacin), si el nmero de lneas es
inferior al nmero de filas o columnas se debe de proceder con el paso 5.
1.1.5. Paso 5
Este paso consiste en encontrar el menor elemento de aquellos valores que no se
encuentran cubiertos por las lneas del paso 4, ahora se restar del restante de
elementos que no se encuentran cubiertos por las lneas; a continuacin este
mismo valor se sumar a los valores que se encuentren en las intersecciones de
las lneas horizontales y verticales, una vez finalizado este paso se debe volver al
paso 4.

1.2 Ejemplos
1.2.1. Problema 1

Una fbrica dispone de cuatro obreros para completar cuatro trabajos. Cada
obrero solo puede hacer uno de los trabajos. El tiempo que requiere cada obrero
para completar cada trabajo se entrega en la Tabla 1.1.
Tabla 1.1 Trabajos en horas por obrero.

Obrero 1
Obrero 2
Obrero 3
Obrero 4

Tiempo (Horas)
Trabajo 1 Trabajo 2 Trabajo 3
14
5
8
2
12
6
7
8
3
2
4
6

Trabajo 4
7
5
9
10

La fbrica desea minimizar el tiempo total dedicado a los cuatro trabajos. Formule
y resuelva un modelo que determine la mejor asignacin de los obreros.
Paso 1
Encontramos el menor elemento de cada fila

Obrero 1
Obrero 2
Obrero 3
Obrero 4

Tiempo (Horas)
Trabajo 1 Trabajo 2 Trabajo 3 Trabajo 4 Menor de fila
14
5
8
7
5
2
12
6
5
2
7
8
3
9
3
2
4
6
10
2

Paso 2
Construimos una nueva matriz con las diferencias entre los valores de la matriz
original y el elemento menor de la fila a la cual corresponde.

Obrero 1
Obrero 2
Obrero 3
Obrero 4

Tiempo (Horas)
Trabajo 1 Trabajo 2 Trabajo 3
9
0
3
0
10
4
4
5
0
0
2
4

Trabajo 4
2
3
6
8

Paso 3
En la matriz construida en el paso anterior se procede a efectuar el paso 1 esta
vez en relacin a las columnas, por ende escogemos el elemento menor de cada
columna. Igualmente construimos una nueva matriz con la diferencia entre los

valores de la matriz 2 y el elemento menor de la columna a la cual corresponde


cada valor.

Tiempo (Horas)
Trabajo 1 Trabajo 2 Trabajo 3 Trabajo 4
9
0
3
2
0
10
4
3
4
5
0
6
0
2
4
8

Obrero 1
Obrero 2
Obrero 3
Obrero 4
Menor de columna

Obrero 1
Obrero 2
Obrero 3
Obrero 4

Tiempo (Horas)
Trabajo 1 Trabajo 2 Trabajo 3
9
0
3
0
10
4
4
5
0
0
2
4

Trabajo 4
0
1
4
6

Paso 4
En este paso trazaremos la menor cantidad de combinaciones de lneas
horizontales y verticales con el objetivo de cubrir todos los ceros de la matriz de
costos reducidos.

Obrero 1
Obrero 2
Obrero 3
Obrero 4

Tiempo (Horas)
Trabajo 1 Trabajo 2 Trabajo 3
9
0
3
0
10
4
4
5
0
0
2
4

Trabajo 4
0
1
4
6

Como se puede observar el menor nmero de lneas horizontales y/o verticales


necesarias para cubrir los ceros de la matriz de costos reducidos es igual a 2, por
ende al ser menor que el nmero de filas o columnas es necesario recurrir al paso
5.

Paso 5
En este paso seleccionamos el menor elemento de los elementos no subrayados.

Obrero 1
Obrero 2
Obrero 3
Obrero 4

Tiempo (Horas)
Trabajo 1 Trabajo 2 Trabajo 3
9
0
3
0
10
4
4
5
0
0
2
4

Trabajo 4
0
1
4
6

Luego se procede a restarse de los elementos no subrayados y a adicionarse a los


elementos ubicados en las intersecciones de las lneas.

Obrero 1
Obrero 2
Obrero 3
Obrero 4

Tiempo (Horas)
Trabajo 1 Trabajo 2 Trabajo 3
10
0
3
0
9
3
5
5
0
0
1
3

Trabajo 4
0
0
4
5

Ahora ya efectuado este paso pasamos al paso 4.

Obrero 1
Obrero 2
Obrero 3
Obrero 4

Tiempo (Horas)
Trabajo 1 Trabajo 2 Trabajo 3
10
0
3
0
9
3
5
5
0
0
1
3

Trabajo 4
0
0
4
5

Ahora observamos cmo se hace necesario trazar cuatro lneas (la misma
cantidad de filas o columnas de la matriz) por ende se ha llegado al tabulado final,
en el que por simple observacin se determina las asignaciones ptimas.

Obrero 1
Obrero 2
Obrero 3
Obrero 4

Tiempo (Horas)
Trabajo 1 Trabajo 2 Trabajo 3
10
0
3
0
9
3
5
5
0
0
1
3

Trabajo 4
0
0
4
5

Como conclusin se tiene que para minimizar el tiempo para realizar los trabajos
es necesario que: el trabajo 1 lo realice el obrero 4, el trabajo 2 el obrero 1, el
trabajo 3 el obrero 3 y el trabajo 4 el obrero 2 para tener un tiempo total para los
cuatro trabajos de 15 Horas.

1.2.2. Problema 2

Una constructora debe contratar obreros para realizar 4 trabajos. Existen 3


obreros disponibles para ejecutar dichas labores. El monto (en miles de pesos)
cobrando por cada obrero para realizar cada trabajo se indica en la Tabla 1.2.

Tabla 1.2 Trabajos que pueden realizar los obreros.

Obrero 1
Obrero 2
Obrero 3

Trabajo 1
50
51
-

Trabajo 2
46
48
47

Trabajo 3
42
44
45

Trabajo 4
40
45

El obrero 1 tiene la disponibilidad para ejecutar solo un trabajo. Los obreros 2 y 3


pueden ejecutar hasta dos trabajos determine la asignacin que minimiza los
costos de ejecutar los cuatro trabajos.

Paso 1
Encontramos el menor elemento de cada fila en este caso se agrega el valor de
1000 en las casillas vacas los cual no afectara debido a que son valores muy
grandes en comparacin a los que se encuentran en la tabla (solo para minimizar).

Obrero 1
Obrero 2
Obrero 3

Trabajo 1
50
51
1000

Trabajo 2
46
48
47

Trabajo 3
42
44
45

Trabajo 4
40
1000
45

Menor fila
40
44
45

Paso 2
Construimos una nueva matriz con las diferencias entre los valores de la matriz
original y el elemento menor de la fila a la cual corresponde.

Obrero 1
Obrero 2
Obrero 3

Trabajo 1
10
7
955

Trabajo 2
6
4
2

Trabajo 3
2
0
0

Trabajo 4
0
956
0

Menor fila
40
44
45

Paso 3
En la matriz construida en el paso anterior se procede a efectuar el paso 1 esta
vez en relacin a las columnas, por ende escogemos el elemento menor de cada
columna. Igualmente construimos una nueva matriz con la diferencia entre los
valores de la matriz 2 y el elemento menor de la columna a la cual corresponde
cada valor.

Trabajo 1
10
7
955

Trabajo 2
6
4
2

Trabajo 3
2
0
0

Trabajo 4
0
956
0

Trabajo 1
3
0
948

Trabajo 2
4
2
0

Trabajo 3
2
0
0

Trabajo 4
0
956
0

Obrero 1
Obrero 2
Obrero 3
Columna menor

Obrero 1
Obrero 2
Obrero 3

Paso 4
En este paso trazaremos la menor cantidad de combinaciones de lneas
horizontales y verticales con el objetivo de cubrir todos los ceros de la matriz de
costos reducidos.

Obrero 1
Obrero 2
Obrero 3

Trabajo 1
3
0
948

Trabajo 2
4
2
0

Trabajo 3
2
0
0

Trabajo 4
0
956
0

Observamos cmo se hace necesario trazar tres lneas (la misma cantidad de filas
o columnas de la matriz) lo que significa que se ha llegado a los ptimos.

Obrero 1
Obrero 2
Obrero 3

Trabajo 1
3
0
948

Trabajo 2
4
2
0

Trabajo 3
2
0
0

Trabajo 4
0
956
0

Se concluye que para minimizar el costo para realizar los trabajos es necesario
que:
El Trabajo 1 lo realice el obrero 2.
El Trabajo 2 lo realice el obrero 3.
El Trabajo 3 lo realice el obrero 2.
El Trabajo 4 lo realice el obrero 1.
Teniendo que el costo mnimo segn la distribucin antes mencionada (optima) de
182 mil pesos.

1.2.3. Problema 3

La compaa de manufactura "Jimnez y Asociados" desea realizar una jornada


de mantenimiento preventivo a sus tres mquinas principales A, B y C. El tiempo
que demanda realizar el mantenimiento de cada mquina es de 1 da, sin embargo
la jornada de mantenimiento no puede durar ms de un da, teniendo en cuenta
que la compaa cuenta con tres proveedores de servicios de mantenimiento debe
de asignarse un equipo de mantenimiento a cada mquina para poder cumplir con
la realizacin del mantenimiento preventivo. Teniendo en cuenta que segn el
grado de especializacin de cada equipo prestador de servicios de mantenimiento
el costo de la tarea vara para cada mquina en particular, debe de asignarse el
equipo correcto a la mquina indicada con el objetivo de minimizar el costo total de
la jornada. Los costos asociados se pueden observar en la Tabla 1.3.
Tabla 1.3 equipos de mantenimiento y maquinas disponibles por costo.
Maquina 1

Maquina 2

Maquina 3

Equipo de
Mantenimiento 1
Equipo de
Mantenimiento 2

10

Equipo de
Mantenimiento 3

Paso 1
Encontramos el menor elemento de cada fila
Maquina 1

Maquina 2

Maquina 3 Menor fila

Equipo de
Mantenimiento 1
Equipo de
Mantenimiento 2

10

Equipo de
Mantenimiento 3

Paso 2
Construimos una nueva matriz con las diferencias entre los valores de la matriz
original y el elemento menor de la fila a la cual corresponde.
Maquina 1

Maquina 2

Maquina 3

Equipo de
Mantenimiento 1
Equipo de
Mantenimiento 2

Equipo de
Mantenimiento 3

Paso 3
En la matriz construida en el paso anterior se procede a efectuar el paso 1 esta
vez en relacin a las columnas, por ende escogemos el elemento menor de cada
columna. Igualmente construimos una nueva matriz con la diferencia entre los
valores de la matriz 2 y el elemento menor de la columna a la cual corresponde
cada valor.
Maquina 1

Maquina 2

Maquina 3

Equipo de
Mantenimiento 1
Equipo de
Mantenimiento 2

10

Equipo de
Mantenimiento 3
Menor columna

Maquina 1

Maquina 2

Maquina 3

Equipo de
Mantenimiento 1
Equipo de
Mantenimiento 2

Equipo de
Mantenimiento 3

Paso 4
En este paso trazaremos la menor cantidad de combinaciones de lneas
horizontales y verticales con el objetivo de cubrir todos los ceros de la matriz de
costos reducidos.
Maquina 1

Maquina 2

Maquina 3

Equipo de
Mantenimiento 1
Equipo de
Mantenimiento 2

Equipo de
Mantenimiento 3

Como se puede observar el menor nmero de lneas horizontales y/o verticales


necesarias para cubrir los ceros de la matriz de costos reducidos es igual a 2, por
ende al ser menor que el nmero de filas o columnas es necesario recurrir al paso
5.
Paso 5
En este paso seleccionamos el menor elemento de los elementos no subrayados.
Maquina 1

Maquina 2

Maquina 3

Equipo de
Mantenimiento 1
Equipo de
Mantenimiento 2

Equipo de
Mantenimiento 3

Luego se procede a restarse de los elementos no subrayados y a adicionarse a los


elementos ubicados en las intersecciones de las lneas.

Maquina 1

Maquina 2

Maquina 3

Equipo de
Mantenimiento 1
Equipo de
Mantenimiento 2

Equipo de
Mantenimiento 3

Maquina 1

Maquina 2

Maquina 3

Equipo de
Mantenimiento 1
Equipo de
Mantenimiento 2

Equipo de
Mantenimiento 3

Ahora ya efectuado este paso pasamos al paso 4.

Ahora observamos cmo se hace necesario trazar tres lneas (la misma cantidad
de filas o columnas de la matriz) por ende se ha llegado al tabulado final, en el que
por simple observacin se determina las asignaciones ptimas.
Maquina 1

Maquina 2

Maquina 3

Equipo de
Mantenimiento 1
Equipo de
Mantenimiento 2

Equipo de
Mantenimiento 3

Por ende la asignacin que representa el menor costo para la jornada de


mantenimiento preventivo determina que el Equipo 1 realice el mantenimiento de
la Mquina 1, el Equipo 2 realice el mantenimiento de la Mquina 3 y el Equipo 3
realice el mantenimiento de la Mquina 2, jornada que tendr un costo total de 17
unidades monetarias.

1.2.4. Problema 4
Una organizacin de recoleccin de caf cuenta con tres equipos de siembra y
cosecha del mismo (equipos 1, 2, 3). Estos equipos de trabajo se encuentran
entrenados para trabajar en condiciones particulares del proceso, condiciones
como lo son el tipo de suelo, las condiciones del clima y el tipo de grano. La
organizacin cuenta con cuatro terrenos disponibles para efectuar el proceso de
siembra y cosecha (terrenos A, B, C, D), estos terrenos tienen condiciones
particulares de suelo, clima y tipo de grano. Cada equipo cuenta con la capacidad
de efectuar el proceso en solo uno de los terrenos disponibles, salvo el equipo 2,
que cuenta con una serie de herramientas tecnolgicas que le permiten realizar la
siembra y cosecha del grano en dos de los terrenos disponibles. Se ha contratado
a un Ingeniero Industrial con el objetivo de realizar las asignaciones precisas que
maximicen la cantidad de sacos de caf cosechados en total. El siguiente tabulado
muestra la capacidad (en cientos de sacos) de cosecha de caf de cada uno de
los equipos dependiendo de cada uno de los terrenos.

Equipo 1
Equipo 2
Equipo 3

Terreno
A
13
10
13

Terreno
B
7
13
10

Terreno
C
12
15
8

Terreno
D
12
7
7

En este problema debemos recordar un concepto fundamental para la aplicacin


del mtodo hngaro, este concepto nos dice que el nmero de filas debe ser
exactamente igual al nmero de columnas. Por ende, la accin a realizar debera
ser crear un equipo ficticio, el cual nos deje el tabulado balanceado y a este
asignarle un nmero de sacos cosechados equivalente a cero en cada uno de los
terrenos. Sin embargo el problema nos indica que uno de los equipos se
encuentra en capacidad de que se le asignen dos terrenos, en este caso
crearemos un equipo 2 alternativo (Equipo 2B) el cual nos balancear el tabulado y
nos har prescindir del equipo ficticio pensado inicialmente. A este equipo 2 B que

crearemos le corresponder la misma capacidad de cosecha del equipo 2 (en


adelante equipo 2A) segn el terreno, lgicamente.

Equipo 1
Equipo 2A
Equipo 2B
Equipo 3

Terreno
A
13
10
10
13

Terreno
B
7
13
13
10

Terreno
C
12
15
15
8

Terreno
D
12
7
7
7

Una vez balanceado el tabulado debemos de cuestionarnos acerca del criterio de


optimizacin, pues recordemos que el mtodo hngaro se encuentra diseado
para ejercicios de minimizacin. En este caso nuestro objetivo es maximizar, por lo
que tendremos que aplicar un paso adicional.
Lo primero que debemos hacer es ubicar el mayor valor del tabulado inicial.

Equipo 1
Equipo 2A
Equipo 2B
Equipo 3

Terreno
A
13
10
10
13

Terreno
B
7
13
13
10

Terreno
C
12
15
15
8

Terreno
D
12
7
7
7

En este caso este valor es 15, por lo cual procederemos a realizar la siguiente
operacin con cada uno de los valores:
Restaremos 15 al valor de cada una de las celdas y este valor quedar en cada
una de las celdas correspondientes.

Equipo 1
Equipo 2A
Equipo 2B
Equipo 3

Terreno
A
15 - 13
15 10
15 10
15 13

Terreno
B
15 7
15 13
15 13
15 10

Terreno
C
15 12
15 15
15 15
15 8

Terreno
D
15 12
15 7
15 7
15 7

Ahora nuestro tabulado inicial quedar de la siguiente manera:

Equipo 1
Equipo 2A
Equipo 2B
Equipo 3

Terreno
A
2
5
5
2

Terreno
B
8
2
2
5

Terreno
C
3
0
0
7

Terreno
D
3
8
8
7

A partir de este tabulado ya podemos aplicar el algoritmo del mtodo hngaro


como se aplicara en un caso de minimizacin (normalmente).
Ahora encontramos el menor elemento de cada fila.

Equipo 1
Equipo 2A
Equipo 2B
Equipo 3

Terreno
A
2
5
5
2

Terreno
B
8
2
2
5

Terreno
C
3
0
0
7

Terreno
D
3
8
8
7

Terreno
C
1
0
0
5

Terreno
D
1
8
8
5

y se lo restamos a todas las celdas de la fila.

Equipo 1
Equipo 2A
Equipo 2B
Equipo 3

Terreno
A
0
5
5
0

Terreno
B
6
2
2
3

Ahora efectuamos este mismo paso, pero esta vez con las columnas. Elegimos el
menor de los valores de cada columna y se lo restamos a cada una de las celdas
de la columna correspondiente.

Equipo 1
Equipo 2A
Equipo 2B
Equipo 3

Terreno
A
0
5
5
0

Terreno
B
6
2
2
3

Terreno
C
1
0
0
5

Terreno
D
1
8
8
5

Equipo 1
Equipo 2A
Equipo 2B
Equipo 3

Terreno
A
0
5
5
0

Terreno
B
4
0
0
1

Terreno
C
1
0
0
5

Terreno
D
0
7
7
4

Ahora procedemos a cubrir la mayor cantidad de ceros, con la menor cantidad de


lneas, si el nmero de lneas que empleemos es igual al grado de la matriz (en
este caso matriz grado 4, 4x4) habremos llegado al final del ejercicio.

Equipo 1
Equipo 2A
Equipo 2B
Equipo 3

Terreno
A
0
5
5
0

Terreno
B
4
0
0
1

Terreno
C
1
0
0
5

Terreno
D
0
7
7
4

Dado que el nmero de lneas es igual al grado de la matriz, hemos concluido el


algoritmo. Lo nico que quedar ser asignar a cada equipo el terreno en el que el
intercepto es igual a cero.

Equipo 1
Equipo 2A
Equipo 2B
Equipo 3

Terreno
A
0

Terreno
B

Terreno
C

0
0

0
0

Terreno
D
0

Las asignaciones, como es lgico debern iniciarse por el equipo al cual solo
corresponda un terreno, en este caso al Equipo 3 le corresponde el Terreno A. De
esta manera al Equipo 1 le corresponde el Terreno D. Mientras tanto el Equipo 2
se encargar de la cosecha en los terrenos B y C. Segn el tabulado del problema
(recordemos que es de maximizacin), la cantidad de sacos (expresada en cientos
de sacos) ser as:
Terreno
A
Equipo 1
Equipo 2A
Equipo 2B
Equipo 3

Terreno
B

Terreno
C

Terreno
D
12

13
15
13

Considerando estos datos se tiene que para maximizar la cantidad de sacos se


producen 53 distribuidos en el terreno A con el quipo 3, para el terreno B y C con
el equipo 2, y para el terreno D el equipo 1.

You might also like