0% found this document useful (0 votes)
36 views

Introduction To Arena: Dave Goldsman

The document provides an introduction to Arena, a discrete-event simulation software package. It discusses some key concepts in discrete-event simulation including systems, models, entities, attributes, events and the simulation clock. It also describes the process-interaction modeling approach used in Arena and how a simulation works by maintaining a future events list. The document gives an overview of the modules in Arena and explains common elements like entities, resources, queues, and basic process modules for creating, processing, deciding and disposing of entities.

Uploaded by

Elif Ceylan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views

Introduction To Arena: Dave Goldsman

The document provides an introduction to Arena, a discrete-event simulation software package. It discusses some key concepts in discrete-event simulation including systems, models, entities, attributes, events and the simulation clock. It also describes the process-interaction modeling approach used in Arena and how a simulation works by maintaining a future events list. The document gives an overview of the modules in Arena and explains common elements like entities, resources, queues, and basic process modules for creating, processing, deciding and disposing of entities.

Uploaded by

Elif Ceylan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

Introduction to Arena

Dave Goldsman
Georgia Tech
Atlanta, GA, USA
[email protected]
www.isye.gatech.edu/~sman

(thanks to Seong-Hee Kim and Barry Nelson)

5/21/2010 DG,SHK,BLN 1
Overview
„ We now move to the design and
analysis of dynamic systems that evolve
through time.
„ We’ll use Arena, from Rockwell
Software, which is one of several
popular “discrete-event” simulation
software packages.

5/21/2010 DG,SHK,BLN 2
Some Definitions
„ A system is a collection of interacting entities (e.g., people, machines).

„ A model is an abstract representation of a system, describing the


system in terms of states, entities, sets, events, etc.

„ The system state is a set of variables containing enough information to


describe the system.

„ An entity is an object or component explicitly represented in the model.


Can be permanent (e.g., machine) or temporary (e.g., customers).

„ Attributes are properties of entities (e.g., priority of a customer).

„ An event is a point in time at which the system state changes. E.g., an


arriving customer finding the server busy.

„ The simulation clock is a variable whose value = simulated time.


5/21/2010 DG,SHK,BLN 3
Modeling Approaches
There are two modeling approaches for the design and analysis of
dynamic systems that evolve through time.

„ Event-Scheduling Approach. Concentrate on the events and


how they affect the system state. We help the simulation
evolve over time by keeping track of every event. This is a
bookkeeping hassle. You might use this approach if you
program in C++, Java, or FORTRAN.

„ Process-Interaction Approach. We use this approach.


Concentrate on a generic customer (entity) and the sequence of
events and activities it undergoes as it progresses through the
system. At any time, the system may have many entities
interacting with each other as they compete for resources. You
do the generic customer modeling in this approach, but the
computer simulation language (e.g., Arena) handles the event
scheduling and bookkeeping. Saves lots of programming effort.
5/21/2010 DG,SHK,BLN 4
How Does a Simulation Work?
„ Every simulation language maintains a future events
list (FEL). This is the list of all activities' scheduled
times of completion ― the list of all the events that
we know about.

„ The FEL is a set of events ordered by time.


„ It can be updated any time an event occurs
„ The simulation proceeds by…
„ executing the next time-ordered event,
„ updating the FEL (if necessary), and
„ repeating
„ Arena uses the P-I approach and transparently maintains the
FEL (so you don’t have to).

5/21/2010 DG,SHK,BLN 5
Arena World View
„ Arena takes the process interaction
world view.
„ Entities flow through a network of
modules that describe their logical
behavior.
„ We describe the network by developing
a process flowchart.

5/21/2010 DG,SHK,BLN 6
Flowchart Approach

E xit Facility

0
B roken Items R epair Inspect Ok?
Tr e
u

0
0 0
0 False

5/21/2010 DG,SHK,BLN 7
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.
5/21/2010 DG,SHK,BLN 8
Entities
„ Entities are dynamic
elements that pass
through the system.
Entities are
1: Kyle
„
2: Shepard
distinguished by 3: basketball

