Simulation
Simulation
0 Introduction
1.2.3 Conceptual
Concepts and beliefs in the analyst‘s mind
1.4.6 Verification
Pertains to the computer program prepared for the simulation model whether it is performing properly. This is
through checking of input parameter and logical structure of the model through a number of iterative debugging.
1.4.7 Validation
Determination whether model is accurate representation of a real system. This can be done through calibration
of the model, and iterative process of comparing the model to actual system behaviour and using the
discrepancies between the two and the insights gained to improve the model.
1.4.12 Implementation
1.4.1 Problem Formulation
Identify decisions and uncontrollable variables
specify constraints on the decision variables
define measures of system performance
develop a preliminary model structure to interrelate the system variables and the measures of
performance
1.5.1 Intuitive
The intuitive approach is often used when little time is available and where non-critical decisions are
being considered.
Decision based on past experience.
Can often be difficulty as the size and level of complexity in the system increases. The factors
affecting systems involve:
Complex interactions (many conditions)
Uncertainty
Conflicting objectives;
customer satisfaction
efficient utilisation
reduction in WIP
Diffusion of authority, and differing priorities
Technology
Can lead to expensive mistakes being made
1.5.2 Analytical
Where time and understanding allows a scientific analysis can sometimes be justified. This often the case when
cost of a mistake is high. Precise mathematical formulation is required.
HOWEVER, quite often the process of the model (mathematical) formulation is unfeasible, even if a model can
be made, solution techniques may not be sufficiently developed.
BECAUSE , Assumptions have to be made and these tend to be unrealistic. The solutions therefore are
perceived to be of little practical use.
1.5.3 Experimental
Experimentation on the real system is
Impractical -we need to be able to control the experiment, but it is very difficult to do this on the
shop floor. Time scales are inadequate, an experiment might take months to complete
Expensive -One cannot purchase equipment simply on the wish to evaluate whether it is needed or
not. One cannot hire labour without training them and paying them, and this is expensive if they are
subsequently found not to be required.
Disruptive -A company must still satisfy existing customers and can only do this by continuing to
operate normally. This is difficult if resources are taken away to perform an experiment, or if
layouts are re-organised during normal working hours. Changes to work patterns and tasks are
disruptive, both operationally and in terms of their effect on morale
In order to conduct a simulation requires the use of a MODEL: A logical representation (on a computer) of the
operation of the system and the uncertainty to which it is subjected.
REAL EXECUTIVE
WORLD PROGRAM
Modelling Simulation
MODEL
1.7 Operations
Activities:
Start Cycle
Conditions
In working order
Machine idle
Set-up for job
States
Machine busy (change as a result of start cycle)
Duration
Time
Change of State at end
Machine idle
1.8 Uncertainty
Uncertainty is evident in many of the operations of a manufacturing system.
Any good simulation system should support the user by providing a means of representing uncertainty. In most
cases this is achieved by sampling from statistical distributions
1.9 Sampling
Sampling is the method by which a random selection of values representing the expected pattern of a variable
can be made.
To be successful it needs:-
User commitment
Free interaction between user and expert (if any)
Availability of accurate data
An understanding of how individual elements of the system behave
Public systems
Health care
Prediction of pharmaceutical costs and outcomes Cementless hip replacement
Reducing the length of stay in emergency
departments
Military
Issues in operational lest and evaluation Army officer professional development
Successful process for military base transition Future theater-level model
Theater air command and control Marine air-ground task force tactical warfare
Combat modelling-in medium lift replacement cost Corps battle simulation
and effectiveness analysis
Natural resources
Solid waste management system Tank waste remediation system
Operational efficiency at a nuclear power plant Environmental restoration activities
Oil spill modelling
Transportation systems
Cargo transfer and personnel launch system Container port operations
Demand based toll plaza lane staffing
Construction systems
Applications in earthmoving/strip mining Cable- Strengthening the design/construction interface
staved bridges Advanced project planning paradigm
2.1.1 ENTITIES
These are the elements of the system being simulated and can be individually identified and processed
Machines in a factory
Jobs waiting to be processed
Vehicles
People
or ANYTHING else that changes STATE as a simulated system proceeds
2.1.2 CLASSES
By grouping like entities into a CLASS, several or all of the entities can be referred to in a simple and
easy way
e.g. Car bodies in a Paint Shop, a CLASS ―BODY‖ could be created that groups 3, 4 and 5 door types.
2.1.3 ATTRIBUTES
Attributes are used to describe an entity in greater detail, to convey some specific information about it
or is a property of an entity
e.g. The Class ―Body‖ may have an ATTRIBUTE called ―Doors‖ which describes whether it has 3, 4
or 5 doors.
Attributes may be used for many varied purposes:
Determining a queue position based on some queuing discipline ie. FIFO, LIFO, Sorted
Specifying a priority
Controlling the behaviour of an object e.g. the payload of an aircraft may affect the size of runway
that it can use
2.1.4 SETS
Sets can represent a classification of STATES that an entity(s) may pass through
e.g. Car bodies leaving a Paint Shop may either
Bad paint (needing rectification)
or Good (ready for next operation)
These two States can be represented as sets and these sets can contain a dynamic quantity of entities
Often sets can be thought of as QUEUES
As the simulation proceeds, the entities co-operate and change state. The following terminology is used to
describe these operations and the flow of time in the simulation.
2.1.7 EVENT
An INSTANT in time when a change of state takes place of one or more entities. e.g. Machine finishes
cycle, part enters buffer
2.1.8 PROCESS
A sequence of events through which an entity passes, usually in chronological order. A process can
represent all or some of the LIFE CYCLE of an entity (usually a temporary entity)
• System
– A collection of entities (eg people and machines) that interact together over time to
accomplish one or more goals
• Model
– An abstract representation of a system, usually containing structural, logical or mathematical
relationships which describe a system in terms of state, entities and their attributes, sets,
processed, events, activities, and delays
• System State
– A collection of variables that contain all the information necessary to describe the system at
any time
• Entity
– Any object or component in the system which requires explicit representation in the model (
eg server, a customer, a machine)
• Attributes
– The properties of a given entity (eg priority of a waiting customer, routing of a job through a
job shop)
• List
– A collection of (permanent or temporarily) associated entities, ordered in some logical fashion
(such as all customers currently in a waiting line, ordered by first come, first served or by
priority)
• Event
– An instantaneous occurrence that changes the state of a system ( such as an arrival of a new
customer)
• Event Notice
– A record of an event to occur at the current or some future time along with any associated data
necessary to execute the event; at a minimum, record includes the event type and event time
• Event list
– A list of event notices for future events, ordered by time of occurrence; also known as the
future event list (FEL)
• Activity
– A duration of time of specified length (eg service time, or interarrival time) which is known
when it begins (although it may be defined in terms of a statistical distribution)
• Delay
– A duration of time of unspecified indefinite length, which is not known until it ends (eg a
customers‘s delay in a last in, first out waiting line which, when it begins depend on future
arrivals)
• Clock
– A variable representing simulated time called CLOCK
A waiter:
Fill cup
Wait for empty cup
Fill cup
Wait for empty cup
etc.
A Cup:
? -
What classes of entity are these?
The life cycle can be represented graphically using a directed network diagram
In all but the simplest of situations the complexity and scale of the interactions that may take place between
entities (the sequence of activities and queues through which they pass) requires the modeller to formalise the
process of model specification.
Identify entities
The most natural view of a system is that based on the ACTIVITIES that take place in the system. The Activity
cycle diagram is one method that has been developed for formalising the process of model specification.
The activity cycle diagram (ACD) is formed from the combination of individual life cycle diagrams. The details
of combination represent the logic of entity interaction.
A fourth approach, THE THREE PHASE APPROACH developed by Toacher (1963) also combines activity
and event based methods. It is more common in the United Kingdom.
This is a description of the algorithm which forms the basis of the executive program or ―Executive‖
for short.
START PHASE For each activity in turn test to see if it can start. If it can, move all
participating entities from their respective queues into the activity and determine the time it
will end. This is known as the Conditional or activity can start. Testing is needed because the
activation time cannot be predicted in advance; the time spent in a queue is indeterminate.
TIME PHASE Advance the Simulation Clock time to the earliest activity end time. This is
known as the ‗A‘ phase.
END PHASE End all activities due to end at the current simulation Clock time and send
all participating entities to their destination queues. This is also known as the Bound or ‗B‘
phase, because these activities are bound to end at this time. The activities had determinate
duration.
3.0 MODELLING
3.2 Problem 1
There are three machines and one mechanic. When any one of the machines is broken down it is repaired by the
mechanic. After repair the machine runs until it breaks down again.
The company involved, wants to determine the average waiting time of the machine before it is repaired and the
percentage of time the mechanic is idle. The objective of such an exercise may be to determine if the mechanic
could be put in charge of a fourth machine (or conversely there is a need for a second mechanic)
3.3 PROBLEM 2
As an extension to the previous machine maintenance problem (Problem 1), suppose that the repair of a machine
can be broken down into the following activities:-
There is one mechanic, one fitter and three persons in the sub-contracting team.
The Activity Cycle Diagram (ACD) is one formalism for representing the logic of entity interaction in a discrete
event system. It in effective when the system comprises alternating queues and activities. The ACD cannot be
directly implemented in a computer model without the addition of a World Set; this provides a reusable pool of
entities (memory locations) that prevents the gradual exhaustion of computer resource that would otherwise
occur.
THE OUTSIDE WORLD (World queue or World Set)
The Outside World is a conceptual idea that allows us to restrict the scope or boundaries of a model. By doing
so it provides a means of dealing with the problem of allowing a model to run for very long periods of simulated
time.
When the simulation system has finished with a temporary entity it returns it to the Outside World so that it can
be reused.
We can incorporate the Outside World as a Queue in the ACD. This is an acceptable approach as by definition
we cannot predict when external (exogenous) events will occur. Note: We do however, usually ally the world
set with an arrival mechanism that stimulates entities to enter a model under programmer‘s control.
There is a potential problem when modelling entity arrival from the Outside world; the computer can become
trapped in a ‗loop‘.
The World Set may contain many thousands or millions (with increasing RAM and disk space on modern
computers) of as yet unused entities that may enter a model. A naive modeller could quite easily be led to build
an ACD that allowed all of these entities to enter a model at time zero:
This problem can be prevented by the use of a dummy resource in two ways depending onthe availability of
material and whether we are modelling a PUSH or PULL system:
Problem 1
M a ch ni e
R un
W a it W a it
R e p a ir
R e p a ir
M e ch a n ic
R e p a ir
Id el
This is a description of the algorithm which forms the basis of the executive program or ―Executive‖ for short.
START PHASE For each activity in turn test to see if it can start. If it can, move all participating entities from
their respective queues into the activity and determine the time it will end. This is known as the Conditional or
‗C‘ phase, because it involves a test to see if an activity can start. Testing is needed because the activation time
cannot be predicted in advance; the time spent in a queue is in determinate.
TIME PHASE Advance the simulation clock time to the earliest activity end time. This is known as the ‗A‘
phase.
END PHASE End all activities due to end at the current Simulation Clock time and send all participating
entities to their destination queues. This is also known as the Bound or ‗B‘ phase, because these activities are
bound to end at this time. The activities had determinate duration.
4.2 SAMPLING
Many systems behave stochastically (governed by probability) and must therefore before simulated by a model
with stochastic elements.
To illustrate the concept of a probability distribution, consider the historical data relating to the breakdown of a
particular machine.
Days since last Number of Prob. Of Cumulative failure
repaired
Days since last observations
Number of failure
Prob. Of probabilities
Cumulativefailure
Cumulative
Days
repaired since Number of Prob. Of failure
1 observations 5 failure 0.05 probabilities 0.05
last repaired 1 2 observations15
5 failure 0.15 probabilities 0.05
0.05 0.2
1 3
2 5 20
15 0.050.15
0.2 0.05 0.4
0.2
2 4
3 15 20 30 0.3
0.15 0.2 0.2 0.7
0.4
3 5
4 20 30 20 0.2
0.2 0.3 0.4 0.9
0.7
4 6
5 30 10
20 0.3 0.1
0.2 0.7 0.91
>6 5 6 20 10 0 0.2 0.10 0.9 11
>6 6 10 0 0.1 0 1 1
>6 0 0 1
Histogram of failure probabilities
Histogram of failure probabilities
0.35
0.35
0.3
0.3
0.25
0.25
0.2
0.2
0.15
0.15
0.1
0.1
0.05
0.05
0
0 1 2 3 4 5 6 >6
1 2 3 days
4 5 6 >6
days
True random number streams cannot be generated by a computer, however a aproximate method can be
employed.
The computer implementation of random number is achieved using a PSEUDO RANDOM NUMBER
GENERATOR.
In simulation we need to be able to providemore than one steam of random numbers, each stream representing
an independant stochastic element.
This is achieved by providing the pseudo random number generator with a‖SEED‖.
RANDOM(1) => .22, .45, .9, .03, .45, .37, .81, .31.......
RANDOM(2) => .77, .65, .45, .22, .02, .88, .47, .29........
Because the generator is a mathematical algorithm, each time we tell the computer to use RANDOM(1) say, it
will return the same stream of numbers.
By generating random numbers on the computer we can apply these to a probability distribution to return the
expected observed values:
The samples.
Using the previous example, if we use N=2, the computer will return the following values:
.77,.65,.45,.22,.02,.88,.47,.29
The first value .77 falls within the range 0.70 to 0.899 on the cumulative probability histogram for the machine.
This corresponds to a failure interval of 5 days. We can use this to schedule a machine breakdown using the
three phase approach.
IF WE HAVE TWO INDEPENDENT MACHINES, THEN USING TWO DIFFERENT STREAMS WILL
PROVIDE US WITH INDEPENDENT FAILURE RATES FOR EACH.
4.4 Problem 3
Jobs arrive at random into an FMS cell. From the arrival station the component is picked up by a robot and put
onto a palletisation station where a setter palletises it. Each job then goes through processes on two different
machines -the robot again moving the component between them. At the end of the second operation, the robot
places the component onto an exit station from which it is taken off the pallet by one of the setters and taken to
an assembly area outside the cell.
Draw the activity cycle diagram for the cell.
Time
A queuing system is described by its calling population, the nature of the arrivals and services, the system
capacity and the queueing discipline.
Calling Server
Population
Waiting line
In this system the calling population is infinite i.e. if a unit leaves the calling population and joins the waiting
line or enters service there is no change in the arrival rate of other units that may need service. In this, system
arrivals for service occur one at a time in a random fashion and once they join the waiting line, they are
eventually served. In addition, service times are of some random length according to a probability distribution,
which does not change overtime. In addition, the system capacity is unlimited. Callers are served in the order
of their arrival (FIFO) by a single server or channel.
Arrivals and services are described by the distributions of time between arrivals and service times. The overall
effective arrival rate must be less than the maximum service rate or the waiting line will grow without bound.
The state of the system is the number of units in the system and the status of the server, busy or idle.
An event is a set of circumstances that causes an instantaneous change in the state of the system. In a single-
channel queueing system, there are only two possible events that can affect the state of the system. They are the
entry of a unit into the system (the arrival event) or the completion of service on a unit (the departure event).
The queuing system includes the server, the unit being serviced and units in the queue.
If service has just been completed, the simulation proceeds in the manner shown in the flow diagram of Figure
5.3. Note that the server has only two possible conditions. It is either busy or idle.
Departure
Event
No another Yes
Begin server idle Remove the
Unit waiting
time waiting unit from
queue
Begin servicing the
nut
Figure 5.3: Service just completed flow diagram.
Second event occurs where a unit enters system as illustrated by Figure 5.4
Arrival
event
No Server Yes
busy
Queue Status
Not empty Empty
Server Busy Enter queue Enter queue
Outcomes Idle Impossible Enter service
Figure5.5 potential into actions upon arrival
Queue Status
Not empty Empty
Server Busy Enter queue
Outcomes Idle Impossible
Figure 5.6: Server outcomes after service completion
The next step is maintaining of event list which indicates the times at which the different types of events occur
for each unit in the queuing system. The times are kept on a ―clock‖ which marks the occurrences of events in
time. In simulation, the events usually occur at random. The randomness imitates real life to portray
uncertainty.
The randomness needed to imitate real life is made possible using ―random numbers‖ Random numbers are
distributed uniformly and independently on the interval (0,1). Random digits are uniformly distributed onto the
set {0,1,2 ---,9). Random digits can be used to form random numbers by selecting the proper number of digits
for each random number and placing a decimal point to the left of the value selected. The proper number of
digits is dictated by the accuracy of the data being used for input purposes. If the input distribution has values
with two decimal places, two digits are taken from a random digits table (Table A.1) and the decimal point is
placed to the left to form a random number.
Random numbers can also be generated using a set procedure and this is referred to as pseudo-random numbers.
Table 5.2 contains a set of five inter-arrival times generated from rolling a die five times and recording the up
face. These are used to compute the arrival times of six customers at the queuing system.
Service times are generated assuming that the service times are in the range {1…4} This can be done by
placing chips and picking with replacement in a hat while recording the numbers selected.
Number of
customer in
the system
2
4 5
1
1 2 3 4 5 6
Clock Time
Figure 5.6 depicts the number of customers in the system at the various clock times
The service times vary from 1 to 6 min with the probabilities shown in Table 5.7
Table 5.7: Service – Time Distribution
Time between Probability Cumulative Random Digit
Arrivals (min) Probability Assignment
1 0.10 0.10 01-10
2 0.20 0.30 11-30
3 0.30 0.60 31-60
4 0.25 0.85 61-85
5 0.10 0.95 86-95
6 0.05 1.00 96-00
The problem is to analyze the system by simulating the arrival and service of 20 customers. In actuality 20
customers is too small a run length to draw any final conclusion. The accuracy of results is enhanced by
increasing the sample size. The other issue is that of initial conditions. A simulation of a grocery store that
starts with an empty system is not realistic unless the intention is to model the system from startup or to model
until steady-state operation is reached.
Random digits are converted to random number by placing the decimal at the appropriate point. In this case,
three-place random numbers will suffice. It is only necessary to list 19 random numbers to generate times
between arrivals because the first arrival is assumed to occur at time 0.
Considering Table 5.6, The first random digit assignment is 001-125. There are 1000 three-digit values
possible (001 through 000). The probability of a time- between-arrival of 1 minute is 0.125 and 125 of the 1000
random digit values are assigned to such an occurrence. Three digits are needed since the probability
distribution is described with three – digit accuracy. Time between arrival for 19 customers are generated by
listing 19 three-digit values from Table A.1 and comparing them to the random digit assignment of Table 5.6
Note the first random digits are 913. To obtain the corresponding time between arrivals, either the fourth
column of Table 5.6 and read 8 minutes from the first column of the table.
The probability of the server being busy is the complement of 0.21 or 0.79
The expected service time is slightly lower than the average service time in the simulation. The longer the
simulation the closer the average will be to E(S).
Average time between arrivals (minutes) = Sum of all times btwn arrivals (min)
Number of arrivals – 1
82
= 4.3 min
19
One is subtracted from the denominator because the first arrival is assumed to occur at time ). This result can be
compared tot he expected time between arrivals by finding the mear of the discrete uniform distribution whose
a b 1 8
end points are a=1 and b=8. The mear is given by E(A)= 4.5 min
2 2
The expected time between arrivals is slightly higher than the average. In a large simulation the average value
of the time between arrivals should approach the theoretical E(A)
A decision-maker would be interested in results of this type but a longer simulation increases the accuracy of the
findings. However, some subjective inferences can be drawn. Most customers have to wait; however, the
average waiting time is not excessive. The server does not have an undue amount of idle time. Objective
statements about the results would depend on balancing the cost of waiting with the cost of additional servers.
A simplifying rule is that Able gets the customer if both carhops are idle.
The problem is to find how well the current arrangement is working. To estimate the system measures. A
simulation of 1 hour-of operation will be used.
Analysis
1 - - 0 95 0 5 5 0
2 26 2 2 21 2 3 5 0
3 28 4 6 51 6 3 9 0
4 90 4 10 92 10 5 15 0
5 26 2 12 89 12 6 18 1
6 42 2 14 38 15 3 18 0
7 74 3 17 13 18 2 20 0
8 80 3 20 61 20 4 24 0
9 68 3 23 50 23 4 27 0
10 22 1 24 49 24 3 27 0
11 48 2 26 39 27 3 80 1
12 34 2 28 53 28 4 32 0
13 45 2 30 88 30 5 35 0
14 24 1 31 01 32 3 35 1
15 34 2 33 81 35 4 39 2
16 63 2 35 53 35 4 39 0
17 38 2 37 81 39 4 43 2
18 80 3 40 64 40 5 45 0
19 42 2 42 01 43 2 45 1
20 56 2 44 67 45 4 49 1
21 89 4 48 01 48 3 51 0
22 18 1 49 47 49 3 52 0
23 51 2 51 75 51 5 56 0
24 71 3 54 57 54 3 57 0
25 16 1 55 87 56 6 62 1
26 92 4 59 47 59 3 62 0
56 43 11
5.2 Simulation of Inventory Systems
An important class of simulation problems involves inventory systems. A simple inventory system is shown in
Figure 5.7. This inventory system has a periodic review of length N at which time the inventory level is
checked. An order is made to bring the inventory up to the level M. At the end of the first review period, an
order quantity, Q1, is placed. In this inventory system the lead time (i.e., the length of time between the
placement and receipt of an order) is zero. Since demands are not usually known with certainty, the order
quantities are probabilistic. Demand is shown as being uniform over the time period in Figure 5.7. In actuality,
demands are not usually uniform and do fluctuate over time. One possibility is that demands all occur at the
beginning of the cycle. Another realistic possibility is that the lead time is other than zero and probabilistic.
Notice that in the second cycle, the amount in inventory drops below zero, indicating a shortage. In
Figure 5.7, these units are backordered; when the order arrives, the demand for the backordered items is
satisfied first. To avoid shortages, a buffer, or safety, stock would need to be carried.
Carrying stock in inventory has an associated cost attributed to the interest paid on the funds borrowed to
buy the items (this also could be considered as the loss from not having the funds available for other investment
purposes). Other costs can be placed in the carrying or holding cost column: renting of storage space, hiring
guards, and so on. An alternative to carrying high inventory is to make more frequent reviews, and
consequently, more frequent purchases or replenishments. This has an associated cost: the ordering cost. Also,
there is a cost in being short. Customers may get angry, with a subsequent loss of good will. Larger inventories
decrease the possibilities of shortages. These costs must be traded off in order to minimize the total cost of an
inventory system.
The total cost (or total profit) of an inventory system is the measure of performance. This can be affected
by the policy alternatives. For example, in Figure 5.7 the decision maker can control the maximum inventory
level, M, and the length o: the cycle, N. What effect does changing TV have on the various costs?
In an (M, N) inventory system, the events that may occur are: the demand for items in the inventory, the
review of the inventory position, and the receipt of an order: at the end of each review period. When the lead
time is zero, as in Figure 2.7, the last two events occur simultaneously.
A classical inventory problem concerns the purchase and sale of newspapers. The paper seller buys the papers
for 33 cents each and sells them for 50 cents each Newspapers not sold at the end of the day are sold as scrap
for 5 cents each. News papers can be purchased in bundles of 10. Thus, the paper seller can buy 50, 60 and so
on. There are three types of newsdays, "good," "fair," and "poor," with probabilities of 0.35, 0.45, and 0.20,
respectively. The distribution of papers demanded on each of these days is given in Table 5.15. The problem is
to determine the optimal number of papers the newspaper seller should purchase. This will b accomplished by
simulating demands for 20 days and recording profits from sale each day.
Table 5.15. DISTRIBUTION OF NEWSPAPERS DEMANDED
Demand Probability Distribution
Demand Good Fair Poor
40 0.03 0.10 0.44
50 0.05 0.18 0.22
60 0.15 0.40 0.16
70 0.20 0.20 0.12
80 0.35 0.08 0.06
90 0.15 0.04 0.00
100 0.07 0.00 0.00
Profit = Revenue from - cost of - lost profit from + salvage from sale of scrap
sales newspapers excess demand papers
From the problem statement, the revenue from sales is 50 cents for each paper sold The cost of newspapers is
33 cents for each paper purchased. The lost profit from excess demand is 17 cents for each paper demanded that
could not be provided.
Such a shortage cost is somewhat controversial; but makes the problem much more interesting. The salvage
value of scrap papers is 5 cents each.
Tables 5.16 and 5.17 provide the random digit assignments for the types of newsdays and the demands for
those newsdays. To solve this problem by simulation requires setting a policy of buying a certain number of
papers each day, then simulating the demands for papers over the 20-day time period to determine the total
profit. The policy (number of newspapers purchased) is moved to other values until the daily profit decreases at
the level before and the level after that value. The value in between is a good estimate for the number of papers
the newspaper seller should purchase.
The determination of the optimal number of newspapers to purchase is left as an exercise for the reader.
EXAMPLE 5.4 SIMULATION OF AN (M,N) INVENTORY SYSTEM
This example follows the pattern of the probabilistic order-level inventory system shown in Figure 5.7. Suppose
that the maximum inventory level. M. is 11 units and the review period, N is 5 days. The problem is to estimate,
by simulation, the average ending units in inventory and the number of days when a shortage condition existed.
The distribution of the number of units demanded per day is shown in Table 5.19. In this example, lead time is a
random variable, as shown in Table 5.20. Assume that orders are placed at the close of business and are received
for inventory at the beginning of business as determined by the lead time.
Table 5.19 RANDOM DIGIT ASSIGNMENTS for DAILY DEMAND
Demand Probability Cumulative Random Digit
Probability Assignment
To make an estimate of the mean units in ending inventory, many cycles would have to be simulated. For
purposes of this example, only five cycles will be shown.
The random digit assignments for daily demand and lead time are shown in the rightmost columns of Tables
5.19 and 5.20. The resulting simulation table is shown in Table 5.21. The simulation has been started with the
inventory level at 3 units and an order of 8 units scheduled to arrive in 2 days‘ time.
Following the simulation table for several selected days indicates how the process operates. The order for 8
units is available on the morning of the third day of the first cycle, raising the inventory level from 1 unit to 9
units. Demands during the remainder of the first cycle reduced the ending inventory level to 2 units on the fifth
day. Thus, an order for 9 units was placed. The lead time for this order was 1 day. The order of 9 units was
added to inventory on the morning of day 2 of cycle 2.