FLOWSHOP SCHEDULING PROBLEM WITH BATCHING MACHINES AND TASK COMPATIBILITIES Aim´ e Kamgaing Kuiteing ∗ , Ammar Oulamara ∗ Gerd Finke ∗∗
∗
Laboratoire LORIA-INRIA Lorraine, Ecole des Mines de Nancy, Parc de saurupt, 54042, Nancy ∗∗ Laboratoire Leibniz-IMAG, 46 Avenue F´elix Viallet, 38031, Grenoble
Abstract: This paper deals with the problem of task scheduling in a flowshop with two (discrete and batching) machines. Each task has to be processed by both machines. All tasks visit the machines in the same order. The first machine is a discrete machine that can process no more than one task at a time, and the second machine is a batching machine that can process several tasks per batch with the additional feature that the tasks of the same batch have to be compatible. A compatibility relation is defined between each pair of tasks, so that an undirected compatibility graph is obtained which turns out to be an interval graph. The batch processing time is equal to the maximal processing time of the tasks in this batch and all tasks of the same batch start and terminate together. The aim is to make batching and sequencing decisions in order to minimize the makespan. c 2006 IFAC. Copyright Keywords: Machines, scheduling, compatibility, algorithms, heuristics.
1. INTRODUCTION The motivation for the problem studied in this paper comes from processing products in the tire manufacturing industry. Making tires involves a lot of steps and requires a high degree of precision and control at each step in the process. The process begins with forming of rubber compounds. The raw ingredients, which include oils, carbon black, antioxidants and other additives are mixed together in bonders. This produces the gum-like material that will be milled and slit into strips that become the sidewalls after adding steel and fabric cords to reinforce the rubber compound and provide strength. When all parts involved to make the tires are prepared, the main and difficult part of the tire production can be started. A typical tire is built in a two-stage process (see
figure 1). In the first stage (tire building), all components (sidewalls and tread) are assembled and radial tires are built on a round drum that is part of the tire building machine. The machine pre-shapes the tire into a form that is very close to its final dimensions. The end result is called a green tire or uncured tire. In the second stage (tire curing), curing occurs through a series of chemical reactions. Tire curing is a high-temperature and high-pressure batch operation in which a pair of uncured tires is placed into a mold at a specified temperature (see figure 1). Each type of tire must be cured for a total duration in the interval of its total curing duration and total curing duration plus 4% of this value. Two kinds of tires can be cured together if they share a same value of total curing duration. After the mold is closed,
time of the latest batch Cmax = max{Cj | j = 1, . . . , n} is minimized. According to the standard scheduling notation, see Graham et al.(Graham et al., 1979), we denote the problem formulated above as F 2|p−batch(2), Gp = IN T, k < n|Cmax , where p − batch(2) means that the machine two is a batching machine, Gp = IN T specifies that the compatibility graph is an interval graph which depends on processing times of tasks and k < n specifies that the capacity of the batching machine is a variable finite capacity which is part of the input. Fig. 1. Part of tire production system the rubber compound flows in to mold the shape and form the tread details and sidewall. The mold cannot be opened until the curing reaction is completed for both green tires on the same mold. Because the rubber is a perishable material, the objective is to produce tires as soon as possible, which is equivalent to minimizing the completion time of the last product. The main part of the production system (building and curing) can be modeled as the following twomachine scheduling problem. There are n tasks to be executed and scheduled on two machines. Each task has to be processed on each of the machines 1 and 2, visiting them in this order. The processing time of task j on machine one requires pj time and on machine two the processing time qj is given by the interval [aj , bj ]. The terms initial and terminal endpoints will refer to aj and bj respectively. The first machine is a discrete machine that can process no more than one task at a time. The second machine is a batching machine with capacity k, which means that at most k tasks can be processed simultaneously in a batch. A batch is a set of tasks with the additional constraint that the tasks of the same batch have to be compatible. A compatibility is a symmetric binary relation in which a pair (i, j) of tasks is compatible if they share a similar processing time on the second machine (i.e, [ai , bi ]∩[aj , bj ] 6= ∅). In this way, one obtains an interval graph G = (V, E) as compatibility graph, where V is the set of tasks and a pair of tasks is an element of the edge set E if and only if they are compatible. The batch processing time on the batching machine is determined as the maximum initial endpoint aj of compatible tasks. For each batch B, denote its processing time on the second machine as q(B) = max{aj | j ∈ B}. For a given a schedule, task completion times Cj , j = 1, . . . , n can be calculated. If task j belongs to batch B on the second machine, then Cj = C2 (B), where C2 (B) is the time at which machine two finishes the processing of batch B. The objective is to find a schedule such that the completion
In the literature, intensive research is carried out on the scheduling of a single batching machine without task compatibilities and for various objective functions. The main comprehensive study is that of Brucker et al. (Brucker et al., 1998). Potts and Van Wassenhove (Potts and Wassenhove, 1992), and Potts and Kovalyov (Potts and Kovalyov, 2000) have published state-of-the-art surveys of the batch scheduling problem. A single batching machine with task compatibilities has been studied in (Finke et al., 2004) for general graphs and also for some special graphs. Although extensive research has been carried out on flowshops with batching machines, to the best of our knowledge, the problem of a flowshop involving a batching machine and task compatibilities has not been considered before. The reminder of this paper is organized as follows. In section 2, we introduce the notation used in this paper. In section 3 we study the complexity of the makespan minimization. Section 4 present a heuristic approach to minimize the makespan. Section 5 deals with computation al experiments in order to evaluate the efficiency of the heuristics.
2. NOTATION The following notations will be used throughout this paper • N : the set of tasks to be processed N = {1, . . . , n} • pj : the processing time of task j on the first machine • qj : the processing time of task j on the second machine, the value of qj is given in the interval [aj , bj ] • k: the capacity of the second machine, 2 ≤ k
The example below illustrates the problem under consideration, where n = 6, b = 2. The processing times are given in Table 1. The compatibility graph is presented in figure 2. A feasible schedule S = h(T1 , T6 ), (T3 , T5 ), (T2 , T4 )i contains three batches and the Gantt chart of S is given in figure 3. Table 1. Task processing times. pj qj
T1 4 [5,15]
T2 7 [3,6]
T3 5 [7,10]
T4 6 [3,11]
2
T5 8 [9,12]
T6 6 [11,16]
4
3
5
Fig. 2. Graph compatibility between tasks T1:4
T6:6
T3:5
T5:8
(T1,T6):11
T2:7
T4:6
(T3,T5):9
Ai , i = 1, . . . , n − 1 An Gi , i = 1, . . . , n Di , i = 1, . . . , n Fi , i = 1, . . . , n U1 U2
pj iW + ei KW + 2E 0 0 0 0 W + 3E
aj iW + ei nW + en iW + 2ei iW iW 0 0
Dj and Fj ) ∀ i, j i 6= j. U1 is only compatible with U2 . The PARTITION problem has a solution if and only if P has a feasible solution with the completion time Cmax ≤ 2KW + 5E.
6
1
Table 2. Task processing times.
(T2,T4):3 39
Fig. 3. Feasible schedule
3. COMPLEXITY RESULT This section considers the problem F 2|p−batch(2), Gp = IN T, k < n|Cmax abbreviated in the following as P (k). We show that this problem is binary NP-hard, using a reduction of the PARTITION problem, which is known to be NP-hard. The PARTITION decision problem is stated as follows:P Given positives integers e1 , . . . , en and E n where i=1 ei = 2E, is it possible to partition the index set {1, 2,P . . . , n} into P disjoint subsets N1 and N2 such that i∈N1 ei = i∈N2 ei = E? Theorem 1. Problem P (k) is NP-hard in the ordinary sense. Proof. Given an arbitrary instance of the PARTITION problem, construct the following instance for P with 4n + 2 tasks. Define W to be a number greater then 4nE, B = max{e1 , . . . , en } and K = Pn i. The capacity k of the batching machine i=1 is equal to two, and the processing times of tasks on machine 1 and 2 are given in table 2 by pj and qj respectively, where qj is given in the interval [aj , aj + 2B]. By definition of W and B, tasks Ai , Gi , Di and Fi , i = 1, . . . , n are compatible and Ai (resp. Gi , Di and Fi ) is noncompatible with Aj (resp. Gj ,
Suppose PARTITION has a solution, so that N1 and P N2 are the P required subsets of indices where e = i i∈N1 i∈N2 ei = E. Then there exists a schedule S with the makespan equal to 2KW + 5E. In this schedule, the tasks on the batching machine form five classes of batches with each batch containing exactly two tasks. These classes of batches are formed as follows. C1 contains batches of the form {Di , Fi } for i ∈ N1 with processing time iW on M2 C2 contains batches of the form {Gi , Fi } for i ∈ N2 with processing time iW + 2ei on M2 C3 contains batches of the form {Ai , Gi } for i ∈ N1 with processing time iW + 2ei on M2 C4 contains batches of the form {Ai , Di } for i ∈ N2 with processing time iW + ei on M2 C5 contains batch {U0 , U1 } with zero processing time on M2 The tasks in batches are sequenced in the same order on both machines. The batches that belong to C1 and C2 are processed on the batching machine in any order without intermediate idle time in the time interval [0, KW + 2E]. The batches that belong to C3 and C4 are sequenced on the batching machine in decreasing indices of the included A-tasks, i.e. the batch containing job An is the first scheduled, and is followed by the batch containing job An−1 , and so on. These batches are processed on the batching machine without intermediate idle time in the time interval [KW +2E, 2KW +5E]. The schedule S is finished by sequencing the batch {U0 , U1 } in the last position. So that the schedule S is completed at time 2KW + 5E. Conversely, suppose that there exists a schedule S with Cmax (S) ≤ 2KW + 5E. Since the total processing times on machine one is equal to 2KW + 5E, there is no idle time on this machine in schedule S. Let u be the number of batches in schedule S on the batching machine where u ≥ 2n + 1. Denote by q(Bi ) the processing time
of batch Bi , i = 1, . . . , u. For each batch Bi we define q 0 (Bi ) as follows: 0 if Bi contains exactly one task 0 q (Bi ) = min{qj |j ∈ Bi } otherwise. Pu Pu Pi=1 Then i=1v q(Bi ) + i=1 q 0 (Bi ) = 4n+2 ei = 4KW + 6E We ⇒ ⇒ ⇒ ⇒
have Pi=1Cmax ≤ 2KW + 5E u q(Bi ) ≤ 2KW + 5E P u 0 4KW Pu +0 6E ≤ 2KW + E + i=1 q (Bi ) q (Bi ) ≥ 2KW + E Pi=1 Pi=1 u 0 u q(Bi ) ≤ 4E i=1 q (Bi ) −
is created on the batching machine P with value, KW +2E +(j +1)W − KW + 2 i∈N1 2ei + jW +2e P j ≥ W − 2E. Then Cmax (S) ≥ (2K + 1)W + i∈N1 ei ≥ (2K + 1)W + E. Since W > 4E one has Cmax (S) > 2KW + 5E. Using the same argument, we can verify that only B(An−1 ) can be sequenced after B(An ). Then the batches B(An ), . . . , B(A1 ) are sequenced on the P batching machine P in this order and Cmax ≥ (iW + 2e ) + i i∈N1 i∈N2 (iW + ei ) + KW + 2E P ⇒ Cmax ≥ 2KW + 4E + i∈N1 ei . We have Cmax ≤ 2KW + 5E and X
Therefore, q(Bi ) − q 0 (Bi ) ≤ 4E for 1 ≤ i ≤ u. Since W > 4E, then • each batch Bi , i = 1, . . . , u on the batching machine contains exactly two tasks, i.e. v = 2n + 1 • the tasks which have the same index are grouped in the same batch (i.e. a batch containing a task Ai contains also the task Di or Fi or Gi ). This is due to the compatibility between tasks. Let N1 be the index set for the batches of type {Ai , Gi } (i.e. i ∈ N1 if the task Ai is combined with the task Gi ) and N2 be the index set for the remaining tasks of A-tasks. Each task Ai for i ∈ N1 , can be combined either with task Di or with task Fi . Since tasks Di and Fi are identical, without loss of generality we assume that for each i ∈ N1 there exists a batch {Ai , Di }. The total batch processing time on the batching machine is given by: P P P Pi∈N1 (iW +2ei )+ i∈N2 (iW +ei )+P i∈N1 (iW )+ i∈N2 (iW + 2ei ) = 2KW + 4E + i∈N2 ei . Since Cmax ≤ 2KW + 5E, and 2KW + 4E + P i∈N2 ei ≤ 2KW + 5E, then X ai ≥ E. (1) i∈N1
Since all tasks in batch type {Fi , Di } and {Fi , Gi } have zero processing time on the batching machine, it is better to start with these batches in order to avoid idle time on the batching machine. After scheduling these batches, the batching machine is available at time t in the interval [KW, KW + 2E]. The total processing time of batches B(A1 ), . . . , B(An ) on the batching machine is equal to X X X (iW +2ei )+ (iW +ei ) = KW +2E+ ei i∈N1
i∈N2
i∈N1
In the following we show that the batch B(A1 ) containing task A1 is sequenced after the batches B(An ), . . . , B(A2 ). Assume that there is a batch B(Aj ) sequenced before B(An ). Then an idle time
ei ≤ E
(2)
i∈N1
P From (1) and (2) we get i∈N1 ei = E, which shows that the index set N1 defines a solution to the PARTITION problem. 2
4. HEURISTIC APPROACH To solve problem P , we propose here three heuristics H1 , H2 and H3 of which we test the performances compared to the lower bound detailed below.
4.1 Lower bound To evaluate a lower bound, we consider the relaxed problem of a single batching machine (i.e. we relax the first machine) in which n tasks are to be batched and scheduled. The processing time of task j on a single batching machine is given by the interval [aj , bj ], j = 1, . . . , n. The objective is to minimize the makespan on a single batching machine. We denote this problem as B1|Gp = IN T, k < n|Cmax or P (j = 1, . . . , n). This problem is solved in O(nlgn) by the following algorithm which is an adaptation of the GAC algorithm given in Finke et al.(Finke et al., 2004). Algorithm A 1. Reindex tasks in nonincreasing order of their initial endpoint aj , j = 1, . . . , n. Let L be the list of tasks, i = 1 2. At iteration I, construct a new batch Bi add to Bi the first task j not yet be placed. Starting with j, place into Bi the first k − 1 not yet placed tasks compatible with j. Remove from L the tasks placed into Bi . If L = ∅ goto 3, otherwise i = i + 1, goto 2. 3. Sequence the batches obtained in step 2 in any order and return the value of the makespan.
Theorem 2. Algorithm A gives an optimal solution to B1|Gp = IN T, k < n|Cmax .
The complexity of H1 is O(nlgn).
Proof. Let hB1 , B2 , . . . , Bv i be a batch sequence constructed by algorithm A. Since for the set of tasks N −B1 the sequence hB2 , . . . , Bv i is selected by algorithm A it is sufficient to show that there exists an optimal sequence S = hD1 , . . . Du i such that B1 ∈ S.
4.3 Heuristic H2 and H3
Let I1 = [a1 , b1 ] be the interval of the first task in B1 , and let D1 be the batch of S containing I1 and assume |B1 ∩ D1 | is maximum among all possible choices of S. We show B1 = D1 . If |B1 | < k, then B1 consists of all intervals Ij = [aj , bj ] such that I1 ∩ Ij 6= ∅. Since D1 contains I1 , D1 ⊆ B1 . Consider a new sequence S 0 = hD10 , . . . , Du0 i, in which D10 = B1 , Di0 = Di − (Di ∩ Bi ), i = 1, . . . u. it is obvious that S 0 is optimal and contains B1 . If |B1 | = k, assume D1 * B1 , otherwise the proof is the same as the previous case. Let Ij an interval of task j such that Ij ∈ B1 \D1 . Since D1 * B1 there exists Ik = [ak , bk ] ∈ D1 \B1 . Since a1 ∈ Ik and B1 consists of the k first intervals, then j < k, and aj ≥ ak . Define D10 = (D1 \Ik )∪Ij and redefine the batch Dl containing Ij as Dl0 = (Dl \Ij ) ∪ Ik . The redefined batches satisfy the compatibility constraints and the new sequence S 0 = hD10 , . . . , Dl0 i is optimal. On the other hand |D10 ∩B1 | > |D1 ∩B1 | which contradicts the choice of S. 2 We can now define a lower bound for the flowshop problem as follows. Let π1 the set of tasks ordered in nondecreasing order of the processing tasks on the first machine, and π2 the set of tasks ordered in nonincreasing order of their initial endpoints of interval processing times on the second machine. A lower bound Pkof flowshop problem is given by, LB = maxk { i=1,i∈π1 pj + Cmax (P (j = k, . . . , n) : j ∈ π2 )}. 4.2 Heuristic H1 The heuristics H1 is based on applying Johnson algorithm on the set of batches obtained by solving the problem P (j = 1, . . . , n). More precisely H1 can be described by the following stages: Heuristic H1 1. Solve the problem B1|Gp = IN T, k < n|Cmax using Algorithm A. Let B1 , . . . , Bu be the obtained list of batches. 2. Apply Johnson’s algorithm on the list of batches B1 , . . . , Bu , where the processing time of Bi on the first machine is equal to the sum of processing times of tasks on the first machine belonging to batch Bi , i = 1, . . . , n.
For heuristics H2 and H3 we use a sorted lists. The construction of the batches and their sequencing results from the principle of the NEH algorithm (Nawaz et al., 1983). Each of heuristic H2 and H3 includes the steps below. 1. Reindex tasks in a given order and let L be the list of tasks (the detailed order is explained below of each heuristic H2 and H3 ). 2. Let S be a partial sequence, consisting of one batch containing the first tasks of list L. 3. For i = 1 to n do · Create all possible sequences by inserting task i into the partial sequence S, i.e. by inserting i in an existing batch or by creating a new batch. · assign to S the best partial sequence with regard to the makespan criterion. 4. Return the sequence S. For the heuristic H2 , tasks are reindexed in nonincreasing order of their sum of processing times on the first machine and the initial endpoint of the interval processing time on the second machine. For the heuristic H3 , tasks are reindexed in nonincreasing order of their initial endpoint of the interval processing time on the second machine. At iteration i of step 3, we have at most i batches in the partial sequence S, then 2i + 1 new partial sequences should be created. For each partial sequence the makespan is calculated in O(i) and i2 + 1 operations are needed to obtain the best partial sequence at iteration i. Then the complexity of the heuristics H2 and H3 is O(n3 ).
5. COMPUTATIONAL EXPERIMENTS We have done two sets of computational experiments. In the first, the initial endpoint aj of the interval processing time of tasks is generated from a uniform distribution [5, 100] and for the second experiments they are generated from a uniform distribution [50, 500]. The terminal endpoint bj for task j is given by the formula, bj = aj + aj × α where α ∈ {0.05, 0.15, 0.25}. We present here the result for α = 0.15. For both sets of computational experiments, the processing times of tasks on the first machine are generated from a uniform distribution [5, 100]. We have tested problem instances with different number of tasks, n = 10, 50, 250 and 500 and for each value of n we tested different values of the capacity k, k = 2, 5, 10, 20, 25, 50 and 100 such that k < n. We
randomly generate 25 instances for each problem. To mesure the efficiency of heuristics we calculate the relative distance between the solution given by the heuristic and the lower bound , as follows: D(Hi ) =
Cmax (Hi ) − LB × 100, i = 1, 2, 3 LB
Table 3. Experiments, qj ∈ [5, 100]. qj ∈ [5, 100] n = 10 n = 50
n = 100
n = 250
n = 500
b 2 2 5 10 2 5 10 2 25 50 2 25 50 100
D(H1 ) 0 0 0.03 0.07 0 0.01 0.02 0 0 0 0 0 0 0
D(H2 ) 0 0 0 0.03 0 0 0 0 0 0 0 0 0 0
D(H3 ) 0 0 0 0.03 0 0 0 0 0 0 0 0 0 0
Table 4. Experiments, qj ∈ [50, 500]. qj ∈ [50, 500] n = 10 n = 50
n = 100
n = 250
n = 500
b 2 2 5 10 2 10 20 2 25 50 2 25 50 100
D(H1 ) 4.17 0.47 4.49 7.07 0.28 0.41 0.25 0.06 0.06 0.14 0.02 0.02 0.02 0
D(H2 ) 20.17 9.97 24.33 27.67 5.74 15.14 0.43 3.35 0.13 0.93 2.4 0.02 0.01 0
D(H3 ) 5.33 3.39 18.07 21.47 1.67 8.59 8.56 0.65 0.09 0.97 0.47 0.03 0.02 0
As can be seen from Table 3, all three heuristics perform equally well for the case qj ∈ [5, 100] and yield for most of the instances an optimal solution. For the case qj ∈ [50, 500] in Table 4, H1 outperforms significantly the heuristics H2 and H3 for all instances. The relative distance for H1 is 7% in the worst case, but about 28% for H2 and 22% for H3 . This may be due to the fact that in heuristic H1 , the batching machine is used in an optimal way and the sequencing of the batches is also optimal by using Johnson’s algorithm. We note also that the heuristic H3 gives in 94% of the cases better results than heuristic H2 . This may be due to the fact that in heuristic H3 we considering more better the compatibilities between tasks (i.e. in the initial, the tasks are sorted in nonincreasing order of their initial endpoints on the interval processing time). We can conclude here that the optimal solution is more sensitive to the batching operation than the sequencing of batches.
6. CONCLUSION We have considered here a new application of flowshop scheduling problems that involve a discrete and a batching machine. The batching machine can process several tasks per batch with the additional feature that the tasks of the same batch have to be compatible. A compatibility relation is defined between each pair of tasks. We have shown that minimizing the makespan is NP-hard in the ordinary sense and we have presented three heuristics to minimize the makespan.
REFERENCES Brucker, P., A. Gladky, J.A. Hoogeveen, M.Y. Kovalyov, C.N. Potts, T. Tautenhahn and S.L. Van de Velde (1998). Scheduling a batch processing machine. Journal of Scheduling 1, 31–54. Finke, G., V. Jost, M. Queyranne and A. Sebo (2004). Batch processing with interval graph compatibilities between tasks. In the Second International Workshop on Discrete Optimization Methods and Logistics. July, 2027,2004, Omsk-Russia. Graham, R.L., E.L. Lawler, J.K. Lenstra and A.H.G. Rinnooy Kan (1979). Optimization and approximation in deterministic sequencing and scheduling: a survey. Annals of Discrete Mathematics 5, 287–326. Nawaz, M., E.E. Escore and I. Ham (1983). A heuristic algorithm for the machine, njob flow shop sequencing problem. Omega 11(1), 91–95. Potts, C.N. and L.N. Van Wassenhove (1992). Integrating scheduling with batching and lotsizing: a review of algorithms and complexity. Journal of the Operational Research Society 43, 395–406. Potts, C.N. and M.Y. Kovalyov (2000). Scheduling with batching: a review. European journal of Operational Research 120, 228–249.