their attributes. 1: Chris

„ Ex: people, parts, 2: Caruso

information, 3: baseball

paperwork, etc.
5/21/2010 DG,SHK,BLN 9
More on Entities
„ Entities must be
Created to get them
into the model, and
are Disposed when 1: 948
2: 22.765
they leave. 3: 0

„ Unfortunately,
attributes must be
numerical values.

5/21/2010 DG,SHK,BLN 10
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.

5/21/2010 DG,SHK,BLN 11
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).
„ And Resources can be animated.

5/21/2010 DG,SHK,BLN 12
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.

5/21/2010 DG,SHK,BLN 13
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

5/21/2010 DG,SHK,BLN 14
Basic Process Modules
Push (possibly) batches of
entities into the model with a
(possibly) random time between.
Models Queue-Seize-Delay-
Release of Resource, or any part
of this (like pure Delay).
Make decisions about where to
go next based on conditions or
chance.
Take entities out of the model
and (perhaps) record statistics.

5/21/2010 DG,SHK,BLN 15
Basic Process Modules
Assign values (especially
Assign 1 Attributes) when an entity
passes through.
Record information when
Record 1
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.

5/21/2010 DG,SHK,BLN 16
Example
The decision is “2-
Create item entities; way by chance”
note that “Random” with 90% chance
time between of being “true.” E xit Facility

0
means Exponential
0
B roken Items R epair Inspect Ok?
Tr e
u

0
0 0
0 False

The delay can be given


Action is “Seize-Delay- by an expression, in this
Release” to represent case Expo(0.125),
a queue. exponential with mean
0.125.

5/21/2010 DG,SHK,BLN 17
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.

5/21/2010 DG,SHK,BLN 18
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.

5/21/2010 DG,SHK,BLN 19
Queue Animation
„ The default queue is the
sideways T.
„ The queue symbol can
be dragged anywhere,
or reoriented. To lengthen the queue
„ Often need to make the symbol, select it, grab the
end, and pull.
queue picture longer
(which has no effect on
queue capacity).

5/21/2010 DG,SHK,BLN 20
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)

5/21/2010 DG,SHK,BLN 21
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.
5/21/2010 DG,SHK,BLN 22
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.

5/21/2010 DG,SHK,BLN 23
Example
Use a Seize-Delay (with
delay 0) here to get a Use a Delay-Release
Cart resource (with delay 0) to free
up the Cart resource

Each part type has a


unique Process

Two different entity


types are created Use the entity type in 2-way by Condition
decision.

5/21/2010 DG,SHK,BLN 24
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

5/21/2010 DG,SHK,BLN 25
Basic Process Variables
„ Create „ Assign
Name.NumberOut Name.NumberOut
„ Process „ Batch
Name.NumberIn Name.NumberOut
Name.NumberOut „ Separate
Name.WIP Name.NumberOut Orig
Name.NumberOut Dup
Name.WaitTime
„ Record
„ Decide Name.NumberOut
Name.NumberOut True
Name.NumberOut False „ Dispose
Name.NumberOut

5/21/2010 DG,SHK,BLN 26
Example

We can use the


internal variable
Repair.WIP to create a
dynamic plot of the
number of parts at the
Repair Process

5/21/2010 DG,SHK,BLN 27
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.

5/21/2010 DG,SHK,BLN 28
Batch and Split
„ Entities are processed in a batch of size two and then
the system split entities that were combined.

5/21/2010 DG,SHK,BLN 29
If one chooses “Permanent” as Type,
batched entities will never be split.

Separate module can


be used to generate
a duplicate of an entity.
An example will
be shown when we discuss
Advanced Input Modeling.

5/21/2010 DG,SHK,BLN 30
Demos
„ Single-Server Queue
„ Multiple Arrival Streams
„ Call Center
„ Manufacturing Cell
„ Immunization Clinic
„ Pandemic Influenza Model

5/21/2010 DG,SHK,BLN 31

You might also like