MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
INTRODUCTION TO SIMULATION
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
WHAT IS SIMULATION?
• The imitation of the operation of a real-world
process or system over time (i.e. dynamic)…
Engineering Business
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
WHAT IS SIMULATION?
• Simulations are:
– Most widely used tool for decision making (alongside
Mathematical modelling etc.)
– Usually done on a computer with appropriate software
– An analysis (descriptive) tool – can answer what if
questions
– A synthesis (prescriptive) tool –can be used to suggest best
course of action
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
WHERE IS SIMULATION APPLIED
• Applied to complex systems that are impossible to
solve mathematically (e.g. with LP)
– Complexity may refer to issues related to size or nature or
both (randomness) inherent in the system
• We’ll focuses on one form of simulation modelling –
discrete-event simulation modelling
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
APPLICATIONS
• Systems – facility or process, actual or planned.
– Manufacturing facility
– Bank operation
– Airport operations
– Transportation/logistics/distribution operation
– Hospital facilities (ER, operating room, admissions)
– Computer networks
– Business process (insurance office)
– Chemical plant,
– Fast-food restaurant
– Supermarket
– Theme park, Emergency-response system …
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
SYSTEM
• A set of interacting components or entities operating
together to achieve a common goal or objective.
• Systems, such as the ones on the previous slide are
mostly highly complex in nature
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
WHAT/HOW TO STUDY A SYSTEM
• Measure/estimate performance
• Improve operation What??
• Prepare for failures
System
Experiment Experiment with Experiment with a
with the a physical model mathematical model
How?? actual system of the system of the system
Mathematical
Analysis Simulation
OM - course DSS - course
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
MATH. MODEL (MM) vs. SIMULATION
• MM is an abstract and simplified representation of a
system
– It only specifies important components and make
assumptions/approximations about how the system works
– Not an exact re-creation of the original system!
• If model is simple enough, study it with Queueing
Theory, Linear Programming, Differential Equations...
• If model is complex, Simulation is the only way!!!
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
GETTING ANSWERS FROM MODELS
ACTUAL SYSTEM
Operating Policies
Single queue, parallel servers
FIFO
(Y) Output Parameters
(X)
Waiting Times
Input Parameters MODEL System Size
No of servers
Utilizations
Inter-arrival Time Distribution
Y = f (X)
Service Time Distributions
relationships
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
STOCHASTIC MODELS
• Randomness or uncertainty is inherent
• Example: Bank with customers and tellers
m
l
m
ACTUAL SYSTEM QUEUEING MODEL
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
CLASSIFICATION OF SIMULATION MODELS
Static (Monte Carlo) Dynamic Systems
Represents the system at a particular Represents the system behaviour over
point in time time
IID observations Continuous Simulation:
• (Stochastic) Differential Equations
• Estimation of Probabilities
• Risk Analysis in Business • Water Level in a Dam
Discrete Event Simulation:
• System quantities (state variables)
change with events
• Queueing Systems
• Inventory Systems
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
HOW TO SIMULATE
• By hand
– Buffon Needle and Cross Experiments (see Kelton et al.)
• Spreadsheets (EXCEL)
• Programming in General Purpose Languages
– Python
• Simulation Languages
– SIMAN
• Simulation Packages
– Arena
• Issue: Modeling Flexibility vs. Ease of Use
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
ADVANTAGES OF SIMULATION
• When mathematical analysis methods are not available,
simulation may be the only investigation tool
• When mathematical analysis methods are available, but
are so complex/costly (expertise/time/money/effort…)
that simulation may provide a simpler solution
• Allows comparisons of alternative designs or alternative
operating policies
• Allows time compression or expansion
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
DISADVANTAGES OF SIMULATION
• For a stochastic models, simulation estimates the
output while an analytical solution, if available,
produces the exact output
• Often expensive and time consuming to develop
• An invalid model may result in wrong results
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
STEPS IN A SIMULATION STUDY
15
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
STEPS IN A SIMULATION STUDY
Model
No
conceptualization Experimental
Design
Setting of Yes
Problem objectives Model Yes
Verified? Validated? Production runs
formulation and overall translation
project plan and analysis
No
Yes Yes
Data No More runs?
collection
No
We’ll follow the same steps Documentation
Implementation and reporting
in your projects
16
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
PROBLEM FORMULATION
• A statement of the problem is needed so that:
– the problem is clearly understood by the simulation
analyst
– the formulation is clearly understood by the client
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
SETTING OF OBJECTIVES & PROJECT PLAN
• Determine the questions that are to be answered
• Identify scenarios to be investigated
• Decision criteria
• Determine the end-user
• Determine data requirements
• Determine hardware, software, & personnel
requirements
• Prepare a time plan
• Cost plan and billing procedure
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
GETTING ANSWERS FROM MODELS
Scenario ACTUAL SYSTEM
Operating Policies
Single queue, parallel servers
FIFO
Decision criteria
Data requirements (X) (Y) Output Parameters
(need to learn Queuing Theory)
Input Parameters
MODEL Waiting Times
System Size
No of servers
Utilizations
Inter-arrival Time Distribution Y = f (X)
Service Time Distributions relationships
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
WHAT/HOW TO STUDY A SYSTEM
• Measure/estimate performance
• Improve operation What??
Must align to your
• Prepare for failures Questions to be answered
System
Experiment Experiment with Experiment with a
with the a physical model mathematical model
How?? actual system of the system of the system
Mathematical
Analysis Simulation
OM - course DSS - course
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
MODEL CONCEPTUALIZATION
Real World System
Verbal Problem
(Client)
Assumed system
(analyst/client)
Assumed system
(analyst)
model Formulation
Conceptual model
…
Logical model
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
CONCEPTUAL MODEL
Examples:
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
CONCEPTUAL MODEL
• Abstract essential features
– Events, activities, entities, attributes, resources, variables,
and their relationships
– Performance measures
– Data requirements
• Select correct level of details (assumptions)
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
One more Very Important thing!!
• Download and install student version of Arena from
[Link]
• Its is extremely important that all of you are ready
with Arena on your laptops when we’ll start using it
in the class…
25
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
COMPONENTS OF A SYSTEM
• Entity: is an object of interest in the system
– Dynamic objects — get created, move around, change
status, affect and are affected by other entities, leave
(maybe)
– Usually have multiple realizations floating around
– Can have different types of entities concurrently
Example: Health Center
Patients
Visitors
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
COMPONENTS OF A SYSTEM
• Attribute: is a characteristic of all entities, but with a
specific value “local” to the entity that can differ
from one entity to another.
Example: Patient
Type of illness,
Age,
Gender,
Temperature,
Blood Pressure
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
COMPONENTS OF A SYSTEM
• Resources: what entities compete for
– Entity seizes a resource, uses it, releases it
– Think of a resource being assigned to an entity, rather than
an entity “belonging to” a resource
– “A” resource can have several units of capacity which can
be changed during the simulation
Example: Health Center
Doctors, Nurses
X-Ray Equipment
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
COMPONENTS OF A SYSTEM
• Variable: A piece of information that reflects some
characteristic of the whole system, not of specific
entities
– Entities can access, change some variables
Example: Health Center
Number of patients in the
system,
Number of idle doctors,
Current time
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
COMPONENTS OF A SYSTEM
• State: A collection of variables that contains all the
information necessary to describe the system at any
time
Example: Health Center
{Number of patients in the
system,
Status of doctors (busy or
idle),
Number of idle doctors,
Status of Lab equipment, etc}
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
COMPONENTS OF A SYSTEM
• Event: An instantaneous occurrence that changes the
state of the system
Example: Health Centre
Arrival of a new
patient,
Completion of service
(i.e., examination)
Failure of medical
equipment, etc.
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
COMPONENTS OF A SYSTEM
• Activity: represents a time period of specified length.
Example: Health Center
Surgery,
Checking temperature,
X-Ray.
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
LOGICAL (FLOWCHART) MODEL
• Shows the logical relationships among the elements
of the model
2 Departure event
L(t)=L(t)-1
NO YES
B(t)=0 Q(t)> 0 ? Q(t)=Q(t)-1
Generate service &
schedule new departure
L : # of entities in system 3 Collect & update statistics
Q : # of entities in queue TB, TQ, TL, N
B : # of entities in server
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
STEPS IN A SIMULATION STUDY
Model
No
conceptualization Experimental
Design
Setting of Yes
Problem objectives Model Yes
Verified? Validated? Production runs
formulation and overall translation
project plan and analysis
No
Yes Yes
Data No More runs?
collection
No
Documentation
Implementation and reporting
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
DATA COLLECTION & ANALYSIS
• Collect data for input analysis and validation
Both topics will be covered later
• Analysis of the data
– Determine the random variables
– Fit distribution functions
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
MODEL TRANSLATION
• Simulation model executes the logic contained in the
flow-chart model
Coding
General Purpose Language Special Purpose Simulation Language/Software
Examples: Examples:
JAVA, C++, Visual BASIC SIMAN, ARENA, EXTEND
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
ARENA EXAMPLE
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
JAVA EXAMPLE
• public static void main(String argv[])
• {
• Initialization();
• //Loop until first "TotalCustomers" have departed
• while (NumberofDepartures < TotalCustomers)
• {
• Event evt = FutureEventList[0]; //get imminent event
• removefromFEL(); //be rid of it
• Clock = evt.get_time(); //advance in time
• if (evt.get_type() == arrival) ProcessArrival();
• else ProcessDeparture();
• }
• ReportGeneration();
• }
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
VERIFICATION AND VALIDATION
• Verification: the process of determining if the
operational logic is correct.
– Debugging the simulation software
• Validation: the process of determining if the model
accurately represents the system.
– Comparison of model results with collected data from the
real system
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
VERIFICATION AND VALIDATION
Real World System
VALIDATION Conceptual model
Logical model
VERIFICATION
Simulation model
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
EXPERIMENTAL DESIGN
• Alternative scenarios to be simulated
• Type of output data analysis (steady-state vs.
terminating simulation analysis)
• Number of simulation runs
• Length of each run
• The manner of initialization
• Variance reduction (advanced topic)
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
ANALYSIS OF RESULTS
• Statistical tests for significance and ranking
(advanced topic)
– Point Estimation
– Confidence-Interval Estimation
• Interpretation of results
• More runs?
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
DOCUMENTATION & REPORTING
• Program Documentation
– Allows future modifications
– Creates confidence
• Progress Reports
– Frequent reports (e.g. monthly) are suggested
– Alternative scenarios
– Performance measures or criteria used
– Results of experiments
– Recommendations
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
IMPLEMENTATION
SUCCESS
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
Nextup
• Review/Learn some basic stats
• Learn data collection and input analysis related to
simulation
• Learn model validation and verification
• Some basic simulation by hand (queueing)
• Learn Arena
• Perform simulation
47
MIS 502: Decision Support Systems
“If you can think it; you can do it!” ― Richmond Akhigbe
One more Very Important thing!!
• Download and install student version of Arena from
[Link]
• Its is extremely important that all of you are ready
with Arena on your laptops when we’ll start using it
in the class…
48