Optimal Control of a Nested-Multiple-Product ... - Semantic Scholar

3 downloads 1243 Views 288KB Size Report
Examples of such systems include servers for local computer networks and .... can be written as: (. ) 1. 1. 0. 0. ( ). (). () n n t t k k i i k i v. E. e h X t dt e cdN t π π α α.
Optimal Control of a Nested-Multiple-Product Assemble-To-Order System Mohsen ElHafsi The A. Gary Anderson Graduate School of Management, University of California, Riverside, CA 92521-0203, USA, [email protected]

Herve Camus Ecole Centrale de Lille Cité Scientifique – BP 48, 59651 Villeneuve D’Ascq cedex, France, [email protected]

Etienne Craye Ecole Centrale de Lille Cité Scientifique – BP 48, 59651 Villeneuve D’Ascq cedex, France, [email protected]

Abstract: In this paper, we study an assemble-to-order system consisting of n products assembled from a subset of m distinct components where the products have a modular nested design. i.e., product i has only one additional component more than product i−1. In particular, we study the optimal production and inventory allocation policies of such systems. Components are produced on independent production facilities one unit at a time, each with a finite production rate and exponentially distributed production times. The components are stocked ahead of demand and therefore incur a holding cost per unit per unit of time. Demand from each product occurs continuously over time according to a Poisson process. The demand for a particular product can be either satisfied (provided all its components are available in stock) or rejected. In the latter case, a product-dependent lost sale cost is incurred. In this situation, a manager is confronted with two decisions: when to produce a component and whether or not to satisfy an incoming product order from on-hand inventory. We show that, for the production of a component, the optimal policy is a base-stock type where the base-stock level depends on all other components’ inventory. We also show that, for inventory allocation, the optimal policy is a multi-level rationing policy where the rationing levels depend on all other components’ inventory. We propose a simple heuristic that we numerically compare against the optimal policy and show that, when carefully designed, it can be very effective.

Keywords: Assemble-to-order, nested-assembly structure, production and inventory control, Markov decision processes, make-to-stock queues

Electronic copy available at: http://ssrn.com/abstract=1298045

1

Introduction

In many manufacturing systems, modular design is used so that products are made of modules or components where upgraded versions of theses products are obtained by only adding few additional modules or components. Examples of such systems include servers for local computer networks and servers for general network structures. In this case, the manufacturer offers a basic variety of servers and upgraded versions are obtained by adding additional circuit boards added to the server’s bays. The system we study can also model a situation where a main product can be sold either separately or combined with another auxiliary product. This could be the case of computers and printers where the demand for computers can induce a demand for printers (or digital cameras). This strategy is usually combined with an assemble-to-order (ATO) production strategy. ATO is a hybrid strategy where components and subassemblies are procured or produced and held in inventory, then assembled into final products as customer demand for specific combinations materializes. Therefore, a manager must decide what components to procure or produce well before final demand materializes. The focus of this paper is on components production and inventory allocation of theses components. This strategy has become popular for manufacturing firms that seek to be both responsive and cost-efficient. It is particularly valuable when component supply lead-times are long relative to final assembly or when the supply processes are limited. Despite their popularity, ATO systems are known to be difficult to analyze and manage. The challenge appears to rise from several factors including correlation of components’ demands, difference in components’ supply lead-times and the fact that order fulfillment is dependent on the availability of several components. As a result, it is difficult to manage components independently. Hence, deciding whether or not to fulfill demand for a particular product type cannot be carried out without considering the inventory level of all components. In this paper, we consider a system consisting of multiple components assembled into several products using a nested product design. The components are produced one unit at a time on separate production facilities with finite production rates. Components are produced ahead of demand and held in stock, but incur a component-dependent holding cost. In order to satisfy demand for a particular product, all its components must be available. Otherwise, the demand is lost. A demand that is not immediately satisfied from stock incurs a shortage cost that can vary from product to product. A system manager must determine when to produce a particular component and, whenever an order for a particular product is placed, whether or not to satisfy it from on-hand inventory. We use a Markov decision process (MDP) framework to formulate the problem and determine the structure of the optimal policy. We show that the optimal production policy for each component is a statedependent base-stock policy, where the state of the system is specified by the vector of component inventory levels. We also show that the optimal inventory allocation policy is a multi-level rationing

2 Electronic copy available at: http://ssrn.com/abstract=1298045

policy. An order for a particular product is satisfied only if the current inventory level of each component is above a certain rationing level. The rationing levels for components with respect of the products are state-dependent as well. We also propose simple heuristics that we, numerically, compare their performance against the optimal policy. The rest of this paper is organized as follows. In section 2, we offer a brief review of related literature. In section 3, we present our model. In section 4, we characterize the optimal policy. In section 5, we present the heuristic policies. In section 6, we present numerical results and comparisons of the heuristics against the optimal policy. In section 7, we offer a summary and few concluding comments.

2

Literature Review

The literature on ATO systems is quite extensive. The reader is referred to the comprehensive literature review of Song and Zipkin (2003). It can be classified into two categories: periodic and continuous review systems. For periodic review systems, most of the literature focuses on performance evaluation of heuristic policies; see for example Hausman et al. (1998), De Kok and Visschers (1999), Cheng et al. (2002), Zhang (1997), Agrawal and Cohen (2001), Frank et al. (2004) and references therein. The aforementioned literature viewed the system as a set of infinite server queues with correlated arrivals. Song (1998) develops an efficient algorithm for computing order fill rates for a system with Poisson demand and deterministic lead-times. Song and Yao (2002) extend this analysis to systems with uncertain component lead-times and study the impact of lead-time variability on the system performance. Gallien and Wein (2001) evaluate a policy consisting of a fixed and common base-stock level for all components and component-dependent order lead-times, such that a replenishment order for each component is synchronized with all the other components. In the above literature, component inventory has been typically assumed to be managed according to a fixed base-stock policy and the focus has been mainly on performance evaluation rather than to determine the optimal production policy. Recently, Benjaafar and Elhafsi (2006) studied a single-product ATO system with multiple demand classes. They showed that the optimal production policy is a state dependent base-stock policy and that the inventory policy is a statedependent rationing policy. Our paper fits in the stream of literature on ATO systems with continuous review and load-dependent supply lead-times. We consider an ATO system with similar characteristics to the ones treated in Benjaafar and Elhafsi (2006), Song et al. (1999) and Dayanik et al. (2003). Similar to these papers, we assume that demand forms a Poisson process, assembly is instantaneous, and components are produced on separate single-server production facilities with exponentially distributed production times.

3

3

Model Formulation

