Arena Basics: Isye 6644 Seong-Hee Kim (Georgia Tech) Barry Nelson (Northwestern)
Arena Basics: Isye 6644 Seong-Hee Kim (Georgia Tech) Barry Nelson (Northwestern)
Overview
We now move to the design and analysis of dynamic systems that evolve through time. We will use Arena, from Rockwell Software, which is one of several popular discrete-event simulation software packages.
Seong-Hee Kim 2
Flowchart Approach
E xit Facility
0
B roken Items R epair Inspect Ok?
T r e u
F al se
Seong-Hee Kim
About modules
Arena contains a very large number of modules that are organized into panels. The panels are structured from high level to low level concepts:
Basic Process Advanced Process & Advanced Transfer Blocks & Elements (a programming language)
Our goal is not to learn lots of modules, but rather to understand concepts that allow us to learn new modules as needed.
Seong-Hee Kim 5
Entities
Entities are dynamic elements that pass through the system. Entities are distinguished by their attributes. Ex: people, parts, information, paperwork, etc.
Seong-Hee Kim
More on Entities
Entities must be Created to get them into the model, and are Disposed when they leave. Unfortunately, attributes must be numerical values.
Seong-Hee Kim
1: 948 2: 22.765 3: 0
Queueing
Entities queue when they need processing. In Arena
An entity tries to Seize a Resource. The time the entity uses the resource is the Delay. If the resource is not available, the entity waits in a Queue. The entity Releases the resource when processing is complete.
Seong-Hee Kim
Resources
Resources have
A Name (up to you) A Capacity (number of identical units of this resource; think # of servers). And can have a Schedule (how many available when).
More on Resources
Resources are automatically defined by some modules (e.g., Process) Resources can be defined manually, and the properties of all resources are changed, via the Resources spreadsheet on the Basic Process panel. There is also a Schedule spreadsheet for specifying Resource schedules.
Seong-Hee Kim 10
More on Queues
Queues are created automatically by some modules (e.g., Process), and can be defined manually. Properties of a queue, including the ranking rule, are defined via the Queue spreadsheet.
First-in or Last-in first out Lowest or Highest attribute value first
Seong-Hee Kim 11
0
Proc ess 1
Push (possibly) batches of entities into the model with a (possibly) random time between. Models Queue-Seize-DelayRelease of Resource, or any part of this (like pure Delay).
0
0
D ecide 1
True
Make decisions about where to go next based on conditions or chance. Take entities out of the model and (perhaps) record statistics.
False
Dispose 1
Seong-Hee Kim
12
Assign values (especially Attributes) when an entity passes through. Record information when entities pass through, typically statistics on entities. Combine multiple entities into a single entity. Split multiple entities that were combined, or duplicate a single entity.
Seong-Hee Kim 13
Record 1
Batch 1
0
Separate 1
Original
Duplicate
Create item entities; note that Random time between means Exponential
Example
The decision is 2way by chance with 90% chance of being true.
E xit Facility
0
B roken Items R epair Inspect Ok?
T r e u
F al se
The delay can be given by an expression, in this case Expo(0.125), exponential with mean 0.125.
Seong-Hee Kim 14
Basic Animation
Entity movement (via module connections) and queues are automatically animated. The entity movement does not correspond to the passage of simulated time. Later we will learn how to animate transportation delays.
Seong-Hee Kim 15
Entity Animation
The Entity spreadsheet allows you to change the entity picture for each entity type. The Entity Type is a name, usually given when the entity is created.
Create: Entity Type: Items
An Assign module can be used to change the entity Type or Picture as it moves through the model.
Seong-Hee Kim 16
Queue Animation
The default queue is the sideways T. The queue symbol can be dragged anywhere, or reoriented. Often need to make the queue picture longer (which has no effect on queue capacity).
To lengthen the queue symbol, select it, grab the end, and pull.
Seong-Hee Kim
17
Resource Animation
Clicking the resource button lets you add a resource picture. You select pictures for the Busy, Idle, Inactive and Failed states. The Identifier must be the name of a resource already in the model (e.g., defined by a Process)
Seong-Hee Kim 18
Delays
Arena gives a default distribution for time between creations (Random = Expo) and delay (Triangular). If we want to put in a different distribution, we select Expression and enter the appropriate Arena function, such as WEIB, POIS, etc. We often get the expressions from the Input Analyzer.
Seong-Hee Kim 19
Seize-Delay-Release
Seize-Delay-Release need not be done in a single Process. One Process may be used to Queue and Seize the resource, a number of other modules may represent the processing, and yet another Process may finally Release the resource.
Seong-Hee Kim 20
Example
Use a Seize-Delay (with delay 0) here to get a Cart resource
Type A P rocessing
0
A P arts
0 0
Get C art S plit by P art Type
T rue
Free C art
Get Out
0 0
F al se
B P arts
Internal Variables
Arena keeps a number of internal variables continually updated. These variables are useful for making choices in a Decide module, displaying in animated plots, or for recording statistics. The basic syntax is Name.Quantity
Seong-Hee Kim 22
Assign Name.NumberOut Batch Name.NumberOut Separate Name.NumberOut Orig Name.NumberOut Dup Record Name.NumberOut Dispose Name.NumberOut
Seong-Hee Kim 23
Example
We can use the internal variable Repair.WIP to create a dynamic plot of the number of parts at the Repair Process
Seong-Hee Kim
24
Simulated Time
The simulation keeps its own internal clock that jumps forward from event time to event time. The time on the simulation clock is accessible through the Arena variable TNOW. TNOW is useful for marking entities or making time-based decisions.
Seong-Hee Kim 25
Seong-Hee Kim
26
Separate module can be used to generate a duplicate of an entity. An example will be shown when we discuss Advanced Input Modeling.
Seong-Hee Kim
27