230 likes | 381 Views
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
E N D
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
1 3 4 2 Lineares Ordnungsproblem (LOP) Gegeben: ein vollständiger gerichteter Graph G=(V,A) mit Kantengewichten cuvfür alle Bögen (u,v) in A. 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
1 3 4 2 Graphen-Theoretische Formulierung Gegeben: ein vollständiger gerichteter Graph G=(V,A) mit Bogengewichten cuvfür alle Bögen (u,v) in A. Gesucht: ein spannendes, azyklisches Turnier in G mit größtem Gewicht Turnier: TA: entweder (i,j)T oder (j,i)T aber nicht beide
x13 x23 2 1 2 1 3 3 x12 ILP-Formulierung des LOP Das LOP-Polytop: conv {x | x beschreibt azyklisches Turnier} Beispiel n=3: x12 x13 x23 <2,1,3> <1,2,3> <1,3,2> 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) x12+x23-x13=0 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
3 4 2 2k 1 2k-1 Allgemein: k Kreise, k ungerade • Beispiel: Moebius-Leiter Ungleichungen: 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. 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
Optimum der LP Relaxierung IP Optimum Abrunden der optimalen Lösung der LP-Relaxierung Zielfunktion y Zulässige Lösungen x Ganzzahliges Lineares Program
Branch-and-Bound Betrachte das folgende ILP: (IP0) 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
IP0 / / 10 11 IP2 IP1 Integral IP4 IP3 Unzulässig IP6 IP5 Integral IP8 IP7 Obj. <= bestem gefundenen Wert Obj. <= bestem gefundenem Wert Branch-and-Bound für ILPs: Beispiel Löse LP- Relaxierung Max x+y+2z Bester IP-Wert Beste IP-Lösung
x13 x23 1 2 1 2 3 3 x12 Schnittebenenverfahren: LOP Beispiel n=3: x12 x13 x23 <2,1,3> <1,2,3> <1,3,2> 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) x12+x23-x13=0 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
Gegeben ist ein Punkt x und OP. Gesucht ist eine Ungleichung, die diesen Punkt --- aber keine zulässige Lösung --- abschneidet... Separationsproblem 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 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