Inventory rationing for a system with heterogeneous customer classes

Many retailers ﬁnd it useful to partition customers into multiple classes based on certain characteristics. We consider the case in which customers are primarily distinguished by whether they are willing to wait for backordered demand. A ﬁrm that faces demand from customers that are diﬀerentiated in this way may want to adopt an inventory management policy that takes advantage of this diﬀerentiation. We propose doing so by imposing a critical level (CL) policy: When inventory is at or below the critical level demand from those customers that are willing to wait is backordered, while demand from customers unwilling to wait will still be served as long as there is any inventory available. This policy reserves inventory for possible future demands from impatient customers by having other, patient, customers wait. We model a system that operates a continuous review replenishment policy, in which a base stock policy is used for replenishments. Demands as well as lead times are stochastic. We develop an exact and eﬃcient procedure to determine the average inﬁnite horizon performance of a given CL policy. Leveraging this procedure we develop an eﬃcient algorithm to determine the optimal CL policy parameters. Then, in a numerical study we compare the cost of the optimal CL policy to the globally optimal state-dependent policy along with two alternative, more na¨ıve, policies. The CL policy is slightly over 2% from optimal, whereas the alternative policies are 7% and 27% from optimal. We also study the sensitivity of our policy to the coeﬃcient of variation of the lead time distribution, and ﬁnd that the optimal CL policy is fairly insensitive, which is not the case for the globally optimal policy


Introduction and Motivation
Managers often face demand, and thus differentiate between, customers that expect different standards of service.One class of industries that recognizes and implements customer differentiation along these lines are those that deliver and maintain expensive capital goods requiring high uptimes; examples include defense systems (e.g.Deshpande et al. 2003a and2003b), semiconductor manufacturing equipment (e.g.Kranenburg and Van Houtum 2008), and mobile phone operating systems (e.g.Möllering and Thonemann 2008).In all these cases customers are assigned a priority level based on equipment criticality or demand type, for example demand from a machine that is down may have higher priority than a replenishment demand from a stockpoint in the network.
Various tools have been developed to differentiate between such customers: a common approach is the use of a critical level policy that reserves some inventory for the more important customer class.Specifically, current state information (e.g.amount of inventory in hand) is used to deny some customers access to inventory, in order to reserve this stock to serve more important demands that have yet to arrive.This type of policy yields considerable benefits when compared to cases in which all customers receive the same level of service, or when separate inventories are kept for each customer class.These types of problems have been studied under varying assumptions: see e.g.Veinott (1965), Topkis (1968), Ha (1997a), Cattani and Souza (2002), Dekker et al. (2002), De Véricourt et al. (2002), Deshpande et al. (2003b), Möllering and Thonemann (2008), and Kranenburg andVan Houtum (2007, 2008).An assumption common to this literature is that all customer classes behave similarly, i.e. either all classes leave and the sale is lost when not immediately satisfied, or all are willing to wait and are backordered.
We study a mixed problem in which one customer class leaves when demand is not satisfied immediately, while the other customer class is willing to wait while demand is backordered.This characteristic, in fact, may be the basis of customer differentiation.We see, at least, three application areas for our model: 1. Consider a retailer that faces demand from both loyal (demanding), long term customers with high service level requirements and occasional walk-in customers.One can imagine the retailer holding back some inventory to serve anticipated demands from loyal customers while turning down walk-in customers.A situation like this is described by Gans and Savin (2007) for rental cars.
2. When operating a physical store in combination with an online shop the customers issuing their demand in the store observe actual inventory and may leave unsatisfied if the desired item is not available.The online customers can be backlogged when inventory is low and still be considered satisfied, since they anticipated some lead time anyways.Cattani and Souza (2002), Swaminathan and Tayur (2003), and more recently Duran et al. (2008), identify the opportunity to differentiate between these types of customers.
3. An OEM may operate a central warehouse as well as a network of local warehouses from which it serves its customers.The central warehouse must satisfy replenishment demands from the local warehouses as well as emergency demands directly from customers; these latter demands occur when a customer's machine is down and the nearest local warehouse does not have the desired item.In this case the emergency demand has priority over replenishment demands, which can be delayed.This situation was recognized by Alfredsson and Verrijdt (1999), Deshpande et al. (2003aDeshpande et al. ( , 2003b)), and Möllering and Thonemann (2008), among others.
As mentioned above, nearly all previous papers consider homogeneous customer behavior -either all customers are willing, or all customers are unwilling to wait.Because of this, the methods and models used by other papers cannot be readily extended to the heterogeneous customers that we consider.We further discuss the related literature in § 2.2.
In this paper we make several contributions.
1. We are the first to thoroughly analyze using a critical level in response to customer classes reacting differently to being denied an item.This important characteristic in practice has only been modeled in a limited fashion before.
2. We develop an exact evaluation procedure for a given CL policy using matrix analytic methods, and prove monotonicity properties of the main performance measures via sample path analysis.
3. Using these monotonicity properties we develop an efficient optimization procedure, which avoids enumerating over large numbers of potentially optimal policies.4. We demonstrate the near-insensitivity of the performance of the optimal CL policy to lead time distribution variability.This near-insensitivity implies that the assumption of exponential lead times that is needed in the analysis has little effect on the solution.
5. Finally, we benchmark the performance of the optimal CL policy against the globally optimal (state dependent) policy and two alternative, more naïve, policies.This provides insights into when it makes sense to use a critical level policy.The comparison of CL policies to the globally optimal is surprisingly absent in the literature: Kaplan (1969), Dekker et al. (2002), Ha (1997a), and Möllering and Thonemann (2008) all compare to more naïve policies only.And, when comparisons to the globally optimal policy are made, this is often only done in oversimplified systems (see e.g.Benjaafar et al. 2006, who consider only 1 customer class).We show that our CL policy improves significantly upon the more naïve policies and performs near optimally.
The remainder of the paper is structured as follows.First we will introduce our model and review the related literature in Section 2. Section 3 develops an evaluation procedure to compute the performance of a CL policy at any desired level of exactness.An efficient optimization algorithm that bounds the enumeration space using monotonicity results is presented in Section 4. Section 5 details our numerical experiment comparing the performance of the optimal, CL and more naïve, policies, provides insight into sensitivity with respect to lead time variability, and studies the efficiency of our bounds.Furthermore, some insight into the structure of the globally optimal policy is provided.Section 6 introduces some extensions, and our conclusions are presented in Section 7.

Model and related literature
In this section we first describe of our model as well as our main assumptions.Then, having detailed our model, we briefly review the related literature and how it compares with our model.

