Kap. 7 Optimierung - Chair 11: ALGORITHM ENGINEERINGls11- · Greedy-Algorithmen Greedy-Verfahren...

Post on 24-Oct-2019

4 views 0 download

Transcript of Kap. 7 Optimierung - Chair 11: ALGORITHM ENGINEERINGls11- · Greedy-Algorithmen Greedy-Verfahren...

1 Petra Mutzel DAP2 SS09

Kap. 7 Optimierung

Professor Dr. Petra Mutzel

Lehrstuhl für Algorithm Engineering, LS11

Fakultät für Informatik, TU Dortmund

22. VO 2. TEIL DAP2 SS 2009 9. Juli 2009

2 Petra Mutzel DAP2 SS09

Überblick

•  Einführung – Einige klassische Optimierungsprobleme, – z.B. TSP

• Heuristiken – Greedy-Heuristiken für TSP, Bin Packing,

Rucksack-Problem

3 Petra Mutzel DAP2 SS09

Motivation

„Warum soll ich heute hier bleiben?“ Optimierung ist Klasse!

keine zusätzliche Motivation notwendig

4 Petra Mutzel DAP2 SS09

Optimierung: Einführung

•  Optimierungsprobleme sind Probleme, die i.A. viele zulässige Lösungen besitzen

•  Jeder Lösung ist ein bestimmter Wert (Zielfunktionswert, Kosten) zugeordnet.

•  Optimierungsalgorithmen suchen in der Menge aller zulässigen Lösungen diejenige mit dem optimalen Wert („die beste“ bzgl. Zielfunktion)

•  Heuristiken sind Algorithmen, die irgendeine zulässige Lösung berechnen

5 Petra Mutzel DAP2 SS09 Bei 12 Städten gibt es 19.958.400 viele verschiedene Touren.

Du möchtest in Deinem Urlaub verschiedene Städte Europas besuchen und nicht zu viel Zeit im Auto verbringen.

DEIN ZIEL: Finde die kürzeste Rundtour durch alle Städte.

Rundreiseprobleme (TSP)

6 Petra Mutzel DAP2 SS09

Beispiele für Optimierungsprobleme

•  Minimal aufspannender Baum (MST) •  Kürzeste Wege in Graphen •  Längste Wege in Graphen •  Handlungsreisendenproblem (TSP) •  Rucksackproblem •  Scheduling (z.B. Maschinen, Crew) •  Zuschneideprobleme (z.B. Bilderrahmen) •  Packungsprobleme

7 Petra Mutzel DAP2 SS09

Optimierungsprobleme (OP) •  Wir unterscheiden zwischen

– OP, für die wir Algorithmen mit polynomieller Laufzeit kennen, und

– OP, für die noch kein polynomieller Algorithmus bekannt ist.

•  Die Klasse der NP-schwierigen Optimierungs- probleme: das Finden eines polynomiellen Algorithmus für eines dieser OPs zieht automatisch polynomielle Algorithmen für alle anderen OPs dieser Klasse nach sich.

•  Allgemeine Vermutung: es existieren keine polynomielle Algorithmen für NP-schwierige OPs

8 Petra Mutzel DAP2 SS09

Optimierungsprobleme (OP)

•  Beispiel: Kürzestes Wegeproblem: Laufzeitfunktion in |V|+|E|:

T(|V|+|E|)=O((|V|+|E|) log |V|)=O(|V|+|E|) 2

•  Ein Algorithmus hat polynomielle Laufzeit, wenn die Laufzeitfunktion T(n) durch ein Polynom in n beschränkt ist.

•  Dabei steht n für die Eingabegröße der Instanz.

•  Beispiel: Längstes Wegeproblem: NP-schwierig (Denn: Transformation von TSP)

9 Petra Mutzel DAP2 SS09

Beispiele für Optimierungsprobleme

•  Minimal aufspannender Baum (MST) •  Kürzeste Wege in Graphen •  Längste Wege in Graphen •  Handelsreisendenproblem (TSP) •  Rucksackproblem •  Scheduling (z.B. Maschinen, Crew) •  Zuschneideprobleme (z.B. Bilderrahmen) •  Packungsprobleme

polynomiell

polynomiell

NP-schwierig

NP-schwierig NP-schwierig

NP-schwierig

NP-schwierig NP-schwierig

10 Petra Mutzel DAP2 SS09

Strategien zur Lösung von OP

•  Polynomielle OP: – oft: speziell entwickelte Algorithmen – machmal auch allgemeines Strategien, wie z.B.

Greedy-Algorithmen oder Dynamische Programmierung

•  NP-schwierige OP: – Exakte Verfahren, Enumeration, Branch-and-

Bound, Dynamische Programmierung – Heuristiken: Konstruktionsheuristiken (z.B.

Greedy, approximative Algorithmen), Verbesserungsheuristiken (z.B. Local Search)

11 Petra Mutzel DAP2 SS09

Kap. 7.1: Heuristiken

