Approximation im Sinne der Analysis:

Ähnliche Dokumente
Approximationsalgorithmen. Approximation im Sinne der Analysis:

Approximations-Algorithmen

Ü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

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Polynomialzeit- Approximationsschema

Theoretische Grundlagen der Informatik

Approximationsalgorithmen

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

Approximationsalgorithmen. 19. Dezember / 28

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

Approximationsklassen für Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme

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

Der Branching-Operator B

Effiziente Algorithmen II

Effiziente Algorithmen (SS2015)

Approximationsalgorithmen

Betriebliche Optimierung

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

Kombinatorische Optimierung

Kombinatorische Optimierung

Betriebswirtschaftliche Optimierung

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Das Rucksackproblem: schwache NP-Härte und Approximation

Das Problem des minimalen Steiner-Baumes

Übung 2 Algorithmen II

Algorithmische Methoden für schwere Optimierungsprobleme

Betriebliche Optimierung

Theoretische Informatik 1

Randomisierte und Approximative Algorithmen. Prof. Dr. Heiko Röglin Institut für Informatik Universität Bonn

Heuristische Verfahren

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

Betriebswirtschaftliche Optimierung

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

Die Theorie der Toleranzen und deren Anwendung auf das Traveling Salesman Problem

Kapitel 9: Lineare Programmierung Gliederung

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

Das Multi Traveling Salesman Problem

Theoretische Informatik 1

2. Optimierungsprobleme 6

Rundreiseproblem und Stabilität von Approximationsalg.

Die dynamische Programmierung 1 / 51

6.1. Ein Approximationsalgorithmus für das Rucksackproblem

Algorithmen II. Peter Sanders, Christian Schulz, Simon Gog. Übungen: Michael Axtmann. Institut für Theoretische Informatik, Algorithmik II.

Algorithmische Graphentheorie

Algorithmen und Datenstrukturen

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

Approximationsalgorithmen

Probleme aus NP und die polynomielle Reduktion

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

Rundreisen und Touren

EDM, Algorithmen und Graphenspeicherung

Algorithmen für schwierige Probleme

Hamiltonsche Graphen

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

Das Problem des Handlungsreisenden

Gliederung. Kapitel 4. Lokale Suchverfahren. Meta-Heuristiken. Simulated Annealing. Lokale Suchverfahren. Optimierungsalgorithmen

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013

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

VL-13: Polynomielle Reduktionen. (Berechenbarkeit und Komplexität, WS 2018) Gerhard Woeginger

Kap. 7.3 Enumerationsverfahren Kap. 7.4 Branch-and-Bound Kap. 7.5 Dynamische Programmierung

Datenstrukturen, Algorithmen und Programmierung II

NP-vollständig - Was nun?

2.6 Asymptotische Approximation: Min Binpacking

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

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Das Traveling Salesman Problem und das Assignment Problem zweiter Ordnung. Gerold Jäger

Die Klasse NP und die polynomielle Reduktion

1 Matroide. 1.1 Definitionen und Beispiele. Seminar zur ganzzahligen Optimierung Thema: Durchschnitt von Matroiden - Satz von Edmonds von Dany Sattler

Seminar Parametrisierte Algorithmen für N P-schwere Probleme

Zusammenfassung Approx algorithmen

Approximationsalgorithmen Einführende Beispiele

Dynamisches Routing in der Logistik

Durchschnitt von Matroiden

Vorlesung Kombinatorische Optimierung (Wintersemester 2014/15)

Transkript:

1 Approximation im Sinne der Analysis: Satz von Weierstrass: (1815-1897) Sei f eine stetige Funktion auf [a, b]. Dann gibt es zu jedem ε > 0 ein Polynom P ε mit: max x [a,b] f(x) P ε(x) < ε Numerische Mathematik: Numerical Recipes in C++ www.nr.com

Approximationsalgorithmen Ulrich Pferschy 2 Approximation von diskreten, kombinatorischen Problemen: Betrachtung einzelner Objekte, Identitäten oder abstrakter Elemente mit ganzzahligen Daten Motiviert aus praktischen Problemstellungen Klassische Probleme der diskreten Optimierung: Scheduling Graph-Probleme (Überdeckung, Färbung, Partition) Netzwerkprobleme Routen- und Tourenplanung TSP Packungs- und Zuschnittprobleme...

