• Keine Ergebnisse gefunden

Simulation kontinuierlicher Materialflüsse

Ebene 1 - Materialfluß

5.5 Auflösung von Zyklen

und geringer sein muß als die verfügbare Kapazität. Die Kapazität ist durch die verfügbare Anzahl an Maschinenstunden je Periode definiert.

Die gleiche Formulierung findet sich auch in Drexl u. Haase (1995, S. 75), Fleischmann u. Meyr (1997, S. 12). Diese Verbindung zwischen der verbrauchten und der verfügbaren Kapazität ist eine Standardfor-mulierung im Bereich der Losgrößenmodelle, die implizit annimmt, daß die Produktionsgeschwindigkeit innerhalb des Planungszeitraums konstant bleibt und sich nur zwischen den Produkten und Maschinen unterscheidet.

Der Einsatz einer linearen Funktion ist für die Standard-Losgrö-ßenmodelle ausreichend, würde den zukünftigen Anwendungsbereich jedoch zu sehr einschränken. Daher wurde die Definition auf die Klasse der monoton steigenden Funktionen erweitert. Anwendungen von nicht-linearen Materialflüssen stellt Chubanov u. a. (2008, S. 878) vor, durch Erweiterung des Standard-Losgrößenmodells auf eine nicht gleichför-mige Auslastung der Maschine.

r1 r2 r3

4

1 2

1 4

Berechnung der Sekundärbedarfe bei einem Pri-märbedarf vonr3=30

r1=4r2 r2= 1

2r3+1 4r2 r3=30

⇒ −→r =

0 4 0 0 14 12 0 0 0

−→r +

 0 0 30

−→r =

1 163 83 0 43 23

0 0 1

 0 0 30

=

 80 20 30

Abbildung 5.5: Beispiel für die Berechnung der Produktionsmengen bei einem Zyklus in der Erzeugnisstruktur

können. Dies ist jedoch nicht für alle Gleichungssysteme möglich, so daß diese Alternative im allgemeinen Fall nicht anwendbar ist.

Die Abhängigkeit kann anhand des Beispiels in Abbildung 5.5 ge-zeigt werden. Die Bedarfsauflösung vonr3=30führt zunächst zu einem direkten Bedarf vonr2=15. Damit ist jedoch nicht der gesamte Bedarf anr2 gedeckt, da zur Herstellung vonr2 noch einen Anteil anr2 not-wendig ist. Die Bedarfsmengen in diesem einstufigen Zyklus lassen sich durch Auflösung der Produktionsgleichung mit Hilfe der Direktbedarfs-matrix lösen (Schneeweiß 2002, S. 51). Das Beispiel zeigt, daß bereits die Berechnung von Produktionsmengen im statischen Fall durch die Existenz von Zyklen wesentlich aufwendiger ist, als eine stufenweise Bedarfsauflösung.

Eine weitere Methode zur Lösung von algebraischen Zyklen ist das Aufbrechen der Zyklen. Ausgehend von einem Startpunkt in der Be-rechnung wird am letzten Punkt vor dem Schließen des Zyklus eine Hilfsvariable hinzugefügt. Die Berechnung wird anschließend sequenti-ell durchgeführt und der Wert in der Hilfsvariablen nach jeder Berech-nung angepaßt. Durch mehrfache Wiederholung wird der berechnete

Wert an den tatsächlichen Wert mit einer vorgegebenen Genauigkeit approximiert (auch als „Implicit Loop Solver“ bezeichnet, vgl. Cellier 1991, S. 30). Dieser iterative Prozeß muß bei jeder Zustandsänderung durchgeführt werden, was entsprechend rechenintensiv ist.

Berechnung von Materialflüssen

Durch die Beschränkung der Materialflußfunktionen auf eine zeitliche Abhängigkeit kann jedoch ein anderes Verfahren angewendet werden, welches ähnlich arbeitet wie ein „Implicit Loop Solver“, jedoch eine wesentlich geringere Rechenzeit benötigt. Der Algorithmus ist in den Abbildungen 5.6 bis 5.7 auf den Seiten 130–131 dargestellt.

Gegeben sei eine Erzeugnisstruktur, die durch einen gerichteten Graphen dargestellt wird. Der Graph kann sowohl ein- ,als auch mehr-stufige Zyklen enthalten. An einem Knoten tritt eine Zustandsänderung ein, oder der Zustand wird abgefragt (vgl. Definition 2). Ausgehend von diesem Startknotenk werden rekursiv alle Vorgänger V(k) und NachfolgerN(k)besucht, bis alle Kanten im Graphen besucht wurden.

Knoten, die bereits besucht worden sind, werden nicht noch einmal besucht. Bei jedem Besuch einer Kante wird der Status aktualisiert, d. h. der Materialfluß zwischen der letzten Aktualisierung und dem aktuellen Zeitpunkt wird berechnet und unmittelbar unter Umgehung der ereignisbasierten Methoden ausgeliefert bzw. angefordert. Der Zeit-punkt der letzten Aktualisierung definiert den internen Zustand eines kontinuierlichen Materialflusses. Dieser wird mit jedem Durchlauf ak-tualisiert. So ist sichergestellt, daß nur die Zeitdifferenz zwischen dem letzten Durchlauf und dem aktuellen Zeitpunkt in die Berechnung der Menge einbezogen wird. Ohne diese Zustandsfortschreibung würden die Mengen bei nachfolgenden Aufrufen mehrfach berechnet werden.

Enthält eine Kante keinen kontinuierlichen, sondern einen diskre-ten Materialfluß, so wird sie nicht berücksichtigt. Befindet sich der Algorithmus am Zielknoten des diskreten Materialflusses, so wird der Vorgängerknoten nicht besucht. Gleiches gilt für den symmetrischen Fall des Startknotens. Der Grund hierfür ist die Eigenschaft eines diskreten

Materialflusses, daß er zustandslos ist. Der Materialfluß findet ohne Zeitverzögerung zum Beginn oder am Ende der Produktion statt.

Das frühzeitige Abbrechen der Rekursion bei diskreten Materialflüs-sen kann bei entsprechenden Erzeugnisstrukturen auch die Anzahl an Kanten verringern, die für eine Neuberechnung durchlaufen werden müssen. Abschnitte der Struktur, die durch keine aktiven Materialflüsse verbunden sind oder nur durch diskrete Materialflüsse werden automa-tisch isoliert und für die Neuberechnung ignoriert.

Das Verhalten der Knoten im Bezug auf die unmittelbar eingehen-den Materiallieferungen/-anforderungen hängt von der Art des Knotens ab. Quellen und Senken können aufgrund ihrer unbegrenzt vorhan-denen Kapazität jede Anforderung und Lieferung sofort annehmen.

Ressourcen hingegen benötigen Inputfaktoren zur Herstellung der Out-putfaktoren. Da sie keine Speicherfunktion besitzen, führen sie nur eine Aktualisierung aller kontinuierlichen ein- und ausgehenden Ströme durch.

Das Verhalten der Lagerknoten ist entscheidend für das Aufbrechen der Zyklen. Lagerknoten besitzen die Eigenschaft, daß sie Material speichern können. Die Speicherfunktion ist durch Ober- und Untergren-zen beschränkt, die während einer Simulation nicht verletzt werden dürfen. Die ereignisorientierten Methoden zur Materiallieferung und -anforderung berücksichtigen diese Beschränkungen und reagieren auf Verletzungen. Während einer Aktualisierung der Materialflüsse hinge-gen ist dieses Verhalten nicht erwünscht, da innerhalb der Rekursion Materialüberschüsse oder -fehlmengen entstehen können. Diese Dif-ferenzen entstehen aufgrund der Bearbeitungsreihenfolge und sind temporärer Natur, da nach Abschluß aller Berechnungen ein Saldo erstellt wird und dieser Saldo anschließend mit dem Lagerbestand endgültig verrechnet wird. Erst bei diesem letzten Berechnungsschritt werden die oberen und unteren Grenzen überprüft und bei einer Über-oder Unterschreitung entsprechende Aktionen ausgelöst. Die Reihen-folge der Schritte Materialfluß-Auslieferung und Materialfluß-Anfrage ist willkürlich gewählt worden und kann auch in umgekehrter Folge ausgeführt werden.

Mit Hilfe dieses Algorithmus lassen sich alle Erzeugnisstrukturen,

Zustandsaktualisierung Parameter:

k {Startknoten}

Rekursiver Durchlauf mit Knoten k - Durchführung aller Materialfluß-Anfragen

Rekursiver Durchlauf mit Knoten k - Durchführung aller Materialfluß-Auslieferungen

Rekursiver Durchlauf mit Knotenk- Saldierung aller Bedarfe mit den Lagerbeständen

Abbildung 5.6: Algorithmus „Aktualisierung der Zustände“

die in Abschnitt 5.3 vorgestellt worden sind, simulieren, auch wenn alle Kanten aus kontinuierlichen Materialflüssen bestehen. Somit gibt es für die Simulation keinerlei Einschränkungen bezüglich der Struktur des Produktionsnetzwerkes. Im Gegensatz zu einer Berechnung mit Differentialgleichungen lassen sich die Materialbewegungen zu einem beliebigen Zeitpunkt berechnen, ohne daß weitere Berechnungen seit dem Zeitpunkt der letzten Zustandsänderung notwendig sind.

Ein numerisches Beispiel ist in den Abbildungen auf Seite 134 dar-gestellt. Die Produktionsstruktur entspricht dem Beispiel aus Abbil-dung 5.5 auf Seite 127, ergänzt um Zwischenlager zwischen den Kno-ten. Es wird angenommen, daß die Lager auf den Kanten(r1,r2)und (r2,r3)auch in der Produktion vorhanden sind. Der Zyklus in der Pro-duktionsstruktur wurde ebenfalls um eine Lager ergänzt, daß in der Realität nicht existiert, aufgrund der Anforderungen an die Kombinati-on vKombinati-on Knoten aber eingefügt werden mußte (vgl. Abschnitt 5.8.4 auf Seite 161). Die obere und untere Grenze dieses Zwischenlagers liegt bei Null, d. h. es darf zu keinem Zeitpunkt einen Lagerbestand enthalten.

Abbildung 5.8a auf Seite 133 zeigt die gesamte Produktionsstruktur, Abbildung 5.8b den Ausschnitt, der im folgenden Beispiel betrachtet wird. Es wird angenommen, daß auf allen Kanten ein kontinuierlicher Materialfluß aktiv ist. Die Materialflußfunktionen wurden so gewählt,

Rekursiver Durchlauf Parameter:

k {Startknoten}

Knotenkbesucht?

J N

vV(k),V(k)ist die Menge der direkten Vorgänger von Knotenk

Materialfluß auf Kante (v,k) kontinuierlich?

N J

Berechne den Materialfluß auf der Kan-te(v,k)und führe die entsprechenden Materialbewegungen durch.

Markierekals besuchten Knoten Rekursiver Durchlauf mit Knotenv Markierekals nichtbesuchten Knoten

nN(k),N(k)ist die Menge der direkten Nachfol-ger von Knotenk

Materialfluß auf Kante (k,n) kontinuierlich?

N J

Berechne den Materialfluß auf der Kan-te(k,n)und führe die entsprechenden Materialbewegungen durch.

Markierekals besuchten Knoten Rekursiver Durchlauf mit Knotenn Markierekals nichtbesuchten Knoten

Abbildung 5.7: Algorithmus „Berechnung der Materialflüsse in Erzeug-nisstrukturen mit Zyklen“

daß die in Abbildung 5.5 auf Seite 127 berechneten Mengen nach einer Produktionsdauer vont=5erreicht werden. Die Lageranfangsbestän-de in allen Bauteilen sollen nicht berücksichtigt werLageranfangsbestän-den, da nur eine Betrachtung der Materialflüsse erfolgt. Die Abbildungen enthalten nur die wichtigsten Schritte des Algorithmus. Die Teilschritte, in denen das Netzwerk durchlaufen wird und keine Berechnung von Materialflüs-sen erfolgt (z. B. weil ein Knoten bereits besucht wurde), sind nicht aufgeführt.

Das Beispiel in Abbildung 5.9 zeigt den Zustand des Systems im Zeitpunktt=2. Die Aktualisierung erfolgt im Lager am Ende der Pro-duktionsstruktur. Über die aktive Kante wird der Vorgängerknoten, die Ressource erreicht. Die Ressource aktualisiert alle eingehenden Ma-terialflüsse und erreicht das Zwischenlager, welches in die zyklische Verbindung eingefügt wurde (vgl. Abbildung 5.9a). Der davon in die Ressource eingehende Materialfluß wird berechnet und mit den tempo-rären Lagerbeständen verrechnet.

Im zweiten Schritt (vgl. Abbildung 5.9b) erreicht der Algorithmus vom Lager aus wieder die Ressource und beendet den Teil der Ver-zweigung, da die Ressource bereits besucht wurde. Ausgehend von der Ressource wird der anderen Vorgängerknoten - das vorgelagerte Lager - erreicht und auch hier der Materialfluß berechnet und mit den

tem-porären Lagerbeständen saldiert. Damit ist der rekursive Durchlauf in diesem Teil der Anlage beendet und die Materialauslieferungen können erfolgen.

Der dritte Schritt durchläuft wieder ausgehend vom ersten Lager das Netzwerk und erreicht die Ressource. Der ausgehende Material-fluß wird berechnet und mit dem temporären Lagerbestand verrechnet (vgl. Abbildung 5.9c). Der zweite ausgehende Materialfluß - zum Zwi-schenlager innerhalb des Zyklus - wird im vierten Schritt in Abbildung 5.9d berechnet. Der Lagerbestand des Zwischenlagers innerhalb des Zyklus entspricht jetzt genau 0, so daß die Annahmen über das Zwi-schenlager erfüllt sind. Die anderen Lagerbestände in Höhe von 12 und -32 entsprechen genau 40% (t =2 bei einer Produktionsdauer von t = 5) der im statischen Fall berechneten Produktionsmengen (vgl. Abbildung 5.5 auf Seite 127). Sie werden mit den bestehenden

16·t 16·t 6·t 6·t

t t

(a)

16·t 6·t

t t

(b)

Abbildung 5.8: Produktionsstruktur des Beispiels zur Berechnung der Materialflüsse in zyklischen Strukturen

Lagerbeständen in einem letzten Schritt verrechnet. Die dabei zu be-rücksichtigenden Grenzzustände aufgrund der Ober-/Untergrenzen der Lager werden in Abschnitt 5.7 auf Seite 137 beschrieben.