BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

38
BU.520.601 BU.520.601 Decision Models Simulation 1 Simulation Summer 2013

Transcript of BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

Page 1: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 1

BU.520.601 Decision Models

Simulation

Summer 2013

Page 2: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 2

• Many definitions.• It is the process of studying

the behavior of a real system using a computer-based model that replicates the behavior of that system.

• Used in situations involving probabilistic elements (e.g. random arrivals, service times and process yields)

• Used in situations where the complexity or the size of the problem makes it difficult to use optimizing models.

• Useful in both service or manufacturing systems.

SimulationSimulation Simulation ProcessSimulation Process

Page 3: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 3

Simulation characteristicsSimulation characteristicsIn a simulation model we have “transactions” (customers, cars, ..) and “events” (arrivals, receiving service, departure,..).

• When probability distributions are associated with events, we use a method called random deviate generation to get numbers from the probability distribution to simulate events.

• Timing of event may or may not be important in a simulation.

For simulation of a warehouse operation, if inventory is charged on items at the end of the month, we do not need to know precise timing of withdrawal of items. We only need to know how many items were withdrawn during the month.

For simulation of toll booths, we need timings of two types of events – when each car arrives and how long it takes to pay.

• When time is involved, simulation may be done by changing simulation clock in fixed increment or by changing clock from one event to the next (this is the preferred method).

Page 4: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 4

Simulation is not an optimization tool, rather we try to establish values of performance measures to arrive at better decision making. Here is an example.

Suppose we would like improve customer satisfaction at a bank drive-in facility. We study arrival patterns, service times etc., and simulate the operation with one drive-in window, with two and may be with three drive-in windows.

Obviously three windows will be most satisfactory from the customer point of view. But then we take into account the cost (initial and operating) and other factors to make the final decision.

Simulation characteristics..cont

We will use EXCEL for some simple simulation exercises.

In EXCEL we will use a function RAND() quite frequently. This function is volatile (it recalculates all the time). You should disable automatic calculations (switch to manual). Press F9 key and all values are recalculated.

Page 5: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 5

Ex. 1Ex. 1 Simulate the tossing of a coin.

Model construction: No simulation clock is involved• Each transaction will be the toss of a coin. We will generate 500

transactions (an arbitrary decision). • We will assume that the coin is “fair”. The random variable X

takes two values (0, 1 for T and H) with equal probabilities.

• To generate of a transaction, we need a very simple formula. Generate a random number (RN).

• If RN < 0.5, it’s a head; otherwise it’s a tail.• In Excel, we will use the following formula in 500 cells

