Das disjunktive Graphenmodell für Shop-Probleme

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

LiSA - A Library of Scheduling Algorithms Handbuch zu Version 3.0

15. Elementare Graphalgorithmen

LiSA Scheduling Software

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

Kombinatorische Optimierung

LiSA - A Library of Scheduling Algorithms Handbuch zu Version 3.0

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

Datenstrukturen und Algorithmen (SS 2013)

ADS: Algorithmen und Datenstrukturen 2

Konstruktive Heuristiken

Folien aus der Vorlesung Optimierung I SS2013

Teil 2: Graphenalgorithmen

Graphenalgorithmen I

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

ADS: Algorithmen und Datenstrukturen 2

8 Diskrete Optimierung

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

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

Algorithmen und Datenstrukturen

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Anordnungstechniken für konvektionsdominante Probleme im Ê 3. Dimensionsunabhängige Verfahren. Algorithmen für planare Graphen. Numerische Beispiele

Das Heiratsproblem. Definition Matching

Vorlesung Datenstrukturen

Minimal spannende Bäume

Informatik II, SS 2014

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

Lösungen zu Kapitel 5

ADS: Algorithmen und Datenstrukturen 2

Effiziente Algorithmen I

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

Zweizusammenhang und starker Zusammenhang

Kapitel IV Minimale Spannbäume

Kombinatorische Optimierung

10. Übungsblatt zu Algorithmen I im SS 2010

Digraphen, DAGs und Wurzelbäume

Kapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung

Algorithmische Graphentheorie

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

Diskrete Mathematik 1 WS 2008/09

Algorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Kapitel IV Minimale Spannbäume

Teil 2: Graphenalgorithmen

Helmut Schauer Educational Engineering Lab Department for Information Technology University of Zurich. Graphen (2)

Kapitel 9: Lineare Programmierung Gliederung

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965).

Kürzeste Wege. Ein Startknoten, nichtnegative Gewichte

2.4 Starke Zusammenhangskomponenten in Digraphen

Graphen Jiri Spale, Algorithmen und Datenstrukturen - Graphen 1

Ecken des Zuordnungsproblems

Diskrete Strukturen WS 2005/06. Ernst W. Mayr. 27. Januar Fakultät für Informatik TU München

Kombinatorische Optimierung

Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z}

2. Darstellungen. Digraphen und vollständige Orientierungen Satz: Ein stark zusammenhängender Digraph besteht aus einer einzigen Subkomponente.

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

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

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Quicksort ist ein Divide-and-Conquer-Verfahren.

Übersicht der Vorlesung

ADS: Algorithmen und Datenstrukturen 2

Programmiertechnik II

3.2 Generischer minimaler Spannbaum-Algorithmus

Einheit 11 - Graphen

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Programmiertechnik II

Organisatorisches. Programmierpraktikum Das Canadian Traveller Problem. Organisatorisches. Organisatorisches

Theoretische Grundlagen der Informatik

bekannt: Eliminationsverfahren von Gauß Verfahren führt zu einer Zerlegung der Koeffizientenmatrix: A = LR A = LR

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

Ü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

Isomorphie von Bäumen

Optimierung. Vorlesung 08

Lernmodul 7 Algorithmus von Dijkstra

Matching. Organisatorisches. VL-18: Matching. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger. Tanzabend

ADS: Algorithmen und Datenstrukturen 2

Kürzeste Wege in einem gewichteten Graphen. Anwendungen

5. Bäume und Minimalgerüste

Massive Parallelität : Neuronale Netze

2. Das single-source-shortest-path-problem

Bipartite Graphen. Beispiele

Klausurvorbereitung. 1 Zentrale Begriffe. 2 Bipartite Graphen. 2.1 Begriffe. Vorlesung Graphen und Optimierung Sommersemester 2011 Prof. S.

Algorithmen zur Visualisierung von Graphen

Algorithmen & Komplexität

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Vorlesung Lineare Optimierung (Sommersemester 2007)

Grundzüge von Algorithmen und Datenstrukturen, WS 15/16: Lösungshinweise zum 13. Übungsblatt

Graphen und Bäume. A.1 Graphen

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016

16. All Pairs Shortest Path (ASPS)

Datenstrukturen und Algorithmen 2. Klausur SS 2001

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

Informatik II, SS 2016

Tutoraufgabe 1 (Suchen in Graphen):

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Vorlesungstermin 2: Graphentheorie II. Markus Püschel David Steurer. Algorithmen und Datenstrukturen, Herbstsemester 2018, ETH Zürich

Transkript:

