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