Optimierte Steuerung von Logistikprozessen
Simulationsbasierte Optimierung auf Basis leistungsfähiger Open Source Simulation

Torsten Hildebrandt und Bernd Scholz-Reiter

Optimierte, an die Besonderheiten eines Logistiksystems angepasste Prioritätsregeln für die Reihenfolgeplanung sind eine neue Möglichkeit für eine bessere Zielerreichung in logistischen Prozessen. Dieser Beitrag stellt die Simulationsbibliothek jasima vor, deren Effizienz und leichte Anpassbarkeit es ermöglicht, auch für komplexe Szenarien derartige Regeln zu erstellen. Es werden die Möglichkeiten der Simulationsbibliothek und Potentiale optimierter Prioritätsregeln am Beispiel der Halbleiterfertigung vorgestellt.

Nicht zuletzt im Rahmen der Diskussion um die vierte industrielle Revolution, kurz Industrie 4.0 [1], rückt auch das Thema Ablaufsimulation industrieller Prozesse wieder verstärkt in den Fokus. In dieser neuen Evolutionsstufe der Industrialisierung entsteht mit der breiten Anwendung des Internets der Dinge und Dienste die Möglichkeit, Maschinen, Lager und andere Betriebsmittel lokal wie global miteinander zu vernetzen. Die entstehenden Cyber-Physischen Systeme erlauben es, der Vision einer Smart Factory nahe zu kommen. 

In der Industrie 4.0 soll es unter anderem möglich werden „[…] alle Produktionsschritte zu simulieren und in ihrer Abhängigkeit zum Produktionsprozess darzustellen: die Simulation der Bestandsreichweite, des Transports und der logistischen Abwicklung, die Ermittlung des Verwendungsnachweises der bereits verbauten Teile, aber auch Informationen aus dem Haltbarkeitsmanagement.“ [2]. Gleichzeitig wird auch der bisher noch geringe Einsatz entsprechender Simulationstechniken insbesondere in KMU attestiert [2]. Materialfluss- und Ablaufsimulation ist somit ein wichtiges Werkzeug, um die Planung und den Betrieb logistischer Systeme zu unterstützen [2]. Sowohl auf operativer, taktischer als auch strategischer Ebene kann mittels Simulation die Auslegung und der Betrieb logistischer Prozesse quantitativ unterstützt werden, um basierend auf einer realitätsnahen Abbildung des Auftragsdurchlaufs durch ein Logistiksystem wichtige Kenngrößen wie Kosten, Durchsätze, Termintreue, Durchlaufzeiten oder auch Bestände ermitteln zu können. Ein Werkzeug hierzu stellt die Simulationsbibliothek jasima (Java Simulator for Manufacturing and logistics, [3]) dar. Neben einer kurzen allgemeinen Beschreibung werden im Folgenden als zwei konkrete Einsatzmöglichkeiten die Erzeugung optimierter Prioritätsregeln und ihr Einsatz als Komponente individueller Planungs- und Entscheidungsunterstützungssysteme vorgestellt.


Bild 1: Simulationsexperimente werden in Eclipse geplant und durchgeführt

Eclipse-Integration 

jasima stellt ein Werkzeug dar, um Ablaufsimulationen zu erstellen. Simulationsexperimente bilden komplexe dynamische Prozesse ab und erlauben die Analyse eines Logistiksystems und seiner Komponenten. Dies schafft eine solide Datengrundlage zur Auslegung eines Systems und seiner Prozesse. Die relevanten Zielgrößen können so optimiert und bei der Auslegung berücksichtigt werden.

Die Benutzung von jasima erfolgt normalerweise innerhalb der Java-Entwicklungsumgebung Eclipse, die hierzu über ein zusätzliches Plugin erweitert wird. Vorteil dieses Ansatzes ist es, auf bestehende Funktionen einer weit verbreiteten Java-Entwicklungsumgebung aufbauen zu können. Somit lassen sich z. B. leistungsfähige Werkzeuge zur Versionsverwaltung und Team-Unterstützung auch für Simulationsprojekte nutzen. Wie in Bild  1 dargestellt, ermöglicht das Plugin die Definition von Simulationsexperimenten. Die so parametrisierten Simulationen können anschließend ausgeführt und ihre Ergebnisse analysiert werden.
 

