Heuristiken im Kontext von Scheduling



Ähnliche Dokumente
Approximationsalgorithmen

Approximationsalgorithmen

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

1 topologisches Sortieren

Algorithmische Methoden für schwere Optimierungsprobleme

WS 2013/14. Diskrete Strukturen

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Das Lastverteilungsproblem

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Primzahlen und RSA-Verschlüsselung

Zeichen bei Zahlen entschlüsseln

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Professionelle Seminare im Bereich MS-Office

Stackelberg Scheduling Strategien

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

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Grundlagen der Theoretischen Informatik, SoSe 2008

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Häufig wiederkehrende Fragen zur mündlichen Ergänzungsprüfung im Einzelnen:

Einführung in Scheduling

Leichte-Sprache-Bilder

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Kapiteltests zum Leitprogramm Binäre Suchbäume

1 Mathematische Grundlagen

Grundbegriffe der Informatik

15 Optimales Kodieren

Wir machen neue Politik für Baden-Württemberg

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Konzepte der Informatik

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Anwendungsbeispiele Buchhaltung

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Was meinen die Leute eigentlich mit: Grexit?

Informationsblatt Induktionsbeweis

Berechnung der Erhöhung der Durchschnittsprämien

Bestimmung einer ersten

Übungen zur Vorlesung Induktive Statistik Bedingte Wahrscheinlichkeiten

Die Post hat eine Umfrage gemacht

Hilfe zur Urlaubsplanung und Zeiterfassung

Kapitalerhöhung - Verbuchung

Die Komplexitätsklassen P und NP

WS 2008/09. Diskrete Strukturen

4. Dynamische Optimierung

WS 2009/10. Diskrete Strukturen

Guten Morgen und Willkommen zur Saalübung!

Theoretische Grundlagen der Informatik WS 09/10

Lineare Gleichungssysteme

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Kapitel 7 und Kapitel 8: Gleichgewichte in gemischten Strategien. Einleitung. Übersicht Teil 2 2. Übersicht 3

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

a n auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

Korrigenda Handbuch der Bewertung

Die Verbindung von Linearer Programmierung und Graphentheorie

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Beispiel(unten ist der Spielfeldrand):

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Postfach aufräumen und archivieren

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

JÖRG RAMBAU. Neulich an der TU Berlin...

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

3. GLIEDERUNG. Aufgabe:

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Bedienungsanleitung für den Online-Shop

Alles zu seiner Zeit Projektplanung heute

Reporting Services und SharePoint 2010 Teil 1

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

Approximation in Batch and Multiprocessor Scheduling

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

Lichtbrechung an Linsen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Kap. 8: Speziell gewählte Kurven

Informatik-Sommercamp Mastermind mit dem Android SDK

Erstellen von x-y-diagrammen in OpenOffice.calc

Peer-to-Peer- Netzwerke

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Data Mining: Einige Grundlagen aus der Stochastik

Anmerkungen zur Übergangsprüfung

Kompetitive Analysen von Online-Algorithmen

Theoretische Grundlagen des Software Engineering

W-Rechnung und Statistik für Ingenieure Übung 11

Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.

Datenexport aus JS - Software

Abitur 2007 Mathematik GK Stochastik Aufgabe C1

Tevalo Handbuch v 1.1 vom

Information Systems Engineering Seminar

Lehrer: Einschreibemethoden

Algorithmentheorie Maximale Flüsse

Markovketten. Bsp. Page Ranking für Suchmaschinen. Wahlfach Entscheidung unter Risiko und stat. Datenanalyse

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Ressourceneinsatzplanung in der Fertigung

4 Aufzählungen und Listen erstellen

Transkript:

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