Chapter 2
Fundamental Simulation Concepts
2.1 An Example
Consider the
example on page 19 on your text.
2.1.1 The
System
What are
queues?
Waiting lines
What is
the initial state of the system?
Full of parts of
parts or empty?
When will
the simulation start?
At time 0 or some
other time?
What is
the interarrival time?
Interarrival time
- time between a part’s arrival and that of the next part
Will parts arrive
every 2 seconds (constant time), 2 minutes (constant time), or according to
some statistical distribution?
What is
the Service Time?
Service time -
time required to process the part on the machine
Will parts be
served in 2 minutes (constant time) or some statistical distribution.
2.1.2 Goals of
the Study
When starting a
study, we must determine the measurements needed to make decisions.
We could collect
information such as:
In the end, we can
collect a lot of information in a computer simulation. In most cases, it does
not cost any more to collect more information than we need so we might as well
collect it. We might discover something we were not looking for.
When collecting
data, we always have to ask:
2.2 Analysis
Options
2.2.1 Educated
guessing
We could guess on
the outcome based upon past experience. We do not have data, but lots of
experience.
What is dangerous
about this approach?
CISCO
Example
2.2.2 Queuing
Theory
What is
Queuing Theory?
Mathematical
models to determine optimum solutions.
What are
problems associated with queuing theory?
Problems with
queuing theory:
Queuing theory
can provide:
2.2.3
Mechanistic Simulation
What is
mechanistic simulation?
The individual
operations (arrivals, service by the machine, etc) occur as they would occur in
reality - represented on the computer. (ARENA)
2.3 Pieces of a
Simulation Model
2.3.1 Entities
What are
entities?
Entities are
typically parts or people that move through the process.
Entities:
Entities are
dynamic - they are created, move around the process, and are disposed
We can have
several different types of entities in a simulation at one time, such different
parts to be manufactured which require different processing times and routes.
We can have
"fake" entities in the simulation to represent things like machine
failures. There is less need for this feature now that simulation languages
have become more sophisticated.
2.3.2
Attributes
What are
attributes?
Attributes are
characteristics of an entity that distinguish from other entities, such as its
arrival time, due date, priority or color.
Attributes
individualize entities.
Attributes
describe entities.
For each entity we
must assign attributes, change them as needed and used them as part of the
simulation. Thus attributes are unique to each entity.
2.3.3 Variables
(Global)
What is
a variable?
A variable (or a
global variable) is a piece of information that reflects some characteristic of
the process, regardless of what or how many entities are present.
Examples:
Number in System
(user created) - number of part (entities) in the system. When a part is
created, the variable increases by 1. When a part is shipped, the variable
decreases by 1.
Status of machine
(ARENA created) - provides information about the current state of a machine
(busy, idle, or down).
Two Types:
Variables are not
tied to any specific entity, but pertain to the entire process.
They are
accessible to all entities and may be changed by entities.
2.3.4 Resources
What are
resources?
Resources - people,
equipment, storage space, money, knowledge, raw material
In simulation,
resources are "seized" and "released" by entities when they
are available.
Availability (or
what percent some resource is busy) is often something we want to know as modelers.
Resources are
often modeled as a group of identical units. For example, you might want to
model agents at an airline ticket counter as a resource with 5 identical units
rather than five unique individuals.
It is better to
think of a resource as being "given" to an entity rather than being
assigned to an entity since an entity could need service from several
resources. For example - a part might need a machine and a person to operate
the machine, which requires 2 resources.
Not all
resources are equal.
Some operators may
be more efficient than others. Some machines may be more reliable than others.
Some machines may run faster than others.
2.3.5 Queues
What is
a queue?
A queue represents
a place for parts or people to wait.
In many cases, a
machine or resource is busy and the part/person must wait until it becomes
available.
Queues are also
referred to as buffers.
In Arena, queues
are given names just like other entities in the process.
Queues have often
a limited capacity.
What
happens when the queue is full?
2.3.6
Statistical Accumulations
Arena tracks
several statistics for you such as:
And many others…
We may have to
direct Arena to track statistics that are unique to our situation
2.3.7 Events
What is
an event?
An event is
something that happens at an instant of simulated time that might change
attributes, variables, or statistical accumulators.
Examples:
Arrival - a new
part enters the system
Departure - A part
finishes its service at the machine and leaves the system
The end - The
simulation stops at time = 15 minutes
Events cause other
actions to happen which are not defined as events, such as when a part is
completed at one server, another part is taken from the queue without requiring
a separate event.
To simulate a
process, ARENA uses an event calendar to keep track of events that are supposed
to happen in the future.
A record of the
event is kept on the calendar. This
record contains the identification of the entity, the event time, and the type
of event it will be.
2.3.8
Simulation Clock
What is
the simulation clock?
A variable that
holds the current value of time in the simulation.
The simulation
clock does not take on all values and run continuously. It lurches from one
event to the next without stopping for time between events that does matter.
Why does
the clock operate with "lurches"?
Nothing happens
between events, so there is no need to waste "real" time looking at
simulated times that do not matter.
The simulation
clock works closely with the event calendar: at initialization and after executing
every event.
After an event is
executed, it is taken off the event calendar and the simulation clock lurches
forward to the time of the next event.
TNOW = the ARENA
defined variable the keeps track of the simulation time
2.3.9 Starting
and Stopping
Designate when you
want the simulation to stop. You can do this with a specific time or number of parts
to be produced.
2.4
Event-Driven Hand Simulation
Step through the
example in your book
2.5 Event and
Process-Oriented Simulation
Flowchart mindset
but executed in event code
2.6 Randomness
In Simulation
When we model a process,
we are trying to represent reality.
The real world is
somewhat random. The process we are modeling does not occur the same way every
time.
To make our model
more closely resemble reality, we need to include a measure of randomness.
To do this, we use
probability distributions from which observations are generated.
With the
probability distribution in place, we can run the model several times to see
how the process varies.
2.7 Overview of
a Simulation Study