Literatur für diese VO. Überblick. Kap. 5: Approximationsalgorithmen für kombinatorische Optimierungsprobleme

Ähnliche Dokumente
Kap. 5: Approximationsalgorithmen für kombinatorische Optimierungsprobleme

Kap. 3: Exakte Lösungsverfahren für NPschwierige. Optimierungsprobleme VO Algorithm Engineering

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering

Approximationsalgorithmen

Betriebliche Optimierung

Betriebswirtschaftliche Optimierung

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching

Approximationsalgorithmen für NP-harte Optimierungsprobleme

How To Solve The Linear Ordering Problem (Lop)

Approximationsalgorithmen für NP-harte Optimierungsprobleme

3.4 Exakte Verfahren für (Gemischt-) Ganzzahlige Optimierung

Kapitel 9: Lineare Programmierung Gliederung

Das Travelling Salesman Problem Exakte Lösungsverfahren für NP-schwierige kombinatorische Optimierungsprobleme 5. VO

Algorithmische Graphentheorie

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Optimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016

Kap. 7 Optimierung. Überblick. Optimierung: Einführung. Motivation. Beispiele für Optimierungsprobleme. Rundreiseprobleme (TSP)

Theoretische Informatik 1

Approximationsalgorithmen. 19. Dezember / 28

Algorithmische Methoden für schwere Optimierungsprobleme

Kap. 8: Travelling Salesman Problem

3 Klassifikation wichtiger Optimierungsprobleme

Rundreiseproblem und Stabilität von Approximationsalg.

Optimierung für Wirtschaftsinformatiker: Dualität, Ganzzahlige lineare Optimierung

1 Einführung in Lineare Programme und Dualität

Kap. 4.3: Das Dualitätstheorem der linearen Optimierung

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem

Schnittebenenverfahren für das symmetrische

Theoretische Informatik 1

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2008/09 in Trier. Henning Fernau Universität Trier

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007

Optimierung. Vorlesung 08

Übungsblatt 5. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Theoretische Grundlagen der Informatik

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

Übung 2 Algorithmen II

Das Matching Polytop

Approximation im Sinne der Analysis:

Vorlesung Lineare Optimierung (Sommersemester 2007)

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Effiziente Algorithmen II

Approximationsalgorithmen. Approximation im Sinne der Analysis:

Kombinatorische Optimierung

Das Problem des minimalen Steiner-Baumes

Polynomialzeit- Approximationsschema

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2012/13 in Trier

Steiner Bäume. Dipl.-Math. Maria Kandyba Lehrstuhl für Algorithm Engineering, LS VO 15. Januar 2007

Kombinatorische Optimierung

Approximationsalgorithmen

Einführung in das Seminar Algorithmentechnik

Kapitel 4. Optimierungsalgorithmen. Technische Universität Wien. Gunnar Klau Technische Universität Wien. Institut für Computergraphik und Algorithmen

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

Betriebliche Optimierung

Operations Research. Flüsse in Netzwerken. Flüsse in Netzwerken. Unimodularität. Rainer Schrader. 2. Juli Gliederung.

Steinerbaum & Co: Primal/Duale Approximation (1 von 2) Steiner Baum Problemdefinition Kombinatorischer Approximationsalgorithmus ILP Formulierungen

Datenstrukturen, Algorithmen und Programmierung II

Algorithmen II Vorlesung am

Algorithmische Graphentheorie

Inhaltsübersicht für heute:

Traveling Salesman Problem (TSP) Exakte Algorithmen für NP-schwere Probleme Integer Lineare Programme Branch-and-Cut

Optimierung für Nichtmathematiker

Kap. 5: Planaritätsbasierte Verfahren

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke

Effiziente Algorithmen I

Das Rucksackproblem: schwache NP-Härte und Approximation

Überblick Kap. 5: Graph Coloring

Kap. 5: Graph Coloring

Inhalt. 8.1 Motivation. 8.2 Optimierung ohne Nebenbedingungen. 8.3 Optimierung unter Nebenbedingungen. 8.4 Lineare Programmierung

Optimierung. Vorlesung 9

Kap. 6.5: Minimale Spannbäume ff

Technische Universität München Zentrum Mathematik Diskrete Optimierung: Fallstudien aus der Praxis. Station 3: Das Matching-Polytop

Betriebswirtschaftliche Optimierung

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, Henning Meyerhenke

Informatik III - WS07/08

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Der Branching-Operator B

Schnittebenenverfahren und Heuristiken

Algorithmen I. Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web:

Approximierbarkeit. Definition. Ein Optimierungsproblem P ist gegeben durch ein Quadrupel. P = (I, Sol, m, goal), wobei:

lineare Programmierung

1.Aufgabe: Minimal aufspannender Baum

NP-vollständig - Was nun?

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2012/13 in Trier

Wiederholung zu Flüssen

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1

Wie komme ich von hier zum Hauptbahnhof?

Vorlesung Theoretische Informatik (Info III)

Ganzzahlige lineare Programme

Hamiltonsche Graphen

Optimierung. Optimierung. Vorlesung 8 Lineare Programmierung III: Simplex Algorithmus Fabian Kuhn

Algorithmische Graphentheorie

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungen zur Vorlesung Grundbegriffe der Theoretischen Informatik Thomas Schwentick

Approximation mit relativer Gütegarantie Überblick und einführende Beispiele

Approximationsalgorithmen Einführende Beispiele

Transkript:

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