72
CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Embed Size (px)

Citation preview

Page 1: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

CHAPTER ELEVEN

Dr. Rami Gharaibeh

BUSINESS SIMULATION

Page 2: 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

Page 3: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Dr. Rami Gharaibeh

Example

you seek to enhance customer satisfaction

CHAPTER ELEVEN

simulating a business process model

Page 4: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 5: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 6: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 7: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 8: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 9: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 10: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 11: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Dr. Rami Gharaibeh

CHAPTER ELEVEN

simulating a business process model

Page 12: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 13: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Dr. Rami Gharaibeh

CHAPTER ELEVEN

simulating a business process model

Page 14: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 15: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Dr. Rami Gharaibeh

CHAPTER ELEVEN

simulating a business process model

Page 16: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 17: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Dr. Rami Gharaibeh

CHAPTER ELEVEN

simulating a business process model

Page 18: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 19: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 20: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Dr. Rami Gharaibeh

CHAPTER ELEVEN

simulating a business process model

Page 21: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 22: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Dr. Rami Gharaibeh

CHAPTER ELEVEN

simulating a business process model

Page 23: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 24: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 25: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Dr. Rami Gharaibeh

CHAPTER ELEVEN

simulating a business process model

Page 26: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 27: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 28: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 29: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 30: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Dr. Rami Gharaibeh

CHAPTER ELEVEN

activities, resources, and jobs

Page 31: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 32: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 33: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 34: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 35: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Dr. Rami Gharaibeh

CHAPTER ELEVEN

Job cycle

Page 36: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 37: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 38: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 39: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Resource statistics include the utilization of each

resource, the total amount of work performed by each resource,

Dr. Rami Gharaibeh

CHAPTER ELEVEN

Resource statistics

Page 40: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Job statistics include the total cycle time of each

job, the total touch time of each job,

Dr. Rami Gharaibeh

CHAPTER ELEVEN

Job statistics

Page 41: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Dr. Rami Gharaibeh

CHAPTER ELEVEN

Collecting statistics

Page 42: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Dr. Rami Gharaibeh

CHAPTER ELEVEN

Collecting statistics

Page 43: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 44: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 45: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 46: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 47: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 48: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 49: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Dr. Rami Gharaibeh

CHAPTER ELEVEN

activity durations

Page 50: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 51: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 52: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

It is also possible to use other distributions: a triangular distribution that peaks somewhere in

the middle,.

Dr. Rami Gharaibeh

CHAPTER ELEVEN

activity durations

Page 53: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

a standard (bell curve) distribution

Dr. Rami Gharaibeh

CHAPTER ELEVEN

activity durations

Page 54: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

or something more sophisticated.

Dr. Rami Gharaibeh

CHAPTER ELEVEN

activity durations

Page 55: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 56: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 57: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 58: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 59: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 60: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 61: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 62: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 63: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

Dr. Rami Gharaibeh

CHAPTER ELEVEN

simulating exclusive gateways

Page 64: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 65: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 66: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 67: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 68: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 69: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

1Job statistics can be analyzed and sorted by the

job attribute.

Dr. Rami Gharaibeh

CHAPTER ELEVEN

simulating exclusive gateways

Page 70: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

2Attribute-based scenarios can be created.

Dr. Rami Gharaibeh

CHAPTER ELEVEN

simulating exclusive gateways

Page 71: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

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

Page 72: CHAPTER ELEVEN Dr. Rami Gharaibeh BUSINESS SIMULATION

the conditionExpression attribute of the lower outgoing sequence flow from the Order Drinks?

Dr. Rami Gharaibeh

CHAPTER ELEVEN

simulating exclusive gateways