Model description
We consider a single stockpoint where a single product is kept on stock.Customer classes are denoted by j = 1, 2; class 1 has the highest priority and its demand is lost if not immediately satisfied from stock.Class 2 has lower priority and its demand is backordered if not immediately satisfied.Demands of class j arrive according to a Poisson process with rate λ j , and the total demand rate is denoted by λ = λ 1 + λ 2 .Inventory is controlled using a continuous review critical level (CL) policy, which reserves inventory for the most important customer class by backordering class 2 as soon as inventory drops below a certain critical level.Backorders are delivered as soon as inventory on hand increases above the critical level.
We impose a static base stock level denoted by S, and let c denote the critical level, with S, c ∈ N 0 := N ∪ {0}.Replenishment orders are assumed to have a exponential lead times1 with mean µ −1 .Orders need not arrive in the order in which they are placed.An illustration of the behavior of inventory and backorder levels under this policy can be found in Figure 1.Events j = 1, 2 denote demands from customer class j, and R denotes the arrival of a replenishment order.In §5.2.1 we generalize our analytical results to lead times that have higher variability, distributed as degenerate hyperexponential random variables.Furthermore, using simulation we investigate the effect of lead times with higher and lower variability in §5.2.2.

Figure 1
An illustration of the critical level policy We seek to minimize the infinite horizon expected cost of a policy, C(S, c), which can be separated into three different types of cost.First, a one-time penalty cost p j ≥ 0 is incurred whenever a demand of class j is not immediately satisfied from stock.Second, a backorder cost b ≥ 0 is incurred per unit per unit time a (class 2) backorder exists.Third, an inventory holding cost h ≥ 0 is charged per unit per unit time an item is on hand.We denote the fraction of demand from class j that is immediately satisfied from stock (the fill rate) by β j (S, c), the average number of backorders by B(S, c), and the average inventory by I(S, c).This leads to the following optimization problem: To solve (1) we first develop an efficient, exact procedure to determine the cost of a given CL policy, C(S, c), in Section 3. Then we develop an efficient optimization procedure that eliminates large sets of potentially optimal values for S and c, bounding our enumeration space, in Section 4.
We find the optimal S and c by enumerating over the reduced space.

Related literature
The policy we describe in Section 2.1 belongs to the class of rationing or critical level policies.Veinott (1965) introduced the CL policy, and since then the performance of such policies has been extensively studied.We focus on the case with a single static critical level.This in contrast to e.g.Evans (1968), Topkis (1968), Kaplan (1969), Melchiors (2003), and Teunter and Klein Haneveld (2008); in their papers the critical level depends on the time remaining until the next replenishment arrives.This also is different from policies in which the critical level is state dependent, e.g.Benjaafar et al. (2006).A single static critical level is easy to explain to practitioners and to implement, as it does not depend on the progress of items beyond your control, i.e. in the replenishment pipeline.In Section 5.3 we will compare the optimal state dependent policy with our policy.
Within the class of papers having a single, static, critical level, we distinguish problems by the way customers react to unsatisfied demand.Studies in which demand from each class is lost when not immediately satisfied have been performed by Ha (1997a), Ha (2000), Melchiors et al. (2000), Dekker et al. (2002), Frank et al. (2003), and Kranenburg and Van Houtum (2007).Ha (1997a) studies a continuous review model with a Poisson demand processes, and a single exponential replenishment server.He proves the optimality of CL policies and shows that both the base stock level and the critical level are time-independent.In Ha (2000), Ha (1997a) is extended to include Erlang distributed lead times.Dekker et al. (2002) consider a model similar to the one studied by Ha (1997a) but assume an ample exponential replenishment server; they derive exact procedures for determining the optimal CL policy.Melchiors et al. (2000) generalizes Dekker et al. (2002) by including a fixed order quantity.They optimize the order quantity, base stock level, and the critical level.Frank et al. (2003) consider periodic review models with fixed lead times (i.e.ample replenishment servers) for which they find the optimal policy parameters.Many of the solution approaches described above are computationally expensive for more than two demand classes.Kranenburg and Van Houtum (2007) divide larger problems into subproblems, and develop efficient heuristic algorithms for these subproblems (one for each customer class).These heuristics are tested on a large testbed and shown to perform well.This increase in speed allows for application in a multi-item setting as demonstrated in Kranenburg and Van Houtum (2008).
The other primary subclass is that in which demands from both classes are backordered when they cannot be met from stock.This is studied by Nahmias and Demmy (1981), Ha (1997b), Dekker et al. (1998), De Véricourt et al. (2002), Deshpande et al. (2003b), Duran et al. (2008) and Möllering and Thonemann (2008).Nahmias and Demmy (1981) are the first to evaluate the performance of a system with two classes that are backordered when not immediately satisfied.
They assume that there is at most one outstanding replenishment order to facilitate their analysis; this assumption remains common to date in this stream of literature.Ha (1997b) andDe Véricourt et al. (2002) derive the optimal allocation policy in a make-to-stock capacitated assembly system in which demands from all classes (two classes in Ha 1997b, n classes in De Véricourt et al. 2002) are backordered if not immediately satisfied.Other then customer behavior when a demand is not immediately satisfied De Véricourt et al. (2002) use the same assumptions as Ha (1997a).Dekker et al. (1998) derive an approximation to the performance of a given policy under Poisson demands and deterministic lead times under a lot-for-lot inventory management policy.Deshpande et al. (2003b) study a problem with two customer classes and rationing under a (Q, r) policy, also clearly outlining what complicates the problem when demands are backordered: (i) one has to determine the order in which backorders are optimally cleared, and (ii) if the optimal clearing mechanism is used extensive state information is needed.Möllering and Thonemann (2008) study a periodic review model with arbitrary, discrete, demand distributions and a lead time that is an integer multiple of the review period.Duran et al. (2008) consider the finite horizon problem for which they find the optimal policy in terms how much inventory to reserve, how many demands to backorder (the alternative is to reject them) and what level to order-up-to.
We study the combination of these two subclasses of policies; demand from one class is lost and the other is backordered.So far, this policy has received little attention in the literature.It is one of several policies compared by Cattani and Souza (2002), who assume Poisson demand, and a single, exponential, replenishment server.They determine the parameters of the optimal policy through exhaustive search over a suitably large state space.Compared to Cattani and Souza (2002), our replenishment system can operate either a single, several parallel, or an ample number of replenishment servers.We will focus on the ample server case as this captures practical settings we wish to model (see below), and as the other cases are special (and easier) cases.Furthermore we avoid enumeration over a suitably large state space by the development of bounds on the cost of a policy.Hence, Cattani and Souza (2002) can be thought of as containing a special case of our problem.
In a practical setting, the ample server assumption is motivated, for example, by the problems studied by Gans and Savin (2007) or Kranenburg and Van Houtum (2008).Gans and Savin (2007) studies a car-rental problem in which every car that has been rented has an exponentially distributed rental period.In Kranenburg and Van Houtum (2008), like many other papers in the spare parts literature, lead times are negotiated with suppliers such that the supplier is required to deliver within a specified window, no matter how many orders are issued.Suppliers are able to meet these requirements as they generally supply a variety of items to different customers and hence have ample capacity when observed from the point of view of a single item.
Throughout the literature several assumptions on lead times have been made; we assume exponential lead times initially, and then generalize to degenerate hyperexponential.In addition, we determine the cost of the globally optimal policy, without assuming static critical levels, using dynamic programming, and compare the performance of our policy to the globally optimal policy and two alternative, more naïve, policies.We also compare the robustness of both the CL and the globally optimal policy and establish for the first time that the CL policy is typically more robust to changes in lead time variability than the globally optimal policy.In fact, the optimal CL policy determined under exponential lead times may even outperform the globally optimal policy determined under exponential lead times when they are utilized in situations with non-exponential lead times.

