Computers & Operations Research 36 (2009) 391 – 401 www.elsevier.com/locate/cor
Flowshop scheduling problem with a batching machine and task compatibilities A. Oulamaraa,∗ , G. Finkeb , A. Kamgaing Kuiteinga a MACSI Project LORIA—INRIA, Ecole des Mines de Nancy, Parc de Saurupt, 54042 Nancy, France b Laboratoire Leibniz-IMAG, 46, avenue Félix Viallet, 38031 Grenoble Cedex, France
Available online 10 October 2007
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 finish together. The aim is to make batching and sequencing decisions and minimize the makespan. 䉷 2007 Elsevier Ltd. All rights reserved. Keywords: Flowshop problem; Batch processing machines; Task compatibilities
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 the forming of rubber compounds. The raw ingredients, with 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 Fig. 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 the tire’s 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 Fig. 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, the rubber compound flows ∗ Corresponding author. Tel.: +333 54 95 84 83.
E-mail address:
[email protected] (A. Oulamara). 0305-0548/$ - see front matter 䉷 2007 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2007.10.006
392
A. Oulamara et al. / Computers & Operations Research 36 (2009) 391 – 401
Fig. 1. Tire production system.
in to mold the shape and form the tread details and sidewalls. 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 problem of scheduling a flowshop with two machines. 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 1 requires pj time units and on machine 2 the processing time qj is given by the interval [aj , bj ], with the initial and terminal endpoints 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. 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 ] = ∅). One obtains therefore an interval graph as compatibility graph G = (V , E), 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 by the smallest common processing time, which is 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 schedule, the 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 the second machine finishes the processing of batch B. The objective is to find a schedule such that the completion time of the latest batch Cmax = max{Cj |j = 1, . . . , n} is minimized. According to the standard scheduling notation, see Graham et al. [1], we denote the problem formulated above as F 2|p − batch(2), Gp = INT, k < n|Cmax , where p − batch(2) means that the machine 2 is a batching machine, Gp = INT 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 (or k is a constant). In the scheduling literature, intensive research involving a single batching machine without task compatibilities are studied for various objective functions and additional constraints. A comprehensive study on the subject is given in Brucker et al. [2]. Potts and Van Wassenhove [3], Webster and Baker [4], and Potts and Kovalyov [5] have published state-of-the-art surveys on the batch scheduling problem. A single batching machine with task compatibilities has been studied in [6] for general graphs and also for some special graphs. Boudhar and Finke [7] consider the problem of minimizing the makespan in general compatibility graphs. They show that the problem with capacity k = 2 of the batching machine is solvable in polynomial time as a weighted matching problem and for the case 3 k < n minimizing the makespan is NP-hard, even for split graphs. Finke et al. [6] consider the single batching machine problem with capacity k and each task j has a minimal processing time pj . The tasks in the same batch have to be compatible (share similar physical properties). As explained earlier, these compatibilities may be represented in the form of an interval graph. One of their results is particularly relevant to our study. The problem of minimizing the makespan is solved
A. Oulamara et al. / Computers & Operations Research 36 (2009) 391 – 401
393
in O(n log n) time for agreeable terminal interval endpoints and processing times (the terminal interval endpoints bj and the processing times pj are called agreeable if b1 b2 · · · bn and p1 p2 · · · pn ), by listing the interval in nondecreasing order of their terminal endpoints bj and forming the first batch from the first k compatible tasks (or all compatible tasks if there are less than k tasks compatible with the first interval), forming the second batch with the next k compatible tasks (or all compatible tasks if there are less than k) and so on. For a flowshop system, Potts et al. [8] have studied the problem with two batching machines. They give a polynomial algorithm for the problem of minimizing batch completion times if both batching machines can process an unbounded number of tasks in the same batch, and proved the NP-hardness of this problem if at least one of the machines can process up to k tasks in the same batch (k < n). Oulamara et al. [9] studied the no-wait flowshop problem with two batching machines, and proposed a polynomial algorithm for the above problem. They also extended their studies to the case of m batching machines. Other related results for the case of flowshop batching machines were presented by [10,11]. 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 remainder 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 presents a heuristic approach to minimize the makespan. Section 5 deals with computational experiments in order to evaluate the efficiency of the proposed 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 by the interval [aj , bj ]. k: the batch capacity of the second machine, 2 k < n. G = (V , E): task compatibility graph, which is an interval 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. • Bl : The lth batch on the second machine. • Ql : The processing time of Bl on the second machine (i.e. Ql = max{aj |j ∈ Bl }).
The example below illustrates the problem under consideration, where n = 8, k = 2. The processing times are given in Fig. 2 and Table 1. The compatibility graph is presented in Fig. 3. A feasible schedule S = {T1 , T8 }, {T6 , T7 }, {T3 , T5 }, {T2 , T4 } contains four batches and the Gantt chart of S is given in Fig. 4.
Fig. 2. Task processing times given in form of intervals.
Table 1 Task processing times
pj qj
T1
T2
T3
T4
T5
T6
T7
T8
4 [5,15]
7 [3,6]
5 [7,10]
6 [3,11]
8 [9,12]
6 [11,16]
10 [15,18]
4 [14,19]
394
A. Oulamara et al. / Computers & Operations Research 36 (2009) 391 – 401
Fig. 3. Graph compatibility.
Fig. 4. Schedule S.
3. Complexity result This section considers the problem F 2|p − batch(2), Gp = INT, k < n|Cmax abbreviated in the following as P. We show that this problem is already binary NP-hard for k = 2, using a reduction of the PARTITION problem, which is known to be NP-hard, [12]. PARTITION decision problem is stated as follows: for given positive integers e1 , . . . , en and The E where n e = 2E, is it possible to partition the index set {1, 2, . . . , n} into disjoint subsets N and N such that i 1 2 i∈N1 ei = i=1 i∈N2 ei = E? Theorem 1. Problem P 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 than 4E, L = max{e1 , . . . , en } and K = ni=1 i. The capacity k of the batching machine 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 lies in the interval [aj , aj + 2L]. By definition of W and L, tasks Ai , Gi , Di and Fi , i = 1, . . . , n are compatible and Ai (resp. Gi , Di and Fi ) is noncompatible with Aj (resp. Gj , Dj and Fj ) for all i, j ; i = j (see Fig. 5). U0 is only compatible with U1 . The PARTITION problem has a solution if and only if P has a feasible solution with the completion time Cmax 2KW + 5E. Suppose PARTITION has a solution, so that N1 and N2 are the required subsets of indices where i∈N1 ei = 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 C2 C3 C4 C5
contains batches of the form {Di , Fi } for i ∈ N1 with processing time iW on M2 , contains batches of the form {Gi , Fi } for i ∈ N2 with processing time iW + 2ei on M2 , contains batches of the form {Ai , Gi } for i ∈ N1 with processing time iW + 2ei on M2 , contains batches of the form {Ai , Di } for i ∈ N2 with processing time iW + ei on M2 , contains batch {U0 , U1 } with zero processing time on M2 .
A. Oulamara et al. / Computers & Operations Research 36 (2009) 391 – 401
395
Table 2 Task processing times
Ai , i = 1, . . . , n − 1 An Gi , i = 1, . . . , n Di , i = 1, . . . , n Fi , i = 1, . . . , n U0 U1
pj
aj
(i + 1)W KW + 2E 0 0 0 0 W + 3E
iW + ei nW + en iW + 2ei iW iW 0 0
Fig. 5. Compatibility between tasks.
Fig. 6. Optimal schedule corresponding to the instance N = {e1 , e2 , e3 , e4 } with N1 = {e1 , e3 } and N2 = {e2 , e4 }.
The tasks in these batches are sequenced in the same order on both machines (sequentially on the first machine and together on the second machine). 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 with 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. Fig. 6 shows the optimal sequence for the instance N = {e1 , e2 , e3 , e4 } with N1 = {e1 , e3 } and N2 = {e2 , e4 }. Conversely, suppose that there exists a schedule S with Cmax =Cmax (S) 2KW +5E. Since the total processing times on the first machine is equal to 2KW + 5E, there is no idle time on this machine in schedule S and Cmax = 2KW + 5E. 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 (Bi ) as follows: 0 if Bi contains exactly one task, q (Bi ) = min{aj |j ∈ Bi } otherwise. Then u i=1
q(Bi ) +
u i=1
q (Bi ) =
4n+2 i=1
ai = 4KW + 6E = 2KW + E + Cmax (S).
396
Since
A. Oulamara et al. / Computers & Operations Research 36 (2009) 391 – 401
u
i=1 q(Bi )Cmax (S),
u
q(Bi ) −
u
one has
u
i=1 q
(B
i ) 2KW
+ E. This implies
q (Bi ) 4E.
i=1
i=1
Therefore, q(Bi ) − q (Bi ) 4E for 1 i u. Since W > 4E, we have (see Table 2, all ai W except for U0 and U1 ), • each batch Bi , i = 1, . . . , u, on the batching machine contains exactly two tasks, i.e. u = 2n + 1. We assume thereby, without restriction , that {U0 , U1 } forms a batch; • 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 also due to the compatibility between tasks, and tasks U0 and U1 are grouped in the same batch. 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 A-tasks. Each task Ai for i ∈ N2 , can be combined either with task Di or with Fi . Since tasks Di and Fi are identical, without loss of generality we assume that for each i ∈ N2 there exists a batch {Ai , Di }. The remaining tasks are grouped in batches of type {Di , Fi }, i ∈ N1 and {Gi , Fi }, i ∈ N2 . The total processing time on the batching machine is given by (iW ) + (iW + 2ei ) (iW + 2ei ) + (iW + ei ) + i∈N1
i∈N1
i∈N2
= 2KW + 4E +
i∈N2
ei Cmax
i∈N2
= 2KW + 5E. Hence i∈N2 ei E and then i∈N1 ei E. Since all tasks in batch type {Fi , Di } and {Fi , Gi } have zero processing time on the first machine, we can place these batches at the beginning of the schedule S without increasing Cmax (S). For the same reason, we can place the batch {U0 , U1 } at the end of S without augmenting Cmax . It remains the placement in S of the batches B(A1 ), . . . , B(An ) which contains A1 , . . . , An . Let the batches B(Aj ), j ∈ J1 ⊆ {1, . . . , n − 1} be located before B(An ) and B(Aj ), j ∈ J2 , the ones following B(An ). Note that the processing times of B(Aj ) on the batching machine satisfy q(B(Aj )) j W + ej . Therefore, we get Cmax (j + 1)W + (KW + 2E) + (nW + en ) + (j W + ej ), j ∈J1
j ∈J2
Cmax |J1 |W + 2KW + 2E + en +
ej ,
j ∈J2
Cmax |J1 |W + 2KW + 2E > 2KW + 6E > Cmax
whenever |J1 | 1.
Therefore |J1 | = 0 and B(An ) is scheduled first. But then (j W + 2ej ) + (j W + ej ) = 2KW + 4E + ej . 2KW + 5E = Cmax (KW + 2E) + j ∈N1
Hence
j ∈N1 ej
E. Together,
j ∈N1 ej
j ∈N2
= E which completes the proof.
j ∈N1
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.
A. Oulamara et al. / Computers & Operations Research 36 (2009) 391 – 401
397
4.1. Lower bound To evaluate a lower bound, we consider the relaxed problem consisting only of the second machine, the max-batch 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 this machine. We denote this problem as B1|Gp =INT, k < n|Cmax or P (j =1, . . . , n) if we use all n tasks and P (j ∈ J ) for a subset J ⊆ {1, . . . , n} of tasks. This problem is solved in O(n log n) by the following algorithm which is an adaptation of the GAC algorithm given in Finke et al. [6]. 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 and add to Bi the first task j not yet placed. Starting with j, put into Bi the next k − 1 tasks not yet placed that are compatible with j (or all of them if there are fewer than k − 1). Remove from L the tasks of Bi . If L = ∅ go to 3, otherwise i = i + 1, go to 2. 3. Sequence the batches obtained in step 2 in any order without idle time and return the valueof the makespan. If Algorithm A returns the batch sequence (B1 , . . . , Br ), the makespan is given by Cmax = ri=1 q(Bi ) where the processing times are q(Bi ) = aj with j being the lowest indexed interval of Bi . Theorem 2. Algorithm A gives an optimal solution to B1|Gp = INT, k < n|Cmax . Proof. Let B1 , B2 , . . . , Bv be a batch sequence constructed by Algorithm A. Since for the set of tasks N − B1 , the sequence B2 , . . . , Bv is selected by Algorithm A, it is sufficient to show that there exists an optimal sequence S = D1 , . . . Du such that B1 ∈ S (using a proof by induction of the number of intervals). 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 that |B1 ∩ D1 | is maximum among all possible choices of S. We show that B1 = D1 . If |B1 | < k, then B1 consists of all intervals Ij = [aj , bj ] such that I1 ∩ Ij = ∅, i.e. a1 ∈ Ij . Since D1 contains I1 , D1 ⊆ B1 . Consider a new sequence S = D1 , . . . , Du , in which D1 = B1 , Di = Di − (Di ∩ Bi ), i = 1, . . . , u. By construction, the processing times of B1 and D1 are q(B1 ) = q(D1 ) = a1 . Then also q(D1 ) = a1 and furthermore q(Di )q(Di ) for i = 2, . . . , u. Since S is optimal, we must have equality everywhere. Therefore S is also optimal and contains B1 . If |B1 | = k, assume D1 B1 , otherwise the proof is the same as in the previous case. Let Ij be an interval of task j such that Ij ∈ B1 \D1 . Since D1 B1 there exists an interval Ik = [ak , bk ] ∈ D1 \B1 . We have a1 ∈ Ij and a1 ∈ Ik , and B1 consists of the first k intervals. Therefore j < k and aj ak . Define D1 = (D1 \Ik ) ∪ Ij and redefine the batch Dl containing Ij as Dl = (Dl \Ij ) ∪ Ik . The redefined batches satisfy the compatibility constraints: D1 does since a1 ∈ Ij ; Dl does since Ik intersects with all intervals that are also intersecting with Ij (a1 ∈ Ik and aj ak ). Also q(D1 ) = q(D1 ) = a1 and q(Dl ) q(Dl ) since aj ak . Therefore, the new sequence S = D1 , . . . , Dl is optimal. On the other hand |D1 ∩ B1 | > |D1 ∩ B1 | which contradicts the choice of S. We can now define a lower bound for the flowshop problem as follows. An optimal solution is obtained by a critical path in some ordering (i.e. l tasks; l = 1, . . . , n; are placed on the first machine. The last of the l tasks and all remaining tasks are placed in batches on the second machine). We take the most favorable case. Let 1 be the set of tasks ordered in nondecreasing order of the processing times 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 of the flowshop problem is given by LB = maxt { ti=1,i∈1 pi + Cmax (P (j = t, . . . , n) : j ∈ 2 )}. 4.2. Heuristic H1 The heuristics H1 is based on applying Johnson’s algorithm [13] 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 = INT, 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.
398
A. Oulamara et al. / Computers & Operations Research 36 (2009) 391 – 401
Table 3 Tasks processing times Classes
Tasks
pj
A B C
A1 Bj , j = 1, . . . , k − 1 Cj , j = 1, . . . , k
2L k−1
2
[aj , bj ] +
[2L + 2, 4L + 2] [2L, 4L] [2, 2L + ]
Fig. 7. Compatibilities between classes A, B and C of tasks.
Theorem 3. The heuristic H1 gives a schedule SH1 in O(n log n) with a performance guarantee of two and this bound is tight (asymptotically). Proof. Let SH1 be the schedule obtained by the heuristic H1 . Consider only the one-machine batching problem on the second machine. According to Algorithm A, the optimal schedule is obtained in O(n log n) and let S = B1 , . . . , Bv be an optimal batch sequence. Since heuristic H1 uses Johnson’s algorithm on the batch sequence S, one has Cmax (SH1 )
n
p1,j +
j =1
v
q(Bj ).
j =1
Let S ∗ be the optimal solution of the flowshop problem and Cmax (S ∗ ) its completion time, yielding Cmax (S ∗ )
n
p1,j
and
j =1
Cmax (S ∗ )
v
q(Bj ).
j =1
Consequently ∗
2Cmax (S )
n j =1
p1,j +
v
q(Bj ) Cmax (SH1 ).
j =1
Then, Cmax (SH1 ) 2. Cmax (S ∗ ) Thus the heuristic H1 provides a solution with a performance ratio bounded by 2. Now we present an instance for which this upper bound is reached (asymptotically). Denote by I an instance for the flowshop problem, composed of classes A, B and C containing 1, k − 1 and k tasks, respectively. The processing times are given in Table 3 (where L). Fig. 7 gives the compatibilities between tasks according to their processing times on the batching machine. The makespan Cmax (SH1 ) for the schedule SH1 produced by the heuristic H1 is equal to Cmax (SH1 ) = 4L + (k + 4) (see Fig. 8).
A. Oulamara et al. / Computers & Operations Research 36 (2009) 391 – 401
399
Fig. 8. Schedule SH1 .
Fig. 9. Optimal schedule.
The optimal value of the makespan for the instance I is Cmax (S ∗ ) = 2L + (3k + 2) (see Fig. 9). ∗ ∗ Cmax (S ) is optimal because the lower bound LB = 2k j =1 pj + minj aj is reached by Cmax (S ). Thus, Cmax (SH1 ) 4L + (k + 4) = ∗ Cmax (S ) 2L + (3k + 2) and lim
→0
4L + (k + 4) = 2. 2L + (3k + 2)
This completes the proof.
4.3. Heuristic H2 and H3 For heuristics H2 and H3 we use sorted lists. The construction of the batches and their sequencing results from the principle of the NEH algorithm [14]. Each 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 for each heuristic H2 and H3 ). 2. Let S be a 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 in the partial sequence S. This is done 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.
400
A. Oulamara et al. / Computers & Operations Research 36 (2009) 391 – 401
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), then i 2 + 1 operations are needed to obtain the best partial sequence at iteration i. Therefore, 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 endpoints aj of the interval processing time of tasks on the batching machine are generated from a uniform distribution [5, 100] and for the second experiments they are generated from a uniform distribution [50, 500]. The terminal endpoints bj for the tasks j are 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 Table 4 Experiments with qj ∈ [5, 100] qj ∈ [5, 100]
k
Dm (H1 )
Dm (H2 )
Dm (H3 )
n = 10
2
0.0012
0.021
0.041
n = 50
2 5 10
0.027 0.019 0.012
0.043 0.019 0.016
0.031 0.015 0.013
n = 100
2 5 10
0.010 0.018 0.021
0.016 0.012 0.014
0.014 0.014 0.011
n = 250
2 25 50
0.007 0.006 0.007
0.016 0.012 0.012
0.014 0.019 0.008
n = 500
2 25 50 100
0.014 0.013 0.007 0.002
0.029 0.022 0.012 0.018
0.024 0.028 0.008 0.014
Dm (H1 )
Dm (H2 )
Dm (H3 )
Table 5 Experiments with qj ∈ [50, 500] qj ∈ [50, 500]
k
n = 10
2
4.17
20.17
5.33
n = 50
2 5 10
0.47 4.49 7.07
9.97 24.33 27.67
3.39 18.07 21.47
n = 100
2 10 20
0.28 0.41 0.25
5.74 15.14 0.43
1.67 8.59 8.56
n = 250
2 25 50
0.06 0.06 0.14
3.35 0.13 0.93
0.65 0.09 0.97
n = 500
2 25 50 100
0.02 0.02 0.02 0
2.4 0.02 0.01 0
0.47 0.03 0.02 0
A. Oulamara et al. / Computers & Operations Research 36 (2009) 391 – 401
401
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 measure the efficiency of heuristics we calculate the relative distance between the solution given by the heuristic and the best lower bound, as follows: Dm (Hi ) =
Cmax (Hi ) − LB × 100, LB
i = 1, 2, 3.
For the parameter setting in Table 4, we can see that all three heuristics cope very well with the problem (with minimal advantage for H1 ). For larger processing intervals, Table 5 clearly shows the superiority of heuristic H1 . 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 times better results than heuristic H2 . 6. Conclusion We have considered here a new application of two flowshop scheduling problems that involve a discrete and 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. Particularly, the heuristic H1 , which uses optimal features both for flowshops and for batching, provides excellent results for randomly generated instances. References [1] Graham RL, Lawler EL, Lenstra JK, Rinnooy Kan AHG. Optimization and approximation in deterministic sequencing and scheduling: a survey. Annals of Discrete Mathematics 1979;5:287–326. [2] Brucker P, Gladki A, Hoogeveen H, Kovalyov MY, Potts C, Tautenhahn T. et al. Scheduling a batching machine. Journal of Scheduling 1998;1: 31–54. [3] Potts CN, Van Wassenhove LN. Integrating scheduling with batching and lot-sizing: a review of algorithms and complexity. Journal of the Operational Research Society 1991;46:395–406. [4] Webster ST, Baker KR. Scheduling groups of jobs on a single machine. Operations Research 1995;43:692–703. [5] Potts CN, Kovalyov MY. Scheduling with batching: a review. European Journal of Operational Research 2000;120:228–49. [6] Finke G, Jost V, Queyranne M, Sebo A. Batch processing with interval graph compatibilities between tasks. In: the Second International Workshop on Discrete Optimization Methods and Logistics, July 20–27, 2004, Omsk-Russia, 2004. [7] Boudhar M, Finke G. Scheduling on a batch machine with job compatibility. JORBEL 2000. p. 69–80. [8] Potts CN, Strusevich VA, Tautenhahn T. Scheduling batches with simultaneous job processing for two-machine shop problems. Journal of Scheduling 2001;4:25–51. [9] Oulamara A, Kovalyov MY, Finke G. Scheduling a no-wait flowshop with unbounded batching machines. IIE Transactions on Scheduling and Logistics 2005;37(8):685–96. [10] Lin BMT, Cheng TCE. Batch scheduling in the no-wait two-machine flowshop to minimize the makespan. Computers & Operations Research 2001;28:613–24. [11] Oulamara A, Finke G. Flowshop problems with batch processing machines. International Journal of Mathematical Algorithms 2001;2:269–87. [12] Garey MR, Johnson DS. Computers and intractability: a guide to the theory of NP-completness, W.H. Freeman, 1979. [13] Johnson SM. Optimal two and three-stage production schedules with setup times included. Naval Research Logistics Quarterly 1954;1(1): 61–8. [14] Nawaz M, Escore EE, Ham I. A heuristic algorithm for the m-machine: n-job few shop sequencing problem. Omega 1993;11(1):91–5.