53
Otto-von-Guericke-Universität Magdeburg Thomas Schulze ARENA Tutorial -1 ARENA Tutorial -1

Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Embed Size (px)

Citation preview

Page 1: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze

ARENA Tutorial -1ARENA Tutorial -1

Page 2: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA 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

Page 3: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 4: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 5: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 5

Example 1Example 1

Page 6: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 6

CreateCreate

Erzeugen von Entities– Es lasen sich verschiedene Entitätstypen definieren

Page 7: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 7

AssignAssign Zuweisen von Werten an Attribute und

Variablen– Variable V_Jobnummer wird inkrementiert

Page 8: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 8

AssignAssign

– Zuweisung des aktuellen wertes der Variablen V_Jobnummer an das Attribut Jobnummer

Page 9: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 9

DisposeDispose

Vernichten von Entities Einbindung einer Statistik

Page 10: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 10

Steuerung der SimulationSteuerung der Simulation

Run ->Setup ->Replication Parameters

Page 11: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 11

StandardresultatausgabeStandardresultatausgabe

Run -> Setup -> Reports

Page 12: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 12

Entity-ReportEntity-Report

Page 13: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 14: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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)

Page 15: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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]

Page 16: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 16

Process-ModulProcess-Modul

Page 17: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 18: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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)

Page 19: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 20: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 20

Process-ModulProcess-Modul

Page 21: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 22: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 22

StatistikenStatistiken

In Run -> Setup -> Project Parameter wird definiert, welche Statistiken gesammelt werden sollen

Page 23: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 23

Ergebnisse Example 3Ergebnisse Example 3

Page 24: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 24

Ergebnisse Example 3Ergebnisse Example 3

Page 25: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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:

Page 26: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 27: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 28: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 28

Example 4Example 4

Page 29: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 30: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -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)

Page 31: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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.

Page 32: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 32

Example 5Example 5

Page 33: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 34: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 35: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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.

Page 36: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 36

Example 6Example 6

Page 37: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 38: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 38

Infinite HoldInfinite Hold

Page 39: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 39

Reihenfolge in der QueueReihenfolge in der Queue

Im Queue-Datenmodul kann die Warteschlangendisziplin beschrieben werden

Page 40: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 41: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 42: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 43: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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)

Page 44: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 45: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 46: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 47: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 48: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 48

Single-ServerSingle-Server

Benötigte Elements

Page 49: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 49

Single-ServerSingle-Server

Benötigte Blöcke

Page 50: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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

Page 51: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 51

Single-Server mit zwei Single-Server mit zwei WarteschlangenWarteschlangen

Page 52: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

Otto-von-Guericke-Universität Magdeburg Thomas Schulze 52

Blockierende QueuesBlockierende Queues

Page 53: Otto-von-Guericke-Universität MagdeburgThomas Schulze ARENA Tutorial -1

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