Experimente und Ergebnis-Analyse in Excel 

Um die Auswirkungen bestimmter Parametereinstellungen, z. B. in Sensitivitätsanalysen, untersuchen zu können, lassen sich jasima-Experimente alternativ auch bequem in Excel-Dateien planen und definieren. Die Ergebnisse der Experimente werden ebenfalls in Form von Excel-Dateien gespeichert und können anschließend in einer vertrauten Software analysiert und graphisch aufbereitet werden. Nur für komplexe Konfigurationen und Anpassungen sind Programmierkenntnisse in Java von Vorteil. 
 

Simulationsbasierte Reihenfolgeplanung 

Die Funktionalität und Effizienz von jasima ermöglichen die Analyse und Optimierung auch komplexer Entscheidungsprobleme in großen logistischen Szenarien, die mit anderen Simulationsumgebungen nicht oder nur sehr schwierig lösbar sind. Als Bespiel sei im Folgenden die Entwicklung optimierter Prioritätsregeln zur Reihenfolgeplanung im Bereich der Fertigungsfeinplanung näher aufgeführt. Speziell an die Besonderheiten einer Fertigung angepasste Regeln erlauben es, deutlich höhere Termintreue oder auch kürzere Durchlaufzeiten zu erreichen. 

Grundsätzlich stellen Prioritätsregeln Formeln dar, mit deren Hilfe wartenden Aufträgen ein Prioritätswert zugeordnet wird. Jedes Mal, wenn eine Maschine frei wird, wählt sie unter den startbaren Aufträgen, den mit der höchsten berechneten Priorität aus und bearbeitet ihn als nächstes. Es gibt eine Reihe von Standard-Prioritätsregeln [3], die zur Reihenfolgeplanung breite Anwendung finden; angefangen von sehr einfachen Regeln wie First Come First Serve (der am längsten wartende Auftrag wird gestartet) über die kürzeste Bearbeitungszeitregel (der Auftrag mit der kürzesten Bearbeitungszeit auf der aktuellen Maschine wird zuerst gestartet) bis hin zu komplexeren Berechnungen, in die eine Reihe von Größen einfließen.


Bild 2: Ergebnisse optimierter Priorit.tsregeln (rot)
vs. beste Standardregeln (grün und blau) für
verschiedene Auslastungen und Produktmixe. [7].

 

Prioritätsregeln für die Halbleiterfertigung

Als Beispiel für die Erstellung optimierter Prioritätsregeln mittels jasima sei hier ein Szenario aus dem Bereich der Halbleiterfertigung aufgeführt. Die Halbleiterfertigung stellt unter Aspekten der Produktionsplanung und –steuerung durch verschiedene Charakteristika ein schwieriges Anwendungsfeld dar, in dem sehr häufig zur Reihenfolgeplanung auf Prioritätsregeln zurückgegriffen wird [5,6]. Die im Folgenden dargestellten, mittels jasima erzielten Ergebnisse basieren auf Arbeiten, die in [7] erstmals vorgestellt wurden. Im betrachteten System werden sieben Produkte in zwei unterschiedlichen Prozessflüssen hergestellt, es handelt sich um eine Fließfertigung. Zur Fertigung der Produkte stehen 36 Maschinen zur Verfügung, die in 31 Maschinengruppen angeordnet sind. Zur Fertigung eines Produkts sind bis zu 92 Arbeitsschritte notwendig. Die Komplexität des Szenarios wird zusätzlich dadurch unterstrichen, dass es neben reentranten Prozessen (zur Fertigung eines Produkts müssen die gleichen Maschinen mehrfach durchlaufen werden) auch Maschinen mit reihenfolgeabhängigen Rüstzeiten und sogenannte Batchmaschinen gibt. Bei Batchmaschinen ist es möglich, mehrere Aufträge nach bestimmten Kriterien zur Bearbeitung zusammenzufassen. Aus Sicht der Reihenfolgeplanung gibt es also die zusätzliche Entscheidung, einen Batch ggf. bereits halbvoll zu starten (was die Kapazität nicht voll ausschöpft und nachfolgend eintreffende Aufträge eventuell verzögert), oder aber noch zu warten, um erst nach der Ankunft weiterer Aufträge den Batch zu starten (dies verzögert in jedem Fall die bereits wartenden Aufträge, mit deren Bearbeitung sofort begonnen werden könnte).

