Wie lösen wir ILPs exakt?
Branch-andBound
Schnittebenenverfahren
Acyclic
Subgraph
TSP
Branch-andCut
Technische Universität Wien
Institut für Computergraphik und Algorithmen
1
y
Zielfunktion
Optimum der
LP Relaxierung
IP Optimum
Zulässige
Lösungen
Abrunden der optimalen
Lösung der LP-Relaxierung
x
Ganzzahliges Lineares Programm
Technische Universität Wien
Institut für Computergraphik und Algorithmen
2
Branch-and-Bound
Zerlegung in Teilprobleme
Berechnung oberer und unterer Schranken
Löse erste Relaxierung ! obere Schranke
zulässig? ! optimal
Sonst: Partitioniere in Teilprobleme
• Löse Relaxierung
! Lsg. (a) ganzzahlig oder (b) unzulässig oder (c) neue, evtl. schärfere, obere
Schranke
• Fall (c) ! eventuell rekursive Aufteilung
Technische Universität Wien
Institut für Computergraphik und Algorithmen
3
Branch-and-Bound
Vernünftige Aufteilungsstrategie und endliche Lösungsmenge !
endliche Anzahl Schritte
Ergibt Branch-and-Bound-Baum
• Knoten = Teilproblem
• Söhne = Partitionierung des Vaterproblems
Intelligente Enumeration
Permanent Gütegarantie, bei Termination beweisbar optimal
Technische Universität Wien
Institut für Computergraphik und Algorithmen
4
Branch-and-Bound
Betrachte das folgende ILP:
Max
x + y + 2z
(IP0)
Subject to 7x + 2y + 3z 36
5x + 4y + 7z 42
2x + 3y + 5z 28
x, y, z 0, ganzzahlig
Technische Universität Wien
Institut für Computergraphik und Algorithmen
LP-Relaxierung
5
Branch-and-Bound für ILPs: Beispiel
Löse LPRelaxierung
3
x 1
5
11
obj 11
y
0
11
z 5 1
11
x 1
1
0 obj 11.4
5.2
1
obj 11
3
y 1
1 obj 11
IP6
0
5
IP5
z4
IP8
IP1
obj 10
Integral
2
0
4
/ 10/
2
0
4
Beste IP-Lösung
Garantie
IP3
y0
1 obj 11
2
4
x2
z6
IP4
Integral
Bester IP-Wert
IP2
z 5
1
1
3
5
IP0
11
1
0
5
87,3%
98,2%
87,7%
100%
88,2%
Unzulässig
obj 11.2 1
1
4.6
z 5 z 5
IP7
0
obj 11 1
5
Obj. · bestem gefundenen
Obj. · bestem gefundenem Wert
Technische
Universität
Wien
Wert
Institut für Computergraphik und Algorithmen
Max x + y + 2z
Subject to 7x + 2y + 3z 36
5x + 4y + 7z 42
2x + 3y + 5z 28
x, y, z 0, ganzzahlig
6
Branch-and-Bound
Eingabe: Gemischt-ganzzahliges lineares Programm (A, b, c, N1)
Ausgabe: Lösung von (MIP=) oder Beweis der Unlösbarkeit
Technische Universität Wien
Institut für Computergraphik und Algorithmen
7
P0 = {x j Ax = b, x ¸ 0, xi ganzzahlig 8 i 2 N1}
U = -1
K := {P0} (Liste der offenen Probleme)
x = NIL (beste Lösung)
K = ;?
U = -1 ! MIP= hat keine Lösung
ja
U ¸-1 ! x ist Optimallösung mit Wert U
nein
Wähle Pj 2 K,
K = K – {Pj}
(Branching)
Löse Relaxierung
von (MIPj=)
(Bounding)
x* ist Optimallösung mit Wert c*
ja
U = c*, x = x*
ja
nein Wien
Technische
Universität
xi* 2 Z
*
U?
Institutcfür ·Computergraphik
und Algorithmen 8 i 2 N ?
1
nein
Wähle i 2 N1 mit x*i Z
K += (Pj Å {x j xi · bx*ic})
8
+ (Pj Å {x j xi ¸dx*ie})
Branch-and-Bound
Analyse:
• (LMIP=) unzulässig oder unbeschränkt !
B&B bricht ab mit korrektem Ergebnis
• (LMIP=) hat endliches Optimum und P0 ; ! endlich viele Schritte
zur Optimallösung
• (LMIP=) hat endliches Optimum und P0 = ; ! Abbruch durch
Zusatzrestriktionen
Praxis:
• Beschränkung der Baumgröße meist notwendig
• ! Branch-and-Cut ! später
Technische Universität Wien
Institut für Computergraphik und Algorithmen
9