Evaluation
Our model, under CL policy, (S, c), can be described by a Markov process with states (m, n), where m ∈ N 0 represents the number of items on hand, n ∈ N 0 the number of items backordered.The state space and transition scheme of this policy is depicted in Figure 2. Let π m,n denote the steady state probabilities of our Markov chain.Since both customer classes arrive according to a Poisson process we can use PASTA (Wolff 1982) to evaluate the cost as defined in (1).To do so we need four performance measures, expressed in terms of π m,n as follows: In the next two subsections we develop an efficient procedure to evaluate the above performance measures.

Structure of the Markov process
Our solution procedure exploits the structure of our Markov process.We partition the set of all states into levels according to the number of backorders n.Level n consists of the following states: {(0, 0), (1, 0), . . ., (c, 0), . . ., (S, 0)} for level n = 0, According to this partitioning, the generator Q of the Markov process is given by: where B 0 , B −1 and B 1 are matrices of size (S + 1)x(S + 1), (c + 1)x(S + 1) and (S + 1)x(c + 1) respectively; and A 0 (n), A −1 (n) and A 1 are matrices of size (c + 1)x(c + 1).A more detailed description of these matrices is given in Appendix A.
Note that Q is a Quasi-Birth-Death process.In case of level independent matrices, i.e., A −1 (n) ≡ A −1 and A 0 (n) ≡ A 0 , standard Matrix Analytic Methods (MAM) can be applied to compute the steady state distribution (see e.g.Neuts 1981, Lautouche andRamaswami 1987).In our case, the matrices A −1 (n) and A 0 (n) do depend on level n, which complicates the computation of the steady state distribution (see e.g.Bright and Taylor 1995).However, the process' characteristic that there is only one transition from level n to n − 1, from (c, n) to (c, n − 1) considerably simplifies our analysis.This enables us to determine the π m,n exactly, via recursion, as we demonstrate below.
Let π n be the vector of steady state probabilities at level n: Let πn be the solution to: where πn is defined similar to π n , but now in terms of πm,n instead of π m,n .Note that in (10) πn is normalized by setting πS,0 = 1 instead of using ∞ n=0 π n e=1, which cannot be determined yet.Note that equations ( 7)-( 9) relate the steady state probabilities of level n to those of levels n − 1 and n + 1 as is standard in applying MAM, however, as A 0 (n) and A −1 (n + 1) still depend on n, we cannot readily apply MAM.But the following lemma offers a solution methodology.Define the (c + 1) × (c + 1) matrix A as: Lemma 1.The π0 , and π1 can be determined by solving: and for n > 1 the πn follow from: The proof of Lemma 1, along with all other proofs, can be found in Appendix B.
In Lemma 1 the steady state probabilities of levels 0 and 1 can be solved explicitly, and the steady state probabilities of level n are expressed in terms of level n − 1 only, leveraging the special structure in our Markov process.The original π m,n can then be calculated as follows: As is standard in MAM, the infinite sums in the performance measures introduced in (2) through (5) need to be truncated.Next, we develop (tight) bounds for this truncation error, along with our general solution procedure.

Solution procedure
The performance measures can be written in terms of πn , again using PASTA: Lower bounds for the infinite sums appearing in these expressions are easily found by truncation.
Upper bounds follow from the next lemma. where The intuition behind Lemma 2 is that the definition of diagonal layers: , where ≥ 1.To compute the performance measures at the desired level of accuracy we start with = 1 and increase , one unit at a time, until the upper and lower bound for each of the performance measures are sufficiently close.As U ( + 1) is expected to decrease very rapidly as → ∞, the bounds may already become tight for moderate values of the truncation level c + .In the numerical experiment to be introduced later we observe that, for a maximum distance between the upper and lower bounds of 10 −6 , varies between 6 and 29 with a mean of 11.9.Also, seems to increase in c as, with a higher critical level, there is more mass below c, which leads to the need of evaluating more levels for accuracy.Hence we conclude that, in practice, the bounds become tight very rapidly.
These truncation error bounds, and their quality, is important as exact recursive calculation of the steady state probabilities involves matrix inverses (12), which become more costly for larger values of c.Using these truncation error bounds we limit the number of matrix inversions.

Optimization
Recall that our goal is to find the parameters of the optimal CL policy, i.e. the optimal values of S and c.So far we can determine the performance of a given CL policy, i.e. for given S and c we can determine the cost (as defined in ( 1)).In this section we build this evaluation technique into a procedure for finding the optimal S and c parameters.
Even though our evaluation procedure avoids many matrix inversions, some are unavoidable to precisely evaluate the performance of each S and c.Here, we develop two sets of lower bounds on the optimal cost in terms of S and c respectively.These bounds allow us to eliminate candidate solutions and hence bound the enumeration space.We target to eliminate candidate solutions with large S and c as the size of the matrices that need to be inverted grows in S and c.
For the development of these bounds we first need monotonicity results for several performance measures with respect to the critical level, c.We obtain these monotonicity results using sample path arguments.Define X(S, c) as the average pipeline stock, i.e. the average number of as yet undelivered items that have been ordered from a supplier.We prove the following monotonicity results: Theorem 1.The performance measures depend on c in the following manner: The results in Theorem 1 are in line with the literature for homogeneous customer classes, e.g.Ha (1997a), Dekker et al. (2002), Deshpande et al. (2003b), Kranenburg and Van Houtum (2007), and Möllering and Thonemann (2008), but our proof is more involved due to customer heterogeneity.
Using the results from Theorem 1 we develop an efficient nested procedure to solve the optimization problem from Section 2. First, we need a lower bound for the costs: Lemma 3. A lower bound for C(S, c) is given by: The proof of Lemma 3 can be found in Appendix B.4. Next, consider the minimum cost for a fixed value of S, Ĉ(S), and notice that this can be bounded as follows: Corollary 1.A lower bound function for Ĉ(S) is given by 3 : To find the optimal S, we increase S, one unit at a time, starting from S = 0. Let the optimal cost up to a certain value for S be denoted by Ĉ * (S).We keep increasing S until Ĉ * (S) ≤ ĈLB (S + 1) (note that ĈLB (S) increases in S).
We now have a way of bounding S, but for a fixed value of S we also want to limit the number of values for c that we need to evaluate.This can also be done by using Lemma 3. Using the monotonicity properties from Theorem 1 we know that C LB (S, c) is increasing in c for given S.
Thus, for given S, we increase c, one unit at a time, starting from c = 0. Let C * (c) be the optimal cost for a given S up to a certain value for c.We stop increasing c as soon as C * (c) ≤ C LB (S, c + 1).
3 A stronger lower bound is given by p2λ2(1 − β2(S, 0)) + (b + h)B(S, 0) + h S − λ µ but our computational experience is that the computational gain from this bound does not outweigh the additional computational cost of computing the bound value; the increase in computational time is about 1% over the 1500 instances to be introduced later.
A summary of our procedure is given in Algorithm 1: Algorithm 1: Find an optimal CL policy(S, c)   Using our lower bounds we are able to eliminate large parts of our enumeration space.The general performance of these bounds is analyzed in more detail in Section 5.4.

