Computers ind. Engng Vol. 33, Nos 3-4, pp. 781-784, 1997 © 1997 Elsevier Science Ltd Printed in Great Britain. All rights reserved 0360-8352/97 $17.00 + 0.00
Pergamon PII: S 0 3 6 0 - 8 3 5 2 ( 9 7 ) 0 0 2 5 2 - 0
A Batch Splitting Heuristic for Dynamic Job Shop Scheduling Problem Hanil Jeong Dept. of IE, Taejon University, Taejon, Korea Sangbok Woo, Sukho Kang, and Jinwoo Park Dept. of IE, Seoul National University, Seoul, Korea Abstract
The job shop scheduling problem has been a major target for many researchers. Unfortunately, though, most of the past studies assumed that a job consists of only a single part. If we assume that a job consists of a batch as in many real manufacturing environment, then we can obtain an improved schedule. However, then, the size of the scheduling problem would become too large to be solved in practical time limit. So, we proposed an algorithm to get an improved schedule by splitting the original batch into smaller batches, and thereby can meet the due date requirement, and adapt to unexpected dynamic events such as machine failure, rush order and expediting. © 1997 Elsevier Science Ltd Kevwords : batch splitting, dynamic events justified if we can find a better solution without too much increase in number of jobs, that is, batch splitting is reduced to a necessary minimum. In the following we are going to present a method that will give us such solutions. Section 2 is about the survey of previous researches on JSSP, and batch splitting method in particular. Section 3 details the algorithm we are proposing, which is followed by section 4 showing the experimental results of our study. Finally, section 5 reviews the limitations of current study and suggests some directions for further study.
1. Introduction A job shop scheduling problem(JSSP) is an optimization problem subject to constraints. Specifically, it is a mathematical problem to allocate and sequence jobs to production resources under the constraints of limited resources, time and precedence requirements among the operations of jobs. For this reason, JSSP constitutes the hardest scheduling problem. Despite this difficulty, JSSP has been a major target for many researchers due to its practical importance. However, most of the previous researches were based on assumptions different from the real manufacturing environment, and so they do not seem to handle the dynamic situations of shop floor properly as explained below.
2. Literature R e v i e w
In the literature, few studies address aspects of batch splitting method for schedule improvement. Kropp and Smunt[4] developed an LP/Quadratic programming model to determine the size of a transfer batch to minimize the mean flow time and the make-span in a flow shop. Cetinkaya[1] proposed an algorithm to find the optimal transfer batch size to minimize the make-span considering setup, processing and removal times in a flow shop environment. Even though these two studies find algorithms that guarantee the optimality, their results can not be applied to job shop problems because they considered only flow shop pr6blems.
Most previous researches assumed that each job can not be splitted any more because it consists of only one part. As a result, the schedule can't be improved any more, even if there may be plenty of idle times at machines. In many cases of real manufacturing environment, however, a job does not consist of a single part but a set of parts of same type, so-called a batch. In such cases, if we relax the constraint that all parts in a batch are processed altogether sharing only one set up, and allow each part to be processed independently, we can surely finish the job earlier than before.
Sassani[9] studied the impact of transfer batch on machine utilization, make-span and the percentage of jobs late in a cellular shop using a deterministic computer simulation model. Kannan and Lyman[5] examined the combined effect of lot splitting and family-based scheduling in a cellular manufacturing system by simulation. Wagner and Ragatz[10] investigated the impact of batch splitting on due date performance using simulation. In these simulation studies, only the qualitative characteristics of batch splitting method were investigated. Futhermore, by combining setup time with machining time, they couldn't get the full benefits of batch splitting method. Egbelu et al.[2] also considered the possibility of using transfer batch in a job shop environment. Although this transfer batch approach shows better performance, it gives a myopic solution at best, and we can obtain better schedule by splitting a batch in a global scale as will be shown later.
By assuming that a batch can be split, we can handle the problems that occur due to dynamic nature of shop floor more elegantly. Most past solutions to scheduling problems assume that a manufacturing shop is operating steady and peacefully. But a real factory is full of unexpectedness and dynamics. The causes of such dynamism are very diverse, e.g. human errors, rush orders, requests from customers to shorten the delivery dates, and hardware related events tool breakage, machine failure, etc. These events can not be expected beforehand, and therefore, it is very hard to strictly observe the original schedule. As suggested earlier, we can get much better solution by considering alternative schedules which allow the splitting of current batches to smaller batches. The problems that can occur by this change in policy are two-fold: the increased clerical cost due to increase in the number of production orders, and computational burdens caused by the increase in the number of jobs in the optimization problem. We think these cost increases can be
There have been many studies relating to finding an optimal batch size. Karmarkar et al.[6] described a procedure to determine the optimal batch size in the open job shop with stochastic characteristics. Graves and 781
Proceedings of 1996 ICC&IC
782
Kostreva[3] developed a model that optimizes transfer batch size based on inventory theory in MRP environment. Moily[8] developed an optimal and heuristic batch splitting procedures for static multi-stage problems. Unfortunately, in all the above studies, the time aspects of individual schedules, e.g. separation of set-up time and processing times, were not considered, and those study results are not directly applicable to shop floor control of a job shop. 3. Proposed Algorithm As mentioned previously, the batch splitting method can improve the make-span as can be seen from Fig. 1. However, to maintain a smaller batch size, we have to increase the number of shop orders to produce the same amount of parts, and that may cause difficulties due to increased clerical work-load and computational complexity. Therefore, we need to invent some methodologies to split a batch in an optimal way.
~,~
M,~
; TtansP~tati°n TmaeI 7
[;i!!i::il '4, I
1___)-> 5.,
H
IT(J~i) > 0 implies that the operation J~i is delayed because Jpk is assigned to the machine where Jii-1 is to be processed. Therefore, splitting the batch i can reduce these idle times because then we can start processing the splitted batch earlier than before. As a result, the make-span can be shortened. Thus we select and split those batches whose IT(Jii) > 0 and whose batch size is greater than or equal to twice the minimum batch size. As explained earlier, we split the selected batch into two small batches. We then determine the batch size according to following four rules. They are MBS(Minimum Batch Size), RBS(Required Batch Size), FBS(Full Batch Size), and EBS(Equal Batch Size) rules.
Ki',il ,.,? [
,~t
I if j=l and J~ is not the first operation IT(Jii) = ~ Max{0,L[Jij-d+D[M(ij-1),M(i,j)]-STij} [ if j>l and Jii is the first operation [" Max{0,L[Jii_l]+D[M(ij- 1), I M(i,j)]-L[J~,]- c~(p,i)ST~j} [ if j>l and Jii is not the first operation
'
liiiiiiiiiiii] ,~ M, tI ' - ' - - / " , 2"
[ Max{0,R~+D[IS,M(i,j)]-LLIo,]- d (p,i)ST~i)
I., .....
Solve job shop sel~dttlilag i¢~obl~ ra ,,*,dthl~foreamivalfamily setup lime T~e
[
I
n t ~
I
i____~"> HJ,,-,I,,=-,I Iili;ilil 5., ] ~ ~ ,iiiiiii,i;illh. I ~. I,::,:ii::1,.,., • ,
Tira.
Fig. 1 Improvement by batch splitting We may think of many different ways to split a batch. For example, we can use mathematical programming to find optimal batch size, or we may split batches so that the processing times of batches, including both set-up and processing times, are equal. Or, we may iteratively split a batch into smaller batches until we get an acceptable solution. For ease of implementation and understanding, we decided to use the iterative batch splitting method, where we split a batch always into two small batches. The proposed method consists of two steps. The first step is to select the batch to be splitted and determine its size. And, the second step is to improve the schedule for the new job shop problem, where one more job is added due to splitted batch. The first step starts by building a conjunctive graph. This conjunctive graph represents a solution to a job shop scheduling problem which considers the before_arrival family setup time, job release date, transportation time, and due date[4]. In a conjunctive graph, an arc and arc length, respectively represents precedence between operations and required time. And, L[Jpk], the longest path to job Jpk from the start node means completion time of J~k. Also, D[ml,m~] represents the transportation time from machine ml to machine me, Jij represents the j-th operation of the batch i, and M(i,j) represent the machine that processes the operation Jii. For each Jii, PTij = the processing time, ST~ = the setup time, and IT(J~j) = the idle time of machine M(ij) just before processing Jij. Let Ri = the release date of the batch i. Then it can be shown that : [ Maxl0,Ri+D[IS,M(i,j)]-STij} I if j=l and Jij is the first operation
Is.l,o,.b.=h]
I
s°l.o,~ b..,.otu.o.
I
Fig. 2 Algorithm for improving schedule by batch splitting The MBS rule assigns the minimum possible batch size as the batch size of the first small batch being created by the split. Adopting this strategy implies that we intentionally increase the batch size for latter small batches. As the make-span can be reduced by splitting a batch as many times as possible, we may expect better performance by taking this rule if there is less idle time at latter stages than at an earlier stage. The RBS strategy assigns the required batch size from expediting as the batch size of the first batch being created by the split. When using this strategy, we may obtain an acceptable solution by relatively minimum number of split. The FBS strategy splits a batch into batches which has the processing time approximately equal to IT(J~i). This strategy may also work better if we have more idle times at latter stages like the MBS strategy. The EBS strategy is splitting the batch into equal sized two batches. When using this strategy, we can set many precedence relationships in
Proceedings of 1996 ICC&IC advance, which means that we can considerably reduce the computational efforts to find a solution. Experimental results show that above propositions are correct. As shown in Fig. 2, our strategy is to maintain different batches obtained through these three rules in parallel. At an earlier stage, only the EBS strategy is used. If the ratio of the make-span improvement drops below the given threshold value, we split the batch following these three rules, and then finally select the batch size which gives the best result from the job shop scheduling heuristic we are proposing. At the schedule improvement step, we try three kinds of solutions, and select the best solution among them. The first solution is obtained by simple splitting(SS) and FIM(Forward Interchange Method). The SS generates a solution which acts like a transfer batch only. That is, operation sequences are the same as those schedules before splitting. As shown in Fig. 3, FIM improves the solution by interchanging Jij-h the predecessor of J~ whose IT(J~i) is greater than zero, with J~,. which is the predecessor of Jij-1. If this sequence interchange improves the make-span, we will call the precedence which indicates that J~j-~ precedes J~ a "forward precedence", and we will use this forward precedence later in improving schedules. I nte r change
]11] Idle
machine m. Rescheduling is required at time TR. Initially, we split batch p into batches a and B. Before rescheduling at time TR, the release time for each batch, the processing time and setup time for each operation must be modified as follows. S T y = { 0 j
j
PT'~={
S T y = { 0 J
f(P)
PT~={
0
j.f(p) PTpj j >f(p)
0
jf(p)
~ ~
RI = { max {TS(mz) + b'(i, i(mx))STi.m)+l, TS(ml)} i#:B TS(b) i= B A new job shop problem is constructed by using these modified values, and solved by aforementioned procedures. And next, we will explain the handling method for rush order. Let TU be the time at which rush order released, Bp be the size of batch p. At TU, machine m was processing x(p)-th part of batch p, and y(p) parts are remained. Let RT(m) be the remaining time to finish batch p at machine m, ET(m) be the remaining time to finish x(p)-th part at machine m. At time TU, Batch splitting criterion is as follows for each machine. Case 1 If y(p)MBS(p), then split batch p into ct(p) (B~
I Time
783
Ti~
Fig. 3 F1M(Forward Interchange Method) The second solution consists of two procedures. First, we obtain a solution by applying the proposed job shop scheduling algorithm to the problem under the constraints of "splitting and pre~tent precedences", the meaning of which will soon be explained. Then, we improve the obtained solution by FIM. The splitting precedence means that the precedence maintained between two batches splitted by EBS strategy, should also be applied at all machines. The prepotent precedence means the precedence that one of the splitted batch precedes the successors of the original batch at all machines. Similarly, the last solution is composed of two procedures. A solution is obtained considering three constraints: the splitting precedence, prepotent precedence and forward precedence, which is the reverse of splitting precedence. And then the obtained solution is improved by FIM. Now, we will explain the method to handle dynamic situations such as machine failure, rush order and expediting using proposed batch splitting method. First, we will explain the handling method for machine failure. Let b be the broken down machine at time TB. At this time, machine b was processing (x+l)-th part of batch p. Then x parts have been finished, and y parts are not finished yet(x+y = batch size of p). The other machines(not broken down) continue processing possible operations. Let TR be the completion time of repair. Also, let TS(m) be the time that each machine m can start processing for remaining operations. TS(m)(m*b) can be known from original schedule and TS(b)=TR. Let f(i) be the index of the last finished operation of batch i, m~ be M[i,f(i)] and mz be M[i,f(i)+l]. And let i(m) be the last job processed at
In Case 2, let MT(m) he the processing time to finish ( MBS(p) - x(p) ) parts plus ET(m). For each cases, we can set TS(m). If the situations of machine m at time TU belongs to case i, case 2 and case 3, then TS(m) = TU + RT(m), TS(m) = TU + MT(m) and TS(m) = TU + ET(m). And, if machine m is idle at TU then TS(m) = TU. Let SBS be the set of batches splitted according to the splitting criterion. Now we can modify STy, PT~ and Ri for rescheduiing at TU. If batch i ~ SBS, then the modification is as follows. STIi={
RI
0 jf(i) [ max (TS(m2) + d(i, i(m2))STi.t(i)+t, TS(ml)) i*B TS(b) i= B
If batch i ~ SBS, then the modification is as follows.
ST~i)i={ 0 jf(i)
0
j
B,~? pTii j) f(i) Ba
0 j
4. Experimental Result To evaluate the ~rformance of our algorithm, we carded
784
Proceedings of 1996 ICC&IC
out experiments on 5 job-type, 5 machine job shop problems. The processing times of each operation were randomly drawn from a uniform distribution on the interval [50, 200]. We assumed that the number of initial batches is 5, and the batch size is determined using the following formula. In the formula, MBS stands for minimum batch size, and MBS ratio was set to six levels - 0.01, 0.2, 0.4, 0.6, 0.8 and 1.0. Begin A - U ( 1,100 ) MBSi = ( MBS ratio ) X A BSi = U( MBSi,100 ) End
This result implies that additional small increase in computational time can increase productivity considerably, and provide ability to handle difficulties caused by unexpected dynamic situations. And, the smaller the MBS ratio and setup ratio are, the better schedule improvement can be expected, and the smaller the setup ratio is, the smaller number of split is required to reduce the make-span to 80%. The current study could be extended for assembly systems, and the proposed algorithm may work well in hybrid systems in which there are assembly and machining operations. Some theoretical research might be needed on the selection of the batch to be splitted and the improvement of schedule by previous batching results.
Table 1 Experimental result 0.4 0.6 0.8 1.0 raMB5 0.01 0.2 tic Avg. # of Avg. # of ~g. # of ~g. # of Avg. # ~ Avg. # # of improved # of improved # of improved # of improved # of improved # of improved •atio ~ split problem s p l i t problem split problem split problem split p~blem s p l i t problem 2.0 9 2.1 7 0 0 3.0 3 0.00 3.1 10 3.4 10 2.4 9 1.8 6 3.7 3 4.0 1 0.05 4.0 10 3.9 10 1.9 8 3.5 4 3.0 2 2.5 2 0.10 4.3 10 3.7 9 2.5 8 2.8 4 4.0 4 3.0 1 0.15 4.9 10 4.1 9 3.1 7 3.8 4 3.5 2 5.0 1 0.20 5.1 10 3.9 8 3.3 8 4.5 2 3.5 2 5.0 1 0.25 5.8 9 3.9 8 2.8 6 4.0 1 5.0 1 5.0 1 O.3O 5.1 8 4.0 7
3et•u
Our algorithm is programmed in C language and tested on SUN workstation. The main objective of the experiment is to obtain the general characteristics of batch splitting method for schedule improvement. Namely, how much improvement in schedule is possible, how does the proposed heuristic do in finding good job shop schedules, what was the general characteristics of computation time, etc. Since schedule improvement is guaranteed by splitting a batch, we considered two other factors in our experiment. They are the MBS(Minimum Batch Size) ratio with 6 levels as explained above, and setup ratio with 7 levels which ranges from 0.0 to 0.30 of the processing times. We conducted 10 experiments for 42 problems(2 factors of 6 and 7 levels each), thus ran 420 experiments in total. Table 1 summarizes the results of the experiments for each 42 problems, averaged across 10 replications. The run time for the problem increases from about 5 seconds to 67 seconds due to increased problem size. Results show that 3.6 batch splits on the average can reduce make-span by at least 20%. 5. Conclusion A procedure that minimizes the make-span of job shop problems by batch splitting method is presented. The formulated problem reflects the real manufacturing environment by considering family setup time and allowing earlier setups at following machines. Splitting a batch can reduce make-span, but may make management on shop floor very hard dut to increased shop orders. Our algorithm splits batches iteratively, scans the improvement on schedule so that it generates schedules that not only meets the due date requirements but also reduces the number of batches to an acceptable limit. Experimental results show that 3.6 splits on the average can reduce the make-span to 80% of the original make-span. The average run time of the algorithm was 67 seconds for 5-job type, 5-machine job shop problems.
References
1. Cetinkaya, F.C., "Lot streaming in a two-stage flow shop with set-up, processing and removal times separated," J. of Operational Research Society, Vol. 45, No. 12, pp. 1445-1455, 1994. 2. Egbelu, P.J., B,O. Nnaji, R. Sadowski, R. A. Wysk and K. B. Zandin, "Future direction in manufacturing research," Industrial Engineering Research Conference Proceedings, Nashville, Tennessee, U.S.A., pp. 10-18, 1995. 3. Graves, S.C. and M.M. Kostreva, "Overapping Operations in Material Requirement Planning," J. of Operations Management, Vol. 6, No. 3, pp. 283-294, 1986. 4. Jeong, H.I. and J.W. Park," An Improved Scheduling Heuristic Based on Batch Splitting Method for The Job Shop Scheduling Problem," Working paper
SNU-IE-FAL-96-11, 1996. 5. Kannan, V.R. and S.B. Lyman, "Impact of family-based scheduling on transfer batches in a job shop manufacturing cell," Int. J. of Production Research, Vol. 32, No. 12, pp. 2777-2794, 1994. 6. Karmarkar, U.S., S. Kekre and S. Kekre, "Lotsizing in multi-itom multi-machine job shops," IIE Transactions, VoL 17, No. 3, pp. 290-297, 1985. 7. Kropp, D.H. and T.L. Smunt, "Optimal and heuristic lot splitting in a flow shop," Decision Science, Vol. 20, No. 4, pp. 691-709, 1990. 8. Moily, J.P., "Optimal and heuristic procedures for component lot-splitting in multi-stage manufacturing systems," Management Science, Vol. 32, No. l, pp. 113-125, 1986. 9.
Sassni, F., "A simulation study on performance improvement of group technology cells," Int. J. of Production Research, VoL 28, No. 2, pp. 293-300, 1990. I0. Wagner, B.J. and G.L. Ragatz, "The impact of lot splitting on due date performance," J. of Operations Management, Vol. 12, pp. 13-25, 1994.