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-