Inhaltsverzeichnis
1 Einleitung
2 Modellbeschreibung
2.1 Annahmen zum Modell
2.2 Beschreibung der Symbole
2.3 Modellaufbau
3 Analyse des Modellverhaltens
3.1 Beschreibung der Simulationsläufe
3.2 Theorie zum Simulationsobjekt
3.3 Auswertung
4 Schlußbetrachtung
5 Anhang A: Ergebnistabellen und Seedwerte
6 Anhang B: Kurzanleitung
7 Anhang C : Anmerkung zu Simple++
8 Anhang D: Methoden
9 Literaturverzeichnis
Abbildungsverzeichnis
Abbildung 1: Netzwerk - Gesamtmodell
Abbildung 2: Netzwerk - Station P
Abbildung 3: Netzwerk - Station H
Abbildung 4: Netzwerk - Prozeß der Endmontage mit Warteschlangen
Abbildung 5: Netzwerk - Montage der Endprodukte
Abbildung 6: Produktionsmenge in 7 Schichten bei Dreiecksverteilung
Abbildung 7: Produktionsmenge in 7 Schichten bei Dreiecksverteilung (Tabelle 2 - Anhang A)
Abbildung 8: Produktionsmenge in 7 Schichten bei Negativ-Exponential-Verteilung (Anhang A - Tabelle 3)
Abbildung 9: Produktionsmenge in 7 Schichten bei Negativ-Exponential-Verteilung (Anhang A - Tabelle 4)
Einleitung
Die vorliegende Simulationsstudie befaßt sich mit der Produktionsablauf des Spielgeräteherstellers JOY AG. Die zugrundeliegende Problemstellung dieses Herstellers soll mit Hilfe von Simple++ in ein Simulationsmodell abgebildet werden. Erst das Simulationsmodell ermöglicht eine systematische Analyse des Produktionsprozesses, bei der sowohl Schwachstellen aufgedeckt werden, als auch sinnvolle Verbesserungsvorschläge gemacht werden können.
Diese Arbeit gibt als erstes eine Modellbeschreibung, die zum Verständnis der Simulationsläufe erforderlich ist. Die Modellbeschreibung beginnt mit der Beschreibung der verwendeten Symbole und zeigt im weiteren den Modellaufbau in Simple++. Nach der Modellbeschreibung folgt die Analyse des Modellverhaltens, die die genaue Reaktion des Modells bei bestimmten Parametervariationen untersucht. Darüber hinaus wird eine theoretische Analyse vorgenommen, in der mathematisch die Anzahl der benötigten Kanbans bei konstanten Zeiten bestimmt wird. In der folgenden Auswertung werden die erhaltenen Ergebnisse der Simulationsläufe ausgewertet und entsprechende Wertungen über die Variation einzelner Parameter abgegeben. Abschließend erfolgt ein Ausblick in die Zukunft, in der mögliche Erweiterungen sowie vielleicht auftretende Probleme in einem kurzen Absatz beschrieben werden.
Die Produktion von Spielgeräten des Spielgeräteherstellers JOY AG soll beispielhaft anhand einer Schaufel beschrieben werden. Die herzustellende Schaufel besteht aus einem Holzgriff und einem Plastikteil. Der Holzgriff wird in der Station H, das Plastikteil in der Station P erzeugt. Sowohl Holzstück als auch Plastikteil werden in Container verpackt, die jeweils 20 Stück Fassungsvermögen haben. Von Station P und H werden die Container sofort nach Fertigstellung zur Montagestation M transportiert, wobei die Transportzeiten zwischen den jeweiligen Stationen vernachlässigbar gering sind. Bei dem Produktionsablauf erfolgt in diesem Modell die Anwendung des Kanban-Prinzips.
Station H benötigt zur Produktion eines vollen Containers durchschnittlich 16 Minuten, Station P benötigt zur Produktion eines vollen Containers durchschnittlich 20 Minuten und die Endmontage an Station M dauert durchschnittlich insgesamt 24 Minuten. Bezüglich der Bearbeitungsdauern an den einzelnen Stationen sollen die Simulationsläufe unter der Annahme verschiedener Wahrscheinlichkeitsverteilungen durchgeführt werden.
- Der erste Simulationslauf soll unter der Annahme einer dreiecksverteilten Bearbeitungsdauer, bei der eine Schwankung von +/-4 Minuten auftritt, vorausgesetzt werden.
- Bei dem zweiten Simulationslauf sollen die Bearbeitungsdauern der einzelnen Stationen als negativ-exponential angenommen werden.
Für die Produktion soll die Vorgabe von mindestens 380 Schaufeln pro Schicht (480 Min) angenommen werden. Daraus ergeben sich für den Betrieb zwei Probleme, für die durch die Simulationsstudie entsprechende Lösungsvorschläge angefertigt werden sollen:
- Das erste Problem des Herstellers besteht aus der Frage nach der Anzahl der Container, die zwischen Station H und M als auch zwischen Station P und M pendeln.
- Das zweite Problem besteht in der Ermittlung der mittleren Vorlaufzeit, d.h. der Zeitspanne zwischen der Sendung eines Kanbans (Containers) an die Station H oder P und die Bereitstellung eines gefüllten Containers mit diesem Kanban.
Die soeben genannten Problemstellungen sollen nun durch die im weiteren geschilderte Erstellung des Modells weiterverfolgt werden.
Modellbeschreibung
Die Modelldarstellung erfolgte mit Hilfe des ereignisorientierten Simulationswerkzeuges Simple++. Das gesamte Modell wurde in einem hierarchischen Aufbau durch mehrere Netzwerke dargestellt, welche die einzelnen Stationen repräsentieren und im weiteren Verlauf beschrieben werden
Annahmen zum Modell
Die Aufgabenstellung hat für die Formulierung des Modells noch einige Fragen offen gelassen. Für diese ungeklärten Teilprobleme wurden explizit geeignete Annahmen getroffen, die im folgenden näher beschrieben werden sollen.
1. Annahme: Auftragsvolumen
Aus der Problemstellung der Firma JOY AG ist nicht ersichtlich, in welchen Zeitspannen neue Aufträge zur Fertigung von Spielgeräten hereinkommen. Es ist demnach nicht geklärt, ob die Produktionsstätte voll ausgelastet ist oder ob vielleicht gewisse Leerlaufzeiten anfallen, da die Endmontage auf die Fertigstellung von Halbfabrikaten warten muß. Da das zur Verfügung stehende Datenmaterial keinerlei Hinweise auf eine eventuelle Wahrscheinlichkeitsverteilung für eine solche Auftragsankunft gibt und die Problemformulierung - auch in Bezug auf das Unternehmen - nicht unnötig verkompliziert werden sollte, haben wir eine volle Kapazitätsauslastung angenommen, im Vertrauen auf die Managementfähigkeiten der Geschäftsführung.
2. Annahme: Darstellung des Kanbanprinzip
Das Kanban-Prinzip beinhaltet in seiner ursprünglichen Form grundsätzlich zwei Kreisläufe, den Kreislauf der Kanbans (Karten) und den Kreislauf der Container, an denen die Karten befestigt werden. Als charakteristisches Merkmal kann man bei dem Kanban-Prinzip die Holpflicht nennen. Auf die zugrundeliegende Problematik angewendet bedeutet diese Holpflicht, daß ein neuer Auftrag nur an die Endmontage weitergeleitet werden muß. Die Endmontage wird dann nach dem Pull-Prinzip die jeweils benötigten Teile von den vorgelagerten Produktionsstufen anfordern. Diese wiederum werden ihrerseits Halbfabrikate oder Rohstoffe von ihnen vorgelagerten Produktionsstufen anfordern usw. . Letztendlich durchläuft dieser Pull nach Materialien, angefangen bei der Endmontage, den gesamten Produktionsprozeß.
Die Umsetzung im Modell wird gegenüber der möglichen Umsetzung in der Realität vereinfacht. Die zwei Kreisläufe der Kabans und Container werden zu einem Kreislauf zusammengefaßt, da die Kanbans an einen Container angeheftet sind. Erst bei großen Modellen würde eine Unterscheidung von Kanban und Container in zwei Kreisläufen sinnvoll erscheinen. Der Aufwand steigt mit der Komplexität des Modells und um die entstehenden Kosten gering zu halten ist es insbesondere bei kleinen Modellen wichtig, in einer angemessenen Zeit ein adäquates Ergebnis zu erhalten.
3. Annahme: Lagerort der Container
Zwischen den Stationen P und M sowie den Stationen H und M pendelt eine bestimmte Anzahl an Containern. Sollte ein Zyklus mehr als zwei Behälter beinhalten, so muß mindestens ein voller oder leerer Container in einer Staustrecke zwischengelagert werden. Da die Transportzeiten zwischen den einzelnen Stationen vernachlässigbar gering sind, ist somit auch der Standort dieser Staustrecken willkürlich wählbar.
Beschreibung der Symbole
Im folgenden werden die im Simulationsmodell verwendeten Symbole näher beschrieben.
1. [Abbildung in dieser Leseprobe nicht enthalten] Symbol muß zum Starten der Simulation gedrückt werden. Es bewirkt den Aufruf des Startfensters, in welches die entsprechenden Parameter für die Simulation eingetragen werden können.
2. [Abbildung in dieser Leseprobe nicht enthalten] Symbol für die Station M, welche sich wiederum in den Stauplatz und die eigentliche Endmontage unterteilt.
3. [Abbildung in dieser Leseprobe nicht enthalten] Symbol stellt Netzwerk der Station P dar.
4. [Abbildung in dieser Leseprobe nicht enthalten] Symbol stellt Netzwerk der Station H dar.
5. [Abbildung in dieser Leseprobe nicht enthalten] Symbol für das Netzwerk, welches die Endmontage beschreibt. Das Netzwerk wurde benutzt, da für die Endmontage noch Stationen für Annahme von vollen, bzw. Bereitstellung von leeren Containern benutzt werden.
6. [Abbildung in dieser Leseprobe nicht enthalten] Symbol für die Einzelstation in der Station P.
7. [Abbildung in dieser Leseprobe nicht enthalten] Symbol für die Einzelstation in der Station H.
8. [Abbildung in dieser Leseprobe nicht enthalten] Symbol für die Einzelstation der eigentlichen Endmontage.
9. [Abbildung in dieser Leseprobe nicht enthalten] Symbol für die Staustrecke der leeren Container im Kreislauf zwischen Station P und M.
10. [Abbildung in dieser Leseprobe nicht enthalten] Symbol für die Staustrecke der leeren Container im Kreislauf zwischen Station H und M.
11. [Abbildung in dieser Leseprobe nicht enthalten] Symbol für die Staustrecke der vollen Container im Kreislauf zwischen Station H und M.
12. [Abbildung in dieser Leseprobe nicht enthalten] Symbol für die Staustrecke der vollen Container im Kreislauf zwischen Station P und M.
13. [Abbildung in dieser Leseprobe nicht enthalten] Symbol für die Methode, welche das Bild eines Containers ändert.
14. [Abbildung in dieser Leseprobe nicht enthalten] Dialogfenster für die Eingabe von den Startwerten.
15. [Abbildung in dieser Leseprobe nicht enthalten] Fenster mit Mitteilung, wie viele Simulationsläufe schon beendet sind bzw. noch erledigt werden müssen.
16. [Abbildung in dieser Leseprobe nicht enthalten] Fenster mit Mitteilung, daß eine einzelne Simulation ausgeführt wird.
17. [Abbildung in dieser Leseprobe nicht enthalten] Symbol für die Methode zum Setzen der Negativ-Exponential-Verteilung in den einzelnen Stationen M, H und P.
18. [Abbildung in dieser Leseprobe nicht enthalten] Symbol für die Methode zum Setzen der Dreiecksverteilung in den einzelnen Stationen M, H und P
19. [Abbildung in dieser Leseprobe nicht enthalten] Symbol für die Methode, welche bei Beginn einer Simulation die Initialisierung des Modells übernimmt.
20. [Abbildung in dieser Leseprobe nicht enthalten] Symbol für die Meldung auf den Bildschirm, daß die Simulation abgeschlossen wurde.
21. [Abbildung in dieser Leseprobe nicht enthalten]Symbol für die Methode zum Stoppen des Ereignisverwalters.
22. [Abbildung in dieser Leseprobe nicht enthalten]Symbol für die Methode, welche genau einen Simulationslauf ausführt.
1. Modellaufbau
Der Modellaufbau besteht aus einer Hierarchie von Netzwerken. Intuitiv läßt sich anfänglich am Aufbau des Modells die Kritik äußern, daß eine zu weitgehende Strukturierung des Modells vorgenommen wurde. Diesem vielleicht ersten Gedanken soll jedoch schon von vornherein durch das Gegenargument der Evolutions- sowie auch graphischen Darstellungsfähigkeit begegnet werden. Unter der Evolutionsfähigkeit wird die Möglichkeiten der zukünftigen Weiterentwicklung des Modells bezeichnet, unter der graphischen Darstellungsfähigkeit soll die Präsentation gegenüber dem Auftraggeber verstanden werden, der letztlich das Modell relativ einfach nachvollziehen können soll.
Das Hauptnetzwerk Schaufelproduktion in Abbildung 1 beinhaltet die folgenden vier Methoden :
- InitSim: Initialisierung und Starten der Simulation, sowie Generieren der leeren Container.
- EndSim: Übertragung der Ergebnisse in die Tabelle und im Fall mehrerer Simulationsläufe Starten des nächsten Laufes.
- Schleife: Bei mehreren Läufen wird in dieser Methode die Anzahl der Container pro Lauf erhöht.
- RunEverything: Initialisierung bei mehreren Simulationsläufen.
Abbildung in dieser Leseprobe nicht enthalten
In Abbildung 1 ist eine graphische Darstellung gegeben, die den
Aufbau der Produktionsanlage aus der Aufgabenstellung wiedergibt. Unterhalb der graphischen Darstellung sind die Werte der globalen Variablen sowie der Konstanten angegeben, die im Modell verwendet wurden. Dadurch ergeben sich sowohl einfache Kontrollmöglichkeiten als auch die Einstellung von festen Parametern, wie zum Beispiel die Maximalwerte für die Anzahl der Kanbans. Eine Beschreibung der Variablen und Angaben zu Einstellungen und zum Starten einer Simulation ist in Anhang B angegeben.
Abbildung in dieser Leseprobe nicht enthalten
Das Netzwerk der Station P ist in Abbildung 2 dargestellt. Wie oben schon angesprochen, wird die Station durch eine Einzelstation verkörpert. Weiterhin ist ein Anzeige für die Auslastung der Station angegeben.
Die Darstellung der Station H in Abbildung 3 entspricht der von Station P, was sich aufgrund der in der Aufgabe gegebenen Beschreibung der Stationen ergibt.
Die Modellformulierung der Station M ist aufgrund der benötigten Warteschlangen für die Container für die Bereitstellung bzw. für die Entsorgung von Containern aufwendiger als bei den Stationen H und M. Das Netzwerk in Abbildung 4 beinhaltet fünf Objekte. Zum einen die Montage, in der der eigentliche Zusammenbau der Schaufeln abläuft, zum anderen die Warteschlangen für die vollen bzw. leeren Container, die zwischen Station P und M bzw. Station H und M transportiert werden.
Abbildung in dieser Leseprobe nicht enthalten
In den Staustrecken für die vollen Container werden die Container zwischen gelagert, die von Station P oder H bereits gefüllt wurden und nun auf die Weiterverarbeitung in der Endmontage warten. Für jede der Staustrecken wird die prozentuale Auslastung in numerischer Form neben dem jeweiligen Symbol angegeben. Dabei ist zu beachten, daß sich diese auf eine maximale Länge von 100 Containern bezieht, auch wenn z.B. nur 10 im Umlauf sind. Eine Einschränkung des Platzes ist in der Aufgabe nicht gegeben und kann durch die maximale Länge der Warteschlange eingestellt werden (bzgl. Abmessungen und Anzahl der Container).
Die Staustrecken für leere Container beinhalten alle Container des jeweiligen Kreislaufes, welche für die Produktion augenblicklich nicht benötigt werden. Die beiden Methoden in diesem Netzwerk ermitteln die mittlere Vorlaufzeit des jeweiligen Halbfabrikats mittels der bisherigen Lebensdauer des Containers. Für die Staustrecken sind die jeweiligen prozentualen Auslastungen sowie die maximale Anzahl der Container angegeben.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 5 zeigt das Netzwerk zur Realisierung der Montage aus Abbildung 4. Für die Montage wurde von uns ein weiteres Netzwerk eingeführt, da die eigentliche Produktion von der Problematik der Lagerung von vollen und leeren Containern getrennt werden sollte. In dieser Abbildung ist die Endmontage in Form einer Parallelstation realisiert, die über Einzelstationen versorgt bzw. entsorgt wird. Die Auslastung der Endmontage wird prozentual dargestellt.
Abbildung in dieser Leseprobe nicht enthalten
Die Steuerung der Endmontage erfolgt über die Methoden Endproduktion, welche die Endmontage bei Bedarf mit Halbfabrikaten versorgt, Start_Produktion erzeugt die leeren Container und Produktion_Fertig gibt die Endmontage frei und ruft die Methode Endproduktion auf.
Analyse des Modellverhaltens
Beschreibung der Simulationsläufe
Im erstellten Modell lassen sich die folgenden Parameter einstellen:
- Wahrscheinlichkeitsverteilung (Dreiecksverteilung oder Negativ-Exponential-Verteilung)
- Anzahl der Kanbans pro Kreislauf
- Seedwerte bzw. Wahl des Seedstroms
- Anzahl der Schichten
Jeder Simulationslauf wurde über einen Zeitraum von sieben Schichten durchgeführt. Dadurch wird eine Verfälschung des Ergebnisses durch die anfängliche Einlaufphase des Produktionsprozesses verringert, da bei Simulationsbeginn keine Produkte im System vorhanden sind. Zusätzlich werden größere Abweichungen durch die Berechnung der jeweiligen Mittelwerte geglättet.
Bei der Dreiecksverteilung wurde die Anzahl der Kanbans für jeden Kreislauf aufgrund der theoretischen Überlegungen von eins bis vier durchlaufen, woraus sich bei zwei verschiedenen Seedwerten eine Anzahl von 32 Simulationsläufen ergibt. Die Ergebnisse befinden sich in den Tabellen 1 und 2 im Anhang A.
Bei der Negativ-Exponential-Verteilung wurde die Anzahl der Kanbans für jeden Kreislauf von eins bis sieben durchlaufen, woraus sich bei zwei verschiedenen Seedwerten eine Anzahl von 96 Simulationsläufen ergibt. Die Ergebnisse befinden sich in den Tabellen 3 und 4 im Anhang A.
Zusätzlich sind in den Ergebnistabellen zu den jeweiligen Simulationsläufen die prozentuale Auslastung der Maschinen und Staustrecken, die Vorlaufzeiten sowie die Gesamtausbringungsmenge festgehalten.
Theo rie zum Simulationsobjekt
Unter Annahme, daß die vorgegebenen Zeiten keine Abweichungen haben (Störungen, Pausen, usw. ), läßt sich die Anzahl der Kanbans nach der Formel
Abbildung in dieser Leseprobe nicht enthalten
für das Halbfabrikat P mit
Abbildung in dieser Leseprobe nicht enthalten
bestimmen. Es ergibt sich für
Abbildung in dieser Leseprobe nicht enthalten
Für das Halbfabrikat H ergibt sich mit = 16 und obigen Parametern
Abbildung in dieser Leseprobe nicht enthalten
Aus dieser Formel ergibt sich somit eine Produktion mit jeweils einem Kanban pro Kreislauf. Durch die fehlende Abweichung kann man hier auch von einem statischen Verhalten der Produktionszeiten sprechen.
Bei der Dreiecksverteilung ist ebenfalls eine Anzahl von je einem Kanban pro Kreislauf zu erwarten, da hier die Produktionszeiten nur gering um den Erwartungswert schwanken und somit die obigen Berechnungen annähernd gelten.
Bei der Negativ-Exponential-Verteilung handelt es sich bezüglich der Produktionszeiten um ein dynamisches System, da hier die Zeiten zwischen Null und unendlich schwanken können. Dadurch läßt sich die Anzahl der Kanbans nur durch die Simulation bestimmen.
Auswertung
Die Auswertung beginnt mit der Analyse des Simulationsmodells bei dreiecksverteilter Produktion der Halbfabrikate in den Stationen P, H und der Endmontage in Station M. Es wurden die Simulationsläufe der Tabelle 1 und 2 aus Anhang A durchgeführt, wobei eine Variation der Anzahl der Kanbans und der Seedwerte bei der Initialisierung stattgefunden hat. Tabelle 1 wurde mit dem Seedstrom 1, Tabelle 2 mit dem Seedstrom 5 durchgeführt.
Abbildung in dieser Leseprobe nicht enthalten
Bei beiden Simulationsläufen ist zu erkennen, daß die Station M zu 99 % ausgelastet ist. Eine 100% Auslastung wird hier nicht erreicht, da zu Produktionsbeginn die Station M zunächst auf die Halbfabrikate H und P warten muß. Die Stationen H und P haben eine Auslastung von durchschnittlich 70 bzw. 87%, was auf die kürzeren Zeiten für die Produktion von 20 Halbfabrikaten zu schließen ist. Da die Auslastung der Stationen unabhängig von der Anzahl der Kanbans ist (geringe Standardabweichung), ist bei einer Dreiecksverteilung eine Kombination von jeweils einem Kanban pro Kreislauf empfehlenswert, da auch hier mit 411 Schaufeln pro Schicht das gesetzte Ziel von 380 Schaufeln erreicht wird und sich auch bei Einsatz weiterer Kanbans die Ausbringungsmenge nicht erhöht. Die Empfehlung erfolgt mit dem Ziel, den Umlaufbestand möglichst gering zu halten. Die Gesamtausbringungsmenge von Tabelle 1 ist in Abbildung 6 graphisch dargestellt. In dieser Abbildung ist zu sehen, daß bei einer Variation der Anzahl der Kanbans keine signifikanten Produktionsmengenschwankungen auftreten.
In Tabelle 2 sind dieselben Tendenzen festzustellen, wie in Tabelle 1, d.h. eine Abhängigkeit von den Seedwerten ist nicht erkennbar. Auch stellt die Endmontage M den Engpaß im Produktionsprozeß dar, und dieser Engpaß wird bereits mit der Anzahl von einem Kanban pro Kreislauf des Produktionsprozesses erreicht. Eine graphische Darstellung der Gesamtausbringungsmenge über sieben Schichten von Tabelle 2 ist in Abbildung 7 dargestellt, welche zeigt, daß die erforderliche Produktion pro Schicht im Durchschnitt weit überschritten wird.
Abbildung in dieser Leseprobe nicht enthalten
Die durchschnittliche Vorlaufzeiten von Station P und Station H gleichen sich in Tabelle 1 und 2. Die dort abgedruckten Werte stellen Durchschnittswerte von jeweils sieben Perioden dar und schwanken für Station P in einer Bandbreite zwischen 19 und 25 Minuten und für Station H zwischen 16 und 18 Minuten, wobei zu erkennen ist, daß bei der Station P die Vorlaufzeiten mit der Anzahl der Kanbans im System steigen, die von H jedoch annähernd gleich bleiben. Eine Erklärung hierfür ist die kürzere Produktionszeit der Station H und das demzufolge die Container mit dem Halbfabrikat H warten müssen.
Bei einem Produktionsprozeß, der einer Negativ-Exponential-Verteilung unterliegt, verhält sich das Modell divergent zu den vorherigen Simulationsläufen. Die Tabelle 3 im Anhang A gibt das Ergebnis des ersten Simulationslaufes mit dem Seedstrom 1 wieder. In dieser Tabelle ist zu beobachten, daß die Endmontage M nur zu durchschnittlich 52% ausgelastet ist. Wird die Anzahl der Kanbans gesteigert, so erhöht sich anfänglich die Auslastung von M von 35% - bei einem Kanban in den Kreisläufen H/M und P/M - bis auf 59% - bei 7 Kanbans im Kreislauf H/M und 2 Kanbans für den Kreislauf P/M -. Ab dieser Kombination von Kanbans pro Kreislauf pendelt sich die Auslastung der Endmontage M zwischen 50% und 59% ein.
Abbildung in dieser Leseprobe nicht enthalten
Die niedrige Auslastung von Station M ist damit zu begründen, daß der Engpaß in diesem Fall nicht in der Endmontage zu suchen ist, sondern durch die Station P verursacht wird. Dies ist zum einen an der hohen Auslastung der Station P von bis zu 96%, als auch an der nahezu leeren Warteschlange der vollen Container P zu erkennen, woraus sich ein Warten der Endmontge M auf Halbfabrikate der Station P folgern läßt. Aufgrund der hohen durchschnittlichen Produktionszeit von Station P beträgt die Auslastung der Warteschlange für die leeren Container bis zu 39% (im Gegensatz zu maximal 4% bei der Dreiecksverteilung).
Für die JOY AG ist unter der gegebenen Zielsetzung, 380 Schaufeln pro Schicht zu produzieren, somit eine Kombination von 2 Kanbans für den Kreislauf H/M bzw. 3 Kanbans für den Kreislauf P/M zu empfehlen.
In Abbildung 8 sind die Ausbringungsmengen der Tabelle 3 bei entsprechenden Kanbankombinationen dargestellt. Ein Maximum ist bei der Kombination 7/7 zu erkennen (3160 Schaufeln in 7 Schichten), jedoch ist hier auch der Umlaufbestand am größten und es werden deutlich mehr als die 2660 Schaufel in 7 Schichten produziert.
Die Tabelle 4 im Anhang A wurde mit der gleichen Kombination von Kanbans, jedoch mit dem Seedstrom 2 durchgerechnet. Die Ergebnisse dieser Simulationsläufe lassen die selben Schlußfolgerungen zu, wie sie schon aus Tabelle 3 gezogen wurden. Hier beträgt die durchschnittliche Auslastung von Station M 51%, Station P 91% und Station H 74%., womit sich P als Engpaß herauskristallisiert.
Betrachtet man die Tabelle 4 im Anhang A und berücksichtigt das Produktionsziel von 380 Schaufeln pro Schicht, kann festgestellt werden, daß eine ausreichend hohe Ausbringungsmenge ab der Kanbankombination von 4 Kanbans im Kreislauf H/M und 2 Kanbans im Kreislauf P/M erziehlt wird. Durch den Mehreinsatz von einem Kanban im Kreislauf P/M könnte sich die Anzahl im Kreislauf H/M auf 2 verringern, damit die Ausbringungsmenge von mindestens 2660 in 7 Schichten noch erreicht wird. Die größere Anzahl von Containern im Kreislauf P/M ist mit der längeren Produktionszeit für 20 Halbfabrikate im Vergleich zu Station H zu begründen, damit die Leerlaufzeit in der Station P genutzt werden.
Die Ausbringungsmengen des Simulationslaufes der Tabelle 4 wurden in Abbildung 9 grafisch ausgewertet und lassen die gleichen Tendenzen wie in der Abbildung 8 erkennen.
Die Vorlaufzeiten unterliegen sowohl in Tabelle 3 sowie auch in Tabelle 4 sehr großen Schwankungen, sie können theoretisch Werte von Null bis unendlich annehmen.
Abbildung in dieser Leseprobe nicht enthalten
In den Tabellen 3 und 4 Schwanken die Vorlaufzeiten im Kreislauf P/M zwischen ca. 18 und 77 Minuten. Im Kreislauf H/M ist eine ähnliche Schwankungsbreite zu erkennen, es werden Werte zwischen ca. 14 und 90 Minuten angenommen. Die großen Schwankungen in den Vorlaufzeiten lassen erkennen, daß es sinnvoll wäre ein Pufferlager in den Produktionsprozeß einzuführen, um sich ergebende Schwankungen der Produktionszeiten bei einem negativ-exponential-verteilten Produktionsprozeß abfangen zu können.
1. Schlußbetrachtung
Das erstellte Simulationsmodell versucht den Produktionsprozeß der JOY AG so realitätsnah wie möglich nachzubilden. Durch die Transformation der Realität in das Modell wurde es erforderlich, an einigen Stellen vereinfachende Annahmen vorzunehmen, die bei der Interpretation der Simulationsergebnisse für das reale Problem entsprechend zu interpretieren sind. Bei der Annahme unterschiedlicher Wahrscheinlichkeitsverteilungen für den Produktionsprozeß hat sich ein sehr großer Unterschied zwischen der Dreiecksverteilung und der Negativ-Exponential-Verteilung herausgestellt. Die Negativ-Exponential- Verteilung weist sehr große Schwankungen bei den einzelnen Produktionszeiten auf, die in einem realen Produktionsprozeß durch Maschinen wahrscheinlich nicht anzutreffen wären.
In der heutigen, modernen Fertigung kann von einer gleichmäßigen Produktionszeit mit geringen Schwankungen um den Erwartungswert ausgegangen werden. Aufgrund dessen würde hier die Empfehlung für die Kombination von je einem Kanban pro Kreislauf gegeben werden, was dem Ergebnis des Simulationslaufes unter Annahme einer Dreiecksverteilung entspricht.
2. Anhang A: Ergebnistabellen und Seedwerte Seedwert
Abbildung in dieser Leseprobe nicht enthalten
Anhang B: Kurzanleitung
Die Steuerung der Simulation erfolgt durch Eingabe von Variablen, als auch durch direkte Eingaben in einer Dialogbox. Des weiteren besteht die Möglichkeit, einen Einzellauf oder mehrere Simulationsläufe nacheinander zu starten.
Einzellauf
In der Bausteinbibliothek das Symbol "Start" durch Doppelklick aktivieren. Es öffnet sich eine Dialogbox, sowie das Hauptnetzwerk. Hier läßt sich die gewünschte Anzahl an Kanbans angeben und die Anzahl der Schichten, über die die Simulation laufen soll. Mittels der Buttons unterhalb der Eingabe kann noch die Verteilung eingestellt und anschließend mit OK die Simulation gestartet werden.
Der Seedstrom läßt sich vor dem Start durch die Änderung der Variable im Netzwerk "Schaufelproduktion" einstellen, indem man auf den Variablennamen Seedstrom einen Doppelklick ausführt.
Mehrfachlauf
Zunächst sind hier Angaben über die maximale Anzahl an Kanbans im System einzustellen. Nach dem Doppelklicken von "Start" kann man im geöffneten Netzwerk die Variablen max_h bzw. max_p ändern. Während der Simulation wird dann die Kanbanzahl von 1 bis max_h bzw. max_p durchlaufen. Entsprechendes gilt für den Seedstrom, welcher mittels max_strom eingestellt wird.
In der Dialogbox haben die oberen beiden Eingabefelder keine Bedeutung mehr, es ist nur die Anzahl an Schichten und die Art der Verteilung einzustellen. Der Start der Simulation erfolgt mit dem Button "Run 1-10". Während der Simulation wird ein Fenster geöffnet, welches den aktuellen Stand der Simulation anzeigt.
Die Simulation läßt sich jederzeit durch "Stop" im Ereignisverwalter anhalten, die einzelnen Fenster müssen dann mittels "Cancel" geschlossen werden.
Die Ergebnisse sind in der Tabelle "Ergebnisse" im Netzwerk Schaufelproduktion gespeichert, welches sich durch Doppelklick öffnen läßt.
3. Anhang C : Anmerkung zu Simple++
Durch das Arbeiten mit Simple++ ergaben sich einige Kritikpunkte, welche das Arbeiten mit dem Programmpaket erschwert haben und für eventuelle Verbesserungen genannt werden sollen.
- Allgemein
- Völliges Fehlen von Undo
- Teilweise fehlt Buttton zum Schliessen von Fenstern
- Ausgabe (Fehler und Statusmeldungen) erfolgen teilweise in der Shell, deswegen bekommt man manche Ausgaben nicht mit. Requester oder Ausgabefenster empfehlenswert
- Bilder werden mitvererbt, weswegen man meist Objekte neu anlegen muß, statt auf die Vererbung zurückgreifen zu können
- Es kann nur ein Modell gleichzeitg geöffnet werden
- Keine Funktion zum Schließen von Dialogboxen bzw. Fenstern
- Bildeditor
- Unzureichende Funktionen z.B Clear-Funktion
- Bilder lassen sich nicht rotieren
- Die Bildgröße ist nicht beliebig vergrößerbar
- Editor
- Fehlen von Statistikwerten wie Zeilen/Spaltennummern
- Schlechte Editierfunktionen
- Empfehlenswert wäre das Einbinden von eigenen Editoren
- Debugger
- Bei Fehlern während der Laufzeit kann man die fehlerhafte Methode zwar korrigieren, aber ein Fortführung der Simulation ist nicht möglich
- Compiler
- Fehlermeldungen teilweise unzureichend, z.B. Methode ist fehlerhaft ohne weitere Angaben
Mängel an der Negativ-Exponential-Verteilung bzw. deren Beschreibung
Abbildung in dieser Leseprobe nicht enthalten
Während der Erstellung des Modells in Simple++ stellte sich ein unerwartetes Verhalten der Verteilung ein. Da eine Verteilung in der Spanne von Null bis unendlich von uns als unrealistisch angesehen wurde, haben wir eine linke bzw. rechte Grenze eingeführt. Daraufhin ergaben sich dann Simulationsläufe mit den Ausbringungsmengen in Tabelle 1.
Tabelle 1 : Negativ-Exponential-Verteilung mit Grenzen von 100% Abweichung vom Erwartungswert, 20 Schichten
Die Produktion liegt mit 7880 / 20 = 394 Stück pro Schicht deutlich über den Ergebnissen aus den Tabellen 3 und 4. Diese erhöhte Ausbringungsmenge ist nur durch eine kürzere Produktionszeit in den einzelnen Stationen zu erklären. Dies wiederum ist ein Indikator dafür, daß Simple++ nur die Werte außerhalb der gesetzten Grenzen abschneidet und nicht für eine gleichmäßige Verteilung im geforderten Bereich sorgt. Dadurch ergibt sich ein Erwartungswert, der geringer als der eingestellte ist.
1. Anhang D: Methoden
ChangePicture
-- Bei den Stationen H und P wird das Bild geaendert, da
-- dort die Container gefuellt werden. Dies wird hier fuer
-- das BE gemacht, welches den Sensor ausgeloest hat
is
do
@.BildNr := 1;
-- Und auf die naechste Station umlagern @.umlagern;
end;
Endproduktion
-- Anstoss der Methode erfolgt von den Ausgangssensoren
-- der Endannahmen bzw. wird bei der Fertigstellung der Schaufel
-- von der Methode Fertiges_Produkt aufgerufen
-- Diese Methode ueberfuehrt die gefuellten Container
-- von dem Ende der Warteschlangen (hier eine Einzelstation)
-- zur Endmontage. Die Endmontage besteht aus einer Parallelstation,
-- um die umlagern auch grafisch zu verdeutlichen (Zwei Container
-- befinden sich auf der Parallelstation).
is
do
-- Eine Umlagerung darf nur erfolgen, sofern sich ueberhaupt
-- Container am Ende der Warteschlange befinden und die Endmontage nicht
-- belegt ist.
if Endannahme_P.belegt and Endannahme_H.belegt and Endmontage.leer then
-- Die beiden Container mit den Halbprodukten auf die Parallelstation
-- umlagern
Endannahme_P.inhalt.umlagern (Endmontage[1,1]); Endannahme_H.inhalt.umlagern (Endmontage[2,1]); end;
end;
EndSim
-- Am Ende eines Simulationsdurchganges muessen die Statistiken von den einzelnen
-- Stationen in der Ergebnistabelle gespeichert werden. Dazu dient diese Methode,
-- die automatisch vom Ereignisverwalter aufgerufen wird
is
-- keine localen Variablen do
-- Statistik der Station P speichern
-Schaufelproduktion.Ergebnisse.schreibeZeile (7,FreierPlatz, Station_P.Produktion_P.tAuslastung);
-- Statistik der Station H speichern
-Schaufelproduktion.Ergebnisse.schreibeZeile (6,FreierPlatz, Station_H.Produktion_H.tAuslastung);
-- Statistik der Station M speichern, hier jedoch zunaechst nur die der
-- Station M vorgelagerten Warteschlangen.
-Schaufelproduktion.Ergebnisse.schreibeZeile (9,FreierPlatz, Station_M.Leere_Container_H.Auslastung,
Station_M.Leere_Container_H.maxAnzahlBEs,
Station_M.Leere_Container_P.Auslastung,
Station_M.Leere_Container_P.maxAnzahlBEs,
Station_M.Volle_Container_H.Auslastung,
Station_M.Volle_Container_H.maxAnzahlBEs,
Station_M.Volle_Container_P.Auslastung,
Station_M.Volle_Container_P.maxAnzahlBEs);
-- Statistik der Station M speichern
-Schaufelproduktion.Ergebnisse.schreibeZeile (8,FreierPlatz, Station_M.Vereinigung.Endmontage.tAuslastung);
-- Alllgemeine Beschreibung ueber den Simulationslauf in der Ergebnistabelle
-- ablegen. Dazu gehoert die Anzahl der Kanbans, die Art der Verteilung, welcher
-- Seedstrom benutzt und ueber wieviele Schichten simuliert wurde
Ergebnisse.schreibeZeile (1,FreierPlatz, AnzahlKanban_H, AnzahlKanban_P,
Verteilung,
str_to_num(.SimStart.holeWert("SimZeit")), SeedStrom);
-- Die Anzahl an produzierten Schaufeln in die Tabelle geschrieben
Ergebnisse[17,FreierPlatz] := Schaufelproduktion;
-- Uebernehmen der Vorlaufzeiten in die Ergebnistabelle
Ergebnisse[18,FreierPlatz] := time_to_str(Vorlauf_P);
Ergebnisse[19,FreierPlatz] := time_to_str(Vorlauf_H);
-- Den Index, an welche Stelle in der Tabelle geschrieben wird, um einen erhoehen
-- Eine Moeglichkeit, diesen Zaehler einzusparen : Abfragen der y-Dimension und schreiben
-- in der naechsten Zeile. Dies setzt ein Schreiben in nur einer Methode in
-- Tabelle voraus (zumindest muss paralleles Arbeiten ausgeschlossen werden).
-- Wir haben uns fuer den index entschieden, damit evtl. weitere Eintragungen in
-- die Tabelle unproblematisch erfolgen koennen
FreierPlatz := FreierPlatz + 1;
-- Sollten noch weitere Simulationslaeufe folgen, so wird der
-- naechste Schleifendurchlauf aufgerufen
if SimType = "mehrfach" then
Schleife;
end;
end;
InitMethod
is
do
-- Darstellen des Netzwerkes der Schaufelproduktionsanlage .Schaufelproduktion.oeffneDialog;
-- Ruecksetzen aller Statistikwerte .Schaufelproduktion.initStat;
-- Oeffnen des Fensters fuer die Angaben der Startwerte
-- fuer einen Simulationsgang
-SimStart.zeigeFenster;
-- Simulationstyp zunaechst auf einzel festlegen (und Dreiecksverteilung)
-Schaufelproduktion.SimType := "einzel";
-Schaufelproduktion.Verteilung :="Dreieck"; .SetzeDVerteil;
-- Voreinstellung fuer die Anzahl der zu simulierenden
-- Schichten setzen
-SimStart.setzeWert ("SimZeit","1");
-- Setzen des Zeilenindexes fuer die Ergebnisprotokollierung
-- und freigeben der Tabelle
-Schaufelproduktion.FreierPlatz := 1;
-Schaufelproduktion.Ergebnisse.loeschen;
-- Variable fuer bisher produzierte Schaufeln initialisieren
-Schaufelproduktion.schaufelproduktion := 0;
end;
InitSim
-- Bei jedem Simultaionsdurchgang muessen einige Werte initialisiert
-- werden. Zuum einen werden hier die Statistiken zurueckgesetzt, alle
-- BEs (Container) aus dem Modell geloescht und die neuen, leeren Container
-- in der Warteschlange erzeugt. Anschliessend wird der Ereignisverwalter
-- entsprechend gesetzt und gestartet
is
local
Zaehler : integer; /* Hilfsvariable bei den Schleifen zum Erzeugen von den leeren Containern */
Wert1, Wert2 : string; /* Zwischenspeicher fuer die Anzahl der benoetigten Container */
Schicht : string; /* Zwischenspeicher fuer die Anzahl der zu simulierenden Schichten */
do
-- Anzahl der benoetigten Container aus dem Dialogfenster lesen
Wert1 := .SimStart.holeWert("AnzahlKanban_P");
Wert2 := .SimStart.holeWert("AnzahlKanban_H");
-- und in den Variablen speichern
AnzahlKanban_P := str_to_num (Wert1);
AnzahlKanban_H := str_to_num (Wert2);
-- Vernichten aller BEs (Container) im Netzwerk Schaufelproduktion
-- Dabei werden alle Elemente sowie Netzwerke rekursiv
-- durchlaufen
-Schaufelproduktion.vernichteBEs;
-- Die Anzahl der bisher produzierten Schaufeln auf Null setzen
Schaufelproduktion := 0;
-- Zuruecksetzen der Vorlaufzeiten
-Schaufelproduktion.Zwischenzeit_P := str_to_time ("0.0");
-Schaufelproduktion.Zwischenzeit_H := str_to_time ("0.0");
-Schaufelproduktion.Vorlauf_P := str_to_time ("0.0");
-Schaufelproduktion.Vorlauf_H := str_to_time ("0.0");
-- Schaffung von Container fuer die Produktion von Schaufeln
-- Container fuer das halbfabrikat P
from Zaehler := 0;
until Zaehler = AnzahlKanban_P loop
-Container_P.erzeugen(Station_M.Leere_Container_P); Zaehler := Zaehler +1;
end;
-- Container fuer das Halbfabrikat H
from Zaehler := 0;
until Zaehler = AnzahlKanban_H loop
-Container_H.erzeugen(Station_M.Leere_Container_H);
Zaehler := Zaehler + 1;
end;
-- Initialisierung der Statistiken
-Schaufelproduktion.initStat;
-- Setzen der Einstellungen fuer den Ereignisverwalter
Ereignisverwalter.Echtzeit := FALSE;
Ereignisverwalter.StartStat := 0;
Ereignisverwalter.Datum := str_to_datetime("10.10.96 0:0:00");
-- Simulationsende im Ereignisverwalter einstellen
Schicht := .SimStart.holeWert ("SimZeit");
Ereignisverwalter.Ende := Schichtlaenge * 60 * str_to_num (Schicht);
Ereignisverwalter.Reset;
Ereignisverwalter.oeffneDialog;
-- Simulation starten
Ereignisverwalter.Start;
end;
Produktion_Fertig
-- Diese Methode wird bei Fertigstellung von 20 Schaufel aufgerufen.
-- Sie vernichtet die Container und loest die Methode Endproduktion aus,
-- um evtl. wartende Container in die Produktion aufzunehmen
is
do
Endmontage.vernichteBEs;
-- Anstossen der Methode Endproduktion, da die Moeglichkeit
-- gegeben ist, dass bereits zwei volle Container fuer die
-- Endmontage bereitstehen
Endproduktion;
-- Zaehler fuer die Anzahl der Schaufeln erhoehen
-Schaufelproduktion.schaufelproduktion := .Schaufelproduktion.schaufelproduktion + 20;
end;
RunEverything
-- .Schaufelproduktion.RunEverything. Diese Methode wird zu Anfang
-- einer Simulation aufgerufen, wenn mehrere Durchlaeufe mit verschiedenen
-- Parametern gestartet werden sollen. Sie stoesst dann den
-- ersten Aufruf der Simulation an.
is
do
-- Oeffnen der Statusanzeige waehrend der Simulation
-SimLauf.zeigeFenster;
-- Zaehler_H ist auf Null gesetzt, da bei der Methode
-- loop zunaechst die Variablen erhoeht werden und erst
-- dann die Simulation gestartet wird
SeedStrom := 1;
Zaehler_H := 0;
Zaehler_P := 1;
SimEnde := FALSE;
SimType := "mehrfach";
-- Aufruf der Methode, in der die Simulation x Mal durchlaufen wird
Schleife
end;
RunSingle
-- Oeffnen der Mitteilung, dass eine Simulation ausgefuehrt
-- wird und starten dieser
is
do
-SimLaufEinzel.zeigeFenster; .Schaufelproduktion.InitSim
end;
Schleife
-- .Schaufelproduktion.Schleife. Diese Methode erhoeht die Zaehler
-- fuer die Container solange, bis die eingestellte obere
-- Grenze erreicht wird
is
do
-- Maximale Anzahl von Container H wurde nocht nicht erreicht
if Zaehler_H < max_h then
Zaehler_H := Zaehler_H + 1; else
-- Wenn maximale Anzahl Container H erreicht wurde, auf eins zuruecksetzen und
-- einen mehr von Container P benutzen
Zaehler_H := 1;
if Zaehler_P < max_p then Zaehler_P := Zaehler_P +1; else
Zaehler_P := 1; Zaehler_H := 1;
-- Es wurden alle Kombinationen von Containern durchlaufen,
-- in der letzten Schleife werden die Seedwerte durchlaufen, sofern
-- max_strom > 1 ist
if SeedStrom < max_strom then SeedStrom := SeedStrom + 1;
else
-- Ende der Simulation, schliessen der Fenster und Bestaetigung
-- ausgeben
SimEnde := TRUE; SimType := "einzel"; .DialogEnde;
end;
end;
end;
-- Ausgabe ueber den aktuellen Stand der Simulation, wieviele Laeufe schon
-- fertig sind und wieviel insgesamt gemacht werden sollen.
-SimLauf.setzeText ("mompos",num_to_str((Zaehler_H- 1)*max_p+Zaehler_P+(SeedStrom-1)*max_p*max_h));
-SimLauf.setzeText ("endpos", num_to_str(max_p*max_h*max_strom));
if SimEnde = FALSE then
-SimStart.setzeWert("AnzahlKanban_P",num_to_str(Zaehler_P)); .SimStart.setzeWert("AnzahlKanban_h",num_to_str(Zaehler_H)); InitSim;
end;
end;
SetzeDVerteil
-- Diese Methode setzt bei allen Einzelstationen, wo
-- eine Verweilzeit auftritt, den Typ auf Dreiecks-
-- verteilung und stellt die entsprechenden Parameter
-- ein
is
do
-- Einstellung der Station P, wozu die Einzelstation
-- Produktion_P angepasst wird
-Produktion_P.Verweilzeit.Typ := "Dreieck";
-Produktion_P.Verweilzeit.mu := 1200.00;
-Produktion_P.Verweilzeit.a := 960.00;
-Produktion_P.Verweilzeit.b := 1440.00;
-Produktion_P.Verweilzeit.strom := .Schaufelproduktion.SeedStrom;
-- Einstellung der Station H, wozu die Einzelstation
-- Produktion_H angepasst wird
-Produktion_H.Verweilzeit.Typ := "Dreieck";
-Produktion_H.Verweilzeit.mu := 960.00;
-Produktion_H.Verweilzeit.a := 720.00;
-Produktion_H.Verweilzeit.b := 1200.00;
-Produktion_H.Verweilzeit.strom := .Schaufelproduktion.SeedStrom;
-- Einstellung der Station M, wozu die Einzelstation
-- Endmontage angepasst wird
-Endmontage.Verweilzeit.Typ := "Dreieck";
-Endmontage.Verweilzeit.mu := 1440.00;
-Endmontage.Verweilzeit.a := 1200.00;
-Endmontage.Verweilzeit.b := 1680.00;
-Endmontage.Verweilzeit.strom := .Schaufelproduktion.SeedStrom;
-- Textausgabe fuer den Benutzer
SimStart.setzeText ("Verteilungsart", "Verteilung : Dreieck");
-Schaufelproduktion.Verteilung := "Dreieck";
end;
SetzeNEVerteil
-- Diese Methode setzt bei allen Einzelstationen, wo
-- eine Verweilzeit auftritt, den Typ auf Negativ-
-- exponential-Verteilung und stellt die entsprechenden
-- Parameter ein.
-- Sollte bei der Differenz ein groesser Wert als 100 eingegeben werden,
-- dann werden keine Grenzen gesetzt. Da die Bestimmung der
-- negativ-exponentiellen Verteilung in Simple anscheinend
-- schlecht ist, ist ein Wert groesser 100 auf jeden Fall zu empfehlen
is
do
-- Einstellung der Station P, wozu die Einzelstation
-- Produktion_P angepasst wird
-Produktion_P.Verweilzeit.Typ := "negexp";
-Produktion_P.Verweilzeit.lambda := 1200.00;
if .Schaufelproduktion.Neg_Exp_Diff > 100 then
-Produktion_P.Verweilzeit.linkeGrenze := 0;
-Produktion_P.Verweilzeit.rechteGrenze := 0;
else
-Produktion_P.Verweilzeit.linkeGrenze := 1200.00 - (1200.00 *
(.Schaufelproduktion.Neg_Exp_Diff / 100.00));
-Produktion_P.Verweilzeit.rechteGrenze := 1200.00 + (1200.00 *
(.Schaufelproduktion.Neg_Exp_Diff / 100));
end;
-Produktion_P.Verweilzeit.strom := .Schaufelproduktion.SeedStrom;
-- Einstellung der Station H, wozu die Einzelstation
-- Produktion_H angepasst wird
-Produktion_H.Verweilzeit.Typ := "negexp";
-Produktion_H.Verweilzeit.lambda := 960.00;
if .Schaufelproduktion.Neg_Exp_Diff > 100 then
-Produktion_H.Verweilzeit.linkeGrenze := 0;
-Produktion_H.Verweilzeit.rechteGrenze := 0; else
-Produktion_H.Verweilzeit.linkeGrenze := 960.00 - (960.00 * (.Schaufelproduktion.Neg_Exp_Diff / 100));
-Produktion_H.Verweilzeit.rechteGrenze := 960.00 + (960.00 * (.Schaufelproduktion.Neg_Exp_Diff / 100));
end;
-Produktion_H.Verweilzeit.strom := .Schaufelproduktion.SeedStrom;
-- Einstellung der Station M, wozu die Einzelstation
-- Endmontage angepasst wird
-Endmontage.Verweilzeit.Typ := "negexp";
-Endmontage.Verweilzeit.lambda := 1440.00;
if .Schaufelproduktion.Neg_Exp_Diff > 100 then
-Endmontage.Verweilzeit.linkeGrenze := 0;
-Endmontage.Verweilzeit.rechteGrenze := 0;
else
-Endmontage.Verweilzeit.linkeGrenze := 1440.00 - (1440.00 * (.Schaufelproduktion.Neg_Exp_Diff / 100));
-Endmontage.Verweilzeit.rechteGrenze := 1440.00 + (1440.00 * (.Schaufelproduktion.Neg_Exp_Diff / 100));
end;
-Endmontage.Verweilzeit.strom := .Schaufelproduktion.SeedStrom;
-- Textausgabe fuer den Benutzer
SimStart.setzeText ("Verteilungsart", "Verteilung : Nex-Exp");
-Schaufelproduktion.Verteilung := "negativ-exponentiell"; end;
Start_Produktion
-- Diese Methode wird durch den Eingangsssensor der Parallelstation
-- Endmontage ausgeloest. Sie erzeugt "neue" leere Container auf den
-- Warteschlangen vor der Endmontage. (entspricht dem losschicken eines
-- neuen Kanbans.
is
do
-- Erzeugen der leeren Container
-Container_P.erzeugen(Leere_Container_P); .Container_H.erzeugen(Leere_Container_H); end;
Stop
--Anhalten der SImulation
is
do
-Schaufelproduktion.Ereignisverwalter.stop;
end;
Vorlauf_H
-- Diese Methode ermittelt die Vorlaufzeit fuer das Halbfabrikat H, indem
-- sie bei jedem Container die Erzeugungszeit aufaddiert und durch die
-- Anzahl der eingetroffenen Container teilt (mittlere Vorlaufzeit)
is
do
-Schaufelproduktion.Zwischenzeit_H := .Schaufelproduktion.Zwischenzeit_H + (.Schaufelproduktion.Ereignisverwalter.zeit - @.erzeugt);
-Schaufelproduktion.Vorlauf_H := .Schaufelproduktion.Zwischenzeit_H / .Schaufelproduktion.Station_M.Volle_Container_H.anzahlEin;
end;
Vorlauf_P
-- Diese Methode ermittelt die Vorlaufzeit fuer das Halbfabrikat P, indem
-- sie bei jedem Container die Erzeugungszeit aufaddiert und durch die
-- Anzahl der eingetroffenen Container teilt (mittlere Vorlaufzeit)
is
do
-Schaufelproduktion.Zwischenzeit_P := .Schaufelproduktion.Zwischenzeit_P + (.Schaufelproduktion.Ereignisverwalter.Zeit - @.erzeugt);
-Schaufelproduktion.Vorlauf_P := .Schaufelproduktion.Zwischenzeit_P / .Schaufelproduktion.Station_M.Volle_Container_P.AnzahlEin;
end;
2. Literaturverzeichnis
Neumann, K. (1996): Produktions- und Operations-Management. Springer
AESOP (1995): SIMPLE++ Referenzhandbuch
Häufig gestellte Fragen zum Text
Was ist das Thema dieses Dokuments?
Dieses Dokument ist eine Simulationsstudie, die sich mit dem Produktionsablauf des Spielgeräteherstellers JOY AG befasst. Es wird ein Simulationsmodell mit Simple++ erstellt, um den Produktionsprozess zu analysieren, Schwachstellen aufzudecken und Verbesserungsvorschläge zu machen.
Welche Probleme werden in Bezug auf die JOY AG untersucht?
Die Studie untersucht zwei Hauptprobleme der JOY AG:
- Die optimale Anzahl der Container, die zwischen den Stationen H und M sowie zwischen P und M pendeln sollen (Kanban-Anzahl).
- Die mittlere Vorlaufzeit, d.h. die Zeitspanne zwischen der Sendung eines Kanbans an die Station H oder P und die Bereitstellung eines gefüllten Containers mit diesem Kanban.
Welche Annahmen werden im Modell getroffen?
Das Modell basiert auf den folgenden Annahmen:
- Volle Kapazitätsauslastung der Produktionsstätte.
- Vereinfachung des Kanban-Prinzips, wobei Kanban- und Containerkreisläufe zu einem zusammengefasst werden.
- Die Lagerorte der Container zwischen den Stationen P/H und M sind willkürlich wählbar, da die Transportzeiten vernachlässigbar sind.
Welche Wahrscheinlichkeitsverteilungen werden für die Bearbeitungsdauern an den Stationen berücksichtigt?
Zwei Wahrscheinlichkeitsverteilungen werden betrachtet:
- Dreiecksverteilung mit einer Schwankung von +/-4 Minuten.
- Negativ-Exponential-Verteilung.
Wie ist das Simulationsmodell aufgebaut?
Das Modell ist hierarchisch aufgebaut und besteht aus mehreren Netzwerken, die die einzelnen Stationen (H, P, M) repräsentieren. Das Hauptnetzwerk "Schaufelproduktion" beinhaltet Methoden zur Initialisierung, zum Beenden, zur Durchführung von Schleifen und zur Ausführung der Simulation.
Welche Parameter können im Simulationsmodell eingestellt werden?
Die folgenden Parameter können eingestellt werden:
- Wahrscheinlichkeitsverteilung (Dreiecksverteilung oder Negativ-Exponential-Verteilung).
- Anzahl der Kanbans pro Kreislauf.
- Seedwerte bzw. Wahl des Seedstroms.
- Anzahl der Schichten.
Wie werden die Simulationsläufe durchgeführt und ausgewertet?
Jeder Simulationslauf wird über einen Zeitraum von sieben Schichten durchgeführt. Die Ergebnisse werden in Tabellen festgehalten, einschließlich der prozentualen Auslastung der Maschinen und Staustrecken, der Vorlaufzeiten und der Gesamtausbringungsmenge. Die Daten werden anschließend analysiert, um die Auswirkungen der Parameter auf den Produktionsprozess zu bewerten.
Was sind die Hauptergebnisse der Simulation?
Die Ergebnisse zeigen, dass bei einer Dreiecksverteilung eine Kombination von jeweils einem Kanban pro Kreislauf empfehlenswert ist, um das Ziel von 380 Schaufeln pro Schicht zu erreichen. Bei der Negativ-Exponential-Verteilung sind höhere Kanban-Anzahlen erforderlich, um die Produktionsziele zu erreichen, wobei Station P als Engpass identifiziert wurde. Die Vorlaufzeiten unterliegen bei der Negativ-Exponential-Verteilung großen Schwankungen, was auf die Notwendigkeit von Pufferlagern hinweist.
Welche Kritikpunkte gibt es an Simple++?
Es werden verschiedene Kritikpunkte an Simple++ genannt, darunter das Fehlen einer Undo-Funktion, unzureichende Fehlermeldungen, Mängel beim Bildeditor und Einschränkungen beim Debugger.
Wo finde ich eine Anleitung, um die Simulation selbst durchzuführen?
Ein Anhang B (Kurzanleitung) ist im Text enthalten.
Welche Methoden sind in dem Simulationsmodell enthalten?
Ein Anhang D mit den Methoden des Simutlationsmodells ist enthalten.
- Quote paper
- Andreas Mies (Author), 1996, Simulation des Produktionsablaufs eines Spielgeräteherstellers, Munich, GRIN Verlag, https://www.grin.com/document/95293