Unity University Department of Computer Science: Simulation of Inventory Management System
Unity University Department of Computer Science: Simulation of Inventory Management System
Group members ID
At the beginning of each month, the company reviews the inventory level and decides how many items
to order from its supplier. If the company orders Z items, it incurs a cost of K + iZ.
Where K = 32 is the setup cost and I = 3 is the incremental cost per item ordered. (If Z = 0, no cost is
incurred). When an order is placed, the time required for it to arrive (called the delivery lag or lead
time) is a random variable that is distributed uniformly between 0.5 and 1 month.
The company uses a stationary (s, S) policy to decide how much to order,
Z = S -1 if I < S, 0 otherwise
Where I, is the inventory level at the beginning to the month.
When a demand occurs, it is satisfied immediately if the inventory level is at least as large as the demand.
If the demand exceeds the inventory level, the excess of demand over supply is backlogged and satisfied
by future deliveries. (In this case, the new inventory level is equal to the old inventory level minus the
demand size, resulting in a negative inventory level) When an order arrives, it is first used to eliminate as
much of the backlog (if any) as possible; the remainder of the order (if any) is added to the inventory.
Most real inventory systems also have two additional types of costs, holding and shortage costs, which
we discuss after introducing some additional notation. Let let) be the inventory level at time t
[note that let) could be positive, negative, or zero], let I+(t) = max{l(t), O} be the number of items
physically on hand in the inventory at time t [note that 1+ (t) ;" 0], and let ret) = max{ - l(t), O} be the
backlog at time t [r(t);" 0 as well. The holding cost includes such costs as warehouse rental, insurance, taxes,
and maintenance, as well as the opportunity cost of having capital tied up in inventory rather than
invested elsewhere. We have ignored in our formulation the fact that some holding costs are still incurred
when I+(t) = O. However, since our goal is to compare ordering policies, ignoring this factor, which after
all is independent of the policy used, will not affect our assessment of which policy is best.
Now, since 1+(t) is the number of items held in inventory at time t, the time-average
(per month) number of items held in inventory for the n-month period is
I+ =
The demand-size random variate D must be discrete, as described above, and can be generated as
follows. First divide the unit interval into the contiguous subintervals C, = [0,1/6), C2 = [1/6,1/2), C3 =
[1/2,5/6), and C4 = [5/6, 1], and obtain a U (0, 1) random variate U from the random-number generator. If
U falls in C,' return D = 1; if U falls in C" return D = 2; and so on. Since the width of C, is i - 0 = i, and
since U is uniformly distributed over [0,1], the probability that U falls in C, (and thus that we return D = 1)
is i; this agrees with the desired probability that D = 1. Similarly, we return D = 2 if U falls in C2, having
probability equal to the width of C2, 1/2 – 1/6 = j, as desired, and so on for the other intervals. The
subprograms to generate the demand sizes all use this principle, and take as input the cutoff points
defining the above subintervals, which are the cumulative probabilities of the distribution of D.
The delivery lags are uniformly distributed, but not over the unit interval [0,1]. In general, we can
generate a random variate distributed uniformly over any interval [a, b] by generating a U(0,1) random
number U, and then returning a + U(b - a).
Data Collection
Assume that the initial inventory level is 1(0) =60 and that no order is outstanding. 'We simulate the
inventory system for n = 120 months and use the average total cost per month (which is the suni of the
average ordering cost per month, the average holding cost per month, and the average shortage cost per
month) to compare the following nine inventory policies:
s 20 20 20 20 40 40 40 60 60
S 40 60 80 100 60 80 100 80 100
The state variables for a simulation model of this inventory system are the inventory level l(t) , the
amount of an outstanding order from the company to the supplier, and the time of the last event which is
needed to compute the areas under the l\t) and r(t) functions.
Demand
Event
Return
Inventory
evaluation event
IS
Determine amount
to be ordered
S = I(t)
Incur ordering
costs and gather
statistics
Schedule order
arrival event for
this order
Schedule order
arrival event for
this order
Return
Flowchart for routine to update the continuous time statistical accumulators, inventory model
Update time
average statistical
accumulators
I-(t)
Zero
Update area under
I+(t)
Return