Optimierungs- Algorithmen Algorithmen und Datenstrukturen 2 Petra Mutzel Technische Universität Wien Institut für Computergraphik und Algorithmen
Überblick Kombinatorische vs. Ganzzahlige Optimierung Exakte Lösungsmethoden für ILPs Branch-and-Bound Schnittebenenverfahren Branch-and-Cut Linear Ordering Acyclic Subgraph TSP
Kombinatorische Optimierung vs. 0/1-IP Gegeben ist 0/1-IP: Assoziiertes Kombinatorisches OP:
Kombinatorische Optimierung vs. 0/1-IP Gegeben ist kombinatorisches OP: (E,I,c) Assoziiertes 0/1-IP: Jedes Polyeder hat Beschreibung durch Ungleichungen Wir können also jedes komb. OP als LP formulieren Probleme: Berechnung der LP-Darstellung nicht in pol.- Zeit möglich i.A. exponentiell viele Ungleichungen Ungleichungen besitzen Koeffizienten exponentieller Größe
Lineares Ordnungsproblem (LOP) Gegeben: ein vollständiger gerichteter Graph G=(V,A) mit Kantengewichten cuv für alle Bögen (u,v) in A. 1 2 3 4 Gesucht: eine lineare Ordnung der Knoten, so dass die Summe der Gewichte aller Bögen, die dieser Ordnung entsprechen, maximiert wird. Anwendungen: Triangulation von Input-Output Matrizen, Rangbestimmung in Turniersportarten
Graphen-Theoretische Formulierung Gegeben: ein vollständiger gerichteter Graph G=(V,A) mit Bogengewichten cuv für alle Bögen (u,v) in A. 1 2 3 4 Gesucht: ein spannendes, azyklisches Turnier in G mit größtem Gewicht Turnier: TA: entweder (i,j)T oder (j,i)T aber nicht beide
ILP-Formulierung des LOP Das LOP-Polytop: conv {x | x beschreibt azyklisches Turnier} Beispiel n=3: x12 x13 x23 x12 x13 <2,1,3> <1,2,3> Permutation <1,2,3> <2,1,3> <2,3,1> <1,3,2> <3,1,2> <3,2,1> charakt. Vektor (1,1,1) (0,1,1) (0,0,1) (1,1,0) (1,0,0) (0,0,0) x23 <1,3,2> 1 3 2 x12+x23-x13=0 1 3 2 x12+x23-x13=1 <2,3,1> <3,1,2> <3,2,1>
LP-Relaxierung des IPs n<6: Entfernung der Ganzzahligkeitsbedingungen macht keinen Unterschied D.h. die Ecken des relaxierten LOP-Polytops sind alle ganzzahlig n>=6: zusätzliche Ungleichungen notwendig
Foschungsgebiet: Polyedrische Kombinatorik Beispiel: Moebius-Leiter Ungleichungen: 1 2k-1 2k 2 3 4 Allgemein: k Kreise, k ungerade Es ist notwendig, mindestens (k+1)/2 Bögen zu entfernen, um G azyklisch zu machen Möbius-Ungleichungen beschreiben Facetten des LOP-Polytops Foschungsgebiet: Polyedrische Kombinatorik
Polyedrische Kombinatorik: LOP Konvexe Hülle aller charakteristischer Vektoren, die Permutationen, die l Elemente beschreiben. l n 3 4 5 6 7 8 20 40 910 87,472 >488,602,996 For l=60 ist LOP exakt lösbar innerhalb 1 Sekunde mittels Schnittebenenverfahren.
Überblick Kombinatorische vs. Ganzzahlige Optimierung Exakte Lösungsmethoden für ILPs Branch-and-Bound Schnittebenenverfahren Branch-and-Cut Linear Ordering Acyclic Subgraph TSP
Zielfunktion y LP optimum Zulässigkeitsbereich x Lineares Programm
Ganzzahliges Lineares Program y Zielfunktion Optimum der LP Relaxierung IP Optimum Abrunden der optimalen Lösung der LP-Relaxierung Zulässige Lösungen x Ganzzahliges Lineares Program
Branch-and-Bound Betrachte das folgende ILP: (IP0) LP-Relaxierung Max x + y + 2z Subject to 7x + 2y + 3z 36 5x + 4y + 7z 42 2x + 3y + 5z 28 x, y, z 0, ganzzahlig LP-Relaxierung
Branch-and-Bound für ILPs: Beispiel Löse LP- Relaxierung Max x+y+2z IP0 IP2 IP1 / 11 Integral 10 / Integral Bester IP-Wert Beste IP-Lösung IP4 IP3 IP6 IP5 Unzulässig IP8 IP7 Obj. <= bestem gefundenen Wert Obj. <= bestem gefundenem Wert
Schnittebenenverfahren: LOP Beispiel n=3: x12 x13 x23 x12 x13 <2,1,3> <1,2,3> Permutation <1,2,3> <2,1,3> <2,3,1> <1,3,2> <3,1,2> <3,2,1> charakt. Vektor (1,1,1) (0,1,1) (0,0,1) (1,1,0) (1,0,0) (0,0,0) x23 <1,3,2> 1 3 2 x12+x23-x13=0 1 3 2 x12+x23-x13=1 <2,3,1> <3,1,2> <3,2,1>
Schnittebenenverfahren y Addiere Ungleichungen nur bei Bedarf Zulässige Lösungen x Zielfunktion
Separationsproblem Gegeben ist ein Punkt x und OP. Gesucht ist eine Ungleichung, die diesen Punkt --- aber keine zulässige Lösung --- abschneidet... y ...oder Beweis, dass keine solche Un-gleichung existiert. Zulässige Lösungen x Zielfunktion
Beispiel: Acyclic Subgraph Problem: Finde größten azyklischen Unter- graphen in gewichtetem Digraphen D=(V,A) Problem: exponentiell viele Ungleichungen Lösung: durch Separierung
Idee von Schnittebenenverfahren (1) Starte mit einer Teilmenge der Restriktionen (2) Löse LP, sei x* die gefundene Optimallösung (3) Entscheide, ob es weggelassene Restriktionen aTx<=a0 gibt, so dass aTx>a0? (3.1) Falls NEIN: STOP (Relaxierung gelöst) (3.2) Falls JA: Bestimme solche, füge sie zu lP hinzu und gehe zu (1) Separationsproblem
Satz von Grötschel, Lovasz, Schrijver (1) Das Optimierungsproblem ist in polynomieller Zeit lösbar genau dann wenn das zugehörige Separationsproblem in polynomieller Zeit lösbar ist. Frage: Können wir Separationsproblem für LOP lösen? durch Aufzählen und Ausprobieren aller Ungleichungen Frage: Können wir Separationsproblem für Acylic Subgraph Problem lösen? durch Kürzestes Wegeproblem
Beispiel: Acyclic Subgraph Für alle Kanten f A tue: Fixiere diese Kante f = (u,v) Berechne kürzesten Weg in D mit Gewichten 1-xe Falls Weglänge W+xuv<1, dann: verletzte Ungleichung gefunden, die nun zum System hinzugenommen wird Sonst: Beweis, dass keine verletzte Ungleichung, die f enthält, existiert.
Beispiel: TSP Problem: exponentiell viele Ungleichungen (3) Gegeben: vollständiger Graph G=(V,E) Problem: exponentiell viele Ungleichungen (3) Frage: Können wir Separationsproblem für TSP lösen? Lösung des kleinsten Schnittproblems, s. Fluss-Algorithmen
Branch-and-Cut Verfahren Verbindung von Schnittebenenverfahren mit Branch-and-Bound Versuche, jeweils die Teilprobleme (LP-Relaxierungen) Mittels Schnittebenenverfahren zu lösen Falls die Lösung nicht ganzzahlig ist, dann wähle nicht-ganzzahlige Variable und generiere zwei neue Teilprobleme: P1 mit zusätzlichen Restriktionen xe=0 P2 mit zusätzlichen Restriktionen xe=1