Numerical Experiments
In this section we conduct numerical experiments to gain insight into the performance of our CL policy.Specifically, we seek to answer questions regarding: the performance of the optimal CL policy as compared to the globally optimal policy and more naïve policies, the sensitivity of the optimal CL policy to the assumed lead time distribution, the structure of the globally optimal policy, and the quality of the bounds developed in the previous section.These questions will be answered in Sections 5.1 through 5.4, respectively.Although numerical results have been obtained by many papers in this line of research, to our knowledge none compares the globally optimal policy, an advanced heuristic (the CL policy) and naïve policies.
For all of the numerical experiments we create a set of 1500 instances, shown in Table 1.All instances share some common settings, i.e. µ = 1, h = 1 and the level of accuracy in the evaluation of a given policy, i.e. the distance between the upper and the lower bound of the performance measures, ≤ 10 −6 .We vary both the magnitude of demand as well as the relative share of each customer class, to provide insight into how the customer base affects the performance of different policies.Furthermore, the cost parameters are changed, both in magnitude and in relation to each other, as this gives insight into the effect of disparate customer valuations.Demand and cost parameters for the numerical experiments.

Comparison of CL to globally optimal and more naïve policies
Our aim in this section is to analyze whether a static CL policy is an effective way to differentiate between customers.To do so, we compare the CL policy to the globally optimal policy (OPT).
To find the OPT policy, we formulate a Markov Decision Process (MDP) and solve it using linear programming, as outlined by Puterman (1994).The OPT policy does not assume a single, static, critical level but is allowed to make state-dependent decisions with respect to class 2 demand and backorders.Details on the MDP formulation and solution can be found in Appendix C.
To broaden our comparison, we also consider two, somewhat naïve policies, both of which: (i) have been used for comparison against CL-type policies (see, e.g.Deshpande et al. 2003b and Möllering and Thonemann 2008); and (ii) are commonly used in practice (see e.g.Dekker et al. 2002, Deshpande et al. 2003b, and Möllering and Thonemann 2008).These policies are: • First Come First Served (FCFS): All demands are served as long as there is inventory, when inventory equals zero class 1 demand is lost and class 2 demand is backordered.In effect this is a critical level policy with c = 0.
• Separate Inventories (SI): Each customer class is served from its own "reserved" inventory.
The CL policy can be seen as a combination of these alternatives, it utilizes inventory pooling while also "reserving" inventory.
We compare policies i ∈ {CL, F CF S, SI} to the OPT policy by comparing their cost.Let C * i be the cost of the optimal policy in class i; we then compare: for all our instances.For the analysis in this subsection we drop 268 instances where no demand is satisfied from stock in the CL nor the OPT policy (optimal CL policy has S = c = 0 and the cost are equal to the cost of the OPT solution), thus worsening the relative performance of our CL policy compared to the OPT policy.First, we compare the average performance over the remaining 1232 instances.Next we investigate those instances in which the OPT policy outperforms the CL policy to determine why the CL policy falls short.To do so we have found it useful to look at two metrics for each instance: The ratio between class 1 and class 2 demand, λ 1 λ 2 , and the cost ratio between old and new backorders, λ 2 p 2 b .The latter ratio is an indicator of the rate at which cost are incurred when denying a class 2 demand an item versus not clearing a current backorder.Table 3 shows that the largest differences between the CL and the OPT policies occur when class 2 makes up a large fraction of demand, i.e. λ 1 λ 2 is small 4 , highlighting the importance of the size of class 2. The second index is more subtle.

CL FCFS SI
When the rate at which cost for a new backorder is accrued is much higher than the rate at which existing backorders accumulate cost, i.e. λ 2 p 2 b 1, big differences between the CL and OPT policies arise.This occurs because the OPT policy has the opportunity to differentiate it's decision regarding clearing backorders state-by-state.When 100 < λ 2 p 2 b ≤ 1000, deciding to backorder any new incoming class 2 demand would lead to accruing cost at a much higher rate than the current backorder cost rate.Therefore, there are states with positive backorders in which the OPT policy serves new demand, but if a replenishment order comes in the item is added to inventory, to protect against future backorders.The CL policy does not allow for this flexibility as there is only a single critical level.We performed the same comparison between CL, FCFS and SI.From this we see that CL improves most upon FCFS and SI when demand is balanced between class 1 and class 2, but class 2 is still sizeable (table omitted for brevity).In this case the classes are competing for the same inventory and CL can thus actually make a difference.
Finally, it is interesting to see how much CL improves on FCFS and SI for each problem instance: How much of the distance from the optimal cost is closed by using a CL policy instead of FCFS 4 There are no entries having both λ 1 λ 2 = 10 and 100 < λ 2 p 2 b ≤ 1000 in our test bed.
or SI is shown in Figures 4(a) and 4(b).We see that a CL policy is always able to close some of the gap of SI (due to pooling) and is able to close more of the gap whenever the gap is large.
Thus introducing something as simple as a single static critical level into an inventory management system may yield large benefits.

Sensitivity to lead time variability
For analytical tractability we assumed an exponential lead time throughout the paper, which is in line with many of the other papers in this stream of literature (see Section 2).However, it might be the case that the true lead time is more or less variable than exponential.In this subsection we will analyze the robustness of both the CL and the OPT policy to changes in variability in the lead time distribution.Specifically, we will examine how a policy that is found under one lead time assumption (e.g.exponential), performs if the lead times follow a different distribution (e.g.degenerate hyperexponential, H * ).As a measure of variation we use the squared coefficient of variation C 2 = var mean 2 .Here we return to analyzing the full set of 1500 instances.Thus, throughout this section we will at times use different assumptions to find the parameters for a policy than for actually evaluating it (e.g.we will find a policy assuming exponential lead times but evaluate its performance assuming actual lead times are H * ).As a general rule we will use superscripts to indicate the policy and under which lead time assumptions a policy was identified, and parentheses to indicate under which conditions it was evaluated.For example would represent the cost of the optimal CL policy identified under the exponential lead time assumption and evaluated under H * distributed lead times.When both sets of assumptions are the same, the (•) term is omitted, as is the policy index when this can be done without confusion.policy found using exponential lead times, compared to the optimal CL policy at higher C 2 .

