Scheduling-Theorie. Mathematische Modelle und Methoden für deterministische Scheduling-Probleme. LiSA - A Library of Scheduling Algorithms



Ähnliche Dokumente
Das disjunktive Graphenmodell für Shop-Probleme

LiSA Scheduling Software

LiSA - A Library of Scheduling Algorithms Handbuch zu Version 3.0

Approximationsalgorithmen

LiSA - A Library of Scheduling Algorithms Handbuch zu Version 3.0

Gemischt-ganzzahlige und Kombinatorische Optimierung

Algorithmen zur Visualisierung von Graphen Lagenlayouts

Modelle und Methoden der Linearen Optimierung (Die Thesen zur Vorlesung 1_Fallstudie)

Einführung in Scheduling

Übung 2 Algorithmen II

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

Graphalgorithmen 1. Tillmann Zipperer Tillmann Zipperer Graphalgorithmen / 40

Das Heiratsproblem. Definition Matching

Effiziente Algorithmen II

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

6. Transitive Hülle. 6.1 Min-Plus-Matrix-Produkt und Min-Plus-Transitive Hülle Ring Z(+, ) Semiring N(+, )

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Folien aus der Vorlesung Optimierung I SS2013

Effiziente Algorithmen I

Kombinatorische Optimierung

Konstruktive Heuristiken

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Effiziente Algorithmen (SS2015)

V. Metriken. Gliederung. I. Motivation. Lesen mathematischer Symbole. Wissenschaftliche Argumentation. Matrizenrechnung. Seite 67

Algorithmen und Datenstrukturen 2

Eine zweidimensionale Stichprobe

Algorithmen II Vorlesung am

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2

Graphen. Definitionen

2. Maschinenumgebungen, Ablaufeigenschaften, Ziele

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

Ressourceneinsatzplanung in der Fertigung

Grundbegriffe der Informatik Musterlösung zu Aufgabenblatt 9

Kombinatorische Optimierung

8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.

Technische Universität München Fakultät für Mathematik Algorithmische Diskrete Mathematik WS 2012/2013 Prof. Dr. P. Gritzmann 22.

Approximationsalgorithmen. 19. Dezember / 28

ADS: Algorithmen und Datenstrukturen 2

Vorlesung 3: Graphenalgorithmen. Markus Püschel David Steurer Peter Widmayer. PDF download goo.gl/ym3spq

Approximation in Batch and Multiprocessor Scheduling

Digraphen, DAGs und Wurzelbäume

Minimal spannende Bäume

Das Multi Traveling Salesman Problem

Stochastische dynamische Optimierung

Wir nennen einen Pfad in einem gerichteten Graphen Zyklus, wenn der Pfad im gleichen Knoten beginnt und endet, d. h.

1. Transport- und Zuordnungsprobleme Optimierungsalgorithmus für Transportprobleme. Duales Problem. a i u i + i=1. j=1

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

ADS: Algorithmen und Datenstrukturen 2

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

f h c 7 a 1 b 1 g 2 2 d

EDM, Algorithmen und Graphenspeicherung

Algorithmen und Datenstrukturen 2

Übungsblatt Nr. 5. Lösungsvorschlag

Informatik II, SS 2014

Teil 2: Graphenalgorithmen

Vorlesung Diskrete Strukturen Ordnungsrelationen

Probleme aus NP und die polynomielle Reduktion

Algorithmische Mathematik

Effiziente Algorithmen I

Kapitel 9: Lineare Programmierung Gliederung

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

ADS: Algorithmen und Datenstrukturen 2

Alles zu seiner Zeit Projektplanung heute

ADS: Algorithmen und Datenstrukturen 2

Synthese Eingebetteter Systeme. 12 Synthese: Bereitstellung (Allocation)

8 Diskrete Optimierung

Kürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring

Lösungen zu Kapitel 5

5.1) Realzeitscheduling (Mehrprozessorsysteme)

Informatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!

Klausur Algorithmentheorie

ADS 2: Algorithmen und Datenstrukturen

Optimierung. Vorlesung 04

Vorlesung Datenstrukturen

OR für Wirtschaftsingenieure. Übungsserie 7: Färbungen von Graphen

BERGISCHE UNIVERSITÄT WUPPERTAL FB B: SCHUMPETER SCHOOL OF BUSINESS AND ECONOMICS. Master of Science

12. Der Algorithmus von Dijkstra. Informatik II für Verkehrsingenieure

Kapitel IV Minimale Spannbäume

Algorithmen und Datenstrukturen 2-1. Seminar -

. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:

Massive Parallelität : Neuronale Netze

Mathematische Werkzeuge R. Neubecker, WS 2016 / 2017

Mathematische Werkzeuge R. Neubecker, WS 2018 / 2019 Optimierung Lagrange-Funktionen, Karush-Kuhn-Tucker-Bedingungen

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3

ADS: Algorithmen und Datenstrukturen 2

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7

Datenstrukturen und Algorithmen (SS 2013)

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.

Optimierung. Vorlesung 08

Graphenalgorithmen I

Scheduling-Algorithmen: Zeitpunkt der Auswahlentscheidung

Vorlesung 7 GRAPHBASIERTE BILDSEGMENTIERUNG

Wie wird ein Graph dargestellt?

Lineare Algebra I (WS 12/13)

Transkript:

Scheduling-Theorie Mathematische Modelle und Methoden für deterministische Scheduling-Probleme LiSA - A Library of Scheduling Algorithms Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 1

(a) Fertigung Scheduling-Probleme in Fertigung und Service Projektplanung und -scheduling (z.b. CPM und PERT) Maschinenbelegung (Job Scheduling) Fließbandabstimmung Losgrößenplanung (z. B. Economic Lot Scheduling Problem) Planung und Scheduling in Supply Chains (b) Service Intervall-Scheduling, Reservierungen und Timetabling (z.b. Stundenplanung an Schulen) Scheduling und Timetabling in Sport und Unterhaltung (z.b. Planung von Sportwettkämpfen) Planung, Scheduling und Timetabling im Transport (z.b. Tanker-Scheduling, Fahrplangestaltung bei der Eisenbahn) Personaleinsatzplanung (Workforce Scheduling) Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 2

Scheduling-Probleme deterministische Scheduling-Probleme: alle Daten zu den Aufträgen sind deterministisch fixiert (a) offline Scheduling: alle Daten zu den Aufträgen sind aprioribekannt (b) online Scheduling: die Daten zu den Aufträgen sind nicht a priori bekannt (Daten eines Auftrags werden erst zum Zeitpunkt seiner Ankunft bekannt) stochastische Scheduling-Probleme: Zufallsvariable treten auf (z.b. Bearbeitungszeiten) Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 3

Scheduling-Probleme: Beispiele Beispiel 1. Ein kleines Unternehmen produziert Papiertüten für Zement, Hundefutter u. ä.. Das Basismaterial besteht aus Papierrollen. Diese werden in drei Abteilungen bearbeitet, die folgende Arbeitsgänge ausführen: 1. Bedrucken des Papiers, 2. Leimen der Seitenränder, 3. Zunähen des Bodens. In jeder Abteilung gibt es eine Anzahl von Maschinen, die sich z.b. in der Arbeitsgeschwindigkeit, der Anzahl der Farben beim Drucken oder auch durch die Größe des Papiers, das sie bearbeiten können, unterscheiden. Jede Zuordnung der eingehenden Aufträge zu den Maschinen erzeugt eine bestimmte Menge Tüten in einer bestimmten Zeit. Die Bearbeitungszeit der Operationen sei dabei proportional zu der Menge der erzeugten Tüten. Wird ein Auftrag verspätet fertig, so entstehen Strafkosten, die von der Wichtigkeit des Auftrags und der Größe der Verspätung abhängen. Die Maschinen haben reihenfolgeabhängige Rüstzeiten (Setup-Zeiten), d. h. die Umrüstzeit einer Maschine vor Bearbeitung eines Auftrags hängt von diesem Auftrag und dem zuvor auf dieser Maschine bearbeiteten Auftrag ab. Unter diesen Bedingungen ist die Produktion so zu steuern, dass die Summe der Strafkosten minimiert wird. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 4

Scheduling-Probleme: Beispiele Beispiel 2. Eine Funktion eines Multiprozessorcomputersystems besteht darin, die Zeit für die zu bearbeitenden Programme für den Zentralprozessor einzuteilen. Die exakte Zeit für ein Programm ist gewöhnlich nicht bekannt. Es kann jedoch die Verteilung der zufälligen Bearbeitungszeiten einschließlich Erwartungswert und Varianz bekannt sein. Zusätzlich hat jedes Programm einen Prioritätsfaktor (ein Gewicht), das vom Nutzer oder Operator vorgegeben wird. Ziel ist es, eine Reihenfolge der Bearbeitung der Programme zu finden, so dass die mittlere Summe der gewichteten Bearbeitungsendzeitpunkte minimiert wird. Hierbei kann es erlaubt sein, länger laufende Programme in mehrere Teile zu splitten (Preemption). Damit wird verhindert, dass relativ kurze Programme zu lange im System sind. Man kann sich leicht überlegen, dass bei Hinzunahme der Bedingung Unterbrechung erlaubt der optimale Zielfunktionswert kleiner werden kann. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 5