•  Vorstellung typischer OP: – Rundreiseproblem (TSP) – Rucksack-Problem – Bin-Packing Problem

•  und einfache Greedy-Heuristiken

12 Petra Mutzel DAP2 SS09

Greedy-Algorithmen

Greedy-Verfahren treffen lokale Entscheidungen Sie wählen in jedem Schritt die aktuell günstigste Auswahl ohne Vorausschau

Greedy-Algorithmen sind in der Regel nicht optimal, können aber in einigen wichtigen Anwendungen dennoch gute oder gar optimale Lösungen erzeugen!

14 Petra Mutzel DAP2 SS09

Greedy-Algorithmen Greedy-Algorithmus („gefräßig“): iterative

Konstruktion einer Lösung, die immer um die momentan besten Kandidaten erweitert wird.

Greedy-Algorithmus führen •  bei manchen OP immer zu optimalen Lösungen (Bsp.: MST, SSSP) •  bei manchen OP können sie auch zu Lösungen

führen, die „beliebig“ weit von der optimalen Lösung entfernt sind.

15 Petra Mutzel DAP2 SS09

Das Travelling Salesman Problem

•  Gegeben: Vollständiger ungerichteter Graph G=(V,E) mit Kantenkosten ce

•  Gesucht: Tour T (Kreis, der jeden Knoten genau einmal enthält) mit minimalen Kosten c(T)=∑ce

Auch: Handlungsreisendenproblem, Rundreiseproblem, TSP

16 Petra Mutzel DAP2 SS09

Buch von F. Voigt, Ilmenau 1831

Der Handlungsreisende, wie er sein soll und was er zu thun hat, um Aufträge zu erhalten und eines glücklichen Erfolgs in seinen Geschäften gewiß zu sein. Von einem alten Commis=Voyageur.

„… Durch geeignete Auswahl und Planung der Tour kann man oft so viel Zeit sparen, daß wir einige Vorschläge zu machen haben. … Der Wichtigste Aspekt ist, so viele Orte wie möglich zu erreichen, ohne einen Ort zweimal zu besuchen. …“

17 Petra Mutzel DAP2 SS09

Wie schwierig ist das TSP? Anzahl der Städte Anzahl der möglichen Touren

–  3 Städte 1 Tour –  4 Städte 3 Touren –  5 Städte 12 Touren –  6 Städte 60 Touren –  7 Städte 360 Touren –  8 Städte 2.520 Touren –  9 Städte 20.160 Touren –  10 Städte 181.440 Touren –  11 Städte 1.814.400 Touren –  12 Städte 19.958.400 Touren

Das Travelling Salesman Problem

Anzahl der verschiedenen Touren: (|V|-1)! / 2 Ann.: Rechner schafft 40 Mio. Touren pro Sekunde

n # Touren Zeit 10 181.440 0.0045 Sek.

17 ca. 1013 3 Tage 19 ca. 1015 2,5 Jahre 20 ca. 1017 48 Jahre 25 ca. 1023 108 Jahre 60 ca. 1080 1064Jahre

Anzahl der Atome im Weltall: ca. 1080

Meilensteine für TSP Lösungen 1954 Dantzig,Fulkerson,Johnson 49 1971 Held, Karp 64 1977 Grötschel 120 1980 Crowder, Padberg 318 1987 Padberg, Rinaldi 532 1987 Grötschel, Holland 666 1987 Padberg, Rinaldi 2.392 1994 Applegate, Bixby, Chvátal, Cook 7.397 1998 Applegate, Bixby, Chvátal, Cook 13.509 2001 Applegate, Bixby, Chvátal, Cook 15.112 2004 Applegate, Bixby, Chvátal, Cook,

Helsgaun 24.978

2006 Applegate, Bixby, Chvátal, Cook, Espinoza, Goycoolea, Helsgaun

85.900

20 Petra Mutzel DAP2 SS09

15112 Städte TSP

22,6 CPU Jahre auf 110 Prozessoren

21 Petra Mutzel DAP2 SS09

24978 Städte TSP Optimallösung 2004

8 Jahre

22 Petra Mutzel DAP2 SS09

•  Größte gelöste TSP Instanz: 85.900 Städte TSP Optimallösung 2006

24 Petra Mutzel DAP2 SS09

World Tour: 1.904.711 Städte Tour der Länge 7,515,877,991 (Keld Helsgaun, 2009) Garantie: Tourlänge 0.0487% nahe an OPT(Concorde TSP code)

aktuelle Challenge

www.tsp.gatech.edu

25 Petra Mutzel DAP2 SS09

Mona Lisa TSP Challenge: 100.000 Tour der Länge 5,757,191 (Yuichi Nagata, März 2009) Garantie: Tourlänge 0.0032% nahe an OPT (DIFF=186)

aktuelle Challenge

www.tsp.gatech.edu

26 Petra Mutzel DAP2 SS09

TSP in der Praxis: Bohrmaschine