Figure 5
Sensitivity to lead time variability, all instances.
In the subsections to come we will make the following comparisons.In §5.2.1 we analytically explore the sensitivity of the CL policy to higher variability lead times, using the H * distribution.
In §5.2.2-5.2.3, we use simulation to extend our comparison to more general variabilities, using a Weibull distribution.In §5.2.2 we look at the sensitivity of the optimal CL policy; in §5.2.3 we compare the sensitivity of both the CL and the OPT policy.

Sensitivity of CL policy to higher variability lead times
The procedures introduced in Sections 3 and 4 only require slight modifications to accommodate a degenerate hyperexponential distribution (H * distribution), which allows for larger, or equal, variability than exponential5 .(The modifications are outlined in Appendix D.) We first compare the parameters of the optimal CL policy for C 2 ∈ {1.1, 1.5, 2, 5, 10} with those of the optimal CL policy under an exponential lead time (C 2 = 1).To do so, let S * ,H * and c * ,H * be the optimal CL parameters found assuming H * lead times with C 2 ∈ {1.1, 1.5, 2, 5, 10}.
In Figure 5(a) we plot the % of instances for which S * ,EXP = S * ,H 2 , c * ,EXP = c * ,H 2 , or both, for varying values of C 2 .With only a slight increase in variability (C 2 = 1.1) we see that in almost 4% of the instances the optimal c changes and in 5% the optimal S value changes.However, as C 2 increases from 5 to 10, the effect is much less pronounced.Numerically, we find that, the optimal values of S and c may increase or decrease, but decreases become more numerous as variability grows.From Figure 5(a) it is clear that over the range of C 2 values tested the optimal S value is more sensitive to an increase in variability than the optimal c value.
Even though the optimal S and c change, we expect that the cost function is flat around the optimal.To explore this, we analyze how much the cost increases when implementing the optimal CL solution assuming exponential lead times in a more variable, H * , environment (in which the solution may not remain optimal).Specifically (using notation along the lines of ( 16)), for the CL policy, we calculate for varying C 2 , i.e.C 2 ∈ {1.1, 1.5, 2, 5, 10}. Figure 5(b) displays a boxplot 6 of (17) across our 1500 instances.Clearly, on average, the effect of variability is small.Even when the lead time distribution is 10 times as variable, the mean cost increase is only 5.97%; if 5 times as variable it is 2.69%.For C 2 ≤ 2 the maximum difference is 14.30% and the mean difference is less than 0.37%.
This indicates that, even when an exponential distribution is wrongly assumed for the lead time, and the true lead time is more variable, the expected increase in cost for a CL policy is small, even up to relatively high variabilities.This suggests that the performance of the CL policy is robust with respect to lead time variability.

Sensitivity of CL policy to higher and lower variability lead times, using
simulation To gain insight into the sensitivity of the CL policy with respect to a wider range of lead time distributions, simulation is used in this subsection.Our procedure is as follows.Let P be the set of CL policies with cost within 10% of the optimal CL cost under exponential lead times: (S, c) ∈ P ⇔ C(S, c) EXP ≤ 1.1C * ,EXP .
Using these classifications, Figure 6 summarizes the % difference between the mean costs: for our range of C 2 values.This figure reports on all policies in P that are different from the optimal CL policy as determined under exponential lead times.At least 28% of the alternative policies are significantly more expensive (Figure 6(c), C 2 = 10), whereas at most 0.22% leads to a decrease in cost (Figure 6(a), C 2 = 10).An immediate observation is that we find no significantly better policies when the lead time distribution is less variable than exponential, or slightly more variable (i.e.C 2 ≤ 2), and even when C 2 > 2 very few are significantly better (a maximum of 12 policies when C 2 = 10, in Figure 6(a)).Overall, as C 2 increases the alternative policies get closer to the cost of the policy that was optimal under the assumption of exponential lead times.For example, for C 2 = 2 in 2011 of the 5384 policies (37.35%) the alternative policies have significantly higher cost, compared to only 1517 (28.24%) when C 2 = 10.
In summary, we see that the optimal CL policy obtained under the assumption of exponential lead times performs very well under a wide range of lead time distributions (recall, the results for distribution families other than Weibull are very similar).Only when the variability is very high we do find other policies that lead to lower cost (in this case we could potentially solve the model with H * distribution for lead times).Furthermore, given that policy evaluations take minutes using simulation versus a split second using our analytical approach, we find no practical reason not to use the exact solution found under exponential lead times.

Sensitivity of the optimal costs
Having established that the optimal CL policy parameters are largely insensitive to changes in lead time variability, we now compare the robustness with respect to costs of the optimal CL and OPT policies, using simulation.We compare the cost of only the optimal policies.Specifically, using the notation as defined in ( 16), for both the CL and the OPT policies we calculate • 100 over 1500 instances under 7 different variabilities (C 2 ∈ { 1 32 , 1 8 , 1 2 , 1, 2, 5, 10}) 8 , using 30 simulation runs of 20, 000 customer arrivals each.Once again, results for other distributions (i.e.deterministic, Erlang-k, H * , H 2 , and Lognormal) are similar over the same range of C 2 values and are omitted.
In a similar fashion as in §5.2.2 we construct ±3σ confidence intervals to determine whether the % difference of costs is significantly different from 0. The results are summarized in Figure 7.There are several observations we can make.
First, we observe that the optimal cost of both the CL ad OPT policies is rather insensitive to the variability of the lead time distribution.Even for C 2 = 10, more than 72% (CL) and 86% (OPT) of the instances have cost that are insignificantly different.Second, we see that the cost of the OPT policy is less robust than the cost of the CL policy in the face of changing lead time distributions.Whereas, for example, under the CL policy, 104 instances have a significantly higher cost when lead times are Weibull distributed (Figure 7(c)), for the OPT policy there are 211 instances (Figure 7(f)).Note that all of these occur under lower variability lead times.Third, the spread in differences is also larger for the globally optimal policy; compare the interquartile ranges and standard deviations in the two rows of Figure 7. Finally, when lead time variability increases, 16 , 1 4 , 1.1, 1.5} were also evaluated but omitted for brevity.the globally optimal policy is again more sensitive, but now to its benefit (Figures 7(a) and 7(d)): costs may be significantly lower under C 2 > 1 as compared to the exponential baseline.
In fact, for both the OPT and CL policies, the effect of variability is such that if the variability increases, the cost tend to decrease.The intuition behind this is that for constant mean, as variability increases, the median lead time decreases.Occasional long lead times will decrease inventory and/or increase the number of backorders temporarily, but as long as there are items on hand this will not affect the number of demands rejected.In contrast, the increased fraction of shorter lead times increases availability and hence service.This has also been observed in the exact results for the H * distribution.Note that having ample, or at least multiple, servers is crucial for the existence of this effect.
Finally, we analyze how the cost of the OPT policy and the cost of the optimal CL policy determined under the assumption of exponential lead times change relative to each other as variability changes.We simulate 30 runs of 20, 000 arrivals each, with Weibull lead times under varying C 2 ).We calculate: i.e. the % difference between the optimal policies in each class once subjected to other lead time Histogram of % cost difference between the cost of the optimal CL policy as determined under exponential lead times compared to the globally optimal policy as determined under exponential lead times, both evaluated under Weibull lead times.
distributions.Recall from §5.1 that for C 2 = 1 the average % difference is 2.09% (for a subset of 1232 instances where the policies are nontrivially different, for all 1500 this is 2.04%).
A paired t-test (with a significance level of 95%) is used to determine how the difference between the CL and OPT policies changed, relative to their difference under exponential lead times.Figure 8 displays histograms for (18) across our 1500 instances, and seven C 2 values.The three panels distinguish whether the difference decreased (8(a)), increased (8(c)), or did not significantly change (8(b)).The most interesting observation can be made in Figure 8(a).This subfigure contains those instances in which the difference decreased significantly; there are 207 instances in which the difference is negative.These are cases in which, under Weibull lead times, implementing the optimal CL policy leads to lower cost than implementing the OPT policy.Thus, not only is the CL policy more robust to changes in the lead time variability, it may also outperform the globally optimal policy when lead time variability is mis-specified.

