You are on page 1of 23
Opt Res. Q., Pergamon Press 1972. Vol. 23, pp. 323 to 331. Printed tn Great Britain On the Flow-shop Sequencing Problem with No Wait in Processt S. S. REDDI and C. V. RAMAMOORTHY Department of Electrical Engineering, The University of Texas at Austin, Texas, U.S.A. The optimization problem of minimizing the completion time in flow-shop sequencing with an environment of no intermediate storage is considered. Applica- tion of this problem in computer systems is pointed out and techniques are developed to solve the problem. FLOW-SHOP sequencing problems have been extensively treated in the literature.}? There are many algorithms that have been proposed to solve these problems and in almost all these the same assumption is made regarding the environment of flow-shop sequencing. This assumption is that infinite inter- mediate storage exists which can hold all the partially processed jobs when these jobs cannot be further processed because the subsequent machines are busy. Before illustrating this assumption with an example, two other assump- tions made regarding these sequencing problems are given. These are that (i) n jobs are to be processed through m machines with the order of processing on different machines being the same for all jobs and (ii) the processing time for each job on each machine is known and fixed. The problem is to find an ordering of n jobs which minimizes the total time to complete processing all the jobs on all the machines. Now consider an example of 5 jobs and 3 machines with the processing times of the jobs on various machines as shown in Table 1. If the TABLE 1 Job 1203 475 4 oserosZ sequence of jobs on each machine is (5, 3, 2, 1,4), then Figure 1 shows the Gantt chart for this sequence and we note that job 3 waits in process during the periods 5-7 and 11-14 because machines 2 and 3 are busy processing job 5. Similar waits occur to jobs 2, 1 and 4 because of busy machines, Note that for This research is supported by NSF Grant GJ—28452 and the Joint Services Electronics Program under Research Contract F44620-71-C-0091. 323 Operational Research Quarterly Vol. 23 No. 3 the schedule to finish as shown in the Gantt chart we need an intermediate storage capacity for at least 3 jobs (for during the period 13-14 we see 3 jobs are waiting to be processed). This type of sequencing problem, without any 5 3 He iH Machine 1 I I a as = 4 Machine 2 ze I a 5 aaa: t 4 Machine 3 a ' a : © i 10 5 za ’ Periods of wait Job 3 xxx! Ixx}x x| vob 2 x1 kx xxxx\ Job I RXR RK RK XX) Job 4 Lo RX KK KK KX Fic. 1. Gantt chart showing the sequence (5, 3, 2, 1, 4) and the periods of wait for the various jobs. regard to intermediate storage, is usually treated in the literature. Now in production scheduling problems occurring in industrial systems, the assump- tion of infinite intermediate storage may not be unreasonable, but when flow- shop sequencing is implemented in computer systems, the assumption is not valid since in practice the intermediate storage can only be finite. Now we explain how flow-shop sequencing concepts are applied in computer systems. In order to increase the speed of computation and the utilization of resources, many present-day large computers (like IBM 360/91, CDC STAR, etc.) are adopting a pipeline (or assembly-line) environment. The various functional units of the computer are made capable of simultaneous and inde- pendent operation and the computer tries to exploit this characteristic to enhance concurrent execution of as many jobs as possible. As a simple example, consider a computer with three functional units Memory (M), Central Processor Unit (CPU) and Input-Output (1/0). Supposing this computer is multiprogrammed and has a stream of different independent programs (jobs) to be executed. Each program requires a certain amount of time first on M, then on CPU and finally on I/O (for this computer we assume that CPU and I/O have sufficient working memory so that they are independent of M to process any single job). We see the situation is essentially a flow-shop sequencing problem when we try to minimize the time to complete the execution of all the programs. Now let us illustrate the implication of infinite intermediate storage in our computer 324 S. Reddi and C. Ramamoorthy - On the Flow-shop Sequencing Problem system. Supposing we have 5 different programs and the required times on the various functional units are the same as in Table 1 where machines 1, 2 and 3 correspond to M, CPU and I/O respectively. Then for the sequence of jobs (5, 3, 2, 1, 4) on each machine, we must have at least 3 units of intermediate storage in an environment of infinite storage capacity. (We are oversimplifying the situation for the storage requirements may depend on the nature of the job and on the functional unit for which the job is waiting. For example the storage requirement of job 2 may be different when it is waiting for CPU than when it is waiting for I/O and for job 3 these storage requirements may be entirely different. However, the essence of the example is to show the effect of intermediate storage and hence, for simplicity, we assume that each job requires 1 unit of storage while waiting regardless of the functional unit for which it is waiting.) This storage which we refer to as buffer is usually expensive to provide in practice. But the problem does not stop with the provision of sufficient storage. There is also the problem of proper routing of the waiting jobs. For example, in our case at time 14, we see that only job 3 but not jobs 4 and 1 must be released from the intermediate storage and routed to I/O properly. This problem, referred to as a supervision problem, gets very complex when the problem size becomes large. Ramamoorthy and Gonzalez* give further examples of flow-shop sequencing in computers. The purpose of this paper is to consider the flow-shop sequencing problem with no intermediate storage (FSNIS). This problem is significant in computer systems because firstly it is a step towards the flow-shop sequencing problem with non-zero finite intermediate storage (FSFIS) and secondly it is extremely useful in large computer systems where large buffers are impractical and because of the elimination of complex supervisory systems to enforce proper routing of waiting jobs. Techniques exist to solve the flow-shop sequencing problems with infinite intermediate storage (FSIIS), but the solution to a FSIIS problem need not be the same as to a FSNIS problem as the example of 3 jobs and 3 machines with the processing times as shown in Table 2 illus- trates. If the problem is FSIIS, then the optimal ordering that minimizes total Taste 2 Job 1233: M —— a1 | 232 3022) c ho 2/10 4 5 i Do | 4s 3 completion time is (1, 3, 2) or (3, 1,2) and the completion time is 44 units, If the problem is a FSNIS one then the optimal ordering is (1, 2, 3) with a completion time of 45 units. In this case the orderings (1, 3, 2) and (3, 1, 2) have completion times of 52 and 46 units respectively. See Figure 2. 325 Operational Research Quarterly Vol. 23 No. 3 (o) | 7 ES Machine | 1 A 3 Machine 2 1 [2 |s Machine 3 — os Bree 3s ae a5 Oeics 2 Machine | Eo oi 3 ae Machine 2 1 I 3 2 Machine 3 O33 1520 353944 r Fic. 2. (a) Gantt chart showing the optimal schedule (1,2, 3) for the FSNIS problem of Table 2. (b) Gantt chart showing the optimal schedule (1, 3. 2) for the FSNIS problem of Table 2, Note the wait for job 3. Machine | 5 a eS Machine 2 £ e 2 ; 4 s 3 \ Machine 3 [lk 4 Ose eee Ore rao oa ows Fic. 3. Gantt chart showing the sequence (5, 3, 2, 1, 4) for no intermediate storage case. Note the schedule is (5/0, 3/9, 2/10, 1/17, 4/22). The FSNIS problem is illustrated further by means of the example given by Table 1. The sequence (5, 3, 2, 1, 4) is shown in Figure 3 and 28 is the minimum time to complete the schedule with no job waiting in process. Note the solution to a FSNIS problem consists of finding an order of jobs and the times at which the jobs start processing on the first machine such that there is no job waiting in process and that the time to finish processing all the jobs is a minimum. In other words, the solution is given by a permutation representing the order of jobs and a n-tuple whose ith component gives the time at which the ith job in the permutation of jobs must be started on the first machine. The schedule given by this solution is optimal in the sense of minimizing the completion time to process all the jobs. As an example, the solution to the FSNIS problem of 3 machines and 3 jobs considered previously (Table 2, Figure 3) can be given by the permutation (1, 2,3) and the timing n-tuple (0, 3, 35) which can be represented as (1/0, 2/3, 3/35). 326 iS. Reddi and C. Ramamoorthy - On the Flow-shop Sequencing Problem In the solution the sequencing must be the same on all machines (otherwise there will be wait in process) and hence only n! sequences need be considered. We can note that we are only interested, for any sequence, in the timing that minimizes the completion time, without any wait in process. For example in Figure 2 for the sequence (1, 2, 3), (0, 3, 35) is the timing that minimizes the completion time so that there is no wait in process. In the following we establish the relationship between the sequence and the timing of jobs for the no wait in process situation that ensures the sequence to be processed in the minimum time. Let there be jobs J,,J5,...,J, and m machines M,,M,,...,My,. Each job has to go through the m machines in the order M,, My, .... Mm represented by (1,2,...,7). ty is the time to process J; on M, and each sequence is represented by a permutation of integers 1, 2, ...,n. The permutation (j,, jo) ...,jn) Tepresents the sequence in which the order of processing of the jobs is Jj, Jj,,...,J;, on all machines. The timing of any sequence (j,,/o)---.jn) is given by a n-tuple (ty; ta, ...y tn) Where 1; represents the time at which Jj, starts processing on the first machine. Any solution with the sequence (j,,j2,...,/,) and timing (ths tg, «+s f,) is represented by (jy/t,,,/a/ta» ---»jin/tn)- Let F(p,q) be the minimum time between the completion of J, and the initiation of J, on the first machine so that there is no wait in process for the sequence (p,q). Then: F(p,9) = max (te,p— tgs to, + tap — (tr gt bogs +s top t tay t tay t + bmp (gt bog t «++ tmaq)s 0) k ka = max (Beco a trp) >» 2 We give an example to illustrate the application of the theorem. For the job-set of Table 1, the matrices showing F(i,j)’s and c;,;’s are shown in Figure 4 and the optimal schedule is (4, 1,3, 2,5) since a minimal cost tour is (0-4~-1-3-2-5-0). The tour is found by trial and error after reducing rows and columns.* 328 is: S. Reddi and C. Ramamoorthy - On the Flow-shop Sequencing Problem Instead of trying to minimize the idle time on the first machine, i.e. the time between the start and the finish of the schedule during which the first machine is not processing any job, we can try to minimize the idle time on any of the other machines to obtain perhaps different optimal schedules. This involves finding ere Of aienea aaa nas) 1 Oe 0) of - 3 3 3 13 3 See aa WSO la. 22.0: 3]}4 0-5 2 2)6 3 44 | 4/0 02-0 3}9 40-52 Sis oe = 4/5 002-0 i, 5/0 3 1 5 6 - rs Fic. 4. Matrices showing Fy's and c,/'s. quantities similar to F(i,/)’s and redefining c;,’s but the procedure will be the same as before. We so far concentrated on minimizing the completion time but in some situations the completion time may not be significant. For example, when the machines are rented and the rents are not the same for all the machines, the objective, maybe, is to minimize the total rent for a schedule. This involves minimizing the weighted sum of idle times on all the machines which can be easily handled by redefining c,,’s and solving a new travelling salesman problem. Now we consider some special aspects of our problem. Two-machine case. A simple solution® exists for the two-machine FSIIS problem with an arbitrary number of jobs. It is interesting to note that there also exists a computationally simple solution for the two-machine FSNIS problem with any number of jobs. The solution is based on the work of Gilmore and Gomory.” They consider sequencing n jobs Jj, J, ...Jy on a single machine whose state is described by a single real variable x. Job J, requires a starting state x = A; and leaves with x = B;. There is a cost for changing the machine state x so that the next job may start. The cost c,; of having J; follow J; is given by: Ay (| ‘txdx if A,>B,, B Sid ee By f gQx)dx if By>A;, Ja, where f(x) and g(x) are integrable functions satisfying f(x) + (x) >0. They give a solution requiring only o(n*) steps to find the minimal cost sequence for the n jobs. The two-machine FSNIS problem is exactly the same as the above if Ay = thy B; = te f(x) = Land g(x) = 0. The c,; corresponds to the idle time on 329 Operational Research Quarterly Vol. 23 No. 3 the second machine when J; follows J; and hence the minimal cost sequence for Gilmore and Gomory’s problem also minimizes the completion time of the schedule for our problem. Levner® uses a branch-and-bound method to solve a similar problem to the FSNIS problem. He also assumes no intermediate storage environment, but in his case any machine can hold a job when that job has finished processing on that machine but cannot be further processed because the next machine on which this job is to be processed is busy. However, when a machine is holding such a waiting job it cannot process any new job. It may be interesting to note that the completion time of any sequence S in his model will be the same as the completion time of the same sequence S in the FSNIS problem when there are only two machines. For an example see Figure 5. This suggests that we can apply Gilmore and Gomory’s algorithm to Levner’s two-machine problem. 3 3 \ 3 Machine | : if ie [3 Machine 2 ee | ecaeeecae Aes Game 10 13 16 19 Ae t (a) (o) Fic. 5(a) and (b). Gantt charts for sequence (1,2, 3) for Leuner’s and FSNIS problems respectively. Note in (a) machine 1 cannot process any job during the period 7-13 since it is holding job 2 which is waiting for machine 2. The processing times for jobs 1, 2 and 3 on machine 1 (2) are 4 (9), 3 (1) and 3 (3) respectively. Nabeshima® proposes a bounding procedure for the m-machine FSIIS problem incorporating Johnson’s solution to the two-machine case which suggests that we can adopt a similar procedure to find lower bounds for the m- machine FSNIS problem (as well as Levner’s problem) using the solution to the two-machine FSNIS problem. A branch-and-bound method can be deviced using these bounds. (If the algorithm of Little et al. is used to solve the problem, a composite bound using their bounds and the above proposed bounds can be calculated and used in the algorithm.) ‘We conclude this paper with a note on future work. As mentioned before, the important and more practical problem is the FSFIS problem which appears to be complex. Extensions of intermediate storage restrictions to the job-shop problems are also of practical interest and we hope to, report on these aspects in the future. ACKNOWLEDGEMENT The authors want to thank the referees for their painstaking care in correcting the errors and for suggesting improvements. 330

You might also like