Scheduling-Probleme: Beispiele Beispiel 3. Für die Vorlesung Scheduling-Theorie gibt es drei Bücher, die sechs besonders interessierte Studenten als Prüfungsvorbereitung durcharbeiten wollen. Jeder Student kann gleichzeitig höchstens ein Buch lesen und auch jedes Buch kann zu einem festen Zeitpunkt nur von höchstens einem Student gelesen werden. Unter der Annahme, dass jeder Student für jedes Buch die gleiche Zeit zum Lesen hat, ist ein Plan gesucht, der es allen Studenten in möglichst kurzer Zeit ermöglicht, sich vorzubereiten. In diesem Beispiel entspricht das Buch einer Maschine und der Student dem Auftrag (ist auch umgekehrt möglich!). Beispiel 4. Johnsonsche Regel (1954) für das Problem F 2 C max : n Aufträge A i sollen auf zwei Maschinen bearbeitet werden, wobei jeder Auftrag zuerst auf der Maschine M 1 und dann auf der Maschine M 2 zu bearbeiten ist. Die Bearbeitungszeiten t ij für Auftrag A i auf Maschine M j sind fest vorgegeben. Gesucht ist ein Bearbeitungsplan mit minimaler Gesamtbearbeitungszeit aller Aufträge auf den beiden Maschinen. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 6

Algorithmus 1: Johnsonsche Regel Exaktes Verfahren für Problem F 2 C max Johnsonsche Regel Eingabe: n, Bearbeitungszeitmatrix P =(p ij ) vom Format n 2; Ausgabe: Optimale organisatorische Reihenfolge auf den Maschinen M 1 und M 2. BEGIN Ordne zuerst alle Aufträge A i mit p i1 p i2 nach nichtfallenden Werten der Bearbeitungszeiten auf der ersten Maschine an; Ordne dann die verbleibenden Aufträge A i nach nichtwachsenden Werten der Bearbeitungszeiten auf der zweiten Maschine an; END. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 7

Bezeichnungen und Definitionen Eine Menge von Aufträgen (Jobs) A i, i I = {1,..., n}, ist auf auf einer Menge von Maschinen M j,j J = {1,..., m}, zu bearbeiten. Die Bearbeitungszeit von Auftrag A i auf Maschine M j sei p ij 0, also fixiert und gegeben. Matrix der Bearbeitungszeiten: P =(p ij ) n m Die Menge der Operationen ist durch SIJ = {(i, j) I J p ij > 0} definiert, wobei: n i : Anzahl der Operationen für Auftrag A i und v j : Anzahl der Operationen auf Maschine M j. Häufig wird vorausgesetzt, dass jeder Auftrag zu einem festen Zeitpunkt auf höchstens einer Maschine bearbeitet wird und jede Maschine zu einem festen Zeitpunkt höchstens einen Auftrag bearbeitet. Zunächst darf die Bearbeitung der Operationen nicht unterbrochen werden. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 8

Scheduling-Problem Machine Orders (MO): Unter der technologischen Reihenfolge des Auftrags A i versteht man die Reihenfolge der Maschinen, auf denen er bearbeitet wird: M i j 1 M i j 2... M i,i I. jn i Job Orders (JO): Unter der organisatorischen Reihenfolge auf der Maschine M j versteht man die Reihenfolge der Aufträge auf dieser Maschine: A j i 1 A j i 2... A j iv j,j J. Ein Plan (Sequence) ist eine zulässige Kombination aus MO und JO. Ein Schedule ist ein Zeitplan zu einem Plan, er wird beschrieben durch die Start- oder Fertigstellungszeiten aller Operationen. Scheduling-Problem: Gesucht ist ein Schedule zu einer zulässigen Kombination von technologischen und organisatorischen Reihenfolgen unter den verschiedensten zusätzlichen Nebenbedingungen, so dass eine gegebene Zielfunktion ihren optimalen Wert annimmt. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 9