Approximationsalgorithmen Einleitung 3 Multi-Prozessor Scheduling: n jobs/aufträge, jeder mit Bearbeitungszeit p i, m Maschinen Ordne jeden job einer Maschine zu, sodaß der Gesamt-Fertigstellungszeitpunkt minimal ist. Bin Packing Problem (BP): n Objekte, jedes mit Gewicht a i (0, 1], beliebig viele Container/bins mit Kapazität 1 Packe alle Objekte in minimale Anzahl von bins

Approximationsalgorithmen Einleitung 4 Rucksackproblem / Knapsack Problem (KP): n Objekte, jedes mit Profit p i und Gewicht w i, ein Rucksack/Container/bin mit Kapazität c Wähle eine Teilmenge von Objekten mit maximalem Profit und Gewicht c. Subset Sum Problem (SSP): Spezialfall des Rucksackproblems n Objekte, jedes mit Gewicht w i, ein Rucksack/Container/bin mit Kapazität c Wähle eine Teilmenge von Objekten mit maximalem Gewicht c.

Approximationsalgorithmen Einleitung 5 Maximum Cut Problem (Max Cut): Graph (V, E) mit Kantengewichten w ij für jede Kante (i, j) E. Finde eine Knotenmenge S V mit maximalem i S,j S w ij (Kanten zwischen S und V \ S). Minimal spannender Baum / Minimum Spanning Tree (MST): Graph (V, E) mit Kantengewichten d ij = d ji für jede Kante (i, j) E. Finde einen Baum, der alle Knoten enthält mit minimalem Gesamtgewicht.

Approximationsalgorithmen Einleitung 6 (Symmetrisches) Rundreiseproblem / Traveling Salesperson Problem (TSP): n Städte mit allen (symmetrischen) Entfernungen. Finde die kürzeste Rundreise, die alle n Städte besucht. Variante: Minimaler Hamiltonscher Kreis: Graph (V, E) mit Kantengewichten d ij = d ji für jede Kante (i, j) E. Finde einen Hamiltonschen Kreis mit minimalem Gesamtgewicht.

Approximationsalgorithmen Einleitung 7 Set Covering Problem (SC): Grundmenge M, Familie von Teilmengen {S 1,..., S m }, S i M, Bewertung w i für jede Menge S i. Finde eine Auswahl der Teilmengen mit minimalem Gesamtgewicht, sodaß jedes Element aus M in einer der ausgewählten Teilmengen enthalten ist. Vertex Cover (VC): Graph (V, E) Finde eine minimale Knotenmenge C V, sodaß für jede Kante (i, j) entweder i C oder j C.

Approximationsalgorithmen Einleitung 8 Knotenfärbung von Graphen/Graph Colouring: Graph (V, E), beliebig viele Farben. Ordne jedem Knoten eine Farbe zu, sodaß Knoten, die durch eine Kante verbunden sind, verschiedene Farben haben und eine minimale Gesamtzahl von Farben verwendet werden. Kantenfärbung von Graphen: Graph (V, E), beliebig viele Farben. Ordne jeder Kante eine Farbe zu, sodaß Kanten mit gemeinsamen Endknoten verschiedene Farben haben und eine minimale Gesamtzahl von Farben verwendet werden.

Approximationsalgorithmen Einleitung 9 Erwünscht: Optimale Lösung N P-Vollständigkeit: = Bei fast allen interessanten Problemen gibt es kein effizientes optimales Lösungsverfahren, d.h. keinen Algorithmus mit polynomialer Laufzeit 1. Optimale Lösung durch intelligente Enumeration Branch & Bound IP-Formulierung, Branch & Cut Dynamisches Programmieren... 2. Verzicht auf Optimalität = Approximation Bestimmt wird eine zulässige Lösung. Qualität der Lösung ist i.a. unbekannt. Unterscheide: Suchverfahren (local search, Metaheuristiken, etc.) konstruktive Verfahren

