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...
![Page 1: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/1.jpg)
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
![Page 2: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/2.jpg)
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
![Page 3: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/3.jpg)
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
![Page 4: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/4.jpg)
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Einfaches Assignmentproblem
Das Assignmentproblem
![Page 5: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/5.jpg)
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
![Page 6: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/6.jpg)
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.
![Page 7: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/7.jpg)
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
![Page 8: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/8.jpg)
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)
![Page 9: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/9.jpg)
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.
![Page 10: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/10.jpg)
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
![Page 11: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/11.jpg)
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
![Page 12: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/12.jpg)
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
![Page 13: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/13.jpg)
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
![Page 14: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/14.jpg)
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
![Page 15: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/15.jpg)
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.
![Page 16: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/16.jpg)
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)
![Page 17: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/17.jpg)
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)
![Page 18: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/18.jpg)
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)
![Page 19: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/19.jpg)
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)
![Page 20: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/20.jpg)
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)
![Page 21: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/21.jpg)
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)
![Page 22: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/22.jpg)
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
![Page 23: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/23.jpg)
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
![Page 24: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/24.jpg)
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
![Page 25: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/25.jpg)
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
![Page 26: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/26.jpg)
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
![Page 27: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/27.jpg)
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Der Algorithmus
![Page 28: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/28.jpg)
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
![Page 29: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/29.jpg)
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
![Page 30: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/30.jpg)
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
![Page 31: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/31.jpg)
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Start
![Page 32: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/32.jpg)
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
![Page 33: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/33.jpg)
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
![Page 34: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/34.jpg)
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
![Page 35: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/35.jpg)
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
![Page 36: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/36.jpg)
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
![Page 37: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/37.jpg)
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
![Page 38: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/38.jpg)
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)
![Page 39: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/39.jpg)
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
Aufwand
![Page 40: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/40.jpg)
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
![Page 41: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/41.jpg)
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
![Page 42: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/42.jpg)
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
![Page 43: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/43.jpg)
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)
![Page 44: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/44.jpg)
Harold William Kuhn Das Assignmentproblem Ungarische Methode Aufwand aktuelle Entwicklung
aktuelle Entwicklung
![Page 45: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/45.jpg)
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)
![Page 46: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/46.jpg)
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
![Page 47: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/47.jpg)
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
![Page 48: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/48.jpg)
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
![Page 49: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/49.jpg)
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ÿ.
![Page 50: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/50.jpg)
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
![Page 51: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/51.jpg)
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 ) )
![Page 52: Die Ungarische Methode für das Assignment Problem von H. W ... · Harold William Kuhn Das Assignmentroblemp Ungarische Methode Aufwandaktuelle Entwicklung Die Ungarische Methode](https://reader030.fdocument.pub/reader030/viewer/2022041204/5d54758d88c993f8138bbdb9/html5/thumbnails/52.jpg)
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