Está en la página 1de 8

1

El Algoritmo Hungaro
Historia
Matemticos Hungaros: Dnes Knig (1936) and
Jen Egervry (1931)
Harold W. Kuhn, "The Hungarian Method for the
assignment problem", Naval Research Logistic
Quarterly, 2:83-97, 1955.
J. Munkres, "Algorithms for the Assignment and
Transportation Problems", Journal of the Society of
Industrial and Applied Mathematics, 5(1):32-38,
1957.
El Problema de la Asignacin
2
Formulacin - General
Variable de decisin
Sea A el conjunto de
las asignaciones
permitidas y c
ij
el costo
de asignar i a j.

=
modo otro de 0
j a asignado es i Si 1
ij
x
A (i,j x
j x
i x
x c
ij
A j i i
ij
A j i j
ij
A j i
ij ij
in ) all for 1 , 0
all for , 1
all for , 1
s.t.
. minimize
in ) , ( :
in ) , ( :
in ) , (
=

Ejemplo
Determinar como se deben asignar los trabajos a las
maquinas para minimizar los tiempos de preparacin,
los cuales se dan a continuacin:
10 6 4 2 Machine 4
9 3 8 7 Machine 3
5 6 12 2 Machine 2
7 8 5 14 Machine 1
J ob 4 J ob 3 J ob 2 J ob 1
Teorema
Se dice que un conjunto de elementos de una
matriz son Independientes si no hay dos de
ellos en la misma fila o columna.
Knig Theorem:
Si C es una matriz y m es el numero de elementos
cero independientes de C, entonces hay m lneas las
cuales contienen todos los ceros de C.
3
Algoritmo Hngaro
Paso 1: (a) Encuentre el menor elemento en
cada fila dentro de la matriz de costos. Forme
una nueva matriz restando este elemento de
cada fila. (matriz reducida en fila)
(b) Encuentre el menor elemento en cada
columna dentro de la nueva matriz, reste este
elemento de cada columna. (matriz reducida
en fila-columna)
Ejemplo: Paso1(a)
10 6 4 2 Machine 4
9 3 8 7 Machine 3
5 6 12 2 Machine 2
7 8 5 14 Machine 1
J ob 4 J ob 3 J ob 2 J ob 1
8 4 2 0 Machine 4
6 0 5 4 Machine 3
3 4 10 0 Machine 2
2 3 0 9 Machine 1
J ob 4 J ob 3 J ob 2 J ob 1
Reduccin de
fila
Ejemplo: Paso 1(b)
6 4 2 0 Machine 4
4 0 5 4 Machine 3
1 4 10 0 Machine 2
0 3 0 9 Machine 1
J ob 4 J ob 3 J ob 2 J ob 1
8 4 2 0 Machine 4
6 0 5 4 Machine 3
3 4 10 0 Machine 2
2 3 0 9 Machine 1
J ob 4 J ob 3 J ob 2 J ob 1
Reduccin de
columna
4
Algoritmo Hngaro
Paso 2: Trace el mnimo numero de lneas que son
necesarias para cubrir todos los ceros en la matriz
reducida f-c. Si m lneas son requeridas , entonces
una solucin optima es disponible. Caso contrario,
continu con el paso 3.
Cmo
encontramos el
mnimo numero
de lneas?!
Ejemplo: Paso 2
6 4 2 0 Machine 4
4 0 5 4 Machine 3
1 4 10 0 Machine 2
0 3 0 9 Machine 1
J ob 4 J ob 3 J ob 2 J ob 1
3 lineas < 4 lineas,
continue al paso 3
Algoritmo Hngaro
Paso 3: Encuentre el elemento no cero mas
pequeo en la matriz y que no este cubierto
por una lnea. Reste este elemento de cada
elemento no tachado y adicione este valor a
cada elemento cubierto por dos lneas.
Regrese al paso 2.
5
Ejemplo: Paso 3
6 4 2 0 Machine 4
4 0 5 4 Machine 3
1 4 10 0 Machine 2
0 3 0 9 Machine 1
J ob 4 J ob 3 J ob 2 J ob 1
5 3 1 0 Machine 4
4 0 5 5 Machine 3
0 3 9 0 Machine 2
0 3 0 10 Machine 1
J ob 4 J ob 3 J ob 2 J ob 1
Ejemplo: Paso 2 (otra vez)
5 3 1 0 Machine 4
4 0 5 5 Machine 3
0 3 9 0 Machine 2
0 3 0 10 Machine 1
J ob 4 J ob 3 J ob 2 J ob 1
4 lineas, hay una solucin ptima
Ejemplo: Solucin Final
5 3 1 0 Machine 4
4 0 5 5 Machine 3
0 3 9 0 Machine 2
0 3 0 10 Machine 1
J ob 4 J ob 3 J ob 2 J ob 1
Asignacin Optima
1 , 1 , 1 , 1
24 41 33 12
= = = = x x x x
6
Casos Especiales
Elementos de origen <> elementos de
destino
Maximizacin
Asignaciones no permitida
34 24 22 Smith
40 22 14 Ellis
32 16 10 Jackson
Cliente
C
Cliente
B
Cliente
A
Resources (Thanks to Patrick Denis)
Helpful websites
http://en.wikipedia.org/wiki/Hungarian_algorith
m
http://www.public.iastate.edu/~ddoty/Hungarian
Algorithm.html
http://www.ifors.ms.unimelb.edu.au/tutorial/hun
garian/index.html
7
TRASBORDO
Planta 1
Planta 2
C.D.2
C.D.1
C.D.m
Planta n
ORIGEN
DESTINO
TRASBORDO
La matriz de costos
Dm
+B
D2
+B
d1
+B +B +B +B
DEMA
NDA
+B 0 Dm
0 :
+B 0 D2
+B 0 D1
:
Ofn +B
0 :
On
Of2 +B 0 O2
Of1 +B 0 O1
OFERTA
Dm D2 D1 On O2 O1
Ejemplo
P1
P2
D1
D2
D3
400
600
300
200
500
4
6
3
7
4
4
5
2
4
8
TRASBORDO
500
+1000
200
+1000
300
+1000 +1000 +1000
Deman
da
+1000
0 M M M M D3
+1000
M 0 2 M M D2
+1000
4 2 0 M M D1
600 +1000 5 4 4 0 M P2
400 +1000 7 3 6 4 0 P1
Oferta D3 D2 D1 P2 P1
TRASBORDO
500
+1000
200
+1000
300
+1000 +1000 +1000
Deman
da
+1000
0 M M M M
D3
+1000
M 0 2 M M
D2
+1000
4 2 0 M M
D1
600 +1000
5 4 4 0 M
P2
400 +1000
7 3 6 4 0
P1
Oferta D3 D2 D1 P2 P1
TRASBORDO
500
+1000
200
+1000
300
+1000 +1000 +1000
Deman
da
+1000
1000 D3
+1000
800 200 D2
+1000
1000 D1
600 +1000 500 100 1000 P2
400 +1000 400 1000 P1
Oferta D3 D2 D1 P2 P1

También podría gustarte