given as xed probabilities of moving to another station or out the system. That is, routings are not a ...... Manufacturing Systems,. Lincoln, New Hampshire (1992).
Performance Evaluation of Scheduling Control of Queueing Networks: Fluid Model Heuristics DEREK ATKINS AND HONG CHEN University of British Columbia, Faculty of Commerce, Vancouver, B.C. Canada V6T 1Z2
Abstract. Motivated by dynamic scheduling control for queueing networks, Chen and Yao
[8] developed a systematic method to generate dynamic scheduling control policies for a uid network, a simple and highly aggregated model that approximates the queueing network. This study addresses the question of how good these uid policies are as heuristic scheduling policies for queueing networks. Using simulation on some examples these heuristic policies are compared to traditional simple scheduling rules. The results show that the heuristic policies perform at least comparable to classical priority rules, regardless of the assumptions made about the trac intensities and the arrival and service time distributions. However they are certainly not always the best and, even when they are, the improvement is seldom dramatic. The comparative advantage of these policies may lie in their application to nonstationary situations such as might occur with unreliable machines or nonstationary demand patterns.
Key Words. Dynamic scheduling control; queueing network; uid network; queueing theory;
ow control; simulation.
TO APPEAR IN Queueing Systems (1995)
1
1. Introduction Systems or networks of interlinked queues are endemic in industrial operations and communication systems. In particular, manufacturing systems are often modelled as an open network of queues and it is this type of situation that we particularly have in mind in this paper. However the methodology that we employ has potential applications in many diverse areas. When more than one type of product or customer moves through the system, usually termed a multiclass queue, we are faced with a choice of the next tasks to be performed at each station in order to maximise some criterion. This is termed the dynamic control problem for multiclass queues. We focus our attention in particular on systems where there are no restrictions on queue length before work stations so that blocking of nished jobs leaving work stations does not occur, and our criterion of performance is the minimisation of expected jobs waiting (equivalent to the minimisation of expected throughput time). Essentially no optimality results are known for other than the very simplest of queues, so most attention has focused of the performance of the systems of queues using heuristic rules. This paper is in that spirit. Recently, (Chen and Yao[8]) a methodology has been proposed, termed the ` uid model', that approximates a queueing system by a deterministic model which is then solved myopically to give a heuristic control rule for the queue. This deterministic model uses only rst order information such as mean arrival and service times rather than other distributional parameters. It is also simple to calculate and use. The myopic nature of the rule may appear at rst to mitigate against it being any good, but it can also be viewed as a strength. This is because for a queueing system of any realistic size it may not reasonable to assume the majority of the parameters to be even stationary. This is particularly the case when we consider signi cant changes in demand rates and also machine failures aecting service times. It shares such myopia with traditional scheduling rules such as shortest processing time next (SPT), however it diers from such rules by its dependence on more global state information of the system. The uid heuristic recommends actions based on whether or not jobs of any class are awaiting processing. It is opaque to the number of such jobs, just whether jobs of that class are waiting or not. Thus its data requirements are quite modest and its applicability quite general. The key question must be how well it will perform in practice. This paper embarks on the task of such an evaluation. The heuristics derived from the uid model are compared with some traditional scheduling rules on a selection of examples using simulation. The model under consideration is a multiclass queueing network with K classes of jobs to be processed at J single server stations. While each job class is processed at one and only one prespeci ed station, each station may process more than one job class (necessarily, it is assumed that J K ). Each class of job may arrive both exogenously and endogenously to the prespeci ed station. If the server at the station cannot process the job upon its arrival, the job has to wait for its turn. Upon completion of service, a job may either leave the network or become a job of another class (requesting further services). Jobs of dierent classes may have dierent distributions of interarrival times, service times, and routing probabilities (at which a job of one class turns into another upon its service completion). The dynamic scheduling control problem is to determine the order in which jobs of dierent classes are to be processed so that the long-run average job sojourn times are minimized. Routings are 2
given as xed probabilities of moving to another station or out the system. That is, routings are not a decision variable. There are no restrictions on queue lengths or arrival populations. In particular there are no restrictions on in-process queues such as would occur, for example, with Just-in-Time operations. In the examples tested here, work stations never break down and all distributions are assumed to be stationary. There has been much research on dynamic scheduling control for queueing networks. Most analytical results have focused on a single station network, i.e., J = 1 case (Cox and Smith [10], Klimov [15], Harrison [11], Tcha and Pliska [25], Whittle[29], Varaiya et al. [26], Lai and Ying [18], Chen[4]). There have been very few analytical results for the network case (J > 1). See, for example, Ross and Yao [21] for multiclass Jackson networks, Stidham [22], Harrison and Wein [13] and Chen, Yang and Yao [7] for a simple two station network, and Kumar [17] for a reentrant line queueing network. Buzacott and Shantikumar [3] give a detailed treatment of systems associated particularly with exible manufacturing systems, paying particular attention to the issue of restrictions on in-process queueing. For general networks of queues, the problem appears to be extremely dicult, and the primary tool is still simulation, which is used to evaluate various ad hoc heuristic rules. However, the advantage of one heuristic over another largely depends on the parameters of the networks. After surveying over 100 heuristic scheduling rules, Panwalkar and Iskander [20] found the task of analyzing the results of various researchers \quite a formidable one because of con icting results in many cases". A survey of performance evaluation for queueing systems can be found in Suri et al. [25]. Other approaches to the multiclass problem are Whitt [29], Bitran and Tirupati [2] and Harrison and Nguyen [13]. The last of these uses results from heavy trac limits derived from diusion approximations. This approach, termed Q-Net, appears promising. Working on a uid network model, Chen and Yao [8] developed a systematic approach to generate scheduling control rules through solving a sequence of linear programs. Their key ideas are rst to approximate a queueing network by a uid model, then to solve the scheduling problem for the uid model, and nally to interpret the scheduling rules for the
uid model into the scheduling rules for the queueing model. Their rst step is supported by the fact that the uid model has been proved to be a rst-order approximation for some simple queueing networks (Kleinrock [15], Newell [19], Chen and Mandelbaum [6]). The second step of their approach, nding heuristics for the uid scheduling problem, can be ful lled by solving a sequence of linear programs. For a single station model, the interpreted
uid scheduling control recovers the index rule that solves the single station queueing problem (Lai and Ying [18]). Among others, studies in this spirit also include Perkins and Kumar [21], Yang [31] and Wein [28]. The rst study identi es stable scheduling controls in a uid network, and the other two are based on Brownian networks. [The latter approach has been extensively studied by Wein.] Some advantages of this approach are as follows. First, the procedure for generating the control rules is systematic, regardless of the structure and the parameters of the network. 3
Second, the procedure requires minimalinput data. In particular, it requires no distributional information, and requires only the long-run average information, making it more realistic in many applications. In many applications, it is almost impossible to get data beyond these rst-order quantities (Chen et al. [5]). A third advantage is that the procedure can apply in a dynamic and transient sense, making it very easy to adapt to the case where the system parameters may change over time (which, for example, can model server breakdowns). We give a fuller discussion of this point in section 5 below. A nal advantage is the ease with which extra constraints can be added to the LP, and again we return to this point in section 5. Preliminary simulation results (as will be shown in this paper) also indicate it performs at least comparable to classical priority rules and is robust for distributional and trac intensity assumptions of some queueing network models, in the sense that it never performed really badly on any network tested in this paper. The objective of this research is to implement uid control as a scheduling control for queueing networks, and then through simulation to evaluate the performance of so-generated control rules. Note that Feigin [10] and Connors et al. [8] provided a dierent interpretation of the uid control for scheduling semiconductor lines. Since none of the networks to be considered have known optimal scheduling controls, we compare the performance of the
uid control rule with some other simple rules such as rst-come- rst-serve (FIFO), shortest (or longest) expected processing time (SPT, LPT), shortest (or longest) expected remaining processing time (SERT, LERT), fewest (most) expected remaining operations (FERO, MERO), and shortest (longest) queue length rst (SQL, LQL). Ideally, one should simulate a large number of queueing networks, obtained from varying structural parameters such as the number of stations, the number of classes, and the routing matrix, and from varying distributional parameters such as trac intensities and coecients of variation. As a preliminary step, we simulated queueing networks with a limited choice of structural parameters, and with a varied choice of distributional parameters. The intention in this paper is fairly modest, we are not attempting to prove that the uid heuristic has outstanding performance, but merely to record whether it is worthy of continued research and consideration as a potentially useful rule. In order to get some feeling for how much additional saving is possible by better heuristics without knowledge of the optimal being available, lower bounds to the optimal are valuable. In this case such a bound is available only for the case when interarrival times and service times are distributed as negative exponentials. This bound was recently devised by Bertsimas et al. [1]. It is a polyhedral approximation to the space of achievable performance values. This polyhedral approximation requires the solution of a linear program with of the order of K constraints. 3
In his simulation study, Feigin [10] observed that while the uid control rule performs well in terms of the mean throughput time, it produces extremely large variance of the throughput time. However, the uid control rule that results from our interpretation performs well in terms of both mean and variance of the throughput time. 4
The remainder of this paper is organized as follows. In Section 2, the scheduling problem is formulated as a dynamic control problem for a uid model, and then in Section 3, the
uid control rules are implemented as scheduling control rules for queueing networks. Some simulation results are shown in Section 4. Section 5 contains some concluding remarks.
2. Fluid Model Formulation and Solution The section describes just enough of the basic details of the uid model for the rest of the paper to make sense. The description is kept brief and all proofs omitted. Readers needing more information are referred to Chen and Yao [8]. Let s(k) be the unique station serving job class k. Thus when a job leaves a station and is routed to another station it is considered to have joined a new class. For the queueing network, assume that there exist two K -dimensional vectors, arrival rate = ( ) and service rate = ( ), and a K K matrix, routing matrix P = (p ). Here, is the longrun average number of class k jobs arriving exogenously per unit of time, ? is the average service time for class k jobs, and p is the long-run fraction of class k jobs which, upon completion of their service, become class i jobs. The corresponding uid network consists of a set of a continuous ow of uids being processed and circulating among stations. In the
uid network, is the per unit time in ow of class k uids exogenously into the network, is the per unit time maximum amount of class k uids that can be processed by station s(k)Pat full capacity, and p is the fraction of the class k out ow that becomes class i. Thus, p indicates the fraction of the class k out ow that ows out of the network. 1? k
k
ki
1
k
k
ki
k
k
ki
K
i=1
ki
Denote by x 0 the proportion of capacity that station s(k) devotes to processing class k uids. Refer to vector x = (x ) as the capacity allocation vector, which must satisfy a capacity constraint: X x 1; k
k
k
k
2
C (j )
where C (j ) = fk : s(k) = j g is the set of classes that are processed at station j . In general, the capacity allocation vector may vary with time. The uid control problem is to dynamically choose the capacity allocation vector so that the total inventory of uids in the network is minimized. In the next section, the capacity allocation in the uid network will be interpreted as the scheduling control rule for the queueing network. Instead of an optimal solution to the uid model, the focus is on a myopic procedure, i.e., at any time, a greedy myopic optimal allocation is sought. As the exogenous in ow of uids is not controllable, minimizing the total uid inventory is equivalent to maximizing the total rate of out ow to the outside of the network. In addition to the capacity constraint, the myopic optimal allocation must also observe the ow constraint: the out ow rate of a class cannot exceed its total (exogenous and endogenous) in ow rate unless it has a positive inventory of uids. In the latter case, at least for a short time interval, the out ow rate is only bounded by the processing capacity of the station. The state of the system at any time is identi ed by those classes that have a zero uid inventory. These will be identi ed as the 5
set , a subset of f1; :::; K g. Notice that it is not necessary to know the number of those queueing in the other classes. Only needed are the constraints associated with the classes for which there are no inventories, as these potentially limit the ow through the station. Thus, for these classes, the throughput is limited by the transfers from previous stations and the exogenous in ow. Thus, the myopic optimal allocation can be identi ed with the solution of the following linear program (LP): max c0x (1) s.t. (Ax ? ) 0; k 2 (2) Mx e; (3) x 0; (4) where c = A0e, A = [I ? P 0]diag(), e is a K or J -dimensional vector of ones (as appropriate). M = (m ) is a J K matrix with m = 1 if s(k) = j and m = 0 otherwise. Here, c0x is the rate at which uids of all classes ow out of the network under allocation x. Constraint (2) is the ow constraint, which is active only for those classes that have a zero uid inventory at the time of the decision. Constraint (3) is the vector form of station capacity constraints. Thus, solving (1)-(4) at dierent decision epochs, and hence possibly dierent sets , gives a myopic control heuristic for the uid network. Whenever a class with inventory had that inventory depleted it would need to be included in . This would mean a constraint would be added and a new LP to be solved. The linear program depends on the state only through ; thus, there could be at most 2 dierent allocation vectors (or control rules). When inventory exists everywhere is empty and the solution to the LP is the trivial ranking on c. k
jk
jk
jk
K
3. Interpreting Control Rules In this section, four examples are used as illustrations of how the results of the uid model are to be interpreted. The rst example is really included just for completeness. It concerns a single station with multiple classes. The choice of which class to work on next has been termed Klimov's problem and a solution exists which identi es a ranking order of priorities for the classes. For a special case (with no feedback), it is shown below that the solution to the uid model delivers the exact same solution. [Readers are referred to Chen and Yao [8] for the general case.] The second example is of a type of con guration that occurs in both transport and communications systems: a central server system. An example is given in more detail below. The third and fourth examples are general networks with no particular dominant topology. They have six classes for three stations and ten classes for ve stations respectively. For the three station case, the uid control rules can be quite readily interpreted, however, as shall be seen, for the ve station case there are quite a few special cases to consider. It should be borne in mind here that it is not being suggested that all these control rules are calculated and identi ed in advance for any practical sized system. Recall that the state description for the queue is fairly parsimonious, only identifying whether or not members of a class are actually queued up before a station or not, rather than, for example, how many are queued. Nevertheless for systems with many stations or 6
classes this would rapidly lead to an intolerable number of solutions to identify. Most of these states would have an extremely small chance of occurring. In practice the idea would be to solve the very small linear program (1)-(4) either whenever a decision needed to be made or perhaps more practically on a periodic basis. A major limitation of the examples that we have considered to date has been their essentially static nature. It is only when a stockpile of a class in front of a station has been depleted that causes a revision of priorities, although this revision might well in turn cause a cascade of changes to occur at other stations. However, as has been pointed out above, the environment in which the uid model could be used can be as turbulent or dynamic as necessary. Thus this set of examples should only be seen as a beginning on the task of evaluating the performance of the uid model. We hope to shortly be able to add experiments done with, for example, unreliable work stations and non-stationary exogenous demands. To facilitate the interpretation, we introduce some notation. Let q = (q ) be a K -dimensional vector of characters. Three characters will be used. Thus + in the k ?th position will indicate a positive number of class k jobs being processed or waiting to be processed. Then 0 in the k ? th position indicates no class k jobs in the queue. Finally, the `wild' character (when not being used as a superscript) means either q = + or q = 0. Most of the time it turns out the magnitude of a solution x = (x ) to the LP (1)-(4) is not important. So the vector, x with x = + if x > 0 and x = 0 otherwise, is referred to as the solution to the LP as well. k
k
k
k
k
k
k
A Single Station Model (J = 1)
Assume K = 4, and assume all four classes of jobs are present in the queue; thus, = ; and q = (+; +; +; +). It turns out that the LP solution is of the form x = (+; 0; 0; 0). Here class 1 has been chosen for simplicity, the point is that one and only one component of x will be positive although ties may occur. This is obvious by observing that the LP is just a continuous knapsack type problem. However, much more can be said. It turns out that when q = (+; ; ; ) (including q = (+; +; +; 0); (+; +; 0; +), etc.), the above x is also the solution to the corresponding LPs. That means the single server will always serve class 1 jobs as long as there are any in the queue; in simple words, jobs of class 1 have the highest priority. In order to get an alternative solution we have to consider the case when, for example, q = (0; +; +; +). This time there is a solution x which has at most two positive (+) coordinates. Again we assume just for convenience and without loss of generality that the class 2 job is the next highest in terms of priority. Then one solution could again be x = (+; 0; 0; 0). This would signify that, even though there was no class 1 material queueing, the inbound ow of class 1 material was sucient to occupy all the time of the server. Alternatively the solution could be x = (+; +; 0; 0). In this case the server still has some capacity after serving the inbound ow of material 1 and is using it to serve class 2 material. Note that the uid model deals with continuous ow; so x = + even though q = 0. This simply means that some capacity of the server need be allocated to class 1 (the one with highest priority), making sure the uid level of class 1 not become positive. It can 1
1
7
be shown that this x is also the solution to all the LPs for q = (+; +; ; ). Simply, jobs of class 2 have the second highest priority. Continuing in this way would identify the classes with the third and the fourth priorities. This procedure leads to an index policy that happens to be optimal for the discrete queueing scheduling problem (with some distributional assumptions).
A Central Server Model The central server network is a model for some manufacturing systems, where the central station models the transport system (Solberg [23]). For example the central server could be an Automated Guided Vehicle used for carrying inbound and in-process material between
exible machining areas. Not all products would follow the same routings and this is modelled by the proportion of material that ows to each class. After being worked upon at each satellite station the AGV moves the material again. The central server will be indexed by 0, and the four satellite stations, indexed by j = 1; :::; 4. There are 7 job classes with C (0) = f1; 2; 3g and C (i) = fi + 3g, i = 1; :::; 4, i.e., the central station serves classes 1 to 3, and satellite stations 1 to 4 serve classes 4, 5, 6, and 7 respectively. Material arrives only via the central server at a rate, = (:5; :3; 1; 0; 0; 0; 0); The service rate and the transition matrix are respectively given by = (4; 3; 7; 6; 8; 12; 14); and 1 0 0 0 0 0 : 2 0 0 : 15 0 : 3 BB 0 0 0 0:1 0:2 0 0:4 CC C BB BB 0 0 0 0 0:3 0:2 0 CCC P =B BB 00::52 00:2 00::14 00 00 00 00 CCC : C BB @ 0:5 0:2 0:3 0 0 0 0 CA 0 0:4 0:2 0 0 0 0 Since only the central station has more than one class of jobs, the only scheduling problem is at the central station. The key idea is to treat satellite stations as exogenous to scheduling control at the central station, and their in uence on the control is only through the state of their queue lengths. Consider satellite station i. When q = +, its departure rate would be its service rate, and the impact of station i on the rest of the network is, at least for a short time horizon, as if its departure is an exogenous arrival to the network with routing probability given by the (3+ i)th row of routing matrix P . Similarly, when q = 0, the impact of the station is as if its arrival is an exogenous arrival to the network. [The latter is the case for a uid network, and would be a good approximation for a queueing network model when satellite stations are not heavily loaded.] Based upon the idea above, the interpretation is as follows. Given the state q for all satellite stations, rst identify an 3+i
3+i
8
equivalent subnetwork that happens to be a single station model, and for that subnetwork, as interpreted in the last subsection, the optimal scheduling control is an index (priority) rule. Following this interpretation, the uid scheduling control rule at the central station is: whenever q = 0, give priority (in a decreasing order) to class 3, 1, and 2; whenever q > 0, give priority to class 1, 3 and 2, except when (q ; q ; q ; q ) = (0; +; +; 0), in which case give priority to class 1, 2, and 3. 5
5
4
5
6
7
A Three Station Network
The network has three stations and six classes of customers, with C (1) = f1; 2g, C (2) = f3; 4g and C (3) = f5; 6g. The arrival rate, the service rate and the transition matrix are respectively given by = (:2; 1; 0; :5; :4; 2); = (16; 4; 8; 10; 16; 8); and 0 0 :4 :1 :1 :1 0 1 BB 0 0 :1 :1 0 :1 CC BB :3 0 0 :1 :4 0 CC P =B BB 0 :1 0 0 :8 0 CCC : B@ :2 0 :3 0 0 :2 CA 0 :2 :1 :6 0 0 The interpretation is slightly complicated, but follows the same idea as the single station model. The following is a partial list of the state q and its corresponding solution:
q + 0 + + + 1
q + + + + 0
2
q + + + + +
3
q + + + + +
4
q + + 0 0 +
5
q + + + 0 +
6
x + + + + + 1
x 0 + 0 0 0 2
x + + 0 0 + 3
x 0 0 + + 0 4
x + + + + + 5
x 0 0 + + 0 6
The rst state and solution pair above clearly suggest that, given there are jobs of all classes waiting, classes 1, 3 and 5 receive higher priority at stations 1, 2 and 3, respectively. Both the third and the fourth lines of the above suggest a switch of higher priority to class 4 at station 2, under the corresponding alternative states. Solving the LP (1)-(4) for all 2 = 64 possible dierent states of q gives the following uid control interpretation. At station 1, class 1 always has the higher priority (than class 2), and at station 3, class 5 always has the higher priority (than class 6). The priority at station 2 is given to class 3 if q = + and to class 4 otherwise. 6
5
A Five Station Network This is the network with the largest number of stations and classes that we shall study. It has ve stations and ten classes of customers, given as follows: C (1) = f1; 2; 3g, C (2) = f4; 5g, 9
C (3) = f6; 7g, C (4) = f8; 9g and C (5) = f10g. The exogenous arrival rate, the service rate and the transition matrix are respectively given by = (0:8; 2:5; 0:5; 0:2; 10; 2; 1; 0; 0:4; 4); = (20; 15; 16; 20; 19; 40; 10; 24; 8; 14); and 1 0 0 : 19 0 0 : 22 : 03 0 0 0 : 1 BB :1 0 :4 0 0 :1 0 0 0 :3 CC BB 0 0 0 :3 :2 :03 0 :13 :04 0 CC C BB BB 0 :08 :1 0 :05 0 0 0 :12 :14 CCC B :1 0 :2 0 0 0 :02 :1 0 0 CC P =B BB :07 :2 0 0 :02 0 :03 :07 0 0 CC : BB :2 0 0 0 :11 :12 0 0 0 0 CC C BB BB :5 :14 0 0 :03 :10 0 0 :02 0 CCC @ :04 0 0 :03 0 :1 :06 :04 0 0 A 0 0 :11 :09 0 0 :17 0 0 0 The interpretation of the uid control rules for this case are rather more complicated and are displayed in Table 1. Table 1 Fluid Control Rules Station 1: Class 1 always rst Class 2 second when any of the following:
q q + 0 + 0 + + 4
q 0 0 0 0
q * * * *
6
S
q + * + *
7
q 0 + 0 +
8
q 0 0 0 0
9
10
Station 2: Class 4 rst when q = 0 or 10
q q q q q q q q * * + * * 0 0 + + * 0 * * 0 0 + 1
2
3
6
7
8
q * * *
q + * *
q 0 + *
q 0 0 *
9
10
Station 3: Class 6 always rst. Station 4: Class 8 rst except when
q + + +
1
q * * *
2
3
4
5
10
6
q q * + * + * * 7
10
Station 5: Class 10, of course.
Table 2 Rule exceptions under trac conditions Station 1: Extra heavy trac and state
q = (0; +; +; 0; 0; 0; ?; 0; +; 0) With ? = 0 x = 0:045 x = 0:689 With ? = + x = 0:101 x = 0:568 Station 2:
2
3
2
3
Both cases are interpreted as class 3 second and class 2 last. Trac
State
Solution
x x Heavy 000 + +000 + 0 x x Moderate 000 + +0 + 0 + 0 x x 000 + +000 + 0 x x Light 000 + +0 0 + 0 x Extra H'y 000 + +000 + 0
4
5 4
5 4
5 4
5 4
Interpretation
= 0:679 = 0:321 = 0:423 = 0:577 = 0:106 = 0:894 =0 =1 =0 x =1 5
Class 4 rst Class 5 rst Class 5 rst Class 5 rst Class 5 rst
Unlike the previous examples the uid control rules in this case have some exceptional situations. These concern the interpretation to put on a solution to the uid model when processing is required of more than one class for which inventories are positive. In these cases, there are more than one way to interpret the uid control rules; Table 2 provides one interpretation. An alternative interpretation could be to have a randomized priority at both stations 1 and 2, for example, at Station 1 when q = (0 + +000 + 0 + 0), serving class 2 rst with probability 0:101=(0:101 + 0:568) and otherwise serving class 3 rst. These situations are also slightly sensitive to the trac intensities. The de nitions of these trac intensities are deferred until the next section and here we just refer to them as light, moderate, heavy and extra heavy trac.
4. Simulation results In this section, the performance of the uid control rules is evaluated by using simulation on the examples of the previous section (other than the single station case). Several variations 11
of each example will be investigated. The performance measure reported is the average sojourn time for jobs of all classes. By Little's law, this is equivalent to the criterion of the average number of jobs in the network. The scheduling control rules for comparison are FIFO: SERT: LERT: SPT: LPT: FERO: MERO: LQL: SQL: F-C:
First-in rst-out Shortest expected remaining time rst Longest expected remaining time rst Shortest processing time rst Longest processing time rst Fewest expected remaining operations Most expected remaining operations Longest queue length rst Shortest queue length rst Fluid Control rule.
Not all rules will be used on each example. In addition the lower bound of Bertsimas et al. [1] is reported. This lower bound is only for cases with negative exponential interarrival times and processing times. The bound uses the results of their Theorems 4.2 and 4.3, i.e. equations (24), (25) and (28). The bound based on higher order interactions (Theorem 7.1) was not used. Full details of these bounds and the theory behind them can be found in Bertsimas et al..
Example 1: The Central Server Model We have only to be concerned with the priority given to jobs by the central server. The satellites simply work on material as and when it is available. In this example, SERT is the same as SPT, which gives the highest priority to class 3 and the next highest to class 1. Thus it diers from the uid model in not switching the priorities of classes 1 and 3 depending on whether or not inventory was waiting at satellite station 2. FERO gives the highest priority to class 3 but then switches to class 2 for the second highest priority. Note that the uid control rule is derived from the rst-order (long-run) average information only. It is natural to ask about its robustness against various distributional assumptions. Five cases are simulated, varying from small to large coecients of variation (c) for both arrival and service processes. The uniform distributions, the exponential distributions, and the lognormal distributions were used for the rst two case, the third case, and the last two cases, respectively. The simulation results on the average sojourn times for all jobs are summarized in Table 3. It can be seen there that the uid control rule performs consistently well, and performs much better when the coecient of variation is large. For example, when c = 3, that is when the lognormal distribution is being used, the average sojourn time for SERT(SPT) doubles that for the uid control, and those for all other control rules range from 18.8% to 84.0% over the uid control rule. This is an interesting result because it could be thought that as the uid model is a deterministic approximation it may only perform well 12
in situations where only small variations in random variables occurred. These results seem to run counter to such a conclusion. It appears that the limitation of a deterministic model is overcome by the dynamic feature, which actually allows the model to respond to stochastic changes. So although the uid model is extremely myopic, ignoring any eects beyond the immediate horizon de ned when a current inventory will drop to zero for example, and even though it choses actions as though all arrival and service rates are constant, its dependence on context through the state variables enable it to deliver a creditable performance. Table 3 Varying coecients of variation Control Rules F-C FIFO SERT LERT FERO MERO LQL SQL
Coecient of Variation .2887 .5 1 2 3 .745 .846 1.232 2.156 3.248 .779 .878 1.367 2.431 3.859 .728 .870 1.243 2.329 6.888 .805 .920 1.530 3.054 4.317 .756 .849 1.268 2.451 4.263 .797 .972 1.517 3.316 5.976 .784 .898 1.341 2.950 4.352 .786 .909 1.446 2.659 4.035
Another three cases were simulated for various workloads (measured by trac intensity () at the central station). The changes in trac intensities were achieved by scaling the arrival rate vector . [ = 0:68 corresponds the data given in Section 3.] The simulation results are summarized in Table 4. It is not surprising that the uid control makes little dierence for the light trac case. At the heavy trac case ( = 0:91), the uid control rule performs much better than FIFO, LERT, MERO, LQL, and SQL, and performs marginally better than SERT (SPT) and FERO. Added to this table are results (LB) from the lower bound described in section 2. The nal row gives a value of LB/F-C giving an indication of the maximum improvement that is theoretically possible. It should be noted that there is at this time no evidence to conclude that this lower bound is particularly tight on these types of problems. Table 4 Varying trac intensity
13
Control Rules F-C FIFO SERT LERT FERO MERO LQL SQL LB LB/F-C
Trac Intensity at Central Station .23 .45 .68 .91 .644 .881 1.232 3.961 .651 .922 1.367 4.784 .644 .881 1.243 4.115 .657 .933 1.535 6.153 .648 .881 1.268 4.160 .664 .924 1.527 6.185 .661 .903 1.341 4.713 .657 .946 1.446 5.623 .562 .748 1.024 3.877 .87 .85 .89 .98
Example 2: The Three Station Network In this example, SERT gives priority to class 1, 4 and 6 for the three stations. FERO however changes the priority for the rst station to class 2 leaving the remaining stations the same at 4 and 6. SPT gives priority to class 1, 4 and 5 at each of three stations. The uid control was described in Section 3. As in Example 1, rst the comparisons are done for various coecients of variation for both arrival and service processes; these were achieved by using lognormal and exponential distributions. The trac intensities at three stations are = (0:699; 0:498; 0:586). There are similar observations as in Example 1; the uid control performs well and its advantage improves as the coecient of variation increases (see Table 5). Note that in this case, SPT and MERO are competitive compared with the uid control; but their performances are much worse in Example 1. Table 5 Varying coecients of variation Control Rules F-C FIFO SERT LERT SPT LPT FERO MERO LQL SQL
Coecient of Variation .25 .5 1 2 4 .651 .741 1.160 2.540 6.618 .664 .763 1.200 2.764 7.319 .658 .751 1.202 2.636 7.478 .673 .767 1.240 2.734 7.904 .653 .737 1.147 2.423 7.111 .680 .778 1.294 2.927 8.449 .673 .772 1.269 2.843 8.132 .652 .744 1.153 2.473 7.039 .655 .749 1.205 2.693 7.572 .658 .746 1.181 2.551 7.002 14
Table 6 summarizes the case for various workloads; again, this is achieved by scaling the arrival rate. Comparisons similar to Example 1 were observed. Table 6 Varying trac intensity Control Rules F-C FIFO SERT LERT SPT LPT FERO MERO LQL SQL LB LB/F-C
at Bottleneck .280 .699 .907 .578 1.160 2.619 .584 1.200 2.809 .582 1.202 2.756 .587 1.240 3.094 .580 1.147 2.678 .582 1.294 3.172 .586 1.269 3.270 .579 1.153 2.621 .583 1.205 2.886 .580 1.181 2.729 .530 0.873 2.250 .92 .75 .86
The variation of the sojourn times is also an important performance measure. It was observed in all the examples that the uid control consistently gives a smaller standard deviation of the sojourn times than the other scheduling rules tested. We look in more detail at these standard deviations in the nal and largest example.
Example 3: The Five Station Network The priorities given by SPT, SERT and FERO are shown in Table 7. Thus at station 1, SPT gives priority to class 1 then 3 and nally 2. Table 7 Priorities for certain rules Station Rule 1 2 3 4 5 SPT 1, 3, 2 4, 5 6, 7 8, 9 10 SERT 2, 1, 3 4, 5 6, 7 8, 9 10 FERO 2, 1, 3 4, 5 7, 6 9, 8 10 (higher priority is listed rst) These priorities can be compared to those given in section 3 for the uid model. For the data given in section 3 the bottleneck is at station 1, where the trac intensity is 0.8859. This base case will be termed the `heavy trac' case. Other trac intensities are achieved by scaling the value of in the following way: 15
=2:85 gives = 0:3108 =1:55 gives = 0:5715 =1:00 gives = 0:8859 =0:92 gives = 0:9629 The rst experiment uses the exponential distribution for operation times and the trac intensity is varied. The results are shown in Table 8. Light trac: Medium trac: Heavy trac: Extra heavy trac:
Table 8 Exponential Distribution - Varying Trac intensity (Average total Delay in the System) Control Rules Lower bound F-C FIFO LQL SPT SERT FERO SQL
Trac Intensity at Station 1 light medium heavy extra h'y .14989 .20061 .48332 1.1581 .16431 .23430 .58588 1.28550 .16506 .23569 .62103 1.44451 .16533 .23395 .61788 1.40201 .16463 .23040 .57673 1.24485 .16578 .23810 .65795 1.69914 .16621 .23835 .65055 1.58661 .16472 .23296 .60322 1.34091
For light, medium and heavy trac intensities the uid model does no better than several other rules. Only when we turn to the very heavy trac case do the Fluid and SPT rules begin to outperform the others. The uid model does no better than the simple SPT rule on this data set. However the two of them seem to outperform other contenders. Actually the mean values of the waiting times give a somewhat misleading picture because one of the key characteristics of these results is the exaggerated skewness of the waiting time distributions. This can be glimpsed by the results of Table 9 which show the standard deviations and maximum values for the same run as in Table 8. The minimum values in all cases were zero. The skewness can be seen to be quite dramatic, however there is still no clear evidence for the uid rule doing better than SPT. Table 9 Standard deviations and Maximum values for the runs in Table 8 Rules F-C FIFO LQL SPT SERT FERO SQL
Trac Intensity at Station 1 light medium heavy extra h'y .181, 3.14 .282, 5.61 .937, 40.1 2.693, 83.7 .183, 2.81 .276, 5.81 .914, 23.2 2.518, 61.2 .184, 2.89 .278, 7.85 .962, 33.1 2.450, 52.3 .182, 2.85 .274, 6.94 .988, 38.7 2.701, 72.9 .186, 3.22 .291, 6.23 1.162, 33.6 3.835, 150.4 .186, 3.50 .291, 5.77 1.119, 38.2 3.505, 104.4 .182, 2.67 .280, 6.44 1.034, 39.9 2.837, 66.7 16
(standard deviation,maximum value) Table 10 is included to show one example of the waiting times at each station, rather than just overall. This example is for the heavy trac case with the SPT rule which had the lowest overall waiting time of all rules for this case. Of concern here are the extremely long queues that can occasionly build up. To be able to say something of value for a practical problem, we would want to be reassured that such long queues are just an artifact of a long simulation rather than a regular occurrence. The importance of modeling with nite buers has been emphasized of late in both theory and practice. Table 10 Expected Waiting times at stations: heavy trac with FERO Class Station 1 1 2 1 3 1 4 2 5 2 6 3 7 3 8 4 9 4 10 5 Overall
Average Maximum Num. of Obs. 0.1164 0.90 221806 1.1812 14.46 227104 0.1847 2.13 289433 0.0965 0.83 125437 0.2786 3.49 633336 0.0532 1.20 169292 0.1438 1.44 122958 0.0624 1.33 115532 0.1519 1.80 46529 0.1292 1.61 309690 0.5767 38.71 1069672
The next experiment is to see how the results change as the coecient of variation change, just as have been done with the three station case. This is done for the cases of moderate and heavy trac in Tables 11 and 12 respectively. In the moderate trac case (Table 11), even with a high coecient of variation (c=3), there is not much to choose between several of the rules. With heavy trac (table 12) and a high coecient of variation, the Fluid and SPT rule are again beginning to pull ahead of the pack. Table 11 Moderate Trac Control Rules Lower Bound F-Cont FIFO LQL SPT SERT FERO SQL
Coecient of Variation (c) .5 1 2 3 .20061 .17103 .23430 .42824 .72551 .17084 .23569 .43320 .74596 .16922 .23395 .42920 .73788 .16901 .23040 .41671 .72293 .17189 .23810 .44707 .77795 .17186 .23835 .44638 .76233 .16960 .23296 .42927 .73532 17
Table 12 Heavy trac Control Rules Lower Bound F-Cont FIFO LQL SPT SERT FERO SQL
Coecient of Variation (c) .5 1 2 3 .48332 .33854 .58588 1.39153 2.78746 .34298 .62103 1.56783 2.99389 .33822 .61788 1.52422 2.97635 .31718 .57673 1.35317 2.75404 .35655 .65795 1.64026 3.22096 .35820 .65055 1.69625 3.29182 .33837 .60322 1.55457 3.03288
5. Extensions and Conclusions It was claimed in section 1 that the uid model had the potential to be extended to a variety of settings. We brie y explore a few of those now. A detailed exploration of these issues is the subject of future research.
5.1. Finite Buer Model We distinguish four cases. Case 1 : Class-speci c buers and deterministic routings Deterministic routing implies that the output of any class goes only to one other class. This is appropriate for a wide range of manufacturing operations, and is arguably more prevalent than having xed proportional stochastic routings. Routings that occur in communication networks are more likely to involve situations where the routing is a decision variable chosen dynamically as the loads change. Some speci c examples of deterministic routings would be a owshop or any situation where product dierentiation does not occur during manufacturing, so that a job is launched into the shop with a unique nal product as its target. Class speci c buers are appropriate in continuous ow processes where holding tanks might be class speci c. They are also suitable in manufacturing where a limited number of xtures are available to hold any particular class. Such a xture might be needed to maintain a certain orientation for presentation to a drill or milling machine. Certain Kanban systems also require class speci c containers. Indeed in this case, the number of such containers, that is the size of the buer, is an important control variable in the JIT system. When buer k is full (i.e., q = b ) then add constraints x = 0 for all i with p = 1 to the LP problem (1)-(4). Let F (k) = fi : p = 1g be the set of classes that route directly to class k, and let = fk : q = 0g and = fk : q = b g. Then the LP problem that identi es the myopic optimal allocation can be written as k
k
i
ik
0
b
k
k
c0 x
max 18
k
ik
s.t.
(Ax ? ) 0; k 2 x = 0; k 2 Mx e; x 0: k
0
b
F (k )
Case 2: Station-speci c Buers and Deterministic Routings If the containers in case 1 were not class speci c or if the xtures are in limited supply in total such as pallets holding incoming work to a station, then the buer needs only to be restricted in total before a station. When the buer at station j is full, we add constraints x = 0 for all i with p = 1 and k 2 C (j ) to the LP problem (1)-(4). Case 3: Class-speci c buers and Stochastic Routing In this case the blocking mechanism has to be carefully speci ed. One possibility is that all classes that have a positive probability of joining this class on completion of service will be blocked. This could be the case in a chemical plant where the mix of products resulting from an operation is in a xed proportion. This would be handled in the LP by setting x = 0 for all i with p > 0 when q = b . Another possibility is to stop the ow from an upstream class to a blocked class, but not to entirely stop the processing of the upstream class. Thus it would be natural in this case to allow the upstream class to continue to distribute its output between other unblocked classes in the same proportion as before. The only dierence is that the routing to the blocked downstream class is blocked. This can be achieved by modifying the LP as follows. Suppose that q 0 = b 0 . If p 0 = 1, then add x = 0 to the LP (1)-(4). For all i with 0 < p 0 < 1, replace p in the LP (1)-(4) by p p~ = p + P p 0 ; k 6= k ; 2 6 0p 0 p~ 0 = 0: i
ik
i
ik
k
ik
k
k
i
ik
k
ik
ik
ik
ik
ik
k
C (s(k
));k =k
0
ik
ik
Iteratively repeat the above process for all k with q = b . Case 4: Station-speci c Buers and Stochastic Routing. This would be a combination of the approach taken in cases 2 and 3 above. It is worth noting that nothing stops us using any combination of these cases simultaneously within the same program. k
k
5.2. Machine Breakdowns A variety of situations can be modelled within the uid LP framework. For example if a 19
machine breaks down at station j and this is the only machine there we can set = 0 for all k 2 C (j ) in the LP (1)-(4). Alternatively, a station might have multiple machines or a machine might be partially broken causing it to have to run at a slower speed. In this case we can set to some other level. For example if one of two identical machines at station j goes down we can set to =2 for all k 2 C (j ). It is possible to deal with some heterogeneous machines at a station. For example, if two classes 1 and 2 are served at a station, it is possible that the station is disabled for the production of class 1 but not class 2. In this case we can put = 0 and = . k
k
k
k
1
2
2
5.3. Time-varying parameters All the parameters, such as , and P can be varied with time, so that whenever the
uid LP is run the most up-to-date forecasts for them are used. This could include seasonal changes such as times of particular congestion. In summary, this paper should be seen as a progress report in a much longer study. The target of this longer study is to answer the question: \can the uid model, as described in Chen and Yao [8], be used as a practical tool for the dynamic and real time control of complex queueing networks such as manufacturing systems?" This paper takes the rst tentative steps towards answering this larger question by asking the much more modest question: \at least for some small examples, can the approach suggested by the uid model deliver system performances at least comparable to classical priority rules?" The answer seems to be \yes", the uid model can match the performance of priority rules on all the examples tried and can substantially outperform them when either trac intensities or the variability of arrival and service times are high. However the improvement oered by the uid model, when improvement there is, is not that dramatic and it is by no means yet obvious that the bene ts oered by the uid model in terms of a general methodology outweigh the added complexity of calculation that it demands over simple methods such as the SPT rule. The competitive advantage of the uid model approach might lie in its generality. It is a completely general approach in that the methodology works for more complex systems, or for systems subject to dynamic change, such as may occur with station breakdowns or when demand is highly non-stationary. However this advantage would need to be demonstrated, and that will be a topic for future research. Major problems remain with the applicability of the uid model for large systems, such as the number of LP's to solve. On the modeling side there is the disquieting observation of the dramatic skewness of queue size. It is just not reasonable to allow such in-process queues and if only for reasons of practicality some limit should be put. Such nite buer systems are a major topic of both theoretical and practical interest. There are two reassuring observations that can be made. The rst is that the uid model recovers the optimal policy for the single station case, and the second that the uid model consistently performs well. Given any particular problem and data set, it is possible that a classical priority rule will outperform it. But the 20
uid model never seems to turn in a really bad performance. It may turn out that it is this `robustness' that is the uid model's most valuable feature. This gives some con dence as work proceeds on more realistic sized systems.
Acknowledgement The authors wish to thank Li Liu for his early help in the simulation
program. The authors have had helpful conversations with Gerald Feigin.
References [1] D. Bertsimas, I.Ch. Paschalidis and J.N. Tsitsiklis, Optimisation of Multiclass Queueing Networks: Polyhedral and Nonlinear Characterizations of Achievable Performance. Working Paper of the Operations Research Center, MIT. December 1992. [2] G.R. Bitran and D. Tirupati. Multiproduct queueing networks with deterministic routing: Decomposition approach and the notion of interference. Management Sci. 34, (1988) 75-100. [3] J.A. Buzacott and J.G. Shantikumar, Stochastic Models of Manufacturing Systems (Prentice-Hall,NJ, 1992). [4] H. Chen, Optimal intensity control of a multi-class queue. Queueing Systems, 5, (1989) 281-294. [5] H. Chen, J.M. Harrison, A. Mandelbaum, A. van Ackere, and L. Wein Empirical evaluation of a queueing network model for semiconductor wafer fabrication. Operations Research, 36, (1988) 202-215. [6] H. Chen, and A. Mandelbaum, Discrete ow networks: bottleneck analysis and uid approximations. Math. of Operations Research, 16, (1991) 408-446. [7] H. Chen, P. Yang, and D.D. Yao, Control and scheduling in a two-station queueing network: optimal policies and heuristics, Queueing Systems (forthcoming). [8] H. Chen, and D.D. Yao, Dynamic scheduling of a multi-class uid network. Operations Research, 41, (1993) 1104-1115. [9] D. Connors, G. Feigin, and D.D. Yao, Scheduling semiconductor lines using a uid network model, submitted to IEEE Transactions on Robotics Automation, Special Section on Computer Integrated Manufacturing(1992). [10] D. Cox, and W. Smith, Queues (Methuen, London,1961). [11] G. Feigin. Comparing scheduling policies for semiconductor manufacturing, presented at Workshop on Hierarchical Control for Real-time Scheduling of Manufacturing Systems, Lincoln, New Hampshire (1992). 21
[12] J.M. Harrison, Dynamic scheduling of a multiclass queue: discount optimality. Operations Research, 23, (1975) 270-282. [13] J.M. Harrison and V. Nyugen. The QNET method for two-moment analysis of open queuing networks. Queueing Syst. 6, (1990) 1-32. [14] J.M. Harrison and L.W. Wein, Scheduling networks of queues: heavy trac analysis of a simple open network. Queueing Systems: Theory and Applications, 5, (1989) 265-280. [15] L. Kleinrock, Queueing Systems Volume II: Computer Applications, (John Wiley & Sons, 1976). [16] G.P. Klimov, Time sharing service systems I. Theory of Prob. and Its Appl., 19, (1974) 532-551. [17] P.R. Kumar. Re-entrant lines. Queueing Systems: Theory and Applications 13 (1993). [18] T.L. Lai, and Z. Ying. Open bandit problems and optimal scheduling of queueing networks. Advances in Applied Probability, 20,(1988) 447-472. [19] G.F. Newell, Applications of Queueing Theory, (Chapman and Hall, 1982). [20] S.S. Panwalkar, and W. Iskander. A survey of scheduling rules. Operations Research, 25 (1977) 45-61. [21] J. Perkins, and P.R. Kumar. Stable, distributed, real-time scheduling of exible manufacturing/assembly/disassembly systems. IEEE Trans. on A.C., 34, (1989) 139-148. [22] K.W. Ross, and D.D. Yao. Optimal dynamic scheduling in Jackson networks. IEEE Trans. Autom. Cont., 34, 1, (1989) 47-53. [23] Stidham, S. Scheduling, routing and ow control in stochastic networks. Stochastic Dierential Systems, Stochastic Control Theory and Applications, W. Fleming and P.L. Lions (eds). IMA Volume 10, Springer-Verlag, New York (1988). [24] J.J. Solberg, A mathematical model of computerized manufacturing systems. Proc. 4th Int. Conf. Prod. Res., Tokyo, Japan (1977). [25] R. Suri, J.L. Sanders and M. Kamath. Performance Evaluation of Production Networks, Logistics of Production and Inventory, Handbooks in OR and MS, Vol.4 eds.S.C.Graves et al. (North-Holland,Amsterdam,1993). [26] D.W. Tcha, and S.R. Pliska. Optimal control of single-server queueing networks and multi-class M/G/1 queues with feedback. Operations Research, 25, (1977) 248-258. [27] P.P. Varaiya, J. Walrand, and C. Buyukkoc Extensions of the multi-armed bandit problem: the discounted case. IEEE Trans. Autom. Cont., 30, (1985) 426-439. [28] L. Wein, Scheduling networks of queues: heavy trac analysis of a two-station network with controllable inputs. Operations Research, 38, (1990) 1065-1078. 22
[29] W. Whitt, The queueing network analyzer. Bell Syst. Tech. J. 62, (1983) 2779-2815. [30] P. Whittle, Optimization over Time Vol. I, (John Wiley and Sons, New York,1982). [31] P.Yang, Pathwise solutions for a class of linear stochastic systems. Ph.D. dissertation, Department of O.R., Stanford University (1988).
23