chapter eleven dr. rami gharaibeh business simulation
Post on 15-Jan-2016
219 Views
Preview:
TRANSCRIPT
CHAPTER ELEVEN
Dr. Rami Gharaibeh
BUSINESS SIMULATION
Dr. Rami Gharaibeh
simulation is useful for training, persuasion, and analysis.
Simulation is also useful for model validation—for finding
and fixing errors in a model.
CHAPTER ELEVEN
benefits
Dr. Rami Gharaibeh
Example
you seek to enhance customer satisfaction
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
Traditionally Mykonos management has thought about customer satisfaction in terms of the
quality of the dishes prepared
You intend to use your new responsibility to consider customer satisfaction more broadly.
want to look at customer wait times and the impact of waits
on satisfaction.
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
Customers have many waitings
They wait for a table to be available. They wait for water, and bread. They wait for the staff to
take their orders. They wait for their food, and they wait for their bills.
You are concerned that all this waiting makes customers dissatisfied
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
You will create two modelsthe customer dining process. how customers
arrive, areseated, have their orders taken, and so on
customer satisfaction. how food quality, wait times, and other factors contribute to customer
satisfaction and how word of mouth and restaurant reviews affect the view of potential
customers and, ultimately, a restaurant’s success.
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
Working with the models, you could examine the effect of different policies on wait times. And the two models could help communicate the results to the restaurant general manager, ultimately persuading him to change his
policies and reduce the wait times.
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
Working with the models, you could examine the effect of different policies on wait times. And the two models could help communicate the results to the restaurant general manager, ultimately persuading him to change his
policies and reduce the wait times.
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
After several sessions with the SME the models were developed
The simulation shows that each customer party waits 46
minutes on average. This 46 minutes includes all the waits
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
The following figure shows an initial simulation result, a breakdown of the average times spent
by customers, organized by activity
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
Wait times vary over the course of the week. Mondays and Tuesdays see far fewer
customers than Fridays and Saturdays, and far shorter waits.
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
Wait times also vary over the course of a single evening. The wait times are shortest both early
and late in the evening and longest in the middle of the evening, when the restaurant is
busiest.
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
after validating the model, we will start the analysis
What happens if the staffing is doubled?What happens on Friday nights if there are two
hosts available to greet and seat customers instead of one, twice as many servers waiting
tables, twice as many chefs cooking meals, and twice as many bartenders mixing drinks?
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating a business process model
Why is the reduction in wait times so modest even
when the staff is doubled?
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating a business process model
The law of diminishing returns
If we are constrained in one resource, the increase in another resource will bring
diminishing returns
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating a business process model
What happens if the staffing is doubled, and the
number of tables is doubled and the kitchen capacity is doubled?
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating a business process model
Most of the waits have disappeared.
the obvious conclusion from this experiment: The restaurant is just not big enough for the
demand on busy nights.
But, doubling the capacity is not realistic !!!
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating a business process model
a more realistic alternative is to change our
policy
What if we ask customers to make reservations on busy nights?
Here are the results
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating a business process model
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating a business process model
People are in fact waiting less.
But that reduced wait comes at a cost: the restaurant is serving fewer people and the bar is serving far fewer drinks to people who are
waiting.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating a business process model
Many other experiments are possible. What if the size of the waiting list is no more than
three parties at a time? What if we staff a single additional server on
Fridays and Saturdays? What if we cross-train the servers, so they could
perform as hosts if the host was busy seating people?
What if we only seated smaller parties—those of six people or fewer?
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating a business process model
Preparing a model for simulation requires some
additional work beyond what is required to create a static, non-simulated model.
But more significantly than the extra work, preparing a process model to be simulated
requires additional knowledge.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activities, resources, and jobs
To create a business process simulation you must
understand activities, resources, and jobs and the way these three interact with each other.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activities, resources, and jobs
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activities, resources, and jobs
activity is a single step in a larger business
process.
A resource is a person who performs the activity
Server is a role the person plays.
A job is something that flows through the process, being worked on by resources and flowing from
activity to activity
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activities, resources, and jobs
A job is created at a start event and flows over sequence flows and message flows from activity
to activity until an end event is reached.
When a job reaches an activity, one of two things can happen. Either a resource is available to
work the job or no resource is available and the job must wait until a resource is available
Dr. Rami Gharaibeh
CHAPTER ELEVEN
Job cycle
While the resource is performing an activity he is
not available to do anything else.
When the resource is finished the activity, the job and the resource separate.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
Job cycle
The resource is available to do something else:
the same activity for another job, another activity for the same job, or another activity in
another process.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
Job cycle
Dr. Rami Gharaibeh
CHAPTER ELEVEN
Job cycle
The simulation engine collects individual
statistics as the simulation progresses—statistics about activities, resources, and jobs.
These statistics are aggregated into the simulation results
Dr. Rami Gharaibeh
CHAPTER ELEVEN
Collecting statistics
The engine collects statistics on each activity,
each resource, and each job. Activity statistics include how many times each activity was performed, the average duration of
each activity, the total cost of each activity.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
Collecting statistics
Activity statistics include how many times each activity was performed, the average duration of
each activity, the total cost of each activity.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
Activity statistics
Resource statistics include the utilization of each
resource, the total amount of work performed by each resource,
Dr. Rami Gharaibeh
CHAPTER ELEVEN
Resource statistics
Job statistics include the total cycle time of each
job, the total touch time of each job,
Dr. Rami Gharaibeh
CHAPTER ELEVEN
Job statistics
Dr. Rami Gharaibeh
CHAPTER ELEVEN
Collecting statistics
Dr. Rami Gharaibeh
CHAPTER ELEVEN
Collecting statistics
To be simulated, activities need additional attributes. Duration is one such attribute. When a job arrives at an activity, how long does the
resource work on it? Each activity has a duration attribute that indicates how long jobs
need to be worked.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activity durations
Activity duration can vary in three different ways.
duration can vary depending on the details of the job
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activity durations
The job that models the party of eight needs to be different from the job that models a party of two.
For this simulation, jobs need their own model-custom attribute, party Size.
A job representing a party of eight will have a party size value of 8, and a job representing a party of
two will have a value of 2.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activity durations
Second, the duration of the activity can vary depending on the details of the resource.
A skilled server will serve drinks quicker than a novice because she remembers who ordered which drink.
The simulation needs to know that this server is quick, that one is average, and this other one is slow.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activity durations
For this model, resources need a model-custom attribute, skill Level, to keep track of skill.
Values of skill level can then be 1 for an average skill, 0.8 for a quick server, and 1.2 for a slow
one.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activity durations
Suppose we want the duration of Take Dinner Order to consider both the skill of the server
and the size of the party. How do we combine those elements?
We need to encode the duration as a formula, perhaps like the duration in the following slide
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activity durations
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activity durations
Third, the duration of the activity can vary randomly. Consider the activity Cook Dinner. The duration of
Cook Dinner might vary from 20 minutes to 45 minutes, depending on what is ordered.
When durations vary randomly, modelers often employ a uniform distribution. Each duration in a uniform distribution within the range is equally
likely; 20 minutes is just as likely as 33 minutes and just as likely as 40 or 45.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activity durations
When durations vary randomly, modelers often employ a uniform distribution. Each duration in
a uniform distribution within the range is equally likely; 20 minutes is just as likely as 33
minutes and just as likely as 40 or 45.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activity durations
It is also possible to use other distributions: a triangular distribution that peaks somewhere in
the middle,.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activity durations
a standard (bell curve) distribution
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activity durations
or something more sophisticated.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activity durations
The statistical distributions (e.g., normal, log-normal, exponential, etc.) often lead to higher model fidelity, but they are usually difficult for
SMEs to understand.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
activity durations
The duration of an activity specifies the work time—the time a person is actually working on a job.
But a job can also experience a delay while it is at an activity, time when no one is actually
working on the job. A resource delay occurs when there is no resource available to work a
job.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
work time and delay time
What happens if the resource starts working on the job then the resource becomes unavailable?
We use the resourceShift attribute
resource- Shift indicates that the job should be given to another resource if the original one
becomes unavailable.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
work time and delay time
In some situations, the resource should be the same as the one used at the prior activity.
The job waits until that particular resource is
available.The activity attribute consistentResource is used
to indicate this situation
Dr. Rami Gharaibeh
CHAPTER ELEVEN
work time and delay time
In addition to resource delays, a job can experience an intrinsic delay.
An intrinsic delay is a delay that occurs as part of the normal work of the job.
It might take 40 minutes to prepare the dinner: 25 minutes of work and 15 minutes of intrinsic delay.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
work time and delay time
When working a single activity, a job can experience both a resource delay and an intrinsic delay.
Cook Dinner includes an intrinsic delay as part of the nature of preparing food. If many dinner orders arrive at once, the chef might have more work than he can do, and some of the dinners suffer delays—resource delays—until the others are finished. (Or the chef could be limited by the
physical resources of the kitchen)
Dr. Rami Gharaibeh
CHAPTER ELEVEN
work time and delay time
Intrinsic delays and resource delays are both delays. In both situations, the job is waiting and
no work is being performed.
But they are modeled differently. If an activity has an intrinsic delay, its
intrinsicDelay attribute will indicate the amount of time that the job is delayed. Resource delay
is not specified in an activity attribute. Instead it is a job waiting for a resource to work it.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
work time and delay time
A delay can also occur in a flow, either in a sequence flow between activities in the same
pool or in a message flow between pools.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
work time and delay time
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating exclusive gateways
In the midst of a simulation, when a job arrives at an exclusive gateway, how does the simulation engine decide which way to send the job? Does this job represent a party that is ordering drinks or one that will move straight to ordering dinner
There are three alternative modeling approaches to this question.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating exclusive gateways
The simplest approach is for each of the outgoing sequence flows from the gateway to indicate a
percentage of jobs.
Each sequence flow has a conditionExpression attribute indicating whether the sequence flow will be taken. One of the sequence flows is a
default; it is the flow taken if none of the others is chosen.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating exclusive gateways
For example, suppose 60 percent of the parties order drinks before dinner and 40 percent do not.
A job that arrives at the gateway will have a 60 percent chance of taking the lower path and a 40 percent chance
of taking the upper path. Each job is evaluated differently, so in the midst of a simulation run, it is
possible for four jobs in succession to beat the odds and all take the upper path. But over the course of hundreds
of jobs, the actual results will be close to 60/40.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating exclusive gateways
A second way of modeling how an exclusive gateway determines the outgoing path is to examine an attribute of
the job.
Suppose that each job in this model had a beforeDinnerDrink attribute, indicating whether the party will order drinks before
dinner. For some of the jobs this attribute is true and for others it is false. Then for each job, the outgoing sequence
flows from Order Drinks? will examine the value of this attribute. Those with a value of false will be sent along the
upper path, and those with a value of true will be sent on the lower path.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating exclusive gateways
There are two advantages of driving a gateway using a job attribute instead of probabilities
evaluated on the sequence flow.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating exclusive gateways
1Job statistics can be analyzed and sorted by the
job attribute.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating exclusive gateways
2Attribute-based scenarios can be created.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating exclusive gateways
There is also a third way to model an exclusive gateway: combining the two approaches and making the gateway split depend on both an
attribute of the job and on a random percentage.
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating exclusive gateways
the conditionExpression attribute of the lower outgoing sequence flow from the Order Drinks?
Dr. Rami Gharaibeh
CHAPTER ELEVEN
simulating exclusive gateways
top related