/
Simulation Simulation

Simulation - PowerPoint Presentation

lois-ondreau
lois-ondreau . @lois-ondreau
Follow
384 views
Uploaded On 2015-12-04

Simulation - PPT Presentation

1 Simulation Summer 2013 Simulation 2 Many definitions It is the process of studying the behavior of a real system using a computerbased model that replicates the behavior of that system ID: 214312

time simulation distribution arrival simulation time arrival distribution service minutes rand queue probability average arrivals random excel 300 departure 500 server model

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Simulation" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Simulation

1

Simulation

Summer 2013Slide2

Simulation

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.

Simulation

Simulation ProcessSlide3

Simulation

3

Simulation characteristics

In 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).Slide4

Simulation

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.Slide5

Simulation

5

Ex. 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.Slide6

Simulation

6

Ex. 1..

Excel: Simulate the tossing of a coin.Slide7

Simulation

7

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 distribution

     

A A+1 … B-1 B

XSlide8

We get corresponding X value (= 400).

300 400 500 600

X

1.0

0.0

F(X)

Simulation

8

Suppose we pick RN = 0.632.

0.632

Empirical 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.

Slide9

F(X)

0.3

0.7

0.9

1.0

Simulation

9

Using 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.1Slide10

Simulation

10

Ex. 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 distribution

X

0

1

2

3

4

5

Pr(X)

0.30

0.30

0.20

0.10

0.05

0.05

Population

Queue

Arrival

Dock 1

Departure

Dock 2

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

Simulation

11

Population

Queue

Arrival

Docks:

Service 1 or 2

Departure

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 simulationSlide12

Simulation

12

Ex. 2…

Run for 365 days

Simulation generated

?

Excel: Dock simulationSlide13

Simulation

13

Ex. 2….

Excel: Dock simulationSlide14

Simulation

14

Ex. 2…..

Arrivals are generated with HLOOKUP.

Excel: Dock simulationSlide15

Simulation

15

Random 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.0Slide16

Simulation

16

A X

B

Uniform distribution

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 Slide17

Simulation

17

Ex. 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 value

30

X

30

= 3000

31

X

31

= 3000 +

X

30

+ interest on

X

30

32

X

32

= 3000 +

X

31

+ interest on

X

31Slide18

Simulation

18

Ex. 3..

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

Simulation

19

Ex. 3…

Retirement Planning sensitivity analysis

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

Simulation

20

Ex. 4

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

Estimate the following using simulation:

Price of the stock at the end of the 5 year period assuming the company has not failed.

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 Price

X

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

Slide21

Simulation

21

Ex. 4..

IPO LaunchingSlide22

Simulation

22

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.Slide23

Simulation

23

Ex. 4….

IPO Launching

Stock Price in Year 4:

=IF(

L4="N",Q4*(1+0.01*LOGINV(RAND(),

Log_mean, Log_Stdv

)),0)Slide24

Simulation

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

Queue

Arrival

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 SimulationSlide25

Job

2

11

Simulation

25A 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

Queue

Arrival

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.Slide26

Simulation

26

Example 5

Population

Queue

Arrival

Service

Departure

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

Case

Arrival distribution

Service time distribution

A

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

minSlide27

Simulation

27

Arrival

SS?

Join Q

Add 1 to Q

Determine next arrival time

SS=1

Enter service

Set SS = 1

Set next Dep. Time

SS=0

Q

Queue

Dep. Time

Departure Time

Arrival 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.Slide28

Simulation

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 chart

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

Simulation

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..

Case

Arrival distribution

Service time distribution

A

Uniform (discrete) 1 to 11 min

Fixed ( 5 minutes)

B

Poisson: 10 arrivals/hour

Exponential (Average time 5 min.)Slide30

Simulation

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…Slide31

Simulation

31

Example 5A

Arrival

Service time

Uniform (discrete) 1 to 11 min

Fixed ( 5 minutes)

How did we get numbers in the table below?Slide32

Simulation

32

Example 5A..

Arrival

Service time

Uniform (discrete) 1 to 11 min

Fixed ( 5 minutes)Slide33

Simulation

33

Example 5B

Arrival

Service time

Poisson: 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).Slide34

Simulation

34

Example 5D..

Arrival

Service time

Poisson: 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.Slide35

Simulation

35

Case

Arrival distribution

Service time distribution

A

Uniform (discrete) 1 to 11 min

Fixed ( 5 minutes)

D

Poisson: 10 arrivals/hour

Exponential (Average time 5 min.)

Example 5: Comparison

A BSlide36

Simulation

36

Simulation: 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.Slide37

Simulation

37

Simulation

Advantages Disadvantages

Flexibility.

Can handle large and complex systems.Can answer “what-if”

questions.Does not interfere with the real

system.

Allows study of interaction among

variables.

“Time compression” is

possible.

Handles complications that other methods

can’t.

Can be expensive and time consuming.

Does not generate optimal solutions.

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

Each model is unique.Slide38

Simulation

38

ATM Simulation 1 vs. 2

Average number of arrival per hour: 40 (Poison)

Average service time 75 sec. (Exponential)