Das disjunktive Graphenmodell für Shop-Probleme Definition 1: Ein disjunktiver Graph ist ein Graph G =(V, E) mit V = {(i, j) (i, j) SIJ} {q} {s} Die Knotenmenge ist die Menge der Operationen zuzüglich einer Quelle q und einer Senke s. E = C D, wobei gilt: C ist die Menge der konjunktiven (gerichteten) Kanten, die die Vorrangbedingungen zwischen den Operationen widerspiegeln. Dazu kommen gerichtete Kanten von der Quelle zu allen Operationen ohne Vorgänger und gerichtete Kanten von allen Operationen, die keinen Nachfolger haben, zur Senke. D ist die Menge aller disjunktiven (ungerichteten) Kanten. Eine disjunktive Kante wird zwischen Operationen mit dem gleichen Auftrag oder der gleichen Maschine eingeführt, die nicht bereits durch eine Kante aus C verbunden sind. Jeder Knoten (i, j) wird mit p ij gewichtet, q und s erhalten das Gewicht 0. Ein Plangraph entspricht damit einem azyklisch gerichteten disjunktiven Graphen, aus dem Quelle und Senke mit den inzidierenden Kanten entfernt wurden. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 1

Das disjunktive Graphenmodell - Beispiel Beispiel 1. Betrachtet wird das Problem O C max mit der Bearbeitungszeitmatrix: ( ) 2 3 3 P =. 4 1 2 11 12 13 q s 21 22 23 Alle Kanten sind disjunktiv, die den technologischen und organisatorischen Reihenfolgen entsprechen. Damit ist der von allen Knoten mit gleichem Auftrag (bzw. mit gleicher Maschine) aufgespannte Teilgraph eine Clique. Gesucht ist eine Orientierung der disjunktiven Kanten, so dass der entstehende Graph zyklenfrei ist und der kritische Weg (C max ) minimal wird! Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 2

Das Blockmatrizenmodell für Shop-Probleme Pläne und Lateinische Rechtecke Definition 2: Ein lateinisches Rechteck LR[n, m, r] =(lr ij ) ist eine n m Matrix mit den Elementen lr ij aus einer Belegungsmenge B = {1,...,r}, wobei jede Zahl aus B in jeder Zeile und Spalte des Rechtecks höchstens einmal vorkommt. LQ[n] = LR[n, m, r] mit n = m = r wird als lateinisches Quadrat der Ordnung n bezeichnet. Satz 1. Aus jedem lateinischen Rechteck LR[n, m, r] lässt sich eindeutig eine zulässige Kombination von technologischen und organisatorischen Reihenfolgen für ein Open-Shop Problem mit n Aufträgen und m Maschinen konstruieren. Satz 2. Jeder zulässigen Kombination von technologischen und organisatorischen Reihenfolgen eines Open-Shop Problems mit SIJ = I J, I = n, J = m, lässt sich eineindeutig ein lateinisches Rechteck LR[n, m, r] zuordnen, das die folgende Sequence-Bedingung erfüllt: Zu jedem lr ij > 1 existiert entweder in Zeile i oder in Spalte j oder in beiden die Zahl lr ij 1. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 3