Approximationsalgorithmen Bewertung 10 Bewertung von Approximationsalgorithmen 1. empirische Tests 2. average-case Analyse 3. worst-case Analyse

Approximationsalgorithmen Bewertung 11 Güte eines Algorithmus A für ein Optimierungsproblem: Unterscheide: Problem vs. Problem-Instanz I (Näherungs-)Algorithmus A liefert Lösungswert A(I) (unbekannte) Optimallösung wäre Opt(I) Definition: Algorithmus A ist ein Approximationsalgorithmus wenn A für jede Instanz I eine zulässige Lösung liefert. Definition: Ein Approximationsalgorithmus A hat eine absolute Gütegarantie k, (k > 0), wenn für jede Instanz I gilt: Opt(I) A(I) k Bemerkung: Def. gilt für Maximierungs- und Minimierungsprobleme.

Approximationsalgorithmen Bewertung 12 Maximierung: Definition: Ein Approximationsalgorithmus A für ein Maximierungsproblem hat eine relative Gütegarantie k,(0 < k < 1), wenn für jede Instanz I gilt: A(I) k Opt(I) kurz: A ist ein k Approximationsalgorithmus. Betrachte die relative Abweichung: Opt(I) A(I) Opt(I) ε A(I) (1 ε)opt(i) Ein Approximationsalgorithmus A mit relativer Abweichung ε ist ein (1 ε) Approximationsalgorithmus.

Approximationsalgorithmen Bewertung 13 Minimierung: Definition: Ein Approximationsalgorithmus A für ein Minimierungsproblem hat eine relative Gütegarantie k, (k > 1), wenn für jede Instanz I gilt: A(I) k Opt(I) auch hier: A ist ein k Approximationsalgorithmus. wiederum die relative Abweichung: A(I) Opt(I) Opt(I) ε A(I) (1 + ε)opt(i) Ein Approximationsalgorithmus A mit relativer Abweichung ε ist ein (1 + ε) Approximationsalgorithmus. Zusatz: Eine relative/absolute Gütegarantie eines Algorithmus A ist scharf, wenn es eine Instanz I gibt, sodaß die entsprechende Ungleichung mit Gleichheit erfüllt ist. Oder wenn es eine Folge von Instanzen gibt, sodaß die Gleichheit im Grenzwert gilt.

Approximationsalgorithmen Bewertung 14 Definition: (Minimierung) Ein Approximationsalgorithmus A für ein Minimierungsproblem hat eine asymptotische Gütegarantie k, (k > 1), wenn es eine Konstante d gibt, sodaß für jede Instanz I gilt: A(I) k Opt(I) + d oder technischer: k = lim sup Opt(I) I A(I) Opt(I)

Approximationsalgorithmen Einfache Algorithmen 15 Multi-Prozessor Scheduling: n jobs/aufträge, jeder mit Bearbeitungszeit p i, m Maschinen Ordne jeden job einer Maschine zu, sodaß der Gesamt-Fertigstellungszeitpunkt minimal ist. Algorithmus List-Scheduling (Graham): l j := 0 Arbeitszeit von Maschine j = 1,.., m for i := 1 to n do j min := arg min{l j } ordne job i auf Maschine j min an. l jmin := l jmin + p i end for Gesamtzeit := max{l j } List-Scheduling hat eine scharfe Gütegarantie von 2 1 m. Verbesserung: (LPT) Longest-Processing Time List-Scheduling Sortiere die jobs in absteigender Reihenfolge. (LPT) hat eine scharfe Gütegarantie von 4 3 1 3m.

Approximationsalgorithmen Einfache Algorithmen 16 Bin Packing Problem (BP): n Objekte, jedes mit Gewicht a i (0, 1], beliebig viele bins mit Kapazität 1 Packe alle Objekte in minimale Anzahl von bins Naive Methode: Algorithmus Next Fit (NF): öffne das erste bin for i := 1 to n do wenn Objekt i in das offene bin paßt packe es dort hinein sonst schließe das offene bin öffne ein neues bin und packe Objekt i ein end for (NF) läuft in O(n) Zeit. (NF) hat eine scharfe asymptotische Gütegarantie von 2.