=IF(RAND()<0.5,"H","T“).

Performance measure: We will compute the probability of tails based on our simulation to see if it is close to 0.5.

Page 6: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 6

Ex. 1..Ex. 1.. Excel: Simulate the tossing of a coin.

Page 7: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 7

Generating random deviates (variates)Generating random deviates (variates)• For every probability distribution, as the variable X goes the

minimum value to the maximum value, the cumulative probability increases from 0 to 1.

• Random number generators produce numbers between 0 to 1 (uniform distribution). Thus for any value of a random number, there is one matching point on the cumulative distribution of X. We match the value and generate X.

• RAND() generates a random number (say RN, 0 RN < 1). function automatically.

For the discrete uniform distribution , when X varies between integers A and B, Excel has a special function

= RANDBETWEEN(A, B).

Discrete uniform distributionDiscrete uniform distribution

A A+1 … B-1 B X

Page 8: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 8

We get corresponding X value (= 400).

300 400 500 600 X

1.0

0.0

F(X)

Suppose we pick RN = 0.632.

0.632

Empirical distributionEmpirical distribution

The logic is simple. We match RN with cumulative probability.

If RN < 0.3, X = 300.

If 0.3 RN < 0.7, X = 400.

If 0.7 RN < 0.9, X = 500.

If 0.90 RN < 1.0, X = 600

Demand: X 300 400 500 600

Pr(X) 0.3 0.4 0.2 0.1

F(X) 0.3 0.7 0.9 1.0

We need cumulative probabilities.

Page 9: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 9

F(X) 0.3 0.7 0.9 1.0Using LOOKUPUsing LOOKUP

What is the value of X if RN = 0.632?

300 400 500 600 X

1.0

0.0

F(X)

0.632

Suppose we use HLOOKUP to find demand corresponding to F(X) = 0.632

We need to use the function without exact match. But since 0.3 < 0.632 < 0.7, Excel will match the value equal to 300.

To avoid this, we need to replace F(X) with some variable G(X), in which F(X) values are shifted to the right.

G(X) 0.0 0.3 0.7 0.9

Demand: X 300 400 500 600

Demand: X 300 400 500 600

Pr(X) 0.3 0.4 0.2 0.1

Page 10: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 10

Ex. 2Ex. 2 Ships arrive in the night at a facility with two docks.

Model construction: We will start with a flow chart

If a dock is available in the morning, it is assigned to a waiting ship for the whole day and the ship leaves in the evening. If a dock cannot be assigned, there is a fee of $10,000 per day per ship. Simulate the operation and estimate the annual fee.

Arrival distributionX 0 1 2 3 4 5

Pr(X) 0.30 0.30 0.20 0.10 0.05 0.05

Population

QueueArrival

Dock 1

DepartureDock 2

Our model is simpler because both docks take 1 day to process.

Page 11: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 11

Population

QueueArrival Docks:

Service 1 or 2

Departure

Ex. 2..Ex. 2..

• Every day, we will generate new arrivals with HLOOKUP. Assume ship arrive between midnight and 6 a.m. These ships will be added to the queue.

• We will assign up to 2 ships from the queue (assumed FIFO – First In First Out) and calculate remaining ships waiting. These waiting ships will incur fee for that day.

• We will simulate the operation of a year and calculate the fee.• We can replicate the experiment many times.

Performance measure: We will compute the annual fee.

Dock simulation

Page 12: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 12

Ex. 2…Ex. 2…

Run for 365 days

Simulation generated

?

Excel: Dock simulation

Page 13: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 13

Ex. 2….Ex. 2…. Excel: Dock simulation

0 1 2 3 4 5 6 7 >70

50

100

150

200

250

Frequency of ships waiting

No of ships

No

of d

ays

Page 14: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 14

Ex. 2…..Ex. 2…..

Arrivals are generated with HLOOKUP.

Excel: Dock simulation

Page 15: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 15

Random Deviates: Continuous distributionsRandom Deviates: Continuous distributions

Suppose X has continuous probability distribution (range 100 to 500) and we can find the cumulative distribution F(X). Every F(X) varies between 0 and 1.

We can use random numbers (RN) to generate X values because RN also vary between 0 and 1 and there is a one to one correspondence.

We can find corresponding X value (say 264).

0.52

Suppose we pick RN = 0.52.

264

F(X)

100 X 500

1.0

0.0

Page 16: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 16

A X B

Uniform distribution

Random Deviates……Random Deviates……

Uniform:= A + RAND()*(B – A)

Triangular:

Let p = (B - A) / (C – A)

=IF(RAND() ≤ p, X, Y) where

X = A + SQRT(RAND() * (C – A) * (B – A)),

Y = C - SQRT((1-RAND()) * (C – A) * (C – B))

Normal distribution = NORMINV(RAND(),Mean, Std. dev.)

Log-Normal = LOGINV(RAND(),Mean, Std. dev.)

Exponential distribution = (-Mean)*LN(RAND())

A X B C

Triangular distribution

Page 17: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 17

Ex. 3Ex. 3 Retirement Planning

You are 30 years old, and would like to invest 3000 dollars at the end of each year from now till you reach 60.

Assume interest paid to be N(12, 2) meaning normally distributed with mean = 12% and std. dev. = 2%; interest is paid at the end of year.

You would like to estimate probability of reaching the target of one million dollars at the age 60.

You would like to know chances of achieving the target if you increase the annual amount invested.

Age Investment value30 X30 = 3000

31 X31 = 3000 + X30 + interest on X30

32 X32 = 3000 + X31 + interest on X31

Page 18: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 18

Ex. 3..Ex. 3..

=B12*(1+NORMINV(RAND(), Mean_R,STDV_R))+ Annual_contr

Page 19: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 19

Ex. 3…Ex. 3… Retirement Planning sensitivity analysis

Effect of changing contribution on the probability of achieving the desired outcome.

Page 20: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 20

Ex. 4Ex. 4 An IPO is to be launched with the opening price expected to be from the distribution shown.

Estimate the following using simulation: (a) Price of the stock at the end of the 5 year period

assuming the company has not failed.(b)Probability of survival at the end of 5 years.

For the next five years, the stock price is expected to increase by an amount given by a lognormal distribution with mean of 1.5% and standard deviation of 0.5% provided the company does not fail. The probability of failure is 40%, 30%, 20%, 20% and 10% during the next five years.

Opening Stock PriceX 10 11 12 13 14 15

Pr(X) 0.10 0.20 0.30 0.20 0.10 0.10

Theoretical answer to part (b) is

(1 – 0.4) * (1 – 0.3) * (1 – 0.2) * (1 – 0.2) * (1 – 0.1) = 0.24192

Page 21: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 21

Ex. 4..Ex. 4.. IPO Launching

Page 22: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation

22

Ex. 4…Ex. 4…IPO Launching

Fail in Year 4: =IF(K3="Y","Y",IF(RAND()<F$15,"Y","N"))

How?Count failures through Y1, then Y2 – Y1, etc.

Page 23: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation

23

Ex. 4….Ex. 4…. IPO Launching

Stock Price in Year 4: =IF(L4="N",Q4*(1+0.01*LOGINV(RAND(),Log_mean, Log_Stdv)),0)

Page 24: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 24

We will consider the following:

Transactions (customers) enter the system in a single line and are processed at a single facility (server) on a FIFO basis also called “First Come First Served” (FCFS).

Population

QueueArrival Service Departure

We will consider several different situations. First, the dock example appeared to have same flow chart but it was somewhat different. Docks were open only during day time (say from 7). This means ships arrive in the night could be considered as arriving at 7 and using the docks for fixed amount of time. Each row generated new arrivals for a new day.

Time Based Event Oriented SimulationTime Based Event Oriented Simulation

Page 25: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 25

Job 2 11

A simple exampleA simple example

A machine take exactly 5 minutes to process a job. Our work load is only 10 jobs per hour. So we don’t need simulation, we can simply schedule a job every 6 minutes.

Population

QueueArrival Service Departure

M1 5 min

M1 Job 1 5

Job 3 17

There is an idle time of 1 minute after every job. Machine utilization is (5/6)* 100 = 83.3%. There will be no queue.

Page 26: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 26

Example 5Example 5Population

QueueArrival Service Departure

We are now going to consider different arrival and service time distributions.

Case Arrival distribution Service time distributionA Uniform (discrete) 1 to 11 min Fixed ( 5 minutes)

B Uniform (continuous) 1 to 11 minutes

Fixed ( 5 minutes)

C Triangular (1, 5, 9) minutes

D Poisson: 10 arrivals/hour (time between arrival 6 minutes – exponential)

Exponential (Average service time 5 minutes)

Note that the average time between arrival is 6 minutes and average service time is 5 minutes.

M1 5 min

Page 27: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 27

Arrival

SS?

Join QAdd 1 to Q

Determine next arrival time

SS=1

Enter serviceSet SS = 1

Set next Dep. Time

SS=0

Q Queue

Dep. Time Departure Time

Arrival Flow chartArrival Flow chart

Server Status (SS)

SS = 0 Idle

SS = 1 Busy

When an arrival event happens, the following is checked at that point in time.

Page 28: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 28

Departure

Q. Status

Remove first Tr. From Q , start service & set Dep. Time

Shorten Q by 1

Q not empty

Set SS = 0

Q Empty

Q Queue

SS = 0 Server Status: Idle

Tr. Transaction

Departure Flow chartDeparture Flow chart

When a departure event happens, the following is checked at that point in time.

Page 29: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 29

Single server system simulation – 4 cases

Model Parameters: Each model may have many parameters. Examples are: arrival and service rates, capacities, etc.

Statistics of interest /performance measures: Statistics on performance measures can be useful in validating the model and for decision making. Some examples.

What’s the average waiting time? Maximum waiting time?

What is the maximum queue length? What is the server utilization?

How many people had to wait in queue before using the server?

How many people waited more than X minutes?

Example 5..Example 5..

Case Arrival distribution Service time distributionA Uniform (discrete) 1 to 11 min Fixed ( 5 minutes)

B Poisson: 10 arrivals/hour Exponential (Average time 5 min.)

Page 30: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 30

Single server system simulation

When the simulation starts at time zero, the system is empty. Value of a performance measure such as server utilization keeps on changing as time progresses.

After some time, when the process reaches a “steady state”, value of the performance measure comes close to the expected value of that measure.

In all four cases since average time between arrivals is 6 minutes and the average service time (when the server is busy) is 5 minutes. The server utilization will stabilize at about 83% (=100*75/90).

Parameter value

0 Time

Expected Parameter value

t

For better estimate of the performance measure values, we generally chop off initial observations (up to period t). For our example, we will start collecting data from observation 201 (to 1200).

Example 5…Example 5…

Page 31: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 31

Example 5AExample 5A Arrival Service timeUniform (discrete) 1 to 11 min Fixed ( 5 minutes)

How did we get numbers in the table below?

Page 32: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 32

Example 5A..Example 5A.. Arrival Service timeUniform (discrete) 1 to 11 min Fixed ( 5 minutes)

Page 33: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 33

Example 5BExample 5B Arrival Service timePoisson: 10 / hour Exponential: 5 min

When the number of arrivals is Poisson (with 10 units / hr.), the time between arrivals is exponential (with average time = 6 minutes).

Page 34: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 34

Example 5D..Example 5D.. Arrival Service timePoisson: 10 / hour Exponential: 5 min

The graph here shows that it is not easy to determine when steady state may be reached (how many observations to chop off), nor do we know how many total observations to collect in a simulation run or how many time to replicate.

Page 35: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 35

Case Arrival distribution Service time distributionA Uniform (discrete) 1 to 11 min Fixed ( 5 minutes)D Poisson: 10 arrivals/hour Exponential (Average time 5 min.)

Example 5: ComparisonExample 5: Comparison

A B

Page 36: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 36

Simulation: general commentsSimulation: general comments

One can use visual basic macros within EXCEL. Risk solver also includes some simulation capability.

Many specialized simulation languages have been developed. These can handle even more complex situations. Examples: AutoMod, Arena, GASP, GPSS, Promodel, SIMSCRIPT, Simula.

Many simulation software packages also come with “animation” capability (there are even “free” ones). This can make a tremendous impact in visualizing the operations.

One note of caution. Impressive visual display may give some false impressions even though data used in the simulation or the simulation logic is faulty.

Page 37: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 37

Simulation Advantages Disadvantages 1. Flexibility.2. Can handle large and

complex systems.3. Can answer “what-if”

questions.4. Does not interfere with the

real system.5. Allows study of interaction

among variables.6. “Time compression” is

possible.7. Handles complications that

other methods can’t.

1. Can be expensive and time consuming.

2. Does not generate optimal solutions.

3. Managers must choose solutions they want to try (“what-if” scenarios).

4. Each model is unique.

Page 38: BU.520.601 BU.520.601 Decision Models Simulation1 Simulation Summer 2013.

BU.520.601Simulation 38

ATM Simulation 1 vs. 2ATM Simulation 1 vs. 2

Average number of arrival per hour: 40 (Poison)Average service time 75 sec. (Exponential)