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 IP
6
0
5
 
1  obj  11
 2
 4
 
IP5
z4
IP8
obj  10
Integral
 2
0
 4
 
/ 10/

 2
0
 4
 
Beste IP-Lösung
Garantie
IP3
y0
Integral
IP1
z6
IP4
Bester IP-Wert
x2
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
Technische
Universität Wien Obj. · bestem gefundenem Wert
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
neinWien
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

Branch-and