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

Preview:

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

Recommended