Heuristiken im Kontext von Scheduling Expertenvortrag CoMa SS 09 CoMa SS 09 1/35
Übersicht Motivation Makespan Scheduling Lokale Suche Weitere Metaheuristiken Zusammenfassung Literatur CoMa SS 09 2/35
Motivation Heuristiken Es gibt eine Menge schwieriger Optimierungsprobleme da draußen. Angenommen: Wir müssen ein Problem dringend lösen Aber wir kennen die Struktur nicht. Wir haben keinen Algorithmus, der uns eine beste Lösung berechnet. Beste Lösung durch vollständige Enumeration. Kann je nach Problem hässlich viel werden. Laufzeit von O(2 n ) ist schon für n 20 nicht mehr machbar. Idee: gute Lösungen durch eine Heuristik. CoMa SS 09 3/35
Heuristik Ein Optimierungsproblem besteht aus einem Suchraum S mit zulässigen (potentiellen) Lösungen, einer Bewertungsfunktion c : S R und einem Optimierungsziel min oder max. Gesucht ist eine beste Lösung bezüglich der Bewertungsfunktion und des Optimierungsziels. Definition Eine Heuristik ist ein Algorithmus, der eine zulässige Lösung einer Probleminstanz generiert, aber nicht notwendigerweise eine optimale Lösung. Ziel: Finde eine Lösung nahe am Optimum in akzeptabler Zeit. In der Praxis Heuristiken,... für die man Gütegarantie angeben kann und/oder die in der Praxis gut abschneiden und die gute (polynomiale) Laufzeit haben. CoMa SS 09 4/35
Motivation Scheduling Kasse im Supermarkt Bediene Kunden entsprechend ihrer Ankunftszeit. Kunden mit geringer Einkaufsmenge vorlassen? Wartezeit der nachfolgenden Kunden verlängert sich nur wenig. Wartezeit des Vorgelassenen verkürzt sich. Gesamtsumme der Wartezeiten wird kleiner. Unterschiedliche Ziele haben unterschiedliche optimale Reihenfolgen. CoMa SS 09 5/35
Übersicht Motivation Makespan Scheduling Lokale Suche Weitere Metaheuristiken Zusammenfassung Literatur CoMa SS 09 6/35
Paralleles Makespan Scheduling Makespan-Scheduling mit identischen Maschinen Gegeben sei eine Menge von Jobs J = {1,..., n} mit Dauer p 1,..., p n N und Menge von Maschinen M = {1,..., m}. Gesucht ist Zuteilung (Schedule) f : J M der n Jobs auf m identische Maschinen, so dass Makespan minimiert wird. Schwierigkeit max j M i J:f (i)=j Nicht für jedes interessante, Praxis-relevante Scheduling-Problem ist optimaler Algorithmus bekannt. Ziel dann: Finde einen zulässigen, möglichst guten Schedule. p i CoMa SS 09 7/35
Beispiel Jobs Maschinen 1 2 3 4 1 2 2 3 4 1 3 Makespan CoMa SS 09 8/35
Einfache Heuristiken Algorithmus Least-Loaded (LL) Für i = 1 bis n: Weise Job i der Maschine zu, die bisher die geringste Last hat. Algorithmus Longest-Processing-Time (LPT) 1. Sortiere Jobs, so dass p 1 p 2, p n. 2. Für i = 1 bis n: Weise Job i derjenigen Maschine zu, die bisher die geringste Last hat. Güte der Algorithmen? Wie schnell berechnen sie eine Lösung? Wie gut sind die Algorithmen? Welcher von beiden ist besser? CoMa SS 09 9/35
Gütegarantien von Heuristiken Sei H eine Heuristik für das Scheduling-Problem Für jede Scheduling-Instanz bezeichne S H den mit der Heuristik berechneten Schedule. Für diese Scheduling-Instanz bezeichne S den optimalen Schedule. Falls es eine Zahl ρ > 1 mit c(s H ) ρ c(s ) für jede Scheduling-Instanz {J, M}, dann hat H Güte ρ. CoMa SS 09 10/35
Umfrage Welches ist der bessere Approximationsalgorithmus? Algorithmus Least-Loaded Für i = 1 bis n: Weise Job i der Maschine zu, die bisher die geringste Last hat. Maschine arbeitet Jobs in Reihenfolge der Zuweisung ab. Güte:? Algorithmus Longest-Processing-Time 1. Sortiere Jobs, so dass p 1 p 2 p n. 2. Für i = 1 bis n: Weise Job i derjenigen Maschine zu, die bisher die geringste Last hat. Güte:? CoMa SS 09 11/35
Least-Loaded Beispiel Gegeben: n = m(m 1) + 1 Jobs. Die ersten m(m 1) Jobs sind klein mit Größe 1. Der letzte Job hat Größe m. Verteile ersten n 1 kleinen Jobs auf m Maschinen Letzter Job belastet eine Maschine zusätzlich Jobs 1 2 3 4 5 6 7 Maschinen m = 3 1 1 4 7 1 1 4 3 2 2 5 2 2 5 6 Güte 2m 1 m 3 3 6 = 2 1 m 3 7 2m 1 m Schlimmer wird es nicht mehr. CoMa SS 09 12/35
Theorem Algorithmus LL garantiert eine (2 1 m )-Approximation. Beweis. Untere Schranken: opt 1 m i J p i und opt max i J p i Maschine j mit Job i bestimme den Makespan, d. h. j = f (i ). Als i Maschine j zugewiesen wurde, hatte diese geringste Last: 1 m i<i p i. Gesamtlast von Maschine j höchstens 1 p i + p i = 1 p i + (1 1 m m m )p i i<i i i opt + (1 1 m )opt (2 1 m )opt CoMa SS 09 13/35
Longest-Processing-Time Jobs 1 1 4 3 3 6 1 2 3 4 5 6 7 Maschinen m = 3 7 1 1 4 3 2 2 5 2 2 5 6 2m 1 Theorem LPT garantiert eine 4 3 -Approximation. Widerspruchsbeweis: Annahme: LPT habe für Eingabe p 1,..., p n Makespan > 4 3 opt. Es sei p 1 p n kürzeste Eingabesequenz mit der Eigenschaft. Sei i Job der Makespan bestimmt, es muss gelten i = n. 3 7 m CoMa SS 09 14/35
Job n wurde auf am wenigstens belasteter Maschine platziert: Last 1 n 1 m i=1 p i opt. p n > 1 3 opt und damit p i > 1 3 opt wegen p 1 p n Optimaler Schedule weist also höchstens zwei Jobs pro Maschine zu. Somit: n 2m Bei höchstens zwei Jobs pro Maschine ist folgender Schedule optimal: Job i für i m wird auf Maschine i gefertigt Job i für i > m auf Maschine m i + 1 Optimaler Schedule entspricht dann aber LPT Schedule Anmerkung Es existiert ein polynomielles Approximationsschema kein CoMa-Stoff. 3.06.2009 CoMa SS 09 15/35
Precedence Constraints Zusätzliche Nebenbedingungen erleichtern die Optimierung nicht. Z. B. Reihenfolgebedingung für Bearbeitung von Jobs Supermarktbeispiel: Kunde geht erst zur Wursttheke, dann zur Käsetheke und anschließend zur Kasse Gesucht: Minimaler Makespan, der die Reihenfolge einhält. Beispiel mit einheitlichen Produktionszeiten 1 2 3 4 5 7 6 CoMa SS 09 16/35
Lösungsansätze Kein Approximationsalgorithmus bekannt im allgemeinen Fall Anzahl Maschinen ist Bestandteil der Eingabe. Beliebiger Graph für Prioritäten (kein Intree oder Outtree). Nebenbedingungen abschwächen Jobunterbrechung zulassen Spezielle Struktur der Precedence Constrains fordern. Heuristik für Berechnung einer Startlösung und dann Verbesserung Z. B. große Jobs zuerst einplanen, mit kleineren auffüllen, oder Largest Number of Successors (LNS) zuerst, oder Suche nach kritischem Pfad CoMa SS 09 17/35
Constraint-Beispiel mit LNS 1 2 3 4 5 7 1 LNS 4 1 2 6 optimal 2 6 5 3 7 5 1 2 3 4 6 5 7 LNS kann zu Leerzeiten auf Maschinen führen Kritischer Pfad untere Schranke für Optimallösung: Makespan von 4 4 CoMa SS 09 18/35
Übersicht Motivation Makespan Scheduling Lokale Suche Weitere Metaheuristiken Zusammenfassung Literatur CoMa SS 09 19/35
Lokale Suche Lokale Suche (LS) ist algorithmisches Prinzip zur Lösung schwieriger kombinatorischer Optimierungsprobleme Iteratives Verbesserungsverfahren. Vorteil: Einfach zu implementieren, meist schnell zu berechnen. Definition Gegeben: Menge von zulässigen Lösungen S (Lösungsraum), Bewertungsfunktion c : S R. Gesucht: Lösung s S mit c(s ) c(s) s S. O. B. d. A. Betrachtung von Minimierungsproblemen. LS bewegt sich innerhalb des Lösungsraums von einer Lösung zur anderen (Iteration) bis Abbruchkriterium erfüllt. Systematische Suche: erlaube nur Schritte zu Nachbarlösungen. 3.06.2009 CoMa SS 09 20/35
Nachbarschaft Definition Sei S die Menge der zulässigen Lösungen. Eine Nachbarschaftsstruktur N ist eine Abbildung aus dem Lösungsraum in die Potenzmenge: N : S 2 S. Für jedes s S ist N (s) die Teilmenge von Lösungen, die in einem Schritt von s aus erreicht werden können. N (s) heißt Nachbarschaft von s. S N (s) s CoMa SS 09 21/35
Algorithmus LS Algorithmus Lokale Suche INPUT: Startlösung s einer Instanz I OUTPUT: lokales Optimum bezüglich einer gewählten Nachbarschaft N WHILE es gibt noch bessere Lösung s N I (s) DO wähle bessere Lösung s N I (s) setze s := s ENDWHILE Ziel Algorithmus terminiert in lokalem Optimum bezogen auf Nachbarschaft N. Keine Gütegarantien gegenüber globalem Optimum. 3.06.2009 CoMa SS 09 22/35
Wesentliche Schritte 1. Startlösung finden 2. Nachbarschaft ermitteln nicht zu groß! 3. Auswahl eines Nachbarn First Fit: erste verbessernde Lösung Best Fit: nimm beste Lösung aus vollständiger Nachbarschaft Random Fit: wähle einen zufälligen Nachbarn... Eventuell auch Der gewählte Nachbar darf temporär den Zielfunktionswert verschlechtern. Vergleiche: Simulated Annealing und Tabu Search. Flucht aus lokalem Optimum möglich. CoMa SS 09 23/35
Nachbarschaft beim Scheduling Jobs 1 2 3 4 5 6 7 Maschinen m = 3 1 1 4 7 1 1 4 3 2 2 5 2 2 5 6 Nachbarschaften 3 3 6 2m 1 3 7 m jump Ein Job i wird bzgl. der Reihenfolge auf einer Maschine an andere Stelle verschoben jump(i, p) für alle möglichen Positionen p. exchange Zwei Jobs i und j werden bzgl. ihrer Reihenfolge auf einer Maschine getauscht exchange(i, j) für alle Paare (i, j). move Ein Job wird von seiner Maschine zur Bearbeitung auf eine andere verschoben move(i, m) für alle Maschinen m. CoMa SS 09 24/35
jump Das schon bekannte Beispiel Jobs 1 2 3 4 5 6 7 Maschinen m = 3 1 1 4 7 1 1 4 3 2 2 5 2 2 5 6 3 3 6 3 2m 1 Eine jump-operation jump(7, 1) 7 m Jobs 1 2 3 4 5 6 7 Maschinen m = 3 1 1 4 7 1 7 1 4 jump(7, 1) 2 2 5 2 2 5 3 3 6 3 3 6 2m 1 2m 1 CoMa SS 09 25/35
exchange Das schon bekannte Beispiel Jobs 1 2 3 4 5 6 7 Maschinen m = 3 1 1 4 7 1 1 4 3 2 2 5 2 2 5 6 3 3 6 3 7 2m 1 m Eine exchange-operation exchange(1, 7) Jobs 1 2 3 4 5 6 7 Maschinen m = 3 1 1 4 7 1 7 4 1 exchange(1, 7) 2 2 5 2 2 5 3 3 6 3 3 6 2m 1 2m 1 CoMa SS 09 26/35
move Das schon bekannte Beispiel Jobs 1 2 3 4 5 6 7 Maschinen m = 3 1 1 4 7 1 1 4 3 2 2 5 2 2 5 6 3 3 6 3 2m 1 Eine move-operation move(7, 3) 7 m Jobs 1 2 3 4 5 6 7 Maschinen m = 3 1 1 4 7 1 4 1 move(7, 3) 2 2 5 2 2 5 3 3 6 3 3 6 7 2m 1 2m 1 CoMa SS 09 27/35
Suche in Nachbarschaft Das schon bekannte Beispiel Jobs 1 2 3 4 5 6 7 Maschinen m = 3 1 1 4 7 1 1 4 3 2 2 5 2 2 5 6 3 3 6 2m 1 3 7 m Optimallösung durch LS 1. move(6, 2) 2. move(7, 3) 3. move(3, 1) Problem: Zwischenschritte ohne Verbesserung des Makespans CoMa SS 09 28/35
Übersicht Motivation Makespan Scheduling Lokale Suche Weitere Metaheuristiken Zusammenfassung Literatur CoMa SS 09 29/35
Simulated Annealing Erreichen einer besseren Lösung durch Umweg über eine Verschlechterung möglich. Nachbarlösungen, die besseren Zielfunktionswert liefern, werden immer akzeptiert, Verschlechterung nur mit bestimmter Wahrscheinlichkeit W. W wird durch zeitabhängigen Parameter und den Grad der Verschlechterung kontrolliert. Anfangs können stärkere Verschlechterungen auftreten Akzeptanzverhalten ermöglicht lokale Optima wieder zu verlassen, um Lösungsqualität zu verbessern. Parameter: Temperatur T (im Laufe des Verfahrens reduzieren, bis T = 0). Abkühlungsfahrplan ist wichtigste Komponente zur Beeinflussung des Erfolges Problem: Keine allgemeingültigen Regeln vorhanden CoMa SS 09 30/35
Tabu Search Verfahren der iterativen Verbesserung durch Nachbarschaftssuche. Ergänzung des Suchprozesses durch eine Art Gedächtnis, sog. TABU-Liste Speicherung historischer Suchschritte. Bereits besuchte Lösungen vermeiden. Auswahl der besten Nachbarschaftslösung, die nicht in der Liste steht. Mögliche Abbruchkriterien: feste Anzahl von Iterationen überschritten, leere Nachbarschaft, ausreichend gute Lösung. Problem: gute Tabu-Listenlänge a priori unbekannt 3.06.2009 CoMa SS 09 31/35
Übersicht Motivation Makespan Scheduling Lokale Suche Weitere Metaheuristiken Zusammenfassung CoMa SS 09 32/35
Zusammenfassung gesehen: Reihenfolgeprobleme Was können Heuristiken? Gütebeweise wichtig: Bestimmung unterer Schranken möglich Verbesserungsheuristik: Lokale Suche zentraler Begriff: Nachbarschaft Nachbarschaften beim Scheduling 3.06.2009 CoMa SS 09 33/35
Übersicht Motivation Makespan Scheduling Lokale Suche Weitere Metaheuristiken Zusammenfassung Literatur CoMa SS 09 34/35
Literatur Peter Brucker Scheduling Algorithms Michael Pinedo Scheduling - Theory, Algorithms, and System Simulated Annealing: http://de.wikipedia.org/ wiki/simulierte_abkühlung Ingo Wegener Simulated Annealing Beats Metropolis in Combinatorial Optimization. Tabu Search: http://de.wikipedia.org/wiki/tabu-suche Fred Glover Tabu Search CoMa SS 09 35/35