27 Petra Mutzel DAP2 SS09

Bohrköpfe

Verfahrwege vorher

Verfahrwege nachher

30 Petra Mutzel DAP2 SS09

Vergleich

31 Petra Mutzel DAP2 SS09

Greedy-Heuristiken für TSP

Nearest-Neighbor Heuristik: •  Beginne mit leerer Tour T:=∅ •  Beginne an einem Knoten v=v0: Ende der Tour •  Solange noch „freie“ Knoten existieren:

– Suche den nächsten freien (noch nicht besuchten) Knoten zu v (d.h. die billigste Kante (v,w)) und addiere Kante (v,w) zu T.

•  Addiere die Kante (v,v0)

32 Petra Mutzel DAP2 SS09

Greedy-Heuristiken für TSP

Nearest-Neighbor Heuristik: •  Beginne mit leerer Tour T:=∅ •  Beginne an einem Knoten v=v0: Ende der Tour •  Solange noch „freie“ Knoten existieren:

– Suche den nächsten freien (noch nicht besuchten) Knoten zu v (d.h. die billigste Kante (v,w)) und addiere Kante (v,w) zu T.

•  Addiere die Kante (v,v0)

33 Petra Mutzel DAP2 SS09

Nearest-Neighbor Heuristik für TSP

34 Petra Mutzel DAP2 SS09

Optimale Lösung der TSP-Instanz

35 Petra Mutzel DAP2 SS09

TSP – Vergleich der Lösungen

Greedy optimal

36 Petra Mutzel DAP2 SS09

Wie gut ist die Nearest-Neighbor Heuristik (NN)?

IHRE ERGEBNISSE

37 Petra Mutzel DAP2 SS09

Eindimensionale Verschnittoptimierung

•  Geg.: Gegenstände 1,…,N der Größe wi; und beliebig viele Rohlinge der Größe K.

•  Gesucht: Finde die kleinste Anzahl von Rohlingen, aus denen alle Gegenstände geschnitten werden können.

38 Petra Mutzel DAP2 SS09

Bilderrahmenproblem: Beispiel

39 Petra Mutzel DAP2 SS09

Minimaler Rohmaterialeinsatz

42 Petra Mutzel DAP2 SS09

Bin-Packing / Packen von Kisten

•  Geg.: Gegenstände 1,…,N der Größe wi 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.

First-Fit Heuristik für Bin-Packing •  Gegeben sind beliebig viele Kisten der Größe

101 und 37 Gegenstände der Größen: •  7x Größe 6 •  7x Größe 10 •  3x Größe 16 •  10x Größe 34 •  10x Größe 51

Kiste 1: 7x Größe 6 5x Größe 10 Summe=92 Kiste 2: 2x Größe 10 3x Größe 16 Summe=68

Kisten 3-7: 2x Größe 34 Summe=68 Kiste 8-17: 1x Größe 51 Summe=51

Insgesamt: 17 Kisten

44 Petra Mutzel DAP2 SS09

Wie gut ist die First-Fit Heuristik?

IHRE ERGEBNISSE

45 Petra Mutzel DAP2 SS09

Das 0/1-Rucksackproblem

•  Geg.: N Gegenstände mit Gewicht (Größe) wi und Wert ci, und ein Rucksack der Größe K.

•  Gesucht: Menge der in den Rucksack gepackten Gegenstände mit maximalem Gesamtwert; dabei darf das Gesamtgewicht den Wert K nicht überschreiten.

46 Petra Mutzel DAP2 SS09

Greedy-Heuristik an Beispiel für das 0/1-Rucksackproblem

•  Sortierung nach Nutzen:= Wert ci, / Gewicht wi ergibt: d,e,h,f,g,b,c,a

•  Wir packen also in den Rucksack:

Gegenstand a b c d e f g h Gewicht 3 4 4 6 6 8 8 9 Wert 3 5 5 10 10 11 11 13 Nutzen 1 1,25 1,25 1,66 1,66 1,37 1,37 1,44

d (6) e (6) h (9)

K=17

f (8) g (8) b(4) c(4) a(3) Wert=25

48 Petra Mutzel DAP2 SS09

Greedy-Heuristik für das 0/1-Rucksackproblem

•  Sortiere die N Gegenstände nach ihrem Nutzen:= Wert ci, / Gewicht wi

•  Für alle Gegenstände i in der sortierten Reihenfolge: – Falls i noch in den Rucksack paßt: füge es

hinzu.

49 Petra Mutzel DAP2 SS09

Wie gut ist die Greedy-Heuristik für das

0/1-Rucksackproblem?

IHRE VORSCHLÄGE

50 Petra Mutzel DAP2 SS09

Hausaufgabe bis Dienstag:

•  Finden Sie Beispiele bei denen die heute besprochenen Greedy-Algorithmen möglichst schlecht abschneiden.

•  Bringen Sie am Donnerstag je eine Folie mit Ihrem Beispiel (für Tageslichtprojektor) mit.