- ' O ^* Of && / ALFRED P. WORKING PAPER SLOAN SCHOOL OF MANAGEMENT DYNAMIC SCHEDULING OF A MULTICLASS MAKE-TO-STOCK QUEUE Lawrence M. Wein Sloan School of Managment, MIT Working Paper No. 31 13-90-MSA MASSACHUSETTS INSTITUTE OF TECHNOLOGY 50 MEMORIAL DRIVE CAMBRIDGE, MASSACHUSETTS 02139 DYNAMIC SCHEDULING OF A MULTICLASS MAKE-TO-STOCK QUEUE Lawrence M. Wein Sloan School of Managment, MTT Working Paper No. 31 13-90-MSA Wi.l.T. MAR UBRAh,. 1 5 1990 DYNAMIC SCHEDULING OF A MULTICLASS MAKE-TO-STOCK QUEUE Lawrence M. Wein Sloan School of Management, M.I.T. Abstract Motivated by make-to-stock production systems, we consider a scheduling problem for a single-server queue that can process a variety of different job are processed, they enter a finished goods inventory that services customer scheduling problem is After jobs classes. demand. The to release jobs to the queue and decide which job class, if any, to serve next in order to minimize the long run expected average cost incurred per unit of time, which includes linear costs (which may differ by class) for backordering finished goods inventory, holding finished goods inventory, and holding heavy traffic control problem involving solution is Under the inventory. condition that the server must be busy the great majority of the time in order to satisfy customer demand, the scheduling problem its WIP is approximated by a dynamic Brownian motion. The Brownian control problem is solved, and interpreted in terms of the queueing system in order to obtain an effective scheduling policy. The proposed scheduling policy releases jobs to the queue only when they are about to begin processing, and keeps the server busy as long as the weighted sum of the finished goods inventory (where the inventory of each class expected processing time) is not too large. When the server is is weighted by working, priority is its given to backlogged classes that are expensive to backlog and have short expected processing times, and when there are no backlogged jobs, priority is given to jobs that are inexpensive to hold in finished goods inventory and have long expected processing times. January 1990 DYNAMIC SCHEDULING OF A MULTICLASS MAKE-TO-STOCK QUEUE Lawrence M. Wein Sloan School of Management, M.I.T. Production facilities are often categorized as make- to-order systems or make-to-stock systems. In make-to-order systems, the facility produces according to customer requests, and no finished goods inventory is kept. In make-to-stock systems, the facility produces according to a forecast of customer demand, and completed jobs enter a finished goods ventory, which in turn services actual customer in- demand. Due to increased global manufac- turing competition, the customer response time (the length of time between the placement of a customer's order reduced, and is and the delivery of the order) required to stay in business is being sometimes smaller than a firm's manufacturing cycle time (the length of time between a job's start of production and its completion). In such cases, the facility is forced to operate (at least partially) as a make-to-stock production system. The goal of this paper is machine, make-to-stock production facility is pictured in Figure 1, facility in where material inventory of product k, for k raw product k job onto the shop work-in-process There is ( WIP) problem faced by a single a dynamic stochastic environment. This to investigate the scheduling it is = floor, at assumed that there l,...,iv. The when to release a which time the job becomes a unit of product k inventory. These decisions will be referred to as release decisions. product k finished goods inventory. The machine may work on is modeled WIP inventory into units of as a multiclass queue, in that only one unit at a time, and each product has processing time distribution. Demand for each product its own general can be any arbitrary point process that satisfies a functional central limit theorem (for example, a If an ample amount of raw scheduler decides a single machine that transforms units of product k the machine is compound Poisson process). the machine produces A' products, the dynamic sequencing decisions consist of choosing A among K+ 1 options at each point in time: either work on a type k product, k or allow the machine to seen later, our method sit idle. Preemptive resume scheduling of analysis is is 1, ..., K, allowed, but as will be crude enough that our resulting scheduling policy independent of the particular assumptions made with regard to preemption. no set-up times incurred when switching production from one type There are linear costs incurred per unit of time holding finished goods inventory, and holding by product. The scheduling problem = is goods inventory, and these inventory, to find a release policy There are of product to another. for backordering finished WIP is costs may differ and a sequencing policy minimize the long run expected average backorder and holding (both WIP and to finished goods) cost incurred per unit of time. Product A A 1 Machine Product K A— Raw Product -•ii- -.11- Figure Demand Inventory 1. The Production In order to analyze this scheduling problem, Facility. we have employed a Brownian model developed by Harrison (1988) that approximates, under so-called heavy for traffic conditions, a multiclass queueing network by a dynamic control problem involving Brownian motion. The heavy must be busy the great majority of the time satisfy Product K Goods Inventory; hUSintifrl? Inventory a dynamic scheduling problem Demand Finished W)p traffic (for conditions assume that the server example, 90% of the time) in order to customer demand over the long run. By solving a reformulation of the Brownian control problem and interpreting the solution in terms of the original queueing system, a 2 1 variety of seemingly intractable scheduling problems have been analyzed; see, for ple, exam- Harrison and Wein (1989), Wein (1989a,1989b), and Laws and Louth (1988). In this paper, we model to accommodate a finished goods inventory that alter Harrison's services customer demand, and approximate a multiclass make-to-order queueing system scheduling problem by a dynamic control problem involving Brownian motion. solution to the workload formulation of the control problem is is A closed form obtained, and this solution interpreted in terms of the original production/inventory system in order to obtain an effective scheduling policy. Not proposed release policy releases a raw unit of product k to the surprisingly, the shop only when the scheduler decides to process a type k unit, and thus no is held. Although the release decisions appear to be superfluous reason they are included is in our WIP inventory model, the main to maintain consistency with Harrison's original model, which considers a general queueing network with controllable inputs and dynamic scheduling capability. By appending demand the customer process and finished goods inventory to Harrison's model, one can formulate a control problem (job release and priority sequencing) for a very general make-to-stock queueing network. policy dynamically tracks the weighted inventory process, The proposed sequencing the weighted (by the mean processing times) sum of the finished goods inventory which is levels (which can be positive or negative) of each product. Whenever the weighted inven- tory process idle. When is below a certain the machine is busy, reminiscent of the so-called c\i conventional multiclass queue. queue and Ckfik- //* is critical value, it then the machine stays busy; otherwise, employs a dynamic sequencing policy that is it is somewhat rule that minimizes the weighted average cycle time in In the c/x rule, c k is a the holding cost for class k jobs in the service rate, and the rule gives priority to larger values of the index In our setting, let the backorder cost for type k products be 6*, the finished goods inventory holding cost be denoted by h k and the service rate be , /x*- Among the job classes that are currently backordered, our sequencing policy awards priority to the class with the 3 largest value of the index 6*^*- If no job classes are backlogged, then priority the class with the smallest value of the index h^Hk- A simulation experiment with two numerical examples, and the proposed policy is is given to is performed compared to the conventional scheduling policy of releasing jobs as above, keeping the machine busy whenever the total (unweighted) inventory process is below a critical value, and dynamically awarding The proposed to the class with the smallest finished goods inventory level. priority policy reduces the total cost by 14.9% and 23.2% relative to the conventional policy in the two numerical examples. An son's important implication of the balanced heavy loading conditions assumed in Harri- Brownian network model is heavy that, in the represented by the Brow- traffic limit nian model, any stations in the original queueing network that are not heavily loaded will simply vanish. This has been proven for all non-bottleneck stations the most some single-type queueing works (see Johnson 1983 and Chen and Mandelbaum 1989), and eliminating among justifies the when performing the Brownian net- procedure of analysis. Therefore, our scheduling policy applies to any make-to-stock production system with one bottleneck workstation that does not allow jobs to The remainder in Section 1, the of this paper is organized as follows. queueing system scheduling problem corresponding Brownian control problem in terms of workloads 5 through is 9. The in Section 4, solution is more than once. visit this station is The is given in Section relevant literature defined in Section The problem 3. and the workload formulation interpreted in Section 10, performed in Section 11 to demonstrate is is is reviewed 2, and the reformulated solved in Sections and a simulation experiment its effectiveness. Section 12 contains some concluding remarks. This section concludes with the probabilistic formalisms that paper. When we say that referred to Karatxas (J), F, is (ft, F) is be adopted in this a A'— dimensional (/i,E) Brownian motion (readers are and Shreve 1988 F t X, Pz ), where , X will for a definition), a measurable space, 4 X = it is assumed there X(lj) is is a given a measurable mapping C(R K into which 0, is the filtration generated by ), is > that the process {X(t),t and Y= initial state {Y(t),t process Y 0} Let . Ex one process Y , Ft = a(X(s),s < drift be the expectation operator associated with is F t -measurable for all > t filtration with respect to which X is t) such covariance matrix E, fi, 0, Pz If . then we say that the X More . generally, non-anticipating with respect to another process is Q a family of probability measures on a Brownian motion with a process that is adapted to the coarsest 1. is is non-anticipating with respect to the Brownian motion is will say that is > Pz X, and 0} Pz x under RK the space of continuous functions on of X we when Y adapted. Relevant Literature The problem posed in this paper is to dynamically schedule a multiclass make-to-stock queue, which represents a multi-product, single machine, production /inventory system. Notice that the conventional multiclass queue (where jobs arrive randomly and then exit the system after service completed) corresponds to a multi-product, single machine, make- is to-order facility. Although the problem of minimizing the number of jobs in a conventional multiclass queue has been thoroughly examined (see, for example, Klimov 1974), there are no studies that explicitly analyze the multiclass make-to-stock queue. However, there have been several studies analyzing single-machine production/inventory systems with random demand. Gavish and Graves (1977) and Graves and Keilson (1981) consider the product case with deterministic processing times and set-up costs. problem is to decide when to start and stop the machine. single- Here the scheduling Graves (1980) attempts to generalize these results to the multi-product case by considering a periodic review policy and introducing the notion of a composite product. Bemelmans and Wijngaard (1982) also aggregate the products in a single-machine, multi-product problem, although their production model is different than a standard queueing model, in that the machine is allowed to work on several products simultaneously. The paper that is most closely related to ours 5 is probably Zheng and Zipkin (1990), who analyze a production/inventory system that produces two distinct products. production system the customer is The modelled as a single server queue with exponential processing times, demand for each product is a Poisson process, and an (S — 1,5) policy is used to trigger orders for each product to the production system. They analyze this system under two different sequencing policies: FCFS, and serve the product that has the lower inventory level. Their queueing theoretic analysis reveals that the latter policy outperforms FCFS. There els is also a substantial literature on dynamic lot-sizing problems, but these mod- (except for the presence of set-up times) are more restrictive than a standard queueing model. Readers are referred to the survey paper of Graves (1981) for more on these problems. and He reviews scheduling problems for both make-to-order and make-to-stock systems, refers to these systems as open shops and closed shops, respectively. Our consideration fact, the analysis of queueing and design and inventory aspects of such systems have in a single model been the subject of is much not new. In recent work; example, Williams (1984), Bertrand (1985), Zipkin (1986), Karmarkar (1987), see, for Cohen and Lee (1988), Altiok (1989), and Mitra and Mitrani (1988). In particular, the paper by Zipkin (1986) that partially stimulated this analysis. Finally, the heavy it was traffic theory for queueing systems underlying this Brownian model offers a partial justification for the direct modeling of an inventory storage system by a diffusion process, both in past example, Bather 1966, Puterman 1975, and Browne and Zipkin 1989) and future (see, for research efforts. The Scheduling Problem 2. Consider a single server that can serve entities different classes of jobs. We refer to the populating the queueing system as jobs rather than customers, so as not to confuse them with the actual customer demand. server K is In terms of the production/inventory system, the the machine, each job class corresponds to a type of product, and each job is a Class k jobs have a general service time distribution with unit of a particular product. finite mean m* and = variance s\, for k for class k are equivalently characterized up of class k service completions jobs in the interval [0,i]. 1,...,K. The service times (or processing times) by the renewal process S* (r), which to time is number the the server were continuously serving class k i if Adopting conventional terminology, we = m^ will refer to //* 1 as the service rate of class k jobs. For each class k the number = 1,...,A", there is of class k units an independent demand process demanded up to time For now we t. will which is assume that Dk(t) is -Djt(r), a renewal process, and that interarrival times of this demand process have mean A^ variance a?. that is As required will be seen in the next section, this assumption can be relaxed, and in the scheduling of class k jobs released to the machine's problem, and these decisions take Let the reiease process Nk(t) be the number the form of cumulative control processes. queue in [0,r]. Let the allocation process be the cumulative amount of time that the server devotes to serving vectors TV respectively. t, and let = (7V fc ) T = and Tjt(i) class k jobs in [0,r]. (7*) represent the release and sequencing policies, Let Qk(t) be the number of class k jobs in the queue or in service at time Zk(t) be the goods inventory. The number vectors of units (possibly negative) of class k jobs in the finished Q = (Qk) and process and inventory process, respectively. follows that for k Furthermore, all that £>* satisfy a functional central limit theorem (FCLT). is There are two types of decisions Then the and if = we of time the server 1, ..., K and t > If Z = (Z*) will be called the queue length we assume that Q(0) = Z(0) = 0, then it 0, Qk(t)=Nk (t)-Sk(Tk (t)), and (2.1) Zk(t)=Sk(Tk (t))-Dk(t). (2.2) define the cumulative idleness process I(t) to be the cumulative is idle in [0, t], amount then K I(t)=t~Y Tk (t), t 7 forr>0. (2.3) As in Harrison (1988), a scheduling policy (N,T) must satisfy T continuous with T(0) is (2.4) 0, N and T are nondecreasing N and T are nonanticipating with respect to Q, J and JV(0) nondecreasing with 1(0) is Q(t) where constraint = > for all t > = 0, = (25) 0, (26) and (2.7) (2.8) 0, (2.6) implies that the scheduler cannot observe future demands or service times. Now define the cost function c k for k = 1,...,A', <*(*)=(?'*' v where b^ represents the be zero, we amount will * X "° if x > ; (2.9) v ; 0, backorder cost for class k jobs, and inventory holding cost for class k jobs. in order to guarantee \ h k x, ' by It will be assumed that 6* /i* > an interesting problem. Since the optimal omit different WIP is hk WIP the finished goods > k = 1, ..., K, inventory levels will holding costs for each job class, in order to limit the of notation used. Thus, the scheduling problem is to choose a policy K T K minlimsupi£:[/ f] Q k {i) + f] c k (Z k (t))dt] J T-oo 0, for Jo k=1 (N,T) to (2.10) k=1 subject to constraints (2.1)-(2.8). 3. The Limiting Control Problem In this section, a will be developed. Brownian approximation to the control problem We (2.1)-(2.8), (2.10) follow the approach taken in Sections 3 through 5 of Harrison (1988), which approximates a system that in most respects is more complex than the one considered here. Only the basics of the approximation are provided, and readers are 8 referred to Harrison (1988) for a step in the approximation is more detailed presentation The The justification. to define a collection of centered processes. Let p k be the proportion of time that must be devoted to serving the average demand. and traffic intensity of = first ^ k /p- k class k jobs in order to satisfy the system, defined by p = average server utilization required to satisfy average demand. Define a k Yik=\ P*> = 1S t ^ie pk/p to to be the proportion of the server's busy time that would be devoted to serving class k jobs the server met average demand = For k exactly. 1,...,K and t > 0, define if the centered processes Yk (t) = Notice that Y = a k t-Tk (t), Nk (t), 9 k (t) = n k (t) = S k (t)-p k t. (Yk ) and 8 = \kt - (3.1) and (3.2) (3.3) and are centered around (6 k ) are control processes the nominal allocation rates and nominal input rates, respectively. IK— dimensional process £ by - Ck(t) = (A* ( K +k(t) = (»kc*k Then it Finally, define the fi k a k )t - Vk(Tk (t)), -\k)t + Vk(Tk (t)) - for k = 1, A', ..., D k (t) + \ k and for k t, = t > 1, 0, ..., and K, and (3.4) t > 0.(3.5) follows from (2.1)-(2.3), respectively, that Qk(t) = Zk (t) = (k(t) + fi k Yk (t) - 6 k (t), CK+k(t)-fikYk (t), for k forfc = 1, ..., = l,...,A-, K, and and t > t 0, > 0, (3.6) and (3.7) K I(t) As Tk (t) = J2 Yk( t ), fort>0. (3.8) in Harrison (1988), the key to the approximation in (3.4)-(3.5) by its is to replace the allocation process nominal allocation rate a k t. Readers are referred to Section 5 of Harrison (1988) for an informal defense of this substitution. This replacement causes the 9 2A— dimensional process £* in (3.4)-(3.5) to be replaced by \k, where, for Xk(t) CK+k(t) We Z The heavy by x = 1,...,A', rik(<*kt)-D k (t) + \ k t, in the definitions of the the Brownian approximation traffic conditions, .9. + (nkC*k-Xk)t k for > 0, and for fc = (3.9) l, ...,#. queue length process Q (3.10) and inventory in (3.6)-(3.7). final step in equals (1 = = will also replace £ process p - (A* - Hk<*k)t - Vk( a kt), t — p)~ 2 . A to rescale the basic processes under is which assume the existence of a large integer n that approximately representative example Using the system parameter n, we is to choose = n 100 if the traffic intensity define the scaled processes (the same symbols are used on both sides of equations (3.11)-(3.13) in order to reduce the notational burden) Q k (t) = Z k (t)= 3*(g*) for Jt = l,...,A', and t > 0, (3.11) for k= 1,...,A', and t > 0, (3.12) for k= 1,...,A, and r > 0, (3.13) = 1,...,A, and t > 0, y/n Z , Yk (t) = ¥±^l, V" gfc(<) = ^(nt) V for , Jfc and (3.14) y/n /(<) = -i^2, and the Brownian approximation The processes Q, Z, K, #, for is Jfc = l,...,A, and essentially obtained < by > (3.15) 0, letting the and J now represent limiting scaled processes, and referred to simply as the queue length, inventory, allocation, release, The parameter n and — will still oo. be idleness processes. process \ in (3.9)-(3.10) also needs to be rescaled. Define x* by x «(i) = 2l4^1 for k = 1,...,2A, and t > 0. (3.16) y/n Then a straightforward application of the functional central limit theorem for renewal processes and the random time change theorem n Xk ^X k , for* 10 (see Section 17 of Billingsley) implies that = l,...,A, (3.17) where =>• denotes weak convergence, and X\,...,X k are independent Brownian motion — processes with drift y/n(\ k fi k a k ) and variance a k ^i\s 2k two theorems and the continuous mapping theorem n Xk ^X k for* , Similarly, applying the above . (Billingsley, Theorem = tf + l,..,2tf, (3.18) where Xk+\,...,X 2 k are independent Brownian motion processes with fi k Q k ) and variance a k central limit 3 k fj. 2 sk + \ 3k 2 a. k demand Notice that any . for more We —^/n(X k — drift process satisfying afunctional theorem can be incorporated into our model. Thus characteristics of actual customer demand, such as batch arrivals and dependencies across products arriving with we have 5.1), demands (e.g., customers can be modeled; see Section 6 of Reiman (1984) for several products) details. are now K— dimensional RCLL (right continuous with left limits) processes min limsup-£ r [/ r-oo l Jo Q k (t) = X k (t) VQ t (f) to choose and 8 to + Vc*(Z*(t))«ft] (3.19) t=1 k=1 + n k Yk (t)-6 k (t), X K+k (t)-fi k Yk (t) Z k (t) = Y is K T K subject to which in a position to state the limiting control problem, for fovk = fc = l,...,A', l,...,K, and t and > 0, t > 0, (3.20) (3.21) K Yl Yk(t)iovt>0, U(t) = Q(t) > U nondecreasing with U(0) (3.22) fc=i 9 4. and Y > (3.23) 0, = 0, and are nonanticipating with respect to X. (3.24) (3.25) The Workload Formulation The basic system WIP is for all* state equations (3.20) and (3.21) are in terms of the number of jobs in inventory and finished goods inventory, respectively. In this section, we reformulate the limiting control problem (3.19)-(3.25) in terms of workloads, meaning that the two 11 m inventories will now be expresses in terms of the amount work embodied of them. First in Brownian motion B\ by define the one-dimensional K B 1 (t) = J2 m kX k {t), t>0, (4.1) t=i m *(^*~ Hk<*k) — so that B\ has drift \/™ ]Ct=i Similarly, let the one-dimensional B 2 (t) \/^(p — ^) Brownian motion K = Y, k B XK+k(t), and variance p -1 < 5Zfc=i ^* 5 Jt- be defined by 2 t > (4.2) 0, *=i with drift y/n(l — p) > -1 and variance /> formulation of the limiting control problem (3.19)-(3.25) processes Q, Z, and #, and the one-dimensional process VQ k (t) ^2m k Q k (t) + ^2m k e subject to is U The workload Ylk=i P\^* a \to choose the A'— dimensional to K T K min limsup-£ r [/ + (X)fc=i ^* 5 *) k (t) +V = c*(Z*(t))<ft] Bi(t) + U(t), (4-3) for < > (4.4) 0, k=l k=l K Y™ Z k J k {t) = B 2 {t)-U{t), for t > (4.5) 0, *=i Q(<) > U nondecreasing with U(0) is for all* > (4.6) 0, = 0, and (4-7) Q, Z, U, and 6 are nonanticipating with respect to A'. Let (Y, 0) be a feasible solution to the limiting control problem (3.19)-(3.25) satisfies (3.20)-(3.25), (4.3)-(4.8) if and (Q, Z, U, 6) let (4-8) if (Y,9) (Q, Z, U, 8) be a feasible solution to the workload formulation satisfies (4.4)-(4.8). Then problems (3.19)-(3.25) and (4.3)-(4.8)are equivalent formulations, as can be seen from the following proposition. Proposition 1. Every feasible policy (Y,8) for the limiting control problem yields a corresponding feasible policy (Q,Z,U,d) for the workload formulation, and every feasible 12 policy (Q, Z, U, 6) for the workload formulation yields a corresponding feasible policy (Y, 9) for the limiting control problem. Proof. Let (Y, U Q, Z, and 8) be any feasible policy for the limiting control problem, and define by Q k (t) = Xk (i) + HkYk (t) - 6 k (t), Zk (t) = XK+k (t) - fi k Yk (t), = for k for k = 1, ..., and A', > t and t>0, l,...,K, 0, and (4.9) (4.10) K = [7( r ) Then and (3.25) and ^r (r)forr >0. (4.9)-(4.11) imply that (4.8) holds, (3.22), (3.24), (3.20), (3.23), and (4.9) imply (4.6). Also, for i Q,(r) = ^m Jt X t ^m^ (0 + *=i Jt=i =B 1 > t (4.11) imply (4.7), K Jt yi(r)-^m^ t (0, by (4.9), (4.12) t=i Jt=i (t) and 0, K K K ^m (4.11) it K + V{t)-Y, m kh(t) (4.1) and Yk (t), by by 1 (4.13) (4.11), fc=i and so (4.4) holds. Similarly, K K J2 m kZ k (t) = k=l K Y m X K+k (t)-Y m k / / k=l (4.5) holds. Thus (Q,Z,U,6) Reversing the argument, let is by by Yk (t) = m k X K+k {t) - m k Z k (t), and (4.2) us suppose that Y (4.8) and (4.11), for (Q,Z,U,6) k = (4.15) a feasible policy for the and t > 0. (4.16) and K K £n(0 = £ m***+*(*)-E m * Z *(')' k=\ is l,...,K, (4.16) imply (3.25), (4.16) implies (3.21), K (4.14) a feasible solution to the workload formulation. workload formulation, and define Then (4.10), fc=l = B2 {t) - U(t), and so k fi k k=\ by (4.16), (4.17) *=i K = B 2 (0-^m Z fc = U(t), by (4.5), 13 fc (0, by (4.2), (4.18) (4.19) and so and (3.22) holds, Finally, for k (4.7) implies (3.24). = 1,...,A', and t > 0, (4.16) implies that Xk (t) + n k Yk (t) - 6 and thus (3.20) holds, and k (t) = X k (t) + = X = Qk(i), k (t) fi k m k X K+k (t) - fi k + XK+k(t) - Z k {t) by (4.9) (4.6) implies (3.23). and m k Z k (t) - 6k (t), (4.19) 6 k (t), (4.20) (4.21) (4.10), Thus, (Y, 9) is a feasible solution to the limiting control problem. | The next four sections are devoted to solving the workload formulation. Not only the workload formulation easier to solve than the limiting control problem, but is its is solution also easier to interpret in terms of the original queueing system, as will be seen in Section 10. The Three Step Solution Procedure 5. The workload formulation which is U. Z The . terms of the control process The in three steps. first step is Proposition embodied 2. U , Q In the first step, and 6 are found in second step solves for the optimal control process Z carried out in this section, the optimal control processes terms of the control process in be solved (4.3)-(4.8) will and the third step derives the optimal control process in the following proposition. Let (Z* ,U*,Q* ,0*) denote the optimal solution to the workload formulation (4.3)-(4.8). Then for k = 1,..., AT, Ql(t) et(t) = X k (t) = and 0, t > 0, and + X K+k {i)-Zt(t). 14 (5.1) (5.2) Proof. Let Z U and be any pair of processes satisfying the pair of processes defined by Qk{t) 9k(t)=Xk(t) satisfy (4.4) and = for k + XK +k(t)-Zk (t), Moreover, £)f=1 (4.6). = for Q k (t) = a lower bound on the objective function value in pair of processes processes Z U and 1, = fc Z processes and U and proof. r 6. optimal solution time t: Z 0, and*>0, and thus (5.3) Q and (4.8), it must hold offer for the optimal | to choosing the nonanticipating, Vc*(Z t (0)<ft] (5-4) f^ Z in Terms of U step of the three step procedure are given a process > t and (4.7). Solving for The second l, ...,#, 0, Then T K min limsup-£ r [/ T-oo T J and > t (4.8). to 1 subject to (4.5) and and Since this argument holds for any (5.3). The workload formulation has now been reduced RCLL K for all satisfying (4.5), (4.7), Z* and U*, thereby completing the ..., (4.5), (4.7), U is performed in this section. Suppose we Then, by Proposition that satisfies constraints (4.7)-(4.8). 2, the can be derived by solving the following mathematical program at each choose Zi(t),...,Zx(t) to K min £c*(Z fc (6-1) (0) K Y, m kZk{t) = B2 (t) subject to Notice that, at time observed, and it is inventory process r, the right side of (6.2) assumed that U(t) is is U(t). known, since the value of (6.2) B 2 (t) can be given. Let us define the one-dimensional weighted W by W(t) = B 2 (t) - U(t), 15 for t > 0. (6.3) , From (6.2)-(6.3), the process W is interpreted as a weighted inventory for each product, where the weight By the is mean sum of the finished goods processing time for the product. the definition of the cost function c* in (2.9), the solution to problem (6.1)-(6.2) can be derived by solving 2 h Each linear programs. LP's are subject to the constraint of these K Y,mkZ k (t) = W(t), (6.4) k=i and each of the LP's corresponds to one Z of the 1 K combinations of each component of constrained to be nonnegative or nonpositive, thus leading to a linear cost structure. For example, and Z 1 if (t),Z 2 (t) minimize hiZi(t) K = 2, < 0; — b\Z\{t) + - hZ^t) the four LP's are to minimize minimize /iiZi(i) LP Z x Z 2 (t) subject to (6.4) Z < 0,Z2 (t) > 0; (t) > 0,Z 2 (i) < minimum that achieves the b2 h 2 Z 2 (t) subject to (6.4) and h 2 Z 2 (t) subject to (6.4) and Z\{t) subject to (6.4) and then derived from the + — b\Z\(t) — 0. The x {t),Z 2 {t) > 0; and minimize solution to (6.1)-(6.2) objective function value from is among the 2 K LP's. Analyzed in this way, we can find a simple closed form solution to values of W(t). Without loss of generality, define the indices j and where it is possible for j = /. W) = —— min i<k<K rrik min \<k<K rrik Then f ={ / (6.1)-(6.2) for all by and (6.5) rrij = — (6-6) ttii the optimal solution Z*(t) to (6.1)-(6.2) mil mk I 0, if k = ; and W(t) > ~ 0; if k ± j and W(t) > 0. if Jt = / and W(t) < 0; if k 5* / and W(t) < 0. is (6-7) and ( ZUt) = Ell! mk (6.8) I I 0, Notice that the optimal control process Z* is via (6.3). 16 expressed in terms of the control process U The Resulting Control Problem 7. Proposition 2 and solution (6.7)-(6.8) can be used to reduce the workload formulation to a problem of choosing the optimal control process U. let us define h = hj/m.j and 6 function ct(Z£(r)) is = b//mj. Then, by (2.9) and (6.5)-(6.8), the optimal cost given by f(W(t)), where hx, f «*> = { Thus, f(x) zero at x is — 0. x > 0; (71) ** <o. a piecewise linear, continuous, convex function that achieves a minimum B 2 Ez [U(t)] Then the resulting each finite for is , RCLL r process > U such that and each Brownian control problem is U is nonanticipating initial state to find a policy 5 2 (0) = U x, W{t) subject to that U is = B 2 (t) - nonanticipating with respect to X U(t) for in the t and to min limsupif?r [/ f(W(t))dt] Although of 0. with respect to = if -K Define a policy to be a nondecreasing £7(0) Referring back to (6.5)-(6.6), (7.2) > 0. workload formulation, (7.3) it is clear U only has to be nonanticipating with respect to B 2 The next two sections are devoted . to solving problem (7.2)-(7.3), which long run average cost criterion. controlled process U a one-dimensional singular control problem with a The term "singular" refers to the fact that the state of the W can be instantaneously changed by the controller and, as a the optimal control process which is U is continuous but singular (i.e., result, the set of time points at increases has measure zero). Various one-dimensional singular control problems with a long run average cost criterion have been studied by, for example, Karatzas (1983), Robin (1983), Menaldi and Robin (1984), Taksar (1985), and Wein (1989a). 17 a 8. A Candidate Policy U In this section, a candidate policy Brownian motion process by /i, B and the nature + process of control, where RBM; functional U with barrier is B is drift y/n(l — is B is W in the interval derived. Recall that the p) > 0, ( it is — 00, B] Given the while exerting a a barrier to be calculated below. at the point . natural to consider see Harrison 1985 for a detailed development), W which we denote denoted by a 2 referred to as a reflected (or regulated) the local time of is is of the cost function f(x) in (7.1), W under such a policy (abbreviated by (7.2)-(7.3) ]Ct=i P*^* a /t> which a policy that keeps the controlled process minimum amount problem appearing in (7.3) has 2 -1 and variance p (£2jt=i ^* 5 *) positive drift to The controlled Brownian motion and the control B. In particular, the control policy U defined by [B 2 (s)-B] + U(t)= sup for , t>0. (8.1) 0<s<t The following proposition concerning a one-dimensional RBM is needed. See Chapter 1 of Harrison (1985) for a derivation of (8.2)-(8.3), and see Theorem 7.2 of Abate and Whitt (1987) for a proof of (8.4). Proposition and thus 3. Suppose W = Bj — U is a 2? 2 is a RBM on (p., (— 00, 2 Brownian motion, ) B]. Then U is defined as in (8.1), W has an exponential steady state distribution with density function p(x) = ve u(l - B) for , x<B, (8.2) where »-H. (8-3) <y- Furthermore, for each starting state x < B, E x [W 2 (t)} there exists a constant <K 18 for all t > 0. K such that (8.4) Thus, if becomes one we restrict ourselves to the class of policies in (8.1), of finding B to minimize F(B), where /0 bxue" (z - B) ,B B dx+ 4. The hxve v{z / - B) dx. (8.5) JO -oo Proposition then problem (7.2)-(7.3) solution to (8.5) is a--gi.(i + (8.6) J). fUH *tiT)-Ur-^Ia(l + j[). Proof. Integrating (8.5) by parts and canceling terms gives F(B) = -e-" B + -(1 - e-" vB > 0, vB ' convex and B* minimizes F(B). Since e~ = Setting F'(B) = hB- F(B) is B (8.8) ). yields (8.6). Also, F"{B) = u(h + so (8.7) b)e- (8.9) h/(h + 6), it follows from (8.8) that '<*>-&T»h" r -r( 9. 1 -s?»)- ur " (810) Proof of Optimality The following theorem provides sufficient conditions for the candidate policy from Section 8 to be an optimal policy for problem (7.2)-(7.3). Let ^^Vj + T 2 dx 2 19 ox (91) B2 be the infinitesimal generator of the Brownian motion . As is usual in control problems with long run average cost criterion, the gain g represents the minimal average cost of problem and the potential function V(x) represents the (7.2)-(7.3) the optimal policy when the incurred incurred under the optimal policy which in this case Theorem 5. is when the W initial state is in is x minus the cost some reference state, B. Suppose (g,V(x),B) TV(x) + f{x) and the controlled process initial state of cost incurred under satisfy -g>0 x > B, (9.2) for x < B, (9.3) for TV(x) + f(x) - g = V'(x) < 0, for x < B, and (9.4) V'(x) = 0, for x > B, (9.5) there exist constants A'i, A'2, and A'3 such that 0<V(x)<K Q -\-K 1 x + K 2x 2 for all x. (9.6) Let U(t)= sup [B 2 (s)-B) + forr>0. , (9.7) o<»<« and suppose 1 r J- Jo T min limsup-£[/ T— 00 Then U is the solution to problem (7.2)-(7.3) and g The proof solution is f(B 2 (t) + consists of two main parts, and the found to the optimality equations can be written in the = U(t))dt] is g. (9.8) the minimal average cost. first part (9.2)-(9.5). The is posed as a lemma, where a basic condition for optimality form rmn{TV{x) - f(x) + 20 g, -V'(x)} = 0, (9.9) ' which is implied by (9.2)-(9.5). This equation can be heuristically derived by considering the optimality equations for the corresponding discounted problem (see, for example, Harrison letting the discount rate tend to zero (see, for example, and Taksar 1983) and Taksar 1985). Lemma B*) (g*, V*(x), 6. satisfy (9.2)-(9.6), ha 2 = ln(1+ l7 ° 6 . , '; ir-gKl + |). and (9.8), where X ) (9.10) • and (y)dy, (9.11) ifx > B; ifx < B, (9.12) where ( ho 2. V'(x)= wH ho* i 1 + I) " T + W ~ ^gJ^e-*"-/'', ifx € [0,5]; ifx Proof. 1°. Notice that cost function, respectively, substituting g* and B* B* and into (9.3) \v'\x) + for V'(x), w C is /i<7 ° (9.8) is satisfied. We start by and solving /zV'(z) + /(*) - —- ln(l + ^) = 0, (9.14) which yields V'(«) = where and thus 4, > B. and candidate minimum g* are the candidate policy from Proposition (9.13) ^4 M 2/i 2 v 1 + T) AT + Ce-" " 2 , , v 6. Ch +TTL h + b e ~" Z = f f(vV" d V> for x £ B* (9.15) y.oo cr a constant. Setting V*'(B*) = rjlnl + Th' 2 2/i ^22 in (9.15) gives -^^[21 b L^ f^ dv+h vd (9.16) \ Integrating by parts yields ha 2/i Since e"° b , , v 2 s y /i = (h + Ch +6 2 a /i b)/h, 0. + —+ b' Ch °--^^ l+ C= h x (9.17) »/* 1/ we have ha* so that h , 2K J + Tr b -^ ha 7 1+ (9.18) fr Thus, V*'(x) = 2^ 2 which yields the top part of + -) + ln(l 1 frye"My, / x<0, (9.19) forx€ [0,B*], (9.20) for and (9.13), ha V-(,)-_,h(l + -)-- I .which yields the bottom part of — e"" -6 / ye" v dy+h I J— oo ye" dy 5 , JO (9.13). Setting V*' (x) = for x > B* implies (9.5), and defining V*(x) as in (9.12) implies (9.3). 2°. In order to verify (9.2), notice that for i > B* (9.5) implies , TV*(x) = 0, and thus TV*(x) 3°. + f(x)-g* = hx-hB* >0. Condition (9.4) will now be (9.21) verified. First, notice that ha ba' + t)-o3 ^'(°)-ctM1 2/z h' 2^ 2 "~" v ~ ha 2 " " V ln(l (9.22) ' + -)-- (9.23) <o, since ln(l x < + x) < x. Since V*"(x) = (6//i) (9.24) > for x < 0, it follows that V*'(x) < for 0. For x 6(0,5*), V*"(x) = -- + (^-^)e- 2 ^/" 22 2 , and (9.25) 2 2 "'/" (^±^)(-^)e< 1 V»'(x) = = B" Since V*"(x) gives a value of zero at x for x € V*'(B*) (0,i?*). (9.26) in (9.25), (9.26) implies that V*"(x) > Condition (9.4) follows by the continuity of V*'(x) and the fact that = 0. 4°. Finally, condition (9.6) needs to V*(x) 0. a /x > for all x be and V*(0) equals some By verified. constant finite and (9.4) K 4 > 0. (9.12), For x it is < 0, clear that V*'(x) can be expressed as H.)-5K + i>-i h> which equals A'5 + K&x for constants A'5 V'(x) and (9.6) can be verified. < and + h A'6 > 0. -x, (9.27) Thus, = Ki- f (A5 + K6 x)dx, (9.28) | We are now in a position to complete the proof of Theorem 4, and show that conditions (9.2)-(9.6) are, in fact, sufficient for optimality. Proof of Theorem As 5. generalized Ito's formula (see in Lemma Meyer 1976) 2.3 of to Menaldi and Robin (1984), we apply a V(W(t)) and use inequalities (9.2)-(9.5) to obtain 9<^E where the first Z term on the ] f(W(t))dt j Jo T + [V(W(T))), Ie T z (9.29) right side of (9.29) represents the cost function (7.2) under an arbitrary policy. Inequality (8.4) in Proposition 3 and inequality (9.6) imply that the last term in (9.30) goes to zero as policy U. The proof of T— Theorem 10. Interpreting the 5 > 00, now and thus g minorizes the follows from Lemma 6. cost function under any | Optimal Solution In this section, the solution (Q*, Z*, U*,0*) to the workload formulation (4.3)-(4.8) will be interpreted in terms of the original production/inventory system in order to de- velop an effective scheduling policy. We begin by reviewing the solution. In the workload 23 formulation, the controller observes a 2 A'— dimensional Brownian motion B2 can be observed the one-dimensional Brownian motion vi & (4-2). The X, from which controller exerts the optimal control U*(t)= sup [B 2 (s) - £*]+, forr>0, (10.1) 0<s<t where the optimal barrier B* the optimal solution Z* is given by (8.6). Letting W(t) = B 2 (t) - U*(t), for > t 0, is Z t*(<) = (Mil m if Jfc if k f-^, m if Jb [ 0, if Ik = j ^d > wit) " 0; ? j and W(t) > 0, = / and W(t) < 0; / and W r (<) < 0, * (10.2) { [ 0, and Z««) = where the indices j and / ' * (10.3) (and the parameters h and — = ^- = min i<Jt<A' rrik min i*i<k<K mjt = Finally, for k 1, ..., A', and < > 0, eut) The scheduling decisions when = h b) are denned by and (10.4) rrij = iL = 6. (10.5) m/ the remainder of the solution QJ(<) (1) ^ x k (t) = 0, is and (10.6) x K + k (t) - z;(t). + in the production/inventory (io.7) system are to dynamically decide to release class k jobs to the machine's queue (that is, when materials onto the shop floor), (2) whether to have the machine working or the machine is to be working, which job class should be processed. decisions are easily found from the solution (10.1)-(10.7). The it follows that in the idealized 24 idle, first and raw (3) if two of these In particular, recall that U(t) represents the scaled cumulative idleness incurred by the server. Since policy (10.1), to release W is Brownian system, the server a is RBM under only idle at times t server when is the weighted inventory process W(t) where the right side of (10.9) Notice that the is Since Q*(t) = 0, it is clear This zero inventory policy no 2(137) the ( (10.8) y/nB*, or when < ^ < 109) that no and as the the variance of the service times increase. and goes WIP traffic intensity increases, to zero as b/h goes to zero. inventory when the machine is held, and a class k job is released decides to begin serving a class k job. not surprising, since there are no set-up costs or set-up times is costs for holding raw material inventory, and there interesting to note that such a policy more than one machine; b 1+ demand and as b/h increases, to the machine's queue only of , *>0. y/nB* increases as the critical level ,/nB* increases incurred, < B* and expressed strictly in terms of of the problem parameters. variance of the interarrival times of is ^p, = the machine should be kept busy whenever w(t) wm< Also, B*; otherwise, W(t) busy. Let w(t) be the actual (unsealed) weighted inventory process, defined by W(t) Then is is not achievable if see the job release policy in is only a single machine. It the production system consists Wein (1989b) for a two-station queueing network. We now turn to the priority sequencing decisions, which need to be interpreted in terms of the optimal finished goods inventory process Z*. Recall that Z* solving the mathematical is derived by program K min $>(Z fc (10-10) (0) K subject to ^m k Z k {t) = W(t), (10.11) i=i at each we find time it i, where W(t) is the known weighted inventory beneficial to analyze the dual of (10.10)-(10.11), 25 process. As in Wein (1989b), and to eventually derive dynamic reduced costs for the primal variables. Let Z^(t) and Z k (t), negative parts of for k = Then 1,...,A'. K Yh Yb + k Z+(t) Z+(r)Z;~(r) subject to represent the positive and (t) (10.10)-(10.11) can be expressed as K min Zk = k Z^(t) k for 0, = (10.12) l,...,K, (10.13) tf ft- £ mkZi (*) - Em z * *'(0 = ^w. ( for Jk = l,...,A, (10.15) Z -(r) > for it = 1,...,A. (10.16) fc ..., 0, A/^i) denote the dual variables corresponding to constraint (10.13), and Aa'+i(0 be the dual variable corresponding to constraint (10.14). let problem (10.12)-(10.16) max subject to W(t)X K+i(t) ^ Zk (t)X k (t) m k \ K+l (t) + the solution to (10.17)-(10.19) for k — 1,...,A', A^- +1 (i) = hj/rrij, and Z^*{t) — j, for k 0, = 1,..., A", and DRC's) can be derived is < hk is , , for Jt for Zf*(t) fc = l,...,A', (10.18) = l,...,A. (10.19) = W(t)/m } Zf(t) = thus agreeing with (10.2). Moreover, \\{i) and thus dynamic reduced for all primal vaiables except Z~{t). The DRC for Z£(t) in (10.12)-(10.16), and d~(t) be the 4(<) = 0, dt(t) = ro d ;(t) = m k (^ + for , = costs (abbreviated 0, by DRC for a primal variable the slack in the corresponding dual constraint in (10.18)-(10.19). be the of (10.17) Zt(t)\ k (t)-m k \ K+1 (t)<b k When W(t) > Then a dual is z+(t),z-(t)Mt) k - Z + (i)>0, fc Let Ai(r), io 14 ) DRC If we denote d^(t) to for Z±{t), then (10.20) fc (— --*-) m. k ^) m } 26 fark^j, and (10.21) forfc^j. (10.22) Similarly, Z£*(t) = when W(t) < for k £ /, the solution to (10.17)-(10.19) 0, Zf(t) = \k+i = — 6//m/. The DRC's for k d7(t) = 0, d7(t) = m k (— d7(t) ( 1, ...,#, in this case are given = 10. 20)-( 10.25) AJ(r) = Z, 0, for (t) fc = = W{t)/m u and !,...,#, by (10.23) mic The DRC's = -* is -— mi m k (— + forJfc^/, ) and (10.24) ^-) iorkjLl. m/ m* (10.25) can be interpreted as the increase in the optimal objec- tive function value (10.12) per unit increase in the right side value of the nonnegativity constraint in (10.15)-(10.16). Thus, d^(t), where defined, is the extra cost incurred scheduler were forced to hold a class k job in finished goods inventory at time is at the extra cost incurred time amount and d7(t) the scheduler were forced to backlog a unit of class k inventory class requires a different amount of expected processing time, we and of effort required to process a job needs to be considered, in addition to the cost incurred to hold or backlog a class k job in finished (1988), the t. However, each job the if r, if will base goods inventory. As in Yang our sequencing decisions on the ratios f££) mk which measure how costly a ^d £22, mk class k job is for * to hold = (10.26) 1,. ..,*:, and backlog, respectively, at time t, per unit of processing time. Before stating the proposed policy, (10.16) and the resulting DRC's in let us further interpret the solution to (10.12)- terms of the original production/inventory system. According to (10.14), the scheduler can choose any values of Z^{t), that are consistent with the present weighted inventory process W(t). Z^ (<), k = Thus 1, in the ...,K, Brow- nian limit, backorder levels and inventory levels of various classes can be instantaneously 27 exchanged for one another, as long as the work content changed. As explained cation of server time in it is among the various classes, and they appear to occur instantaneously is in scaled time. the weighted inventory process W(t) desirable to have no backlogged orders, the class that has the minimum time to process. Notice that if all no backlogged is expected processing time an increase class in the finished with the minimum it (i.e., > and to hold classes smallest all /ijt is from (10.2) and (10.4) that of the inventory in terms of This class the service rate. goods inventory and/or takes a relatively long have the same hk value and there are currently award desirable to /i*). This goods inventory holding value of 0, it is clear value of hkfik, where relatively inexpensive to hold in finished jobs, then remain un- Harrison (1988), these exchanges can be interpreted as reallo- because we are observing the system When in these inventories priority to the class with the largest is because the completed job cost, and thus giving will cause priority to the job delay (on average), and hence reduce, the holding /xt will cost incurred. Furthermore, the DRC's in (10.21)-(10.22) quantify the extra cost incurred job classes are held or backlogged. From (10.21)-(10.22), k ^ j, and thus it is more clear that d^(t) costly to backlog a unit of class k than to hold goods inventory. Moreover, the index class k jobs. it is 6*/xjt it if the other > d^(t) for in finished indicates the relative expense of backlogging In particular, the classes with the larger values of the index expensive to backorder. Also, notice that serving a class k job will t/t/zt are more tend to increase the value of Zk, since the job will be sent to the finished goods inventory upon completion of processing. This suggests that, among the classes that are currently backlogged, priority should be given to the class with the largest value of the index Notice that when W(t) < 0, bkfik- then at least one class must be backlogged, and the proposed solution (see (10.3) and (10.5)) holds no finished goods inventory, and has backlogged orders be of the class with the is relatively inexpensive to backlog and is minimum value of the index bk^k- This class relatively slow to process. 28 all Notice that if two classes have the same bk value and are each currently backlogged, then priority to the class with the shortest expected processing time (i.e., it is desirable to give larger /z*), because then a backlogged order will be satisfied faster (on average), and backorder costs will be reduced. Thus, our proposed sequencing policy time t, is dynamic, but takes a very simple form. At the server considers the subset of classes that are currently backordered, and serves the class in that subset with the maximum value of of the index 6*//*. backordered, then the machine processes the class with the hkpk- minimum If no classes are value of the index should be noted that there are no existing limit theorems that support this It interpretation, unlike the case of sequencing standard queueing networks in heavy traffic, where many results 1973, Reiman heavy exist (see the traffic limit 1983, Johnson 1983, Peterson 1985, and Chen and Mandelbaum 1989). An Example 11. In this section, system has with rates we perform a simulation experiment with a The particular example. K = 3 job classes, and the processing times for the three classes are exponential p. = (1,1/2, 1/3). The customer demand = independent Poisson processes with rates A and the theorems of Whitt 1971, Harrison traffic intensity is p = Two .9. for the three classes are according to (.3, .15, .1), and thus pi = P2 = P3 — -3, cases of this example will be tested, which differ by their cost parameters. The backorder and finished goods holding costs axe given by b= (2,2,2) and h = (1, 1, 1) for case 1, and = b (3, 8, 6) and h = (2, 1,4) for case 2. Let Z(t) represent the actual (unsealed) finished goods inventory level at time let <r 2 w(t) /2(l - = ^2 k=1 Tn.kZk{t) be the actual weighted inventory process. p) = 80, so = from (10.9), it and whenever w(t) < 801n(5) < 801n(3) case 1, the proposed sequencing policy class 2 jobs if 1, and In our example, follows that the server should be kept busy whenever w(t) 87.88 for case i, is to serve class 1 jobs they are backlogged and class 1 29 if = 128.76 for case 2. For they are backlogged, serve jobs are not backlogged, and serve class 3 jobs otherwise. For case class 1 jobs if 2, the policy to serve class 2 jobs is if they are backlogged and class 2 jobs are not backlogged, serve class 3 jobs they are the only backlogged jobs, and serve class 2 jobs if there are no backlogged jobs. has been understood that class k jobs are backlogged at time found that the proposed scheduling policy to perform jobs are backlogged at time t if Zt(r) < Our proposed policy, two other scheduling no two WIP is when denoted by keep the server busy whenever policy in Table I, level. That ties are policy in Table is, PROPOSED priority is ^^-j we say that class k in Table I, is compared against proposed release policy that results The Zk(t) < where the determination c, policy, first which 1, will is policy, always serves the class that has the awarded to class k at time t if of referred to as the A*/^ =1 A ; , maintain the long run average demand. The other Zk{t) = which is mimimum called the inventory mini<j<A: Zj(t), and broken randomly. This policy was proposed in Bemelmans and Wijngaard (1982) and Zheng and Zipkin (1990), and appears to be a in practice. None preemption of For However, we Zk(t) drops to zero. Such a policy of jobs required to satisfy customer MINIMUM 0. gives priority to a class k job with probability regardless of the state of the system. mix if < It and so only backorder and holding costs are incurred. The other the parameter c will be described below. RANDOM Zk(t) slightly better policies. All three policies use the inventory, policies which t if if This altered definition allows the scheduler to 0. prevent anticipated backlogs by reacting in they are backlogged, serve all perfectly reasonable policy to employ of the scheduling policies tested in the simulation experiment allowed service. three scheduling policies and both cases, 20 independent runs were made. Each run started with an empty system and ended after the machine processed 5000 jobs. The average cost (consisting of backorder costs and finished goods holding costs) incurred per unit of time was observed for each run, and the mean and 95% confidence interval of this quantity was calculated for each case and each policy. Recall that two of the scheduling policies keep the machine busy whenever $Zfc=i Zk(t) 30 < c. The value of the parameter c was found by making 5000 processed jobs at various values of single runs of c, and searching for the value of c that resulted in the lowest average cost. For the PROPOSED policy, effective value of the The derived parameter a similar procedure was undertaken to determine the most c such that the machine kept busy whenever w(t) is However, (10.9) did correctly predict that the appropriate value of the parameter c should be larger in case 2 than in case employ the value of c determined via simulation. used in the simulation runs is PROPOSED 1 MINIMUM 1 RANDOM 2 PROPOSED 2 MINIMUM 2 RANDOM TABLE Referring to Table policy, the I, in turn far PROPOSED we 95% see that the The reported simulation I. (c (c = 9.53 (±.47) 22) 11.20 (±.73) 14) = 19) 96.5 (±17.5) (c = 24.10 (±3.80) (c (c (c = = = 29) 31.38 (±5.05) 15) 187.6 (±22.4) 21) PROPOSED policy outperformed the MINIMUM RANDOM policy. Relative to the policy offered a 14.9% reduction in cost in case 2. These the value of c all policies, Simulation Results. outperformed the reduction in cost in case for example, the I. 1. COST POLICY 1 which For provided in parenthesis in Table CASE policy, c. values of c from (10.9) were significantly larger than the corresponding values determined via simulation. results < relative percentages are 1 MINIMUM and a 23.2% somewhat accurate, since, confidence interval of the absolute cost difference between these two policies is 7.28(±0.70) in case 2. It is interesting to note the 31 huge difference in cost between the MINIMUM RANDOM policies, thus implying that poor performance will result and the scheduling policy does not dynamically depend on the finished goods inventory There is a possible explanation 2 than in case In case 2, class 2 1. minimum value of the index h^fik- inventory, and so In case on the other hand, 1, thus class 1 it is PROPOSED the jobs in case policy was more levels. effective in case had the maximum value of the index bk^k and the When > w(t) 0, this class is exposed to possible backlogging class 2 jobs in case 2. often, why if class 1 has the less often maximum held in finished goods than the other two classes. value of both b^Hk and hkHk, and were exposed to possible backlogging more often than than the 1 One would not expect the cost structure in case 2 to exist very and so the more conservative improvements displayed in case 1 are probably more representative for this example. 12. Concluding Remarks In this paper, a Brownian approximation to a scheduling problem for a single-server multiclass make-to-stock queue was analyzed, and a scheduling policy, which decides to release jobs to the queue, be awarded priority, when when the machine should be working, and which class should was proposed. This policy offers a significant cost reduction relative to two other policies in a simulation experiment. The proposed policy is of a particularly simple form, and offers the scheduling of the production system. Perhaps the main insight is some insights into that the weighted inventory process w(t) dictates whether the machine should be busy or not. This is in contrast to traditional inventory systems, where the reorder point for each product is purely in terms of the inventory position of that product. Thus, the explicit modeling of the production system by a multiclass queue introduces dependencies since they are vying for the the inventory levels of rule all same resource, among the products, and the resulting production decision depends on the products, and on their various service rates. The sequencing awards priority to backlogged jobs that are expensive to backlog and quick to process, 32 and if no jobs are backlogged, then the machine produces jobs that axe inexpensive to hold and slow to process. This scheduling policy has direct analogs to the scheduling policies arising in conventional (make-to-order) multiclass queueing systems. In particular, the release decisions in multiclass queueing networks in heavy traffic (see Wein 1989b) depend on the workload process at each station, which measures the total work content for that station embodied customers present in all in the queueing network. Thus, the workload process is similar in nature to the weighted inventory process w(t), which measures the total work content for the server embodied in the finished goods inventory. In the make-to-order system, jobs are released into the network when the workload process gets too small (or too imbalanced). In the make-to-stock system, the server stays busy when the weighted inventory process gets too small. As mentioned Cfx earlier, the proposed sequencing policy reminiscent of the well is which awards priority to the rule for sequencing in make-to-order multiclass queues, with the largest value of the index class effectively reduces holding costs ctfik, where c* known the holding cost. This policy is by awarding priority to jobs that are quick to process and expensive to hold. Similarly, our policy awards priority to the backlogged jobs with the maximum value of the index This analogy is fci^Jb, which are quick to process and expensive to backorder. closely related to the number Gavish and Graves 1977). When there are and thus serving a slow job while still will incur will delay no backlogged minimum are slow to process and inexpensive to hold. because the completed job of backlogged jobs is of jobs in a single server queueing system (see, for example, policy gives priority to the class with the is number not surprising, in light of the fact that the jobs, our proposed scheduling value of The reason /i*/i*, which are the jobs that that slow jobs are awarded priority a holding cost as soon as processing is complete, (and hence reduce) this cost as much as possible, keeping the machine busy. This paper, in combination with Harrison (1988), facilitates the modeling of schedul33 ing problems for very general multiclass make-to-stock queueing networks, and further work is required to analyze more realistic and complex systems than the one considered here. For example, the incorporation of feedback to this single server queueing system has potential application to semiconductor wafer fabrication facilities, which often have only one bottleneck station to which the jobs make many tion, see the simulation studies of Chen et al. photolithography worksta- Atherton and Dayhoff 1985, Glassey and Recende 1988, and Wein 1988), and usually produce (see visits (the to stock, due to is long manufacturing cycle times 1988). Acknowledgements This research Program at is partially supported by a grant from the Leaders for Manufacturing MIT, and by an IBM/University Manufacturing Systems Research Grant. 34 REFERENCES Abate, II: J., and W. Whitt. Non-Zero Initial 1987. Transient Behavior of Regulated Brownian Motion Conditions. Advances in Applied Probability 19, 599-631. Altiok, T. 1989. (R, r) Production/Inventory Systems. Operations Research 37, 266-276. Atherton, R. W., and ECS J. E. Dayhoff. 1985. Introduction to Fab Graph Structures. Abstracts. Bather, 1966. J. A Continuous Time Inventory Model. J. Applied Probability 3, 538-549. Bemelmans, R., and J. A Wijngaard. 1982. Capacity Oriented Approach to Pro- duction and Inventory Systems. Working paper, Eindhoven U. Tech., Eindhoven, Netherlands. Bertrand, J. ventories W. M. and Multi Work Centers. Billingsley, P. 1968. New 1985. Multiproduct Optimal Batch Sizes with In-Process In- HE Transactions 17, 157-163. Convergence of Probability Measures. John Wiley and Sons, York. Browne, S., and P. Zipkin. 1989. Inventory Models with Continuous Stochastic Demands. Working paper, Graduate School New of Business, Columbia University, York. Chen, H., J. M. Harrison, A. Mandelbaum, A. van Ackere, and L. M. Wein. 1988. Empirical Evaluation of a Queueing Network Model for Semiconductor Wafer Fabrication. Operations Research 36, 202-215. Chen, H. and A. Mandelbaum. 1989. Stochastic Discrete Flow Networks: Diffusion Approximations and Bottlenecks. Submitted to Annals of Probability. 35 Cohen, M. A., and H. L. Lee. 1988. Strategic Analysis of Integrated Production- Distribution Systems: Models and Methods. Operations Research 36, 216-228. Gavish, B., and S. C. Graves. 1977. Under Continuous Review C, and M. G. Glassey, R. Circuit Manufacturing. Graves, A Policy. One-Product Production/Inventory Problem Operations Research 28, 1228-1236. C. Resende. 1988. Closed-Loop Release Control for IEEE Trans, on Semiconductor Manufacturing VLSI 36-46. The Multi-Product Production Cycling Problem. AIIE Trans- S. C. 1980. 1, actions 12, 233-240. Graves, A Review C. 1981. S. of Production Scheduling. Operations Research 29, 646-675. Graves, S. C. and J. Keilson. 1981. The Compensation Method Applied to a One- Product Production/Inventory Problem. Mathematics of Operations Research 6, 246-262. Harrison, J. M. 1973. A Limit Theorem for Priority Queues in Heavy Traffic. J. Applied Probability 10, 907-912. Harrison, J. M. 1985. Brownian Motion and Stochastic Flow Systems. John Wiley and Sons, New York. Harrison, J. M. 1988. Brownian Models Customer Populations, in Harrison, J. New J. P. L. Lions (eds.), Stochastic Differ- Theory and Applications, IMA Volume 10, York, 147-186. M., and Taksar, M. I. 1983. Instantaneous Control of Mathematics of Operations Research Harrison, Queueing Networks with Heterogeneous W. Fleming and ential Systems, Stochastic Control Springer-Verlag, of Brownian Motion. 3, 439-453. M., and L. M. Wein. 1989. Scheduling Networks of Queues: Heavy Traffic Analysis of a "Two-Station Closed Research. 36 Network. To appear in Operations Johnson, D. P. 19S3. Diffusion Approximations for Optimal Filtering of cesses and Queueing Networks. Unpublished Ph.D. for thesis, Jump Pro- Dept. of Mathe- matics, Univ. of Wisconsin, Madison. Karatzas, A 1983. I. Class of Singular Stochastic Control Problems. Advances in Applied Probability 15, 225-254. Karatzas, I., and Shreve, Springer- Verlag, New S. E. 1988. Brownian Motion and Stochastic Calculus. York. Karmarkar, U. 1987. Lot Sizes, Lead Times and In-Process Inventories. Manage- ment Science 33, 409-418. Klimov, G. P. 1974. Time Sharing Service Systems I. Th. Prob. Appl. 19,532-551. Laws, C. N., and G. M. Louth. 1988. Dynamic Scheduling of a Four Station Network. To appear in Probability in the Engineering and Information Sciences. Menaldi, J. L., and Robin, M. 1984. Some Singular Control Poblems with Long Term Average IFIP Conference on System Criterion. Proceedings of the Eleventh Modelling and Optimization, Copenhagen, Denmark, in Lecture Notes and Information Meyer, P. A. 1976. in Control Sciences, Ed. P. Thopt-Christensen, 59, 424-432. Cours sur Stochastiques. Lecture Notes in les Integrales Math- ematics 511, Springer- Verlag, Berlin, 245-300. Mitra, D., and I. Mitrani. 1989. Analysis of a nation in Production Lines, Peterson, tiple W. II: P. 1985. Diffusion Stochastic Kanban Discipline for Cell Coordi- Demands. Submitted for publication. Approximations for Networks of Queues with Mul- Customer Types. Unpublished Ph.D. Thesis, Dept. of Operations Research, Stanford University. Puterman, M. tics, M. A. L. 1975. A Diffusion Process Geisler, ed., North-Holland, Model for a Storage System. In Logis- Amsterdam, 143-159. 37 Reiman, M. Proc. 1983. I. Intl. Some Diffusion Approximations with State Space Collapse. Seminar on Modeling and Performance Evaluation Methodology, Springer- Verlag, Berlin. Reiman, M. 1984. I. Open Queueing Networks in Heavy Traffic. Mathematics of Operations Research 9, 441-458. Robin, M. 1983. Long-Term Average Cost Control Problems for Continuous Time Markov Processes: Taksar, M. A Survey. Acta Applicandae Mathematicae 1, 281-299. 1985. Average Optimal Singular Control I. and a Related Stopping Problem. Math. Oper. Res. 10, 63-81. Wein, L. M. 1988. Scheduling Semiconductor Wafer Fabrication. IEEE Trans, on Semiconductor Manufacturing 1, 115-130. Wein, L. M. 1989a. Optimal Control of a Two-Station Brownian Network. To appear in Mathematics of Operations Research. Wein, L. M. 1989b. Scheduling Networks of Queues: Heavy Traffic Analysis of a Two-Station Network With Controllable Inputs. To appear in Operations Re- search. Whitt, W. 1971. Weak Preemptive-Resume Convergence Discipline. J. Theorems for Priority Queues: Applied Probability 8, 74-94. Williams, T. 1984. Special Products and Uncertainty in Production/Inventory Systems. European Journal Operations Research 15, 46-54. Yang, P. 1988. Pathwise Solutions for a Class of Linear Stochastic Systems, Unpublished Ph. D. Thesis, Dept. of Operations Research, Stanford University, Stanford, CA. Zipkin, P. 1986. Models for Design and Control of Stochastic, Multi-Item Batch production Systems. Operations Research 34, 91-104. Zhang, Y. and P. Zipkin. 1990. A tralized Inventory Information. Queueing Model to Analyze the Value of Cen- To appear 38 in Operations Research. Mil 3 TOflO LIBRARIES 00b00Z2b 2 Date Due Li 25 AUG. V& 13#W Lib-26-67