Kap. : Approximationsalgorithmen für kombinatorische Optimierungsprobleme Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Literatur für diese VO P. Mutzel: Skript-Teil: NP-schwierige kombinatorische Optimierungsprobleme (s. Web) Michel X. Goemans: Approximation Algorithms, zur Vorlesung Advanced Algorithms im November 994, MIT Cambridge, USA, Seiten Approx-6 Approx-9. 8./0. VO A&D WS 08/09 8..08/8..009 9. VO am 6.0.009 war Gastvorlesung von Prof. Michael Jünger, Universität zu Köln, über Geometrische Dualität (s. Handouts). Einführung Überblick. Zusammenhang von kombinatorischen Optimierungsproblemen und Linearer Programmierung. Design von Approximationsalgorithmen. Einführung: Ganzzahlige Lineare Optimierungsprobleme Lineare Optimierungsprobleme mit Ganzzahligkeitsforderungen: GLP (ILP, IP) ganzzahliges lineares Programm, integer linear program.. Direkte Ableitung.. Approximationsalgorithmen mittels LP- Relaxierungen.. Approximationsalgorithmus mittels LP- Runden..4 Primal-duale Approximationsalgorithmen Lineare Optimierungsprobleme mit teilweise Ganzzahligkeitsforderungen: GGLP (MIP) gemischt-ganzzahliges lineares Programm, mixed integer program Lineare Optimierungsprobleme mit 0/- Bedingungen: 0/-IP, Binäres LP, BLP binäres lineares Programm, binary linear program Definition Kombinatorisches Optimierungsproblem Beispiele für Kombinatorische Optimierungsprobleme Gegeben sind: Handlungsreisendenproblem (TSP) endliche Menge E (Grundmenge) Teilmenge I der Potenzmenge E von E (zul. Mengen) Minimaler Spannender Baum (MST) Kostenfunktion c: E K Minimum der Funktion: f(x)=x +, x R Gesucht ist: eine Menge I* I, so dass c(i*)= c(e) so groß e I* Maximierungsproblemen bzw. klein bei Minimierungsproblemen) wie möglich ist. (bei Problem: 6
Beispiele für Kombinatorische Optimierungsprobleme Rucksackproblem: ILP-Modellierung Geg. n versch. Güterarten in unbegrenzter Menge mit Gewicht a i >0 und Wert c i ; Kapazität des Rucksacks: b Gesucht: Kostbarste Rucksackpackung Aus Kapitel 4 kennen wir: Polyeder 0/-Rucksackproblem: 0/-IP-Modellierung Geg. n versch. Güter mit Gewicht a i >0 und Wert c i ; Kapazität des Rucksacks: b Gesucht: Kostbarste Rucksackpackung 7 8 Polyederdarstellungen Beispiel für Minkowski/Weyl y 0 x 0. Zusammenhang von Kombinatorischen Optimierungsproblemen zu Linearer Programmierung Jedes komb. OP kann als BLP formuliert werden und umgekehrt: Kombinatorische Optimierung vs. 0/-IP Gegeben ist 0/-IP: Ist E eine endliche Menge und F E, dann ist der charakteristische Vektor χ F R E für F definiert als Beispiel: MST Assoziiertes kombinatorisches OP: Wir setzen: Wir assoziieren zu jedem Element e E eine Komponente des Vektors χ F. Umgekehrt, ist jeder 0/-Vektor x {0,} E charakteristischer Vektor einer Teilmenge F x von E, und zwar gilt: F x ={e E x e =}.
Kombinatorische Optimierung vs. 0/-IP Gegeben ist kombinatorisches OP: (E,I,c) Assoziiertes 0/-IP: K : Beispiel : MST auf K Gegeben: vollständiger Graph G=(V,A) mit Knoten Zulässige Menge: Menge aller Spannbäume in G 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 Einführung von 0/-Variablen x e = g.d.w. Kante in Baum Bedingungen: Beispiel : MST auf K Beispiel : MST auf G ILP-Formulierung : Charakt. Vektor der gültigen Spannbäume (0,,) (,,) (,,0) x (,0,) x (,0,) (0,,) (0,0,) x +x +x = (0,,0) (0,0,0) (,0,0) (,,0) x Diese ILP-Formulierung liefert jedoch keine guten (fraktionalen) Lösungswerte, wenn man die Ganzzahligkeitsbedingungen wegläßt. Besser ist die folgende. 6 7 ILP-Formulierung Beispiel : Matchingproblem Sei G=(V,E) ein ungerichteter Graph mit Kantengewichten. Ein Matching (Paarung) ist eine Kantenmenge M E in der kein Knoten mehr als einmal zu einer Kante in M inzident ist. Ein Matching M heißt perfekt, wenn jeder Knoten zu einer Kante in M inzident ist. Das Minimum Weight Perfect Matching Problem sucht nach einem perfekten Matching M kleinsten Gewichts. Läßt man hier die Ganzzahligkeitsbedingungen weg, dann erhält man i.a. fraktionale (also keine ganzahligen) Lösungen. Die vollständige Beschreibung des Polytops aller spannenden Bäume eines Graphen G ist jedoch bekannt. 9 M E\M 7 8
ILP-Formulierung für Min-Weight Perfect Matching Formulierung als Ganzzahliges Lineares Programm: ILP-Formulierung für Min-Weight Perfect Matching Formulierung als Ganzzahliges Lineares Programm: LP-Relaxierung δ(v) bezeichnet die Menge aller zu v inzidenten Kanten und x(δ(v) steht für: x e e δ(v) Auch hier kennt man die vollständige LP-Beschreibung des Problems (Jack Edmonds 96): Hinzufügung der obigen Schnitt-Ungleichungen genügen 0 Vollständige LP- Charakterisierungen Solche vollständigen LP-Charakterisierungen von kombinatorischen Optimierungsproblemen durch Lineare Programme sind nur selten bekannt, z.b. für Optimierungsprobleme wie MST oder größte Wälder oder Min. Perfect Matchings oder auch für Spezialklassen von Graphen für allgemeinere Probleme, wie z.b. bipartite Graphen. Sind diese jedoch bekannt, dann bieten sie hilfreiche alternative (polynomielle) Lösungsverfahren (im Gegensatz zu rein kombinatorischen Algorithmen) für die jeweiligen Optimierungsprobleme und auch deren Varianten an.. Design von Approximativen Algorithmen und Gütegarantien Approximative Algorithmen sind Heuristiken, die (im vorhinein) eine Gütegarantie für die gefundene Lösung geben können. Z.B. der Art: Die gefundene Lösung ist um höchstens x% schlechter als der Wert der optimalen Lösung. Approximative Algorithmen und Gütegarantien Approximative Algorithmen und Gütegarantien Sei A ein Algorithmus, der für jede Probleminstanz P eines Optimierungsproblems Π eine zulässige Lösung mit positivem Wert liefert. Dann def. wir: c A (P) als den Wert der Lösung des Algorithmus A für Probleminstanz P Π c opt (P) sei der optimale Wert für P. Sei A ein Algorithmus, der für jede Probleminstanz P eines Optimierungsproblems Π eine zulässige Lösung mit positivem Wert liefert. Dann def. wir: c A (P) als den Wert der Lösung des Algorithmus A für Probleminstanz P Π c opt (P) sei der optimale Wert für P. Für Minimierungsprobleme gilt: Falls c A (P) / c opt (P) ε für alle Probleminstanzen P und ein ε>0, dann heißt A ein ε-approximativer Algorithmus und die Zahl ε heißt Gütegarantie von Algorithmus A. Für Min Max imierungsprobleme gilt: Falls c A (P) / c opt (P) ε für alle Probleminstanzen P und ein ε>0, dann heißt A ein ε-approximativer Algorithmus und die Zahl ε heißt Gütegarantie von Algorithmus A. 4
Approximative Algorithmen Für Minimierungsprobleme gilt: ε Für Maximierungsprobleme gilt: ε ε = A ist exakter Algorithmus (berechnet immer den optimalen Wert).. Direkte Ableitung eines Approximationsfaktors Beispiele aus DAP-Vorlesung: First-Fit Heuristik für Bin Packing: 7/0- Approximationsalgorithmus Für Minimierungsprobleme gilt: Falls c A (P) / c opt (P) ε für alle Probleminstanzen P und ein ε>0, dann heißt A ein ε-approximativer Algorithmus und die Zahl ε heißt Gütegarantie von Algorithmus A. 6 7 Bin-Packing / Packen von Kisten.. Direkte Ableitung eines Approximationsfaktors Geg.: Gegenstände,,N der Größe w i und beliebig viele Kisten der Größe K. Gesucht: Finde die kleinste Anzahl von Kisten, die alle Gegenstände aufnehmen. First-Fit Heuristik: Jeder Gegenstand wird in die erstmögliche Kiste gelegt, in die er paßt. siehe DAP Beispiele aus DAP-Vorlesung: First-Fit Heuristik für Bin Packing: 7/0- Approximationsalgorithmus MST-Heuristik für das metrische TSP: - Approximationsalgorithmus Christofides-Heuristik für das metrische TSP: /- Approximationsalgorithmus (zur Erinnerung aus DAP: hier addiere Min. Perfektes Matching an ungeraden Knoten statt Kantenverdopplung) 8 9 Spanning-Tree Heuristik für TSP Idee: Bestimme einen MST von G Kanten- generiere daraus eine Eulertour Verdopplung generiere daraus eine zulässige Tour Abkürzungen Definition: Eine Eulertour ist ein geschlossener Kantenzug, der jede Kante des Graphen genau einmal enthält. Es gilt: Ein Graph enthält eine Eulertour genau dann wenn jeder Knoten geraden Knotengrad hat (ohne Beweis). Beispiel für Spanning-Tree Heuristik D W 4 i A K 6 0 9 B 7 8 F 0
Gütegarantie für ST-Heuristik Für metrische TSP und für die Spanning-Tree Heuristik gilt: c ST (P) / c opt (P) für alle P Π Beweis: c ST (P) c B (P) = MST(P) c opt (P) wegen Dreiecksungleichung: ST-Lösung läuft direkt denn: in TSP-Lösung müssen u.a. alle Knoten miteinander verbunden sein; der billigste Weg hierfür ist MST 6.. Approximationsalgorithmen mittels Relaxierungen Sei unser Optimierungsproblem gegeben durch min{f(x): x S} und c opt dessen Optimalwert. Eine untere Schranke für c opt kann durch eine Relaxierung erreicht werden. Betrachte das ROP: c Ropt = min {g(x): x R}. ROP heißt eine Relaxierung des Originalproblems, wenn gilt: () S R und () g(x) f(x) für alle x S. x R x S Dann ist w Ropt ist eine untere Schranke für c opt Denn dann gilt: c Ropt = min g(x) min f(x) = c opt. x R x S LP-Relaxierungen Die Relaxierungen die aus einem ILP entstehen, indem man die Ganzzahligkeitsbedingungen streicht (bzw. durch untere und obere Schranken ersetzt), heißen LP-Relaxierungen. Die meisten klassischen Relaxierungen, die bei Approximationsalgorthmen betrachtet werden, sind LP-Relaxierungen. In den nächsten beiden Abschnitten werden wir zwei Verfahren kennenlernen, die LP- Relaxierungen benutzen... Approximationsalgorithmus mittels LP-Runden Idee: Löse eine LP-Relaxierung für das Problem x* Runde x* R zu einem Element x S. Dann beweise f(x ) αlb αc opt Oft hilft hierbei zufälliges Runden. Dann wird x* zufällig zu einem Element x S, so dass E[f(x )] αg(x*). Diese Algorithmen können manchmal auch derandomisiert werden, d.h. man kann ein x finden, so dass f(x ) E[f(x )]. 40 4 Def.: VERTEX COVER (VC) Knotenüberdeckungsproblem: Gegeben: Graph G=(V,E) und k>0. Gesucht: Besitzt G ein vertex cover der Größe k? I.e., existiert eine Knotenmenge V V, V k, so dass für jede Kante uv E entweder u oder v in V ist. Das Entscheidungsproblem vertex cover ist NP-vollständig Beispiel: Approximationsalgorithmus für Vertex Cover mittels LP-Runden Wir betrachten das gewichtete Vertex Cover Problem (wvc): Hier sind zusätzlich zum VC für alle Kanten nicht-negative Kantengewichte gegeben. Gesucht ist eine Knotenüberdeckung (VC) S kleinsten Gewichts. 4 6 4 6 vertex cover der Größe k= vertex cover der Größe k= 4 Alle Kanten müssen durch Knoten überdeckt werden 4 4 6
Ganzzahliges Lineares Programm für wvc Wir interpretieren den i-ten Eintrag des Vektors x als Knoten i ist in der Lösung (VC) enthalten g.d.w. x i =. Relaxiertes Lineares Programm für wvc Wir entfernen die Ganzzahligkeitsbedingungen durch untere und obere Schranken 0 und. S ist ein Vertex Cover in G g.d.w. Vektor x die Restriktionen () und () enthält. Der Lösungswert des VCs S ist w(s)=w T x. Es gilt: Der Wert des LPs w LP ist kleiner gleich dem Wert der optimalen Lösung w(s*). 44 4 Runden der LP Lösung Wir runden die Werte der LP Lösung x* zu 0 bzw. : Unser S sei definiert als S:={i V: x i * /} Lemma: Das so definierte S ist ein Vertex Cover, und der Wert w(s) ist kleiner gleich dem -fachen Wert des LPs: w(s) w LP Denn: für jedes Element in S gilt: man verliert maximal ½. Satz: Dieser Algorithmus generiert ein Vertex Cover S, das höchstens Faktor vom Optimalwert entfernt ist (-OPT)...4 Primal-duale Approximationsalgorithmen Ausgangspunkt ist eine LP-Relaxierung min {g(x): x R} des Optimierungsproblems min {g(x): x S}. Idee: Betrachte zeitgleich eine primale und eine duale Lösung. Sei min {g(x): x R} das primale LP und max {h(y): y D}. Wir wissen, es gilt: max {h(y): y D} min {g(x): x R}. Betrachte eine duale zulässige Lösung y D und konstruiere daraus eine primale ganzzahlige Lösung x S, so dass f(x) α h(y) α h(y max ) α g(x min ) α c opt 46 47 Beispiel: Primal-dualer Approximationsalgorithmus für Vertex Cover Primale LP-Relaxierung: Duales LP zur LP-Relaxierung: Sei y R E, die Elemente von y sind y(e) für alle Kanten e=(i,j) E ( ) Beispiel: Primal-dualer Approximationsalgorithmus für Vertex Cover Initialisiere C=Φ (das VC), y=0, und F=E. Wiederhole die Schritte () und () solange bis F Φ: () Wähle eine Kante e=(i,j) F. Erhöhe den Wert von y(e) so weit wie möglich, solange bis Ungleichung ( ) für i oder für j strikt wird. O.E. sei ( ) für j strikt. () Setze: C=C {j} und entferne alle Kanten, die zu j inzident sind aus der Menge F. 48 49 7
Analyse des primal-dualen Verfahrens für VC Satz: Der primal-duale Algorithmus generiert ein Vertex Cover C, das höchstens Faktor vom Optimalwert entfernt ist (-OPT). Beweis: Offensichtlich ist C am Ende des Algorithmus ein Vertex Cover. Es gilt: und natürlich gilt: w LP w opt ENDE Approx 0 8