Die Graphen G(MO), G(JO) und G(MO,JO) Es werden folgende Digraphen auf der Menge der Operationen als Knoten definiert: G(MO)=(V, A(MO)) enthält die gerichteten Kanten aus den technologischen Reihenfolgen: ((i, j), (k, l)) A (i = k Auftrag A i geht nach Bearbeitung auf M j direkt auf M l über) (horizontale Kanten) G(JO)=(V, A(JO)) enthält die gerichteten Kanten aus den organisatorischen Reihenfolgen: ((i, j), (k, l)) A (j = l auf Maschine M j wird nach Auftrag A i direkt A k bearbeitet.) (vertikale Kanten) G(MO,JO)=(V, A(MO,JO)) = G(MO) G(JO) enthält die gerichteten Kanten aus den technologischen und organisatorischen Reihenfolgen: Eine Kombination aus MO und JO ist zulässig, wenn der zugehörende Digraph G(MO,JO) zyklenfrei ist. Ein solcher Digraph wird als Plan- oder Sequencegraph bezeichnet. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 10

Rangmatrizen der drei Graphen Die azyklischen Digraphen G(MO), G(JO) und G(MO,JO) werden durch die Matrizen MO, JO und LR beschrieben, die die Ränge der Knoten (i, j) in den jeweiligen Graphen angeben. Existiert die Operation (i, j) nicht, wird an der Position (i, j) in der jeweiligen Matrix ein Punkt gesetzt. Der Rang eines Knotens (i, j) bezeichnet die Anzahl der Knoten auf einem längsten Weg zu (i, j) in dem gegebenen Digraphen, wobei der Knoten (i, j) mitgezählt wird. Beispiel 5. Seien n =3, m =4, SIJ = I J \{(13)} sowie technologische Reihenfolgen: A 1 : M 1 M 2 M 4 A 2 : M 2 M 4 M 1 M 3 A 3 : M 4 M 1 M 2 M 3 organisatorische Reihenfolgen: M 1 : A 1 A 2 A 3 M 2 : A 2 A 3 A 1 M 3 : A 3 A 2 M 4 : A 3 A 1 A 2 Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 11

Beispiel für die Graphen G(MO), G(JO) und G(MO,JO) G(MO): G(JO): G(MO,JO): 11 12 14 11 12 14 11 12 14 21 22 23 24 21 22 23 24 21 22 23 24 31 32 33 34 31 32 33 34 31 32 33 34 MO = 1 2. 3 3 1 4 2 2 3 4 1 JO = 1 3. 2 2 1 2 3 3 2 1 1 Ist diese Kombination zulässig? Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 12

Schedules Jeder Knoten (i, j) des Plangraphen G(MO,JO) wird mit der Bearbeitungszeit p ij gewichtet. Ein Schedule S ist ein Zeitplan zu einem Plan LR, der durch die Matrix aller Start- oder Fertigstellungszeiten der Operationen beschrieben wird. Bemerkung: Zu einem Schedule S gehört genau ein Plan LR. Die Menge aller Schedules MS zu einem festen Plan hat überabzählbar viele Elemente. Bemerkung: Die Relation R mit ist eine Äquivalenzrelation auf MS. S 1,S 2 MS : S 1 RS 2 LR(S 1 )=LR(S 2 ) Als Äquivalenzklassenvertreter werden semiaktive Schedules gewählt: Jede Operation wird unter Einhaltung des zugrunde liegenden Plans so früh wie möglich bearbeitet (linksbündig). Die Fertigstellungszeiten aller Operationen (i, j) SIJ eines semiaktiven Schedules werden in der Matrix C =(c ij ) (completion times) zusammengefasst. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 13

Ganttdiagramme Beispiel 6. Gegeben sind die Bearbeitungszeitmatrix P = und die Ganttdiagramme eines semiaktiven Schedules: ( 2 3 1 1 2 2 ) M 3 A 1 A 2 M 2 A 1 A 2 A 2 M 1 M 2 M 3 M 1 A 1 A 2 5 9 Maschinenorientiertes Ganttdiagramm t A 1 M 1 M 2 M 3 t 5 9 Auftragsorientiertes Ganttdiagramm Die Gesamtbearbeitungszeit beträgt 9 Zeiteinheiten. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 14

Klassen von Schedules Ein Schedule heißt semiaktiv, wenn keine Operation ohne Änderung des Plans früher fertig werden kann. Ein Schedule heißt aktiv, wenn keine Operation früher bearbeiten werden kann, ohne dass sich die Abarbeitung einer anderen Operation verzögert. Ein Schedule heißt non-delay, wenn keine Maschine still steht, sofern zu diesem Zeitpunkt ein Auftrag zur Bearbeitung auf der Maschine anliegt. Zusammenhang zwischen den Schedules: semiaktiv aktiv non-delay Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 15