Durch die Möglichkeit, mit jasima sehr effizient Simulationen durchzuführen, wurde es möglich die sogenannte Genetische Programmierung (GP), ein Optimierungs- Verfahren aus dem Bereich der Evolutionären Algorithmen, zusammen mit einer Fertigungssimulation einzusetzen. Durch Kopplung von jasima mit einer GP-Software wurde untersucht, inwieweit sich verbesserte Prioritätsregeln auch für komplexe Fertigungsszenarien entwickeln lassen. Auf eine detaillierte Beschreibung des Vorgehens muss an dieser Stelle aus Platzgründen verzichtet werden, der interessierte Leser sei hierzu auf [7] verwiesen. 

Die hierdurch erreichbaren Verbesserungen sind in Bild 2 dargestellt. Hierbei steht jeder Balken für die mittlere Verspätung, die eine bestimmte Regel bei einer bestimmten Kombination aus Produktmix und Auslastung der Fertigung erzielt. Die roten Balken sind jeweils Regeln, die automatisch entwickelt wurden. Grüne und blaue Balken stellen die besten Standard-Regeln (ausgewählt aus einer weit größeren Menge an getesteten Standard-Regeln aus der Literatur) für die jeweiligen Einstellungen dar. Wie in der Abbildung ersichtlich, lassen sich mithilfe der Kopplung der Genetischen Programmierung mit jasima-Simulationen Regeln finden, die deutlich bessere Ergebnisse liefern als bekannte Standard-Regeln. Diese erwiesen sich darüber hinaus als überraschend robust gegenüber Änderungen der Rahmenbedingungen. Die ursprünglich für die Szenarien hohe Auslastung und einen Produkt-Mix 30/70 (Teilbild unten links in Bild 2) entwickelten Regeln liefern ohne weitere Anpassungen auch für die anderen untersuchten Kombinationen aus Produktmix und Auslastung die besten Ergebnisse.

Diese Weiterentwicklung simulationsbasierter Optimierung, bei der bisher üblicherweise nur einzelne Parameter und nicht komplexe Komponenten wie Prioritätsregeln angepasst und optimiert werden, wird im Wesentlichen ermöglicht durch die hohe Geschwindigkeit und Anpassbarkeit von jasima. Nicht von ungefähr findet sich in einer aktuellen Übersichts-
analyse von Ansätzen und Verfahren zur Verbesserung regelbasierter Reihenfolgeplanung im Bereich der Halbleiterfertigung die Aussage: „To the author’s best knowledge, [7] is the only study that utilized GP to construct rules for scheduling of the entire fab.“[8] Diese sehr guten Ergebnisse konnten zwischenzeitlich sogar nochmals leicht verbessert werden. Dadurch, dass nicht nur eine einzelne Regel für alle Maschinen entwickelt wird, sondern zusätzlich noch die Möglichkeit besteht, auf jeder Maschine eine andere Regel auszuwählen, sind nochmalige Verbesserungen möglich. Dieses in [9] näher beschriebene zweistufige Verfahren verwendet ebenfalls jasima zur performanten Ablaufsimulation.


Bild 3: Echtzeitvisualisierung einer Fertigung basierend auf jasima-Simulation.

Werkzeuge zur Planung und Entscheidungsunterstützung

Das im vorigen Abschnitt beschriebene Finden optimierter Prioritätsregeln zur Reihenfolgeplanung stellt eine neue Möglichkeit dar, wie mittels Simulationseinsatz die Systemauslegung auf taktischer und strategischer Ebene quantitativ unterstützt werden kann. Darüber hinaus kann Simulation aber auch ein wichtiger Bestandteil operativer Planungs- und Entscheidungsunterstützungssysteme darstellen [10]. Eine derartige Nutzung ist auch mit jasima möglich. Als Simulationsbibliothek kann sie einfach in weitere Anwendungen integriert werden und dann dazu dienen, auf Basis aktueller Daten die Auswirkungen bestimmter operativer Entscheidungen realitätsnah zu bewerten und somit die jeweils beste Entscheidungsalternative auszuwählen.