Conclusions with respect to sensitivity
From the above discussion we conclude that the optimal CL policy found under the assumption of exponential lead times is rather robust to changes in the variability of the lead times: When the distribution changes to H * more than 70% of the optimal CL policies remain unchanged, even when C 2 increases to 10.In addition, for more general lead times, when the lead time distribution has C 2 ≤ 2 we find, via simulation, no CL alternative policies with significantly lower cost in the neighborhood of the optimal CL policy found under exponential lead times.But, when the lead time variability increases, i.e. for C 2 > 2, there are a few instances where the CL policy that is optimal under exponential lead times is outperformed by an alternative CL policy.
Even though the cost of the OPT as well as the CL policy appear to be largely insensitive to lead time variability, we find that the OPT policy (found assuming exponential lead times) is more insensitive to changes in the lead time distribution.For example, for insignificantly different policies, when C 2 = 1 32 the standard deviation of the cost of the OPT policy is 0.71 versus 0.37 for the CL policy.For C 2 = 10 these values are 1.19 for OPT versus 0.88 for CL.In fact, when lead times are not exponential, the OPT policy is even sometimes outperformed by the optimal CL policy found assuming exponential lead times.In the next subsection we explore the structure of the OPT policy to determine why it tends to be less robust than the optimal CL policy.

