Lot Streaming in Job Shop Scheduling
Transkript
Lot Streaming in Job Shop Scheduling
XXVI. ASR '2001 Seminar, Instruments and Control, Ostrava, April 26 - 27, 2001 Paper 13 Lot Streaming in Job Shop Scheduling DVOŘÁK, Jiří Institute of Automation and Computer Science, Faculty of Mechanical RNDr., CSc., Engineering, Brno University of Technology, Technická 2, Brno, 616 69, [email protected] Abstract: Lot streaming is a process of splitting production lots (batches) into smaller transfer lots (sublots, transfer batches) and moving these sublots to the next processing stage so that operations at successive stages can be overlapped. In this paper the following assumptions are considered: Each job (production lot) is divided into equal-sized transfer lots a number of which is the same for all operations. Once a machine is set-up for a job, it cannot be used to process any other job until the processing of all transfer lots is finished. Under these assumptions it is not necessary to model the movement of individual transfer lots. Their start times are derivable from start and completion times of job operation, which can be obtained by means of approach, based on a disjunctive graph model and a modification of the Critical Path Method. It is possible to integrate this approach into any heuristic method for job shop scheduling which uses the disjunctive graph-based representation and the makespan objective. Keywords: job shop scheduling, lot streaming, disjunctive graph 1 Introduction A scheduling problem is to find sequences of jobs on given machines with the objective of minimizing some function of the job completion times. In a simpler version of this problem, flow shop scheduling, all jobs pass through all machines in the same order. More complex case is represented by a job shop scheduling problem (JSSP), where the machine orderings can be for each job different. Job shop scheduling is known to be a NP-hard problem. Practical experience shows that it is among the hardest combinatorial optimization problems. That means, classical methods (integer programming, branch and bound method) can be used only for the small-scale models. More complex tasks must be solved by heuristic methods. Successful heuristic methods include approaches based on simulated annealing (Krishna, Ganeshan and Janaki 1995), tabu search (Nowicki and Smutnicki 1996), and genetic algorithms (Yamada and Nakano 1995). Pezzella and Merelli (2000) propose a tabu search method guided by shifting bottleneck. Another very efficient method combines variable depth search procedure with shifting bottleneck framework (Balas and Vacazopoulos 1998). A concise overview of job shop scheduling techniques is presented in (Jain and Meeran 1999). An important feature of heuristic methods is a problem representation. Cheng, Gen and Tsujimura (1996) present a review of frequently used representations, e.g. disjunctive graph-based representation, priority rule-based representation, preference list-based representation, etc. The disjunctive graph is one of the most popular models for describing instances of the job shop scheduling problem. Its new time and memory efficient representation is proposed in (Blazewicz, Pesch and Sterna 2000). The classical machine scheduling theory considers an operation as an elemental task to be performed. It is assumed that the processing times of successive operations of a particular job -1- may not be overlapped. In the case of production systems of mid to high volume products with long setups, products are grouped into lots (or batches). Lot streaming (or lot splitting) techniques allow a lot to be split into multiple smaller transfer lots (sublots) and each transfer lot can be transferred to its successor operation immediately upon completion. Operations on production lots therefore may be overlapped. This use of transfer lots improves the overall performance of the production system. Simulation-based and industry-based reports have confirmed that substantial benefits are possible via lot streaming (Kalir and Sarin 2000). The relationship between transfer lot sizes and production lead times is studied in (Benjaafar 1996). Most lot streaming papers deal with a flow shop environment. Sen, Topaloglu and Benli (1998) analyze optimal lot streaming in two-machine flow shops. The problem is to find not only the timing of transfer lots, but also their sizes. Kumar, Bagchi and Sriskandarajah (2000) propose lot streaming and scheduling heuristics for m-machine no-wait flow shop. Job shop scheduling with transfer lots is studied in (Liu and Luh 1997). This paper present an integer programming formulation for scheduling job shops with transfer lots without introducing excessive decision variables relating to transfer lots. A combined Langrangian relaxation and dynamic programming algorithm is used to solve this problem. Demeulemeester and Herroelen (1996) investigate a general scheduling problem including sequence-independent setup times as well as transfer and process lots. Proposed modelling ideas and solution procedures originate in the field of generalized resource-constrained project scheduling. This paper deals with a job shop scheduling problem with equal-sized transfer lots a number of which is given for each job. Next section describes the classical JSSP and the corresponding disjunctive graph-based representation, which is very suitable for introducing a concept of transfer lots. Section 3 presents modifications of classical JSS problem and new formulas for computations in the disjunctive graph. 2 Classical Job Shop Scheduling Problem and Disjunctive Graph The classical JSS problem can be described as follows: There are a set of m machines and a set of n jobs. Each job consists of a sequence of operations, each of which needs to be processed during an uninterrupted time period of a given length on a given machine. Each machine can process at most one operation at a time. We assume that any successive operations of the same job are going to be processed on different machines. A schedule is an assignment of the operations to time intervals on the machines. The problem is to find a schedule, which optimizes a given objective. In this paper, we use the time needed to complete all the jobs (makespan) as the objective function, which is to be minimized. Let us have the following notation: n number of jobs (products); ni number of operations in job i; operations are indexed N i −1 + 1, .... , N i ; N 0 = 0; N m mk Jk i N i =∑ nl , i = 1, K , n ; l =1 total number of operations; number of machines; number of operations assigned to machine k; set of operations assigned to machine k. In our model we use the disjunctive graph-based representation. The disjunctive graph is defined as G = (V , C ∪ D ), where V is a set of vertices (nodes), C is a set of directed conjunctive edges (arcs), and D is a set of undirected disjunctive edges. The set V contains vertices representing all operations and -2- two special vertices, a source numbered by 0 and a sink N+1, representing the fictitious start and end operation, respectively. The processing time of each operation is denoted as the weight of the vertex. The two fictitious operations 0 and N+1 have operation times of zero. The conjunctive edges represent connecting consecutive operations of the same job, as well as edges from the start vertex 0 to the first operation of each job and edges from the last operations of each job to the end vertex N+1. The set C can be therefore expressed in this way: C = {(0, N i −1 + 1) | i = 1, ... , n}∪ {( N i , N + 1) | i = 1, ... , n}∪ n U {( j, j + 1) | j = N i −1 + 1, ... , N i − 1} i =1 The disjunctive edges represent pairs of operations to be processed by the same machine. Each disjunctive edge can be considered as a pair of opposite directed edges. Therefore it holds D= m U Dk , where Dk = J k × J k . k =1 Scheduling is to define an ordering of all operations that must be processed on the same machine. It corresponds to selecting only one directed edge from each pair representing a disjunctive edge. The graph G can be decomposed into one subgraph G0 = (V , C ) and in m cliques Gk = (J k , Dk ) . A selection S k in Dk contains exactly one directed edge between each pair of opposite edges in Dk . A selection is acyclic since it does not contain any directed cycle. Sequencing the operations on the machine k is equivalent to choosing an acyclic selection in Dk . A complete selection S is the union of selections S k (k = 1, … , m), and it generates the directed graph G ( S ) = (V , C ∪ S ) . The complete selection is acyclic if the associated graph G(S) is acyclic. A complete selection S defines a feasible schedule if and only if the resulting directed graph is acyclic. The time required to complete all jobs (makespan) is determined by the length of the longest weighted path from the start vertex to the end vertex of the graph G(S), where S is an acyclic complete selection. This path is called the critical path and is composed of a sequence of critical operations. Therefore the job scheduling problem is that of finding an acyclic complete selection S ⊂ D that minimizes the length of a critical path in the graph G(S). The graph G(S) may be transformed into the graph G ( S ′) = (V , C ∪ S ′) by removing those edges from the set S, which do not connect consecutive operations on the same machine. Let π k = (π k (1), π k (2), ... , π k (mk ) ) be the processing order of operations on the machine k determined by the acyclic partial selection S k . Then S′ = m U{(π k ( j ), π k ( j + 1))| j = 1, ... , mk − 1}. k =1 The corresponding schedule is feasible if the graph G (S ′) is acyclic. This form of graph representation of JSSP is used in (Nowicki and Smutnicki 1996). Maximal sequence of consecutive critical operations on the same machine is called a critical block. In order to improve a current schedule we have to modify the sequence of operations in some critical block. A swapping of critical operations is used in heuristic searching procedures to constructing a neighbourhood of a current solution. Simulated annealing algorithm presented in (Krishna, Ganeshan and Janaki 1995) generates neighbourhood by swapping adjacent operations in a critical block. In (Yamada and Nakano 1995), a genetic operator called multistep crossover is proposed which is based on moving an operation to the beginning or end of a critical block. Tabu search method described in (Nowicki and -3- Smutnicki 1996) uses moves called as "interchanges near borderline of blocks on a single critical path". Pezzella and Merelli (2000) combine three ways of swapping critical operations. Guided Local Search procedure (Balas and Vacazopoulos 1998) is based on reversing more than one disjunctive edge at a time. 3 Transfer Lots in Job Shop We assume that a job corresponds to a production lot, which can be divided into multiple smaller transfer lots, and each transfer lot can be moved to operation j immediately after it is completed on operation j − 1 . Once a machine is setup for a job, it cannot be used to process any other jobs until the processing of all transfer lots is finished. We also suppose that within each job the transfer lots are equal-sized and its number is the same for all operations. Transfer times and setup times are not considered. Under these assumptions it is not necessary to model the movement of individual transfer lots and change the size or structure of the disjunctive graph. To each vertex the weight is only added which represents the processing time of transfer lot on the corresponding operation. Let us denote: pj processing time of production lot on operation j ( p0 = p N +1 = 0 ); qj processing time of transfer lot on operation j ( q0 = q N +1 = 0 ); sj the earliest possible start time of operation j; cj the earliest possible completion time of operation j; Cmax makespan. Let S be some acyclic complete selection and o = (o(0), o(1), ... , o( N + 1) ) be an ordering of operations from V which has the following property: if (o(i ), o( j ) )∈ C ∪ S then i < j (the graph G(S) is acyclic and therefore it is possible to order operations in such a way). The earliest start times s j and completion times c j can be then computed as follows: s0 = c0 = 0 , { c j = max{s j + p j , cb ( j ) + q j } } s j = max sb( j ) + qb( j ) , max{cr r ∈V , (r , j ) ∈ S } (1) (2) (3) where for j = N i −1 + 1 0 b( j ) = j − 1 for j > N i −1 + 1 j = o(1), o(2), ... , o( N ) { } s N +1 = c N +1 = max c N i | i = 1, ... , n (4) The makespan is equal to the completion time of the end vertex, i.e. Cmax = c N +1 (5) In an analogous way we could modify formulas for computing the latest allowable start times s Lj and the latest allowable completion times c Lj and identify the critical path using the condition s j = s Lj . However, this is not necessary, because the critical path is the longest path in the graph and its length is equal to makespan. This path begins in the vertex 0, ends in the vertex N+1, and their other vertices (operations) can be determined by this way: • The predecessor of the vertex N+1 on the critical path is that vertex which maximizes the expression on the right-hand side of the equation (4). -4- • If an operation lies on the critical path, then its predecessor on this path is that vertex, which maximizes the expression on the right-hand side of the equation (3). Denote the number of transfer lots for job i by Ti and the starting times of transfer lots on operation j by s tj (t = 1, … , Ti ). Starting times s tj can be derived from obtained values s j by means of the following algorithm: for i := 1 to n do begin j := N i −1 + 1; s1j := s j ; for t := 2 to Ti do s tj := s tj−1 + q j ; for j := N i −1 + 2 to N i do begin s1j := s j ; for t := 2 to Ti do { } s tj := max s tj−1 + q j , s tj −1 + q j −1 ; end; end; In the described approach neither setup times nor transfer times have been considered. These times can be incorporated to proposed model in the following way. Let σ j (j = 1, … , N) be sequence-independent setup times and τ j (j = 1, … , N) be transfer times ( τ j is the time of transferring one transfer lot from operation j to operation j+1). Then the formulas (2) and (3) have to be modified as follows: { c j = max{s j + p j , cb( j ) + τ b ( j ) + q j } } s j = max sb( j ) + qb( j ) + τ b( j ) , σ j + max{cr r ∈V , (r , j ) ∈ S } The start times s tj (t = 2, … , Ti ) will be then computed in this way: { s tj := max s tj−1 + q j , s tj −1 + q j −1 + τ j −1 } In some production systems using transfer lots it can be required that on each operation the whole production lot has to be processed continuously without idle times. Then the start times s j and completion times c j are computed as follows: { } sb ( j ) + max qb( j ) , pb( j ) − p j + q j + τ b ( j ) s j = max σ j + max{cr r ∈V , (r , j ) ∈ S } cj = sj + pj The proposed approaches to modelling the JSSP with transfer lots can be integrated into any heuristic method using graph-based representation and makespan objective. In such a method the evaluation of an objective function and the identification of critical paths must be modified by the equations (1) - (5). 4 Conclusion This paper deals with the job shop scheduling problem in a production system where production lots corresponding to jobs can be split into multiple equal-sized transfer lots which are transferred to the next operation immediately after their completion on the current operation. Presented approach uses a disjunctive graph-based representation of this problem and, in comparison with the classical JSSP, change neither size nor structure of the disjunctive -5- graph. It modifies only the procedure for computing start and completion times of operations on production lots and identifying critical paths. These modifications can be integrated into any heuristic method, which operates on the disjunctive graph and uses the makespan objective. This work has been supported by the research project No. CEZ: J22/98:261100009 Nontraditional Study Methods of Complex and Uncertain Systems and the research project No. CEZ: J22/98:260000013 Automation of Technologies and Production Processes. 5 References BALAS, E. and VACAZOPOULOS, A. 1998. Guided Local Search with Shifting Bottleneck for Job Shop Scheduling. Management Science, Vol. 44, No. 2, 1998, pp. 262-275. BENJAAFAR, S. 1996. On Production Batches, Transfer Batches, and Lead Times. IIE Transactions (Institute of Industrial Engineers) , Vol. 28, Issue 5, 1996, pp. 357-362. BLAZEWICZ, J., PESCH, E. and STERNA, M. 2000. The Disjunctive Graph Machine Representation of the Job Shop Scheduling Problem. European Journal Of Operational Research, Vol. 120, Issue 2, 2000, pp. 297-310. CHENG, R., GEN, M. and TSUJIMURA, Y. 1996. A Tutorial Survey of Job-Shop Scheduling Problems Using Genetic Algorithms - I. Representation. Computers &Industrial Engineering, Vol. 30, No. 4, 1996, pp. 983-997. DEMEULEMEESTER, E.L. and HERROELEN, W.S. 1996. Modelling Setup Times, Process Batches and Transfer Batches Using Activity Network Logic. European Journal of Operational Research, Vol. 89, Issue 2, 1996, pp. 355-365. JAIN, A.S. and MEERAN, S. 1999. Deterministic Job-Shop Scheduling: Past, Present and Future. European Journal of Operational Research, Vol. 113, 1999, pp. 390-434. KALIR, A.A. and SARIN, S.C. 2000. Evaluation of the Potential Benefits of Lot Streaming in Flow-Shop Systems. International Journal of Production Economics, Vol. 66, Issue 2, 2000, pp. 131-142. KRISHNA, K., GANESHAN, K. and JANAKI, R.D. 1995. Distributed Simulated Annealing Algorithms for Job Shop Scheduling. IEEE Transactions on Systems, Man, and Cybernetics, Vol. 25, No. 7, 1995, pp. 1102-1109. KUMAR, S., BAGCHI, T.P. and SRISKANDARAJAH, C. 2000. Lot Streaming and Scheduling Heuristics for m-Machine No-Wait Flowshops. Computers & Industrial Engineering, Vol. 38, Issue 1, 2000, pp. 149-172. LIU, G., LUH, P.B. and JIN, P.B. 1997. An Optimization-Based Approach for Scheduling Job Shops with Transfer Lots. In Proceedings of the Second Chinese World Congress on Intelligent Control and Intelligent Automation, Xian, 1997. PEZZELLA, F. and MERELLI, E. 2000. A Tabu Search Method Guided by Shifting Bottleneck for the Job Shop Scheduling Problem. European Journal Of Operational Research, Vol. 120, Issue 2, 2000, pp. 297-310. SEN, A., TOPALOGLU, E. and BENLI, O.S. 1998. Optimal Streaming of a Single Job in a Two-Stage Flow Shop. European Journal of Operational Research, Vol. 110, Issue 1, 1998, pp. 42-62. NOWICKI, E. and SMUTNICKI, C. 1996. A Fast Taboo Search Algorithm for the Job Shop Problem. Management Science, Vol. 42, No. 6, 1996, pp. 797-813. YAMADA, T. and NAKANO, R. 1995. A Genetic Algorithm with Multi-Step Crossover for Job Shop Scheduling Problems. In Proc. of the 1st IEE/IEEE Int. Conf. on Genetic Algorithms in Engineering Systems: Innovations and Applications GALESIA '95, Sheffield, England, 1995, pp. 146-151. -6-