Logistics Case Studies: Pufferoptimierung

Ein Produkt entsteht durch eine Reihe von Schritten, die darauf abzielen, die Bedürfnisse des Kunden zu erfüllen. Dies kann in Form einer Produktionslinie oder einer Lieferkette geschehen, die sowohl externe als auch interne Schritte umfasst.

Die einzelnen Prozesse unterscheiden sich in der Regel in Bezug auf Durchsatz, Reaktionsgeschwindigkeit, Produktivität und andere Faktoren. Aus diesem Grund werden Puffer zwischen den einzelnen Schritten eingefügt, um sicherzustellen, dass die Prozessschritte reibungslos ineinander greifen. Diese Schritte sind so lange miteinander verbunden, wie auf der Zufuhrseite genügend Material im Puffer vorhanden ist. Gleichzeitig muss auf der Auslaufseite genügend Platz vorhanden sein, um die gefertigten Produkte abzulegen..


Die synchronisierte Lieferkette im Zündholzspiel in Anlehnung an Goldratt.

Der wesentliche Zielkonflikt ist die Konkurrenz zwischen niedrigen Bestandskosten im WIP [3] einerseits und andererseits einer hohen Versorgungssicherheit der einzelnen Prozessschritte mit Beschaffungsmaterial. In der Literatur wird dieses Problem auch als das „Dilemma der Materialwirtschaft“ bezeichnet.

Ausgangspunkt für dies Case Study ist das Zündholzspiel, das Goldratt [1] in seinem Buch „das Ziel“ im Kapitel 14 beschreibt. Es weicht von Goldratts Version ab, da ich es in Bezug auf das Puffermodell der Logistik [2] modifiziert und für eine sinnvolle Datenauswertung angepasst habe.

Das Zündholzspiel nach Goldratt

The game simulates a production line with 5 work stations. The product must pass through each of the 5 work stations in order from 1 to 5. All products will be delivered to our customers, who urgently desire them. We use matches to simulate the process. 

Buffers are located between the workstations, to store the produced matches before they are used by the subsequent work station. The potential amount of work completed at each station in a given time period is a uniform distribution of 1, 2, 3, 4, 5, and 6. This random potential work is determined each period by tossing a die. Hence the average potential amount of work at each station and thus through the system is 3.5 units per period.

If the game is played for 20 periods for example, one might expect an average of 70 units delivered to our customers of matches. However, the actual work completed at each station is limited by the available matches in the buffers between the work stations.

The game is played by starting each station with empty buffers. At a signal all stations roll their dice to determine their potential work. The actual work forwarded to the next station is of course the minimum of the number on the dice and the number of items in the buffer.

We use matches to represent the item being produced. The first station’s buffer is always full with matches (100% sourcing). As the game is played, number of matches in the buffers start to vary and eventually in some cases limit the amount of work done. The game stops at the end of period 20. Then the students should rerun the game 3 times, in order to get some statistical information.

Optimization: Hereafter the game should be played several rounds with matches in the buffers at the start (the same number of matches in all buffers). The total number of matches in the buffers is called the WIP (Work in Progress). The game should be played at least another 9 rounds with different WIP at the start.

Profit: During all rounds the number of matches delivered to the customer and all matches in all the buffers have to be reported to our controlling . The controlling tells us that our customers will pay 1 e for each product (our matches). But we also have to pay 0,10 e for every match in the WIP each period.

Task of the experiment: Obviously you should maximize the profit of the game, by selecting the right starting conditions!


Triviale Erkenntnisse

Dieses kleine Experiment vereinfacht alles. So sind immer genügend Zündhölzer im Lager verfügbar sind (100 % Materialverfügbarkeit) und dass der Kunde alles abnimmt, was wir produzieren können (Verkäufermarkt). Dennoch kann man viel über Pufferoptimierungen lernen:

Es ist offensichtlich, dass seht große Bestände zwischen den Maschinen dafür sorgen, dass diese immer laufen können, schließlich ist ja immer Material da. Aber Bestände kosten Geld. Billiger ist sicher. wenn nichts rumliegt, aber dann werden die Maschinen schlecht versorgt und der Durchsatz ist gering; dmait ist also kein Geld zu verdienen. 

