Das Schlagwort Softwareoptimierung verursacht häufig und nicht zu Unrecht negative Assoziationen: Begriffe wie Betriebsunterbrechung, Logistikstopp, Kostenintensivität poppen auf. Dass es auch anders geht, nämlich exakt problembezogen, mit geringem Zeitaufwand und zu moderaten Kosten, zeigt die praxiserprobte Optimierungsmethode der Softwaremanufaktur TUP (TUP).
Autor: Reinhard Irrgang
Ein implementiertes Warehouse-Management-System bedarf immer wieder der Optimierung, und sei es noch so hochklassig und detailliert. Denn die Anforderungen beim Einsatz ändern sich ständig; sei es durch erweiterte Produktspektren, neue Kundenanforderungen, Schwankungen in der Marktnachfrage oder durch neue Bedingungen am Markt. Dabei ist es essentiell, nicht etwa das gesamte Programm pauschal und entsprechend zeit- und kostenaufwendig zu optimieren, sondern exakt nur die Bereiche und Prozesse, in denen Handlungsbedarf besteht. Dies ist wichtig, denn im täglichen Leben des Logistikers ist es entscheidend, dass eine vorgeschlagene Lösung, und damit auch eine Optimierung in annehmbarer Zeit, verifiziert wird.
Durch die professionelle Nutzung mathematischer Optimierungsverfahren lassen sich auch komplexe Planungsaufgaben lösen, automatisieren und ergebnisseitig verbessern. „Allerdings ist bei vielen Problemstellungen in der Intralogistik der Lösungsraum so groß, dass es schwierig wird, effizient optimale Lösungen zu finden“, weiß Eduard Wagner, Senior-Projekt-Manager und Mitglied der Geschäftsleitung TUP. „Daher kommen aus den Lehren der mathematischen Optimierungsverfahren ‚Operations Research‘ sogenannte Meta-Heuristiken zum Einsatz. Dies sind iterative und intelligente Algorithmen, die problemabhängig Lösungsschritte vorgeben und in angemessener Zeit zu guten Lösungen führen.“
Softwareoptimierung: eigene Forschung und Entwicklung
TUP bedient während einer solchen Optimierung zwei Welten gleichzeitig. Auf der einen Seite steht die permanent betriebene eigene Forschung und Entwicklung, auf der anderen die logistische Realität, neue Anforderungen kundengerecht und vor allem zeitnah umzusetzen. Und zwar, salopp gesagt, ohne den logistischen Betrieb länger als unbedingt nötig zu retardieren oder gar zu stoppen. Es wird daher nur an derjenigen Stellschraube optimiert, bei der tatsächlich Bedarf besteht. „Wenn Ressourcenkosten oder Absatzpreise für Produkte und Dienstleistungen sinken, muss im Gegenzug die Produktivität gesteigert werden. Dies bedeutetet entweder weniger Ressourcen bei gleichbleibendem Output einzusetzen oder die Erhöhung des Outputs bei gleichbleibendem Ressourcen-Einsatz“, erklärt Eduard Wagner das Optimierungsziel. Allerdings erfordert die Optimierung des Einsatzes von Ressourcen immer die Lösung komplexer Planungsprobleme durch den fundierten und intelligenten Einsatz von IT-Systemen.
Optimierungs-Framework für die automatisierte Lösung von Planungsproblemen
Wie Wagner betont, „fangen wir bei TUP nicht an, die Welt neu zu erfinden, sondern setzen Standard-Vorgehensweisen und einen Optimierungs-Framework ein, mit dem sich die einzelnen Schritte automatisieren und den individuellen Kundenanforderungen entsprechend in unser Warenhouse-Management-System (TUP.WMS) integrieren lassen.“ Als bekennende Java-Manufaktur verwendet TUP unter anderem den ‚OptaPlanner‘, ein Java-basiertes Open-Source-Framework für das automatisierte Lösen von Planungsproblemen.
Die Softwareentwickler von TUP, „die auch im Bereich ‚FuE‘ sehr stark engagiert sind, verwenden genau solche Frameworks, um Module zur Verfügung zu stellen, mit denen wir Planungsprobleme lösen können. Und zwar kosteneffektiv und zeitnah“, wie Wagner betont. Denn „früher war dies ein Bereich, in dem häufig externe Firmen zum Einsatz kamen, die einem für sehr viel Geld eine Black Box inklusive dazugehörigen Schnittstellen verkauften und damit zwar ein Ergebnis lieferten, aber nicht verrieten, was sie da eigentlich genau umsetzen. Diesen Support brauchen wir nicht, da wir für die Optimierung Prozessketten benötigen, die wir unter Umständen schnell anpassen und erweitern müssen“, schließt Wagner ab.
Spezifische Solver-Lösungen für Planungsprobleme
In diesem Zusammenhang bedient sich TUP abstrakt gekapselter Module, die aus der Software herausgebildet und den eigenen Kollegen intern als Service zur Verfügung gestellt werden. So lassen sich Planungsprobleme lösen, wie beispielsweise eine Kommissionsbildung, die über gewisse Zielfunktionen verfügt und dabei aber gleichzeitig Nebenbedingungen erzeugt.
Ein zentraler Bestandteil des Frameworks ist der so genannte Solver, mit dem mathematische Problemfälle gelöst werden können. Er verwendet dabei heuristische und metaheuristische Optimierungs-Algorithmen, während die Rahmenbedingungen – wie Zielfunktionen und Nebenbedingungen – individuell festgelegt werden, um möglichst effizient im Lösungsraum zu suchen.
Entwicklungs- und Optimierungsphase verlaufen dabei stets dynamisch und auch unabhängig voneinander. So lassen sich in eine Lösung jederzeit weitere Planungs- und Optimierungsschritte einbauen, ohne dass derjenige, der die betreffende Anwendung entwickelt, sich permanent mit dem Thema Optimierung beschäftigen muss. Ein enormer Fortschritt also im Vergleich zu kostspieligen Optimierungs-Black-Boxes mit starrer Monolithen-Charakteristik, die dem gesamten TUP.WMS pauschal und quasi anonym übergestülpt werden. Zudem wird den Kunden Transparenz geboten, da jederzeit darstellbar ist, wie der Solver konfiguriert ist.
Wie der Senior-Projekt-Manager Wagner weiter ausführt, führen die folgenden vier Schritte zu einem guten Optimierungsergebnis: Planungsprobleme modellieren, Score-Berechnung implementieren, Solver konfigurieren und die Optimierung durchführen.
Bei der Modellierung der Planungsprobleme wird zunächst die fachliche Fragestellung analysiert und das Ziel der Optimierung definiert. Wichtig ist, wie Wagner aus weitreichender Erfahrung weiß, „dass die Kunden die Herausforderungen verstanden haben, bevor wir über die Lösung reden. Immer wieder allerdings verdeutlicht die frühzeitige Analysearbeit einem Kunden, dass er aktuell gar nicht so weit ist, optimieren zu lassen. Auch weil seine Prozesse derzeit gar zu fragmentiert und zu detailliert sind.“
Anschließend werden die fachlich relevanten Objekte in einem Domänenmodell aus einfachen Java-Klassen abgebildet. Es wird zwischen ‚Problem Facts‘, ‚Planning Entities‘ und ‚Planning Solutions‘ unterschieden. ‚Problem Facts‘ sind etwa unveränderlich und nicht beeinflussbar, sie „sind daher frühzeitig von den Dingen zu trennen, die man beeinflussen kann“, sagt Wagner. Die ‚Planning Entities‘ beinhalten dagegen Randbedingungen der Planung, die unter Umständen veränderlich sind. Und die ‚Planning solutions‘ stehen für die eigentlichen Zielfunktionen.
Beispiele:
- Der Kommissionierweg wird in Summe über sämtliche Kommissionen minimiert.
- Die Durchlaufzeit kann um maximal zehn Minuten überschritten werden.
Optimierungs-Algorithmen für jede Phase der Lösung
Die Score-Berechnung bringt alle Zielfunktionen und Nebenbedingungen in eine Normierungsform und fungiert somit als ‚Einnordung‘ einer Bewertung der Güte und Gültigkeit. Mit Hilfe des Scores wird eine Unmenge von Lösungen miteinander verglichen und bewertet. Über Regeln wird ausgedrückt, wie sich der jeweilige Score bei Verletzung von harten und weichen Restriktionen verändert.
Anschließend erfolgt die Konfiguration des Modells, des Solvers und der Optimierungs-Algorithmen. Passend zu jeder Phase der Lösung eines Optimierungsproblems werden die erforderlichen Optimierungs-Algorithmen definiert. Die Lösung erfolgt iterativ und schrittweise, wobei jeder Schritt wieder zu einer neuen Lösung führt.
„Die Konfiguration des Solvers ist natürlich das Kernelement“, wie Wagner betont. Der Solver-Programmierer entscheidet, wie die Planungsprobleme zu modellieren sind, welche und wie Optimierungsmethoden am sinnvollsten für die Problemlösung zu verwenden sind.
Solver wird jeweils anwendungsbezogen konfiguriert
„Dabei wird der Solver nicht komplett neu entwickelt. Lediglich das Solver-Projekt und dessen Klassen werden neu angelegt. Zudem wird durch die Solver-Konfiguration transparent dargestellt, wie er sich verhalten wird“, stellt Eduard Wagner klar.
Dies geschieht jeweils anwendungsbezogen und auf die jeweiligen Anforderungen zugeschnitten. Wagner: „Der Solver geht auf das definierte Planungsproblem ein, und dementsprechend ist jeder Solver individuell zu betrachten. Nur der Weg, wie er entwickelt wird, ist ähnlich. Daher ist die Solver-Konfiguration auch eine Spezialaufgabe von Kollegen, die zwar im FuE-Bereich tätig sind, aber tatsächlich Bausteine verwenden, mit denen sie die Kollegen, die sich mit Prozess-Ketten beschäftigen, sofort mit Lösungen unterstützen können.“ Ein wichtiger Schritt der Konfiguration ist die Definition von Terminierungskriterien. So sind beispielsweise die Anzahl der maximal durchzuführenden Schritte ohne Verbesserung der Lösung oder eine konkret festgelegte Zeitdauer wichtige Abbruchkriterien der Optimierung.
In vier Schritten die Softwareoptimierung durchführen
Für die Durchführung der Optimierung werden die Ausgangsdaten geladen und das Planungsproblem erstellt. Ein Solver-Objekt wird erzeugt und löst sogleich das jeweilige Planungsproblem. Dazu werden die geeignetsten Lösungen abgerufen und dem Entwickler präsentiert. Eine generelle Lösung gibt es also nicht. „Die Optimierungsmasse, in welcher der Solver agiert, erzeugt beispielsweise 50 Batches, auch wenn man nur einen sucht. Allerdings leistet er eine enge Auswahl, etwa ‚diese fünf Batches sind besonders gut geeignet‘, aus denen der Anwender die für ihn ideale selektiert“, erklärt Eduard Wagner die einzelnen Schritte.
Im Einzelnen wird das jeweils problembezogen gebaute und in die Software integrierte Solver-Modul an die Anwendungsentwicklung übergeben. Je nach Anforderung wird der Solver beliebig oft hintereinander verwendet, abhängig davon, wie oft das entsprechende Problem gelöst werden muss. Unterschiedliche Anforderungen oder verschiedene Mandanten spielen dabei keine Rolle. Während dieser Phase stehen der Optimierungs- und der Anwendungsprogrammierer in engem Kontakt und tauschen sich untereinander aus.
Auch der vergleichsweise geringe Zeitaufwand zeigt, wie praxistauglich der Solver ist, denn „im Mittelwert sind zirka zwei bis drei Wochen für den Entwurf einer Solver-Lösung erforderlich“, betont Wagner. Wobei der Zeitbedarf natürlich jeweils vom Umfang des zu lösenden Problems abhängt.
Optimierungslösungen erfolgreich im Einsatz
Die Optimierungslösung von TUP ist bereits seit mehr als einem Jahr beim Spielwaren- und Kinderartikelhersteller Haba sowie bei der Marke adidas im Einsatz.
Bei Haba wird beispielsweise die Kommissionsbildung optimiert. Ausgangsdaten sind komplett reservierte Aufträge, für die der Nachschub bereits abgeschlossen ist und die Kommissionierung gestartet werden kann. Zielfunktion ist, die Länge des Laufweges beziehungsweise die Anzahl der Gangwechsel über alle Kommissionen zu minimieren. Der hierzu verwendete Algorithmus ist das Optimierungsverfahren ‚Simulated Annealing‘. Dabei werden auch die Größe der Sortiermodule und die Abwicklungsgruppen berücksichtigt.
Bei adidas werden die Batches entsprechend unterschiedlicher Kriterien gebildet. Die Optimierung beinhaltet auch eine vorgeschaltete Bildung von sogenannten Sammel-Versandeinheiten (VEs); dies sind fiktive VEs, die Versandeinheiten mit einer Position (Menge 1) zusammenfassen. Dabei soll möglichst eine Sorter-Rutsche gefüllt werden, wobei Volumen, Gewicht und Priorität berücksichtigt werden. Der hier eingesetzte Algorithmus ist ‚Tabusearch‘.
In einem zweiten Schritt findet die eigentliche Batchbildung mittels ‚Simulated Annealing‘ statt. Ziel ist, dass die Batches die folgenden unterschiedlichen Vorgaben möglichst gut erfüllen:
- Hoher, aber gleichmäßiger Anteil an sogenannten Golden- und Silverkartons;
- die vorgegebene Zusammensetzung bezüglich Schuh- und Textil-Lieferscheine soll über möglichst wenige Batches verteilt sein;
- Berücksichtigung der Auftragspriorität und eines Fälligkeitsdatums.
Ausgangsdaten sind Parameter, Auftragsdaten und verfügbare Mengen für Golden- und Silver-Kartons. Vom Solver werden eine vorgegebene Anzahl Batches mit einer festen maximalen Anzahl an Aufträgen gebildet. Die Parameter werden vom Benutzer mittels eines Dialogs gesetzt. Und bei Bedarf kann die Batch-Bildung auch ohne die Optimierung erfolgen.
In Zukunft: fundierte Basisarbeit, noch bessere Logistiklösungen
So effizient und wirtschaftlich nützlich sich die Softwareoptimierung auch erweist, sie wird den professionellen Umgang mit IT keineswegs vereinfachen und deren operative Einsätze nicht plötzlich drastisch revolutionieren. Denn nach wie vor sind jede Menge grundlegender Tugenden und Know-how erforderlich, um die gewünschten Ergebnisse zu erzielen. „Auch in Zeiten von ‚Same Day Delivery‘, ‚Big Data‘ und ‚Industrie 4.0‘ ist TUP weiterhin konservativ der Meinung, dass fundierte Basisarbeit im IT-Umfeld erforderlich ist, um die Voraussetzungen für noch bessere Lösungsansätze in der Intralogistik zu schaffen“, konstatiert Eduard Wagner bei seinem Blick in die Zukunft. „Das beginnt bei der grundlagenorientierten Ausbildung; geht weiter mit durchgängiger und hochverfügbarer Infrastruktur und mündet im Mut, Dinge anders anzupacken, als es bislang der Fall war – am Ende erhalten wir eine disruptive Lösung beziehungsweise Technologie.“
Wie Wagner betont, „werden anspruchsvolle analytische Modelle und Monte-Carlo-Simulation künftig unser Leben generell tiefgreifend verändern, und am Ende werden uns IT und Roboter immer mehr bei der täglichen Arbeit unterstützen; sei es im Denken, Entscheiden oder auch Handeln“. Keywords wie ‚Descriptive Analytics‘, ‚Diagnostic Analytics‘, ‚Predictive Analytics‘ und ‚Prescriptive Analytics‘ sind dann unweigerlich miteinander verknüpft. „In Zukunft werden wir Trends beeinflussen, eine gewünschte Marschroute vorgeben; vorhergesagte Ereignisse werden verhindert, auf Zukünftige wird zielstrebig reagiert. Sprich, aus fundierter Basisarbeit werden automatisch bessere Logistiklösungen generiert. Vorausgesetzt, das richtige Maß gegenüber autarken und selbständigen Replikation der Maschinen wird eingehalten“ so Wagner selbstkritisch.
Teaserbild: Pexels / CC0 License