LIBRARY OF THE MASSACHUSETTS INSTITUTE OF TECHNOLOGY ALFRED P. SLOAN SCHOOL OF MANAGEMEN COORDINATING AGGREGATE AND DETAILED SCHEDULING DECISIONS IN THE ONE MACHINE JOB-SHOP: • L. Gelders and P. 600-72 R. I-THEORY b^rt Kleindorfer April, 1972 MASSACHUSETTS TECHNOLOGY 50 MEMORIAL DRIVE BRIDGE, MASSACHUSETTS INSTITUTE OF MASS. COORDINATING AGGREGATE AND DETAILED SCHEDULING DECISIONS IN THE ONE MACHINE JOB-SHOP: L. 600-72 Jelders and P. R. I-THEORY Kleindorfer April, 1972 00. 600-75 Dewe RECEIVEO JUN g 1972 I '*^-'-T. LIBRARIES COORDINATING AGGREGATE AND DETAILED SCHEDULING I-THEORY DECISIONS IN THE ONE MACHINE JOB-SHOP: by L. Gelders and P. R. Kleindorfer ABSTRACT This research presents a formal model of the one machine job shop scheduling problem with variable machine and labor capacity. Pri- mary interest is focused on the trade-off between overtime and detailed scheduling costs. The detailed scheduling problem considered is minimiz- ing the sum of weighted tardiness and weighted flow-time costs for capacity plan (e.g., a given overtime schedule). are generalized to this case where possible. tures for the problem are analyzed and gorithm is outlined. a a given Sequence theory results Various lower bounding struc- preliminary branch and bound al- Several interesting features of the algorithm and bounding structures are illustrated by an example. sults to more complex environments are discussed. 63504S Extensions of the re- 1 . Introduction This paper addresses the problem of coordinating aggregate and detailed scheduling decisions in a job-shop environment. Typically, the aggregate planning level determines a medium-run capacity strategy for workforce, overtime, and shifts. Given this plan, the detailed schedul- ing problem is concerned with minimizing operating costs subject to quality control There is clearly constraints. a tradeoff between capacity costs and the direct costs incurred in scheduling individual jobs to activity The problem of concern here is the determination of reasonable centers. procedures for resolving this tradeoff between aggregate and detailed level costs. As a first step in addressing the combined aggregate-detailed scheduling problem discussed above, this research studies the problem in one machine job-shop. In this context, a the problem becomes one of deter- mining an overtime plan and job processing sequence which minimizes the sum of overtime costs and direct job costs due to tardiness, in-process inventory, and other flow- time related costs. et. al Following the framework of Conway, [1967], certain general results are first derived for this problem. On the basis of these, a branch and bound algorithm is presented for solving problems of modest size. Computational results and a discussion of the uses of the framework presented in structuring and evaluating procedures for more realistic problem settings are given in a companion paper [6]. Two bodies of literature are relevant to this research -- job-shop scheduling and aggregate planning. We first briefly review relevant aspects of the literature on job-shop scheduling. The basic problem of sequencing n jobs on one machine has received -2- much attention in the secheduling literature. For some regular measures of performance, elegant and simple results are known, e.g. the shortest processing time rule for minimizing mean flow time. However, no such results are available when certain alternative performance measures are used. The detailed sequencing problem of interest in this paper falls in- to this latter category. The sequencing problem considered here is formu- lated as follows: Problem A Minimize j = job Z (p-T. + h-F.) index N = job set = C. = {1 , . . . ,n} completion time of job d. = due date of job j (d. j >_ 0) T. = tardiness of job j = Max (0, Cp. = tardiness r. = - unit time (p- penalty per ready time or release date of job F. = flow time of job j = C h. = holding cost d.) . - j >_ (r. 0) >_ 0) r penalty per unit time (h. >_ 0). The objective in Problem (A) is to minimize tardiness and flow-time related costs. When h = o for all jobs, the weighted tardiness problem re- sults, various forms of which have been studied by McNaughton 02], Schild and Fredman [13,1<|, Held and Karp [9], Elmaghraby [4], Emmons [5], Srinivasan [19] and others. An efficient branch and bound algorithm for this case has been presented recently by Shwimer [15]. -3- Turning now to the aggregate planning literature, models and results is available^. a However, on the normative side at least, little of this work has been related to the job-shop context. ous lacuna is wealth of A more seri- fact that only recently have these resutls been related the to the problem of coordinating aggregate and detailed scheduling^. A heur- istic coupling procedure resembling the structure of the algorithm in this paper has been developed and evaluated in by Green [7]. a simulated job-shop environment Recent work of Shwimer [16] has further corroborated the benefits to be gained by coordination of aggregate and detailed scheduling decisions in the job-shop context. In this research we assume a simple functional costs. Generalization will be discussed below. form for aggregate Under the hypothesis of a homogeneous and constant workforce, the aggregate costs here are represented as follows. ^ k=l ^ K = number of periods in planning horizon X. = hours b, = of overtime in period - 7 = unit cost of over time in period In the next section we couple See Chapters 5 k 1,2,...,K; k = 1,2,...K. Problem (A) with these aggregate of Buffa and Taubert [1] and references therein. See Newson [12] and references therein for some normative results for production processes making standardized products. -4- costs and related constraints to obtain the combined aggregate-detailed scheduling problem of interest. is In Sections 3 and 4, a bounding structure developed for solving the combined problem. Section 5 specifies a first-cut branch and bound algorithm for the problem and gives an illustrative example. Conclusions and directions for further research are present- ed in Section 6. 2. Problem Formulation Capacity Plans and Sequencing Results 2.1. Our initial aim is to delineate the set of capacity plans of interest here and Let a convenient parameterization of these plans. a planning horizon H be given. >_ Let q(T) be the >^ instantaneous processing rate of the machine (or activity center) at time The trajectory {qd/rxe [0, H]} is called a capacity plan Te[0, H]. We will be primarily concerned with special case of these capacity a plans, for which q(T) either equals 1 the machine is available (qCx) or not (q(T) 1) a overtime plans In order to for all = x. 0). In this case either When it is available, These capacity plans will be called simple uniform rate. processing is at . = or . specify such plans more precisely, we proceed as follows. Partition the interval [0, H] into K disjoint periods where the start of period a^^-, = H. Let {X is called the Let . :k = 1,...,K and where , k = 1,...,K} be a set of non-negative integers, denoted by is a. maximum permissible overtime level in period {p|,:l< connotes period (2-1) k k °k ^ Pk = 1,...,K} be regular time -^ ^mk:i . '^k+P a = a, <_ . . x set of non-negative integers, where = '-•-K, so that the maximum permissible overtime level fits into period k. Define the feasible overtime set, X, as ± . k. It is assumed that ^ . P|^ -6- {xeE :x = (Xp...,x,^); x,^e{0, K-.-.x^^k): X = (2.2) K n k=1 ^ -^ j=l ^ The last requirement in (2.2) assures that enough overtime will be allocated to accomplish all jobs within [0, H]. It is assumed that X ^ 0, i.e. n K k=l ^ ^^ For each xeX define j=l a if ^ simple overtime plan as follows: a,^ £ T £ a|^ + P|^ + X|^, k = 1,...,K; (1 else. Figure time p. 1 represents a typical simple overtime plan. is assumed fixed for all k, Since the regular any feasible vector of overtime levels XeX determines a unique capacity plan. In the sequel we will represent simple overtime plans by their corresponding overtime level vector x the time horizon, periods, and regular time vectors being understood. -- -7- <](^,^) ,. toi.e ^em»ot> k ^l^ P I Tint a-,«o ^* <a ft. '^^ %^± A Simple Overtime Plan Figure Given a 1 simple overtime plan q(T,x) the completion times for any preemptive schedule can be found via the usual procedure of "loading" job processing times onto the given graph of q(T,x). To make this loading pro- cedure more precise we Introduce the cummulatlve capacity curve yij) as y(T) = ;2.4) q(T')dT' I and define the completion time for processing y units of work starting at time T > as K -8- (2.5) C= where y~ (y') inf = {t' e y''(Y + y')}, y' d' >_0:y(T') = = Figure y'}. yd). 2 illustrates the relationship of the loading procedure to the use of the cumulative capacity curve in de- termining completion times. t-, = In the example illustrated in Figure tp = 2, and the schedule of processing requirements given is: job 1; 2 units, job 2; 1 2 n {1 = 2, unit, unit, job 1}. DLC \ DUE 6 Illustrating Completion Time Determination Figure 2 C -9- Note that the schedule derived is preemptive resume (see [2]). That is, processing on a job interrupted by another job or by a non-pro- ductive period can be resumed without additional cost or time. in what follows that all We assume processing has this preemptive resume property Generalizing the above example, let (I-i, Y^ I2, Y^,..., !_, be a sequence of processing and idle time requirements, where I- idle time preceeding the ith processing segment Y-. Y } is the It is readily veri- fied that the loading procedure above corresponds to the following: (2.6) y. = (2.7) C. = y(C._^ + !•) inf i {t' e y'^y. = 1,..., P + Y.)} ^'ic.-i^^- where Cq = and C- is the completion time of processing segment Y-. where more than one non-zero processing rate is pos- In the case sible, the t- would be in standard hours of capacity. Any given schedule of standard hour processing and idle time requirements would then be translated into (calendar) completion times sequentially by (2.6) and (2.7). Assuming a quite general (continuous, non-decreasing) cumulative capacity curve it is possible to generalize certain results of sequence theory. Specifically, Conway et. al. for the case when q(T) (PI) = 1 for all t [2] prove the following properties and r- = When scheduling against a for all j. regular measure of oer- formance, inserted idle-time need not be considered. -10- (P2) When scheduling against regular measure of a performance, preemption need not be considered. (P3) The maximum flow time F max is independent of the job sequence. (P4) The SPT-rule minimizes mean flow time F. (P5) The weighted SPT-rule minimizes weighted flow time Fj. . "J Properties (PI) - (P4) can be readily verified. The proofs of these properties are analagous to the corresponding proofs in Conway et. al . [2 ]. It should be noted that these proofs are constructive. In the case of (PI) the proof indicates that one should simply eliminate the idle In the case of (P2) time by left shifting all jobs as far as possible. one can construct from a given preemptive schedule S a non-preemptive schedule which is at least as good by sequencing the jobs in order of their completion times in S S (i.e. the job with largest completion time in goes last, the job with second largest completion times in to last, etc.). As an exai^ple, appendix 1 gives a S goes next proof of (P4). Of course, none of these properties necessarily hold when jobs do not arrive simultaneously, though one could still consider the problem of finding the best non-preemptive schedule. The following example shows that (P5) does not generally hold even in the case of simple overtime plans. Example : Let n and with q(T) given by = 2 with t^ = 8 t^ = 12 -n- (2.8) q( 10 < T '{; 1 T £ 20, T >^ 30 1 10. 20 £ T 30 < It can be verified that the weighted SPT sequence completion times {2, 1} C-j = 30, C^ = 22 with E oj-F- has completion times C^ = 30, C2 = 8 with E 1} has However, the sequence 274. = {2, w-F- = 242. On the basis of (PI) and (P2) above we may restrict our attention when r. for all j, to the n! permutation schedules (see [2], p. 25) re- = presented by the set of permutations n = i = j}. In this case, {Tr:N -> N; 7r(i) = fT(-j) implies since inserted idle time is not considered, the completion times for given yix) and tt e n are obtained from (2.6), (2.7) as follows: (2.9) c^i) <'-^°' ^0 = = j?f^/^'^y-Vt,„)); ^"^.(J-l)) - J = 2. ,n; tt(J-I) ^^(j)' ^-^(j) ^^^ ^^^ proces^ng time and completion time respectively of the job in jth position under the given permutation tt. -12- 2.2 Statement of the Problem The global problem to be solved is as follows: N K Minimize G(x,7r) (2.12) X, = i<=i n = where X where C is is Z b.x,^ + ^ ^ J^Vk E (p.T. + h-F.) J j=l ^ J J/Pj J J "^^^^°' ^j - - 'j^ ' 'j^^J given by (2. 2), His the set of permutation schedules, and determined by (2.4), (2.9) - (2.11). 'j^^ -13- 3. 3.1 Reduction of the Solution Set Dominance Relation for Overtime Vectors When all the .lobs are simultaneously available and the unit cost of overtime is constant , it is not necessary to enumerate all the feasible overtime vectors. We will prove that for given total amount a of overtime z, one particular vector x necessarily dominates all the overtime vectors z. (Dominance Relation): Lemma 3.1 Let X, Then if with the same value of x b, eX and suppose the followinq hold: x' a) x^ = x! b) X, c) hv = b, > k x' for k and x f i < m; , v' with j, < m; = hi = 1,...,K; 6(x,7t) <_'^(x',Tr), = z; tt e n, where G is given by (2.12). Proof : Let times under be arbitrary and let {C.:jeN} and {C.':jeN} be the completion tteR tv for the given overtime vectors x and x' respectively. From conditions a-c above and (2.3)-(2.4) it follows that y(T)=y'(T) for y(T) >y'(T) for yd) = y'(T) < T < a^+ Pj^ a^ + Pjj^ + x^; + x^ < t < a^ + P^ + for a^ + p^ + x^; x- < T < H; where y(T), y'(T) are the cumulative capacity curves corresponding to x and x' respectively. 14- In particular, the above implies y(T) Jj from (2.9)-{2.n), C. < C.' >_y'(T) for kk for all jeN. Since Zb.x. = Therefore, t>_ 0. Sb.x. ' = bz and since weighted tardiness and weighted flow-time are regular measures of performance, G(x,Tr) QED < G(x',Tr). Lemma 3.1 implies that once a given total amount of overtime z is fixed, the overtime should be moved as early as possible in the time horizon. Thus for given z, one need only consider the following overtime vector. (3.1) X? = min(z,Xj^^) k-1 x^ = min(z Z x?,Xj^,^), - k = 2,...,K. As a result, one need only consider the set of feasible total overtime levels given by (3.2) Z = {z = z . min .z .„ mm + 1, ...,z ' max } where, from the requirement in (2.2) that sufficient overtime be scheduled to process all (3.3) jobs, z^.^ = Max{ E t. t j=l ^ The value of z^^ overtime levels, x^j^, - Z k=l p. ^ ,0j is determined from the maximum permissible and the observation that there is no need to add overtime in periods after which the last job is completed. is given by Thus, z max 15- K* where K* K is the earliest period for which £ K* Z (3.5) n ^ k=l J + X (p. ^^ > I t. j=l ^ holds. Given the above we define (3.6) Min {G(x,u):xeX,Ex. = g(z,7T) = z) = G(x°,7t) ^ k where x° is given by (3.1). 3.2 Generalization of Elmaghraby's Lemma and Shwimer's Theorem A It is of interest to note that Shwimer's Theorem A [15] may be generalized to the present problem. for any two jobs .< t. - p. , p h. ^ particular it can be shown that t < dj ^ ^ ^] In and j, for which: i .< . . >. h. ^ There exists an optimal schedule in which i precedes j. The detailed proof is analogous to Shwimer's argument and is available from the authors. Shwimer's original proof assumes q(T) jeN. = 1, t>0, and h. - 0, ^ 16- Of more importance from a computational point of view is the following generalization of Elmaghraby's Lemma [4 ], the proof of which follows Elmaghraby's original argument and which is also available from the authors. Lemma 3.2 Suppose h. r. = 0, j = l,2,...,n. = 0, J NinN2 = Let N = N1UN2, J 4- Suppose that TT(j)e{k+l scheduled last under E t. (3.7) < where d^ ) Then, there exists = = k, and Tr(j)e {k+1. jobs in N2 are Max = d.* ,. . . ,n}, J£N2 n < Z p.T.(tt'^) j=l ,n}, jeNjcN (i.e. such that iT*(j)e{k+l a Tr*en n and 7r*(j*) . If tt). J(d^ ... J J I pJAt\) for j=H J Tren satisfying "^ n}, JeNj. The only difference between the above and Elmaghraby's origina' formulation is that q(T) = (3.7). 1,¥t, then y(dj,, y(d|. replaces ) ) = d|.^ , d^, in the hypothesis and the original (3.7). When lemma results from -17- 3.3 Tree Exploration Scheme The set of admissible solutions may be represented in a tree search scheme as follows: level level 1 job j in first position level 2 Figure 5: Obviously, a Tree Structure "Shwimer-like" algorithm [15] may be used for the exploration of nodes on level 1. Shwimer's algorithm may be easily gen- eralized for these circumstances (variable capacity and h. current problem may be solved by using this algorithm after enumeration of the nodes on level 1. In ^ 0). a So, the complete the next section, however, we will develop an alternative algorithm which calculates strong lower bounds for the nodes on level 1. The method proposed provides automatically information for bounding the nodes on the lower levels. 4. Lower Bounding Procedure for Variable Capacity Plans 4.1 Introduction The problem of concern here is to establish lower bounds on the scheduling costs of a set of jobs processed under a given capacity plan and for an objective function of the following form: (4.1) where A is Min Z -i jeN {p. Max(C. d., 0) + h.F.} - J J J -J J the set of preemptive schedules subject to W.:^r. (job processing may not begin until after job release). available, (PI) and (P2) in replaced by the subset n of 2.1 )& When all jobs are simultaneously above indicate that i6 in (4.1) can be without changing the optimal value of the case of It is clear, however, that in the general objective function. intermittent job arrivals (r. f 0) preemption and inserted idle time must be considered (see [2], p. 69). The bounding procedure established below holds under any capacity plan and for r. For convenience, we will f 0. restrict the formulation and the proof of our procedure to the problem of primary concern in this study, i.e. r. = for all j Generali- and only simple overtime plans. zations to these other cases will be apparent from the comments and corollaries. 4.2 A Lower Bounding Problem Consider the problem {?) Problem (P ): (4.2) . Find Min E n jeN p, Max(C, J ^ - d,, 0) ^ Min ^ ,6 I JeN p. Max(C. -^ ^ - d., 0) ^ -19We now formulate a transportation problem (P-1). The under- lying idea is that the above scheduling problem may be seen as a transportation problem in which capacity units (available in different time periods) have to be shipped to different jobs. Problem (P-1) : Consider timeslots = i 1 any arbitrary division of the time horizon H into ,2,3, . . . Such a partitioning of H can be represented ,v-l ,v. by a set of discrete points T = (ti,t2,t3,. . . ,t = | ti<t2<_. ..<t <H) which represent the starting points of the corresponding timeslots. The problem (PI) then is the following: V Find: (4.3) L(q,T) = Min n E E i=l j=l a. .w. . ^J ^^ = 1 , = l,...,n; n subject to: Z w. j=l S w. where w. = . = s. . ^^ . < s " , i = t., j ~ j=l ^^ w.j ^0, . ,v; i,j; all capacity supply in timeslot a.-. J =/{! + [(t. I ^ = . amount of capacity used by job in timeslot 1 and [a] . J t. = capacity demand of job j (4.4) . - = i Ti+l = / i q(T')dT'; processing time of job j; and d.)/t.]}p. for all slots ' J J elsewhere largest positive integer < a. J i with t. >d 'J -20- clear that, when a simple overtime plan is given, for any is It arbitrary partition T, a unique problem (PI) may be derived from Problem It is also clear that the set of schedules i^ (P). corresponding to the feasible set of (PI) contains both preemptive and non-preemptive schedules 4.3 Lemma " M If y <t, then E y=l M M Proof: l < \iy y=l 4.4 ^ ^ =MZy ZMy y=l E yy <M.t ^ y=l M ^ y=l <M.t ^~ Proposition Suppose a simple overtime plan q(T,x) has been fixed. Then the optimal solution to problem (PI) is a lower bound on the optimal solution of (P) for any arbitrary partition T of the time horizon H. Proof: (i) Clearly any feasible solution in (P) is feasible in (PI). Therefore it suffices to prove (ii). (ii) The cost associated with a feasible solution of (P) is always underestimated by the corresponding solution of (PI). Consider an arbitrary schedule in S and the corresponding solution llw^. -llof (PI). of problem (P) is p.T.. to the total (P) The contribution of job jeN to the total cost Let us now calculate the contribution of job transportation cost of (PI). and (PI) are zero. If p. = We therefore assume p.>0. the costs in both j -21- Consider two time axes, the original one (partitioned following T) and an axis (d. + yt.). u = 0,1,2,..., sequel we will represent timeslot by its index fiat-4 T2 — L . La. I T^=0 a 'P**! with origin d.. or by a pair i —____ 7J . In the 1 , sag Ji+1 (t. ,1.^,) , - 'm+1 H I I y=0 ^j* "tj 2 ^ij M 3 , M+1 I ^2 'I ^+1 ""3 ' Suppose that the last assignment of capacity with relation to job j w. ?* . The first timeslot with takes place in timeslot m. is called Then, the contribution of job i. j ajj i^ and to the total trans- portation cost is: m m m Consider now $ = U (t-,!..-,) and let us partition $ in mutually exclusive i=i!, with sets a y (4.6) %= UT.,T.^^)la.j = ypj}, y= 1,2, m M+1 Then from (4.4) $ = U (t-,t.^i) = U a ^=l y=l From (4.5) and (4.6) it follows that L.= m M+1 Ea..w..= Z y=l ^=l a..w.. Z i ea y or (4.7) L. = J M+1 M+1 Z Z yp.w. y=l iea ^ . ^^ = p. Z y '^y=l Z iea, w . . ^^ I -22Now, let us define y (4.8) = ^ z w. ^ lea y From (4.7) and (4.8) we derive M M+1 We know that: M M I U=l = lly y=l^ (4.10) ^f/y ^ w. Z - ^j - < t. iea/J ^ Z i ec^^^ w.. ^J ^M.l Applying Lemma 4.3 to equation (4.10) yields (4.11) ^f/^ylf^^tj -y^,^) It follows from (4.12) (4.9) and (4.11) that lP,{M(t, k- - By (4.12) and the definition of 4 ^ (4.13) MM y„,,) 'M+1 y^.-, M+1 , + 1) M.i> M+1 we therefore obtain l"tj*y„,, 'Mtj* £ V m Now since Mt. + J w. . 1 J E ,• —< t - d., m J ^i^^m (4.14; -f- Pj < - T m + w . mj - d. J w.j+w^j -23- + w_. But T - cl.<C. d. = T.. - Since j was arbitrary 1-^12 2 jeN jeN -^ Equation (4.14) therefore yields L.<p.T., p.T. for any schedule i" i. -J L(z,T) < Min Z p.T. < Min E p.T. J n jeN ^ jeN ^ ^ (4.15) Thus ^ (Q.E.D.) "^ 4.5 Corollaries 4.5.1 Let us consider problem (P') defined as follows: = Min Min Z h.F Z h .F J n jeN ^ jeN ^ ^ . . "J Then, the optimal solution of (PI) is a lower bound on the optimal solution of (P') when using the following transportation costs; (4.16) a.j. {1 + [T^-/tj.]}hj for all x. The assertion follows immediately from (4.2) and (4.4) by putting Proof: d. = ^ and p. = h.. 4.5.2. Since (PI) is a linear program, the proposition of 4.4 holds also for bounding the sum of penalty costs and holding costs, i.e. for Min Z (p,T. + h.F.) ^ ^ ^ J n JeN The cost coefficients are then given by (4.17) a.j ^/{l + [(t. {1 - dj)/tj]}Pj + + [T^/t-]}h. otherwise {1 + [Ti/tj]}h. for T.>d. -24- The procedure described above may be used for bounding any convex 4.5.3. piece-wise linear cost function of completion time as such a function may be considered to be the sum of linear penalty functions of the form con- The individual cost matrices simply add together, sidered in section (4.4). The lower bounds obtained by this procedure are clearly a function 4.5.4. Now consider two partitions T and of T. T = {-^I'^e-'-^n'Vl (4.18) ...^v^ and T' = {t^ '12' T^. "^n T^ It follows from the L(z,t) £L(z,T'). T' = T.' for i V- ^'n+1 = t'.^ for • . .t^' . . .t' }such that l,...,n = " of H such that i = ""'n+Z ••' - ^'n+p+1 " Vl n+l,...,v definition of the cost coefficients a. • in (4.4) that Thus the finer the time divisions the better the bounds. 4.6 Extensions The results obtained above may be generalized in the following way: 4.6.1 When dealing with other than simple overtime plans, it can be verified that an analogous bounding procedure can be used. to multiply the costs a^ Max q(T) 0<T<H >^ 1 . by a factor X^ = ^^^ ,y It suffices provided that -25- The generalization to the case of r. ^ 4.6.2 is obvious. The cost coefficients to be used are 6,j{l ^ [(T. (4.19) - d.)/t.]}p. . {1 . [(T. - r./t.]}h. '°^^i^^J ,..4i M for T.< r. where t 1 if x- ^^ > - 1 = 6.-. d. J (0 otherwise and 4.6.2 is completely similar to the The detailed proof of 4.6.1 proof given under 4.4, and it is available from the authors. Let y(x,S) be the detailed sequencing costs for a given overtime 4.6.3 vector X and schedule Se^, i.e. y(x,S) = (4.20) Suppose x' < x" (i.e. X||, < xj;, schedules corresponding to y(x",S"). 1 ,. . . ,K). Let S' and S" be the optimal Clearly y(x',S') and x" respectively. x' < >^ y(x',S") or y(x',S') (4.21) (4.22) = k By the minimality of S',S" it also follows that y(x",S") < y(x".S'), r(x".S'). In Z (p.T. + h.F.) ^ ^ ^ ^ j=l - y(x".S') < y(x',S') " y(x",S") < y{x',S") particular Min {y(x,S) - y(x',S)} < y(x', S') SeA < Max (yvx.S) - y(x',S)} - y(x",S") - (x",S") -26- It is possible to determine bounds on the minimum in (4.22) by "transportation" methods similar to those employed above. (t-,,...,! ) Let T Forx',x"eX, be a partition of H into time slots, = x' £ x", consider the following problem: Problem D : Find V D(x',x",T) (4.23) Min = n Z Z i=l j=l c • -w. ^-J ^^ subject to: n (4.24) ^ w.. < s.(x"), ^^ j=l = i l,...,v; ^ V (4.25) Z (4.26) where w. (4.27) . w.. = t., i=l ^^ vt.. > 0, j = l,...,n; ^ = i v; 1 j = l,...,n. is the time allocated to job j in time slot [t^-,t^-^.i] and s.(x") /^''^ q(T,x")dT, = i = l,...,v; ^i h. (4.28) -C 1 Qi ^i < ^j J S-J (h.+ pj -Vr^ ^j Qi 1 ^i 1 in which (4.29) Q. = Y (q(T,x") - q(T,x'))dT, i = l,...,v. where -27- Proposition 4.6 For every partition . T and for all x',x"eA with x' < x", D(x',x",T) < Min {yCx'.S) (4.30) y(x",S)}. - Se>S Proof Let Se<l be arbitrary. : of job j under S T^. be the completion time for the given overtime levels x', by definition of q(T,x), Q. until CUS), C."(S") Let is the difference in total over that available under assumption that r. = 0, x" respectively. x' until Then, overtime under plan x" Therefore, (under the t.. for all j), CJ(S) > T. implies Cj(S) > C^:(S) + Q^ (4.31) For the given S let ||w..||= corresponding to S. ||w^. .(S)l| be the time slot-job allocations Define V A.(S,x',x",T) (4.32) (i.e. = E C..W. ., j = the total problem D cost associated with job l,...,n; j We first show that Y-(x,S) be the actual detailed cost of S under xeX. Y.(x',S) (4.33) - Let allocations). Y,-(x",S) > A.(S,x',x",T). j = l,...,n. J J J Let I.e{l,...,v} be the latest time slot in S under x" for which there is a job j allocation. (4.34) Tj If C'.'(S) 1 n.C'.(S). (4.35) < d. Thus, < <Tj Cj"(S) then since C'.(S) > J J ^^ and w.j(S) = 0, C'.'(S) J i I. > it follows that y,-(x',S) > J Thus, from (4.31), Yj(x',S) - Yj(x",S) ihj(C^.(S) - C^'(S)) > h^Qj . -28- But C';(S) < d. implies that T. < d ij J J c.. (4.36) . and by (4.28)-(4.29) we have J <Cj_j=:J-Qj_, i =1,....!.. V Therefore, since Z w. J -1 . ' i=l = t., J ': (4.37) Z c. .w. = . Z 'j c-.w.. < Ct I. w. . = h.Q, which with (4.35) yields the desired result (4.33). If CV(S) > d., then since C'.(S) > C':(S), job J J both plan x' and x". (4.38) . j will be tardy under J J Therefore, from (4.31) Yj(x',S) - Yj(x",S) = {h. + Pj)(C'.(S) - (hj^Pj)Ql.. But by (4.28) it follows that h. + p. (4.39) Therefore, c. < c. . <-J^ iQj , i = 1....,!.. C^(S)) > -29- K i Z (4.41) (x" b. K < D(x',x",T) < y(x'.S') x/) - - K - y(x",S") K l^^l particular, if In b, = b, then one need only consider those z levels for which D(x°(z),x°(z+1),T), > b (4.42) The cost structure of the above problem where x°(z) is given by (3.1). implies for all zeZ that D(x°(z-l),x°(z),T) > D(x°(z),x°(z),x°(z+1),T). (4.43) Therefore, we may restrict attention to the set of total overtime levels by given J Z 3 = (f , z max z mm . where t is uniquely determined by D(x°(f-l),x°(f),T) (4.44) or ) > b > D(x°(2),x°(f+1),T). which ever is greater, Finding f in (4.44) is very simple given the monotonicity relationship in (4.43). 4.7 For example, binary search on [z^in'^^max-' ^^" ^^ ^^^^' Convexity of the Lower Bounding Curve In the case (4.45) r. = 0, jdN, and b^ = b, for k = 1,...,K, we define L*(z,T) where x° is given by (3.1). = L(q(T,x°),T) From proposition (4.4) and the dominance relation (3.6) it follows that (4.46) bz + L*(z,T) < g(z,7T), for all zeZ. -30- Thus, define the lower boundary function £(z,T) (4.47) For a given T = bz is convex in z, (x.^ as bz + L*(z,T) = ,t £ ) we show now that g^(z,T) is convex in z. it suffices to prove that L*{z,T) is convex in z. us first notice that L*(z,T) is a non-increasing function in z. follows since x^ increases s. = / = x^(z) is non-decreasing in ^i+1 z Lemma: Proof This q(T)dT also increases or stays the same, which means z increases. L*(z,T) is convex in z. Let z, and z^ be given and z = oz, + : Let Thus as z by (3.1). that the constraints of problem (PI) are relaxed as 4.7.1 As Let x°(Zj^) be given by (3.1), ^ = 1 (1 - o.)!^ (0 £ and let x = ax°(z^) + ,2 £ a (1 - 1 a)x°(z2). Define A as A = Min Z (4.48) Z subject to ^a^'^aa Zw. <_ . s ^^•j - ^j >0 w.. where s^ ^_J q(-r' ,x°(z^)) dr' corresponding to x°(z.) and where (4.49) ll. =aZs.^ = where ^ = total aZx° + £ = 1,2, , s^- = asi (1 _ (z^) + regular time (fixed) (1 - We have a)s2. a)Zs.2 (1 = + are the timeslot allocations a)Zx°(z2) + - Zp. . "^ Since ^x^(z^) = z^^, il = 1,2, -Sl- it follows that (4.50) Is. = z + ^ i Now we note that the following "transportation dominance property" namely that for given T, and given total overtime holds: z + f = Zs., L*(z,T) < L(q(T,x),T) for all xeX for which such that z Zx. ^ = The z. "^ k i intuitive interpretation of this property, given (4.45) is that for total z + f = Zs timeslots. . , a this total should be allocated to the earliest feasible The allocation s? corresponding to x?(z) does just that. This property is analogous to the dominance relation for overtime vectors in 3.1 and follows directly from the fact that a.. £ a. .-, . for i = lemma ;,..., v-1 and all j. Given this property and (4.50) it follows that L*(z,T) (4.51) < A By the convexity property of linear programs A < aL*(zj,T) + (4.52) (1 - which with (4.51) yields the assertion. we have finally that a)L*(z2,T) Q.E.D. Min{cx:Ax < b}. The property referred to asserts that f In the case at hand the b See Dantzig [3], p. 2 75. vector of interest is the vector of timeslot allocations, s^ , 1 £ i £ v Let f(b) is convex in b. = -32- 4.8 Lower Bounding Nodes in the Detailed Tree Up to now, the bounding procedure has been presented as a method to calculate bounds on nodes at the first level in the tree (i.e. nodes corresponding to different z levels). be used to bound nodes in the detailed tree. particular value of a z show now how the method can We will These nodes correspond to and to a given set N, of jobs already scheduled. The set of not yet scheduled jobs is represented by Np and obviously N = N^UN2. In fact. (4.53) g(z,TT) = bz + Z jeN = bz + E (p.T. + h.C.) •J -^ J J (p.T. + h.C.) + Z (p.T. + h.C.) and ^(z,T) = bz + y(z,tt|N^) + L*(z,T,N2) (4.54) where g^(z,T) = lower bound on total cost function; Y(2.'n'lNi) cost of the jobs which have already been scheduled L(z,T,N2) = = Z = actual (p.T. + h.C.)» lower bounding cost of scheduling all jobs of Np after jobs of N, have been scheduled. So, the problem of concern here is to calculate lower bound L(z,T,Np).on the actual cost y(z,it|N2) = I 4.8.1 (p.T. + h.C). Direct Transportation Method We can calculate L(z,T,N2) ^^ using the method presented in section (4.2) after deleting capacity and timeslots already used by jobs in N, 33- The node actually under consideration corresponds to a partial schedule of jobs out of level N-, and has been derived from a node on the first The transportation problem corresponding to the given z level. solved at the first level node has the following structure: (p*) I Mill mn I si S2 -34- The relationship between the capacity supplies si in in (P**) and s. (P*) is the following one: s'. = s' . £ s' . for s. = s. i for for = 1,2,. ..,1-1 i = = i where is the first timeslot for which I I I+l ,. . . ,v It follows also that V V Es'.+ i=l t.= Z jeN^ ^ ^ Is. i=l ^ Applying proposition (4.4) to problem (P**) yields on the scheduling costs for N^ = {k,k+l and s'. simply all jobs in N, ,. . . ,n}. a lower bound The relationship of s^. excludes any schedule for which any job in Np starts before have been completed. Following this method, a trans- portation problem has to be solved at each node of the tree or at some strategically selected nodes. The dimension of the transportation problem decreases when moving downwards in the tree. 4.8.2 Srinivasan's Operator Method This method allows us to calculate the optimal solution of a problem of type (P**) when the optimal solution of (P*) is known, without resolving explicitly (P*) (see D7] and p8]). 35- 4.8.3 The Use of Dual Prices When solving problem (P*), we obtain a set of dual variables u.*(i = l,2,...,v) and Vj*(j = l,2,...,n) such that V (4.55) ||w.t|| is the optimal n Zs.u.* + ^a. .w.^ = 3=y^ ^^ i=l where V n E i=r ^ Z j=l t-v.* ^ ^ transportation solution. It is clear that u.* and v.* are dual-feasible in (P*), i.e. u.* and v.* satisfy the dual constraints of (P*) represented by (4.56) u^. +v. £a.. forii =l,...,v = (j It is clear also that a l,2,...,n set of variables u.* and v.* which satisfy (4.56) will automatically satisfy (4.57) Ui+Vj<a.j for ji = I,...,v U = k,...,n But (4.57) represents the feasible region of the dual problem corresponding to (P**). So, the vectors u^.* and v.* are dual-feasible in (P**). But for any pair of feasible dual vectors u. and v. and for any feasible primal solution |w. -H of (P**) we know that (4.58) V Es.'u. + i=f ^ V n I j=k t.v. < J J ~ i Z = n I Z a..w.. j=k ^^ ^J Equation (4.58) is a well-known result from duality theory in linear programming (see [8], page 228). So when introducing u^* and v.* in -36- (4.58) we obtain V (4.59) i V n I t.v.* < u.* + ^ si =I ^ J j=k ^ -^ n l a. .w. .** Z i = ^^ j=k ^J I where w. .** is the optimal solution to (P**) Following arguments analogous to the proof of proposition (4.4) it is readily shown that the right hand side of (4.59) is dual Thus, again from (4.59), we obtain the desired have been scheduled). N, lower bound on cost of scheduling jobs belonging to N^ (after all jobs out the actual of a pricing lower bound for this cost to be: V L*(z.T,N5) (4.60) n Es.'u.*+ = "^ i = I ^ ^ S j=k t.v.* ^ J Branching and Selection Considerations 4.8.4 This article proposes an algorithm of the branch-and-bound type. The bounding procedures have been discussed above. The branching and selection procedure we propose are very similar to those used by Shwimer in [15]. A particular node in the tree corresponds to a particular overtime level a and I in the tree, level to N, z ). a («- partial - 1) schedule of jobs out of N^N. At a given jobs have been scheduled (and thus, belong Let Np contain n^ = n + 1 -I elements at this point. From such node we may creat n^ new nodes by branching on each element of set ^2- The n„ new nodes represent partial in the first on level (Ji "schedulable" position. After bounding n^ new nodes created + 1) we have to choose one particular node out of this set to be explored further. bound. schedules with one more job scheduled We propose to choose the node with minimal lower -37- 5. An Algorithm and an Example As a first-cut at using the above results, a branch and bound algorithm was formulated and programmed. for the case r. = 0, jeN, and b. = b The algorithm was developed for all k, so that all dominance relations and convexity arguments derived above would hold. structure is that given in Figure above. 5 The tree The structure of the algorithm is essentially as follows. For a prespecified T Fibonnacci search is performed on the convex lower bounding curve cl(z,T) to obtain z* such that £(z*,T) (5.1) =Min {a(z,T): z^.^ < z < z^^^} A non-preemptive schedule is then constructed (following (2.1)) by sequencing in order of completion times of any preemptive schedule corresponding to the time slot/job allocations in the optimal transportation tableau at z*. This solution is the current best and gives an upper bound on the optimal solution. The current z* level is explored via the detailed algorithm described below and the current best solution is changed as appropriate. Thereafter all other undominated z levels (i.e. z such that c[(z,T) < current best) are explored via detailed search until no undominated levels remain. z The algorithm terminates at this point. The detailed algorithm for a given z proceeds by first calculating the optimal transportation tableau if npt yet available. The bounding strategy used was the dual pricing scheme of 4.8.3 with branching to the node with the minimum lower bound as described in 4.8.4. The example below A more detailed description is given in [^]illustrates the various steps in applying the algorithm. 38- An example is now given to illustrate certain characteristics of the solution and the above algorithm. Example : Consider the following data. = 10, K = 10, H = 96, b = 25. 1. n 2. Time periods 123456789 ^k 10 39- 4. Job data job *j j 1 2 3 4 5 6 7 8 9 10 -40- Detailed scheduling costs Zfp.T. + h.F.) = 2221 = J j Overtime costs = J J J bz =25 x 13 325 = Total cost Figure 2545 illustrates several steps in the solution procedure. 6 lower curve shown, £(z,T'), was used to find the initial level z* detailed search. The 12 for = After this initial level was found the partition T" was The transportation tableau at optimum corresponding to £(12,T") used. indicated the following preemptive schedule of job/time slot allocations. Job 2 No, t i 4 3 4 4 f t Time Tt- I T 1 I 1 1 t I f 25 30 S '^4 Job 9 No. Time 33 l—L—l 35 1 I_l Job 7 No. _I Time 65 L I 1 J \ 9 i_ L_L #1^ 70 10 t 1 10 10 -I 80 75 7 L_J t t 85 ^9 good non-preemptive schedule (tt. <>i t m = _l t I L 65 yy,^A'y,<^A 90" 96 10 The slashed areas above indicate idle time. a I V5 H From the above schedule 2-1-4-3-5-6-8-7-9-10) was obtained by sequencing in order of completion times for the transportation tableau preemptive schedule shown above. This yielded the upper bound g(12,TT.) = 2580, -41 An adjacent pairwise interchanges in yielding an improved solution = -n^ were then evaluated 2-1-3-4-5-6-8-7-9-10 with g(12,Trg) Detailed search of the overtime level 2566. tt. = z 12 revealed that = was ttp, b optimal for this level. Overtime levels less than eliminated. z = 12 were then explored and quickly The first solution generated for z 13 was = = tt. 2-1-3-4-5-6-8-9-7-10 which yielded the improved cost g(13,TTj,) Detailed search yielded further improvement = This solution also dominated all other z g(13,iTp,) = 2546 with 2562. ttj, = -n^. levels greater than 13 and is therefore optimal Note that in this example the lower bounding curve £(z,T') and £(z,T") achieve their minima at the same point. Note also the solution (12, TT.) constructed from the transportation tableau (after 7 seconds) proved to be very close to optimum. The computation time (32 sec.) was subdivided as follows: - compute ^(z.T') - compute 2.(z.T"): - detailed search of all - other operations: : 1 second 27 seconds 1 z levels: 3 seconds second The computation of £(z,T") requires about 85 percent of the total time. As indicated in 4.5.4 the computational on the time partitioning: a efficiency depends finer time division gives stronger bounds, but requires to solve transportation problems of higher dimensions. We were able to cut down the computation time to 16 seconds (instead of 32) by replacing -42- T" by T'" and a (t'" = 0, t'.'^ = x'." + 2). More complete computational results discussion of refinements of the above algorithm are given in [6 ], u -43- (2,n) S^' 1 1 tSi>Z 1 V y^lSZt 250O -- 2M79 '*i'wr6 ztj6g ^<a(z,T") -ri'tfeH 2v?9 I I ZH-00 ^iS9 ^35 t^oo 2. ^f^7 C:?,r'; .- 1- _, 9 Figure 6. 10 n 12 13 14 15 16 Illustrating the Algorithm for Sample Problem .44- Concluding Remarks This paper has formulated the one machine job shop scheduling problem with variable capacity. A bounding structure has been proposed which appears to provide considerable insight into the structure of the optimal solution as well as bounding its cost. Among the issues which appear fruitful for future research, the following seem particularly important. 1. Extension of the bounding scheme to more complex aggregate costs and constraints. In principle, this is straightforward. If the cost and constraint structure of the problem were linear, for example, a lower bounding problem is formulated with the given aggregate costs and constraints plus the transportation formulation for the detailed level. The optimal solution to this lower bounding (linear programming) problem would then be used as a starting point for local search just as the minimum of £(z,T), and in the algorithm above. a corresponding non-preemptive schedule, were used This procedure would very likely lead to an excellent solution, though bounding of all capacity plans would no doubt be prohibitively expensive in this more general environment where a single dimension representation of overtime (total overtime) is no longer possible. 2. include: Extensions and refinements of the algorithm. Cases of interest (a) non-simultaneous job arrivals; (b) inclusion of Shwimer's theorem A (generalized) in the detailed search algorithm; (c) inclusion of the slope bounding relations introduced in 4.6.3 (d) more complex -45- aggregate models as discussed above; and (e) general pruning and testing of the algorithm. 3. Evaluation of alternative heuristics likely to be imple- mentable in more realistic environments. (a) methods for determining a Heuristics of concern are: good capacity plan; (b) dispatching heuristics; and (c) coordination schemes for iteratively determining a combined capacity and scheduling plan. The central issue here is to provide normative insight into the resolution of the aggregate-detailed cost trade-off problem. The extent to which one might be able to extrap- olate such one machine results to more general environments is, of course,, a moot question requiring more complete tests by empirical and simulation studies. 4. Finally, it would be interesting to explore the possibility of extending the transportation bounding scheme to several machines operating in series or in parallel. -46- Appendix Proposition (P4) F Let r. = 0, : j = I l,...,n. for any given capacity plan. Proof: Suppose we know the optimal schedule S with respect to that this schedule is not the SPT schedule. S Then the SPT rule minimizes is and suppose F By (PI) and (P2) we may assume non-preemptive without inserted idle time. My(T) S S' there are adjacent jobs Then: Interchanging k,Jl such that k<il and a gives completion times C/ k (k precedes £) and and C' for jobs t. k and E C. > in a new schedule called S', and C^ <_ C' K + C; therefore Ji f' t^^^ < t|^ and y{i) is non-decreasing; ^i- ^k Thus C^ because < ^ C. F. K + Co. But C. = C. -Vj ?^ k,il. Then Z CI < jeN jeN J Continuing with pairwise interchanges one may thus )t J J reduce S to the SPT sequence without increasing F. '^ and t^^. -47- BIBLIOGRAPHY Production-Inventory Systems: Buffa, E. S. and Taubert, W. H. Planning and Control Richard D. Irwin, Inc. , 1972. . Conway, R. W., W. L. Maxwell and L. W. Miller, Theory of Scheduling , Addison Wesley (Reading, Mass., 1967). Dantzig, G. B., Linear Programming and Extensions University Press, 1966. , Princeton Elmaghraby, S. E., "The One Machine Sequencing Problem with Delay Costs," Journal of Industrial Engineering , Vol. XIX, No. 2 (February 1968), pp. 105-108. Emmons, H. , "One-Machine Sequencing to Minimize Certain Functions of Job Tardiness," Operations Research , Vol. 17, No. 4 (July- August 1969), pp. 701-715. Gelders, L. and P. R. Kleindorfer, "Coordinating Aggregate and II - Computation Detailed Scheduling in the One-Machine Job Shop: and Structure," unpublished working paper, Sloan School of Management, MIT, May 1972. Green, R. S., "Heuristic Coupling of Aggregate and Detail Models in Factory Scheduling," unpublished Ph.D. thesis, Sloan School of Management, MIT (February 1971). Hadley, G., Linear Programming , Addison-Wesley, 1963. Held, M. and R. M. Karp, "A Dynamic Programming Approach to Sequencing Problems, " Journal of the Society for Industrial and Applied Mathematics , Vol. 10, No. 1 (March 1962), pp. 196-210. Jones, C. H., "Parametric Production Planning," Management Science Vol. 13, No. 11 (July 1967), pp. 843-866. , McNaughton, R. "Scheduling with Deadlines and Loss Functions," Management Science Vol. 6, No. 1 (September 1959), pp. 1-12. , , Newson, E.P., "Lot Size Scheduling to Finite Capacity," unpublished Ph.D. thesis, Sloan School of Management, MIT (August 1971). Schild, A. and I. J. Fredman, "On Scheduling Tasks with Associated Linear Loss Function," Management Science , Vol. 7, No. 3 (April 1961), pp. 280-285. -48- ^."Scheduling Tasks with Deadlines and Non-Linear Loss Functions," Management Science , Vol. 9, No. 1 (September 1962), pp. 73-81. [14] ____^ [15] Shwimer, J., "On the'N-job, One-Machine, Sequence-Independent^ Problem with Tardiness Penalties: A Branch and Bound Approach, Management Science . Vol. 18, No. 6 (February 1972), pp. B301-B313. [16] "Interaction between Aggregate and Detailed Scheduling thesis, Sloan School of Management, MIT (June 1972). , in a Job Shop," unpublished Ph.D. [17] SrinivasBn, V., "An Operator Theory of Parametric Programming for the Transportation Problem (I)," Management Science Report #236, GSIA (Carnegie-Mellon University, March 1971). [18] "An Operator Theory of Parametric Programming for the Transportation Problem (II)," Management Science Report #242, GSIA (Carnegie-Mellon University, April 1971). [19] ___^ [20] Taubert, W. H., "A Computer Search Solution of the Aggregate Scheduling Problem," Management Science , Vol. 14, No. 6 (February 1968), pp. B343-B359. , "A Hybrid Algorithm for the One-Machine Sequencing , Problem to Minimize Total Tardiness," Management Science Report #225, GSIA (Carnegie-Mellon University, November, 1970). It. '-^h^