Wenn man das so "durchspielt" kommt das natürlich auch raus. Unter diesen überschaubaren Bedingungen kann auch Excel das Würfeln übernehmen. Das spart Zeit und viel mehr Simulationen führen auch zu statisch akzeptablen Ergebnissen.

Unser "richtiger" Fall

Für dies Case-Study habe ich 44 Datensätze mit ▦ diesem Sheet simuliert und gespeichert. Alle im Prinzip gleich aber doch im Detail verschieden. Sucht euch einen aus, aber jeder einen anderen. Das Datenformat ist US. Sei bekommen etwas mehr als 200.000 Simulationsläufe.

Goldratts Zündholzspiel setzt voraus, dass auch beliebig viel Platz vorhanden ist. Nun mag das für den Betriebswirt eine akzeptable Haltung sein. Aber jeder Logistiker weis jedes Lager ist zu klein, immer!

Die Puffer hier haben nur eine bestimmte Größe (das ist anders als im Zündholzspiel). Denn der Platz zwischen den Maschinen ist klein und muß immer bezahlt werden, unabhängig ob Material auf dem Platz liegt oder er leer ist. Das kostet pro Platz in der Simulation immer 0,34 €. Die Puffer haben mindestens einen Platz (sonst würde ja nichts durchgehen). Die obere Grenze der Simulation sind 23 Pufferplätze. Diese Kosten für die Pufferplätze sind für jeden Simulationslauf ausgewiesen.

Die Produktion: Die Kunden nehmen, wie im Zündholzspiel jedes Produkt, das wir produzieren können. Der Verkaufspreis ist 21,49 €. Der Umsatz mit den Produkten wird für jeden Simulationslauf ausgewiesen. Die Kosten für Material im Puffer mit 0,53 € müssen von Beginn bis Runde 26 bezahlt werden. Diese Kosten für das Material in den Puffern sind für jeden Simulationslauf ausgewiesen.

Hier werden nun 7 Produktionsschritte von der Rohware, davon ist immer genügend vorhanden, bis zum fertigen Produkt benötigt. Daher gibt es auch 6 Puffer zwischen den Maschinen. Die Maschinen bearbeiten zufällig gleichverteilt 1 bis 11 Einheiten.

Die Simulation: Simuliert wurden 26 Runden. Die Simulation erzeugt zufällig alle Kombinationen der Puffergröße von 1 bis 23 dadurch liegen für jede Kombination unterschiedliche viele Läufe vor (Konsequenz: Die Daten müssen geglättet werden) Der Bestand in den Puffern zu Beginn der Simulation in der Puffern wird auch von 0 bis 23 variiert; Natürlich nicht mehr als auch Platz in den Puffern ist.  

Der Auftrag: Bestimmen Sie 

  1. die richtige Größe (Zahl der Lagerplätze für Teile) der Puffer zwischen den Maschinen
    und
  2. legen Sie fest wie viele Teile zu Beginn enthalten sein sollen.
Das Ergebnis ist natürlich von der Unternehmensstrategie abhängig. Entscheiden Sie also vorher welche Strategie verfolgt werden soll:
  1. Min-Max Prinzip
  2. Maximalversorgung der Kunden
  3. Minimierung der Bestandskosten

Natürlich soll auch noch Gewinn gemacht werden.

Das Ganze ist dann in einem Bericht zu dokumentieren. 


Quellen

  1. Goldratt, Eliyahu M. (2010). Das Ziel: Ein Roman über Prozessoptimierung. 5. Aufl. Frankfurt am Main: Campus Verlag.
  2. hier in diesem Blog und der dem Stichwort "Puffer"
  3. Seite „Work in process“. In: Wikipedia – Die freie Enzyklopädie. Bearbeitungsstand: 1. Juli 2021, 21:59 UTC. URL: https://de.wikipedia.org/w/index.php?title=Work_in_process&oldid=213474434 (Abgerufen: 4. Januar 2023, 10:38 UTC)

Hinweise zum Inhalt der Lösung:

  1. Einleitung
    1. Einordnung der Arbeit (Modul, Ziel der Moduls, Aufgabe ...)
      • Erkennen, dass es ohne ZDF in der Logistik nicht geht.
      • Man muss mehr können, als nur Standardverfahren nach einem Algorithmus abarbeiten.
    2. Bedeutung der Puffermodells in der Logistik
      • Puffer dienen der Entkopplung aufeinander folgender Prozesse.
  2. Hauptteil
    1. Theorie (Produktivität, Puffergrößen, Durchsatz <=> Kostenoptimum) => Hypothese (Was erwarten Sie?)
      • Ziel ist immer Min-Max oder Max-Max 
      • Es handelt sich um einen rein statistischen Effekt.
      • Kleiner Puffer starke Kopplung, großer Puffer kleine Kopplung
      • Entweder die Maschinen laufen alle synchron (nicht zulässig) mit geringer Streuung (dann Taktung) oder man brauch Puffer
      • Dilemma, klein = kostengünstig = starr gekoppelt und groß = teuer = flexibel
      • Je nach Geschäftsmodell kann eine andere Entscheidung richtig sein.
    2. Vorliegende Daten, Vorgehensweise:
      was kann man aus den Werten Max (Maximum), Avg (Mittelwert), Std (Standardabweichung) für die Puffer schließen?
      • Daten beschreiben
      • Am einfachsten mit einer Pivot-Tabelle x=Puffer / y=Start / z=Mittelwert von Gewinn
      • Erkennen, dass es unterschiedlich viele Simulationen gibt.
      • Sine Qua non: Mittelwert von Gewinn => Maximum ablesen (simpel, aber reicht im besten Fall nur für eine 3)
      • Visualisierung: wenn nur x-y-Plot fragt sich was dargestellt wird (x Achse).
      • 3-D Darstellung: Erkennen, das es ein Hochplateau ist
    3. Ergebnisse der Datenanalyse (Darstellung, verbale Beschreibung)
      • Erkennen: Fläche nicht glatt, müsste aber sein
        Grund: nicht genug Daten, ist eben Zufall
        Konsequenz: Glätten
      • Gut: Glättung auf den Diagonalen durchführen
        Ergebnis: genauere Daten
      • Wirkung: als ob man mehr Daten hätte, da ja die Nachbarwerte einen Einfluss haben
    4. Wenn mehrere Lösungen fast gleich gut sind, Schlussfolgerung, Begründung der Entscheidung
      • Das Optimum liegt bei 9-9, wenn was anders rauskommt, dann muss das erklärt werden.
      • Hochplateau einschränken => Lösungsmenge
      • Entscheiden, was genommen wird: Argumentation z.B. aus
        • Nutzwertanalyse
        • Standard Best-Case Worst-Case
        • Aufwand-Nutzen Betrachtung
        • Argumentation aus dem Geschäftsmodell ableiten
      • Abschätzung der Verringerung des Gewinns im Vergleich zu Kostenersparnis.
      • Ergebnis: konkrete Handlungsempfehlung
  3. Schluß 
    1. Was könnte man anders oder auch besser machen, um das Puffer-Problem zu lösen?
      Fällt Ihnen da ein methodischer Ansatz ein? Erklären!
      • Am besten: Man könnte das Problem analytisch lösen
      • Aufwändig: Alle Kombinationen bestimmen und dann berechnen
      • Auch gut: eine Kombinationen aus beiden
      • Tricky: Einfach aller Datensätze nehmen und auf den Lösungsraum einschränken
      • Brute force: Zufallsgesteuert sehr viele Simulationen machen
    2. Was nehmen Sie aus dem Modul mit, was könnte besser sein.

Transparenzhinweis

Dieser Fall wurde an 23.Jan.2024 von mir über arbeitet und mit ChatGPT und DeepL-Write gegengelesen. 


, Licence CC BY-NC-SA

Kommentare