Apr 28, 2000 - between now and the period that is i away from now (Figure 1), is a ... di erent rules are used for sequencing jobs whose due dates have already been quoted; .... (b) As the result of new demand arriving, it is never optimal to.
Dynamic Capacity Reservation in a Make-to-Order Environment Roman Kapuscinski Sridhar Tayur University of Michigan Carnegie Mellon University April 28, 2000 Abstract
Motivated by many industrial applications, we study a basic discrete-time model of reserving capacity (equivalently, quoting lead times) in a make-toorder setting for customers belonging to two dierent classes. Demands in each period are stochastic. Dierent customer classes penalize us with dierent margins for the lead times quoted to them. We derive the optimal policy for reserving capacity, and use the insights from its structure to develop an approximation that provides near-optimal solutions quickly. Currently available heuristics are tested and are found to be lower in eectiveness.
1 Introduction In this paper, we study a basic discrete-time model that is at the heart of many industrial problems: dierent classes of customers, arriving at random over time, are to be satis ed using a common capacitated resource. The dierent classes have dierent sensitivity to their waiting time. Since the customers compete for the same capacity, the manufacturers must take these sensitivities into account for eective cost management. This is even more crucial when the manufacturer has to meet the committed delivery times. A mechanism is needed to oer eective capacity reservation (equivalently, reliable lead-time quotation) dynamically for orders that have just arrived, while probabilistically anticipating future orders.
1
1.1 Industrial Motivation A make-to-order environment with (at least) two classes of customers is very common, as evidenced by the following examples. Customers require a con rmation when the order will be delivered at the time the order is placed, and the erce competition in the market has now forced the promised delivery times to be reliable.
Our original motivation to study this problem came from a company (Sintermet) that supplies customized `rolls' that are used in steel mills. Although the products are in the same product family, and require the same technology (and processing time) to make, no inventory is kept because the products are so differentiated (in diameter or nish) and are engineered to order. The two classes of customers are the domestic mills (with low tolerance for waiting) and the international mills (that do not have as many options for alternative supply).
A supplier of industrial pumps (US Filter) is in a make-to-order environment due to the many features of its products that are customized for the particular application. There are two classes of customers: the large multi-year contractors and the smaller (one order at a time) customers, each with dierent sensitivities to lead times.
A manufacturer of furniture (Bush Industries) supplies to both the (very pow-
erful) retail super-stores as well as through retail channels of regional stores. Given that many new SKUs are produced each year, they are in a make-toorder environment with strict class dierence between the superstores and the regional chains. Other examples include (1) an European car manufacturer allows (impatient) customers to decrease waiting time (for a car) for a fee; and (2) a large manufacturer of cables who delivers a commodity product to dierent retailers and distributors. In the latter case, customers use lead time performance as a major factor for adjusting the volume of the business and consequently, the manufacturer associates a penalty for longer quoted lead times and strictly prioritizes its customers. (In this case, inventory can be kept of the product, an extension we accomodate). Based on our discussions with several software developers (including i2 Technologies), similar situations exist in chemical products and for consumer products. The 2
current state-of-practice contains many heuristics: however, they do not take future arrivals into consideration in any sophisticated manner. We have found that the most sophisticated solution available is to add a customer-priority dependent \cool-down" time { equivalent to adding a priority-dependent constant to the earliest available times { in quoting lead times. This practice corresponds directly to one of the heuristics (Constant Slack Time) that we test in the numerical study.
1.2 Summary of Paper In this paper, we concentrate on the uncertainty of demand from two customer classes (1 j 2) in a discrete-time setting. It is costlier to quote a longer lead time to a customer from a higher class (j = 1) than from a lower one; in particular, the cost is linear with rate mj for class-j customer. We impose the constraint that we will ship the order to the customer within the quoted lead time; we may ship earlier at no penalty, but we gain no bene t from the customer for this early shipment 1. Production and shipping are closely related as we allow no inventory. Note that quoting a long lead time for a low-margin customer (and so having a lot of capacity in anticipation of future higher-margin customers) causes a penalty immediately from this low-margin customer, while a short quoted lead time may force a higher margin customer arriving in the future to wait a little longer. This is the basic trade-o. This is complicated by four factors: (1) the existing reserved capacities will aect where new reservations can occur; (2) the longer out in the horizon one is forced to reserve, the more uncertainty there is to account for; (3) the current choice of reservation will aect the choices for future arrivals; and (4) many units of both classes may arrive in any period and so while reserving capacity for any one of them, the existence of the others should be taken into account. We accommodate all these factors in deriving the optimal policy. After we characterize the optimal policy, we provide a graphical interpretation, and use the insights to develop a quick approximation that is nearly optimal (based on experimental testing). In doing so, we reduce the eort required to compute the lead times to be quoted and provide an eective mechanism for dynamic capacity reservation. We also compare our proposed approximation with commonly used 1 This constitutes a major dierence with managing seats on airplanes or rooms in hotels. If there
is vacant room today, we cannot satisfy the customer arriving tomorrow.
3
heuristics. The numerical study suggests that the performance of our approximation is, at least an order of magnitude better than any of the heuristics, in many cases. Our insights also can be interpreted as enriching the current heuristics (such as the above-mentioned \cool down" times) by ensuring that these slack times depend, in addition to the priority of the customer, on the current load on the resource (as suggested by other published research as well) and the length of the trailing block that will be formed after the capacity reservation is done (an aspect, not intimated by previous research). An example below provides an illustration of some of our results regarding the structure of the optimal policy for a special case when, in any period, there are many class-1 demands and at most one unit of class-2 demand. Example 1. The optimal policy rst deals only with demands of class 1 one at a time, in a greedy fashion: nd the earliest capacity that is open (reserve it) and quote this due date. After nishing with the class-1 customers, look at the class-2 demand and quote a lead time i such that the cumulative open capacity (or slack, de ned as total capacity minus the capacity reserved for orders with already-quoted due dates) between now and the period that is i away from now (Figure 1), is a function of m1 and m2 and the block that will be formed when this unit reserves its capacity (not shown here). The point is that the optimal quoting policy does not depend on the vector of the particular due dates for previously scheduled orders, nor does it depend on the speci c class-1 or class-2 customers scheduled in previous periods (Figure 2). The dark spaces are previous reservations, the blank spaces are slack that we keep for future class-1 arrivals and the checked space is where the current class-2 demand will be placed. Thus, it is sucient to know how much open capacity is available in each period, and not know about the `exact state' of the shop oor and the computation of optimal quotation reduces from being a large stochastic dynamic program to one where a set of `critical' curves (one curve for each possible block size) can be used. The period in which the available capacity intersects (or rst exceeds) the appropriate `critical' curve indicates the optimal quotation.
4
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10
Figure 1: Optimal slack depends on amount of capacity already reserved. We leave 3 spaces empty rather than 2 when we have more reserved already.
z1
0
1
2
3
4
5
6
7
8
9
10
z1
0
1
2
3
4
5
6
7
8
9
10
Figure 2: Optimal slack does not depend on the vector. We quote a lead time of 9 in both cases. This is Theorem 1. 5
1.3 Literature Review Basic approaches for quoting lead times include constant lead time, equal slack, slack proportional to processing times (for jobs composed of multiple tasks), slack proportional to number of operations, and mixtures of the above. On the other hand, dierent rules are used for sequencing jobs whose due dates have already been quoted; examples include earliest due date, minimum slack, minimum slack divided by processing time. Interactions between lead-time quotation (or equivalently, due-date setting) and sequencing were considered in [18, 3, 1] (see also other references in [7]). These papers are all simulation studies and describe the performance under dierent objective functions. A number of studies show the advantages of using workload information { this is consistent to what our optimal policy suggests { for quoting lead times: in [11], lead times are proportional to the number of jobs in queue; in [3], workload is balanced by lling a certain xed ratio of all capacity. A heuristic for quoting lead times that meets certain service requirements is developed in [5], extended in [20] to a multi-class system and in [21] to a job shop setting. In [16], customer preference is a function of price, quality, and lead time. Conditions when lead-time quotation becomes critical are derived. In [10], a single server, one class model where arrival rate is a function of quoted lead time is studied, and for special cases the form of the optimal policy is derived. A similar multi-class model is studied in [9] and a heuristic based on the analysis of a model with exponential arrivals and service times is provided. (The heuristic is based on ignoring future arrivals, which are key elements of our model.) These models allow for no inventory (production is to order). Some additional references can be found in [2] and [7]. The rest of the paper is organized as follows. We introduce the model in section 2. We derive the properties of the optimal solution for the basic model in section 3 and provide a graphical interpretation. Approximations, heuristics and numerical results are described in section 4. In section 5 we brie y note many extensions and conclude the paper. The extended version of this paper, [14], contains the proofs omitted here.
6
2 Basic Model In a single stage, periodic review setting, we assume the following 2:
maximum production capacity, C = 1, in any period n; N periods of time in which demands arrive (where period number N is the rst one and period number 1 is the last one);
2 classes of customers with cost per unit delay m (\margin"), and m1 > m2. We denote m = (m1; m2)T . All customers with the same margin belong to the same class;
an integral (perhaps 0) number of orders for each class arrives in each period; each orders is for 1 unit of product; vectors of number of demands are i.i.d.3 (with general integral distribution) from period to period;
early shipment is allowed, but no late shipment is permitted; and the objective is to minimize the total expected cost, which in each period is the sum of the costs of quoted lead times (weighted by margins).
In any period (N to 1), the sequence of events is the following: (1) demands occur; (2) based on past commitments of due dates, decisions regarding quoting, production, and shipping are taken; (3) costs of quoting lead times are incurred; (4) production occurs and appropriate orders are shipped. We allow the quoted lead times to be longer than the horizon length as it is possible that demand will exceed the total available capacity. Thus, some of the orders may be delivered after period 1. No new demand, however, arrives after period 1. Let N0 := f0; 1; 2; :::g and let N20 denote a 2-vector with elements in N0. Let us de ne additional notation used:
2 Note that we accept all the demands; a parallel paper extends this by allowing rejection of
incoming demand. 3 A parallel paper deals with worst case bounds assuming an adversary creating demand; see [15].
7
Rn: sequence of total quoted quantities (Rn(n); : : : ; Rn(1); : : :) to be delivered in periods n; : : :; 1; : : :, as yet not delivered at the beginning of period n;
Dn 2 N20: vector of demands of classes 1 and 2 in period n; Qn : array of quoted lead times for demands that arrived in period n; pn 2 N0: production in period n (since C = 1, pn = 0 or 1); Sn 2 Nn0 +1 : vector of shipped amount in period n, Sn = (Sn (n); Sn(n ? 1); : : :). Sn(k) denotes the amount with quoted delivery in period k (for k n) but shipped (earlier if k < n) in period n.
Based on the state of the system (Rn and some more information as explained later) and on demand (Dn), decisions about new quoted lead times (Qn ), production (pn), and about shipping (Sn ) are taken. In any given period n, we charge for the quoted lead time weighted by the customer-dependent margin. Each order gets assigned a lead time, a non-negative integer. A value of 0 means that the demand will be satis ed in the current period, while a value of i means that the demand will be satis ed i periods from now. A given class of demand may be assigned dierent lead times. Demand Dn, arriving in period n, is split into vectors corresponding to quoted delivery periods: Dn = Pi0 Qn (n ? i). For example, demands of margin 1 in period n, Dn1 , can be split into 3 parts: Q1n(n), Q1n(n ? 1), and Q1n (n ? 3), where the index in the parenthesis describes an assigned period corresponding to lead time 0, 1, and 3, respectively. The cost incurred is 1(Q1n(n ? 1)) + 3(Q1n (n ? 3)). Thus, in any period, the charge (linear costs) for assignment of lead times is equal to: Pi0 i[mT Qn (n ? i)], where stands for scalar multiplication of vectors. Once the cost of lead time has been incurred, no more costs are incurred on this demand. After period 1 (the last one in which demand occurs), we can just produce and ship according to the deterministic plan based on quoted due dates, since no costs are incurred after period 1. There are many choices in how new demands can be handled in relation to previously reserved capacities. We study three situations motivated by what we have observed in practice. 8
(E), the Efficient case: Opportunistically quote lead times with no regard to
previously outstanding orders, as long none of the previous orders are forced to be late.
(F-S), the Fair-Shipping case: If customer B is of the same or lower priority class than A and order from A arrived in an earlier period, then the shipping date for A will be no later than the shipping date for customer B.
(F-DD), the Fair-Due-Date case: if customer B is of the same or lower priority class than A and order from A arrived in an earlier period, then the quoted due-date for A will be strictly earlier than the quoted due-date for B.
The structure of the optimal policy and general ideas used in proofs of (F-DD) case are nearly the same as in (F-S) case. The details of the proofs, however, are signi cantly more complicated in (F-S) case. Therefore, we consider the (F-DD) case as our basic model, and summarize the results for (F-S) and (E) cases subsequently.
3 Analysis of the Basic Model The last quoted or reassigned due dates for each class are a part of the state in addition to Rn:
Def 1 Tn 2 Z M : a vector of period numbers where Tn(j ) is the last of all due dates
(possibly \reassigned" due dates) for all demand of class j and higher that arrived in previous periods.
We begin by stating some simple facts without proofs. When only one class of customers exists, the problem reduces to a deterministic assignment of due dates according to FCFS rule and producing as long as any outstanding orders exist. Obviously no early shipments will take place. When there are two classes, we continue to have the following.
Fact 1 The quoting policy for the highest class is to nd the earliest available capacity
(including the current period). Therefore, if the optimal policy is followed until the current period, then we do not need to report Tn (1).
9
The greedy rule does not necessarily apply to class 2. The rest of the analysis is therefore essentially to nd where class-2 demands should be placed when their orders come in. We use the following de nition frequently to compare two systems.
Def 2 Let s = A; B be two systems, R~ sn(k) = Rsn (n) + : : : + Rsn (k) be the cumulative
P
reserved capacity in system s until period k inclusively, and R~sn = kn Rsn(k) be the total reserved capacity in system s. System A is earlier than system B, A B, if R~An (k) R~Bn (k) for all k, R~An = R~Bn , and TAn(j ) TBn (j ) for all customer classes j .
If system A is earlier than system B (A B), then the optimal cost starting from state A is lower than the optimal cost starting from B. In any period of time, total amount shipped completely describes which individual requirements are shipped. Because production in any period cannot exceed C in any feasible solution, any portion of Rn (k) above C has to be satis ed from previous production (produced and shipped) and so, one might as well quote an earlier due date to this part of the demand. Similarly, there is no advantage to rescheduling demand to earlier places (except when it is about to be produced and shipped) 4. For future referencing, we state these simple facts as a lemma.
Lemma 1 Capacity rule. Let current period be period n. Then, at optimality, Rn (k) C = 1 for all k n. Production rule. In the optimal solution, either: (1) all future requirements are satis ed, or (2) production is at its limit.
Def 3 Assignment Rn is feasible if it satis es the capacity rule, and previously set due dates are not violated.
Lemma 2 (a) For an assignment to be optimal, it cannot be earlier than any other
feasible assignment. (b) As the result of new demand arriving, it is never optimal to reschedule previous orders (but they may be shipped ahead of time).
Using these properties we can eliminate production variable pn and simplify the positioning of the pointer Tn?1 (l). The objective function (with J0(; 0; ) = 0) is:
JN (RN ; DN ; TN ) = min Q [L(Q) + EDN?1 fJN ?1(RN ?1 ; DN ?1; TN ?1 g] 4 This is why (F-DD) is signi cantly simpler than (F-S).
10
and we have the following constraints:
X
Dn = Qn(k) = Qn 1 kn C Rn (k) + 1T Qn(k) for k n X R~n?1 (i) R~n (i) + 1T Qn(i) ? C j i 2 Qn(k) = 0 for k Tn+1(2) Q2n(k) = 0 for k < Tn(2) n ~Rn(i) = X Rn(j ) j =i
Tn(2) 2 fn; n ? 1; : : :g Qn ; Rn 0, C = 1 and
L(Qn ) =
(1) (2) (3) (4) (5) (6) (7) (8)
X i[mT Q (n ? i)]: n
i0
Equation (1) describes the assignment of promised delivery times. Equation (2) ensures that all quantities promised in any period (previously scheduled plus newly added) can be produced. Equation (3), for i n ? 1, updates cumulative reserved capacities (by adding newly scheduled shipments and subtracting the shipped ones). Notice that we always produce and ship full capacity unless all orders are satis ed. Equation (4) imposes the F-DD constraint (using the pointer Tn+1(2) from the previous period), while equation (5) sets the pointer Tn(2) in new location. Equation (6) de nes the cumulative reserved capacity. The next fact follows directly from the dynamic programming (DP) interpretation of the formulation.
Fact 2 (Optimality rule via Dynamic Programming)
Let the optimal lead-times for class-2 demand be i1 < : : : < iD and let Rn (k) = 0 for k < n ? i1 (i.e. lead time of i1 is longer than current lead times for all the previous orders). Then for any l < D, the optimal lead times for R[fi1; : : : ; ilg and D2 = D ?l are il+1 ; : : :; iD. That is, O(R; D) = O(R [ fi1; : : :; il g; D ? l):
11
3.1 Optimal Policy is Obtained from a Pseudo-Optimal Policy The pseudo-optimal schedule ignores the lead times (or equivalently the reserved slots in the schedule) of orders which came in the previous periods and assumes that all demand which arrived in previous periods was scheduled greedily. Thus all R capacity reserved so far are a block from time zero to R ? 1. An easy transformation of the pseudo-optimal schedule will result in the optimal schedule, which is one of our main results.
Def 4 Let B(x; l) be a vector of reserved slots, where a block of x consecutive units is scheduled starting with a lead time of l, i.e. B(x; l) = (0; :::; 0; 1; 1; : : :; 1; 0; 0; : : :) and 1T B(x; l) = x and the rst l elements are 0s. For a given vector of due dates R and class-2 demand D 2 N, we will consider the following solutions:
1. Optimal assignment (O): O(R; D) is the vector of optimal due dates for both the old and the new demand. In case of ties, consider a minimal cost quote that is not dominated by an earlier (see Def 2) quote. 2. Pseudo-optimal assignment (PO): PO(R; D) := O(B(R; 0); D). We write B(R; 0) as E(R) when convenient.
The next theorem plays a critical role in our analysis; recall Figure 2 of Example 1 in the introduction.
Theorem 1 Let the remaining number of periods be n and suppose exactly one unit
of class-2 demand arrives. The optimal quoted lead time for this class 2 demand is a function of R (total number of units ordered in the previous periods and not shipped yet) and minfk; Rn (k) > 0g (the longest previously reserved slot). It is independent of speci c previous quotations and locations of other reserved slots, Rn . We prove this theorem in one inductional loop, with Lemma 3 below within this loop. Let R1n and R2n be such that R1n = R2n. Consider two quotation of the same class-2 demand in current period, A and B, that are feasible for both R1n and R2n. Let C (Rin; X), where i = 1; 2 and X=A, B, be the cost of quoting class-2 demand
12
in the current period and cost of quoting all demand in all future periods, assuming that initial schedule is Rin, class-2 demand is scheduled according to X, and optimal policy is followed in all future periods. Let C (X) := C (R1n; X) ? C (R2n; X).
Lemma 3 C (A) = C (B). Proof of Lemma 3: Obviously A = B . Notice that in the next period any quotation of class-2 demand is feasible for R1n [ A if and only if it is feasible for R2n [ A. From inductional assumption (Theorem 1), therefore, in the next period, all class-2 demand will be scheduled in exactly the same locations for schedules originating with R1n [ A and R2n [ A. The same will hold in the subsequent periods. Consequently, we can ignore class-2 demand in C (A). Thus, equality C (A) = C (B) will hold if it holds for just class-1 demand. Let ki be the longest quoted lead time for Rin. Since the number of empty slots before k0 := max(k1; k2) is the same for all scenarios considered here, the part of class-1 demand that will be scheduled after k0 will be scheduled (in a greedy fashion) in exactly the same location in both R1n [ A and R2n [ A. Thus, all class-1 demand scheduled after location k0 can be ignored as well. Since C (A) ? C (B) = C (R1n) ? C (R2n), it is sucient to show that C (R1n) = C (R2n) for class-1 demand that is scheduled in location k0 or before. This, however, is trivially true since class-1 is scheduled in a greedy fashion and Rin [ A and Rin [ B are (and remain) identical for locations up-to k0. 2 Proof of Theorem 1: Based on Lemma 3, for two dierent schedules R1n and R2n with the same longest lead time and two feasible schedules A and B, the cost dierences C (R1n; A) ? C (R1n; B) and C (R2n; A) ? C (R2n; B) are equal. Therefore, the assignment that is the cheapest for R1n will be the cheapest for R2n. 2
Lemma 4 If A is optimal quotation of class-2 demand for B(Rn; 0), then for any S such that S = Rn and A is feasible for S (i.e. minfk; S (k) > 0g > maxfk; A(k) > 0g), A is optimal. The proof is identical to the proof of Lemma 3 with k0 = minfk; S (k) > 0g. No induction is necessary: Theorem 1 can be used directly to justify the same cost for class-2 demand. 13
3.1.1 Convexity of Cost The cost function is convex with respect to lead time of an individual order. To show this property, we consider \threshold" policies, where we force one unit of demand to be scheduled with lead time i and allow all remaining demand in the current period and all future demand to be scheduled optimally. Based on the properties of these threshold policies, we can describe the eects of placing demand in dierent location and consequently determine the optimal location and properties of optimal policies.
Def 5 Consider two schedules S and T. Consider i S (= ST 1), T > 0, and let (S; T)[i] be the resulting schedule when we force the rst unit of T to be have lead time of i (i.e. be in position n ? i). If necessary, all later units in T are pushed to the earliest empty slots after their original location, while all units in S (if necessary) are pushed forward (see Figure 3). We will call schedule (S; T)[i] a threshold schedule. i-1
i
i+1
S T (S, T)[i]
Figure 3: An example of a threshold schedule (S, T)[i]. The following lemma can be proved jointly with Theorem 2 by induction on number of remaining periods n. Let R describe the previous periods' quotations and current period class-1 quotation. Consider a feasible quotation of class-2 demand, A, and a certain unit of that demand scheduled with lead time of j . Let A1 be that part of A with units having lead times shorter than j and A2 be the part of A where units have a lead time longer or equal to j . For i j , let C(i) be the cost of scheduling current class-2 demand (not necessarily optimal) according to (Rn [ A1; A2)[i], plus cost of optimally scheduling all demand in all future periods. Let C [i] := C (i +1) ? C (i).
Lemma 5 (Convexity)
C [i] is non-decreasing in i (equivalently, C is convex). 14
Proof: For future period m < n, let Om [x] denote the reservation vector in period m if initial quotation in period n, (Rn [ A1; A2)[x], is followed by optimal quotation in periods n ? 1; : : : ; m. Consider any i j . Below, we de ne a modi ed policy O~ m[i +1] with cost C~ [i] . We show that the modi ed policy satis es C [i + 2] ? C~ [i + 1] C [i + 1] ? C [i]. This will imply C [i + 1] C [i]. Let pxm (k) and p~im+1 (k) denote the lead times of unit k in schedules Om[x] and O~ m[i + 1]. Let us refer to the speci c unit scheduled with lead time i in R[i] as sth unit (or unit s), i.e. pxn (s) = x for x = i; i + 1; i + 2. Consider the following modi ed5 policy. For class-1 demand follow greedy policy; for class-2 demand, let
p~im+1 (k) := pim (k) + (pim+2 (k) ? pim+1 (k)):
(9)
From (9), contribution of class-2 demand to C [i + 2] ? C~ [i + 1] and C [i + 1] ? C [i] will be the same (till the end of the horizon) and we need to concentrate on dierence in quoting class-1 demand. If unit s is shipped ahead of schedule in Om[i], then it is also shipped (in the same period) for schedules Om[i +1], Om[i +2], and O~ m [i +1]. Let f (m) denote the position of unit s, or in the case it is shipped, that of its earliest notshipped class-2 follower. Before position f (m), schedules Om [x] (for x = i, i + 1, and i +2) and O~ m [x] are identical. Consequently, all class-1 demand is quoted exactly the same lead times (in all four cases). Thus in case when all class-1 demand is scheduled before f (m), its contributions to C [i] and C [i + 2] ? C~ [i + 1] are identical. Assume, therefore, that at least one unit of class-1 demand is scheduled after f (m). Let m0 be the earliest period m n for which the longest lead times in Om[i] and Om [i + 1] are equal. (If such a period does not exist, m0 is the next period after all demand for all periods is shipped.) For m m0, let k(m) be the length of the block of class-2 demand starting in position f (m) in Om [i]. Schedules Om [i] and Om[i+1], therefore, dier only by: position f (m) is not occupied by class-2 demand in Om[i], while position f (m)+ k(m) is not occupied by class-2 demand in Om[i +1]. By de nition and construction of the modi ed policy f (m)+1 is unoccupied in Om [i +2], while f (m)+ k(m)+1 is unoccupied in O~ m[i +1]. Even though f (m) may change over 5 It is easy to verify that modi ed policy is well-de ned, i.e. it does not assign two units of class-2
demand to one period, and does not assign class-2 demand to a period with already assigned class-1 demand.
15
time, notice that from construction of the policies f (m) + k(m) is constant. Since f (m) is non-decreasing, k(m) is non-increasing. In the period m0 when the rst unit of class-1 demand is scheduled after f (m0), the contribution of class-1 demand to C [i] is (?k(m0) m1). In period m", if at all, when the slot f (m")+1 in Om"[i +2] is lled, then the contribution to C [i +2] ? C~ [i +1] is (?k(m") m1). Since the schedules become then identical, there are no more (nonzero) contributions to the dierences. Because class-1 demand is scheduled greedily, m" m0 and, therefore, contribution of class-1 demand to C [i] is not bigger than to C [i + 2] ? C~ [i+]. Combined with identical contribution of class-2 demand, this implies that C [i] C [i + 2] ? C~ [i + 1]. 2
3.1.2 From Pseudo-Optimal to Optimal Theorem 2 allows us to easily translate pseudo-optimal quotation into the optimal quotation: use pseudo-optimal schedule and, if it con icts with the previously scheduled demand, push it to the earliest feasible location (see Figure 4). a) b) c) Lead time
0
1
2
3
4
5
6
7
8
9
10
11
Figure 4: Row (a) shows the current schedule R, row (b) shows E(R) and pseudooptimal schedule PO, and row (c) shows R and optimal schedule O.
Theorem 2 (Optimal Quoting) Let A be optimal quote for E(R) and j be the longer of rst available lead time after R and shortest lead time for A: j = n ? min[minfkjR(k) > 0g? 1; maxfkjA(k) > 0g]. The optimal schedule for A is (R, A)[j]. Proof: Notice rst that if A is feasible then, from Theorem 1, the hypothesis holds. Assume, therefore, that minfkjR(k) > 0g maxfkjA(k) > 0g and consider schedule (R, A)[j] with j = n ? minfkjR(k) > 0g + 1.
16
Let (R; A)[j ] = R [ B. Assume that there exist C with cost lower than B. Consider the last unit (longest lead time) in B that is quoted a dierent lead time in B than in C. We will consider two cases.
(a) Let the last unit quoted dierent lead times in B and C be scheduled later in B. Consider the block B2 composed of that unit and all (if any) consecutively
scheduled units before that unit, and let i0 describe lead time corresponding to the last empty slot before B2. Let units in B before B2 be B1 and after B2 be B3. Let the corresponding quotations in A and C be A1, A2, A3 and C1, C2, C3 respectively. From de nition of B2, obviously B3 = C3. Since i0 is empty i0
i0 +1 A
R
B
R
B
R
C X1
X2
X3
Figure 5: Blocks X1, X2, and X3 for X = A; B; B~ ; and C. and before B2, from de nition of B, (1) there is also an empty slot in i0 for A, (2) A2 = B2, and (3) A3 = B3. Let B~ 2 be the block B2 shifted by one unit earlier (so quoted shorter lead times), i.e. a block starting at i0 rather than i0 + 1(see Figure 5). Both (B(R; 0) [ A1; B~ 2 [ A3)[i0] = B(R; 0) [ A1 [ B~ 2 [ A3 and (B(R; 0) [ A1; B~ 2 [ A3)[i0 + 1] = B(R; 0) [ A are feasible, and from de nition of A and Fact 2 applied to B(R; 0) [ A1, we have C (B~ 2 [ A3) > C (B2 [ A3): (10) From Lemma 3, however, inequality (10) holds also for R [ C1 (feasibility is easy to verify). Due to the facts that both B~ 2 and B2 are consecutive blocks of demand, and that B2 ends later than C2, we have that (R [ C1; C2 [ C3)[i0] = R [ C1 [ B~ 2 [ A3 and (R [ C1 ; C2 [ C3)[i0 + 1] = R [ C1 [ B2 [ A3. Since inequality (10) holds for R [ C1, from convexity of the cost function (Lemma 5), we have: 17
C (R [ C1 [ C2 [ C3) > C ((R [ C1; C2 [ C3 )[i0]) > C ((R [ C1; C2 [ C3 )[i0 +1]); which contradicts optimality of C.
(b) In the case when the dierently quoted unit is scheduled earlier in B as compared to C, the proof remains virtually unchanged. 2
3.2 Construction of the Pseudo-Optimal Policy Now we concentrate on how to nd the pseudo-optimal quotation. Consider the current class-2 demand, which could have a size greater than one unit. We dierentiate between (i) scheduling last unit of class-2 demand, and (ii) scheduling all previous (if any) class-2 demand. We use the following notation to describe pseudo-optimal locations:
Def 6 Let p denote the number of units that precede the considered unit (this includes
the units that arrived in previous periods and some of the units that arrived in the current period).
(a) Let K be a very large number. De ne M0(p) as (the shortest) lead time l that minimizes C (B(p; 0) [ B(1; l) [ B(1; K )). We are therefore planting a unit l periods from now, knowing that there is a unit way out K periods away.
(b) For f 0 denote by Mf +1(p) (the shortest) lead time l that minimizes C (B(p; 0) [ B(f + 1; l)). This accounts for the fact that a trailing block of size f + 1 may be formed when we reserve capacities and that reducing the lead time of the last unit implies moving all f + 1 units.
Remark. Since positions before B(f; K ) can be lled only by class-1 demand, C (B(p; 0) [ B(1; l) [ B(1; K )) ? C (B(p; 0) [ B(1; l + 1) [ B(1; K )) does not depend on K and thus de nition of M0(p) is correct. It is easy to justify that in both cases,
(i) and (ii), the minimizer is nite. The tentative lead time for any \not-last unit" of a class-2 demand is that l such that the probability that this unit scheduled with lead time l will not be shipped ahead of this time is close to m2=m1: 18
Lemma 6 M0(p) = minfljm2 ? m1PrfF (p; l) 0g, where F (p; l) = Tli=1fD1 + ::: + Di i + 1 ? pg. Proof: If C (l) is cost of lead time l, then C (l + 1) ? C (l) = m2 ? m1PrfAg, where
A consists of all events for which new class-1 demand will be scheduled in dierent locations for current lead time quotations of l versus l + 1. It is easy to verify that this happens if and only if a unit initially scheduled in position l is not shipped ahead of time, which is F (p; l) 6. 2 Our next result provides the backbone for the algorithm to create a pseudo-optimal schedule.
Lemma 7 (a) M0(p + 1) M0(p) + 1; (b) Mf +1(p + 1) Mf +1(p) + 1; and (c) If M0(p) Mf +1(p), then Mf +1(p) + 1 Mf (p + 1): Proof: It is easy to verify that F (p; l + 1) F (p; l) and F (p; l) F (p + 1; l + 1). (a) C ((A1; A2 [ A3)[l + 1]) ? C ((A1; A2 [ A3)[l]) = m2 ? m1PrfF (p; l)g. Since F (p; l) F (p + 1; l + 1), we obtain (a). (b) It is sucient to show that, for a block of class-2 demand of length f , C (p; i + 1) ? C (p; i) C (p + 1; i + 2) ? C (p + 1; i + 1); where C (p; i) stands for C ((A1; A2 [ A3)[i]). We will show this inequality for the case where suboptimal policy is used for the case corresponding to (p; i) with the cost of C~ (p; i) (this will imply the inequality above). From Theorem 2, the schedules corresponding to (p + 1; i + 1) and (p + 1; i + 2) dier in the initial block of class-2 demand. Starting from the rst slot not lled by class-2 demand in (p +1; i +1), the two schedules become identical. For case of (p; i), let the modi ed policy be de ned as follows: if the class-2 demand is scheduled in consecutive units in (p + 1; i + 1), it is also scheduled in consecutive units in (p; i). After the rst slot not lled by class-2 demand in (p + 1; i + 1), schedule all class2 demand in the same location as in (p; i + 1). This implies that the contribution of class-2 demand, ?km2, where k f , is the same in C (p; i + 1) ? C~ (p; i) and in C (p+1; i+2)?C (p+1; i+1). The contribution of class-1 demand to C (p; i+1)?C~ (p; i) 6 Since f 1 + ? g f 1 + + +1 ( + 1) ? g is not true in general, it is Pr D
:::Dl
l
p
Pr D
l
l
:::
Dl
l
p
critical that we include all possibilities of shipping ahead of time rather than approximating it by the state at the end of periods and + 1, respectively.
19
can be viewed as k0m1 = Pkl=1 PrfF (p; l)g (see (a)). Using F (p; l) F (p + 1; l + 1) again for all l, (b) holds. (c) Let C (l + 1)(p; f ) describe the dierence in cost when starting A2 with lead time l + 1 versus l (see Def 6 above). Let B(x; s) denote a block of x consecutive units starting with lead time s. C (l + 1)(p + 1; f ) = C (B(p; 1) [ B(1; p + 1) [ B(f; l + 2)) ? C (B(p; 1) [ B(1; p + 1) [ B(f; l + 1)) = C (B(p; 1) [ B(1; l) [ B(f; l + 2)) ? C (B(p; 1) [ B(1; l) [ B(f; l + 1)) C (B(p; 1) [ B(1; l + 1) [ B(f; l + 2)) ? C (B(p; 1) [ B(1; l) [ B(f; l + 1)) = C (l)(p; f + 1); where rst and last equalities follow from Def 6, the second equality follows from Theorem 1, and we have used the assumption M0(p + f ) Mf +1(p). The inequality C (l + 1)(p + 1; f ) C (l)(p; f + 1) implies Mf +1(p) + 1 Mf (p). 2 The values of Mk (p) describe pseudo-optimal policy completely.
3.2.1 A Graphical Interpretation We introduce levels zik and \critical" curves zk .
Def 7 For lead time of i and k 1, consider the largest pk such that Mk (pk ) i ? (k ? 1), and for k = 0, the largest p0 such that M0(p0 ) i. Let zik := Mk (pk ) ? pk . Fact 3 (a) Sequence zik is non-decreasing in i and non-decreasing in k 1. (b)
M0(p), is the rst point such that cumulative slack lies on or above the curve joining points f(i; zi0)ji 2 N0 g This is curve z0. Similarly, for k 1, Mk (p), is the rst point such that the cumulative slack for the last unit in the block of length k is on or above the curve joining points f(i; zik )ji 2 Ng. This is curve zk . Based on the properties above we are able to describe the pseudo-optimal lead time quotation for (F-DD). We continue to distinguish between two cases: (i) last unit of class-2 demand in this period, and (ii) class-2 demand that will be followed 20
by other class-2 demands. Assume that R units are already scheduled (all demand from previous periods and the class-1 demand of this period). De ne by b(l) 1 the length of the block of demand when the last unit is scheduled with lead time of l + 1. The last unit is also part of the block. (This implies that shortening the lead time to l is feasible and results in movement of b(l) units by 1 period.)
Theorem 3 The following algorithm results in pseudo-optimal policy: 1. Schedule the rst D ?1 units with lead times of M0 (R+k ?1), for k = 1; :::; D ?1 2. (a) Let block b = 1. (b) Verify whether scheduling this last unit according to curve zb will result in a block b(Mb (R + D ? 1)) b. If so, schedule the last unit at Mb (R + D ? 1) and exit. Else, b = b + 1.
Notice that this algorithm is easy to interpret in terms of curves z0; z1; z2; : : : zR+D. Based on Fact 3, Mi (p) corresponds to the period where cumulative slack reaches curve zi. (Block b is the block of demand consisting of consecutively scheduled units). Step 1 tentatively schedules the rst D ? 1 units by nding the earliest places with the cumulative slack curve reaching (or exceeding) the critical curve. These places do not con ict. Then, in Step 2 we look where to schedule the last unit. We rst assume no con ict with previously scheduled units (that is, b = 1). Consider curve z1. If the intersection of cumulative-slack line with z1 line is later than all units previously scheduled, this is the optimal location for the last unit, and we are done. If, however, there is a con ict, we consider curve z2 since the block is now at least of size 2. If the rst point where the cumulative slack curve reaches z2 results in a block of 2 units (as compared to scheduling at the next period), then the solution is feasible. Otherwise, we need to consider curve z3, and so on. Figure 6 shows an example. Sketch of proof of Theorem 3: The lead time for the last unit can be equivalently expressed as nding the minimum l such that Mb(l)(R + D ? b(l)) l ? (b(l) ? 1): Since, b(l) is decreasing in l, l ? b(l) is increasing. Based on Lemma 7(c), Mb(l)(R + D ? b(l)) is non-decreasing in l, and so such an l exists. This minimal l trades o moving a block of b(l + 1) units now with future costs of delaying the lead time. 21
z0 z2 z1
0
1
2
3
4
5
6
7
8
9
10
z0 z2 z1
0
1
2
3
4
5
6
7
8
9
10
Figure 6: Assume R=6 and D=2. The rst unit is tentatively scheduled according to M0(6) and so has lead time of 9. Leadtime for second (and last in this case) unit of demand is described by M1(7). This also happens to be lead time of 9. Therefore, we examine curve z2. For curve z2, the intersection is again with lead time 9. Making new lead time equal to 9, as opposed to 10, translates into block of 2 units of demand being in dierent location; thus, we do not need to consider higher curves. From Lemma 7(a), the rst D ? 1 units, located according to z0, are guaranteed to be scheduled in non-con icting locations. Even though the type of trade-os that enter calculating M0(p) and M1(p) are very similar (for M1(p) the same dierence as in M0(p) is multiplied by a random variable corresponding to the size of the clustered group of class-2 demand), we cannot guarantee that the last, Dth , unit (scheduled according to z1) will be scheduled later than the previous one, (D ? 1)st (scheduled according to z0). Therefore, we need to resolve the con icts with previously scheduled demand R and among last units of new demand. The two basic steps of the proof are (a) independence of scheduling block b of demand with respect to all previously and currently scheduled demand, (b) convexity of the cost function with respect to moving block b of demand, and (c) convexity of cost function with respect to location of the last unit. Proof of part (a) resembles proof of Theorem 1; the proof of part (b) resembles proof of Lemma 5; part (c) 22
combines the ideas from above two parts.
2
4 Numerical Results 4.1 Approximations
Our approximations are based on reducing the eort required for the optimal policy by (1) approximating a given curve and (2) limiting the number of curves we use. Approximating a given curve. Based on Lemma 6, given number units p previously reserved, the optimal location is the smallest l for which PrfF (p; l) m2=m1g. De ne a sequence (yi)1 i=0 as follows: y0 = p ? 1 and yi+1 := yi +(Di+1 ? 1), where Di is class-1 demand in period i. Then F (p; l) = Tli=1fyi 0g. This is a classical \ruin problem" (see Feller [13]). There is no closed form expression expression for the case of general demand function (since it requires nding all roots of characteristic function). For large p, due to law of large numbers, we can well approximate our discrete random walk (i; yi). The rst passage time (equivalent of \ruin") has a stable distribution with coecient 1=2 (and is therefore, strictly stable), which means that, after centering, the \ rst passage time" is distributed as ppX, where X is a distribution independent of p. For any p, using standard arguments, we see the safety capacity increases as square root of p. Since the drift is negative (E (D) ? 1 < 0), the expected time to reach barrier y = 0 is p=(1 ? E (D)) (from Wald's Theorem). Thus, the critical fractile of X is that point where PrfF (p; l)g reaches m2=m1, i.e. l = p=(1 ? E (d)) + app. The tradeos for \higher-order" curves that consider a block of size i are more complicated. Numerical results suggest that li = p=(1 ? E (d)) + ai pp well approximates the best lead times as for blocks as well. This is not surprising since the tradeo can be described using weighted sum of probabilities of \not-using" the reserved capacities for the block being considered. Consequently, the shape of the critical curves, zl, can be approximated by
l ? p = pE (D)=(1 ? E (d)) + apqp = E (D)l + a(1 ? E (d))pp = E (D)l + a(1 ? E (D))2( (a)2 + 4l=(1 ? E (D)) ? a)=2 p E (D)l + b l; 23
where a and b are some (positive) constants. Limiting the number of curves. Our optimal solution requires a number of curves that identify the optimal actions: a curve that shows optimal place of \non-last" units (curve z0), and curves that show the optimal location of the last block of demand (zi), assuming that the block is composed of i units. We expected that higherorder curves will be used less frequently and conjecture that even z2 would be used infrequently; since the optimal z0 and z1 should seldom imply long quoted lead times that would later require undoing. Numerical experiments con rm that z2 was used in less than 2% of periods, and z3 and other higher order curves were nearly never used. Consequently, we consider only curves z0, z1, and z2 and treat any curves zi with i 3 as being the same as z2. This approximation is (Z3). We also test (Z2) that uses only two curves z0 and z1 (using z1 for all last-unit decisions independently of the last block's length) and (Z ) that uses only z0 (i.e., the same curve is used for both internal and \last" unit of demand).
4.2 Heuristics We also test three heuristics. Each of these heuristics assign rst the high-priority orders to the earliest available slots. They dier in the way the low-priority demand is quoted lead times:
(a) Greedy (G) heuristic assigns the rst available place to the incoming orders, independently of their priority. (This is simply a strawman.)
(b) Constant Lead Time (CLT) heuristic assigns, if possible, the same (constant)
lead time to the lower-class orders. If CLT heuristic indicates a slot that would violate F-DD rule, the earliest available slot is used: for example, if the constant lead time is 5 and two low-priority units are ordered, the rst one is quoted lead time of 5 and the second one has a lead time of 6. (This is common in commercial software.)
(c) Constant Slack (CS) heuristic always leaves a speci c number of empty slots before scheduling any low-priority demand. (Consequently, all low-priority demand arriving in the current period is scheduled in one block.) 24
For both CLT and CS we nd the parameter (lead time or slack) that minimizes the total system costs. In (Z), (Z2), and (Z3), we enforce zi[0] = 0, i.e., when there are no units in the system, it is optimal to quote lead time of 0 to the rst unit of low-priority demand. This is a natural consequence of the fact that the rst unit of low-priority demand will anyhow be shipped in the considered period. We embed the same logic (quoted lead time is 0 if the system is empty) in our (CLT) and (CS) heuristics by creating smart counterparts (CLT-S) and (CS-S). The whole testbed, therefore, includes (G), (CLT), (CLT-S), (CS), (CS-S), (Z), (Z2), and (Z3). We take (Z3) as optimal in the comparisons.
4.3 Numerical Results Experimental setup. We consider expected demands per period for both low and high priority to be: 0.05, 0.1, 0.2, 0.3, 0.4, 0.5. 0.6, 0.7, 0.8, and 0.9 and looked at all combinations with the sum strictly smaller than 1 (since utilization has to be below 100%). Relative priority of class-1 demand is expressed by m1=m2. We considered m1=m2 = 10/1, 5/1, 3/1, and 2/1. Since all curves asymptotically converge to p y(x) = m1x=(1 ? m1) + a x, we searched for the rst n = 30 parameters and approximated all the remaining ones by searching for the best parameter a. We also tested (see below) sensitivity of the heuristic to N . Results. Approximations (Z) and (Z2) perform extremely well across the board. In no case, the average of (Z2) is more than 0.05% above (Z3) and average of (Z) is not more than 0.11% above (Z3). Greedy heuristic performs rather poorly. Even for m1=m2 = 2=1 it is 40% above (Z3). For higher ratios of m1=m2 performance of all (non curve-based) heuristics is worse { see Table 1. CS-S is best among all non-curve based heuristics with an average of 9.22% ineciency. Utilization in uences the performance of (Z2) and (Z) only marginally, but the performance of all non-curve based heuristics deteriorate with increase in utilization. Figure 7 shows the spread of performance for CS-S as a function of total utilization. Dierent points correspond to dierent combination in averages of high- and lowpriority demands. Usually, well-balanced cases (nearly equal portions of each of the classes) and the ones with high ED2 show the largest ineciency.
25
Ratio of m1=m2 Heuristic 2 / 1 3/1 5 / 1 10 / 1 average Z3 0.00% 0.00% 0.00% 0.00% 0.00% Z2 0.02% 0.03% 0.04% 0.05% 0.03% Z 0.05% 0.08% 0.11% 0.11% 0.08% CS 6.12% 9.24% 12.38% 12.68% 10.10% CS-S 5.67% 8.63% 11.19% 11.41% 9.22% CLT 7.24% 14.37% 22.27% 26.37% 17.56% CLT-S 7.24% 14.20% 21.60% 25.51% 17.14% GR 40.22% 52.15% 70.12% 99.90% 65.60% Table 1: Average performance of all methods for dierent ratios of m1=m2.
25.00%
20.00% ED1=0.05 ED1=0.2 ED1=0.3 ED1=0.4 ED1=0.5 ED1=0.6 ED1=0.7 ED1=0.8 ED1=0.9
15.00%
10.00%
5.00%
0.00% 0
0.2
0.4
0.6
0.8
1 ED1 + ED2
Figure 7: Suboptimality of Constant Slack Smart as a function of system utilization.
26
90% 80% 70% 60%
GR CLT-S CS-S Z Z2 Z3
50% 40% 30% 20% 10% 0% 70
50
40
30
20
15
10
8
7
6
5
4
3
2
1
0
Parameters estimated
Figure 8: Suboptimality of selected heuristics as a function of number of parameters estimated in Z, Z2, and Z3. Although the number of parameters estimated directly (N = 30) cover a large portion of the experiments, we tested the sensitivity of Heuristics (Z), (Z2) and (Z3) to number of estimated parameters. Figure 8 shows that the ineciency caused by approximating all parameters by a critical curve is very small compared to the gap between our approximation and the best non-curve based heuristic. Non-stationary arrivals. We also considered cases when demand arrivals are not independent by period, but demand arrives in bursts that can be described by an inter-arrival distribution (I ) and demand quantity distribution (q): an example, if inter-arrival distribution was PI f4g = 1 and demand distribution Pq f3g = 1, we would see 3 units of demand every 4 periods. We assumed that both inter-arrival distribution and demand distribution are geometric. Increase in the inter-arrival time causes a very quick increase of costs for all heuristics. This is a very predictable behavior since we apply stationary heuristic policies to case with increasingly non-stationary behavior. We tested a range of inter-arrival values for both class-1 and class-2 demands. In each case, we kept the long-term average demand constant. The behavior of all policies exhibited the same trends whether we changed inter-arrival of class-1 or class-2 demand. As expected Z3 27
inter-arr. Z3 CLT-S % dierence 1.05 10.379 13.919 34.11% 1.1 10.48 13.865 32.30% 1.2 10.949 14.498 32.41% 1.4 12.448 16.599 33.35% 1.6 13.127 17.175 30.84% 2 14.602 18.372 25.82% 2.5 16.888 20.983 24.25% 3 20.705 25.556 23.43% 4 22.271 26.742 20.08% 6 34.386 41.25 19.96% 11 62.618 73.989 18.16% Table 2: Performance of CLT-S as inter-arrivals of class-1 demand change. performed best, but dierences with Z2 and Z were small. On average Z2 was 0.01% worse than Z3, while Z was 0.2% worse. Table 2 represents a typical scenario, where absolute savings of using Z3 increase, but percentage savings decrease. In all cases the percentage values do not decrease to 0 (with increasing inter-arrival times), but stabilize at some strictly positive level (see Figure 9) indicating that our curve-based approximations are strictly superior in the entire range.
5 Extensions and Conclusion We brie y comment on the extensions and variants of our basic model. Non-unit Capacity per period. With capacity C 2, we also track the use of given-period's used capacity. Due to the periodic nature of our model, Theorem 1 holds in unchanged form { the cost dierence between scheduling with lead time n vs. n + 1 is independent of the location of previous demand including the demand already scheduled in period n. Consequently, availability of any space in the period pointed by pseudo-optimal schedule is sucient to allow it to cite the corresponding lead time. Inventory Allowed. When storing inventory of nished products is allowed, our model's interpretation changes and we are limited to a single product, multi-class 28
90%
CSsmart CLTsmart GR
80% 70%
Inefficiency
60% 50% 40% 30% 20% 10% 0% 0
1
2
3
4
5
Inter-arrival time
Figure 9: With increased inter-arrival times, all methods perform worse. The ineciency of non-curve based heuristics (as a function of best result) seems to stabilize. system. The structural properties are very similar with \slack time" replaced by \inventory plus the slack time"; a separate paper studies this case in detail. Threshold of lead times below which there is no penalty. Assume that the customers of class i accept any lead time up-to li without penalty and consequently, the cost of longer lead times is incurred only if quoted lead times exceed the threshold of tolerance. If l1 l2, then our results fully apply. This can be further generalized to penalty functions for each class, m1() and m2() being convex non-decreasing and satisfying m01() m02(), where 0 denotes derivative. More than 2 Customer Classes. Introducing more customer classes leads to partial results for (F-DD) case. Each class of customers has its own class of critical curves and for classes other than the lowest and the highest, the structure of the optimal policy is more complicated. We follow this up in a future paper. Can Reject Incoming Orders. It may be desirable to reject some of the orders when the quoted lead time is too large. Our results, however, do not extend to this case. The state vector needs to include the rst available place, the last used place, and the total number of units scheduled so far and, unfortunately, this state space does not easily decouple into decisions for higher and lower classes. 29
Discounted Cost. If the objective function is to minimize discounted cost with
coecient 0 < < 1
JN (RN ; DN ; TN ) = min Q [L(Q) + EDN?1 fJN ?1 (RN ?1; DN ?1 ; TN ?1g] then all of the properties continue to hold, but appropriate i's need to be included in all proofs. Speci cally, Theorem 1 and Theorem 2 hold unchanged, Lemma 5 needs to be appropriately modi ed, the modi cation, however, is fairly intuitive { the costs of delayed quoting remain the same, but the bene ts are getting more and more discounted, the longer lead times we consider. Consequently, the joint induction of Lemma 5 and Theorem 3 continues to hold. Since the bene t of delaying class-2 quotes decreases, for cases when is suciently small (e.g. m2=m1 is a sucient condition) the optimal policy becomes priority-greedy (quote rst all class-1 demand in a greedy manner and then all class-2 demand also in a greedy manner). In nite Horizon Discounted Cost. We deal here countably in nte number of states where the cost per stage is not uniformly bounded. Using greedy policy it is easy to establish that the total cost function has nite value (for any 0 < < 1). This allows us to limit ourselves to a nite subset of candidate actions for any starting state. Consequently, the minimum is achieved and based on Proposition 11, page 216 [4], the optimal policy exists. In nite Horizon Average Cost. This is less straight-forward; fortunately, the results of [17] (where a compact action space is necessary) can be extended in our case using additional bounds particular to our model, by displaying a greedy heuristic where only a nite number of actions are taken in each state that dominate the set of actions that will be used at optimality. (F-S) Model. In (F-S) \the next due date (for a given class) has to be later than the last quoted due date for the given and higher class" is not a constraint. Consequently, in a case when the high-class arrivals are signi cantly smaller than expected, it may be bene cial not only to ship some of the low-class demand earlier, but also to quote shorter lead times. Thus, it may be optimal to reassign the due dates to earlier positions and to quote new due dates subject to fairness constraint for the reassigned due dates (thus violating Lemma 2b). A parallel paper contains the very technical proof that our results of (F-DD) hold with an additional feature of having curves 30
that depend on the total size of the trailing block formed that may include previously scheduled orders. Based on superb performance of just one curve (instead of the whole family) for (F-DD) model, we conjecture that here also these curves can be approximated by a single one with negligible (compared to other methods) loss of performance. (E) Model. Because of the lack of any constraints, any potentially good place can be directly used for quoting lead time. The behavior of the (E) model is very similar to the behavior of (F-DD). The main dierence is in the feasibility region: for the (F-DD) model, we were unable to quote a due date earlier than some other lead time for the same class, while for the (E) model we do not have this constraint. Lead time quotation for (E) case can thus be described with just one critical curve. Any point where the cumulative slack intersects the critical curve is a local minimum. As opposed to the (F-DD) case, the cost function is not necessarily convex over the whole feasibility region (even though it is locally convex) and so we cannot guarantee that there is only one intersection point. If, however, the slack curve intersects the critical curve in only one place, the corresponding period is optimal. In closing, we have studied a basic model with two classes of customers and have found the structure of the optimal policy for capacity reservation. This has a simple graphical interpretation. We have proposed easily implementable approximations to the optimal policy and found them to be very eective, and superior to existing heuristics.
References
[1] Baker, K., \Sequencing Rules and Due-Date Assignment in a Job Shop", Management Sci., Vol. 30, No. 9, 1984, pp. 1093-1104. [2] Baker, K. and G. Scudder, \On the Assignment of Optimal Due Dates", J. Oper. Res. Soc., Vol. 40, No. 1, 1989, pp. 93-95. [3] Bertrand, J., \The Eect of Workload Dependent Due-Dates on Job Shop Performance", Management Sci., Vol. 29, No. 7, 1983, pp. 799-816. [4] Bertsekas, D. P.,\Dynamic Programming and Stochastic Models", PrenticeHall, Englewood Clis, 1988. [5] Bookbinder, J. H. and A. I. Noor, \Setting Job-Shop Due Dates with Service Level Constraints", J. Oper. Res. Soc., Vol. 36, No. 11, 1985, pp. 10171026. 31
[6] Chand, S. and D. Chhajed, \A Single Machine Model for Determination of Optimal Due Dates and Sequence", Oper. Res., Vol. 40, No. 3, 1992, pp. 596-603. [7] Cheng, T. C. E. and M. C. Gupta, \Survey of Scheduling Research Involving Due Date Determination Decision", European J. Operational Res., Vol. 38, No. 2, 1989, pp. 156-166. [8] De, P., J. B. Ghosh, and C. E. Wells, \Optimal Due-Date Assignment and Sequencing", European J. Operational Res., Vol. 57, 1992, pp. 323-331. [9] Duenyas, I., \Single Facility Due Date Setting with Multiple Customer Classes", Management Sci., Vol. 41, No. 4, 1995, pp. 608-619. [10] Duenyas, I. and W. J. Hopp, \Quoting Customer Lead Times", Management Sci., Vol. 41, No. 1, 1995, pp. 43-57. [11] Eilon, S. and I. G. Chowdhury, \Due Dates in Job Shop Scheduling", Internat. J. Prod. Res., Vol. 14, No. 2, 1976, pp. 223-237. [12] Elvers, D. A., \Job Shop Dispatching Rules Using Various Delivery Data Setting Criteria", Prod. & Inv. Mgmt., No. 4, 1973, pp. 62-70. [13] Feller, W., \An Introduction to Probability Theory and Its Applications", John Wiley & Sons, 1968. [14] Kapuscinski, R. and S. Tayur, \100% Reliable Lead Times - General Case", GSIA Working Paper, 1997. [15] Keskinocak, P. and S. Tayur, \Optimal On-line Reliable Lead time quotation", GSIA Working Paper, 1997. [16] Li, L., \The Role of Inventory in Delivery-Time Competition", Management Sci., Vol. 38, No. 2, 1992, pp. 182-197. [17] Schal, M., \Average Optimality in Dynamic Programming with General State Space", Math. Oper. Res., Vol. 18, No. 1, 1993, pp. 163-172. [18] Weeks, J. K., \A Simulation Study of Predictable Due Dates", Management Sci., Vol. 25, No. 4, 1979, pp. 363-373. [19] Weeks, J. K. and J. S. Fryer, \A Methodology for Assigning Minimum Cost Due Dates", Management Sci., Vol. 23, No. 8, 1977, pp. 872-881. [20] Wein, L. M., \Due-Date Setting and Priority Sequencing in a Multi-class M/G/1", Management Sci., Vol. 37, No. 7, 1991, pp. 834-850. [21] Wein, L. M. and P. Cavalier, \A Broader View on the Job-Shop Scheduling Problem", Management Sci., Vol. 38, No. 7, 1992, pp. 1018-1033.
32