Structure of the optimal policy
In this section we provide some insight into the structure of the OPT policy by examining a representative instance in detail.The instance we discuss here has the following parameters, λ 1 = 5, λ 2 = 5, p 1 = 1, p 2 = 0.5, and b = 0.01.The parameters of the optimal CL policy are S * = 11, and c * = 1. Figure 9 displays the OPT policy for this instance.First, we observe that the maximum level of inventory in the OPT policy is 8, as compared to an order to level of 11 in the CL policy.Second, the OPT structure does not show a single critical level, it varies depending on the pipeline stock.If we fix an inventory level, say I = 1 (on the horizontal axes), we see that for low levels of backorders (B ≤ 2) arriving class 2 demand gets backordered, even though there is stock on hand (Figure 9 .This is because for these high levels of pipeline stock, the policy "expects" another replenishment soon.Also, for certain states, for example at I = 2 and B = 2, we see that optimally a new class 2 demand is served while a backorder would not be cleared.This recalls the observation made in Section 5.1: The rate at which cost for new backorders accrues is p 2 λ 2 = 2.5 while a current backorder (if not cleared) accrues costs at rate 0.01.Thus, at low inventory levels, the OPT policy will serve new demands while also stockpiling inventory, leaving extant backorders unsatisfied.This offers protection against losing a class 1 demand or needing to backorder a future class 2 demand.The CL policy does not have this flexibility to distinguish between these two actions.Note that one undesirable feature of the optimal policy is that, through this flexibility, it may happen that class 2 customers may end up being served out of order.
Thus, the OPT policy saves on inventory by changing the optimal decisions once inventory becomes low while at the same time keeping the service levels high.Recall however that the OPT policy is less robust with respect to lead time variability.This is because its power relies on conditioning on expected incoming replenishments, which change as C 2 changes.

Computational efficiency
The bounds developed in Section 4 allow us to limit our enumeration space.To evaluate the quality of the two bounds we use different measures, as there does not exist a maximum enumeration value for S, as there exists for c (given S).
First the performance of the bound from Corollary 1 is evaluated in Figure 10(a).This figure plots the largest evaluated S value versus the optimal S value over all 1500 instances.On average, only 0.933 additional S values were evaluated (standard deviation: 0.926).Thus, the bound on the enumeration over S values is rather effective.The performance of the bound on enumeration over c from Lemma 3 is evaluated in Figure 10(b).Here we plot the % of cpu time saved against the cpu time needed when enumerating up to S to find the optimal c.Average savings are 44.8% (standard deviation: 21.1%), which is also a significant gain.From these results we conclude that our bounding procedures are very effective in truncating the enumeration space.

Extensions
There are several opportunities for extensions of this work.In this section we will present some, and where possible outline how these fit within our model.
Throughout this paper we assumed an infinite number of replenishment servers and mentioned early on that the case with a single or several parallel servers is a special case.This special case is easier to solve: The generator of the Makov process for finitely many servers has repeating

Figure 10
Effect of bounds on enumeration.
submatrices and could be evaluated either by our procedure, or by straightforward application of Matrix Analytic Methods.Since our monotonicity results require uniformization, these would become easier if there is a maximum replenishment speed.The bounds developed to avoid complete enumeration should be slightly modified but would remain conceptually similar.
A second extension is the incorporation of service level constraints, e.g. a minimum fraction of demand that should be satisfied immediately from stock.Although our evaluation procedure could still be used, the optimization procedure would have to be modified, as we can no longer use the bounds on cost to truncate our search space but would need to truncate based on service levels.
This should be possible using our monotonicity results.
Increasing the number of customer classes would also be an interesting extension.However, when the number of classes that gets backordered when not immediately satisfied increases the state space increases geometrically (see e.g.Deshpande et al. 2003b).If instead the number of classes is increased and only the lowest priority class gets backordered, we would only need slight modifications to the Markov process.Transitions depleting the inventory would happen at decreasing rates as demand from more and more customer classes is rejected as inventory drops.In the optimization procedure a search over more dimensions would be needed, but we would expect to once again be able to derive effective bounds, similar to those for the two-class case.

Conclusions
In this paper we considered a single location, single item, continuous review inventory model with two types of customers.A critical level (CL) was used to differentiate among these customers.
Modeling this problem as a Markov process allowed us to exploit special structure to develop an exact and efficient procedure for the evaluation of the performance of a given policy.Leveraging our evaluation procedure, an efficient optimization procedure was developed.This procedure exploits the property -which we proved -that some key performance measures are monotone in the critical level.As far as we know this is the first paper to consider a system in which different customer classes behave differently when not immediately served, save for one paper that considers the case with a single replenishment server.Such heterogeneous customer behavior is important; it can be observed in many real-life situations.
We compared the performance of the CL policy with the globally optimal (state dependent) policy and two, more naïve, alternatives.On average the CL policy performs near optimal (2.09%) and is able to close a large part of the optimality gap from the more naïve policies, while still being easy to implement.When class 2 (the lower priority, backordered class) is relatively large, and/or has a high penalty cost rate as compared to the cost of holding extant backorders, the CL policy is further away from the optimal policy.However, large benefits over the alternatives are still achieved.Furthermore, we show that our CL policy is largely insensitive to the amount of variability in the lead times: (i) The optimal CL policy found assuming exponential lead times remains optimal in many cases as C 2 of the lead time varies between 1 32 and 10. (ii) As the lead time variability changes, the optimal CL policy found under exponential lead times may even outperform the globally optimal policy found under exponential lead times, and in general is more robust to changes in lead time variability than the globally optimal policy.In summary, using a critical level policy, though sub-optimal, achieves good performance when compared to alternative policies and is furthermore largely insensitive to changes in lead time variability.Our evaluation and optimization procedures allow for efficiently finding the optimal parameters of a CL policy (much faster than solving an MDP), thus claiming much of the improvement of the more complex optimal state dependent policy at a fraction of the operational cost.This should prove crucial as the problem size grows, considering more customer classes, more items, or more locations.So, leaving out the second term on the left-hand side results in: δ n eλ ≥ δ n+1 e(S + n + 1)µ.and thus the probability of being at diagonal level n + 1 can be expressed in the probability of being at diagonal level n as follows: where φ( ) is as defined in (13). 2

B.3. Proof of Theorem 1
Theorem 1 has been stated formulated for Poisson arrivals and exponentially distributed lead times.

B.3.1. Exponential lead times
Both class 1 and class 2 orders arrive according to an arbitrary arrival process; let t n denote the n-th arrival time of an order and i n indicates whether it is an arrival of a class 1 (i n = 1) or class 2 (i n = 2) order.It is assumed that the sequence t n satisfies 0 < t 1 < t 2 < • • • (thus only single arrivals) and that t n → ∞ as n → ∞.
The assumption that lead times are exponentially distributed allows us to sample new lead times for all items in the pipeline immediately after each arrival; let s j,n be the j-th lead time just after t n , where lead times are ordered such that orders that are outstanding in both systems appear first, and those that are outstanding in only one system appear later.Further, let m c (t) denote the number of items on hand, n c (t) the number of backorders and x c (t) the number of items in the pipeline at time t in the system with critical level c; note that m c (t), n c (t) and x c (t) are step functions (with steps of size 1) and we assume these functions are right-continuous (so the number at time t is the same as the number just after time t).
Using this notation we will prove that, on the same sample path, for all t ≥ 0, the performance measures depend on c in the following manner: Note that this will give us that the number of backorders and the pipeline inventory are stochastically increasing in c, which is actually stronger than just the monotonic increase in the means.To prove the above relations, we fix a sample path of arrivals to both systems.Replenishment orders that are common to both systems are also coupled, i.e. we couple the resampled lead times in both systems.After every customer arrival we sample max(x c (t), x c+1 (t)), we then assign the first min(x c (t), x c+1 (t)) to both systems.The remainder is assigned only to the system with the highest number of outstanding orders.Hence the sequences remain coupled.The orders in the pipeline are indexed by j in the order in which they are assigned.As there may be more outstanding orders in one system than in another, these additional replenishment orders are sampled separately.
At time t = 0 we assume that the on-hand inventory is S, there are no backorders and the pipeline is empty, so m c (0) = S and n c (0) = x c (0) = 0.
and note that when the first inequality holds at equality the system with critical level c + 1 does not serve class 2 demand, while the system with critical level c does.When the first inequality is strict, both systems serve class 2 demand.Hence, the fraction of class 2 demand satisfied from inventory is larger under the system with critical level c.When m c+1 (t) < c + 1 class 2 customers will not be served in the c + 1 system but may be served in the c system and again the fraction of of class 2 demand satisfied from inventory is larger under the system with critical level c. 2 Remark 1.The relation between m c (t) and m c+1 (t) is not monotonic in c as is illustrated by the following example with S = 2, c = 0, t 1 = 1, i 1 = 2, t 2 = 2, i 2 = 2, t 3 = 3 and i 3 = 1.Replenishments arrive at t = 4 and t = 5.This will lead to the following system as outlined in Table 1.This shows that m c (t) < m c+1 (t) (at t = 2) as well as m c (t) > m c+1 (t) (at t = 5) may happen.We will now show that, with degenerate hyperexponential distributed lead times, for all t ≥ 0, the performance measures depend on c in the following manner: x c (t) ≤ x c+1 (t) (35) This proof follows along the same lines as the proof of ( 26)-( 27).First we consider the points in time when a replenishment order is placed.Let 1 [LT >0] be 1 with probability p (i.e. the lead time is to be drawn from the exponential with rate µ * ), and 0 otherwise.Then we modify ( 31) and (32) as follows: As the lead time that is drawn is the same in both system, we know (34)-( 35) are valid at t n (the argument for (34) did not change).To show that (34)-( 35) remain valid on (t n , t n+1 ) we need to realize that only replenishment orders with non-zero lead times actually entered the pipeline.
Focussing on these replenishment orders only the arguments from the proof of §B.3.1 are still valid.
where (37) follows from (36) by the monotonicity results in Theorem 1.

Appendix C: Markov Decision Process details
Since all events happen with exponentially distributed interarrival times it is sufficient to only look at the states of the system when events occur.

C.1. States, Events, Decisions, Transitions
The state of the system can be fully specified by: • The amount of inventory on hand (I); • The number of backorders (B, note that backorders may exist even if there is inventory).
• The number of items on order (DI, information about when an order is placed is not needed as long as exponential lead times are used); • The last event that occurred (E, 1 if the event was such that in the current state orders can be placed, i.e. a demand was satisfied or backordered, 0 else, i.e. a demand was rejected or a replenishment arrived).
The state space is denoted by a four-tuple: (I, B, DI, E).In the MDP formulation we make three additional assumptions to bound the state space and thus also the maximum transition rate from any state.When solving the MDP we will ensure that these bounds have insignificant effect on the optimal solution by solving the MDP repeatedly with increasing bounds, as soon as the total probability mass in all boundary states drops below a threshold the effect of bounding becomes negligible.i) We assume there exists a maximum inventory level Î, ii) we assume there exists a maximum number of backorders B, and iii) we assume that as soon as the number of backorders equals B no further class 2 demands will arrive.We consider the following decisions at every event: • a 1 = 1: Satisfy class 1 demand as long as inventory is available (I = 0 ⇒ a 1 = 0 since you have no inventory to act otherwise).
• a 2 ∈ {0, 1}: If a class 2 demand occurs whether to serve it or backorder it.If a 2 = 0 you would reject (i.e.backorder) the class 2 demand and if a 2 = 1 you serve the demand.(I = 0 ⇒ a 2 = 0 since you have no inventory to act otherwise).
• a 3 ∈ {0, 1}: How to use an incoming replenishment order.If a 3 = 0 any incoming item is added to inventory and if a 3 = 1 a backorder is cleared.
• a 4 ∈ {0, 1}: How much to order.This order immediately becomes effective and determines the current size of the pipeline.
We are aware of the fact that ordering at most 1 item at a time may lead to a suboptimal solution.Since we are mainly interested in how our critical level policy deals with class 2 demand we believe that this restrictions do not limit our insights in this repect.The timeline, seen in Figure 11, is as follows: Suppose the state of the system is changed by the occurrence of an event (a class 1 demand occurs and it is served, a class 2 demand occurs, or a replenishment order arrives), at (after) the occurrence of an event (i.e. when one has the knowledge of which event happened) one has to make a decision consisting of an action tuple of size 4, {a 1 , a 2 , a 3 , a 4 }9 .The first three types of decisions become effective at the occurrence of the next event (i.e. they describe how to handle the next event).The fourth decision is the decision how much to order, which is immediately implemented and affects the number of items in the pipeline.
Now that we have specified the available actions we consider the transitions.These depend on both the event occuring and the action taken: • At rate λ 1 a demand from class one arrives.
-If a 1 = 1, i.e. the demand is served, the transition goes to (I − 1, B, DI + a 4 , 1), and -if a 1 = 0, i.e. the demand is rejected, the transition goes to (I, B, DI, 0), this is effectively a fake transition, happening at rate λ 1 if a 1 = 0 (only if I = 0).
• At rate λ 2 a demand from class two arrives (when b < B).
• At rate (DI + a 4 )µ a replenishment order arrives.When a replenishment order arrives one has to decide how to use the incoming item.Depending on this decision (a 3 ) the transition goes to (I + 1 − a 3 , B − a 3 , DI − 1 + a 4 , 0).