We consider a system consisting of n products. Without loss of generality, we assume that Product i ( i = 1, " , n ) is assembled from components i, i + 1, " , n , where n is the total number of components

available for assembly of the products. For example, in a system with three components, Product 1 is assembled from components 1, 2 and 3, Product 2 is assembled from components 2 and 3 and Product 3 is assembled from Component 3. The components are produced one unit at a time on separate production facilities. Finished components are placed in inventory and hence incur a holding cost that is component dependent. Components production times are independent and exponentially distributed with mean 1 µk , k = 1," , n . Hence, each facility can be viewed as a single server make-to-stock queue with finite service

rate µk . Product i's demand takes place continuously over time according to an independent Poisson process with rate λi and can be satisfied only if components i, i + 1, " , and n are all available. Otherwise, the demand is considered lost. A lost sale cost ci per unit of product i is incurred when demand for product i cannot be fulfilled. Without loss of generality, we assume c1 ≥ c2 ≥ " ≥ cn . Here, we assume that the marginal benefit from adding a component to the end product increases (which is the case for most applications) and therefore the opportunity cost of not being able to satisfy the demand increases with the number of components of the final Product. Figure 1 shows a graphical depiction of the system under consideration.

4

Production facilities



Components inventories

Product 1 Demand

Product 2 Demand

Product n-1 Demand

Product n Demand

Figure 1: Depiction of the nested-product assembly structure. Because of the difference in lost sale costs, it may not always be optimal to satisfy the demand of a product even if all its components are available. In fact, it might be more desirable to reject a demand for product 3, for instance, in order to reserve the available inventory for future demand of Product 1 (which has a higher shortage cost and uses component 3 as well for its assembly). As a result, each time an order is placed for a product, the system manager must decide whether or not to satisfy it from on-hand inventory, if any is available. If the manager decides to satisfy an incoming order from available inventory, the product is immediately assembled and shipped to the customer. We assume that there are no costs associated with interrupting production. This is a common assumption in the treatment of production-inventory systems in the literature; see for example (Ha 1997a, 1997b). We describe the state of the system at time t by the vector X(t ) = ( X 1 (t ),..., X n (t )) , where Xi(t), i = 1," , n , is a non-negative integer denoting the on-hand inventory for component i at time t. Because

both order inter-arrival times and production times are exponentially distributed, the system is memoryless and decision epochs can be restricted to only times when the state changes (i.e., the production completion of a component or the fulfillment of a demand). As such the problem can be

5

formulated as a Markov Decision Process (MDP) where we restrict our attention only to the class of Markovian policies for which actions taken at a particular decision epoch depend only on the current state of the system. Let π be the policy that specifies, for each state x = ( x1 , " , xn ) and let h(x) = ∑ k =1 hk ( xk ) , where hk is n

an increasing convex function, denote the inventory holding cost rate when the state is x and let Ni(t) denote the number of orders from product i that have not been fulfilled from on-hand inventory up to time t. Then, the expected discounted cost over an infinite planning horizon vπ ( x ) obtained under a policy π and a starting state x = ( x1 , " , xn ) , can be written as: ∞ ∞ n n vπ ( x) = Exπ  ∑ k =1 ∫ e −α t hk ( X k (t ) ) dt + ∑ i =1 ∫ e −α t ci dN i (t )  , 0 0  

(1)

where α > 0 is the discount rate. To simplify the analysis, we use Lippman’s (1975) uniformization technique to transform the continuous time decision process into a discrete time one. Hence, we define, in each state under any action, the uniform transition rate γ = ∑ i =1 λi + ∑ k =1 µ k so that the transition times n

n

between events is a sequence of i.i.d. exponentially distributed random variables, each with mean 1 γ which leads to a Markov chain defined by {Xs: s ≥ 0} where Xs ≡ X(ti ) = ( X 1 (ts ),..., X n (ts )) is the state resulting from the sth transition. We define the operators T i and Tk, i, k = 1," , n , for any real valued function v over the state space, as follows: v(x) + ci T i v ( x) =  min {v(x − Ei ), v(x) + ci }

if ∏ k =i xk = 0, n

otherwise,

(2)

and Tk v(x) = min {v(x + e k ), v(x)} ,

(3)

where Ei = ∑ k =i e k and e k is the kth unit vector of dimension n. Without loss of generality, we rescale n

time so that α + γ = 1. Then, the optimality equation (see Ross 1970) is given by the following expression: v* (x) = h(x) + ∑ i =1 λiT i v* (x) + ∑ k =1 µ k Tk v* (x) n

n

(4)

The operator T i is associated with decisions about whether or not to satisfy an order for product i while the operator Tk is associated with decisions about whether or not to produce component k. Note that whenever there is on-hand inventory for each component, it is optimal to satisfy demand from product i if

6

v(x − Ei ) ≤ v(x) + ci . Similarly, it is optimal to produce component k, when the system is in state x, if

v(x + ek ) ≤ v(x).

4

Characterization of the Optimal Policy

In this section, we characterize the structure of the optimal policy. In order to do so, we will show that the optimal value function v*(x), for all states x, satisfies certain properties. Definition 1: Let V be the set of functions defined on ] + n such that if v∈V, then for k = 1," , n A1: v(x + 2e k ) − v(x + ek ) ≥ v(x + ek ) − v(x) ; A2: v(x + e k ) − v(x) ≥ v(x + e k + el ) − v(x + el ) , for l ≠ k ; A3: v(x + ek + E1 ) − v(x + E1 ) ≥ v(x + e k ) − v(x) ; A4: v(x + E1 ) + c1 ≥ v(x) . Property A1 implies that v(x) is convex in xk. Property A2 implies that v(x) is submodular in the direction ( xk , xl ) . Property A3 implies that v(x) is supermodular in the direction ( xk , E1 ) (see Topkis, 1978 for definition of submodularity and supermodularity). Property A4 implies that it is always optimal to satisfy the demand of Product 1. Definition 2: For v∈V we define the following quantities. sk ( x (k )) = min { xk ≥ 0 | v(x + e k ) − v( x) ≥ 0} , rk ,i ( x (k ) ) = min { xk ≥ 0, k = i, " , n | v(x) + ci ≥ v(x − Ei )} , where x (k ) is a n − 1 dimensional vector defined as x (k ) = ( x1 ," , xk −1 , xk +1 ," , xn ) . Property A1 combined with the definition of sk ( x ( k )) implies v( x + e k ) − v( x) ≥ 0 if and only if xk ≥ sk (x (k )),  v( x + e k ) − v( x) ≤ 0 otherwise. and Property A3 combined with the definition of rk ,i ( x (k ) ) implies v(x) + ci ≥ v(x − Ei ) if and only if xk ≥ rk ,i ( x (k ) ) ,  v(x) + ci < v(x − Ei ) otherwise.

Using Property A4 and the definition of rk*,1 (x (k )) , k = 1, " , n , it follows that rk*,1 (x (k )) = 1 for k = 1, " , n . In other words, the demand for Product 1 is always satisfied as long as there is at least one

7

unit of each of components k, k = 1, " , n . Moreover, since Component 1 is used in Product 1 only, its inventory is never rationed. Note that there are n( n − 1) 2 rationing levels in total. Property A2 implies that sk ( x ( k ) + e j ) ≥ sk ( x ( k )) for j ≠ k . i.e., sk ( x ( k )) is non-decreasing in xj for j ≠ k ; Property A3 implies that sk (x (k ) + Ei ) ≤ sk (x (k )) for i ≥ k . i.e., sk ( x ( k )) is non-increasing in Ei for i ≥ k ; Property A3 implies that rk ,i ( x (k ) ) is non-increasing in xk for k ≥ i, i = 1, " , n . Property A4 implies that rk ,1 ( x (k ) ) = 1 , k = 1, " , n . Lemma 1: If v∈V, then Tv ∈V, where Tv(x) = h(x) + ∑ i =1 λiT i v(x) + ∑ k =1 µ k Tk v(x). n

n

All the proofs are included in the Appendix. We are now ready to state our main result for this section. Theorem 1: There exists an optimal stationary policy that can be specified as follows. The optimal

production policy for components k, k=1, …, n, is a base-stock policy with a base-stock level sk* ( x ( k )) that depends on the inventory level of all other components, such that it is optimal to produce component k if xk < sk* (x (k )) and not to produce it otherwise. The optimal inventory allocation policy for component

(

)

k, is a multi-level rationing policy with a vector of rationing levels ri* ( x (k ) ) = ri*,i (x (k )),..., rn*,i ( x ( k )) , such that it is optimal to satisfy Product i's demand, if xk ≥ rk*,i ( x ( k ) ) for all k, k ≥ i, and to reject it otherwise. In addition, the optimal policy exhibits the following properties: P1: sk (x (k ) + e j ) ≥ sk (x ( k )) for j ≠ k; P2: sk ( x (k ) + e j ) − 1 ≤ sk (x (k )) ≤ sk ( x (k ) + e j ) for all j≠k; P3: rk*,i ( x (k ) + e j ) ≤ rk*,i ( x (k ) ) for j ≥ k ≥ i and rk*,i ( x (k ) + e j ) ≥ rk*,i ( x (k ) ) for k ≥i > j, i = 1, " , n ; P4: rk*,i +1 ( x ( k ) ) ≥ rk*,i ( x (k ) ) for k ≥ i, i = 1, ", n ; P5: rk*,1 (x (k )) = 1 , k = 1, " , n ; The results of Theorem 1 show that the base-stock level for a component does not decrease with an increase in the inventory level of other components. In other words, increasing the inventory of a component can only increase the desirability to produce more of all the other components, since eventually one unit from each component will be needed for final assembly. Also, a unit increase in the inventory level of component j leads to at most a unit increase in the optimal base-stock level of component k (k≠j) implying that the base stock levels are linearly bounded. For inventory allocation, the results of Theorem 1 show that the products should be treated differently, with each product assigned a vector of inventory rationing level below which the demand from this product would be rejected in favor

8

of reserving inventory for products with higher lost sales costs. Theorem 1 also shows that it is always optimal to satisfy Product 1’s orders if on-hand inventory is available. Finally, similar to the base-stock levels, the rationing levels are state-dependant and must be adjusted based on the inventory level of all components. To illustrate the optimal policy, we consider a simple case of a system with two components with the following parameters: µ1=µ 2=1.0, λ1=λ2=0.70, c1=150, c2=80, h1=1.5, h2=1.0. We used a discount factor

α=0.0001. Figure 2(a) shows the optimal production policy of components 1 and 2 and Figure 2(b) shows the inventory allocation of Component 2 (recall from the above that component 1’s inventory is never rationed since it is only used by product 1). Here, we note that although the structure of the optimal production policy is similar to that of an ATO system with a single product and multiple demand classes (Benjaafar and Elhafsi (2006)), the inventory allocation policy is completely different in our case.

40

Do not produce Produce component 1 only

30

x2

Produce components 1 and 2 20 Produce component 2 only 10

0 0

10

20

30

40

x1

Figure 2(a) – The structure of the optimal production policy

x2

16

11

Satisfy demand for Products 1 and 2

6 Satisfy demand for Product 1 only 1 1

6

11 x1

9

16

Figure 2(b) – Structure of the optimal inventory allocation policy It is straightforward to extend the analysis to the case where the optimization criterion is the average cost rate instead of the expected discounted cost. Given a policy π, the average cost rate is given by: T T 1 n n vπ ( x) = limT →∞ sup ∑ k =1 ∫ hk ( X k (t ) ) dt + ∑ i =1 ∫ ci dN i (t ) , (5) 0 0 T where the optimal policy π* satisfies v* (x) = infπ vπ (x) for all states x. Using similar arguments as in the

{

}

discounted cost criterion, the optimality equation of v*(x) is given by: v* (x) + g * = h(x) + ∑ i =1 λiT i v* (x) + ∑ k =1 µk Tk v* (x) , n

n

(6)

where g* represents the optimal average cost rate. Noting that optimality equation (6) is exactly the same as optimality equation (4) to a scalar (g*), it follows that the optimal policy under the average cost rate criterion is exactly the same as that under the discounted cost criterion. The reader can easily check that the average cost rate exists by showing that the conditions given in Weber and Stidham (1987) are verified in this case. The advantage of using the average cost criterion instead of the discounted cost criterion resides in the fact that the average cost rate is independent of the initial state and hence more amenable for comparisons and numerical studies.

5 Heuristic Policies In this section, we propose two heuristics whose performance we compare to that of the optimal policy in section 6. The first heuristic consists of controlling the production of components independently of each other via a vector s = ( s1 , " , sn ) of fixed base-stock levels and controlling acceptance/rejection of orders via a vector r i = {ri ,i , ri +1,i ," , rn ,i } of fixed rationing levels for each product i, i=1,…, n. We refer to this heuristic as the Multi-Product Independent Base-stock with Rationing or MPIBR for short. Compared to the optimal policy, the MPIBR ignores state dependencies and uses constant thresholds for the production base-stock levels. Similarly it ignores the state dependencies of the inventory rationing levels and use constant thresholds for controlling inventory allocation. The average cost per period of the MPIBR policy can be obtained via the following dynamic programming equation: * v(x) + g MPIBR = h(x) + ∑ i =1 λiT i ,MPIBR v(x) + ∑ k =1 µ k TkMPIBR v(x) , n

n

(7)

* where g MPIBR represents the average cost per period of the MPIBR heuristic, and

v ( x + e k ) TkMPIBR v(x) =  v ( x ) and

10

if xk < sk otherwise,

(8)

 v ( x − Ei ) T i ,MPIBR v(x) =  v(x) + ci

if x ≥ r i otherwise,

(9)

with the inequality x ≥ r i taken component-wise. The advantage of the MPIBR policy is that it is much simpler to implement than the optimal policy since it does not require the storage of the state-dependent base-stock levels. This is important when the number of components is large where it becomes difficult to compute the optimal policy because of the exponential growth in the size of the state space. However, the MPIBR policy is clearly sub-optimal and lacks the coordination in managing the production of different components carried out under the optimal policy. When the number of components is small, it is straightforward to evaluate the cost under the MPIBR heuristic (using the value iteration algorithm for instance) for a given combination of the control parameters (i.e., base-stock and rationing levels). When the number of components is large, exact computation of the cost becomes difficult due to the exponential growth in the size of the state space. However, for a given vector of base-stock levels, and a matrix of rationing levels, it is not difficult to evaluate the MPIBR using simulation, even when the state space is large. Determining optimal values for the control parameters can be carried out via an exhaustive search over a sufficiently large range of feasible values. However, because of the combinatorial nature of the problem, this is possible only when the number of components is small. For large problems, a heuristic search may be needed. An example of a simple heuristic approach to selecting initial values for the base-stock and rationing levels for the MPIBR policy is obtained by decomposing the original problem with multiple components into multiple single component problems. We refer to this heuristic as the MPIBR-simplified (MPIBR-S) heuristic. Therefore, for each component, the optimal fixed base-stock and rationing levels are determined by solving the following single dimension dynamic programming problem:

v( x) + g k*,MPIBR-S = h( x) + λk T k ,MPIBR-Sv( x) + TkMPIBR-Sv( x) ,

(10)

where g k*,MPIBR-S represent the average cost per period of the MPIBR-S heuristic applied to component k,

for k = 1, …, n, and v( x + 1) TkMPIBR-Sv( x) =  v ( x )

if x < sk otherwise,

(11)

and v( x − 1) T k ,MPIBR-Sv( x) =  v( x) + ck

11

if x ≥ 1 otherwise.

(12)

k k Here λk = ∑ i =1 λi represents the total demand for component k and ck = ∑ i =1 λi ci λk represents a

weighted average lost sale penalty assigned to component k. Note that in the case of the MPIBR-S heuristic, the system is equivalent to an M / M /1/ sk* queuing system where sk* is the optimal base stock level for component k when considered in isolation. Hence, sk* can be obtained using the following expression (section 4.3 of Buzacott and Shanthikumar, 1993): z +1 z +1    (1 − ρ k ) ( z + ρ k ) − ρ k (1 + ρ k )   ρ z (1 − ρ )   + sk* = arg min  hk  c λ k k k k   z (1 − ρ k ) (1 + ρ kz +1 )    

(13)

where ρ k = λk µ k . Once all the base-stock levels are obtained in this fashion, they are used in the dynamic programming equation of the MPIBR heuristic to determine the total cost of the MPIBR-S heuristic. Note that once the sk* parameters are determined using the MPIBR-S heuristic, the rk,i parameters would be determined in the same way they are determined under the MPIBR heuristic. In the next section, we evaluate the effectiveness of these two heuristics using numerical results.

6 Numerical Results To test the performance of the MPIBR and MPIBR-S heuristics against the optimal policy, we carried out a series of numerical experiments for a system with two components and for a wide range of parameter values. We used the relative value iteration algorithm (see Puterman 1994) to solve the dynamic programming equation corresponding to either the optimal or the heuristic policies. We present results for the average cost criterion because they are independent of the starting state and the discount factor. The state space is truncated at {0, n1max } × {0, n2max } where nkmax , k = 1, 2, is a positive integer that is gradually increased until the cost is no longer sensitive to the truncation level. The algorithm is terminated once tendigit accuracy is obtained. To evaluate the performance of the above two heuristics as well as properties of the production and allocation policies, we will use a system with two components. For all problem instances we used linear holding costs with h1≥0 and h2≥0 being the unit holding cost rates for components 1 and 2, respectively. Representative results for two-component systems are shown in Table 1. The parameter values for the 50 examples shown were generated randomly. We observe that the percentage average cost difference between the optimal policy and the MPIBR heuristic is relatively small. For the problems shown in Table 1, the average percentage difference is 0.57% with a minimum of 0.007% and a maximum of 4.64%. The MPIBR-S heuristic does not perform as well as the MPIBR heuristic with an average percentage of 8.11%, a minimum of 0.007% and a maximum of 61.36%. In this case, the MPIBR-S heuristic can be used as a first phase to compute an approximate value of the optimal control parameters of the MPIBR

12

heuristic since these can be easily obtained using (13). In a second phase, a local search (rather than an exhaustive search) can be performed to obtain the optimal control parameters of the MPIBR heuristic. In addition, a closer look at Table 1 reveals that the MPIBR-S heuristic performs badly especially in cases where the system is over loaded. This can be observed in cases 10, 13, 18, 22, 24, 27, 29, 34, 47, 48, and 49. Note that in all these cases, the demand rate for one of the components is higher than the corresponding production rate. In general, most systems in practice have enough capacity to satisfy their

13

Table 1 – Optimal policy versus heuristics (a sample of examples randomly generated with parameter values drawn from uniform distributions as follows µk ~ U(1, 10), λ k ~ U(1, 9), hk ~ U(1,10), ck ~ U(1,200))

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

µ1

µ2

λ1

λ2

h1

h2

c1

c2

7.79 8.66 5.39 7.06 1.24 9.06 7.53 6.76 1.62 1.12 6.93 6.75 1.02 1.47 7.61 1.12 6.54 5.06 7.83 8.22 7.64 2.54 3.02 4.74 3.51 2.74 2.79 9.10 3.62 1.05 9.51 2.95 9.59 3.42 6.23 7.99 9.63 1.07 2.47 6.60 9.35 2.68 6.34 7.92 9.80 9.73 5.39 2.87 4.69 7.79

6.97 4.06 9.93 9.62 5.68 9.48 4.59 3.07 8.68 9.00 8.77 7.02 8.11 9.48 4.70 3.78 6.96 2.76 4.43 5.24 8.80 2.18 9.18 3.69 6.01 9.19 7.07 7.23 1.88 6.17 8.34 6.87 2.18 2.99 8.92 6.52 7.12 8.10 3.82 2.19 4.52 9.92 2.41 9.73 6.73 5.38 1.82 2.45 8.35 6.97

8.07 4.73 3.99 2.53 2.54 3.68 3.87 6.45 2.44 7.93 5.54 7.18 5.11 2.20 4.20 8.00 5.93 7.30 3.65 2.62 8.93 2.75 1.06 6.38 4.88 8.38 8.42 4.52 4.18 6.95 8.44 1.42 1.55 6.70 7.00 2.30 1.44 1.14 1.24 3.48 5.09 6.70 3.53 6.72 5.37 7.54 6.39 6.11 7.96 8.07

3.18 8.31 5.25 1.89 6.73 4.50 3.28 6.33 1.26 3.03 8.84 4.04 2.71 4.08 5.04 7.68 6.48 5.95 5.03 5.64 5.03 1.84 5.71 8.51 8.62 1.11 3.75 6.61 3.67 7.45 3.48 2.83 2.00 5.39 4.04 1.25 5.80 8.02 3.86 2.08 1.74 7.97 2.87 7.26 7.78 6.13 5.12 1.00 1.18 3.18

4.77 3.06 2.63 6.09 3.26 5.24 8.82 2.21 7.61 6.13 8.13 4.97 1.93 3.80 2.52 4.00 5.59 1.14 6.08 7.00 6.66 2.27 5.88 4.09 3.09 7.91 6.35 6.49 9.50 6.74 3.42 7.01 2.50 9.47 7.53 3.60 4.54 4.17 1.24 3.01 1.20 5.32 1.08 3.14 8.22 3.76 2.99 4.02 7.54 4.77

2.92 8.76 5.52 9.72 9.40 2.34 6.64 1.20 5.83 2.43 2.37 5.35 2.42 2.52 5.72 8.93 7.43 9.02 7.90 7.09 8.13 5.11 6.88 6.07 5.31 9.53 6.54 3.70 8.55 3.26 5.83 3.80 9.20 3.97 2.47 9.74 2.94 7.50 8.14 4.57 2.44 5.46 4.57 2.76 7.01 6.95 7.53 3.48 8.63 2.92

17.15 178.35 132.43 174.17 104.80 106.97 195.64 53.18 74.32 119.28 166.77 122.01 82.14 179.43 128.60 112.60 121.57 181.50 156.19 188.56 105.35 157.84 63.37 34.64 158.75 184.84 196.42 171.35 52.43 130.66 42.99 144.42 123.78 188.74 191.28 190.15 37.30 193.72 199.85 48.97 175.95 58.22 130.32 143.04 164.31 187.70 192.86 19.69 191.06 17.15

8.08 131.67 85.02 5.73 28.30 28.04 48.99 24.19 55.93 66.89 39.18 36.02 82.10 65.22 4.22 96.46 103.53 152.58 97.34 154.26 90.28 56.93 47.00 24.66 105.78 162.85 1.67 23.30 9.54 29.72 33.49 62.02 28.12 141.19 40.05 46.38 16.27 31.98 22.94 27.89 169.06 13.13 17.92 53.38 134.53 72.25 14.58 9.86 145.99 8.08

14

Average optimal cost 2.88 48.96 4.30 2.91 14.06 1.95 11.94 14.89 6.58 39.13 10.33 11.88 20.51 8.96 4.43 61.62 24.01 82.63 22.99 23.48 18.00 25.00 3.07 13.81 38.63 50.07 50.84 5.75 13.35 39.32 5.62 3.76 5.70 80.60 10.92 3.45 1.54 6.80 6.64 9.35 19.74 10.11 13.91 9.24 31.20 30.52 51.48 7.60 30.43 2.88

% difference from optimal cost MPIBR MPIBR-S 1.47 8.54 0.11 0.69 0.38 1.17 0.18 2.80 1.56 1.97 0.15 0.88 0.50 5.76 0.32 8.47 1.39 5.38 0.28 24.32 0.12 0.42 0.76 4.52 0.49 9.42 0.52 2.50 0.54 7.34 0.13 0.13 0.12 4.63 0.09 10.40 0.12 1.45 0.06 1.87 1.03 8.51 0.61 10.55 0.01 0.01 0.27 12.82 0.35 0.39 0.67 14.77 0.22 31.01 0.09 4.02 1.87 23.17 0.04 0.04 0.79 8.49 0.04 0.91 0.26 2.20 0.39 61.36 0.96 1.49 0.42 1.15 1.32 1.39 0.96 1.86 0.11 2.29 0.83 6.27 0.11 1.54 0.22 8.76 0.47 3.68 0.14 0.67 0.09 1.90 0.39 3.69 0.38 20.85 0.90 36.22 4.64 24.48 1.47 8.54

demand. Hence, such large percentage differences will not be observed. This suggests that in practice, simple heuristics with fixed parameters can be effective in managing ATO systems with nested-product structure. In Figures 3, we compare the average cost of the optimal policy to the average cost of the FCFS policy as well as to that of the MPIBR policy for three values of the total per unit shortage cost, c1+c2, while varying the ratio c1/c2. Figure 3 shows that the FCFS policy gets even worst as the values of c1+c2 and c1/c2 increase. On the other hand, Figure 3 shows that the percentage difference of MPIBR policy exhibits no pattern and stays relatively low as c1+c2 and c1/c2 vary. In particular, we note that the maximum percentage difference for all cases combined is only 2.05%. This is consistent with the results of Table 1 and supports the argument that simple heuristics can be effective for systems with lost sales. The results of this section highlight the importance of inventory rationing. Regardless of whether the rationing is done optimally or via a heuristic, it is important to make inventory allocation decisions that take into account the cost differences between different products. In fact, inventory allocation among products seems to be more critical than production coordination among components.

45 c1+c2=50

40

c1+c2=150

Percentage Difference

35

c1+c2=500

30 25 20 15 10 5 0 0

5

10

15

20

25

30

c 1/c 2

Figure 3 – The effect of differences in the shortage cost on the performance of the FCFS policy (µ1=0.4, µ2=1.0, λ1=0.3, λ2=0.6, h1=h2=1.0)

15

7 Conclusion In this paper, we considered the optimal production control and inventory allocation of an ATO system consisting of n products assembled from n components according to a nested-assembly architecture. We formulated the problem as a Markov decision process and characterized the structure of the optimal control policy. We showed that components’ optimal production policy is of the base-stock type with the base-stock level for each component non-decreasing in the inventory level of other components (statedependent base-stock levels). We showed that components’ optimal inventory allocation is a multi-level rationing policy with the rationing level for each component, with respect to a particular product, depending on the inventory level of all other components (state-dependent rationing levels). As dynamic programming algorithms suffer from the curse of dimensionality (and therefore obtaining the optimal control parameters can be computing intensive, especially when the number of components becomes large), we proposed a simple heuristic which manages components independently as opposed to the optimal policy which coordinates the production of components. Our numerical results suggest that such a policy can be effective if carefully designed in terms of the choice of the optimal control parameters. We also proposed a second heuristic (MPIBR-S) that did not perform as good as the MPIBR heuristic. But nevertheless, this heuristic can be used to obtain initial values of the control parameters of the MPIBR heuristic which can be refined (using a local search algorithm for instance) in a second step to reduce the computational effort.

References Agrawal, M. and M. Cohen, “Optimal Material Control and Performance Evaluation in an Assembly Environment with Component Commonality,” Naval Research Logistics, 48, 409-429, 2001. Benjaafar, S. and M. ElHafsi, “Production and Inventory Control of a Single Product Assemble-to-Order System with Multiple Customer Classes,” Management Science, 52, 1896-1912, 2006. Bertsekas, D. P., Dynamic Programming and Optimal Control, Volume 2, Athena Scientific, 1995. Buzacott J. A., and Shantikumar J. G. (1993), Stochastic Models of Manufacturing Systems, Prentice Hall, New Jersey. Cheng, F., M. Ettl, G. Y. Lin, and D. D. Yao, “Inventory-Service Optimization in Configure-to-Order Systems,” Manufacturing & Service Operations Management, 4, 114-132, 2002. Dayanik, S., J. S. Song and S. H. T. Xu, “The Effectiveness of Several Performance Bounds for Capacitated Production, Partial-Order-Service, Assemble-to-Order Systems,” Manufacturing & Service Operations Management, 5, 230–251, 2003. de Kok, A and J. Visschers, “Analysis of Assembly Systems with Service Level Constraints,” International Journal of Production Economics, 59, 313-326, 1999.

16

Frank, K. C., H. Ahn, and R. Q. Zhang, “Inventory Policies for Multi-Product Systems with Different Lifecycles,” working paper, Cornell University, 2004. Gallien, J. and L. Wein, “A Simple and Effective Component Procurement Policy for Stochastic Assembly Systems,” Queueing Systems, 38, 221-248, 2001. Glasserman, P. and Y. Wang, “Leadtime-Inventory tradeoffs in Assemble-to-Order Systems,” Operations Research, 46, 858-871, 1998. Ha, A. Y., “Inventory Rationing in a Make-to-Stock Production System with Several Demand Classes and Lost Sales,” Management Science, 43, 1093-1103, 1997a. Ha, A. Y., “Stock-Rationing Policy for a Make-to-Stock Production System with Two Priority Classes and Backordering,” Naval Research Logistics, 44, 457-472, 1997b. Hausman, W.H., H. L. Lee, H.L., and A. X. Zhang, “Joint Demand Fulfillment Probability in a MultiItem Inventory System with Independent Order-up-to Policies,” European J. of Operational Research, 109, 646-659, 1998. Lippman, S., “Applying a New Device in the Optimization of Exponential Queueing Systems,” Operations Research, 23, 687-710, 1975. Porteus, E. L., “Conditions for Characterizing the Structure of Optimal Strategies in Infinite Horizon Dynamic Programs,” Journal of Optimization Theory and Applications, 36, 419-432, 1982. Puterman, M., Markov decision processes: discrete stochastic dynamic programming, John Wiley and Sons, Inc, 1994. Ross, S., Applied Probability Models with Optimization Applications, Dover Publications, Inc., New York, 1970. Song, J. S., “On the Order Fill Rate in a Multi-Item, Base-Stock Inventory System,” Operations Research, 46, 831-845, 1998. Song, J. S., S. H. Xu, and B. Liu, “Order Fulfillment Performance Measures in an Assembly-to-Order System with Stochastic Leadtimes,” Operations Research, 47, 131-149, 1999. Song, J. S. and D. D. Yao, “Performance Analysis and Optimization in Assemble-to-Order Systems with Random Leadtimes,” Operations Research, 50, 889-903, 2002. Song, J. S. and P. Zipkin, “Assemble-to-Order Systems,” Chapter 13 in T. de Kok and S. Graves, editors, Handbooks in Operations Research and Management Science, Vol. XXX: Supply Chain Management, North-Holland, 2003. Topkis, D., “Minimizing a Submodular Function on a Lattice,” Operations Research, 26, 305-321, 1978. Weber, R. R. and S. Stidham, “Optimal Control of Service Rates in Networks of Queues,” Advanced Applied probability, 19,202-218, 1987. Zhang, A. X., “Demand Fulfillment Rates in an Assemble-to-Order System with Multiple Products and Dependent Demands,” Production and Operations Management, 6, 309-324, 1997.

Appendix Proof of Lemma 1: We divide the proof into three parts. In Part 1, we prove that if v∈V then Tkv∈V for all k. In part 2, we prove that if v∈V then T i v ∈V for all i. In part 3, we use the results of parts 1 and 2 to complete the proof and show that if v∈V then Tv∈V. First, we introduce the following difference n

operators for functions v defined on ] + , where ] + is the set of non-negative integers:

17

∆ k v(x) = v(x + e k ) − v(x) , for k = 1," , n , ∆ k1 + k2 +"+ k p v(x) = v(x + e k1 + e k2 + " + e k p ) − v( x) ,

and combinations of such operators, including ∆ j , k v ( x) = ∆ j ∆ k v ( x) = ∆ k v ( x + e j ) − ∆ k v ( x) .

where x = ( x1 , " , xn ) and the variables xk are state variables associated with an assembly system per the description of Section 3. Note that the order in which the differences are taken does not matter – i.e., ∆ j ,k v(x) = ∆ k , j v(x) . First, we note that Property A1 is a consequence of properties A3 and A2. Indeed, using A3 and A2, we have ∆ k ,k v(x) = ∆ k v(x + e k ) − ∆ k v(x) ≥ ∆ k v( x + e1 + e k ) − ∆ k v(x)

∆ k v(x + e1 + ek ) − ∆ k v(x) ≥ ∆ k v(x + e1 + e 2 + e k ) − ∆ k v( x) # ∆ k v(x + e 2 " + e n ) − ∆ k v( x) ≥ ∆ k v( x + E1 ) − ∆ k v( x) ≥ 0.

Also, to simplify the notation, we define the set of indexes Si = {i, ", n} . Operators Tk

In order to show that Tkv∈V, we need to show that Tkv satisfies properties A2-A4 since Property A1 is directly obtained as a consequence of properties A2 and A3. First, we note that the following holds: Tk v(x) = min {v( x + e k ), v(x)} = v(x) + min {∆ k v(x),0} ,

∆ jTk v(x) = ∆ j v(x) + min {∆ k v(x + e j ),0} − min {∆ k v( x),0} ,

and

∆ l ∆ jTk v(x) = ∆ l ∆ j v(x) + min {∆ k v(x + e j + el ),0} − min {∆ k v(x + el ),0} − min {∆ k v(x + e j ),0} + min {∆ k v(x),0} ,

(1)

for all values of i, j, and k. Property A2: In order to show that functions Tkv satisfy A2, we must show that ∆ l , jTk v(x) ≤ 0 , for l ≠ j . We distinguish three cases: j=k, l=k, and j≠l≠k. Case j≠l≠k: By A2, we have ∆ k v(x) ≥ ∆ k v(x + el ) ≥ ∆ k v(x + e j + el ) and ∆ k v(x) ≥ ∆ k v(x + e j ) ≥ ∆ k v( x + e j + el ) , leading to six possible sub-cases: 1.

∆ k v(x) ≥ ∆ k v( x + e j ) ≥ 0 and ∆ k v(x) ≥ ∆ k v(x + el ) ≥ ∆ k v(x + e j + el ) ≥ 0 ⇒ ∆ l , jTk v(x) = ∆ l , j v(x) ≤ 0 . (By A2)

2.

∆ k v(x) ≥ ∆ k v( x + e j ) ≥ 0 and ∆ k v(x) ≥ ∆ k v(x + el ) ≥ 0 ≥ ∆ k v(x + e j + el ) ⇒ ∆ l , jTk v(x) = ∆ l , j v( x) + ∆ k v(x + e j + el ) ≤ 0 . (By A2)

3.

∆ k v(x) ≥ ∆ k v( x + e j ) ≥ 0 and ∆ k v(x) ≥ 0 ≥ ∆ k v(x + el ) ≥ ∆ k v(x + e j + el ) ⇒ ∆ l , jTk v(x) = ∆ l , j v(x) + ∆ k , j v(x + el ) ≤ 0 . (By A2)

4.

0 ≥ ∆ k v(x) ≥ ∆ k v(x + e j ) and 0 ≥ ∆ k v(x) ≥ ∆ k v(x + el ) ≥ ∆ k v(x + e j + el ) ⇒ ∆ l , jTk v(x) = ∆ l , j v(x + e k ) ≤ 0 . (By A2)

5.

∆ k v(x) ≥ 0 ≥ ∆ k v(x + e j ) and ∆ k v(x) ≥ ∆ k v(x + el ) ≥ 0 ≥ ∆ k v(x + e j + el ) ⇒ ∆ l , jTk v(x) = ∆ l , j v(x) + ∆ k v(x + e j + el ) − ∆ k v(x + e j ) = ∆ l , j v(x) + ∆ l , k v(x + e j ) ≤ 0 . (By A2)

18

6.

∆ k v(x) ≥ 0 ≥ ∆ k v(x + e j ) and ∆ k v(x) ≥ 0 ≥ ∆ k v(x + el ) ≥ ∆ k v(x + e j + el ) ⇒ ∆ l , jTk v(x) = ∆ l , j v( x + e k ) − ∆ k v(x) ≤ 0 . (By A2)

The other two cases are treated similarly. It follows that the functions Tkv satisfy property A2. Property A3: To show that the functions Tk v satisfy A3, we must show that ∆ E1 , jTk v(x) ≥ 0 for all j. Noting that

∆ j ,E1 Tk v(x) = ∆ j ,E1 v(x) + min {∆ k v(x + e j + E1 ),0} − min {∆ k v(x + E1 ),0} − min {∆ k v(x + e j ),0} + min {∆ k v(x),0} ,

(2)

Here also we distinguish two cases: j=k and j≠k. Case j≠k: By A2 and A3, we have ∆ k v(x + E1 ) ≥ ∆ k v( x) ≥ ∆ k v(x + e j ) and ∆ k v(x + E1 ) ≥ ∆ k v(x + e j + E1 ) ≥ ∆ k v(x + e j ) , leading to six possible sub-cases: 1.

∆ k v(x + E1 ) ≥ ∆ k v(x) ≥ ∆ k v(x + e j ) ≥ 0 and ∆ k v(x + E1 ) ≥ ∆ k v(x + e j + E1 ) ≥ ∆ k v(x + e j ) ≥ 0 ⇒ ∆ j ,E1 Tk v(x) = ∆ j ,E1 v( x) ≥ 0 . (By A3)

2.

∆ k v(x + E1 ) ≥ ∆ k v(x) ≥ 0 ≥ ∆ k v(x + e j ) and ∆ k v(x + E1 ) ≥ ∆ k v(x + e j + E1 ) ≥ 0 ≥ ∆ k v(x + e j ) ⇒ ∆ j ,E1 Tk v(x) = ∆ j ,E1 v(x) − ∆ k v(x + e j ) ≥ 0 . (By A3)

3.

∆ k v(x + E1 ) ≥ 0 ≥ ∆ k v(x) ≥ ∆ k v(x + e j ) and ∆ k v(x + E1 ) ≥ ∆ k v(x + e j + E1 ) ≥ 0 ≥ ∆ k v(x + e j ) ⇒ ∆ j ,E1 Tk v(x) = ∆ j ,E1 v(x) − ∆ k v(x + e j ) + ∆ k v( x) = ∆ j ,E1 v(x) − ∆ j , k v(x) ≥ 0 . (By A3 and A2)

4.

0 ≥ ∆ k v(x + E1 ) ≥ ∆ k v(x) ≥ ∆ k v(x + e j ) and 0 ≥ ∆ k v(x + E1 ) ≥ ∆ k v(x + e j + E1 ) ≥ ∆ k v(x + e j ) ⇒ ∆ j ,E1 Tk v( x) = ∆ j ,E1 v(x + e k ) ≥ 0 . (By A3)

5.

∆ k v(x + E1 ) ≥ ∆ k v(x) ≥ 0 ≥ ∆ k v(x + e j ) and ∆ k v(x + E1 ) ≥ 0 ≥ ∆ k v(x + e j + E1 ) ≥ ∆ k v(x + e j ) ⇒ ∆ j ,E1 Tk v(x) = ∆ j ,E1 v(x) − ∆ k v(x + e j ) + ∆ k v(x + e j + E1 ) = ∆ j ,E1 v(x) + ∆ k ,E1 v(x + e j ) ≥ 0 . (By A3)

6.

∆ k v(x + E1 ) ≥ 0 ≥ ∆ k v(x) ≥ ∆ k v(x + e j ) and ∆ k v(x + E1 ) ≥ 0 ≥ ∆ k v(x + e j + E1 ) ≥ ∆ k v(x + e j ) ⇒ ∆ j ,E1 Tk v(x) = ∆ j ,E1 v(x + e k ) + ∆ k v(x + E1 ) ≥ 0 . (By A3)

The case j=k is treated similarly. It follows that the functions Tkv satisfy property A3. Property A4: To show that the functions Tk v satisfy A4, we must show that ∆ E1 Tk v(x) ≥ −c1 for all k. First, we note that ∆ E1 Tk v( x ) = min {v(x + e k + E1 ), v(x + E1 )} − min {v(x + e k ), v(x)}

= min {∆ E1 v( x + e k ), ∆ E1 v(x) − ∆ k v(x)} + max {∆ k v(x),0} .

We then distinguish two possible cases: ∆ k v(x) ≥ 0 and ∆ k v ( x ) < 0. If ∆ k v ( x ) ≥ 0,

∆ E1 Tk v(x) = min {∆ E1 v(x + e k ) + ∆ k v(x), ∆ E1 v(x)} ≥ min {−c1 + ∆ k v(x), −c1} = − c1 .

If ∆ k v ( x ) < 0,

∆ E1 Tk v(x) = min {∆ E1 v(x + e k ), ∆ E1 v( x) − ∆ k v(x)} ≥ min {−c1 , −c1 − ∆ k v(x)} = −c1 .

Hence, the functions Tk v satisfy A4. Also, since the functions Tk v satisfy A1-A3, Tk v ∈V for all k. Operators T i

19

(3)

In order to show that T i v ∈V, we need to show that T i v satisfies properties A2-A4 for i=1, …, n. First note that 0 if ∏ xk = 0  k ∈Si i T v( x) = v( x) + ci +  (4) otherwise. min −∆ Ei v(x − Ei ) − ci ,0  Property A2: We distinguish several cases: l , j ∉ Si , l ∈ Si and j ∉ Si , l ∉ Si and j ∈ Si , and l , j ∈ Si . We treat the latter case only. The other cases are less involved and are treated similarly. Now, assuming l, j∈Si, first note that   if ∏ xk = 0 0 k ≠l ,k ≠ j  k ∈Si  min −∆ Ei v(x + el + e j − Ei ) − ci ,0 − min −∆ Ei v(x + el − Ei ) − ci ,0  − min −∆ E v(x + e j − Ei ) − ci ,0 + min −∆ E v(x − Ei ) − ci ,0 if ∏ xk ≠ 0 i i  k∈Si  min −∆ Ei v(x + el + e j − Ei ) − ci ,0 − min −∆ Ei v(x + e j − Ei ) − ci ,0  i ∆ l , j T v ( x) = ∆ l , j v ( x) +  if ∏ xk ≠ 0, x j = 0  k ≠ j , k ∈Si  min −∆ v(x + e + e − E ) − c ,0 − min −∆ v(x + e − E ) − c ,0 Ei Ei l j i i l i i   if ∏ xk ≠ 0, xl = 0  k ≠ l , k∈Si    if ∏ xk ≠ 0, xl = 0, x j = 0. min −∆ Ei v(x + el + e j − Ei ) − ci ,0 k ≠l ,k ≠ j  k ∈Si Furthermore, by A3, we have −∆ Ei v(x − Ei ) − ci ≥ −∆ Ei v(x + el − Ei ) − ci ≥ −∆ Ei v(x + el + e j − Ei ) − ci ,

{

{

}

{

}

}

{

{

}

}

{

}

{

}

{

}

{

}

{

}

and −∆ Ei v(x − Ei ) − ci ≥ −∆ Ei v(x + e j − Ei ) − ci ≥ −∆ Ei v(x + el + e j − Ei ) − ci . First, we have to distinguish between the cases i≠1 and i=1. For the case i≠1 there are five sub-cases Therefore, for k ∈ Si , we distinguish the cases: ∏ k ≠ l , k ≠ j xk = 0 , ∏ k xk ≠ 0 , ∏ k ≠ j xk ≠ 0 and x j = 0 ,

∏ ∏

k ≠l k

xk ≠ 0 and xl = 0 , and



k ≠l ,k ≠ j

xk ≠ 0, xl = 0 and x j = 0 . For brevity, we only illustrate the case

xk ≠ 0 as it is the most involved when i≠1. In this case, we distinguish six possible sub-cases:

1.

−∆ Ei v(x − Ei ) − ci ≥ −∆ Ei v(x + el − Ei ) − ci ≥ −∆ Ei v(x + el + e j − Ei ) − ci ≥ 0 and −∆ Ei v(x − Ei ) − ci ≥ −∆ Ei v(x + e j − Ei ) − ci ≥ −∆ Ei v(x + el + e j − Ei ) − ci ≥ 0 ⇒ ∆ l , jT i v(x) = ∆ l , j v(x) ≤ 0. (By A2)

2.

−∆ Ei v(x − Ei ) − ci ≥ −∆ Ei v(x + el − Ei ) − ci ≥ 0 ≥ −∆ Ei v(x + el + e j − Ei ) − ci and −∆ Ei v(x − Ei ) − ci ≥ −∆ Ei v(x + e j − Ei ) − ci ≥ 0 ≥ −∆ Ei v(x + el + e j − Ei ) − ci ⇒ ∆ l , jT i v(x) = ∆ l , j v(x) − ∆ Ei v(x + el + e j − Ei ) − ci ≤ 0. (By A2)

20

3.

−∆ Ei v(x − Ei ) − ci ≥ 0 ≥ −∆ Ei v(x + el − Ei ) − ci ≥ −∆ Ei v(x + el + e j − Ei ) − ci and −∆ Ei v(x − Ei ) − ci ≥ −∆ Ei v(x + e j − Ei ) − ci ≥ 0 ≥ −∆ Ei v(x + el + e j − Ei ) − ci ⇒ ∆ l , j T i v ( x ) = ∆ l , j v ( x ) − ∆ Ei v ( x + e l + e j − E i ) + ∆ Ei v ( x + e l − E i ) = ∆ l , j v(x) − ∆ j ,Ei v( x + el − Ei ) ≤ 0. (By A2 and A3)

4.

−∆ Ei v(x − Ei ) − ci ≥ −∆ Ei v(x + el − Ei ) − ci ≥ 0 ≥ −∆ Ei v(x + el + e j − Ei ) − ci and −∆ Ei v(x − Ei ) − ci ≥ 0 ≥ −∆ Ei v(x + e j − Ei ) − ci ≥ −∆ Ei v(x + el + e j − Ei ) − ci ⇒ ∆ l , j T i v ( x ) = ∆ l , j v ( x ) − ∆ Ei v ( x + e l + e j − E i ) + ∆ Ei v ( x + e j − E i ) = ∆ l , j v(x) − ∆ l ,Ei v(x + e j − Ei ) ≤ 0. (by A2 and A3)

5.

0 ≥ −∆ Ei v(x − Ei ) − ci ≥ −∆ Ei v(x + el − Ei ) − ci ≥ −∆ Ei v(x + el + e j − Ei ) − ci and 0 ≥ −∆ Ei v(x − Ei ) − ci ≥ −∆ Ei v(x + e j − Ei ) − ci ≥ −∆ Ei v(x + el + e j − Ei ) − ci ⇒

∆l , jT i v(x) = ∆ l , j v(x − Ei ) ≤ 0. (By A2) 6.

−∆ Ei v(x − Ei ) − ci ≥ 0 ≥ −∆ Ei v(x + el − Ei ) − ci ≥ −∆ Ei v(x + el + e j − Ei ) − ci and −∆ Ei v(x − Ei ) − ci ≥ 0 ≥ −∆ Ei v(x + e j − Ei ) − ci ≥ −∆ Ei v(x + el + e j − Ei ) − ci ⇒ ∆ l , jT i v(x) = ∆ l , j v(x) − ∆ Ei v(x + el + e j − Ei ) + ∆ Ei v(x + el − Ei ) + ∆ Ei v(x + e j − Ei ) + ci = ∆ l , j v(x − Ei ) + ∆ Ei v(x − Ei ) + ci ≤ 0. (by A2 and A3)

For the case i=1, we first note that  ∆ l , j v ( x) if ∏ xk = 0  k ≠ l , k ∈Si   ∆ l , j v ( x − Ei ) if ∏ xk ≠ 0  k∈Si  ∆ v(x) − ∆ v(x + e − E ) if ∏ xk ≠ 0, x j = 0 i , Ei j i ∆ l , jT 1v(x) =  l , j k ≠ j , k ∈Si   ∆ l , j v ( x) − ∆ j ,E v ( x + e l − Ei ) if ∏ xk ≠ 0, xl = 0 i  k ≠ l , k ∈Si   ∆ v ( x) − ∆ v ( x + e + e − E ) − c if ∏ xk ≠ 0, xl = 0, x j = 0. Ei l j i 1  l, j k ≠l ,k ≠ j k∈Si  1 Similarly, using Properties A2 and A3, we show that ∆ l , jT v( x) ≤ 0 . All the other cases are treated

similarly. A consequence of the above is that the functions T i v satisfy A2. Property A3: To show that the functions T i v satisfy property A3, we must show that ∆ j ,E1 T i v(x) ≥ 0 for all i and j. Noting that

21

{

}

{

}

∆ j ,E1 T i v(x) = ∆ j ,E1 v(x) + min −∆ E1 v(x + e j ) − ci ,0 − min −∆ E1 v(x) − ci ,0 if ∏ xk = 0

0  − min −∆ E1 v(x + e j − E1 ) − ci ,0 

{

k≠ j

}

0  + min −∆ E1 v(x − E1 ) − ci ,0 

{

}

if ∏ xk ≠ 0 k≠ j

if ∏ xk = 0 k

if ∏ xk ≠ 0, k

Furthermore, by A3 we have −∆ E1 v(x) − ci ≥ −∆ E1 v(x + e j ) − ci and −∆ E1 v(x − E1 ) − ci ≥ −∆ E1 v( x + e j − E1 ) − ci . First, we have to distinguish between the cases i≠1 and i=1. For the case i≠1 there are three sub-cases Therefore, we distinguish the cases: ∏ k ≠ j xk = 0 , ∏ k ≠ j xk ≠ 0 and x j = 0 , and ∏ k xk ≠ 0 . For brevity, we only illustrate the case



k

xk ≠ 0 as it is the most involved when i≠1. Therefore, there are six

possible sub-cases. 1. −∆ E1 v(x) − ci ≥ −∆ E1 v(x + e j ) − ci ≥ 0 and −∆ E1 v(x − E1 ) − ci ≥ −∆ E1 v(x + e j − E1 ) − ci ≥ 0 ⇒

∆ j ,E1 T i v(x) = ∆ j ,E1 v(x) ≥ 0. (by A3) 2.

−∆ E1 v(x) − ci ≥ 0 ≥ −∆ E1 v(x + e j ) − ci and −∆ E1 v(x − E1 ) − ci ≥ −∆ E1 v(x + e j − E1 ) − ci ≥ 0 ⇒

∆ j ,E1 T i v(x) = ∆ j ,E1 v(x) − ∆ E1 v(x + e j ) − ci = −∆ E1 v(x) − ci ≥ 0 . 3.

0 ≥ −∆ E1 v(x) − ci ≥ −∆ E1 v(x + e j ) − ci and −∆ E1 v(x − E1 ) − ci ≥ −∆ E1 v(x + e j − E1 ) − ci ≥ 0 ⇒

∆ j ,E1 T i v(x) = −∆ E1 v( x) − ci + ∆ E1 v( x) + ci = 0 . 4.

0 ≥ −∆ E1 v(x − E1 ) − ci ≥ −∆ E1 v(x) − ci ≥ −∆ E1 v( x + e j ) − ci and 0 ≥ −∆ E1 v(x + e j − E1 ) − ci ⇒

∆ j ,E1 T i v(x) = ∆ j ,E1 v(x − E1 ) ≥ 0 . (by A3) 5.

−∆ E1 v(x − E1 ) − ci ≥ −∆ E1 v( x) − ci ≥ 0 ≥ −∆ E1 v( x + e j ) − ci and 0 ≥ −∆ E1 v(x + e j − E1 ) − ci ⇒

∆ j ,E1 T i v(x) = −∆ E1 v(x) − ci + ∆ E1 v(x + e j − E1 ) + ci ≥ 0 . 6.

−∆ E1 v(x − E1 ) − ci ≥ 0 ≥ −∆ E1 v(x) − ci ≥ −∆ E1 v( x + e j ) − ci and 0 ≥ −∆ E1 v(x + e j − E1 ) − ci ⇒ ∆ j ,E1 T i v(x) = ∆ E1 v( x + e j − E1 ) + ci ≥ 0 .

For the case i=1, we first note that if ∏ xk = 0 0 if ∏ xk = 0 0   k≠ j 1 k ∆ j ,E1 T v(x) =  − −∆ E1 v(x − E1 ) − c1 if ∏ xk ≠ 0 −∆ E1 v(x + e j − E1 ) − c1 if ∏ xk ≠ 0 k k≠ j   We distinguish the following three sub-cases. 1.

∏x

= 0 ⇒ ∆ j ,E1 T 1v(x) = 0 . (by A3)

∏x

≠ 0 and x j = 0 ⇒ ∆ j ,E1 T 1v(x) = ∆ E1 v(x + e j − E1 ) + c1 ≥ 0 .

k≠ j

2.

k≠ j

k

k

22

3.

∏x

k

k

≠ 0 ⇒ ∆ j ,E1 T 1v(x) = ∆ j ,E1 v(x − E1 ) ≥ 0 . (by A3)

All the other cases are treated similarly. A consequence of the above is that the functions T i v satisfy A3.

Property A4: To show that the functions T i v satisfy A4, we must show that ∆ E1 T i v(x) ≥ −c1 for all i. First note that

v(x) + ci if ∏ xk = 0  k ∆ E1 T v(x) = min {v(x), v(x + E1 ) + ci } −  min {v( x − E1 ), v(x) + ci } if ∏ xk ≠ 0. k  Hence, if ∏ k xk = 0 we have i

∆ E1 T i v( x) = min {v(x), v( x + E1 ) + ci } − v(x) − ci

{

}

= min −ci , ∆ E1 v(x) ≥ min {−ci , −c1} = −c1. if



k

xk ≠ 0 we have ∆ E1 T i v(x) = min {v(x), v(x + E1 ) + ci } − min {v(x − E1 ), v(x) + ci }

{

}

{

}

= min 0, ∆ E1 v( x) + ci − min −∆ E1 v( x − E1 ), ci . Since

∆ E1 v(x) ≥ ∆ E1 v(x − E1 ) ,

the

following

holds:

(1)

if

∆ E1 v(x − E1 ) ≥ −ci

then

∆ E1 T i v(x) = ∆ E1 v(x − E1 ) ≥ −c1 , (2) if ∆ E1 v(x − E1 ) ≤ −ci ≤ ∆ E1 v(x) then ∆ E1 T i v(x) = −ci ≥ −c1 , and (3) if ∆ E1 v(x − E1 ) ≤ ∆ E1 v(x) ≤ −ci then ∆ E1 T i v(x) = ∆ E1 v(x) ≥ −c1 . Hence, the functions T i v satisfy A4. Operator T Given that h(x) is separable in the variables xk and increasing convex in each xk, it is straightforward to show that h(x) satisfies A1-A3. Furthermore, since V is closed under multiplication by a scalar and addition, Tv satisfies properties A1-A3. To show that Tv also satisfies A4, note that n

n

∆ E1 Tv(x) = ∆ E1 h(x) + ∑ λi ∆ E1 T i v(x) + ∑ µ k ∆ E1 Tk v(x) i =1

k =1

n

n

i =1

k =1

≥ ∆ E1 h(x) − ∑ λi c1 − ∑ µ k c1

(∆

E1

h( x) > 0 )

n  n  ≥ −c1  ∑ λi + ∑ µ k  = −c1 (1 − α ) ≥ −c1 . k =1  i =1  Hence, Tv ∈V, which completes the proof of lemma 1. „

Proof of Theorem 1: We need to show that v*∈V. Using a value iteration argument, we note that (i) v* = lim m→∞ T ( m ) v for any v in V, where T(m) refers to m compositions of operator T and (ii) v* is the unique solution of v = Tv (see Theorem 5.1 of Porteus (1982) and Theorem 6.10.4 of Puterman (1994)). Hence, v* satisfies conditions A1-A4 and lemma 1, from which the results of Theorem 1 immediately follow. Property A1 (i.e., ∆ k , k v* ( x) ≥ 0 ) implies that the optimal production policy is of the base-stock type. To show that the optimal inventory allocation policy is of the rationing type, we first note that, for k ≥ i and using A3, we have ∆ k v * (x + Ei ) ≥ ∆ k v * (x + E1 ) ≥ ∆ k v * ( x) indicating that ∆ k ,Ei v* (x) ≥ 0 . As a result ∆ Ei v * (x − Ei ) = v * (x) − v * (x − Ei ) is non-decreasing in xk which means that there exists a unique value

23

rk*,i ( x (k ) ) , as defined in Definition 2, such that v * (x) − v * (x − Ei ) ≥ −ci . Hence, the optimal inventory allocation policy is of the rationing type. P1 is implied by Property A2. In order to show P2, we have from condition A2 and the definition of sk ( x ( k )) ,

(

)

(

)

∆ k v ( x1 ,..., xk −1 , sk ( x ( k ) + e j ), xk +1 ,..., xn ) ≥ ∆ k v ( x1 ,..., xk −1 , sk ( x ( k ) + e j ), xk +1 ,..., xn ) + e j ≥ 0 ,

and using the definition of sk ( x ( k )) , leads to sk ( x (k )) ≤ sk (x (k ) + e j ) . From condition A3, we have ∆ k v ( ( x1 ,..., xk −1 , sk (x (k )) + 1, xk +1 ..., xn ) + e j ) ≥ ∆ k v ( ( x1 ,..., xk −1 , sk (x (k )), xk +1 ..., xn ) ) ≥ 0 , and using the definition of sk ( x ( k )) leads to sk ( x (k ) + e j ) ≤ sk (x (k )) + 1 . P3 is implied by the fact that ∆ k ,Ei v* (x) ≥ 0 for k ≥ i and ∆ k ,Ei v* ( x) ≤ 0 for k < i . P4 is implied by the fact that ∆ Ei v * (x − Ei ) is non-decreasing in xk and the ordering ci ≥ ci +1 ≥ " ≥ cn .

P5 is due to Property A4 and the definition of rk*,1 ( x (k ) ) . This completes the proof of Theorem 1. „

24