Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das...
Transcript of Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das...
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Die Ungarische Methode für das AssignmentProblem von H. W. Kuhn (1955)
Seminar Kombinatorische Optimierung SS08: Christof Schulz
11.07.2008
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
1 Harold William Kuhn
2 Das AssignmentproblemEinfaches AssignmentproblemDas allgemeine AssignmentproblemDuale ProgrammNachbesserungZusammenfassung
3 Ungarische MethodeStartSchritt 1Schritt 3Schritt 2
4 AufwandAufwandsanalyse
5 aktuelle Entwicklung
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Harold William Kuhn
Geboren: 29.07.1925 in Santa Monica, Cali-fornien, USA
Bildung: California Institute of Technolo-gy(1947)Magister Artium(1948)Doktor der MathematikPrinceton University(1950)
Laufbahn: Dozent(1951-1952),Assistensprofessor(1952-1959),Junior-Professor(1959-1963),Professor(1963-1995)
Aktuell: Emeritus Professor(seit 1995)
UngarischeMethode:
1955, Vorarbeit von Dénes Königund Jeno Egerváry
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Einfaches Assignmentproblem
Das Assignmentproblem
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Einfaches Assignmentproblem
Das einfache Assignmentproblem
n Personen
n Jobs
n x n Quali�kationsmatrix Q
qij =
{1 Person i ist für Job j quali�ziert
0 sonst
Q=
1 1 1 00 0 1 10 0 0 10 0 0 1
gesucht:Maximale Anzahl unabhängiger einsen
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Einfaches Assignmentproblem
komplettes Assignment
Personen werden Jobs zugeordnet
De�nition (komplett)
Es kann keine weitere Person mehr einem Job zugeordnet werden.
1 1 1∗ 00 0 1 1∗
0 0 0 10 0 0 1
kann nur noch durch Transfer verbessert werden.
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Einfaches Assignmentproblem
Transfer
ändert die Zuordnung von r verschiedenen Personen i1..ir undJobs j1..jrordnet i1 freien Job j0 zu und Person ik Job jk−1 für k=2..r.
i1 i2 . . . ir↙ ↙ ↙j0 j1 . . . jr−1 jr
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Einfaches Assignmentproblem
Wesentlich
De�nition (wesentliche Person)
Person kann in einen Transfer involviert werden
De�nition (wesentlicher Job)
Job ist einer unwesentlichen Person zugeordnet
Für eine gegebene Zuordnung (i,j) ist entweder i oder jwesentlich, aber nicht i und j.
#(Personen haben Job)=#(wesentliche Personen) + #(wesentliche Jobs)
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Das allgemeine Assignmentproblem
Das allgemeine Assignmentproblem
n Personen, n Jobs
n x n Matrix R=(rij) mit rij ∈ NDen n Personen wird eine Permutation der n Jobs zugeordnet.
Person 1 2 . . . n
Job j1 j2 . . . jn
Maximiere: ∑ni=1
riji
über allen Permutationen J = (ji ) von 1 - n.
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Das allgemeine Assignmentproblem
allg. Assignmentproblem als LP
Variablen: xij =
{1 Person i erledigt Job j
0 sonst
Maximiere∑n
i=1
∑nj=1
xij ∗ rij
s.t. ∑ni=1
xij = 1 , für j=1..n∑nj=1
xij = 1 , für i=1..n
xij ≥ 0
xij ∈ Z
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Duale Programm
Dualisieren
Minimiere∑n
i=1ui +
∑ni=1
vi
s.t.ui + vj ≥ rij
ui ≥ 0
vi ≥ 0
ui , vi ∈ Z
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Duale Programm
Für jedes Assignment Z=((1, ji ); (2, j2); ...; (n, jn)) gilt:
u1 + ...+ un + v1 + ...+ vn ≥ r1j1 + ...+ rnjn
opt Lösung Dual = opt Lösung Primal (Dualitätssatz)
Konstruiere ein einfaches Assignmentproblem:
Person i ist für Job j quali�ziert, wenn ui + vj = rij
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Duale Programm
Theorem
Wenn allen n Personen ein Job, für den sie quali�ziert sind, im
konstruierten einfachen Assignmentproblem zugeordnet werden
kann, dann löst dieses Assignment(Z) das allgemeine Problem
optimal.
Beweis.
ui + vj = rij ∀(i , j) ∈ Z
⇒∑i ui + vi =
∑(i ,j)∈Z rij
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Nachbesserung
Nachbesserung
Kann nicht allen n Personen ein Job zugeordnet werden, muÿ�nachgebessert� werden.
Folgende Bedingungen gelten:
rij > 0
ui + vj ≥ rij ⇒ ui > 0 oder vi > 0Es können nur m < n Personen zugeordnet werden und dasAssignment ist komplett nach jedem Transfer
r wesentliche Personens wesentliche Jobs
m=r+s
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Nachbesserung
Nachbesserungsregeln
oBdA alle ui > 0
Theorem
u′1
= u1, ..., u′r = ur , u
′r+1
= ur+1 − 1, ..., u′n = un − 1
v′1
= v1 + 1, ..., v′s = vs + 1, v
′s+1
= vs+1, ..., v′n = vn
Die neue Zuordnung ist eine zulässige Lösung für das duale LP.
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Nachbesserung
Beweis.
z.z. u′i + v
′j ≥ rij
kann nur verletzt werden, wenn ui + vj = rij und u′i = ui − 1,
v′j = vj
⇒ i und j sind unwesentlich
Aber: da ui + vj = rij ⇒ Person i für Job j quali�ziert (qij = 1)3 Fälle:
1 i ist j zugeordnet:nach De�nition entweder i oder j wesentlich.
2 i ist einem anderen Job zugeordnet:i ist wesentlich(i kann j durch einen Transfer zugeordnetwerden).
3 i ist keinem Job zugeordnet:j ist wesentlich (j kann durch keinen Transfer i zugeordnetwerden, da Z komplett nach jedem Transfer ist)
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Nachbesserung
Beweis.
z.z. u′i + v
′j ≥ rij
kann nur verletzt werden, wenn ui + vj = rij und u′i = ui − 1,
v′j = vj
⇒ i und j sind unwesentlich
Aber: da ui + vj = rij ⇒ Person i für Job j quali�ziert (qij = 1)3 Fälle:
1 i ist j zugeordnet:nach De�nition entweder i oder j wesentlich.
2 i ist einem anderen Job zugeordnet:i ist wesentlich(i kann j durch einen Transfer zugeordnetwerden).
3 i ist keinem Job zugeordnet:j ist wesentlich (j kann durch keinen Transfer i zugeordnetwerden, da Z komplett nach jedem Transfer ist)
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Nachbesserung
Beweis.
z.z. u′i + v
′j ≥ rij
kann nur verletzt werden, wenn ui + vj = rij und u′i = ui − 1,
v′j = vj
⇒ i und j sind unwesentlich
Aber: da ui + vj = rij ⇒ Person i für Job j quali�ziert (qij = 1)
3 Fälle:1 i ist j zugeordnet:
nach De�nition entweder i oder j wesentlich.2 i ist einem anderen Job zugeordnet:
i ist wesentlich(i kann j durch einen Transfer zugeordnetwerden).
3 i ist keinem Job zugeordnet:j ist wesentlich (j kann durch keinen Transfer i zugeordnetwerden, da Z komplett nach jedem Transfer ist)
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Nachbesserung
Beweis.
z.z. u′i + v
′j ≥ rij
kann nur verletzt werden, wenn ui + vj = rij und u′i = ui − 1,
v′j = vj
⇒ i und j sind unwesentlich
Aber: da ui + vj = rij ⇒ Person i für Job j quali�ziert (qij = 1)3 Fälle:
1 i ist j zugeordnet:nach De�nition entweder i oder j wesentlich.
2 i ist einem anderen Job zugeordnet:i ist wesentlich(i kann j durch einen Transfer zugeordnetwerden).
3 i ist keinem Job zugeordnet:j ist wesentlich (j kann durch keinen Transfer i zugeordnetwerden, da Z komplett nach jedem Transfer ist)
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Nachbesserung
Beweis.
z.z. u′i + v
′j ≥ rij
kann nur verletzt werden, wenn ui + vj = rij und u′i = ui − 1,
v′j = vj
⇒ i und j sind unwesentlich
Aber: da ui + vj = rij ⇒ Person i für Job j quali�ziert (qij = 1)3 Fälle:
1 i ist j zugeordnet:nach De�nition entweder i oder j wesentlich.
2 i ist einem anderen Job zugeordnet:i ist wesentlich(i kann j durch einen Transfer zugeordnetwerden).
3 i ist keinem Job zugeordnet:j ist wesentlich (j kann durch keinen Transfer i zugeordnetwerden, da Z komplett nach jedem Transfer ist)
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Nachbesserung
Beweis.
z.z. u′i + v
′j ≥ rij
kann nur verletzt werden, wenn ui + vj = rij und u′i = ui − 1,
v′j = vj
⇒ i und j sind unwesentlich
Aber: da ui + vj = rij ⇒ Person i für Job j quali�ziert (qij = 1)3 Fälle:
1 i ist j zugeordnet:nach De�nition entweder i oder j wesentlich.
2 i ist einem anderen Job zugeordnet:i ist wesentlich(i kann j durch einen Transfer zugeordnetwerden).
3 i ist keinem Job zugeordnet:j ist wesentlich (j kann durch keinen Transfer i zugeordnetwerden, da Z komplett nach jedem Transfer ist)
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Nachbesserung
Die u′i und v
′j sind also eine zulässige Lösung
Neuer Zielfunktionswert(NW) < Alter Zielfunktionswert (AW), da :
NW= AW − (n − r) ∗ 1 + s ∗ 1
= AW -n + r +s
= AW -n + m < AW, da -n+m <0
Neuer Zielfunktionswert < Alter Wert
optimaler Zielfunktionswert >0
endliches Verfahren
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Nachbesserung
Die u′i und v
′j sind also eine zulässige Lösung
Neuer Zielfunktionswert(NW) < Alter Zielfunktionswert (AW), da :
NW= AW − (n − r) ∗ 1 + s ∗ 1
= AW -n + r +s
= AW -n + m < AW, da -n+m <0
Neuer Zielfunktionswert < Alter Wert
optimaler Zielfunktionswert >0
endliches Verfahren
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Nachbesserung
Die u′i und v
′j sind also eine zulässige Lösung
Neuer Zielfunktionswert(NW) < Alter Zielfunktionswert (AW), da :
NW= AW − (n − r) ∗ 1 + s ∗ 1
= AW -n + r +s
= AW -n + m < AW, da -n+m <0
Neuer Zielfunktionswert < Alter Wert
optimaler Zielfunktionswert >0
endliches Verfahren
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Nachbesserung
Die u′i und v
′j sind also eine zulässige Lösung
Neuer Zielfunktionswert(NW) < Alter Zielfunktionswert (AW), da :
NW= AW − (n − r) ∗ 1 + s ∗ 1
= AW -n + r +s
= AW -n + m < AW, da -n+m <0
Neuer Zielfunktionswert < Alter Wert
optimaler Zielfunktionswert >0
endliches Verfahren
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Zusammenfassung
Zusammenfassung
Primal:
gegeben: n x n Matrix R= (rij)
gesucht : Permutation j1, .., jn die∑n
i=1riji maximiert
Dual:
gegeben: n x n Matrix R= (rij)
gesucht : u1, .., un v1, .., vn so dass∑n
i=1ui + vi minimal und
ui + vj ≥ rij
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Der Algorithmus
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Ungarische Methode
Gestartet wird mit einer zulässigen Lösung für das dualeProblem
Erzeuge Matrix A=(aij)=ui + vj − rij
Suche n unabhängige Nullen in A
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Start
Start-Lösung
ui = maxj rij (Zeilenmaxima)
vj = 0 für j=1..n
Beispiel: R =
8 7 9 95 2 7 86 1 4 92 3 2 6
u1 = 9 u2 = 8 v1 = 0 v2 = 0u3 = 9 u4 = 6 v3 = 0 v4 = 0
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Start
Beispiel
A =
1 2 0 03 6 1 03 8 5 04 3 4 0
Vor Start noch das Minimum in jeder Spalte ermitteln und von derganzen Spalte abziehen
A =
0 0 0 02 4 1 02 6 5 03 1 4 0
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Start
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Schritt 1
Vorher: Markiere unabhängige Nullen und die jeweilige Spalte in A
↓ ↓0 0 0∗ 02 4 1 0∗
2 6 5 03 1 4 0
Schritt 1Suche nicht markierte Null (keine vorhanden → Schritt 3)
keine 0∗ in der Zeile → Schritt 20∗ in der Zeile und Spalte k: Zeile wird markiert, Spalte kMarkierung löschen
Bis alle Nullen in markierter Zeile/Spalte → Schritt 3
Im Bsp:unmarkierte Null in Zeile 1 → Zeile 1 markieren, Spalte 3Markierung löschenDanach alle Nullen markiert → Schritt 3
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Schritt 3
↓→ 0 0 0∗ 0
2 4 1 0∗
2 6 5 03 1 4 0
Schritt 3h=min aij Zeile i, Spalte j unmarkiertaij = aij + h ∀aij in markierter Zeileaij = aij − h ∀aij in unmarkierter Spalte→ Schritt 1
Im Bsp: h=1
↓→ 0 0 0∗ 1
1 3 0 0∗
1 5 4 02 0 3 0
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Schritt 3
↓→ 0 0 0∗ 0
2 4 1 0∗
2 6 5 03 1 4 0
Schritt 3h=min aij Zeile i, Spalte j unmarkiertaij = aij + h ∀aij in markierter Zeileaij = aij − h ∀aij in unmarkierter Spalte→ Schritt 1
Im Bsp: h=1
↓→ 0 0 0∗ 1
1 3 0 0∗
1 5 4 02 0 3 0
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Schritt 3
Schritt 1:
↓→ 0 0 0∗ 1
1 3 0 0∗
1 5 4 02 0 3 0
Unmarkierte Null in Zeile 2, Zeile 2 markieren, Spalte 4 Markierunglöschen
→ 0 0 0∗ 1→ 1 3 0 0∗
1 5 4 02 0 3 0
unmarkierte 0 in Zeile 3, keine 0∗ in Zeile 3 → Schritt 2
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Schritt 2
→ 0 0 0∗ 1→ 1 3 0 0∗
1 5 4 02 0 3 0
Schritt 2Starte mit unmarkierter 0 bei (i1,j1)
1 Suche 0∗ in Spalte j1 (gefunden bei (i2,j1))2 Suche 0 in Zeile i2 (gefunden bei (i2,j2))
Weiter bei 1 bis keine 0∗ mehr in der Spalte
Ändere jede 0 in Sequenz in eine 0∗ und jede 0∗ in eine 0
Alle Markierungen löschen, alle Spalten mit 0∗ markieren
Wenn alle Spalten markiert → Lösung gefundensonst Schritt 1
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Schritt 2
↓ ↓ ↓0∗ 0 0 11 3 0∗ 01 5 4 0∗
2 0 3 0
unmarkierte 0 in Zeile 1 → Zeile 1 markieren, Spalte 1 Markierunglöschen
↓ ↓→ 0∗ 0 0 1
1 3 0∗ 01 5 4 0∗
2 0 3 0
unmarkierte 0 in Zeile 4, keine 0∗ in Zeile 4 → Schritt 2
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Schritt 2
Schritt 2:keine 0∗ in Spalte 2, nur eine 0 in der Sequenz:
↓ ↓ ↓ ↓0∗ 0 0 11 3 0∗ 01 5 4 0∗
2 0∗ 3 0
Lösung gefunden: (1,1) ; (2,4) ; (3,2) ; (4,3)
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Aufwand
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Aufwandsanalyse
Aufwand
Maximale Anzahl Operationen im Worst-Case
Operationen sind
Zeile/Spalte scannen
Zeile/Spalte markieren bzw. Markierung löschen
Zu einer Zeile/Spalte addieren/subtrahieren
Null auswählen bzw. Auswahl löschen
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Aufwandsanalyse
Start mit m 0∗
Aufwand bis m+1 0∗ vorhanden sind
Schritt 11 Jede Zeile scannen: n Operationen2 genau eine markierte Zeile erzeugen: 2 Operationen
(Jede unmarkierte Spalte enthält mind. eine 0)
Aufwand: n+2
Schritt 31 Minimum suchen: n Operationen2 Zu markierten Zeilen addieren: m Operationen3 Von unmarkierten Spalten subtrahieren: n Operationen
Aufwand: 2n + m
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Aufwandsanalyse
beide Schritte werden höchstens m-Mal wiederholt(bis alle Zeilen markiert sind)Aufwand: m ∗ (3n + m))
Danach Schritt 2
1 Suche 0∗: m ∗ 1 Operation (Spalte scannen)2 Suche 0: m ∗ 1 Operation (Zeile scannen)3 0/0∗ in 0∗/0 ändern: 2 ∗m + 1 Operationen4 alle Markierungen löschen: m Operationen5 alle 0∗ suchen: m+1 Operationen6 jeweilige Spalte markieren: m+1 Operationen
Aufwand: 7m + 3
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Aufwandsanalyse
Im Worst-Case Start mit einer 0∗ (m=1)Obige Schritte müssen n- Mal ausgeführt werden:
Gesamtaufwand
O(∑n
m=17m + 3 + m ∗ (3n + m))
=O(
∑nm=1
m ∗ (3n + m))=
O(∑n
m=1m ∗ 3n + m2)=
O(3n ∗∑n
m=1m +
∑nm=1
m2)=
O(n3)
Vergleiche und Addition als Operationen: Aufwand von O(n4)
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
aktuelle Entwicklung
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Vor Kuhn
Erster Algorithmus 1946 von Easter�eld in O(2n ∗ n2)
1950 drei Heuristiken von Thorndike
seit 1952 als Assignmentproblem bekannt (Votaw und Orden)
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
nach Kuhn
1960 erster Computercode von Sylver
Beste Implementation der ungarischen Methode O(n3) Lawler1976
erster O(n3) Algorithmus von Dinic und Kronrod 1969
Auktionsalgorithmen O(n1/2m ∗ log(nC ) ) von Orlin undAhuja
Cost Scaling Technik O(n1/2m ∗ log(nC ) ) von Gabow 1989
C: maximale Kosten, m: Anzahl Kanten
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Transportproblem
n Startknoten und m ZielknotenStartknoten liefern Einheiten an ZielknotenJede Kante hat Kosten und KapazitätFinde minimale Kosten um alle Zielknoten zu beliefern
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Transportproblem
Umwandlung von Assignmentproblem in Transportproblem
bipartiter Digraph G=(V=X ∪Y,E)X: n Knoten für PersonenY: n Knoten für Jobs
Kosten der Kante (i,j): c(i,j)=-rij
Kapazität jeder Kante: u(i,j)=1
alle Knoten v ∈ X senden 1 Einheit Fluÿ (d(v)=1), alle Knotenw ∈ Y empfangen 1 Einheit Fluÿ (d(w)=-1)
Für einen Fluÿ f muÿ für jeden Knoten v ∈ V gelten:d(v) +
∑(u,v)∈E f (u, v)−
∑(v ,w)∈E f (v ,w) = 0
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Cost Scaling Algorithmen
ResidualkantenmengeEf= {(v ,w) : (v ,w) ∈ E mit f (v ,w) < u(v ,w)} ∪{(v,w) : (w,v) ∈ E} (c(v,w)=-c(w,v))
Preisfunktion p: V → R:cp(u, v) = c(v ,w) + p(v)− p(w)
Ein Fluÿ heiÿt ε - optimal wenn
∀(u, v) ∈ Ef
{cp(u, v) ≥ 0 (u,v) ∈ E
cp(u, v) ≥ −ε (v,u) ∈ E
Wenn alle Kantenkosten ganzzahlig sind, ist ein ε - optimaler Fluÿmit ε < 1/N ein optimaler Fluÿ.
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Cost Scaling Algorithmen
Vor Start: p(v)=0 ∀ v, ε = max |c(ij)|
Solange ε ≥ 1/n tue:ε = ε/ap(v)= -min(v ,w)∈E c(v,w) - p(w) ∀ v ∈ X
(cp(v ,w) ≥ 0)
f(v)=0 ∀ vErzeuge zulässigen, ε- optimalen Fluÿ(durch push- und relabel Operationen)
Wenn ε< 1/n ist der Fluÿ optimal und die Lösung gefunden
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Push/Relabel
Push(v,w): Sendet Fluÿ von v nach w
Relabel(v): Modi�ziert die Preisfunktion p(v)
Laufzeit hängt von der Auswahl der Knoten v und w ab
Beste Laufzeit O(n1/2m ∗ log(nC ) )
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Quellen
The Hungarian Method for the assignment problem (Kuhn[1955])
Algorithms for the Assignment and Transportation Problems(Munkres [1957])
ADM 2 Skript
http://www.blackwell-synergy.com/
Assignment Problems, by Rainer Burkard, Mauro Dell'Amico,Silvano Martello
An e�cient cost scaling algorithm for the assignment problemAndrew v. Goldberg und Robert Kennedy 1995