Figure 2
Figure 2Transition scheme of our critical level policy for n ≥ 0 highlights a structural property of the Markov process.The transition rate from each of the states on a diagonal layer to the right (i.e. down to diagonal layer n − 1) is (S + n)µ and the flow to the left (i.e. up to the diagonal layer n + 1) is upper bounded by λ.This structure is exploited in upper bounding the probability mass above the truncation level.The proof of Lemma 2 is given in Appendix B.2. Now we can bound our performance measures from above and below by either ignoring the mass above the truncation level or using the bound from Lemma 2: C S LB (c) illustration for S ∈ {5, 14}, instance 1485 Figure3Example of both lower bound functions.

Figures 3
Figures 3(a) and 3(b) provide illustrative numerical examples of both of our lower bound functions.

Figure 3
Figure 3(a) shows the cost, C(S, c), for S ∈ {0, . . ., 21} and c ∈ {0, . . ., min(S, 5)}; higher values for c are not displayed for clarity.In this figure, one can observe two things: (i) the optimal cost function, Ĉ * (S), is not convex in S which makes optimization difficult, and (ii) the lower bound is rather tight after the minimum has been reached.For another instance, Figure 3(b) shows the cost, C(S, c), for S = 5 and S = 14 with c ∈ {0, . . ., S}.Here again one can see that the bound is tight, especially when needed, i.e. for c large.
Sensitivity of S * ,H * , c * ,H * to C 2 .(b) % Cost difference from implementing the optimal CL Figure 6% Cost difference for policies (S, c) ∈ P compared with the cost of the optimal policy determined using the assumption of exponential lead times, both evaluated under Weibull lead times.
Figure 7% Cost difference between the cost of the optimal CL and OPT policies, as determined using the assumption of exponential lead times, evaluated under Weibull lead times.
Figure 8Histogram of % cost difference between the cost of the optimal CL policy as determined under expo-

Figure 9
Figure 9Example of globally optimal actions.
(a)).Furthermore, if a replenishment arrives, no backorders would get cleared (B ≤ 14, Figure 9(b)).As the number of backorders increases, for fixed I (equivalently as the pipeline stock increases), we observe a threshold above which a class 2 demand would get served (B ≥ 3, Figure 9(a)) or a backorder would get cleared (for some B > 14, not displayed for clarity, Figure 9(b)) Effect of bounding c.

=
Now we can bound the weighted probabilities using a cut off parameter ≥ 1.For horizontal levels n ≥ c + we know the weighted probabilities are upper bounded by the weighted probabilities of the diagonal layers.This works because the lowest diagonal layer, which gets the same weight ((c + ) as the lowest horizontal layer includes states below the lowest horizontal bounding level, and the mass decreases in the level.Furthermore the weight assigned to each state under the diagonal layer definition is at least as large as under the horizontal definition.The weighted diagonal layer can then bound the weighted horizontal levels as follows: ∞ n=c+ n πn e ≤ ∞ n= (n + c) δ n e = ∞ k=0 (k + + c) δ +k e.Using the following result for the relation between two diagonal levels at distance k δ +k e ≤ δ e(S + )! µ λ S+ λ µ φ(S + − 1) − (S − c)φ(S + )

Figure 11
Figure 11Illustration of the sequence of events

Table 2
Performance of the CL, FCFS, SI policies versus the OPT policy.

Table 2
Focussing only on those instances in which difference is nonzero (681 instances for CL), we see that the optimality gap does not increase dramatically.Not only are FCFS and SI significantly outperformed by CL, but they are significantly more unpredictable as well (larger standard deviations).
lists the average % difference as defined in (15).We see that the CL policy is on average only 2.09% from the OPT policy, and achieves the OPT policy cost in 45% of the instances.Compared to OPT, FCFS and SI perform 7.17% and 27.21% worse, respectively.

Table 3
Mean % difference.Under what parameter settings does the OPT policy outperform the CL policy?

Table 4
Example of potential system evolution for S = 2, c = 0 * with probability p and is 0 with probability 1 − p.