Produktionslogistik Absatzplanung (Demand Planning) Planung der Fertigungsanlagen (Fabrik Design) Produktionsplanung Produktionssteuerung (Scheduling) Materialfluss (Suppy Chain Management) Lagerhaltung Controlling
Produktionssteuerung Einführung Klassifikation Algorithmen Exakte Verfahren Heuristische Verfahren Mehrfache Zielsetzung bei der Optimierung Beispiel Fertigungsleitstand
Die Bildung einer optimalen Produktionsreihenfolge (bzw. eines Zeitplans) gehört zu den schwierigsten kombinatorischen Problemen. Die Anzahl der Kombinationen wächst mit der Fakultät. Die Zahl der Kombinationen für n Aufträge auf m Maschinen ist: (n!) m Anzahl Kombinationen Rechenzeit bei 1us/Kombination Zum Vergleich Aufträge 1 Maschine 10 Maschinen 1 Maschine 10 Maschinen 10 3.628.800 4,0 10 65 3,6 sec 1,3 10 52 Jahre 20 2,4 10 18 7,3 10 183 77147 Jahre 2,3 10 170 Jahre 100 9,3 10 157 5,0 10 1580 3,0 10 144 Jahre 1,6 10 1567 Jahre 500 1,2 10 1135 7,3 10 11341 3,8 10 1121 Jahre 2,3 10 11328 Jahre Das Universum enthält ca. 10 79 Atome und ist ca. 1.5 * 10 10 Jahre bzw. 4,7 * 10 17 Sekunden alt. 1000 4,0 10 2568 1,1 10 25677 1,3 10 2555 Jahre 3,5 10 25663 Jahre Die vollständige Enumeration aller Kombinationen und deren Bewertung auf Optimalität ist nur für sehr kleine Probleme in annehmbarer Rechenzeit durchzuführen.
Für die Erstellung eines Schedules (Zeitplans) können drei Ebenen unterschieden werden. Ebene A : Scheduling im Vorfeld der Produktion Die Aufträge werden lange vor Beginn der Fertigung zeitlich meist grob terminiert. Dieses Scheduling wird meist regelmäßig (z.b. wöchentlich oder monatlich) mit einem Horizont von mehreren Wochen durchgeführt. Ebene B : Scheduling bei Auftragsfreigabe für Produktion Der Beginn der Produktion steht demnächst bevor und damit ist der Zustand der Produktion recht gut bekannt. Die Aufträge werden zeitlich genau terminiert. Ebene C : Scheduling (bzw. Dispatching) in der Fertigung in Realzeit Die Produktion ist ein dynamisches System mit vielen Störungen und Veränderungen. Der Schedule der Auftragsfreigabe kann meist nicht exakt eingehalten werden. Das Scheduling in der Produktion muss in Realzeit (innerhalb weniger Minuten bzw. Sekunden) durchgeführt werden. Die Erstellung eines Schedules auf einer Ebene kann Einflüsse auf die Schedules auf den darunter und darüber liegenden Ebenen haben. Während die Ebenen A und B planend bzw. vorhersagend arbeiten, ist die Ebene C hauptsächlich auf die Reaktion auf Störungen ausgelegt.
Die zeitliche Abfolge der Aufträge auf Maschinen kann grafisch in Gantt- Diagrammen (Balkendiagrammen) dargestellt werden. = 1 J i ( i = 1,..., n) Gegeben seinen m Maschinen M j ( j,..., m, ) die n Aufträge, zu bearbeiten haben. Maschinensicht M 1 M 2 M 3 J 1 J 3 J 4 J 1 J 2 J 1 J 3 J 3 J 2 Zeit Ein Schedule (Zeitplan) ist eine Zuordnung der Aufträge zu den Maschinen mit Anfangs- und Endezeitpunkten der Bearbeitung auf jeder Maschine. Auftragssicht J 1 M 1 M 2 J 2 J 3 M 2 M 3 M 3 M 1 M2 M 1 Der Schedule kann sowohl aus der Sicht der Maschinen als auch aus der Sicht der Aufträge dargestellt werden. J 4 M 1 Zeit Gantt : Benannt nach Henry Gantt, der 1890 das Grundprinzip entwickelte.
In einem Schedule sind die Abhängigkeiten der Aufträge von den frühesten Anfangs- und spätesten Endezeitpunkten der Arbeitsschritte und von den Maschinen zu berücksichtigen. Ein Auftrag i besteht aus einer Anzahl n i von Arbeitsschritten O i,1,... O i,ni. Jeder Arbeitsschritt kann auf einer oder mehreren Maschinen M 1... M m ausgeführt werden. Dies entspricht einer Assoziation jedes Arbeitsschrittes zu einer Menge von Maschinen. τ i j { M M }, 1 K m Dedizierte Maschine : Die Assoziation enthält eine Maschine. Parallele Maschinen : Die Assoziation enthält mehrere (im Extremfall alle) Maschinen. Die Bearbeitungszeit h i,j,m eines Arbeitsschrittes ist im allgemeinen Fall von dem Auftrag, dem Arbeitsschritt und der Maschine abhängig. Ein Auftrag kann mit einem frühesten Anfangszeitpunkt und einem spätesten Endezeitpunkt versehen sein (Release Date, Due Date). Ein Schedule wird als machbar bezeichnet, wenn keine Überlappung der Arbeitsschritte auf einer Maschine auftreten und die Anfangs- und Endezeitpunkte eingehalten wurden. Die Güte eines Zeitplans wird mit einer Optimierungsfunktion f i (oft auch Kostenfunktion genannt) beurteilt.
Klassifizierung nach Graham et al. Die Scheduling-Probleme können nach Graham et al. in drei Kategorien klassifiziert werden: Maschinencharakeristiken, Auftragscharakteristiken und Optimierungscharakteristiken. Maschinencharakeristiken Assoziation der Bearbeitungsschritte zu den Maschinen Identische Maschinen: Die Maschinen sind identisch bezüglich der Bearbeitungszeiten. Einheitliche Maschinen: Die Bearbeitungszeit auf einer Maschine hängt von der Geschwindigkeit dieser Maschine ab. (h i,i,m = h i,,j * a m ) Unterschiedliche Maschinen: Die Bearbeitungszeiten sind unabhängig (allgemeiner Fall). Anzahl zur Verfügung stehender Maschinen an einem Arbeitsschritt Dediziert: Es steht an jedem Bearbeitungsschritt genau eine Maschinen zur Verfügung. Mehrere: Es stehen bei einem Bearbeitungsschritt mehrere Maschinen zur Verfügung. Alle: Es stehen bei einem Bearbeitungsschritt alle Maschinen zur Verfügung.
Klassifizierung nach Graham et al. Auftragscharakteristiken Unterbrechung Die Bearbeitung eines Arbeitsschrittes kann unterbrochen werden. Zu einem späteren Zeitpunkt wird die Bearbeitung wieder aufgenommen. Mehrfache Unterbrechungen sind möglich. Präzedenz Gegenseitige Abhängigkeiten der Aufträge oder der Arbeitsschritte? Auftragsbezogen Ein Auftrag muss abgeschlossen sein, bevor ein anderer Auftrag angefangen werden kann. Bezogen auf Arbeitsschritte Es bestehen Abhängigkeiten eines Arbeitsschrittes zu einem anderen Arbeitsschritt aus dem gleichen oder einem anderen Auftrag. Anfangszeitpunkt Für einen Auftrag ist ein frühest möglicher Anfangszeitpunkt gegeben. Endezeitpunkt Für einen Auftrag ist ein spätester Endezeitpunkt gegeben.
Klassifizierung nach Graham et al. Optimierungscharakteristiken Es sei c i das Bearbeitungsende, d i der späteste Endezeitpunkt und f i (c i ) die Kosten von Auftrag J i. Die Optimierung geschieht nach einer der Kriterien: Bearbeitungsende (Finish Time) g = ( ) f c i i i Einhaltung Bearbeitungsende (Lateness) Verfrühung (Earliness) Verspätung (Tardiness) Absolute Abweichung (Absolute Deviation) gi = ci di { 0 } g = max, d c i i i { 0 } g = max, c d i i i gi = ci di Quadrierte Abweichung (Squared Deviation) Einheitliche Strafe (Unit Penalty) ( ) g = c d g i i i i 0 = 1 Für die Bewertung wird dann das Minimum γ = max g i, die Summe γ = g i oder die gewichtete Summe γ = wg i i der Aufträge herangezogen. ( ) 2 ( d ) if c i sonst i
Die Scheduling Verfahren können grob in analytische und regelbasierte Verfahren eingeteilt werden. Scheduling Verfahren Analytische Verfahren Regelbasierte Verfahren Exakte Verfahren Approximative Verfahren Heuristische Suchverfahren Dispatching (Simulation) Gradientenverfahren Entscheidungsbaum Verfahren Dyn. Planungsrechnung Branch&Bound Begrenzte Enum. Simulated Annealing Tabu Search Stochastische Suchverfahren Genetische Algorithmen Wissensbasiertes Scheduling
Exakte Verfahren sind nur für sehr wenige und einfache Konfigurationen bekannt. In der Regel sind Scheduling-Probleme NP-hart. Für einige Anordnungen wurden polynomiale Algorithmen gefunden. In der industriellen Praxis spielen die exakten Verfahren keine Rolle, da die Einschränkungen zu stark oder die Anzahl Aufträge bzw. Maschinen zu groß sind. Bespiele für exakt lösbare Anordnungen: Bearbeitung von n Aufträgen auf zwei Maschinen und Minimierung der Gesamtbearbeitungszeit. (Bei drei Maschinen muss Maschine 2 dominieren, ansonsten ist das Problem NP-hart.) Lösung mit Johnson-Algorithmus. Komplexität : n log(n) Bearbeitung von n Aufträgen, mit unterschiedlichen Bearbeitungszeiten, auf m identischen Maschinen und Minimierung der Summe der Durchlaufzeiten. Lösung durch sortieren der Aufträge nach der Länge der Bearbeitungszeit. Komplexität n log (n) Bearbeitung von n Aufträgen, mit unterschiedlichen Bearbeitungszeiten, auf m identischen Maschinen und Minimierung der gewichteten Summe der Durchlaufzeiten. Komplexität : Exponentiell mit der Gesamtbearbeitungszeit. Solche und ähnliche Systeme sind in der Literatur ausführlich untersucht worden. Die Literatur geht zurück bis in die 50er Jahre.
Johnson-Algorithmus Ein exaktes Schedulig-Verfahren. Berechnung der optimalen Bearbeitung von n Aufträgen auf zwei Maschinen, wobei die Bearbeitungsreihenfolge für alle Aufträge die gleiche ist (d.h. jeder Auftrag durchläuft zuerst die eine und dann die andere Maschine). Es sei a i die Bearbeitungszeit für Auftrag i auf Maschine 1 und b i auf Maschine 2. Bestimmung der optimalen Reihenfolge der Aufträge: Bestimme die minimale Bearbeitungszeit (a 1..a n, b 1..b n ) Ist das Minimum auf der ersten Maschine (a i ) dann setze den Auftrag an die erste Stelle der Reihenfolge. Ist das Minimum auf der zweiten Maschine (b i ) wird der Auftrag an das Ende gesetzt. Streiche die Durchlaufzeiten a i und b i. Wiederhole den Ablauf, bis alle Aufträge zugeordnet sind. Für den Nachweis der Optimalität dieses Algorithmus sei auf die Literaturstelle Dück, 1972, verwiesen.
Johnson-Algorithmus Beispiel Beispiel: 9 Aufträge und 2 Maschinen Bearbeitungszeit in Stunden. Auftrag 1 2 3 4 5 6 7 8 9 Maschine 1 13 7 15 23 9 12 4 19 8 Maschine 2 5 11 24 16 12 3 19 7 18 Reihenfolge der Aufträge Reihenfolgenummer 1 2 3 4 5 6 7 8 9 Auftrag Maschine 1 Beginn Maschine 1 Ende Maschine 2 Beginn Maschine 2 Ende Gantt-Diagramm M1 M2 0 10 20 30 40 50 60 70 80 90 100 110 120 Zeit (Stunden)
Bei den approximativen Verfahren werden exakte Verfahren verändert, so daß komplexere Probleme lösbar sind. Für diese veränderten Verfahren ist die Optimalität der Lösung nicht mehr garantiert. Es soll das Näherungsverfahren von Petrow dargestellt werden, bei dem n Aufträge auf m Maschinen bearbeitet werden. Es sei h ij die Bearbeitungszeit von Auftrag i auf Maschine j. Algorithmus von Petrow: Bilde die Größen T T i1 i2 = = e j = 1 m h ij h j= e+ 1 ij m e = 2 m + 1 2 ; m gerade ; m ungerade Falls nicht bei jedem Auftrag eine Bearbeitung auf allen Maschinen stattfindet, so wird ein Mittelwert gebildet, indem durch die Anzahl tatsächlich auszuführender Bearbeitungen dividiert wird. T i1 Ti 1 Ti = und T i2 = s s i1 2 i2 Bilde die Differenzen Ti2 Ti1 (bzw. Ti2 Ti1) und ordne die Differenzen nach kleiner werdenen Werten. Dies entspricht der Reihenfolge.
Approximative Verfahren Das Näherungsverfahren von Petrow wird an einem Beispiel dargestellt. Beispiel: 5 Aufträge und 5 Maschinen Maschine Modifiziert Auftrag 1 2 3 4 5 Ti1 Ti2 Ti2 - Ti1 Ti1 Ti2 Ti2 - Ti1 1 0 13 19 6 15 2 4 10 0 19 18 3 13 0 0 23 5 4 10 0 15 0 7 5 6 17 0 8 22 Bearbeitungszeit in Stunden. M 5 M 4 M 3 M 2 M 1 0 10 20 30 40 50 60 70 80 90 100 110 Zeit (Stunden)
Die oft gegensätzlichen Zielsetzungen von Scheduling-Problemen müssen bei einer Optimierung gemeinsam berücksichtigt werden. Die üblichen Ansätze für eine Optimierung mit mehreren Zielsetzungen sind : Prioritäten der Ziele Wenn die höchstpriore Zielsetzung optimal erfüllt ist, dann wird die nächstpriore Zielsetzung optimiert, ohne die höher priore Zielsetzung zu verschlechtern. Gewichtung der Ziele Normierung der Ziele Die quantitativen Bewertungen der Ziele werden auf eine gemeinsame Skala gebracht, indem sie normiert werden. Gewichtete Summierung Die normierten Ziele können dann gewichtet aufsummiert werden. Goal Programming Für jede Zielsetzung wird ein gewünschter Wert angegeben, der mindestens erreicht werden soll. Es werden die Abweichungen von dem gewünschten Wert gemessen und bewertet. (Es kann wieder nach Prioritäten oder mit einer Gewichtung vorgegangen werden.)
In einer Simulation werden Regeln angewendet (engl. Dispatching Rules), um die Entscheidungen an den Maschinen zu treffen. Die am meisten angewendeten Regeln sind : First-In, First-Out (FIFO) order auch First-Come, First-Serve (FCFS) FIFO ist die elemtarste Regel. Die Aufträge werden in der Reihenfolge ihres Eintreffens an der Maschine bedient. FIFO zeigt gutes Verhalten für die Varianz der Durchlaufzeiten. FIFO ist schlecht, wenn es um die Einhaltung des Endezeitpunktes geht. Earliest Due Date (EDD), Operation Due Date (OPNDD) Es wird der Auftrag mit dem frühesten Endezeitpunkt ausgewählt. EDD minimiert in einem Ein- Maschinensystem die Verspätung. Shortest Processing Time (SPT), Shortest Imminent Processing Time (SI) Es wird der Auftrag mit der kürzesten Rest-Bearbeitungszeit ausgewählt. SPT minimiert in einem Ein- Maschinensystem die mittlere Durchlaufzeit. Bei SI wird lediglich der folgende Arbeitsschritt mit betrachtet. Slack (Schlupf), Slack per Operation Es wird der Auftrag ausgewählt, der die kleinste Reservezeit hat. Schlupf = Endezeitpunkt - jetziger Zeitpunkt - verbleibende Bearbeitungszeit Critical Ratio (CR), Critical Ratio per Operation Es wird der Auftrag ausgewählt, der die relativ kleinste Reservezeit hat. Critical Ratio = (Endezeitpunkt - jetziger Zeitpunkt) / verbleibende Bearbeitungszeit CR minimiert die Varianz der Verspätung.
Fertigungsleitstände werden hauptsächlich in der Umgebung von Werkstattfertigung eingesetzt. Historische Entwicklung : 1890 Henry Gantt entwickelt das Grundprinzip (Gantt-Diagramm) seit 1920 Einsatz von Plantafeln 1980 Erste elektronische Feinplanungssysteme werden entwickelt 1985 Erste Fertigungsleitstände werden in Deutschland angeboten Funktionalität : Übernahme der freigegebenen Aufträge von dem Produktionsplanungs-System (PPS). Interaktive grafische Ünterstützung der Feinplanung. Integration von Betriebsdatenerfassungs-Geräten (BDE). Verwaltung von Ressourcen. (Werkzeuge, NC-, CNC-Programme) LAN Produktions Planungs- System Leitstand Die Feinplanung wird meist mit einer Simulation oder leicht abgewandelten Methoden (Vorwärts- / Rückwärtsterminierung) durchgeführt. Schedule verwalung Werkzeugverwaltung NC-, CNC- Programm-
Literatur Hopp, Wallace J.; Spearman, Mark L.; Factory Physics; Mc Graw Hill; ISBN 0-256-24795-1 Brucker, Peter; 1995; Scheduling Algorithms; ISBN 3-540-60087-6; Springer Verlag Dück, W.; Bliefernich M.; 1972; Operationsforschung 3; VEB Deutscher Verlag der Wissenschaften. Graham, R.E.; Lawler, E.L.; Lenstra, J.K.; Rinnooy Kan, AHG; 1979: Optimization and approximation in deterministic sequencing and scheduling: a survey; Ann. Disctrete Math. 4, 287-326 Neumann, K.; 1975; Operations Research Verfahren, Band I; Carl Hanser Verlag
Johnson-Algorithmus Beispiel: 9 Aufträge und 2 Maschinen Bearbeitungszeit in Stunden. Auftrag 1 2 3 4 5 6 7 8 9 Maschine 1 13 7 15 23 9 12 4 19 8 Maschine 2 5 11 24 16 12 3 19 7 18 Reihenfolge der Aufträge Reihenfolgenummer 1 2 3 4 5 6 7 8 9 Auftrag 7 2 9 5 3 4 8 1 6 Maschine 1 Beginn 0 4 11 19 28 43 66 85 98 Maschine 1 Ende 4 11 19 28 43 66 85 98 110 Maschine 2 Beginn 4 23 34 52 64 88 104 111 116 Maschine 2 Ende 23 34 52 64 88 104 111 116 119 Gantt-Diagramm M1 4 7 8 9 15 23 19 13 12 M2 19 11 18 12 24 16 7 5 3 0 10 20 30 40 50 60 70 80 90 100 110 120 130 Zeit (Stunden)
Das Näherungsverfahren von Petrow wird an einem Beispiel dargestellt. Beispiel: 5 Aufträge und 5 Maschinen Maschine Modifiziert Auftrag 1 2 3 4 5 Ti1 Ti2 Ti2 - Ti1 Ti1 Ti2 Ti2 - Ti1 1 0 13 19 6 15 32 21 11 16,0 10,5 5,5 2 4 10 0 19 18 14 37-23 7,0 18,5-11,5 3 13 0 0 23 5 13 28-15 13,0 14,0-1,0 4 10 0 15 0 7 25 7 18 12,5 7,0 5,5 5 6 17 0 8 22 23 30-7 11,5 15,0-3,5 Bearbeitungszeit in Stunden. Reihenfolge der Aufträge 2-3-5-1-4 Reihenfolge der Aufträge 2-5-3-4-1
Das Näherungsverfahren von Petrow wird an einem Beispiel dargestellt. Beispiel: 5 Aufträge und 5 Maschinen Maschine Modifiziert Auftrag 1 2 3 4 5 Ti1 Ti2 Ti2 - Ti1 Ti1 Ti2 Ti2 - Ti1 1 0 13 19 6 15 32 40 8 16,0 13,3-2,7 2 4 10 0 19 18 14 37 23 7,0 18,5 11,5 3 13 0 0 23 5 13 28 15 13,0 14,0 1,0 4 10 0 15 0 7 25 22-3 12,5 11,0-1,5 5 6 17 0 8 22 23 30 7 11,5 15,0 3,5 Bearbeitungszeit in Stunden. Reihenfolge der Aufträge 2-3 -1-5 -4 Reihenfolge der Aufträge 2-5 -3-4 -1
Gantt-Diagramme Reihenfolge der Aufträge 2-3 -1-5 -4 M 5 M 4 M 3 M 2 M 1 0 10 20 30 40 50 60 70 80 90 100 110 Zeit (Stunden) Reihenfolge der Aufträge 2-5 -3-4 -1 M 5 M 4 M 3 M 2 M 1 0 10 20 30 40 50 60 70 80 90 100 110 Zeit (Stunden)