Eine einfache Beispielanwendung hierzu ist in Bild 3 dargestellt. Hierbei wurde eine Oberfläche entwickelt, um verschiedene Daten einer im Hintergrund ablaufenden Fertigungssimulation darzustellen. Auswirkungen durch die aktuelle Auftragslage können so unter Berücksichtigung der verwendeten Prioritätsregeln detailgetreu dargestellt werden. Basierend auf der Simulation als Kern einer solchen Anwendung können je nach Bedarf sehr flexibel die gewünschten Informationen erhoben und geeignet präsentiert werden. Beispiel für eine solche Darstellung kann etwa ein sich dynamisch entsprechend des Simulationsfortschritts aufbauendes Gantt-Diagramm sein.
 

Flexibel, schnell, Open Source 

In diesem Beitrag wurden einige Funktionen der am BIBA entwickelten Simulationsbibliothek jasima (Java Simulator for Manufacturing and Logistics, [3]) präsentiert. Als Beispiel einer neuen Anwendung, die durch eine solche hochperformante, leicht integrier- und anpassbare Lösung zur Ablaufsimulation ermöglicht wird, wird die Entwicklung individueller, automatisch erzeugter Prioritätsregeln zur kurzfristigen Reihenfolgeplanung für eine komplexe Fertigung aus dem Bereich der Halbleiterherstellung vorgestellt. Die so entwickelten Regeln erzielen eine deutlich höhere Termintreue als Standardregeln, die normalerweise in diesem Bereich zum Einsatz kommen. Diese Weiterentwicklung simulationsbasierter Optimierung wird erst durch die gute Skalierbarkeit, hohe Ausführungsgeschwindigkeit von Simulationen und die gute Anpassbarkeit ermöglicht. 

jasima kann es gemäß den Maßgaben der GPL (GNU General Public License) von allen Interessenten zur Durchführung eigener Simulationsstudien oder auch als Simulationskomponente zur Unterstützung von Planungs- und Steuerungsentscheidungen in Logistikprozessen frei genutzt werden. Entsprechend der Open Source-Idee würden sich die Autoren freuen, wenn evtl. Weiterentwicklungen im Rahmen des Einsatzes von jasima auch wieder in zukünftige Versionen der Software zurückfließen und somit die Einsatzmöglichkeiten künftig noch weiter verbessert werden.

 

Schlüsselwörter:

Simulation, Optimierung, Reihenfolgeplanung, Produktionssteuerung

Literatur:

[1] acatech – Deutsche Akademie der Technikwissenschaften e.V. (Hrsg.): Umsetzungsempfehlungen für das Zukunftsprojekt Industrie 4.0 (Abschlussbericht des Arbeitskreises Industrie 4.0), Frankfurt(M.) 2013.
[2] Kuhn, A. (Hrsg.): Simulation in Produktion und Logistik. Springer 1998.
[3] Jasima: Projekt-Homepage. URL: http://jasima.googlecode.com/, Abrufdatum 23.08.2013
[4] Haupt, R.: A survey of priority rule-based scheduling. In: OR Spektrum 11 (1989) 1, S. 3–16.
[5] Pfund, M.E.; Mason, S.J.; Fowler, J.W.: Semiconductor manufacturing scheduling and dispatching. In: Handbook of Production Scheduling. New York 2006, S. 213–241.
[6] Mönch, L.; Fowler, J.; Mason, S.: Production Planning and Control for Semiconductor Wafer Fabrication Facilities. New York 2013.
[7] Pickardt, C.; Branke, J.; Hildebrandt, T.; Heger, J.; Scholz-Reiter, B.: Generating dispatching rules for semiconductor manufacturing to minimize weighted tardiness. In: Proc. of the 2010 Winter Simulation Conference, S. 2504–2515.
[8] Chiang, T.-C.: Enhancing rule-based scheduling in wafer fabrication facilities by evolutionary algorithms: Review and opportunity. In: Computers & Industrial Engineering 64 (2013) 1, S. 524-535.
[9] Pickardt, C.; Hildebrandt, T.; Branke, J.; Heger, J.; Scholz-Reiter, B.: Evolutionary generation of dispatching rule sets for complex dynamic scheduling problems. In: International Journal of Production Economics 145 (2013) 1, S. 67-77.
[10] Feldmann, K.; Reinhart, G. (Hrsg.): Simulationsbasierte Planungssysteme für Organisation und Produktion. Berlin, Heidelberg 2000.