P =(p ij ) Das Blockmatrizenmodell für Shop-Probleme LR =(lr ij ) Bearbeitungszeiten Plan } {{ } C =(c ij ) Schedule = = wenn G(MO,JO) azyklisch ist MO =(mo ij ) machine orders JO =(jo ij ) job orders H =(h ij ),T=(t ij ) und W =(w ij ) Heads, Tails und Weights h ij ist die (kürzeste) Zeit zur Bearbeitung aller Vorgänger der Operation (i, j) t ij ist die (kürzeste) Zeit zur Bearbeitung aller Nachfolger der Operation (i, j) w ij ist das Gewicht eines maximal gewichteten Weges über die Operation (i, j) Es gilt: C = H + P und W = H + P + T Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 4

Algorithmen zum Blockmatrizenmodell (1) Algorithmus zur Bestimmung von LR[n, m, r] aus MO und JO (falls möglich) Eingabe: n, m, SIJ, MatrizenMO und JO über der Operationenmenge SIJ; Ausgabe: LR[n, m, r] auf der Operationenmenge SIJ (falls G(MO,JO) zyklenfrei). BEGIN k := 0; REPEAT k := k +1; Bestimme die Menge MQ = {(i, j) SIJ mo ij = jo ij =1}; IF MQ = THEN (MO,JO) ist unzulässig und STOP; FOR ALL(i, j) MQ DO BEGIN lr ij = k; Markiere in MO die Zeile i und in JO die Spalte j; END; SIJ := SIJ \ MQ; FOR ALL (i, j) SIJ aus einer markierten Zeile in MO DO mo ij := mo ij 1; FOR ALL (i, j) SIJ aus einer markierten Spalte in JO DO jo ij := jo ij 1; UNTIL SIJ = ; END. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 5

Algorithmen zum Blockmatrizenmodell (2) Bezeichnungen: a i : kleinste Zahl, die für den Rang einer Operation von Auftrag A i in MO zur Verfügung steht; b j : kleinste Zahl, die für den Rang einer Operation auf Maschine M j in JO zur Verfügung steht. Algorithmus zur Bestimmung der Matrizen MO und JO aus dem Plan LR[n, m, r] Eingabe: n, m, r, I, J, SIJ, PlanLR[n, m, r]; Ausgabe: Matrizen MO und JO; BEGIN Setze für alle i I: a i =1und für alle j J: b j =1; FOR k := 1 TO r DO FOR ALL (i, j) SIJ mit lr ij = k DO BEGIN Setze mo ij = a i und a i = a i +1; Setze jo ij = b i und b j = b j +1; END; END. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 6

Algorithmen zum Blockmatrizenmodell (3) Bezeichnungen: r i :früheste Verfügbarkeit von Auftrag A i ; r j :früheste Verfügbarkeit von Maschine M j. Algorithmus zur Bestimmung der Matrix C aus den Matrizen P und LR[n, m, r] Eingabe: n, m, r, I, J, SIJ, Bearbeitungszeitmatrix P und Plan LR[n, m, r]; Ausgabe: Matrix C =(c ij ) der Fertigstellungszeiten der Operationen (i, j) SIJ. BEGIN Setze für alle i I: r i =0und für alle j J: r j =0; FOR k := 1 TO r DO FOR ALL (i, j) SIJ mit lr ij = k DO BEGIN c ij := max{r i, r j } + p ij ; r i := c ij ; r j := c ij ; END; END. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 7

Algorithmen zum Blockmatrizenmodell (4) Bezeichnungen: r i, r j :früheste Verfügbarkeit von Auftrag A i bzw. von Maschine M j ; s i, s j :früheste Verfügbarkeit von Auftrag A i bzw. von Maschine M j bei der Rückwärtsrechnung. Bestimmung der Heads h ij und Tails t ij für alle Operationen (i, j) SIJ Eingabe: n, m, r, I, J, SIJ, MatrixP und Plan LR[n, m, r]; Ausgabe: Matrizen H und T. BEGIN Setze für alle i I: r i =0und für alle j J: r j =0; Setze für alle i I: s i =0und für alle j J: s j =0; FOR k := 1 TO r DO BEGIN FOR ALL (i, j) SIJ mit lr ij = k DO BEGIN h ij := max{r i, r j }; r i := h ij + p ij ; r j := h ij + p ij ; END; FOR ALL (i, j) SIJ mit lr ij = r k +1DO BEGIN t ij := max{s i, s j }; s i := t ij + p ij ; s j := t ij + p ij ; END; END; END. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 8

Shop-Probleme mit Unterbrechungen Sei z ij 1, z ij 1, die Anzahl der Unterbrechungen der Operation (i, j). Dannwirdjede Operation aus SIJ in eine geordnete Menge psij von Teiloperationen {(i, j) k k =1,...,z ij } aufgespalten, wobei (i, j) k bearbeitet sein muss, bevor die Bearbeitung von (i, j) k+1 starten kann, k =1,...,z ij 1. Analog zu den Problemen ohne pmtn werden die folgenden Digraphen definiert: G p (MO) = (psij,a(pmo)) enthält gerichtete Kanten, gegeben durch die Vorrangbedingungen der Teiloperationen für den gleichen Auftrag A i, i = 1,...,n, in allen technologischen Reihenfolgen. G p (JO) = (psij,a(pjo)) enthält gerichtete Kanten, gegeben durch die Vorrangbedingungen der Teiloperationen auf der gleichen Maschine M j, j = 1,...,m, in allen organisatorischen Reihenfolgen. G p (MO,JO)=(pSIJ,A(pMO, pjo)) enthält alle gerichteten Kanten aus A(pMO) A(pJO). Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 9

Shop-Probleme mit Unterbrechungen Definition: Ein preemptiver Plangraph ist ein azyklischer Digraph G p (MO,JO). ZurBeschreibung der Graphen werden preemptive Matrizen verwendet, deren Elemente geordnete Mengen sind: die preemptive Matrix pmo =({mo 1 ij,...,moz ij ij }), wobeimok ij der Rang der Teiloperation (i, j) k in G p (MO) ist; die preemptive Matrix pjo =({jo 1 ij,...,joz ij ij }), wobeijok ij der Rang der Teiloperation (i, j) k in G p (JO) ist; der premptive Plan plr =({lr 1 ij,...,lrz ij ij }), wobeilrk ij der Rang der Operation (i, j) k im preemptiven Plangraphen G p (MO,JO) ist. z ij Jetzt: Zerlegung von p ij in z ij Teile, wobei p ij = gelten muss. Dann erhält man: p k ij k=1 die preemptive Bearbeitungszeitmatrix pp =({p 1 ij,...,pz ij ij }), wobeipk ij die Bearbeitungzeit der Teiloperation (i, j) k ist. den preemptiven Schedule pc =({c 1 ij,...,cz ij ij }), wobeick ij die Fertigstellungszeit der Teiloperation (i, j) k ist. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 10

Shop-Probleme mit Unterbrechungen - Beispiel Beispiel 2. Betrachtet wird folgender preemptiver Plangraph mit n =3und m =3,wobei z ij =2für (i, j) {(1, 2), (1, 3), (2, 3)} und z ij =1für alle anderen Operationen. 11 1 12 1 13 1 12 2 13 2 21 1 22 1 23 1 232 311 32 1 331 Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 11

pmo = {1} {2, 4} {3, 5} {1} {3} {2, 4} {3} {1} {2} Die preemptiven Matrizen plr =, pjo = {1} {2, 4} {3, 5} {2} {5} {4, 6} {3} {1} {2} {1} {2, 3} {2, 4} {2} {4} {3, 5} {3} {1} {1} Unter Verwendung der preemptiven Bearbeitungszeitmatrix pp wird der zugehörende preemptive Schedule berechnet: pp = {3} {2, 2} {4, 3} {4} {3} {3, 1} {6} {2} {3}, pc =. {3} {5, 11} {9, 15} {7} {15} {12, 16} {13} {2} {5} Alle Zielfunktionswerte f(c 1,...,C n ) für diesen Schedule können sofort mittels C 1 =15, C 2 =16and C 3 =13berechnet werden, also z.b. C max =16.,. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 12

Die Sequence-Bedingung im Fall von Unterbrechungen Der preemptive Plan plr mit dem maximalem Rang r hat die folgenden Eigenschaften: (a) Jedes Element von {1,...,r} kommt höchstens einmal in jeder Zeile und Spalte vor; (b) Sequence-Bedingung: Zu jedem Element lr k ij oder Spalte j. = l>1 existiert ein Eintrag l 1 in Zeile i Bemerkung: Die Matrizen H, T und W können im Fall von Unterbrechungen zu den preemptiven Matrizen ph, pt und pw modifiziert werden. Die Algorithmen 1-4 lassen sich für den Fall von Unterbrechungen modifizieren. Das Blockmatrizenmodell lässt sich auch auf Job-Shop, Flow-Shop und Mixed-Shop Probleme anwenden, da sich Vorrangbedingungen zwischen den Operationen einfach einarbeiten lassen. Dies gilt auch für den Fall von Unterbrechungen. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 13

Pläne und Schedules für Einmaschinenprobleme Einmaschinenprobleme: Einschränkung des B-Modells auf eine Maschine Plan: Organisatorische Reihenfolge der Aufträge ist gesucht: (1) A i1 A i2... A i n entspricht der Reihenfolge (i 1,i 2,...,i n ) oder (2) Π=JO T =(π 1 π 2...π n ),wobeiπ μ die Position von Auftrag A μ ist. Schedule: Bearbeitungsendzeitpunkte C i werden erfasst: zu (1): (C i1 C i2...c i n) oder zu (2): (C 1 C 2...C n ) Daneben wird mit dem Graphen G(JO) und mit dem Ganttdiagramm gearbeitet. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 14

Pläne und Schedules für Parallelmaschinenprobleme Generell: B-Modell ineffizient, weil die Matrizen zu schwach besetzt sind. Plan: Wird durch die Matrix JO = (jo ij ) beschrieben, wobei jo ij Maschine M j bezeichnet. den i-ten Auftrag auf Schedule: Wird durch die Matrix C =(c ij ) beschrieben, wobei c ij die Fertigstellungszeit des i-ten Auftrags auf Maschine M j bezeichnet. Bemerkung: In der Literatur werden Schedules auch durch die Startzeiten der einzelnen Operationen beschrieben. Oftmals wird nicht zwischen Plänen und Schedules unterschieden, so dass auch Pläne als Schedules verwendet werden. Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel & Frank Werner Folie 15