Kombinatorische Optimierung

Ähnliche Dokumente
Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme

Kombinatorische Optimierung

Das Rucksackproblem: schwache NP-Härte und Approximation

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

Effiziente Algorithmen (SS2015)

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Theoretische Grundlagen der Informatik

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, Henning Meyerhenke

Ü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

2.6 Asymptotische Approximation: Min Binpacking

Approximationsalgorithmen

Approximationsklassen für Optimierungsprobleme

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, Henning Meyerhenke

Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse

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

Approximationsalgorithmen

Theoretische Grundlagen der Informatik

Übung 2 Algorithmen II

Probleme aus NP und die polynomielle Reduktion

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013

Algorithmen und Datenstrukturen

Polynomialzeit- Approximationsschema

Einführung in Approximative Algorithmen und Parametrisierte Komplexität

VORLESUNG 12 Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt)

Kombinatorische Optimierung

Kombinatorische Optimierung

VORLESUNG 14 Lineare Optimierung, Dualität (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt)

Effiziente Algorithmen II

Approximationsalgorithmen. Approximation im Sinne der Analysis:

Wiederholung. Divide & Conquer Strategie

Vortrag 20: Kurze Vektoren in Gittern

Algorithmische Methoden zur Netzwerkanalyse

NP-vollständig - Was nun?

Kombinatorische Optimierung

Algorithmische Methoden für schwere Optimierungsprobleme

Online-Algorithmen. Proseminar von Prof. Dr. Rolf Klein, Dr. Elmar Langetepe, Dipl. Inform. Thomas Kamphans im Wintersemester 00/01

Theoretische Grundlagen der Informatik

Die Klasse NP und die polynomielle Reduktion

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

Das Problem des minimalen Steiner-Baumes

Algorithmische Methoden für schwere Optimierungsprobleme

Theoretische Grundlagen der Informatik

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 11, Henning Meyerhenke

Approximation im Sinne der Analysis:

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

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

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

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

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

Algorithmen II Vorlesung am

Algorithmische Methoden für schwere Optimierungsprobleme

Wann sind Codes eindeutig entschlüsselbar?

Betriebswirtschaftliche Optimierung

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

Betriebliche Optimierung

Theoretische Grundlagen der Informatik

1 Einführung in Lineare Programme und Dualität

Algorithmen I - Tutorium 28 Nr. 2

Algorithmische Graphentheorie

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

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

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck

Approximationsschemata

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

Approximationsalgorithmen

Theoretische Informatik 1

Abschnitt: Algorithmendesign und Laufzeitanalyse

Algorithmische Methoden zur Netzwerkanalyse

Theoretische Grundlagen der Informatik

Kapitel 9: Lineare Programmierung Gliederung

Transkript:

Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Wiederholung TSP: Kurz: TSP kann mit relativer Güte 3/2 1/n approximiert werden Kurz: PTAS für euklidisches TSP Nichtapproximierbarkeit mit konstanter relativer Güte Geglättete Analyse für 2-Opt-Heuristik (lokale Suche) 2 Henning Meyerhenke:

Vorlesung 18 Programm: Packungsprobleme und deren Approximation 3 Henning Meyerhenke:

Inhalt Approximation Packungsprobleme Greedy-Heuristiken Ein asymptotisches Approximationsschema 4 Henning Meyerhenke:

Modellierungsaufgabe Sie sollen für eine Tischlerei folgende Aufgabe modellieren (und lösen): Für einen Auftrag muss die Tischlerei viele kurze Balken mit vorgegebenen Längen < 10m liefern. Vom Großhandel kann man Holzbalken der Länge 10m zum Preis von 5 EUR pro Stück kaufen. Diese Balken werden für den Auftrag in kleinere Stücke gesägt. [http://www.muensterschezeitung.de/storage/pic/ mdhl/artikelbilder/lokales/mz-mlz-evz-gz/mslo/ms_ s/2849419_1_m3_bauspieltreff1.jpg?version= 1322759088] 5 Henning Meyerhenke:

Modellierungsaufgabe Sie sollen für eine Tischlerei folgende Aufgabe modellieren (und lösen): Für einen Auftrag muss die Tischlerei viele kurze Balken mit vorgegebenen Längen < 10m liefern. Vom Großhandel kann man Holzbalken der Länge 10m zum Preis von 5 EUR pro Stück kaufen. Diese Balken werden für den Auftrag in kleinere Stücke gesägt. Dabei soll möglichst wenig Verschnitt anfallen. Denn: Man will möglichst wenig lange Balken einkaufen müssen. [http://www.muensterschezeitung.de/storage/pic/ mdhl/artikelbilder/lokales/mz-mlz-evz-gz/mslo/ms_ s/2849419_1_m3_bauspieltreff1.jpg?version= 1322759088] 5 Henning Meyerhenke:

Bin-Packing (Behälterproblem) formal OBdA skalieren wir die langen Balken auf Länge 1 (in der Abbildung weiterhin 10). Instanz: Liste nichtnegativer Zahlen a 1,..., a n 1. Aufgabe: Bestimme k N und eine Zuordnung f : {1,..., n} {1,..., k} mit i:f (i)=j a i 1 für alle j {1,..., k}, die k minimiert. [http://maniyasblog.files.wordpress.com/2008/10/ binpacking.jpg?w=298&h=300] 6 Henning Meyerhenke:

Komplexität Theorem Das folgende Problem ist N P-vollständig: Entscheide für eine gegebene Instanz I von BIN-PACKING, ob es eine Lösung für I mit zwei Behältern gibt. Corollary Falls P = N P, dann gibt es keinen Approximationsalgorithmus für BIN-PACKING mit polynomieller Laufzeit und relativer Güte < 3/2. Frage: Warum? 1 oder: stark 7 Henning Meyerhenke:

Komplexität Theorem Das folgende Problem ist N P-vollständig: Entscheide für eine gegebene Instanz I von BIN-PACKING, ob es eine Lösung für I mit zwei Behältern gibt. Corollary Falls P = N P, dann gibt es keinen Approximationsalgorithmus für BIN-PACKING mit polynomieller Laufzeit und relativer Güte < 3/2. Frage: Warum? Theorem Das Entscheidungsproblem BIN-PACKING ist streng 1 N P-vollständig, d.h. das Problem bleibt auch bei unärer Kodierung N P-vollständig. 1 oder: stark 7 Henning Meyerhenke:

Greedy-Heuristiken Next-Fit-Algorithmus 1: function NEXTFIT(I = (a 1,..., a n )) 2: setze k := 1 Anzahl Behälter 3: setze S := 0 Füllstand des aktuellen Behälters 4: for i := 1 to n do 5: if S + a i > 1 then 6: setze k := k + 1 und S := 0 7: end if 8: setze f (i) := k und S := S + a i 9: end for 10: return (k, f ) Beispiel: Siehe Tafel! 8 Henning Meyerhenke:

Güte des Next-Fit-Algorithmus Theorem Der NEXTFIT-Algorithmus läuft in O(n) Zeit. Für jede Instanz I = (a 1,..., a n ) gilt: NF (I) 2 SUM(I) 1 2OPT (I) 1. Beweis. Laufzeit: Klar. Setze k := NF (I) und sei f die berechnete Zuordnung. Addieren zweier benachbarter Behälter: Für j = 1,..., k 2 folgt: i:f (i) {2j 1,2j} a i > 1... 9 Henning Meyerhenke:

Fortsetzung des Beweises Der NEXTFIT-Algorithmus läuft in O(n) Zeit. Für jede Instanz I = (a 1,..., a n ) gilt: NF (I) 2 SUM(I) 1 2OPT (I) 1. Beweis. Addieren aller Ungleichungen: k 2 < SUM(I). Linke Seite ganze Zahl k 1 2 k SUM(I) 1 2 Erste Ungleichung gezeigt, zweite ist trivial. 10 Henning Meyerhenke:

Diskussion NEXT-FIT garantiert relative Güte 2. Frage: Wann ist der Algorithmus besonders schlecht? 11 Henning Meyerhenke:

Diskussion NEXT-FIT garantiert relative Güte 2. Frage: Wann ist der Algorithmus besonders schlecht? Was passiert wohl mit der Güte, wenn alle Elemente klein sind? 11 Henning Meyerhenke:

Güte des Next-Fit-Algorithmus Proposition Sei 0 < γ < 1. Für jede Instanz I = (a 1,..., a n ) mit a i γ für alle i {1,..., n} gilt: SUM(I) NF (I). 1 γ Beweis. Ähnlich wie zuvor, Übung! 12 Henning Meyerhenke:

Diskussion NEXT-FIT hat relative Güte 2, bei kleinen Elementen sogar besser. Vorgehen des Algorithmus: Wenn Element nicht mehr passt, wird ein neuer Behälter verwendet. Frage: Fällt Ihnen direkt eine möglicherweise bessere Variante ein? 13 Henning Meyerhenke:

Greedy-Heuristiken First-Fit-Algorithmus 1: function FIRSTFIT(I = (a 1,..., a n )) 2: for i := 1 to n do { } 3: setze f (i) := min j N : h<i:f (h)=i a h + a i 1 4: end for 5: setze k := max i {1,...,n} f (i) 6: return (k, f ) Beispiel: Siehe Tafel! 14 Henning Meyerhenke:

Greedy-Heuristiken First-Fit-Algorithmus 1: function FIRSTFIT(I = (a 1,..., a n )) 2: for i := 1 to n do { } 3: setze f (i) := min j N : h<i:f (h)=i a h + a i 1 4: end for 5: setze k := max i {1,...,n} f (i) 6: return (k, f ) Beispiel: Siehe Tafel! Theorem FF (I) 17 10 OPT (I). 14 Henning Meyerhenke:

Greedy-Heuristiken First-Fit-Decreasing-Algorithmus 1: function FIRSTFITDECREASING(I = (a 1,..., a n )) 2: setze I := absteigend sortierte Permutation von I 3: return FIRSTFIT(I ) Beispiel: Siehe Tafel! 15 Henning Meyerhenke:

Greedy-Heuristiken First-Fit-Decreasing-Algorithmus 1: function FIRSTFITDECREASING(I = (a 1,..., a n )) 2: setze I := absteigend sortierte Permutation von I 3: return FIRSTFIT(I ) Beispiel: Siehe Tafel! Theorem (Simchi-Levi, 1994) Der FIRST-FIT-DECREASING-Algorithmus ist ein Approximationsalgorithmus mit relativer Güte 3/2 für das BIN-PACKING-Problem. 15 Henning Meyerhenke:

Beweis der Güte Beweis. Sei I eine Instanz, setze k := FFD(I) und j := 2 3 k. Fall 1: Behälter j enthält Objekt der Größe > 1/2: Jeder Behälter mit kleinerem Index hatte keinen Platz für dieses Objekt. Absteigende Sortierung Es gibt j Objekte der Größe > 1/2. OPT (I) j 2 3 k. 16 Henning Meyerhenke:

Beweis der Güte Beweis. Sei I eine Instanz, setze k := FFD(I) und j := 2 3 k. Fall 1: Behälter j enthält Objekt der Größe > 1/2: Jeder Behälter mit kleinerem Index hatte keinen Platz für dieses Objekt. Absteigende Sortierung Es gibt j Objekte der Größe > 1/2. OPT (I) j 2 3 k. Fall 2: Behälter j enthält kein Objekt der Größe > 1/2: Kein Behälter mit Index j enthält Objekt der Größe > 1/2. Behälter j bis k enthalten mindestens 2(k j) + 1 Objekte, von denen keins in die Behälter mit den Indizes 1,..., j 1 passt. 2(k j) + 1 2(k ( 2 3 k + 2 3 )) + 1 2 3 k 1 3 j 1 OPT (I) SUM(I) Tafel! > j 1 OPT (I) j 2 3 k. 16 Henning Meyerhenke:

Asymptotische Approximationsgüte Wegen Korollar auf Folie 18/7 ist relative Güte 3/2 bestmöglich. Allerdings geht es in einem etwas anderen Sinn noch besser: Definition (Asymptotische relative Güte) Sei Π ein Optimierungsproblem mit nichtnegativen Gewichten. A heißt Approximationsalgorithmus mit asymptotischer relativer Güte α, wenn es eine Konstante c gibt und A zu jeder Instanz I von Π eine zulässige Lösung berechnet mit: 1 α OPT (I) c A(I) αopt (I)+c. 17 Henning Meyerhenke:

Asymptotische Approximationsgüte Wegen Korollar auf Folie 18/7 ist relative Güte 3/2 bestmöglich. Allerdings geht es in einem etwas anderen Sinn noch besser: Definition (Asymptotische relative Güte) Sei Π ein Optimierungsproblem mit nichtnegativen Gewichten. A heißt Approximationsalgorithmus mit asymptotischer relativer Güte α, wenn es eine Konstante c gibt und A zu jeder Instanz I von Π eine zulässige Lösung berechnet mit: 1 α OPT (I) c A(I) αopt (I)+c. Theorem (Dósa, 2007) Für alle Instanzen I des BIN-PACKING-Problems gilt FFD(I) 11 9 OPT (I) + 2 3 und diese Schranke ist bestmöglich. 17 Henning Meyerhenke:

Asymptotisches Approximationsschema Definition (Asymptotisches Approximationsschema) Ein AAS für Π ist ein Algorithmenpaar (A, A ) mit: A ist Polyn.zeit-Alg., der aus Eingabe ɛ > 0 eine Zahl c ɛ berechnet. A erhält eine Instanz I von Π und ein ɛ > 0 und liefert eine zulässige Lösung für I mit 1 1+ɛ OPT (I) c ɛ A(I, ɛ) (1 + ɛ)opt (I) + c ɛ. Die Laufzeit von A ist polynomiell in der Größe von I. 18 Henning Meyerhenke:

Asymptotisches Approximationsschema Definition (Asymptotisches Approximationsschema) Ein AAS für Π ist ein Algorithmenpaar (A, A ) mit: A ist Polyn.zeit-Alg., der aus Eingabe ɛ > 0 eine Zahl c ɛ berechnet. A erhält eine Instanz I von Π und ein ɛ > 0 und liefert eine zulässige Lösung für I mit 1 1+ɛ OPT (I) c ɛ A(I, ɛ) (1 + ɛ)opt (I) + c ɛ. Die Laufzeit von A ist polynomiell in der Größe von I. Theorem (Fernandez de la Vega und Lueker, 1981) Für jedes 0 < ɛ 1/2 und jede Instanz I des BIN-PACKING-Problems kann eine Lösung mit höchstens (1 + ɛ)opt (I) + ɛ 2 Behältern berechnet werden. Die dazu benötigte Zeit ist polynomiell in n, aber exponentiell in 1/ɛ. 18 Henning Meyerhenke:

Beweisidee Beweisidee. Formuliere das Problem als ganzzahliges LP. Relaxiere das ILP zu einem LP. Bestimme geeignete BIN-PACKING-Lösung aus der LP-Lösung und schätze deren Qualität ab. 19 Henning Meyerhenke:

Beweisidee Beweisidee. Formuliere das Problem als ganzzahliges LP. Relaxiere das ILP zu einem LP. Bestimme geeignete BIN-PACKING-Lösung aus der LP-Lösung und schätze deren Qualität ab. Algorithmusskizze: Partitioniere die n Zahlen in m + 2 Gruppen, ihrer Größe entsprechend. Verpacken der Gruppe mit den größten Zahlen: Einen Behälter pro Zahl benutzen. Verpacken der m mittleren Gruppen: In jeder dieser Gruppen alle Zahlen der größten gleich setzen und dann obige Abschätzung verwenden. Verpacken der Gruppe mit den kleinsten Zahlen, u.a. mit NEXTFIT. 19 Henning Meyerhenke:

ILP- und IP-Formulierung Zahlen der Instanz I: a 1,..., a m. I enthält genau b i Kopien von a i {T 1,..., T N } ist die Menge der Packmöglichkeiten eines Behälters: ILP: {T 1,..., T N } := min udn N x j j=1 { (k 1,..., k m ) Z m + : m k i a i 1 i=1 } (1) N t ji x j b i (i = 1,..., m) (2) j=1 x j Z + (j = 1,..., N) (3) 20 Henning Meyerhenke:

ILP- und IP-Formulierung Zahlen der Instanz I: a 1,..., a m. I enthält genau b i Kopien von a i {T 1,..., T N } ist die Menge der Packmöglichkeiten eines Behälters: LP: {T 1,..., T N } := min udn N x j j=1 { (k 1,..., k m ) Z m + : m k i a i 1 i=1 } (1) N t ji x j b i (i = 1,..., m) (2) j=1 x j R 0 (j = 1,..., N) (3) 20 Henning Meyerhenke:

Hilfsresultat 1 Lemma (Fernandez de la Vega und Lueker, 1981) Sei I eine Instanz von BIN-PACKING mit nur m verschiedenen Zahlen. Sei x eine zulässige Lösung von (LP 1-3) mit höchstens m nichtverschwindenden Komponenten. Dann kann eine Lösung für I mit höchstens N j=1 x j + m 1 2 Behältern in der Zeit O( I ) gefunden werden. 21 Henning Meyerhenke:

Beweis des Lemmas Beweis. Vektor x verpackt I i.a. nicht vollständig. (Manche Zahlen verpackt er mglw. öfter als notwendig, kein Problem.) Übrige Objekte bilden Instanz I. SUM(I ) N j=1 (x j x j ) m i=1 t jia i N j=1 x j N j=1 x j 22 Henning Meyerhenke:

Beweis des Lemmas Beweis. Vektor x verpackt I i.a. nicht vollständig. (Manche Zahlen verpackt er mglw. öfter als notwendig, kein Problem.) Übrige Objekte bilden Instanz I. SUM(I ) N j=1 (x j x j ) m i=1 t jia i N j=1 x j N j=1 x j Genügt z.z.: I kann man in SUM(I ) + m 1 2 Grund: Dann gilt für Gesamtzahl: N j=1 Rest: Siehe Tafel! x j + SUM(I m 1 ) + 2 N j=1 Behälter packen. m 1 x j + 2 22 Henning Meyerhenke:

Hilfsresultat 2 Corollary (Fernandez de la Vega und Lueker, 1981) Seien m und γ > 0 fest Konstanten. Sei I eine Instanz von BIN-PACKING mit nur m verschiedenen Zahlen, alle γ. Dann können wir eine Lösung mit OPT(I) + m 1 2 Behältern in der Zeit O( I ) finden. 23 Henning Meyerhenke:

Beweis des Korollars Beweis. SIMPLEX liefert optimale Basislösung x von (LP 1-3). Da jede Ecke N NB mit Gleichheit erfüllt, hat x höchstens m nichtverschwindende Komponenten. 24 Henning Meyerhenke:

Beweis des Korollars Beweis. SIMPLEX liefert optimale Basislösung x von (LP 1-3). Da jede Ecke N NB mit Gleichheit erfüllt, hat x höchstens m nichtverschwindende Komponenten. Zeit zur Bestimmung von x hängt nur von m und N ab. In jedem Behälter sind höchstens 1/γ Objekte. N (m + 1) 1 γ 24 Henning Meyerhenke:

Beweis des Korollars Beweis. SIMPLEX liefert optimale Basislösung x von (LP 1-3). Da jede Ecke N NB mit Gleichheit erfüllt, hat x höchstens m nichtverschwindende Komponenten. Zeit zur Bestimmung von x hängt nur von m und N ab. In jedem Behälter sind höchstens 1/γ Objekte. N (m + 1) 1 γ Da N j=1 x j OPT (I), folgt der Beweis mit vorigem Lemma. 24 Henning Meyerhenke:

Ein streng polynomielles asymptot. Approximationsschema Definition Ein streng polynomielles AAS ist ein AAS, dessen Laufzeit polynomiell in der Größe der Eingabe und in 1/ɛ ist. Theorem (Karmarkar und Karp, 1982) Es gibt ein streng polynomielles asymptotisches Approximationsschema für das BIN-PACKING-Problem. 25 Henning Meyerhenke:

Zusammenfassung Packungsprobleme sind allgegenwärtig in Industrie, Handel, Logistik, etc. Wir können nun unser Sägeproblem mit Hilfe von BIN-PACKING lösen. 26 Henning Meyerhenke:

Zusammenfassung Packungsprobleme sind allgegenwärtig in Industrie, Handel, Logistik, etc. Wir können nun unser Sägeproblem mit Hilfe von BIN-PACKING lösen. BIN-PACKING ist streng N P-vollständig. Mehrere Greedy-Heuristiken garantieren bereits relative Güte 2. Es gibt sogar (strenges) asymptotisches Approximationsschema. Dieses benutzt u.a. LP-Relaxierung. Andere (Meta)Heuristiken sind für die Praxis denkbar. 26 Henning Meyerhenke: