Upload
hinrich-krueger
View
218
Download
2
Embed Size (px)
Citation preview
Otto-von-Guericke-Universität Magdeburg Thomas Schulze
ARENA Tutorial -1ARENA Tutorial -1
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 2
ARENA TutorialARENA Tutorial
1. Historisches2. Basis-Elemente3. Ergebnisanalyse4. Modellierung von Transportvorgängen5. Integration mit anderen Systemen6. Customizing7. Kontinuierliche und kombinierte Modelle
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 3
BasiselementeBasiselemente
Arena-Modelle bestehen aus Modulen Module
– flowcharts» Beschreiben den Prozess für Entitäten» Sind untereinander verbunden» Create, Dispose, Process, Decide, Batch, Separate, Assign,
Record
– data» Beschreiben Objekte für die Prozesse» Entities, Resources, Queues» Statische Objekte: Variable, Schedule, Sets
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 4
Example 1Example 1
An einem Drucker treffen in zufälligen Abständen Druckjobs ein
Modellierung:– Erzeugen der Jobs– Zuweisung einer Jobnummer– Vernichten der Jobs (ohne eigentliches Drucken)
Werte zur Simulation:– ZE entspricht 1 Sekunde– Zwischenankunftszeit gleichverteilt [10,20]– Ende der Simulation nach 600 ZE
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 5
Example 1Example 1
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 6
CreateCreate
Erzeugen von Entities– Es lasen sich verschiedene Entitätstypen definieren
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 7
AssignAssign Zuweisen von Werten an Attribute und
Variablen– Variable V_Jobnummer wird inkrementiert
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 8
AssignAssign
– Zuweisung des aktuellen wertes der Variablen V_Jobnummer an das Attribut Jobnummer
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 9
DisposeDispose
Vernichten von Entities Einbindung einer Statistik
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 10
Steuerung der SimulationSteuerung der Simulation
Run ->Setup ->Replication Parameters
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 11
StandardresultatausgabeStandardresultatausgabe
Run -> Setup -> Reports
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 12
Entity-ReportEntity-Report
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 13
Einfache Einfache ProzessbeschreibungProzessbeschreibung
Einfache Zeitverzögerung Bedingungsabhängige Verzögerung
– Spezialfall : Belegung einer Resource– Allgemeiner Fall
Totale Blockierung Verzweigen und Zusammenführen
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 14
Einfache ZeitverzögerungEinfache Zeitverzögerung
Einfache Zeitverzögerung mit dem Modul Process– Auch für Verzögerungen im Zusammenhang mit
einer Resource Angabe einer Verzögerungszeit
– Wird in dem Modul berechnet– Verwendung von Datenmodulen (Attributen,
Variablen, Sequences)
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 15
Example 2Example 2
Grundidee von Example 1 Der Job wird im Netz um eine Zeit verzögert
– Gleichverteilung [ 9,19]
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 16
Process-ModulProcess-Modul
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 17
Bedingungsabhängige Bedingungsabhängige Verzögerung Verzögerung
Bedingung– Warte bis eine Resource belegt werden kann
Zusätzliche Aktionen– Belege diese Resource um eine definierte Zeit– Gib die Resource wieder frei, so dass eine
wartende Entität diese Resource wieder belegen kann
Wird im Process-Modul abgebildet
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 18
ResourceResource
Einheit, um Entitäten aufzunehmen Entität kann die Resource nur belegen, wenn freie
Einheiten vorhanden sind (Seize) Wartende Entitäten werden in einer
Warteschlange gesammelt Verfügt über eine Kapazität, die sich während der
Simulation verändern kann Nach dem Verlassen einer Entität wird versucht,
wartende Entitäten nachrücken zu lassen (Release)
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 19
Example 3Example 3
Grundidee von Example 1 Der Drucker wird als Resource nachgebildet Die Verweilzeit im Drucker ist:
– Gleichverteilung [9,19] Statistiken sind zu erstellen
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 20
Process-ModulProcess-Modul
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 21
Process-ModulProcess-Modul
Im Process-Modul wird die Action– Seize-Delay-Release selektiert
Die Resource Drucker (Datenmodul) definiert und ausgewählt
Die Zeitverzögerung für eine Entität in der Resource beschrieben
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 22
StatistikenStatistiken
In Run -> Setup -> Project Parameter wird definiert, welche Statistiken gesammelt werden sollen
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 23
Ergebnisse Example 3Ergebnisse Example 3
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 24
Ergebnisse Example 3Ergebnisse Example 3
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 25
Bedingungsabhängige Bedingungsabhängige VerzögerungVerzögerung
Vielfach lässt sich eine Resource zur Nachbildung von Bedingungen verwenden, dann ist die Verwendung von Process zu empfehlen
Allgemeiner wird die Bedingung durch den den Hold-Modul beschrieben (Advanced Process Template)
Die Entitäten warten in einer Queue Der Hold-Module unterscheidet drei Formen:
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 26
Hold-ModuleHold-Module
Scan for Condition– Entitäten warten in der Queue, bis eine
Bedingung wahr wird Wait for Signal
– Entitäten warten in der Queue auf ein bestimmtes Signal ( Wird von einer anderen Entität erzeugt)
Infinite Hold– Entitäten warten, bis eine andere Entität sie aus
der Queue mit Remove herausholt
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 27
Example 4Example 4
Fahrzeuge kommen an einer Kreuzung an. In Abhängigkeit vom Zustand der Lichtsignalanlage (LSA) können sie weiterfahren, oder sie müssen warten
Die LSA wird in einem separatem Prozess gesteuert
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 28
Example 4Example 4
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 29
Hold mit ScanHold mit Scan
Zur Nachbildung des Wartens auf „grün“ wird der Hold-Modul verwendet
Bedingung:Variable V_LSA = 1
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 30
Verändern der BedingungVerändern der Bedingung Der Prozess zur Beschreibung der LSA-Steuerung setzt in
periodischen Abständen die Variable V_LSA auf 1 oder 0. Beschreibung als Zyklus wäre günstiger (Sprachelemente
sind noch nicht verfügbar)
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 31
Example 5Example 5
Ein Produzent liefert 5 verschiedene Teile in ein Lager. Die Zwischenankunftszeit ist exponential-verteilt und die Verteilung auf die Teilarten ist gleichmäßig.
Ein Kunde kommt an dem Lager vorbei und entnimmt alle Teile einer bestimmten Teileart. Die Zwischenankunftszeit ist exponential-verteilt und die Verteilung auf die Teilearten ist ebenfalls gleichmäßig.
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 32
Example 5Example 5
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 33
Hold mit SignalHold mit Signal Jedem ankommenden Teil wird sein Teiletyp zugewiesen
(Attribut Teiletyp) Die im Lager anbekommenden Teile warten auf das Signal
entsprechend ihres Teilstyps
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 34
Auslösen des SignalsAuslösen des Signals Jedem Kundenauftrag wird der Teiletyp (Attribut
TeiletypOrder) zugewiesen. Für diesen Teiletyp wird ein Signal gegeben
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 35
Example 6Example 6
Ein Lieferant legt Rohteile in einem Lager (Pool) ab. Jedem ankommenden Teil wird eine Bearbeitungszeit zugeordnet. Die Teile werden absteigend nach ihren Bearbeitungszeiten im Lager sortiert.
Ein Disponent prüft ob Teile im Lager vorhanden sind, wählt das erste Teil entsprechend der Strategie aus und gibt den Auftrag an die Fertigung frei.
Nach der Abarbeitung wird der Disponent über das Ende der Bearbeitung informiert und er überprüft erneut den Pool auf vorhandene Aufträge.
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 36
Example 6Example 6
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 37
Infinite HoldInfinite Hold
Bei dem Infinite Hold wird die Entität in einer Queue verzögert.
Sie kann nur durch eine andere Entität mittels Remove-Module aus dieser Queue entfernt werden
In dem Remove-Modul muss die Position der zu entfernenden Entität angeben werden
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 38
Infinite HoldInfinite Hold
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 39
Reihenfolge in der QueueReihenfolge in der Queue
Im Queue-Datenmodul kann die Warteschlangendisziplin beschrieben werden
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 40
Hold mit Scan für den Hold mit Scan für den DisponentenDisponenten
Der Disponent wartet bis mindesten 1 Auftrag im Pool ist
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 41
Freigabe des AuftragesFreigabe des Auftrages
Mittels Remove wird der Auftrag auf der ersten Position aus dem Pool ausgewählt
Ausgewählte Entität wird zu „Verabeiten“ verzweigt
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 42
Warten auf das Ende der Warten auf das Ende der BerabeitungBerabeitung
Der Disponent wartet auf das Ende der Bearbeitung
Das Ende wird durch ein Signal angezeigt
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 43
Weitere Basic-Process-Weitere Basic-Process-ModuleModule
Decide– Gestattet 2- und n-Wege Verzweigungen– Bei 2-Wege-Verzweigung wird nur ein Ausgang
verwendet– Bei der n-Weg-Verzweigung wird durch jeden
erfüllten Ausgang eine Entität geschickt ( neue Entitäten werden generiert)
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 44
Weitere Basic-Process-Weitere Basic-Process-ModuleModule
Batch, Separate– Gruppenbildung von Entitäten– Temporär
» Können mittels Separate-Modul wieder aufgelöst werden
– Permanent» Können nicht wieder aufgelöst werden
– Entitäten werden verzögert, bis eine bestimmte Anzahl erreicht ist
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 45
StatistikenStatistiken
Tally-Statistics (discrete-time statistics)– Statistische Parameter über eine Menge von Werten– Beobachtungen zu diskreten Zeitwerten
Time-persistent-Statistics– Statistische Parameter über Größen, die sich über der
Zeit verändern (mittlere Warteschlabgenlänge) Counter-Statistics
– Einfache Zählungen
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 46
Record-ModulRecord-Modul
Mit dem Record-Module werden die Tally- und die Counter-Statistic unterstützt
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 47
Modellierung auf dem Modellierung auf dem SprachlevelSprachlevel
Die Sprache SIMAN bildet die Grundlage SIMAN-Anweisungen
– Entitätenfluß» Blocks-Panel
– Objekte» Elements-Panel
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 48
Single-ServerSingle-Server
Benötigte Elements
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 49
Single-ServerSingle-Server
Benötigte Blöcke
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 50
Single-Server mit zwei Single-Server mit zwei WarteschlangenWarteschlangen
Zwei unterschiedliche Teile werden in zwei getrennten Puffern gelagert.
Die Maschine wählt vorrangig Teile aus dem Puffer 1 zur Bearbeitung aus
Modellierung mit zwei Warteschlangen Ankommende Teile werden mit QUEUE-
detach in den Warteschlangen aufgehalten
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 51
Single-Server mit zwei Single-Server mit zwei WarteschlangenWarteschlangen
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 52
Blockierende QueuesBlockierende Queues
Otto-von-Guericke-Universität Magdeburg Thomas Schulze 53
Auswahl aus QueuesAuswahl aus Queues
QPICK-Modul erlaubt die Auswahl von Entitäten aus unterschiedlichen Warteschlangen nach bestimmten Regeln