Professional Documents
Culture Documents
a thesis
submitted to the department of industrial engineering
and the institute of engineering and science
of bilkent university
in partial fulfillment of the requirements
for the degree of
master of science
By
Yaşar Levent Koçağa
May, 2004
I certify that I have read this thesis and that in my opinion it is fully adequate,
in scope and in quality, as a thesis for the degree of Master of Science.
I certify that I have read this thesis and that in my opinion it is fully adequate,
in scope and in quality, as a thesis for the degree of Master of Science.
I certify that I have read this thesis and that in my opinion it is fully adequate,
in scope and in quality, as a thesis for the degree of Master of Science.
ii
ABSTRACT
SPARE PARTS INVENTORY MANAGEMENT WITH
DELIVERY LEAD TIMES AND RATIONING
Yaşar Levent Koçağa
M.S. in Industrial Engineering
Supervisor: Assist. Prof. Dr. Alper Şen
May, 2004
Keywords: Inventory models, spare parts planning, multiple demand classes, ra-
tioning, demand lead time.
iii
ÖZET
TALEP TEDARİK SÜRESİ VE KRİTİK SEVİYE
POLİTİKASI İLE YEDEK PARÇA ENVANTER
YÖNETİMİ
Yaşar Levent Koçağa
Endüstri Mühendisliği, Yüksek Lisans
Tez Yöneticisi: Yrd. Doç. Dr. Alper Şen
Mayıs, 2004
Bu tez çalışmasında iki tip talep sınıfının gözlemlendiği yarı-iletken üreten mak-
inaları imal eden bir firmanın yedek parça envanter sistemi incelenmiştir. Bu
sistemde müşterilerdeki parça arızalarından kaynaklanan acil siparişlerin anında
karşılanmalısı zorunluluğu varken, daha az kritik olan ve müşterilerin düzenli
bakım aktivitelerinden kaynaklanan siparişler, sabit bir talep tedarik süresi son-
rasında karşılanmaktadır. Bu sistemdeki envanter kontrolü için müşterilerdeki
parça arızalarından kaynaklanan siparişlerin kritik talep sınıfı olduğu bir kri-
tik seviye envanter kontrol politikasının kullanılması önerilmektedir. Her iki
talep sınıfına ait talebin Poisson tipi rassal değişken olduğu ve zamanında
karşılanmayan talebin kaybedilmediği varsayımları altında ve envanter seviyesinin
birebir sipariş verme ile kontrol edildiği durum için her iki talep sınıfının servis
seviyeleri belirlenmiş ve bu seviyeler yapılan eniyileştirme çalışmasında kul-
lanılmıştır. Yapılan bu eniyileştirme çalışmasının sonucunda kritik seviye kontrol
politikasının kullanılmadığı bir sisteme göre belirgin performans artışları sap-
tanmıştır. Bu sonuçlar 64 parçanın kullanıldığı bir vaka analizi ile de destek-
lenmiştir.
iv
Acknowledgement
I am also grateful to Prof. Ülkü Gürler for her invaluable guidance, remarks
and recommendations not only for this thesis but also for my future career.
I am also indepted to Asst. Prof. Osman Alp for excepting to read and review
this thesis and for his invaluable suggestions.
I would also like to thank to my officemate Banu Yüksel Özkaya for her kind
help and guidance during my graduate studies.
Last but not the least, I would like to thank my numerious friends with whom
I shared joy and sorrow over the last six years in Bilkent. Destabilize 61, without
you life would be less joyful . . .
v
Contents
1 Introduction 1
2 Literature Survey 9
3 Model 17
4 Numerical Study 29
vi
CONTENTS vii
5 Case Study 47
6 Conclusion 53
A Code 60
viii
List of Tables
ix
LIST OF TABLES x
Introduction
The primary motivation behind this research is our experience with a leading
semiconductor equipment manufacturer. The company manufactures systems
that perform most of the primary steps in the chip fabrication process. The main
customers of the company are semiconductor wafer manufacturers and semicon-
ductor integrated circuit manufacturers, which either use the chips they manu-
facture in their own products or sell them to other companies downstream. The
company owns research, development and manufacturing facilities in the United
States, Europe and Far East and distributes its systems across the globe to world’s
leading semiconductor companies. The company is at the top of the supply chain
for most personal computers and other high technology products.
Semiconductor systems are very expensive investments and are very critical
to operations of many high technology companies. Unused semiconductor man-
ufacturing capacity due to equipment failures is very costly. In order to provide
spare parts and service to customers for equipment failures and scheduled mainte-
nances, the company has an extensive spare parts network. The network consists
of more than 70 locations across the globe, that consists of company owned dis-
tribution centers and depots. In addition, the company also has agreements with
its leading customers where it manages the stock rooms (for all or a group of
spare parts) in customer facilities (some of these are consignments). 3 continen-
tal distribution centers: one in North America, one in Asia and one in Europe
1
CHAPTER 1. INTRODUCTION 2
constitute the backbone of the network and are primarily responsible for procur-
ing and distributing spare parts to depots and customer locations. The depot
locations are such that they can provide a 4-hour service to customers (those
who do not have stock rooms operated by the company) for equipment failures
(“down orders”). However, the continental distribution centers may also be used
as a primary source for down orders for certain customers. In addition, the con-
tinental distribution center provides a second level of support for down orders
that cannot be satisfied from the local depots. The customers also demand spare
parts to be used in their scheduled maintenance activities (“lead time orders”).
The primary source to meet these demands are usually the continental distribu-
tion centers. However local depots can also be used for this purpose for certain
customers.
Both types of customer orders (down and lead time) go through an order
fulfillment engine which searches for available inventory in different locations
according to a search sequence specific to each customer. However the down
orders need to be satisfied immediately (their request date is the date of order
creation), while the lead time orders need to be satisfied at a future date. A
depot may be facing down and lead time demand from a variety of customers,
while a continental distribution center may be facing down and lead time demand
from external customers in addition to the “replenishment orders” requested by
internal customers: the depots and stock rooms managed by the company. The
operations of this complex network is further complicated by a vast number of
parts composed of consumables and non-consumables (more than 50,000 active
parts need to be managed) and varying service level requirements by different
customers.
While providing an implementable and “good” solution for the whole spares
network is a proven challenge, we focus on an important issue where improve-
ments can provide immediate and significant benefits. In the existing practice,
for those locations that are facing different types of demand (down, lead time or
replenishment), the company targets to achieve the maximum of the service level
requirements while considering the aggregated demand. Moreover, the company
CHAPTER 1. INTRODUCTION 3
does not recognize the possible demand lead times (the difference between re-
quested date and ship date in excess of transportation time) for lead time orders
and possible slacks (the difference between the replenishment lead time the com-
pany uses for planning downstream locations and transportation lead time) for
replenishment orders. Obviously, this approach is inefficient. We suggest an in-
ventory model that recognizes both the demand lead times and multiple demand
classes, and allows for providing differentiated service levels through rationing. In
Chapter 5, we use representative data from the company to show that our model
generates significant savings.
Inventory systems have received extensive attention since the first half of the
twentieth century. Effective management of inventory using Operations Research
tools has been a major concern both in the literature and the industry. Basic, yet
crucial questions such as when to replenish and how much to replenish have been
the focus of inventory management. Since inventory costs constitute a significant
portion of the costs a firms faces, the objective of inventory management has
been ensuring a high level of customer service by holding the minimum possible
amount of inventory. Although the depth of the focus of inventory management
has extended from single locations to multiple locations (multi-echelon theory)
and from a single product to customized products (product differentiation), in
most cases demand from multiple sources is handled in a uniform way. However,
just as different customers may require different product specifications, they may
also require different service levels. Particularly, for a single product, different
customers may have different stockout costs and/or different minimum service
level requirements or different customers may simply be of different importance
to the supplier by similar measures. Therefore, it can be imperative to distin-
guish between classes of customers thereby offering them different service. In
this setting, different product demand from different customers can no longer be
handled in a uniform way. This, in turn, gives rise to multiple demand classes
and customer differentiation.
Multiple demand classes can also be observed in other systems. Revenue man-
agement is a celebrated example. The underlying assumption here is that some
customers are willing to pay more for a room or seat than others. Therefore it can
be optimal to refuse a low-price customer in anticipation of a future request from
a high-price customer. It is indeed optimal if the customers arrive sequentially
(first the low-price than the high-price customers) and the optimal policy has
shown to be characterized by a set of protection levels which essentially are the
minimum number of rooms reserved for future (high-price) classes. Observe that,
in these problems the inventory is perishable and this leads to non-stationary
control policies which adjust as time to expiration (i.e., flight date of the plane)
approaches. Another distinguishing fact is that inventory level (capacity) is fixed.
Thus, as opposed to most classical inventory systems, the replenishment decisions
are irrelevant.
CHAPTER 1. INTRODUCTION 5
Given a system with multiple demand classes the easiest policy would be to
use different stockpiles for each demand class. This way, it would be very easy to
assign a different service level to each class. Also the practical implementation
of this policy would be relatively easy. But the drawback of this policy is that
no advantage would be taken from the so-called portfolio effect. In other words,
the advantage of pooling demand from different demand sources together would
no longer be utilized. Therefore, as a result of the increasing variability of the
demand, more safety stock would be needed to ensure a minimum required service
level which in turn means more inventory. On the other side, one could simply
use the same pool of inventory to satisfy demand from various customer classes
without differentiating them. In this case, the highest required service level would
determine the total inventory needed and thus the inventory cost. The drawback
of this policy is that we would be offering higher service levels to the rest of the
demand classes, a deficiency that would lead to increased inventory costs.
Rationing or the so called critical level policy essentially lies between these two
extremes. Rationing has proved to be effective to handle different demand classes
with different stockout costs or service levels. Kleijn and Dekker [17] provide a
comprehensive study illustrating various examples where multiple demand classes
arise together with a literature review about the applications of rationing in such
environments. We will explain this policy assuming there are two demand classes
but the extension to several demand classes is straightforward. In this setting,
certain part of the stock is reserved for high priority demand. This amount is
called the critical level and once inventory level reaches this level, demand from
lower priority demand class is no longer satisfied. If demand not satisfied imme-
diately is backordered, how to handle replenishment orders is another problem.
Obviously, if there is a backorder for a high priority customer upon the arrival of
a replenishment order, it is optimal to use this replenishment order to satisfy this
backorder. In addition, if there is a backorder for a low priority customer upon
the arrival of a replenishment order and the inventory level is at or above the
critical level, one should use this replenishment order to satisfy this backorder.
However, if there is a low priority backorder and the inventory level is below the
critical level one can either satisfy this backorder or increase the inventory level.
CHAPTER 1. INTRODUCTION 6
The latter one is referred to as the priority cleaning mechanism and has been
proven to be optimal for specific conditions. Under general conditions, however,
whichever of these is optimal depends on the problem settings. Notice that the
service level of the low priority class is not affected by the way replenishment
orders are handled. The drawback of the priority clearing mechanism is that it
increases the average backorder length of a low priority customer.
Except for very specific cases, a simple critical level policy with a static crit-
ical level will not be optimal. An optimal policy should take into account the
remaining time until the arrival of the next replenishment arrival. As the booking
limits adjust to the remaining time until expiration in revenue management, the
critical level in a rationing policy should also adjust dynamically. For example, if
the inventory level is below the critical level, but it is known that a replenishment
order will arrive within a short period of time, it may not be optimal to refuse a
low priority demand arrival, especially if the probability of a high priority demand
arrival within this time is very small. But employing such a dynamic rationing
policy would be extremely difficult from a practical point of view. Thus, we prefer
to focus on a static rationing policy where the critical level does not change over
time.
Obviously the structure of the firm we study by itself inhibits different demand
classes (down orders vs lead time orders) thereby creating an environment where
rationing can be applied. Thus our approach in this research is to incorporate
rationing to the current practice of the firm with two demand classes differentiated
by their demand lead-time. Our motivation in taking this approach is that we
believe it will result in better system performance given certain service level
requirements. We consider the down orders as the high priority (or critical) class
and the maintenance orders as low priority (or non-critical). But we must note,
at this point, that if no commitment is made to the orders with zero demand lead
time whereas orders with positive demand lead time are subject to a contract,
the reverse could also be considered and the orders with the positive demand
lead-time could be the critical (high priority) class.
We will first model the system as a single location system facing a Poisson
CHAPTER 1. INTRODUCTION 7
demand in both critical and non-critical classes with rates λc and λn respectively.
The spare part inventory is replenished according to a (S − 1, S) policy, S being
the order-up-to level. For simplicity we consider a deterministic replenishment
lead-time, L. The non-critical orders have a deterministic demand lead-time of
T while the critical orders must be satisfied immediately. The service level we
consider in modeling will be the type I service level, the probability of no stockout.
Under these circumstances the policy works as follows: Once a critical order comes
it is either immediately satisfied or backlogged if there is no inventory. On the
other hand, a non-critical order is accepted at the time it arrives, and at its due
date is satisfied if the inventory level is above a critical level, Sc , otherwise it is
backlogged. Our aim will be to find the optimum S and Sc such that the given
service levels requirements β¯c and β¯n are satisfied.
In Chapter 3, we first derive the service levels for both customer classes.
Although the service level of the non-critical class can be calculated analytically
the service level of the critical class can only be approximated. Thus we present
our approximation and prove that it is a lower bound for the actual service level
under priority clearing mechanism. Having proved our approximation is a lower
bound for the actual service level we go one step further and conduct a simulation
study to see how our approximation works under reasonable service levels. The
model of this simulation study is also explained in this section. Lastly, we present
the service level optimization model that we consider and its algorithm.
Literature Survey
In this chapter, we will first review the literature in inventory systems with de-
mand lead time. Then we will elaborate on the literature about rationing. We
find it useful to distinguish between the periodic review literature and continuous
review literature. Therefore we will first focus on the periodic review models and
then proceed with the continuous review models. We will conclude this section
with a table which essentially summarizes the literature about rationing.
A single location service parts system was first considered by Scarf [24] where
there exists only one service class. Scarf, efficiently solved the model by observ-
ing that the replenishment process is equivalent to an M/G/∞ queue. This fact
makes Palm’s theorem [23] applicable which states that the steady state number
of customers waiting in the queue, which are the outstanding orders in our case,
is Poisson distributed with a mean equal to the arrival rate multiplied by the
average service time. Using the outstanding order distribution and the standard
inventory balance equation (on-hand inventory = base-stock level - outstanding
orders + backorders), it becomes easy to derive performance metrics such as on-
hand inventory distribution and random customer delay. Later, Sherbrooke and
Feeney [9] extend this model to include compound Poisson arrivals. Beginning
with the seminal METRIC [25], many researchers have studied service parts sys-
tems in the context of multi-echelon distribution systems. Other research in this
area include [11], [21], [2] and [4]. We note that, as a result of the introduction of
9
CHAPTER 2. LITERATURE SURVEY 10
The concept of demand lead-time was first introduced by Simpson [26] by the
term ”service time” for base-stock, multi-stage production systems. Hariharan
and Zipkin [15] then coined the name “demand lead-time” to describe inventory-
distribution systems where customers do not require immediate delivery of orders
and allow for a fixed delay. The key observation of both papers is that a demand
lead-time works just as the opposite of supply lead-time reducing the inventory
required for achieving a required service level. Obviously this fact also applies
to the system we consider but the existence of the two service classes makes the
system more complex requiring a different analysis. Moinzadeh and Aggarwal
[19] consider a two echelon system with two modes of inventory replenishment.
However, in their case all orders are satisfied on a FCFS basis while the two
order classes differ only in their transportation lead-times between the echelons.
On the other hand, in the system we consider, orders are satisfied on a FDFS
(first-due-first-serve) basis. Wang, Cohen and Zheng [30] analyze a similar two
echelon system in order to derive the transient and steady performance metrics
of the system. This work is actually the most relevant to ours in terms of the
presence of two classes of service differentiated by a demand lead-time. Therefore
we prefer to explore their work profoundly.
Wang, Cohen and Zheng [30] first study a single location system and derive
expressions for the inventory level distribution and random customer delay. As
a result, an expected yet crucial observation is made: the service level of cus-
tomers with positive demand lead times is higher than service level for customers
with zero demand lead time as long as there is a positive probability that the
replenishment order corresponding to a customer with positive demand lead time
arrives before its demand due date is made. After deriving the steady state per-
formance metrics for the single location system, the model is extended to a two
echelon system. By following an approach similar to the well-known METRIC,
the multi-echelon network is decomposed into single location subsystems. After
the analysis of the two-echelon setting, an optimization study is conducted to see
the effects of the introduction of a non-emergency service class. As a result it is
CHAPTER 2. LITERATURE SURVEY 11
seen that the system with two service classes results in significant cost savings in
terms of inventory as a result of the non-zero demand lead-time.
In the system we consider, the customers with positive demand lead times
constitute the non-critical demand class, while the customers with zero demand
lead times constitute the critical demand class. Therefore, it is imperative that
we use a policy that could provide a higher service level to the demand class with
zero demand lead times. Rationing is such a policy. In the standard policy, when-
ever on-hand inventories drop below a certain level - usually called critical level,
rationing level or threshold level of the associated customer class- the demands
of the lower priority classes are not satisfied with the expectation of future high
priority class customer demands.
The literature about rationing begins with Veinott [29] who was the first to
consider the problem of several demand classes in inventory systems. He analyzed
a periodic review inventory model with n demand classes and zero lead-time with
limited ordering, and introduced the notion of a critical level policy. Topkis [28]
proved the optimality of this policy both for the case of backordering and for
the case of lost sales. The problem was analyzed by breaking down the period
until the next ordering opportunity into a finite number of subintervals. In any
given interval the optimal rationing policy is such that demand from a given class
is satisfied from existing stock as long as there remains no unsatisfied demand
from a higher class and the stock level does not drop below a certain critical level
for that class. The critical levels are generally decreasing with the remaining
time until the next ordering opportunity. Independent of Topkis, Evans [8] and
Kaplan [16] fundamentally derived the same results for two demand classes. In
his paper Kaplan [16] suggested to let the critical level depend on the time until
next replenishment. A single period inventory model where demand occurs at the
end of a period is presented by Nahmias and Demmy [22] for two demand classes.
This work was later generalized by Moon and Kang [20]. Nahmias and Demmy
[22] generalized their results to a multi-period model with zero lead-times and
an (s, S) inventory policy. Atkins and Katircioglu [1] analyzed a periodic review
inventory system with several demand classes, backordering and a fixed lead-
time; where for each class a minimum service level was required. For this model
CHAPTER 2. LITERATURE SURVEY 12
they presented a heuristic rationing policy. Cohen, Kleindorfer and Lee [3] also
considered the problem of two demand classes, in the setting of a periodic review
(s, S) policy with lost sales. However, they did not use a critical level policy. At
the end of each period the inventory is issued with priority such that stock is
used to satisfy high-priority demand first, followed by low-priority demand.
Frank, Zhang and Duenyas [10] considered a periodic review inventory system
with two priority demand classes, one deterministic and the other stochastic. The
deterministic demand must be supplied immediately while stochastic demand not
satisfied is lost. Thus at each decision epoch, one has to decide how much demand
to fill from the stochastic source along with the usual replenishment decisions.
They first characterize the optimal policy and show that it has a complex state
dependent structure. Therefore they proposed a simpler policy, called (s, k, S)
policy, k being the static critical level determining how much stochastic demand
to satisfy, and provided a numerical study which shows that this simpler policy
works very well.
Nahmias and Demmy [22] were the first to consider multiple demand classes
in a continuous review inventory model. They analyzed a (Q, r) inventory model,
with two demand classes, Poisson demand, backordering, a fixed lead-time and
a critical level policy, under the crucial assumption that there is at most one
outstanding order. This assumption implies that whenever a replenishment order
is triggered, the net inventory and the inventory position are identical. The model
of Nahmias and Demmy is analyzed in a lost sales context by Melchiors, Dekker
and Klein [18].
A critical level policy for two demand classes where the critical level depends
CHAPTER 2. LITERATURE SURVEY 13
on the remaining time until the next stock replenishment was discussed by Te-
unter and Klein Haneveld [27]. A so-called remaining time policy is characterized
by a set of critical stocking times (L1 , L2 , ...); if the remaining time until the
next replenishment is at most L1 , no items are reserved for the high-priority cus-
tomers; if the time is between L1 and L1 + L2 then one item should be reserved,
and so on. They first analyze a model, which is the continuous equivalent of the
periodic review models by [8] and [16]. Teunter and Klein Haneveld [27] also
presented a continuous review (s, Q) model with deterministic lead-times. Under
the assumption that an arriving replenishment order is large enough to satisfy
all outstanding orders for high-priority customers, they derived a method to find
near optimal critical stocking times. They showed such a remaining time policy
outperforms a simple critical level policy where all critical levels are stationary.
Dekker et. al. [5] analyzed a similar model, with n demand classes, lost sales,
Poisson demand but generally distributed lead-times. They modeled this system
to derive expressions for the average cost and service levels. In addition, the
authors derived efficient algorithms to determine the optimal critical level, order-
up-to level policy, both for systems with and without service level constraints.
Moreover they presented a fast heuristic approach for the model without service
level constraints. In this model the different demand classes are characterized
by different lost sales costs. Deshpande, Cohen and Donohue [7] considered a
rationing policy for two demand classes differing in delay and shortage penalty
CHAPTER 2. LITERATURE SURVEY 14
costs with Poisson demand arrivals under a continuous review (Q, r) environ-
ment. They did not make the assumption of at most one outstanding order
which makes the allocation of arriving orders a major issue to consider. They
defined a so-called threshold clearing mechanism to overcome the difficulty of
allocating arriving orders and provided an efficient algorithm for computing the
optimal policy parameters which are defined by (Q, r, K), K being the threshold
level.
Dekker, Kleijn and de Rooj [6] discussed a case study on the inventory control
of slow moving spare parts in a large petrochemical plant, where parts were
installed in equipments of different criticality. They studied a lot-for-lot inventory
model with two demand classes, but without the assumption of at most one
outstanding order. Demand for both classes is assumed to be Poisson while the
replenishment lead-time is assumed to be deterministic. The primary contribution
of this paper is the derivation of service levels for both classes in the form of
probability of no stockout. However, the service level for the critical demand is
only an approximation since it depends on how incoming replenishment orders are
handled in a complicated way, while the service level for non-critical demand class
which is exact, since it is not effected by the way incoming orders are handled.
We again note that the primary difference between our model and earlier
research is that we simultaneously consider demand lead times and rationing.
We conclude the section with Table 2.1 which essentially summarizes the liter-
ature about rationing. We have classified the research based on several attributes.
The first one is the demand process which is divided as being Poisson, general or
deterministic. The second one is the number of demand classes considered and
it is either 2 or n which stands for multiple demand classes. The third one is the
type of review policy and it is either periodic or continuous review. The fourth
one classifies the research based on whether demand not satisfied at its due date
is backlogged or lost. The fifth and the last one is the lead time and it is classified
as zero or positive. If there is a positive lead time it is further classified as being
exponential, generally distributed or fixed. Lastly observe that some references
occur more than once in Table 2.1. This is because these references include more
CHAPTER 2. LITERATURE SURVEY 15
than one model and each such model is dedicated a separate row.
CHAPTER 2. LITERATURE SURVEY
Demand Process Number of Demand Classes Review Pol. Backorders Lead time
Reference Poisson General Deter. 2 n Per. Cont. Yes No Zero Positive
Expo. General Fixed
√ √ √ √
Atkins and Katircioglu [1] √ √ √ √ √
Dekker et. al.[5] √ √ √ √ √
Dekker et. al.[6] √ √ √ √ √
Deshpande et. al.[7] √ √ √ √ √ √
Evans [8] √ √ √ √ √ √
Frank et. al.[10] √ √ √ √ √
Ha [12] √ √ √ √
Ha [13] √ √ √
Ha [14] √ √ √ √ √ √
Kaplan [16] √ √ √ √ √
Melchiors et.al.[18] √ √ √ √
Moon and Kang [20] √ √ √ √ √
Moon and Kang [20] √ √ √ √ √
Nahmias and Demmy [22] √ √ √ √ √
Nahmias and Demmy [22] √ √ √ √ √
Nahmias and Demmy [22] √ √ √ √ √
Teunter and Klein Haneveld [27] √ √ √ √ √ √
Topkis [28] √ √ √ √
Veinott [29]
16
Chapter 3
Model
We consider a single location spare part inventory system which faces two classes
of demand arrivals with different criticality. The down orders which result from
the equipment failures of customers are assumed to constitute the high priority,
i.e., critical class, whereas the maintenance orders are assumed to constitute the
low priority, i.e., non-critical class. Demand arrivals of the critical and non-critical
class are both assumed to be Poisson with rates of λc and λn , respectively. Both
arrivals are satisfied from the same pool of inventory which is controlled by a base
stock policy with a base stock level S. Therefore, each demand arrival triggers a
replenishment order with a deterministic lead time of L. In addition, the demand
from the non-critical class allows a deterministic demand lead time of T , which
is called the demand lead time. Before proceeding with the description of our
rationing policy, we provide the following notation which will be used throughout
the rest of this thesis:
17
CHAPTER 3. MODEL 18
Note that Dc (a, b] is a Poisson random variable with rate λc × (b − a) and Dn (a, b]
is a Poisson random variable with rate λn × (b − a). H is an Erlang S − Sc random
variable with rate λc + λn . In our model, we will use type I service level, i.e., the
probability of no stock out, as our service level measure. We note that because of
the PASTA (Poisson Arrivals See Time Averages) property, this is also the type
II service level, i.e., the fill rate.
In this setting, our proposed policy shall work as follows: whenever a critical
order arrives, it is immediately satisfied if the on-hand inventory is positive or
backlogged if the on-hand inventory is zero. A non-critical order is accepted
as it arrives, and at its due date, that is, T time units after its arrival, it is
satisfied only if the on-hand inventory is above the critical level, Sc , otherwise it is
backlogged. Note again that whether critical or non-critical, each demand arrival
triggers a replenishment order which will arrive after L time units. Incoming
replenishment orders are allocated according to a priority clearing mechanism.
Under this mechanism, replenishment arrivals are allocated as follows: if there
CHAPTER 3. MODEL 19
We assume that β¯n < β¯c , which means that the demand class with demand
lead time has a service level requirement lower than the demand class without
demand lead time. This assumption is valid for the semiconductor equipment
manufacturer that motivated this research. However, we note that in other ap-
plications, the demand class with demand lead time can in fact be the demand
class that needs prioritized service. For example, in a retail setting, the customers
in the demand class with demand lead time (these could be online orders) submit
their orders in advance, and a commitment is made upon the acceptance of these
orders, whereas no prior commitment is made to the customers in the demand
class without demand lead time, who ask for inventory upon their arrival to the
store.
Given this system, our purpose is to determine the minimum inventory in-
vestment which satisfies the service requirements for both classes. Furthermore,
we assume the ownership of on-order inventory and minimize expected inventory
on hand plus on expected inventory on order. Note that unlike the case in a
standard continuous review (S − 1, S) policy, the inventory position is not al-
ways equal to S in this system with demand lead times. The expected inventory
position is in fact equal to S + λn × T , where the second term is due to the
outstanding replenishment orders for the non-critical demand class that are yet
CHAPTER 3. MODEL 20
not due. When we assume that fill rates are reasonably high, we can approxi-
mate the expected inventory on hand plus expected inventory on order by the
inventory position. Thus we select our objective as minimizing S (since λn × T
is a constant). Our optimization problem for given λc , λn , L, T , and minimum
service level requirements β¯c and β¯n is given as follows:
min S
S,Sc
s.t
βc (S, Sc ) ≥ β¯c
βn (S, Sc ) ≥ β¯n
S, Sc ≥ 0
Observe that the service level for the critical class is closely related to the way
incoming orders are handled and thus the arrival process. Therefore finding a
closed form expression for the service level of the critical class is extremely difficult
and for this reason we have to resort to approximations. In the next section, we
will derive the service level of the non-critical class and an approximation for the
service level of the critical class.
In this section, we derive the resulting service levels for a given set of policy
parameters: S, Sc . The service level that we derive is exact for the non-critical
demand class. The service level that we derive for the critical demand class,
however, is an approximation. But, we show analytically that the approximation
constitutes a lower bound for the actual service level for the critical demand class,
when we use a priority clearing mechanism to clear the backorders.
First consider the service level for the non-critical demand class and consider
the interval (t, t + L]. Since all outstanding orders at time t would arrive by
CHAPTER 3. MODEL 21
Thus, we have the following expression for the service level of the non-critical
demand class
S−S
e−[(λc +λn )L−λn T ] [(λc + λn )L − λn T ]i
X c −1
βn (S, Sc ) = (3.1)
i=0
i!
We again note that the expression in Equation (3.1) is an exact expression for
the non-critical demand class.
Now consider the service level for the critical demand and again consider the
time interval (t, t + L]. Since all outstanding orders at time t would arrive by time
t + L, the inventory level at time t + L would be S, if no demand occurred during
the interval. In order to satisfy a critical demand arriving at t + L, there must
be at least one unit of inventory at t + L. Note that the replenishment orders
corresponding to the non-critical demands that are due in the interval (t, t + T ]
are received in the interval (t + L − T, t + L]. In order to calculate the probability
that there is at least one unit of inventory at t + L, we condition on whether
the hitting time, i.e., first S − Sc units of total demand occurs in the interval
(t, t + L − T ] or in the interval (t + L − T, t + L]. If the hitting time is in the
interval (t, t + L − T ], then there should be at most Sc − 1 critical demands after
the hitting time. If the hitting time is in the interval in (t + L − T, t + L], say at
time t + L − T + z, we need to consider non-critical demands that are due only
in the interval (t + z, t + L − T + z], as the replenishment orders corresponding
to the non-critical demands that are due in period (t, t + z] will arrive before
CHAPTER 3. MODEL 22
βc (S, Sc ) = P {Dc (t + H, t + L] ≤ Sc − 1, H ≤ T − L}
+ P {Dc (t, t + L − T ] + Dn (t, t + L − T ] ≤ S − Sc − 1,
Dc (t, t + L] + Dn (t, t + L − T ] ≤ S − 1}
Note again that the expression in Equation (3.2) is an approximation for the
service level of the critical demand class. This is due to the following reasons.
First note that rationing may not start exactly at the hitting time since the
inventory level at time t may not be S or all outstanding orders at time t may
not arrive before the hitting time. Also the expression assumes that once the
rationing starts, we will keep on rationing until t + L, which may not be the case.
Though the expression in Equation (3.2) is an approximation, we next show that
it is a lower bound for the actual service level when the incoming replenishment
orders are handled according to a priority clearing mechanism.
Theorem 1 The approximation for the critical service level given in Equation
(3.2) is a lower bound for the actual critical service level, given that the priority
clearing mechanism is employed, that is, all incoming replenishment orders are
allocated to the critical class until the inventory on-hand reaches S c .
In order to write the inventory level at time t+H, consider the worst case, i.e., no
rationing has ever been performed during the interval (t, t+H] and all non-critical
backorders at time t are cleared by time t + H. Thus,
I(t + L) ≥ Sc − Dc (t + H, t + L] (3.6)
I(t + L) ≥ 1 (3.7)
Having established this proof, we will test the performance of this approxi-
mation with a simulation study in Chapter 4.
In this section we present the model of our simulation study. We coded a discrete
event simulation algorithm in C with the next-event time advance mechanism to
advance the simulation clock. The input parameters are S, Sc , λc , λn , L and T
and the random output parameters are βc and βn .
CHAPTER 3. MODEL 24
Increment
counters
yes Is no
IO(t)>0
Decrement Increase
on-hand critical backorders
inventory by one by one
Schedule
an order arrival
Schedule next
critical demand
return
We model the simulation with five events. Besides the end simulation event
which terminates the simulation run, we have four other events which are repre-
sented by the associated functions in the C code. Next we present the flow charts
of these events.
Figure 3.1 describes the critical demand event function. After a critical de-
mand arrival first the counter for the cumulative number of critical demand
arrivals is incremented by one. Then the on-hand inventory is checked to see
whether or not this arrival can be satisfied immediately. If on-hand inventory is
greater than zero and the critical arrival can be satisfied immediately the counter
for satisfied critical customers is incremented by one while the on-hand inven-
tory is decremented by one. Otherwise, the counter for critical backorders is
incremented by one. Observe that every critical demand arrival event schedules
a replenishment order arrival event for L time units after since the inventory is
controlled by a base stock policy. Also, it schedules the next critical arrival event.
Non-critical
demand event
Increment
counters
Schedule
an order arrival
Schedule
an evaluation
Schedule next
non-critical demand
return
only counter that is updated is the counter for the cumulative number of non-
critical arrivals (since all non-critical demand arrivals are accepted as they arrive).
This is because the due date of such an arrival is T time units after its arrival.
Thus another difference of the non-critical arrival event is that it also schedules
this evaluation event.
yes Is no
BOc>0
Clear
one critical yes Is no
backorder BOn>0
Increase
yes Is no on-hand inventory
IO(t)=Sc by one
Clear
one non- critical
backorder
Schedule next
order arrival
Return
yes Is no
IO(t)>Sc
Decrement Increase
on-hand non-critical backorders
inventory by one by one
Schedule
next evaluation
return
CHAPTER 3. MODEL 27
The run time of the simulation is 107 time units and there is one replication.
We also test our simulation model with batch-mean method with 105 run time
and 100 replications and show that the confidence intervals of our related output
parameters are in the order of 10−5 . To verify the accuracy of our simulation with
a single replication we chose S = 12, Sc = 3, λc = 4, λn = 8, L = 0.5 and T = 0.1
with the batch-mean method. To do this we divided the simulation into 100
replications of 105 each. We assume independence of successive simulation runs
which is acceptable considering the relatively long individual replication lengths
of 105 . As a result we see that the associated confidence intervals of our simulation
outputs are 3.26 × 10−5 and 5.60 × 10−4 for the critical and non-critical service
levels respectively. Having verified that these confidence intervals are indeed small
we conclude that we can confidently use our output from the simulation model
with one replication as an approximation for the associated service levels.
Having established that our approximation is a lower bound for the actual criti-
cal service level our approach will be to use this approximation for service level
optimization. (In the simulation study section we will show that the results of
the simulation study indicate that our approximation for the critical service level
works well especially for very high service levels). Thus we will use the approxi-
mation for critical service level to solve the following optimization problem:
min S
S,Sc
S.t
βc (S, Sc ) ≥ β¯c
βn (S, Sc ) ≥ β¯n
S, Sc ≥ 0
CHAPTER 3. MODEL 28
Numerical Study
Our numerical study is composed of two parts. In Section 4.1, we test the per-
formance of the approximation for the critical service level that is suggested in
Section 3.1 and identify the cases where it can estimate the actual service level
with reasonable accuracy. To accomplish this, we use the simulation model that
is presented in Section 3.2 which is coded in C and compare the simulated service
level with service level calculated through the approximation. Having confirmed
that the approximation works well in most cases, we use the approximation in the
optimization model to demonstrate the impact of various factors on base stock
levels and critical levels in Section 4.2.
In this section, we analyze the performance of the approximation for the critical
service level with respect to the actual (simulated) service level. This is done
again in two steps. First we test the performance of the approximation when the
required service level is high, specifically at 99 % and 95 %. Testing the approxi-
mation specifically at these levels is useful as high service levels are quite common
in industry, especially for critical parts or critical demand classes. Specific testing
29
CHAPTER 4. NUMERICAL STUDY 30
Table 4.1: Performance of the approximation for a fixed critical service level of
99 percent (Sc = 3, λn = 4, L=0.5 and T =0.1)
S λc βn βn βc βc Difference %
(sim) (exact) (sim) (approx) (sim-approx) difference
5 1 0.3791 0.3796 0.9995 0.9976 0.0019 0.19
6 2 0.5180 0.5184 0.9981 0.9927 0.0054 0.54
7 3 0.6249 0.6248 0.9968 0.9892 0.0076 0.76
8 4 0.7066 0.7064 0.9962 0.9877 0.0085 0.85
9 5 0.7693 0.7693 0.9958 0.9876 0.0082 0.82
10 6 0.8178 0.8180 0.9958 0.9884 0.0074 0.74
11 7 0.8561 0.8560 0.9960 0.9896 0.0064 0.64
12 8 0.8858 0.8857 0.9964 0.9909 0.0055 0.55
13 9 0.9091 0.9090 0.9967 0.9922 0.0045 0.45
14 10 0.9274 0.9274 0.9971 0.9934 0.0037 0.37
15 11 0.9421 0.9420 0.9975 0.9945 0.0030 0.30
16 12 0.9537 0.9536 0.9978 0.9954 0.0024 0.24
step, the critical level, Sc , and the critical arrival rate, λc are both increased by
one unit to keep the critical service level around 99 percent. As seen from the
data, the approximation works the best when the critical service level is highest.
The maximum difference between the approximation and simulation is 0.0553.
which still can be considered reasonable.
Table 4.2: Performance of the approximation for a fixed critical service level of
99 percent (S = 8, λn = 4, L=0.5 and T =0.1)
Sc λc βn βn βc βc Difference %
(sim) (exact) (sim) (approx) (sim-approx) difference
1 2 0.9828 0.9828 0.9983 0.9963 0.0020 0.20
2 3 0.9059 0.9057 0.9974 0.9928 0.0046 0.46
3 4 0.7066 0.7064 0.9962 0.9877 0.0085 0.85
4 5 0.4140 0.4142 0.9943 0.9802 0.0141 1.42
5 6 0.1623 0.1626 0.9923 0.9697 0.0226 2.28
6 7 0.0370 0.0372 0.9910 0.9554 0.0356 3.59
7 8 0.0037 0.0037 0.9921 0.9368 0.0553 5.57
CHAPTER 4. NUMERICAL STUDY 32
Table 4.3: Performance of the approximation for a fixed critical service level of
99 percent (Sc = 3, λc = 4, L=0.5 and T =0.1)
S λn βn βn βc βc Difference %
(sim) (exact) (sim) (approx) (sim-approx) difference
5 1 0.3084 0.3084 0.9499 0.9295 0.0204 2.15
6 2 0.4697 0.4695 0.9801 0.9625 0.0176 1.80
7 3 0.6022 0.6025 0.9915 0.9789 0.0126 1.27
8 4 0.7066 0.7064 0.9962 0.9877 0.0085 0.85
9 5 0.7849 0.7851 0.9981 0.9925 0.0056 0.56
10 6 0.8438 0.8436 0.9990 0.9954 0.0036 0.36
11 7 0.8868 0.8867 0.9995 0.9971 0.0024 0.24
12 8 0.9181 0.9181 0.9997 0.9981 0.0016 0.16
13 9 0.9410 0.9409 0.9999 0.9988 0.0011 0.11
14 10 0.9575 0.9574 0.9999 0.9992 0.0007 0.07
step, the base stock, S, and the non-critical arrival rate, λn are both increased
by one unit to keep the critical service level around 99 percent. The results are
similar to those in Tables 4.1 and 4.2. The approximation still works the best
when the critical service level is highest. The maximum difference between the
approximation and the simulation is 0.0204.
We repeat the analysis above for a critical service level around 95 %. In Table
4.5, we start from a dataset (S = 5, Sc = 2, λc = 4, λn = 1, L = 0.5, T = 0.1)
that provides a critical service level around 95 %. At each step, the base stock,
S, and the critical arrival rate, λc are both increased by one unit to keep the
critical service level around 95 % this time. Similar to the case with service levels
CHAPTER 4. NUMERICAL STUDY 33
Table 4.4: Performance of the approximation for a fixed critical service level of
99 percent (S = 8, λc = 4, L=0.5 and T =0.1)
Sc λn βn βn βc βc Difference %
(sim) (exact) (sim) (approx) (sim-approx) difference
1 2 0.9755 0.9756 0.9947 0.9925 0.0022 0.22
2 3 0.8946 0.8946 0.9945 0.9885 0.0060 0.60
3 4 0.7066 0.7064 0.9962 0.9877 0.0085 0.85
4 5 0.4333 0.4335 0.9980 0.9898 0.0082 0.82
5 6 0.1856 0.1851 0.9991 0.9929 0.0062 0.62
6 7 0.0479 0.0477 0.9997 0.9957 0.0040 0.40
7 8 0.0056 0.0055 0.9999 0.9977 0.0022 0.22
Table 4.5: Performance of the approximation for a fixed critical service level of
95 percent (Sc = 2, λn = 1, L=0.5 and T =0.1)
S λc βn βn βc βc Difference %
(sim) (exact) (sim) (approx) (sim-approx) difference
5 4 0.5696 0.5697 0.9380 0.9190 0.0190 2.03
6 5 0.6705 0.6696 0.9481 0.9339 0.0142 1.50
7 6 0.7440 0.7442 0.9573 0.9467 0.0106 1.11
8 7 0.8000 0.8006 0.9652 0.9573 0.0079 0.82
9 8 0.8433 0.8436 0.9718 0.9658 0.0060 0.62
10 9 0.8765 0.8769 0.9772 0.9726 0.0046 0.47
around 99 %, the the approximation works the best when the critical service
level is highest. However, observe that the differences between simulated and
approximated service levels attain higher values compared to those for 99 percent
due to the decreased critical service level.
Table 4.6: Performance of the approximation for a fixed critical service level of
95 percent (S = 7, λn = 1, L=0.5 and T =0.1)
Sc λc βn βn βc βc Difference %
(sim) (exact) (sim) (approx) (sim-approx) difference
1 5 0.9262 0.9258 0.9761 0.9722 0.0039 0.40
2 6 0.7440 0.7442 0.9573 0.9467 0.0106 1.11
3 7 0.4535 0.4532 0.9321 0.9118 0.0203 2.18
4 8 0.1855 0.1851 0.9040 0.8671 0.0369 4.08
5 9 0.0438 0.0439 0.8832 0.8134 0.0698 7.90
6 10 0.0047 0.0045 0.8864 0.7524 0.1340 15.12
Tables 4.7 and 4.8 show the impact of the base stock level, S on the critical and
non-critical service levels for two different scenarios. As seen from the data in
both tables, critical and non-critical service levels both increase as the base stock
level increases. We also note that the difference between actual and approximated
service level decreases confirming the performance of our approximation for high
critical service levels.
CHAPTER 4. NUMERICAL STUDY 35
In Tables 4.9 and 4.10, we study the impact of the critical arrival rate and
the non-critical arrival rates, respectively. As we increase both rates, we see that
both critical and non-critical service levels deteriorate. As we already observe
before, the performance of the approximation also deteriorates as we begin to
see low service levels. The difference between the simulated and approximated
critical service levels are at unacceptable levels for service levels around 60 %.
However, note that these service levels are hardly observed in practice, especially
for critical items or for critical demand classes.
In Table 4.11, we study the impact of demand lead time, T . The demand
lead time, T starts at 0.10 and is increased by 0.05 at each step, until it is equal
to the lead time. This increases both the critical and non-critical service levels.
Again, the difference behaves as expected, attaining its smallest value when the
critical service level is the highest. We also note that the non-critical service level
is quite sensitive to the demand lead time, while the critical service level is not.
CHAPTER 4. NUMERICAL STUDY 36
In this section, we present the output of our optimization and simulation op-
timization study with the aim of demonstrating that a system with rationing
(although using our approximation for the critical service level) can result in sig-
nificant inventory savings compared to a one without rationing. Through Tables
4.12-4.22 we present our results for various input parameters. In all tables, the
first column represents the input parameter in consideration. The second column
represents the required base stock level if no rationing is used (demand lead times
are still recognized). Observe that this base stock level will be determined by the
higher service level requirement which is the critical service level requirement in
our case (although we recognize demand lead times the policy without rationing is
still a round-up policy where demand from multiple classes is pooled). The third
and fourth columns represent the base stock level and the critical level that are
found through the optimization study using the approximation for the critical ser-
vice level. The fifth column represents the percentage saving resulting from using
a rationing policy that uses the approximation for the critical service level com-
pared to a policy where no rationing is used (100×(column2-column3)/column2).
The sixth and seventh columns represent the base stock level and the critical level
that are found through the optimization study that uses the simulation results
for the service level for the critical demand class. As our simulation runs are
shown to represent the system accurately, the sixth and seventh columns are in
fact true optimal values of the base stock level and the critical level. The eighth
column represents the percentage saving resulting from using a rationing policy
that uses the simulation results for the critical service level compared to a pol-
icy where no rationing is used (100×(column2-column6)/column2). The ninth
and eleventh columns represent the service levels for the critical and non-critical
demand classes obtained from simulation for the optimal base stock and critical
levels. The tenth column represents the service level estimated by the approxi-
mation, again for the optimal base stock and critical levels.
at 1. Note that we can reach the optimal solution for four cases using our ap-
proximation, whereas in other cases there is only a single unit difference between
the optimal base stock level and the result from our optimization study. The fine
performance of the optimization study that uses approximation is attributed to
the relatively small arrival rates and lead time demands. In addition, observe that
rationing tends to create more savings when the arrival rate in the non-critical
demand class is significantly higher than the arrival rate in the critical demand
class, although there is no uniformity in this behavior.
non-critical demand class is significantly higher than the arrival rate in the critical
demand class.
In Table 4.14, λn is increased one unit from 10 to 20, while λc is kept fixed at
5. As a result of the relative increase in the arrival rates and lead time demands,
the performance of the approximation deteriorates and the base stock levels that
are determined through approximation are always higher than the optimal base
stock levels. Again, observe that rationing tends to create more savings when
the arrival rate in the non-critical demand class is significantly higher than the
arrival rate in the critical demand class.
In Table 4.16, β¯c is increased from 90 percent to 99.5 percent while β¯n is kept
CHAPTER 4. NUMERICAL STUDY 41
fixed at 80 percent. It can easily be seen that rationing becomes more effective
as the critical service level requirement increases. Table 4.17 is the same as Table
4.16, except that the critical and non-critical arrival rates are reversed. Again
rationing becomes more instrumental and results in more savings at higher critical
service levels. But this time the savings are less compared to the previous savings
since the critical arrival rate is higher compared to the non-critical arrival rate.
In Table 4.18, the demand lead time T is increased from 0.4 to 2.0 (which
is equal to the replenishment lead time). The obvious result of this is that all
base stock parameters decrease as a result of the positive effect of demand lead
CHAPTER 4. NUMERICAL STUDY 43
time on inventory. However as the demand lead time increases, we also observe
that rationing becomes less effective and reductions in base stock levels through
rationing are limited. The same effect is also observed in Table 4.19, but here the
savings related to rationing are higher due to the increased non-critical arrival
rate.
Tables 4.20, 4.21 and 4.22 demonstrate the same effect of demand lead time
on savings that could be achieved as a result of rationing, however this time this
effect is not that noticeable due to the decreased arrival rates.
CHAPTER 4. NUMERICAL STUDY 44
Through this optimization study, we have two main observations: one is re-
lated to the performance of our optimization algorithm which uses our approx-
imation for the critical service level and the other is related to the cases where
rationing is more effective. We first note that the optimization algorithm that
uses the approximation can reach the optimal values for cases where the arrival
rates and thus lead time demands are relatively low (slow moving items). In
these specific cases, the optimal amount of base stock required to ensure the re-
quired service levels is low and there is a relatively small opportunity to save from
rationing (one or two units) and our optimization algorithm can capture those
savings. However as the demand rates become larger, more inventory is required
to ensure the required service levels and hence there is more opportunity to incur
inventory savings from rationing. In these cases, our optimization algorithm with
approximation usually cannot obtain the optimal base stock levels as it fails to
capture the important effect of incoming replenishment orders. Despite this fact,
our extremely faster optimization algorithm with approximation usually misses
the optimal base stock level by only one or two units: an impressive performance.
In addition, observe that the results of our optimization algorithm with approx-
imation serves another important role: the base stock levels that are obtained
through approximation is used as an upper bound for the simulation optimization
which would otherwise be even slower.
When all other parameters are kept the same, rationing tends to be more effective
in cases where β¯c is large as compared to β¯n . In other words, rationing becomes
more effective by differentiating service when the service level requirements are
significantly different. On the other hand, a policy without rationing is ineffective
when the difference between β¯c and β¯n is high, as non-critical demand class gets
a service level much higher than required.
Finally, note that our optimization algorithm which uses the approximation
for the critical service level is significantly faster than the simulation optimization.
On a 2 Ghz Pentium 4 processor, the run time of the optimization algorithm is
5 minutes on the average, while the average run time for a single simulation
is 60 minutes. Because the simulation optimization runs several simulations to
find the actual critical service levels for different (S, Sc ) pairs, this duration can
increase to several hours depending on system parameters. Considering the small
differences between the results of our optimization algorithm and the optimal
output parameters, we conclude that our optimization algorithm indeed performs
very well by capturing most of the savings due to rationing while the simulation
optimization can be a computational burden especially in systems where there is
an extensive number of items to manage.
Chapter 5
Case Study
In this chapter, we attempt to verify the significance of our results through a case
study at the semiconductor equipment manufacturer which we briefly described
in Chapter 1. We have selected a depot in North America that is serving a
number of customers for both down demand and lead time demand. As described
earlier, the depot is positioned to provide a 4-hour service to a specific list of
customer locations for their down orders. Considering the shipment time around
4 hours to its customer locations, this means that the down orders need to be
satisfied immediately from on stock inventory (i.e., demand lead time is zero).
The depot is also used to support maintenance orders from the same list of
customers. However, in this case, the parts do not have to be shipped right away.
The customers usually plan such maintenance activities in advance, and demand
lead times of 2 weeks are common and acceptable for such orders.
47
CHAPTER 5. CASE STUDY 48
In the same 12 months period, these 64 parts had a sales volume of $ 41.2
million (in cost). $ 24.3 million (59.1 %) of this is generated by orders that are
denoted by customers as down orders; $ 16.9 million (40.9 %) of this is generated
by orders that are denoted by customers as lead time orders. We note again that
with company’s current practice, the demand lead times are not recognized by
the company and the safety stocks are set to satisfy service level requirements for
the down orders while considering the total demand (down orders and lead time
orders).
We test a number of service level targets for down demand as the company
may change these targets depending on its negotiation with its customers that
are served through this particular depot. We also note that setting service level
targets for lead time demand alone is not an established practice for the company,
as the current practice provides a service level which is same as the service level
targeted for down demand (as noted in [30]). Therefore, we also test a number
of service level targets for lead time demand. However, we set the service level
targets for the lead time demand always less than the service level targets for the
down demand which is in line with company’s and customers’ expectations.
The analysis is done in three steps. In the first step, we do not recognize the
demand lead time for lead time orders and we do not apply any rationing. We
simply calculate the minimum base stock levels that will satisfy the target service
CHAPTER 5. CASE STUDY 49
level requirement for the down orders considering the total demand (down demand
plus lead time demand). This reflects the current practice in the company. In the
second step, we recognize the demand lead time for lead time orders, however do
not use any rationing to provide differentiated service to the two type of demand
classes. We calculate the minimum base stock levels that will satisfy the target
service level requirement for the down orders. This is similar to the model in [30]
and in fact lead time orders and down orders get the same service level in this
case. Finally, in the third step, we recognize the demand lead times and also use
rationing to provide differentiated service to two demand classes. In this analysis,
we use the approximation that is derived in Section 3.1, as this is proven to be
an effective procedure in Section 4.1. The procedure is also easy to implement
which is important for a company that needs to manage 50,000 or more parts
across more than 70 locations in the world.
We demonstrate our analysis for a particular part in Table 5.2. The third
column in the table shows the minimum base stock levels to satisfy the service
level requirement for the critical demand class when one does not recognize the
demand lead times and does not apply any rationing. The fourth column in
the table shows the minimum base stock levels to satisfy the service level re-
quirement for the critical demand class when one recognizes the demand lead
times, but does not apply any rationing. The fifth column in the table shows
the percentage saving for this case over the no demand lead time case, that is,
100×(column3-column4)/column3. The sixth and seventh columns in the table
show the minimum base stock levels and the corresponding critical levels to sat-
isfy the service level requirements for the critical demand class and non-critical
demand class, individually when one recognizes the demand lead times and also
uses rationing (which uses the approximation for the critical service level). The
eighth column in the table shows the percentage saving for this case over the no
demand lead time case, that is, 100×(column3-column6)/column3. This part is a
$ 3,530 part with a lead time of 86 days. For the 12 month period in this analysis,
the down demand was 12 units, and the lead time demand was 41 units.
When the critical and non-critical service levels are 90 % and 80 %, respec-
tively, recognizing demand lead time for the non-critical demand class generates
CHAPTER 5. CASE STUDY 50
No Demand No
Service Level (%) Lead Time Rationing Rationing
Critical Non-critical S S % saving S Sc % saving
90 80 18 16 11.11 16 0 11.11
95 80 20 18 10.00 17 2 15.00
97 80 21 19 9.52 17 2 19.05
99 80 23 20 13.04 18 3 21.74
99 85 23 20 13.04 18 3 21.74
99 90 23 20 13.04 19 3 17.39
99 95 23 20 13.04 20 0 13.04
2 units savings in base stock levels. The use of rationing is not very useful here
as the service level difference is not significant in this setting. However as the
service level is increased for the critical demand class, we see savings through
rationing and continue to see savings through recognition of demand lead times
for the non-critical class. The maximum saving through recognition of demand
lead times is achieved when the service level for the critical demand classes is
highest. The maximum saving through rationing is achieved when the service
level difference between critical and non-critical demand classes is highest. After
we reach the critical and non-critical service levels of 99 % and 80 %, respectively,
we start to increase the service level of the non-critical demand class, while keep-
ing the critical service level constant. We observe that base stock levels are same
if we do not apply any rationing, and the impact of rationing disappears as the
non-critical service level approaches critical service level.
A similar analysis is done for all 64 parts. Tables 5.3 and 5.4 show the dollar
value of base stock levels (in thousands dollars) for three different approaches.
We see that recognizing the demand lead times and using rationing to differenti-
ate service levels generate significant savings to the company for these 64 parts.
When the critical service level is 99 % and the non-critical service level is 80 %,
recognizing demand lead times saves 7.4 % on base stock levels (which is equal to
the inventory investment, once we assume that the pipeline stocks are owned by
the company); additional 4.1 % is saved once the company starts rationing (even
CHAPTER 5. CASE STUDY 51
though we use an approximation for the service level of the critical demand class)
to provide differentiated services to two types of demand. As the critical service
level declines to approach the non-critical service level, we see that savings due
to the recognition of demand lead times are still significant, while the impact of
rationing is less pronounced. In the last two columns of Tables 5.3 and 5.4, we
also report the dollar value of base stocks when we use rationing with the exact
values of the service level for the critical demand class derived through simulation
and percentage savings over the no demand lead time case.
We conclude that the recognition of the demand lead times and the use of
rationing create significant savings for the company. This is true even when
we use an approximation to estimate the service level for the critical demand
class. More savings are obviously possible if we can accurately determine the
service level for the critical demand class. However, the approximation is easy
CHAPTER 5. CASE STUDY 52
Conclusion
In this thesis, we consider a single echelon spare part distribution system. Our
research is motivated by our experience with a leading semiconductor equipment
manufacturer. This manufacturer faces two kinds of orders: down orders that
result from the equipment failures of the customers and lead time orders that
result from the scheduled maintenance activities of customers. The down orders
must be supplied immediately while the lead time orders are needed to be supplied
at a future date (demand lead time). Currently, the company uses a common pool
of inventory controlled by a base stock policy. However, it neither recognizes the
demand lead times for the lead time demand, nor it treats the down demand and
lead time demand differently, in order to provide different service levels. Since
unused semiconductor manufacturing capacity in customers is very costly, we
need a policy that could favor down orders. Therefore, we model the system as a
single echelon inventory model where down orders are considered as the critical
demand class, while the lead time orders are considered as the non-critical class
and propose a static rationing policy that would ration the demand from non-
critical class. The model aims to satisfy the minimum service level requirements
for both demand classes, while using less inventory than the policy the company
currently uses.
We develop an approximation for the critical service level and prove that this
53
CHAPTER 6. CONCLUSION 54
approximation is essentially a lower bound for the critical service level. Further-
more we conduct a simulation study to test the performance of our approximation
versus the actual (simulated) critical service level and show that our approxima-
tion performs well specifically for high critical service levels which is in line with
the needs of a critical demand class. As a result of our optimization study, we
show that rationing the non-critical orders indeed results in significant savings
in terms of base stock inventory. Savings are also verified in a case study where
we use real data from the semiconductor equipment manufacturer we mentioned
earlier.
We also present the situations where the rationing policy is most useful. The
rationing policy is more effective (by saving more base stock compared to a policy
without rationing) when the non-critical arrival rate dominates the critical arrival
rate and the critical service level requirement dominates the non-critical service
level requirement. Obviously more savings are possible through using the actual
service levels from simulation. However, our optimization algorithm which is
extremely faster than simulation optimization captures most of the savings due
to rationing and hence will be more effective especially in systems where the
number of parts is extensive (as in the semiconductor equipment manufacturer
we consider).
During this research, we combine the concept of demand lead time and in-
ventory rationing, both of which have proven to be cost effective for inventory
systems. However, to our knowledge our study is the first to simultaneously con-
sider rationing and demand lead time. Our numerical results indicate that such
a practice indeed results in significant inventory and cost savings.
Future research can extend the analysis here in many directions. Although we
were motivated by a system with two demand classes, considering the possibility
of more demand classes would be an appropriate extension. In addition, consider-
ing several deterministic demand lead times would be interesting. In some cases
the supply or demand lead time might be stochastic, hence this could be a logical
extension. Obviously most inventory systems have a multi-echelon structure and
therefore extending the analysis to a multi-echelon setting would be a realistic
CHAPTER 6. CONCLUSION 55
56
BIBLIOGRAPHY 57
[8] R. V. Evans. Sales and restocking policies in a single item inventory system.
Management Science, 14:463–472, 1968.
[20] I. Moon and S. Kang. Rationing policies for some inventory systems. J.
Oper. Res. Soc., 49(5):509–518, 1998.
[23] C. Palm. Analysis of the erlang tra. formula for busy-signal arrangements.
Ericsson Technics, 4:39–58, 1938.
Code
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include "lcgrand.h" /* Header file for random-number generator. */
#include "approximation.h" /* Header file for the service level approximation of
60
APPENDIX A. CODE 61
double replenish_queue[1000],evaluation_queue[1000];
FILE *outfile;
void initialize(void);
void timing(void);
void c_demand(void);
void n_demand(void);
void evaluate (void);
void order_arrival(void);
void report(void);
double expon(double mean);
/* The main function runs the discrete event simulation by the event-scheduling/t
main ()
{
/* Open the output file. */
num_events = 5;
printf(" \n Enter the arrival rate for the non-critical class: ");
scanf("%lf", &lambda_n);
printf(" \n Enter the replenishment lead-time: ");
scanf("%lf", &L);
printf(" \n Enter the demand lead-time for the non-critical class: ");
scanf("%lf", &T);
bigs=inv_level;
base_stock=inv_level;
initialize();
do {
timing();
switch (next_event_type) {
case 1:
order_arrival();
break;
case 2:
c_demand();
break;
case 3:
n_demand();
break;
case 4:
evaluate();
break;
case 5:
report();
break;
}
/* If the event just executed was not the end-simulation event (type 3),
continue simulating. Otherwise, end the simulation for the current
(s,S) pair and go on to the next pair (if any). */
fclose(outfile);
return 0;
APPENDIX A. CODE 64
sim_time = 0.0;
c_num_cus = 0;
c_num_sat = 0;
n_num_cus = 0;
n_num_sat = 0;
c_backorders = 0;
n_backorders = 0;
time_next_event[1] = 1.0e+30;
time_next_event[2] = sim_time + expon(lambda_c);
time_next_event[3] = sim_time + expon(lambda_n);
time_next_event[4] = 1.0e+30;
time_next_event[5] = 10000000.0;
{
int i;
double min_time_next_event = 1.0e+29;
next_event_type = 0;
sim_time = min_time_next_event;
}
c_num_cus++;
if (inv_level>0)
APPENDIX A. CODE 66
{
inv_level--;
c_num_sat++;
}
else {
c_backorders++;
}
/* Schedule the time of the next critical demand and replensihment arrival. */
/*schedule the next replenishment arrival by putting the one associated with th
demand arrival in the appropriate place in the replenishment queue.*/
time_next_event[1] = replenish_queue[0];
}
n_num_cus++;
/*schedule the next replenishment arrival by putting the one associated with th
demand arrival in the appropriate place in the replenishment queue.*/
time_next_event[1] = replenish_queue[0];
/*schedule the next evaluation of inventory by putting the one associated with
demand arrival in the appropriate place in the evaluation queue.*/
{
evaluation_queue[j] = sim_time + T;
break;
}
}
time_next_event[4] = evaluation_queue[0];
}
if (evaluation_queue[0] != 0)
time_next_event[4] = evaluation_queue[0];
else{
time_next_event[4] = 1.0e+30;
}
}
/*use the priority clearing mechanism, i.e., clear non-critical backorders only
inv level is at or above critical*/
if (c_backorders > 0)
c_backorders --;
n_backorders --;
else
inv_level++;
if (replenish_queue[0] != 0)
time_next_event[1] = replenish_queue[0];
else{
time_next_event[1] = 1.0e+30;
}
}
double beta_c,beta_n;
{
/* Return an exponential random variate with mean "mean". */
/****************************End of program********************************/
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include "approximation.h"
#include "nc_service.h"
main ()
{
int num1,num2,num3;
printf(" \n Enter the arrival rate for the critical class: ");
scanf("%lf", &lambda_c);
printf(" \n Enter the arrival rate for the non-critical class: ");
scanf("%lf", &lambda_n);
printf(" \n Enter the replenishment lead-time: ");
APPENDIX A. CODE 72
scanf("%lf", &L);
printf(" \n Enter the demand lead-time for the non-critical class: ");
scanf("%lf", &T);
printf(" \n Enter the service level requirement for the critical class: ");
scanf("%lf", &beta_c);
printf(" \n Enter the service level requirement for the non-critical class: ");
scanf("%lf", &beta_n);
for(num2=1;; num2++)
{
base_stock=num2;
for(num1=delta_min; ; num1++)
{
base_stock=num1;
if(approximate() >= beta_c)
{
APPENDIX A. CODE 73
delta_max = base_stock;
S_opt = base_stock;
printf("\n The critical service level is %f", approximate() );
break;
}
}
printf("\n delta_max is %d", delta_max);
}
printf("\n The optimal order-up-to level for these parameters is %d", S_opt);
printf("\n The optimal critical(threshold) level for these parameters is %d", S
}