Investigación Operativa
Operations Research
Introduction to
ARENA
Departamento de Organización Industrial
September 1, 2022
1. ARENA Basics
2. Example: The Pharmacist
3. Extended Example: The Pharmacist
Continued
ARENA Basics
Arena Environment
Modules:
CREATE
PROCESS
DISPOSE
…
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 3
Operations Research/Investigación Operativa
Processing Entities: Basic Process/Data Modules (i)
Basic Process templates:
• CREATE: To create entities that pass through the model
• DISPOSE: To dispose the entities
• PROCESS: Set of activities experienced by an entity
‐ Delay (Delay entity for the service/activity; no recourse needed)
‐ Seize Delay Release (Seize resource; delay for the service/activity;
release resource)
• DECIDE: To direct the entity through the system by probabilistic and
conditional mechanisms (if/else; while).
Basic Data templates:
• Entity: It is possible to create specific entities (not just generic)
• Resource: Define the resources of your problem.
• Variable/Attribute: Define state variables or Define entity attributes
• Queue: Queue of entities that form in front of processes.
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 4
Operations Research/Investigación Operativa
Creating and Disposing of Entities in ARENA
• CREATE module: the way to introduce entities into a model
Time Between Arrivals
Types:
Arrival rate as a
Random: Uses an Variable
Exponential distribution
Compound arrival:
Schedule: Nonhomogenous
Poisson process with rates Disc(0.2,1, 0.5, 2, 1.0,3)
specified by Schedule module
20% arrival of 1
30% arrival of 2
Constant: Constant time
50% arrival of 3
Expression: List of distributions
or expressions:
Normal, Triangular, Beta, …
Entities per Arrival: Number of entities that will
enter the system at a given time with each arrival
Max Arrivals: Maximum number of arrival events
allowed by the module. It is useful to limit the
number of entities flowing through the model.
First Creation: Starting time for the first entry
to arrive at the system (not applied when the Type is Schedule)
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 5
Operations Research/Investigación Operativa
Creating and Disposing of Entities in ARENA
• DISPOSE module: the entities that come into this module leave the model
Run > Setup > Project Parameters
Time Statistics:
Value Added Time (VA Time)
Non‐Value Added Time (NVA Time)
Wait Time
Total Time
…
Cost Statistics:
Value Added Cost (VA Cost)
Non‐Value Added Cost (NVA Cost)
Wait Cost
Total Cost,…
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 6
Operations Research/Investigación Operativa
Processing Entities: Basic/Advanced Process Modules (ii)
• SEPARATE / BATCH: To duplicate or combine entities in a model
• ASSIGN: To change/update/initialize the value of various attributes and
variables
• READWRITE / FILES: To handle inputs and outputs in a model
• RECORD / STATISTIC: To collect statistics in a module
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 7
Operations Research/Investigación Operativa
1. ARENA Basics
2. Example: The Pharmacist
3. Extended Example: The Pharmacist
Continued
Example 1: The Pharmacist
A demo example
• Customers arrive at a drive‐through
pharmacy window according to a
Poisson distribution with a mean of
10 customers per hour.
• The time it takes the pharmacist to
serve the customer is random, and
data indicate that the time is well
modeled with an exponential
distribution with a mean of 3
minutes.
• Customers who arrive at the
pharmacy are served in the order of
arrival, and we assume that enough File: Pharmacist_chapter_1.doe
space is available within the parking
area to accommodate any waiting
customers.
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 9
Operations Research/Investigación Operativa
Implementing the demo model in Arena (i)
• Using the Basic Process Panel Template, drag the CREATE, PROCESS and DISPOSE
into the model window, and connect them via the module connector.
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 10
Operations Research/Investigación Operativa
Implementing the demo model in Arena (ii)
• Arrival Process
– CREATE module: Poisson process with an arrival rate of 10 customers per hour (6
minutes between two consecutive arrivals)
– Double‐click on the icon to show its module panel and include parameters
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 11
Operations Research/Investigación Operativa
Implementing the demo model in Arena (iii)
• ENTITY module
– ENTITY: Elements that flow through the system (pharmacist’s customers)
– Add a new entry using the double‐click in the spreadsheet window
– Associate a picture to the entity
• RESOURCE module
– An element demanded by entities with finite capacity
– Edit the new entry by clicking the spreadsheet window
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 12
Operations Research/Investigación Operativa
Implementing the demo model in Arena (iv)
• PROCESS module
– PROCESS: Set of activities experienced by an entity
– Processes may be resource‐unconstrained or constrained (example)
– Pharmacist’s example:
• Seize the pharmacist
• Delay in the service
• Release the pharmacist
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 13
Operations Research/Investigación Operativa
Implementing the demo model in Arena (v)
• RUN Setup
– Assumptions:
• The pharmacy is open 24 hours a day, 7 days a week
• The arrival process does not vary over time
• Simulation time: 10,000 hours of operation
• Go to the Run menu item and choose Setup
• The base time units are minutes for output reports
• To run the model:
– Run menu item
– Run toolbar
Fast forward:
Run without animation (Batch mode)
Start over:
Stops the run and starts it again
Animation slider:
To slow down or speed up
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 14
Operations Research/Investigación Operativa
Implementing the demo model in Arena (vi) Half width of the
confidence interval
• ANALYZE Results
– Report Viewer:
51%
busy
Total #
served customers
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 15
Operations Research/Investigación Operativa
Implementing the demo model in Arena (vii)
• ANALYZE Results (cont.)
– Text-based report: the file “modelname.out” in the directory associated to the model
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 16
Operations Research/Investigación Operativa
1. ARENA Basics
2. Example: The Pharmacist
3. Extended Example: The Pharmacist
Continued
Extended Example:
The Pharmacist Continued
Extending/modifying the demo example
• Compound Arrivals: 20% 1 customer, 30% 2 c., and 50% 3 c.
• Customers who arrive at the pharmacy have 1, 2, or 3
prescriptions with 50%, 30%, and 20% probabilities
• The service time mean is 3, 4, and 5 minutes, respectively
• Statistics to collect are the average number of prescriptions
in the system and the average time spent by the customer
• Collecting only the first 30 arrivals
File: Pharmacist_chapter2.doe
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 18
Operations Research/Investigación Operativa
Defining Variables and Attributes
• VARIABLES: quantities that are properties of the system that may change
• Suggestion: its name starts with v (for example, vLambda)
• Variables are used to share information across all modules in the model
• To define a variable is possible through the spreadsheet view or
through a dialog box
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 19
Operations Research/Investigación Operativa
Defining Variables and Attributes (cont.)
• ATTRIBUTE: It is a named property or characteristic of an entity
•Suggestion: its name starts with my (for example, myArrivalTime)
•For example: dimensions, color, reference, ...
• There are predefined attributes that ARENA uses to track entities
‐ IDENT: to identify entities (each entity has a different value)
‐ Entity.SerialNumber: this number is unique when the entity is
created, but it is the same if the entity is cloned
‐ Entity.Type: It is useful to distinguish entities after they are
created. Also, it is used for the entity picture and cost attributes
Predefined attributes User-defined attributes
IDENT Entity.SerialNumber Entity. Type Size Weight Processing Time
1 1001 1 2 33 20
2 1002 2 3 22 55
3 1003 2 1 11 44
4 1004 1 2 33 20
5 1005 1 5 10 14
6 1006 3 4 14 10
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 20
Operations Research/Investigación Operativa
System Performance of the demo model
Variables:
• vNumPrescriptions: Scalar variable that counts the total number of prescriptions
in the system (initial v.=0)
• vNP: a 1D variable with 3 rows and counts the number of customers having 1, 2,
and 3 prescriptions currently in the system
• vServiceMean: a 1D variable with 3 rows representing the mean of the service
distributions for the 3 prescription quantities (initial values = 3, 4, and 5)
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 21
Operations Research/Investigación Operativa
ASSIGN module (where values of variables/attributes are assigned)
DISC(cp1,v1,cp2,v2,…)
Discrete probability function
with probabilities:
Current
Arrival Simulation
Event time
The order of assignments is
very important!
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 22
Operations Research/Investigación Operativa
PROCESS module
Updated statistics with ASSIGN
• Including the service time mean dependent on the number of prescriptions
Updated variables:
• vNumPrescriptions: Subtracting myNP
• vNP: Subtracting only one from the myNP count
• vEventType: Set to 2 as a departure event
This way to index arrays is very common
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 23
Operations Research/Investigación Operativa
READWRITE module (read from/write to a file)
• The READWRITE module helps to debug the model (analyzing arrival and
departure times) in the Advanced Process Panel
• First, it is necessary to define a FILE in the Advanced Process Panel
Sequential File: A text file whose records will be in the same sequence
as they are written
Free format: each value to the file separated by a space
Written Information
TNOW: Current Simulation Time
vEventType: Type of Event
IDENT: Entity identity number
Entity.SerialNumber
myNP: number of prescriptions
for the customer
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 24
Operations Research/Investigación Operativa
READWRITE to FILE
FILE: Customer Trace.txt
2.076914 1.000000 2.000000 1.000000 1.000000
2.076914 2.000000 4.000000 1.000000 1.000000
2.498945 1.000000 2.000000 2.000000 1.000000 0.422032 2.076914
6.400697 3.000000 3.000000 1.000000 3.000000
6.400697 4.000000 6.000000 1.000000 1.000000
6.400697 5.000000 7.000000 1.000000 3.000000
11.064971 2.000000 4.000000 2.000000 1.000000 8.988057 2.076914
26.578563 3.000000 3.000000 2.000000 3.000000 20.177866 6.400697
26.941828 4.000000 6.000000 2.000000 1.000000 20.541131 6.400697
30.096515 5.000000 7.000000 2.000000 3.000000 23.695817 6.400697
37.113203 6.000000 5.000000 1.000000 1.000000
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 25
Operations Research/Investigación Operativa
RECORD module
• Module in the Basic Process Panel
• This module “records” information each time an entity passes through it
• It is necessary to compute the average time in the System
• The options included are:
– Count: Increase o decrease the value of the named counter by a specified value (useful to obtain
statistics about how many entities flow through the model)
– Entity Statistics: Generate general entity statistics (time and cost/duration information)
– Time Interval: To calculate and record the difference between a specified attribute value and the current
simulation time
– Time Between: To track and record the time between entities entering the module
– Expression: To record the value of the specified expression
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 26
Operations Research/Investigación Operativa
Run the model with 30 first arrivals
Maximum number of customers
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 27
Operations Research/Investigación Operativa
Run the model with 10 replications of 30 first arrivals
Maximum number of customers
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 28
Operations Research/Investigación Operativa
Augment the simulation:
Displaying variable values
• Display the number of prescriptions in the System (vNumPrescriptions)
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 29
Operations Research/Investigación Operativa
Augment the simulation:
Plot the Current Number in Queue along the Simulation
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 30
Operations Research/Investigación Operativa
Augment the simulation:
Plot a histogram of the pharmacist current utilization
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 31
Operations Research/Investigación Operativa
ARENA Typical Commands – Distributions/Other commands
Examples of distributions
Exponential: EXPO(value)
Triangular: TRIA(minimum, value, maximum)
Normal: NORM(mean, standard deviation)
Uniform: UNIF(minimum, maximum)
Other useful stuff
TNOW: Current simulation time. TNOW records the simulation clock time as the model
progresses.
TFIN: Final simulation time. TFIN is the ending time scheduled for the replication; it is a
real-valued quantity.
DISC: Discrete cumulative distribution function. DISC(cumulative probability 1, value 1,
cumulative prob.1, value 2, …, c.p.N, value N).
Commands for resources
MR(Resource ID):Resource capacity. MR returns the number of capacity units curre
ntly defined for the specified Resource ID.
NR(Resource ID):Number of busy resource units.
ResUtil(Resource ID):Resource utilization. ResUtil returns the instantaneous utilizatio
n of a resource as a real number between 0 and 1, inclusive.
Check out the ARENA Variables Guide
https://cours.etsmtl.ca/gpa662/documents/Cours/Arena%20Variables%20Guide.pdf
Grado en Ingeniería en Tecnologías Industriales/de Telecomunicación Discrete Event Simulation Modeling 32
Operations Research/Investigación Operativa
Pedro Sánchez (
[email protected])
Andrés Ramos (
[email protected])
Eugenio Sánchez (
[email protected])
Sonja Wogrin(
[email protected])
www.comillas.edu
www.comillas.edu