Approximationsalgorithmen Einfache Algorithmen 17 Algorithmus First Fit (FF) (Johnson et al.): öffne das erste bin for i := 1 to n do betrachte die offenen bins der Reihe nach packe Objekt i in das erste bin, wo es paßt wenn es nirgends paßt öffne ein neues bin und packe Objekt i ein end for (FF) läuft in O(n log n) Zeit. (FF) hat eine scharfe asymptotische Gütegarantie von 1.7. Verbesserung: First Fit Decreasing (FFD) (Johnson) Sortiere die Objekte in absteigender Reihenfolge. (FFD) hat eine scharfe asymptotische Gütegarantie von 11 9. Varianten: Best Fit, Worst Fit, Any Fit,...

Approximationsalgorithmen Einfache Algorithmen 18 Euklidsches Rundreiseproblem (TSP): n Punkte im R 2. Finde die kürzeste Tour durch alle n Punkte. Einfüge-Heuristik: Algorithmus Insertion: ( ) repeat wähle einen Punkt k nicht auf der Tour suche Kante (i, j) der Tour mit minimalen Einfügekosten: d(i, k) + d(k, j) d(i, j) füge k zwischen i und j ein until alle Punkte eingefügt Auswahl von Punkt k: nearest insertion farthest insertion cheapest insertion random insertion

Approximationsalgorithmen Einfache Algorithmen 19 Approximations-Resultate für Insertion: Für jede Insertion-Regel gilt (Rosenkrantz et al. 77): A(I) (log n + 1) Opt(I) Es gibt Instanzen I und Insertion-Folgen mit A(I) log n log log n Opt(I). Nearest Insertion hat eine scharfe Gütegarantie von 2. Wenn nearest insertion mit der konvexen Hülle beginnt, verschlechtert sich die Gütegarantie auf 3 (Warburton 93). Farthest Insertion: In der Praxis besser, aber Gütegarantie 2.43 (Hurkens, 92), genaue Garantie unbekannt. Random Insertion: (Azar 94) Es gibt Instanzen I mit A(I) log log n log log log n Opt(I).

Approximationsalgorithmen Einfache Algorithmen 20 Verbesserungs-Verfahren: Algorithmus 2-Opt: starte mit irgendeiner Tour repeat wähle 2 Kanten der Tour und entferne sie füge die Teilstücke zu neuer Tour zusammen Tour := min{neue Tour, alte Tour} until keine Verbesserung möglich viele Varianten zur systematischen Durchführung Jede 2-optimale Tour ist kreuzungsfrei. Für jede 2-optimale Tour T gilt (Chandra et al. 94): T log n Opt Es gibt 2-optimale Touren T mit T log n log log n Opt.

Approximationsalgorithmen Einfache Algorithmen 21 Rucksackproblem/Knapsack Problem (KP): n items, jedes mit Profit p i und Gewicht w i, ein Rucksack/bin mit Kapazität c Wähle eine Teilmenge von items mit maximalem Profit und Gewicht c. Algorithmus einfacher Greedy: Sortiere die items nach Effizienz: p 1 w 1 p 2 w 2... p n w n for i := 1 to n do if item i paßt in den Rucksack pack es ein end for Einfacher Greedy kann unbeschränkt schlecht werden. Verbesserter Algorithmus Greedy: Sei z E... der Wert des Rucksacks nach einfacher Greedy. z G := max{z E, max{p i i = 1,..., n}} Greedy hat eine scharfe Gütegarantie von 1/2.

Approximationsalgorithmen Einfache Algorithmen 22 Beachte: ein einziges großes item hat Haupteinfluß. Verbesserung: Rate das item mit größtem Profit in der Optimallösung. = alle items durchprobieren. Algorithmus G 2/3 : for i := 1 to n do packe item i in den leeren Rucksack wende Greedy auf das Restproblem mit Kapazität c w i an end for z A := Maximum der n Rucksack-Lösungen G 2/3 hat eine scharfe Gütegarantie von 2/3. Verallgemeinerung: Rate die 2 items mit größtem Profit in der Optimallösung. = alle Paare von items durchprobieren. = scharfe Gütegarantie von 3/4.