Professional Documents
Culture Documents
Abstract. We consider the problem of minimizing the makespan on batch processing identical
machines, subject to compatibility constraints, where two jobs are compatible if they can be pro-
cessed simultaneously in a same batch. These constraints are modeled by an undirected graph
G, in which compatible jobs are represented by adjacent vertices. We show that several subprob-
lems are polynomial. We propose some exact polynomial algorithms to solve these subproblems.
To solve the general case, we propose a mixed-integer linear programming (MILP) formulation
alongside with heuristic approaches. Furthermore, computational experiments are carried out to
measure the performance of the proposed methods.
1. Introduction
In classical scheduling theory, it is assumed that machines can only process one job at a time. However,
in reality there is another scheduling model that can be called ”batch machines” and that refers to
batches of jobs to be processed together (material painted together, material rolled together, material
transported together, etc). In these cases, the jobs in the same batch have to be compatible.
The principal motivation for batch scheduling is the scheduling of burn-in operations in the semi-
conductor industry where are exposed to high temperatures in a fixed capacity oven in order to weed
out chips susceptible to premature failure.
In this work, we consider the problem of scheduling a set J = {J1 , ..., Jn } of n jobs non-
preemptively on batch processing identical machines to minimize the makespan Cmax . We assume
Address for correspondence: RECITS laboratory, Faculty of Mathematics, USTHB University, BP 32 El-Alia, Bab Ezzouar,
Algiers, Algeria
2 K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines
that the jobs are subject to compatibility constraints modeled by an undirected graph G = (V, E), we
call the compatibility graph, in which each job is represented by a vertex (V = J), and each edge joins
a pair of jobs that can be processed simultaneously in a same batch. By definition, a batch belongs to
a clique of the graph G. The capacity b of a batch and hence the clique size, may be finite b = k, vari-
able, or infinite b = ∞ (it can process all jobs simultaneously). The job Ji has the processing time pi
and the processing time of a batch is equal to the maximum processing time or the sum of processing
times of jobs assigned to it. All the jobs in a batch must be available at the same date, start at the same
date and finish at the same date. We assume that a setup-time s must separate two successive batches
and that the jobs of a batch are processed without setup-time. The setup-time is independent of the
batches sequence, it is identical between each two successive batches on all machines.
A feasible schedule is an assignment of the jobs to the machines where all the jobs in a same
batch are adjacent in the graph G. In a given schedule, the completion time of a batch Bi , de-
noted by Ci , is defined as the time by which the machine completes its processing. The largest one
among them defines the makespan of the schedule Cmax . We denote these batch scheduling prob-
lems with a fixed number of machines m by Bm, max|G = (V, E), b, pi , s|Cmax and Bm, sum|G =
(V, E), b, pi , s|Cmax .
This paper is organized as follows. Section 2 is about the literature review. In section 3, we study
the complexity results. Linear formulation will be given in Section 4. In Section 5, we present two
heuristic approaches. Section 6 reports the computational results. We conclude this article in Section
7.
2. Literature review
The theory of batch scheduling for various scheduling objectives and additional constraints has been
already well established in [1, 2]. Some very special cases of job compatibility, the Incompatible
Families structures [3, 4, 5, 6] and the Compatible Families structures [1, 7, 8, 4] have previously
been treated. Intensive research has subsequently been developed on this subject for various schedul-
ing objectives and additional constraints, see for instance the surveys [1]. [9] provided a survey of
scheduling research in semiconductor manufacturing. In [10], the authors presented the literature on
parallel batching and focused primarily on deterministic scheduling. They provided a taxonomy of
parallel batching problems, distinguishing the compatible case and the incompatible families. They
discussed scheduling approaches for single machine, parallel machines, and other environments such
as flow shops and job shops.
For the case of single batch processing machine with a general compatibility graph G has been
analyzed in [11]. In the same reference the authors have proved that the problem with an arbitrary
compatibility graph G, denoted B1|G = (V, E), b = 2|Cmax can be solved in polynomial time of
order O(n3 ) as a maximum weighted matching problem. Note that the sub-problem with an iden-
tical processing time denoted B1|G = (V, E), b = 2, pi = 1|Cmax can be solved in polynomial
time of order O(n2.5 ) as a maximum cardinality matching problem. The special cases with bipartite
compatibility graph and split compatibility graph have been analyzed respectively in [12, 13, 14]. In
[13], each job has a release date and a processing time equal to 1. [15] studied the scheduling on
a single max-batch machine with variable capacity, each job has a minimal processing time and the
K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines 3
compatibility constraint may be represented by an interval graph. They considered several models
with varying batch capacities, processing times or compatibility graphs. They summarized known
results, and presented a min–max formula and polynomial time algorithms.
In [16] is studied the case of the serial batching and parallel batching. They did not introduce the
notion of compatibility graphs. They developed exact algorithms to minimize makespan on single and
parallel batch processing machines for the problem 1|sj , B|Cmax and P m|sj , B|Cmax where each job
j has a size sj and a minimum processing time pj , which does not differ across the machines. Then, a
subset of jobs that can be processed simultaneously forms a batch under the condition that their total
size is no larger than machine capacity S. In [17] is considered the online (over time) scheduling
problem of minimizing the makespan on m unbounded parallel-batch machines with a compatibility
constraint which is represented by an interval compatibility graph. They provided that there exists
no online algorithm with a competitive ratio less than 2 and an online algorithm with a competitive
ratio 2 + (m − 1)/(m + 1), which is optimal for the case m = 1. When all jobs have the same
processing times, they also gave an optimal online algorithm. Based on previous studies that often
combine machine learning algorithms with practical production applications. [18] provided a new
approach to the scheduling process using an advanced genetic algorithm.
For the case of flowshop batching machines, [19] 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. In [20] is considered a two-stage hybrid
flowshop problem in which the first stage contains several identical discrete machines, and the second
stage contains several identical batching machines. They studied the case of an interval graph when
which jobs have the same processing time on the first stage, for which a polynomial approximation
scheme algorithm is presented. [21] studied the problem of job scheduling in a flowshop with two
machines. The first machine is a discrete machine and the second machine is a batching machine
with the additional feature that the jobs of the same batch have to be compatible. A compatibility
constraint is defined by an interval graph. They studied the complexity of the makespan minimization.
They developed a heuristic approach and evaluated it. Other related results for the case of flowshop
batching machines were presented by [22, 23].
3. Complexity results
We, here, briefly present new results regarding the problems B1, max|G = (V, E), b = 2, s|Cmax
and B1, sum|G = (V, E), b = 2, s|Cmax for the case of a single machine and Bm, max|G =
(V, E), b = 2, pi = p, s|Cmax , Bm, sum|G = (V, E), b = 2, pi = p, s|Cmax and B2, max|G =
(V, E), b = 2, pi = {p, q}, s|Cmax for the case of several machines. These problems with an arbitrary
compatibility graph G can be solved in polynomial time.
to compatibility constraints modeled by an undirected graph G, each batch has a capacity b = 2, each
job Ji has a processing time pi and there exist a setup-time s between each two successive batches.
Theorem 3.1. The problem B1, max|G = (V, E), b = 2, s|Cmax reduces to the maximum weighted
matching.
Proof:
Let σ be a feasible schedule, it is composed of two-job batches and single-job batches. The two-job
batches correspond to a matching M in graph G and the single-job batches are those P
of the set V \ VM
(VM represents the jobs of the matching M ) and contribute to σ by a time K = p(Jl ).
l/Jl ∈V \VM
Let c(ek ) = max{p(Ji ), p(Jj )} be the cost of the
Pedge ek , if the edge ek is incident to the vertices
Ji and Jj . The makespan is written: Cmax (σ)= c(ek ) + K + s(|V | − |M | − 1), where the
k/ek ∈M
expression s(|V | − |M | − 1) represents the global setup-time of σ.
We have
X X X X
K= p(Jl ) − p(Jl ) = p(Jl ) − (p(Ji ) + p(Jj ))
l/Jl ∈V l/Jl ∈VM l/Jl ∈V k/ek =(Ji ,Jj )∈M
P
Since |M | = k/ek ∈M 1, then we obtain:
X X X
Cmax (σ) = max{p(Ji ), p(Jj )} + p(Jl ) − (p(Ji ) + p(Jj ))
k/ek =(Ji ,Jj )∈M l/Jl ∈V k/ek =(Ji ,Jj )∈M
X
+ s n − 1 − 1
k/ek ∈M
X X
= (max{p(Ji ), p(Jj )} − p(Ji ) − p(Jj ) − s) + p(Jl ) + s(n − 1)
k/ek =(Ji ,Jj )∈M l/Jl ∈V
X X
= − (min{p(Ji ), p(Jj )} + s) + p(Jl ) + s(n − 1).
k/ek =(Ji ,Jj )∈M l/Jl ∈V
We consider a new weight function α on the graph G such that for each edge ek = (Ji , Jj ),
α(ek ) = min{p(Ji ), p(Jj )} + s, then the makespan is written :
X X
Cmax (σ) = p(Jl ) + s(n − 1) − α(ek )
l/Jl ∈V k/ek ∈M
P
p(Jl ) + s(n − 1) is a constant. Then, minimizing Cmax is equivalent to maximizing
Pl/Jl ∈V
α(ek ).
k/ek ∈M
Hence, the optimal solution of the problem is obtained by finding a maximum weighted matching
M in the valued graph Hα = (G, α). ⊔
⊓
K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines 5
Algorithm 1:
Input: G = (V, E), pi , s
Result: schedule σ
1. From the graph G = (V, E), construct a new valued graph Hα = (G, α) where each edge
e = (Ji , Jj ) ∈ E is valued by α(e) = min{p(Ji ), p(Jj )} + s.
• For each edge of the matching M , process the corresponding two jobs in a same batch.
• The other jobs are processed in single job batches. (Schedule the batches in an arbitrary
order).
P P
4. Cmax (σ) = l/Jl ∈V p(Jl ) + s(n − 1) − k/ek ∈M α(ek ).
Theorem 3.2. The problem B1, sum|G = (V, E), b = 2, s|Cmax reduces to the maximum cardinal-
ity matching.
Proof:
Let σ be a feasible schedule, it is composed of two-job batches and single-job batches. The two-job
batches correspond to a matching MPin graph G and the single-job batches are those of the set V \ VM
and contribute to σ by a time K = l/Jl ∈V \VM p(Jl ).
Let c(ek ) = p(Ji ) + p(Jj ) be the cost of the edge
P ek , if the edge ek is incident to the vertices
Ji and Jj . The makespan is written: Cmax (σ)= c(ek ) + K + s(|V | − |M | − 1), where the
k/ek ∈M
expression s(|V | − |M | − 1) represents the global setup-time of σ.
We have
X X X X
K= p(Jl ) − p(Jl ) = p(Jl ) − (p(Ji ) + p(Jj ))
l/Jl ∈V l/Jl ∈VM l/Jl ∈V k/ek =(Ji ,Jj )∈M
P
Since |M | = k/ek ∈M 1, then we obtain:
6 K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines
X X X
Cmax (σ) = (p(Ji ) + p(Jj )) + p(Jl ) − (p(Ji ) + p(Jj ))
k/ek =(Ji ,Jj )∈M l/Jl ∈V k/ek =(Ji ,Jj )∈M
X
+ s n − 1 − 1
k/ek ∈M
X X
= (p(Ji ) + p(Jj ) − p(Ji ) − p(Jj ) − s) + p(Jl ) + s(n − 1)
k/ek =(Ji ,Jj )∈M l/Jl ∈V
X X
= p(Jl ) + s(n − 1) − s 1
l/Jl ∈V k/ek =(Ji ,Jj )∈M
P P
p(Jl )+s(n−1) is a constant. Then, minimizing Cmax is equivalent to maximizing 1.
l/Jl ∈V k/ek ∈M
Hence, the optimal solution of the problem is obtained by finding a maximum cardinality matching
M in the graph G. ⊔
⊓
Algorithm 2:
Input: G = (V, E), pi , s
Result: schedule σ
1. Find a maximum cardinality matching M in the graph G.
• For each edge of the matching M , process the corresponding two jobs in a same batch.
• The other jobs are processed in single job batches. (Schedule the batches in an arbitrary
order).
P
3. Cmax (σ) = l/Jl ∈V p(Jl ) + s(n − |M | − 1).
The best known algorithm for the maximum cardinality matching is in O(n2.5 ). Hence, also the
Algorithm 2 runs in O(n2.5 ).
The problem Bm|G = (V, E), b = 1|Cmax is equivalent to the parallel machine problem P m||Cmax .
Consequently, these batch scheduling problems are NP-hard for m ≥ 2.
Theorem 3.3. The problem Bm, max|G = (V, E), b = 2, pi = p, s|Cmax reduces to the maximum
cardinality matching.
Proof:
The value of an optimal solution of the problem B1, max|G = (V, E), b = 2, pi = p, s|Cmax devised
l m isma lower
by problem Bm, max|G = (V, E), b = 2, pi = p, s|Cmax that is LB =
l boundmof the
n−|M | n−|M |
m p+ m − 1 s. Since all the processing times are equal to p, then to build an optimal
schedule for the above problem, it suffices to find a maximum
l l M inmthe graph
matching
m G, the value
n−|M | n−|M |
of the corresponding solution of M is equal to Cmax = m p+ m − 1 s which is equal
to LB. ⊔
⊓
Algorithm 3:
Input: G = (V, E), p, s
Result: schedule σ
1. Find a maximum cardinality matching M in the graph G.
• For each edge of the matching M , process the corresponding two jobs in a same batch.
• The other jobs are processed in single job batches.
The best known algorithm for the maximum cardinality matching is in O(n2.5 ). Hence, also, the
Algorithm 3 runs in O(n2.5 ).
Theorem 3.4. The problem Bm, sum|G = (V, E), b = 2, pi = p, s|Cmax reduces to the maximum
cardinality matching.
Proof:
Since all the processing times are equal to p, then to build an optimal schedule for the above problem,
it suffices to find a maximum matching M in the graph G, to minimize the number of batches for the
above problem and schedule the two-job batches at the first one because its processing time is equal
to 2p and then the batches of single job, at the first available machine.
8 K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines
l m l m l ′m l ′ m
|M | |M | n n
2 m p+ m −1 s m p+ m −1 s
. . .
M1 (J p , J p ) . . . (J p , J p ) (J p ) . . . (J p )
mod(|M |, m)
. . .
. . . . . .
. . . . . . . . . . .
. . . . . .
. . . . .
. . .
. . . . . (J p , J p ) (J p ) . . . (J p )
. . .
. . . . .
. . .
. . . . . (J p ) (J p ) (J p ) . . . (J p )
. . .
k
2
. . .
Mm (J p , J p ) . . . (J p ) (J p ) (J p ) . . . (J p )
. . .
Figure 1. Structure of the schedule ((J p , J p ) is a two-job batch and (J p ) a single job batch).
l m l m
The makespan of the two-job batches is equal to 2 |M |
p + |M |
− 1 s.
l m j k m m
|M |
Let k = 2 m − |M m
|
m − mod(|M |, m) , be the number of the free places (of length p)
( !
h j k
|M |
l m i
|M | 0 if mod(|M |, m) = 0
in the interval 2 m p, 2 m p . k =
2(m − mod(|M |, m)) otherwise
If the number
l m of the l remaining
m jobs (n − 2|M | jobs) is less than or equal to k/2 so the makespan is
|M | |M |
equal to 2 m p + m − 1 s, but if it’s between k/2 and k so the batch number of the previous
solution will increase by one.
If the cardinal matching of M is multiple of m or the number of remaining jobs (n − 2|M |
jobs) is greater than the free places k and mod1 (n′l, m) mless lthanmor equal
l to mmod(|M
l ′ m|, m)where
|M | n ′ |M |
n′ = n − 2|M | − k, so the makespan is equal to 2 m + m p + m + nm − 1 s, but
if it’s greater than mod(|M |, m) or mod(n′ , m) = 0, the batch number of the previous solution will
increase by one. (See Figure 1). ⊔
⊓
• Bi : the batch i.
Algorithm 4:
Input: G = (V, E), p, s
Result: schedule σ
1. Find a maximum cardinality matching M in the graph G.
• For each edge of the matching M , process the corresponding two jobs in a same batch.
• The other jobs are processed in single job batches.
3. Schedule the batches at the first available machine starting by the two-job batches.
4. The makespan
l equal
m to:
l m
Cmax = 2 m p + |M
|M |
m
|
− 1 s+
k
s if < n − 2|M | ≤ k
l ′m l ′ m 2
n n
s+ m p+ m −1 s n′ > 0 and (mod(n′ , m) ≤ mod(|M |, m) or
if
l ′m l ′ m mod(|M |, m) = 0)
n n
2s + p + − 1 s n′ > 0 and (mod(n′ , m) > mod(|M |, m) or
m m if
mod(n′ , m) = 0)
• npq : the number of two-job batches, one of processing time p and the other of processing time
q of σ.
Algorithm 5 described bellow is the equivalent of Algorithm 1 in the case of two machines.
Theorem 3.5. The problem B2, max|G = (V, E), b = 2, pi ∈ {p, q}, s|Cmax is solvable in polyno-
mial time by Algorithm 6 in O(n9 ) time.
Proof:
It is clear that the only possible case to decrease the value of Cmax (σ) is to increase the number of
10 K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines
Algorithm 5: IS
Input: G = (V, E), p, q, s
Result: schedule σ
1. From graph G = (V, E), construct a new valued graph Hα = (G, α) where each edge
e = (Ji , Jj ) ∈ E is valued by α(e) = min{p(Ji ), p(Jj )} + s.
• For each edge of the matching M , process the corresponding two jobs in a same batch.
• The other jobs are processed in single job batches.
4. Schedule the batches according to P 2|pi ∈ {p, q}|Cmax with only two processing times.
batches with processing time p and to decrease the number of batches with processing time q for σ.
To realize the decrease, we process two jobs with processing time q of two different batches in a
same batch. If one of the two batches is a singleton and the other is of type (J p , J q ), then absurd
with σ contains the maximum weighted matching, so to decrease nq , we use at least two batches
Bi = (Jip , Jiq ) and Bj = (Jjp , Jjq ) of σ (See Figure 2).
=⇒
Algorithm 6:
Input: G = (V, E), p, q, s
Result: σ ∗
1 Apply the Algorithm 5, let σ be the given solution;
2 σ ∗ := σ;
3 if ( (npq ≥ 2) and (np + nq is odd) and (2p + s ≥ q) ) then
4 for ( Jiq ∈ V and Jjq ∈ V ) do
5 for ( Jkp ∈ V and Jlp ∈ V such that (Jkp , Jiq ) ∈ E and (Jlp , Jjq ) ∈ E) do
E := E \ {(Jkp , J q ) and (Jlp , J q ), J q ∈ V };
′
6
7 for Jeq ∈ V and Jfq ∈ V do
8 if ((Jiq , Jeq ) ∈ E and (Jjq , Jfq ) ∈ E) then
V := V \ {Jiq , Jjq , Jeq , Jfq };
′
9
′ ′
10 Apply Algorithm 5 (G = (V ; E ), p, q, s);
′ ′
11 Let σ be the solution given by the Algorithm 5, add to σ the two batches
(Jiq , Jeq ) and (Jjq , Jfq ) at the time 0 and add q to Cmax (σ ) ;
′
′
12 if Cmax (σ ) < Cmax (σ ∗ ) then
′
13 σ ∗ := σ ;
14 end
15 end
16 end
17 end
18 end
19 else
20 σ is an optimal solution;
21 end
22 end
• Case 2.1: if 2p + s < q, then we cannot find two batches Bi = (Jip , Jiq ) and Bj =
(Jjp , Jjq ) with (Jiq , Jjq ) ∈ E, otherwise we will have a contradiction with σ constructed
by Algorithm 5, corresponding to the maximum weighted matching. So σ is an optimal
solution. (See Figure 3).
• Case 2.2: if 2p + s ≥ q, we suppose that we deleted from σ, a1 batches of processing
time q and we added (a1 + 1) batches of processing time p. Then the matching value
corresponds to these jobs in σ is equal to (2a1 p + 2a1 s), and its matching value in the new
solution σ1 is equal to a1 q +(a1 −1)p+(2a1 −1)s. We have by hypothesis 2a1 p+2a1 s ≥
a1 q + (a1 − 1)p + (2a1 − 1)s, so (a1 + 1)p + s ≥ a1 q, then:
• If a1 is even: suppose nq = 2K + 1 and np = 2Ca1 + 1, then Z(σ) = (K + 1)q +
Cp + (K + C)s and Z(σ1 ) = 2K−a 2
1
q + C + 2 + 2 p + (K + C + 1)s. Thus,
Z(σ) ≤ Z(σ1 ) if, and only if, a21 + 1 q ≤ a21 + 2 p + s. We have by hypothesis
12 K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines
q+s
Jiq Jjq Jiq Jjq
p+s p+s
Case a: 2p + 2s ≥ q + s Case b: 2p + 2s ≤ q + s
a1 q ≤ (a1 + 1)p + s, then a1 q − a21 − 1 q < (a1 + 1)p + s − ( a21 − 1)p because
Lemma 3.6. If np + nq is odd and if we delete, from σ, a1 batches of processing time q and we add
(a1 + 1) batches of processing time p, we obtain a new solution σ1 , such that Z(σ) > Z(σ1 ).
Proof:
Let n′q = nq − a1 and n′p = np + a1 + 1 be the new numbers of batches. There are four possible types
of scheduling depending on the parity of n′p and n′q , see Figure 4.
Consider the possible values of σ1 regarding the parity of np , nq and a1 , and we show that Z(σ) >
Z(σ1 ):
• nq is even and np is odd:
2K − a1 2C + a1 + 2
– If a1 is even, σ1 is of type 1 with Z(σ1 ) = q+ p+(K +C)s
2 2
a1 a1
< Kq + (C + 1)p + (K + C)s (because q > p), so Z(σ) > Z(σ1 ).
2 2
2K − a1 + 1 2C + a1 + 1
– If a1 is odd, σ1 is of type 4 with Z(σ1 ) = q+ p+
2 2
a1 − 1 a1 − 1
(K + C)s < Kq + (C + 1)p + (K + C)s (because q > p), so
2 2
Z(σ) > Z(σ1 ).
K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines 13
q p
B2q . . . B2k B2p . . . B2C
q p
B2q . . . B2k B2p . . . B2C
q p
B2q . . . B2k B1p B2p B4p . . . B2C
q p
B2q . . . B2k B1p B2p B4p . . . B2C
So ∀a1 , Z(σ) > Z(σ1 ). Therefore, σ is not an optimal solution of the problem. ⊔
⊓
14 K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines
Lemma 3.7. If we apply Algorithm 6 a second time to σ1 , then the makespan increases.
Proof:
If one between nq and np is even and the other is odd, (σ1 be the solution found at iteration 1 of
Algorithm 6, such that, we delete from σ, a1 batches of processing time q and we add (a1 + 1) batches
of processing time p), so, for all value of a1 , the schedule σ1 is the type 1 or the type 4. Let σm be the
P found if we apply the Algorithm 6, (m − 1) times to the solution σ1 . So, we delete from σ,
solution
α= m i=1 ai batches of processing time q and we add (α + m) batches of processing time p. So, for
all value of α and m, the schedule σm is of type 1 or type 2 or type 3 or type 4.
WePhave, 2ai p + 2ai s ≥ ai qP+ (ai − 1)p + (2ai − 1)s for i = 1, . . . , m. Thus, (ai + 1)p + s ≥ ai q.
Then, i=1 ((ai + 1)p + s) ≥ m
m
i=1 ai q. So, (α + m)p + ms ≥ αq.
a1 − α − m + 2 m−1 a1 − α + 1
if, and only if, p− s≤ q.
2 2 2
a1 − α − m m−1 a1 − α − 1
We have shown that p− s< q, then
2 2 2
a1 − α − m m−1 a1 − α − 1
p+p− s< q + q, so Z(σ1 ) < Z(σm ).
2 2 2
From Lemma 1 and Lemma 2, we conclude that Algorithm 6 gives an optimal solution. As the
three nested loops require a time in O(n6 ) and the matching algorithm a time in O(n3 ), then Algorithm
6 requires a time in O(n9 ) but this complexity, calculated in the worst case, can be reduced. ⊔
⊓
In this section, we present a mixed integer programming model (MILP) to solve the scheduling prob-
lem Bm, max|G = (V, E), b = 2, s|Cmax .
Let pbij = max{pi , pj } if the two jobs Ji and Jj are compatible and let A be the adjacency matrix
of the graph G = (V, E) such that:
(
1 if the jobs Ji and Jj are compatible, i, j = 1, . . . , n
aij =
0 otherwise
Linear model: The linear model of the problem Bm/G = (V, E), b = 2, s/Cmax is:
minimize Cmax
subject to
18 K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines
Pm Pn
k=1 j>i xijk ≤1 i = 1, . . . , n (1)
Pm
k=1 xijk ≤ aij i < j = 1, . . . , n
(2)
Pm
k=1 yik ≤1 i = 1, . . . , n (3)
Pm Pn Pm
j>i xijk =1− k=1 yik i = 1, . . . , n (4)
k=1
Pn Pn Pn
j>i pbij xijk + pi yik
i=1
Pi=1
Pn Pn n
+s( i=1 j>i xijk + i=1 yik − 1) ≤ Cmax k = 1, . . . , m (5)
Cmax ≥ 0 (6)
xijk ∈ {0, 1} , yik ∈ {0, 1} i < j = 1, . . . , n
and k = 1, . . . , m (7)
Where
• Equations (1): indicate that each job is, at most, in one batch of two jobs on a single machine.
• Equations (2): ensure that every two compatible jobs are, at most, in one batch of two jobs on a
single machine.
• Equations (3): ensure that each single job batch is in at most one machine.
• Equations (4): indicate that each job is in one batch on one machine.
Pn Pn
• i=1 j>i pbij xijk : the sum of the batch processing times with two jobs on each machine.
Pn
• i=1 pi yik : the sum of the batch processing times with a single job on each machine.
• s( ni=1 nj>i xijk + ni=1 yik − 1): the sum of the batch preparation times on each machine.
P P P
• Equations (6): ensure that the corresponding decision variable must be positive.
• Equations (7): ensure that the corresponding decision variables are binary.
The number of variables and the number of constraints of a linear mathematical model are two
indices by which we can measure the dimension and the efficiency of the given model. The number of
n+1
variables is mn( ) binary variables and one continuous variable. The total number of constraints
2
n+5
is (n( 2 ) + m).
K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines 19
time (s)
time (s)
22-
20-
20-
18-
18-
16-
16-
14-
14-
12-
12-
10-
10-
8-
8-
6-
6-
4-
4-
2-
— — — — —
2-
density (%) — — — — — — — — — —
12.5 25 50 75 100 n
10 20 30 40 50 60 70 80 90 100
Figure 5. Performance of the model with n = 50. Figure 6. Performance of the model with low density.
Figure 7. Performance of the model with medium Figure 8. Performance of the model with high den-
density. sity.
In Figure 5 is pictured the mean time to obtain an optimal solution, for a fixed instance size n = 50,
for each density. In Figures 6, 7 and 8 are pictured the mean time for following density, low, medium
and high respectively. The above linear formulation solved almost all the instances in a reasonable
amount of time in the mean. We can see that in the case of fixed instances size n, the mean time to
obtain an optimal solution increases in parallel with the density of the compatibility graph, see Figure
20 K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines
5. As expected, Figures 6, 7 and 8 indicated that for a fixed density of the graph G, the mean time to
obtain an optimal solution increases in parallel with the number of jobs.
In conclusion, notice that for n = 200, CPLEX solver solves 60% of the generated instances in
900 seconds, for n = 100 it solves 83% and for n = 50 it solves 100% in few time. All the tests
carried out have shown the effectiveness of the model.
6. Experimental results
In this section, we present the results of the computational experiments performed. We first give
details about both software and hardware setup used to run those experiments. Then, we examine the
performance of the heuristic approaches H1 and H2.
We coded the above heuristics in C++ language. The tests were executed on a personal com-
puter with an Intel(R) Core(TM) i3-5010U 2.10GHz processor with 4GB of RAM and run under the
Windows 7 operating system. We constructed problem instances with randomly generated data. We
considered the number of jobs n ∈ {10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400}, the number
of machines m ∈ {2, 3, 4, 5} and we have used the parameter d ∈ {12.5, 25, 50, 75, 100} which is
the density (in percentage) of the compatibility graph. The processing times and the set-up times are
randomly generated in [10, 100] and {2, 3, 4} respectively. For each number n of jobs, we considered
50 of randomly generated instances according to the uniform distribution.
K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines 21
Algorithm 7: H1
Input: G = (V, E), pi , s
Result: σ1
1 Apply the Algorithm 5 (let Cmax be the value of the solution given by Algorithm IS);
k
2 Let C = {Mk , Cmax = Cmax };
3 for each Mk ∈ C do
4 for each two batches Bi = (Ji1 , Ji2 ) and Bj = (Jj1 , Jj2 ) in Mk do
5 if p1i < p2j and p1j < p2i then
l
6 if (Ji2 , Jj2 ) ∈ E and there is a machine Ml where Cmax + M in{p1i , p1j } + s ≤ Cmax then
7 Replace the batches Bi and Bj of Mk by the batch (Ji2 , Jj2 ) and a batch that contains one of
the jobs Ji1 or Jj1 of the maximum processing time, and schedule the other job on the
machine Ml ;
8 end
9 end
10 end
r
11 Select a machine Mr such that Cmax < Cmax and two batches Bi in Mk and Bj in Mr ;
1 2 1 2
12 if pi < pj and pj < pi then
l
13 if (Ji2 , Jj2 ) ∈ E and there is a machine Ml where Cmax + M in{p1i , p1j } + s ≤ Cmax then
14 Replace the batch Bi by a batch that contains one of the jobs Ji1 or Jj1 of the maximum processing
time;
15 Replace the batch Bj by the batch (Ji2 , Jj2 );
16 Add to the machine Ml a batch that contains the other job;
17 Save the best solution;
18 end
19 end
20 end
21 for every two machines Mk and Ml do
22 Select randomly a job Jia ∈ Bi and a job Jjb ∈ Bj ;
23 if (Jia , Jjb ) ∈ E then
24 Select randomly a number r ∈ {k, l}, and add the batch (Jia , Jjb ) to the machine Mr and add to the
other machine a batch which contains the two remaining jobs if they are adjacent, otherwise schedule
each one in a batch;
25 Save the best solution;
26 end
27 end
28 Form a batch list of a single job;
29 Arrange the jobs of the list in the decreasing order of their processing times;
30 Select the job at the top of the list and place it at the first available batch. If the job cannot be processed in any one
of the existing batches, create a new batch;
31 Reschedule all batches on the first available machine according to the decreasing order of their processing times;
32 for counter = 1..iter do
33 Select randomly two machines Mk and Ml ;
34 Select randomly a batch Bi ∈ Mk and a batch Bj ∈ Ml ;
35 Swap the two batches of the two machines;
36 Save the best solution;
37 end
Table 1 that summarizes the experimental study shows the efficiency of H1 and H2. We recorded
the minimum, mean and maximum errors for the results produced by the heuristics. The performance
22 K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines
Algorithm 8: H2
Input: G = (V, E), pi , s
Result: σ2
1 Arrange the jobs in the decreasing order of their processing times (resulting in jobs
J1 , ..., Jn );
2 h := 1; Bh := J1 ;
3 for i = 2 to n do
4 if (there exists a batch (let Bj )such that |Bj | = 1 and the job of this batch is compatible
with the job Ji ) then
5 Bj := Bj ∪ Ji ;
6 else
7 h := h + 1;
8 Bh := Ji ;
9 end
10 end
11 end
12 for counter = 1 to iter do
13 Select randomly two machines Mk and Ml ;
14 Select randomly a batch Bi ∈ Mk and a batch Bj ∈ Ml ;
15 Swap the two batches of the two machines;
16 Save the best solution;
17 end
ratio of a solution σ is denoted by GAP (σ) = (Cmax (σ) − BS) /BS, where Cmax (σ) and BS
are the maximum completion times of the proposed methods and the best solution value obtained
by Cplex, respectively. The running times of the algorithms were reported in minimum, mean and
maximum in seconds, and for each heuristic we calculated the number of best solutions (#sol).
The experimental results presented in Table 1 and Figures 9, 10 and 11, clearly show that H1 and
H2 give near-optimal solutions, and that H1 is more efficient than H2 in the terms of the number of
the best solutions and gap. However, it is clear that H1 consumes much more time, compared to H2,
to provide an approximate solution. Prevented us from using H2.
7. Conclusion
We have considered in this paper the problem of scheduling on batch processing identical machines.
We have established some polynomial results for the problem of minimizing the makespan on a single
and several machines and have presented Polynomial time algorithms to optimally solve the problem
when the capacity of batch equal to two. We have presented a linear formulation and we study their
performance. We also developed two heuristic approaches to solve the general problem. We conducted
numerical experimental tests to study their performance by comparing them to the best solution value
K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines 23
obtained by Cplex. For future research, we can studied the complexity of the NP-hard problems for
three values of processing times in the case of job multiplicity. One could also explore exact methods
to solve the general case of the problem and compare their performance with the linear formulation
proposed above.
24 K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines
References
[1] Brucker P, Gladky A, Hoogeveen H, Kovalyov M, Potts C, Tautenhahn T, Van De Velde S. Scheduling a
batching machine. Journal of Scheduling, 1998. 1:31–54.
[2] Potts C, Kovalyov Y. Scheduling with batching, A review. European Journal of Operational Research,
2000. 120:228–249.
[3] Dobson G, Nambinadom R. The batch loading and scheduling problem. Research Report, Simon School
of Business Administration, University of Rochester, NY, 1992.
[4] Kubiak W, Jolai Ghazvini F. Minimizing earliness/tardiness criteria on a batch processing machine with
job families. Proc. Second Annual Internat. Conf. Industrial Engineering, 1997. 2:785–790.
[5] Mehta S, Uzsoy R. Minimizing total tardiness on a batch processing machine with incompatible job
families. IIE Trans. Schedul, Logistics, 1998. 31:165–178.
[6] Uzsoy R. Scheduling batch processing machines with incompatible job familie. International Journal of
Production Research, 1995. 33:2685–2708.
[7] Chandru V, Lee C, Uzsoy R. Minimizing total completion time on batch processing machines. Interna-
tional Journal of Production Research, 1993. 31:2097–2121.
[8] Hochbaum D, Landy D. Algorithms and heuristics for scheduling semiconductor burnin operations. Re-
search Report ESRC 94-8, University of California, Berkeley, USA, 1994.
[9] Mönch L, Fowler J, Dauzère-Pérès S, Mason S, Rose O. A survey of problems, solution techniques, and
future challenges in scheduling semiconductor manufacturing operations. Journal of scheduling, 2011.
14(6):583–599.
[10] Fowler J, Mönch L. A survey of scheduling with parallel batch (p-batch) processing. European Journal
of Operational Research, 2022. 298(1):1–24.
[11] Boudhar M, Finke G. Scheduling on a batch machine with job compatibilities. Belgian Journal of Oper-
ations Research, Statistics and Computer Science, 2000. 40:69–80.
[12] Boudhar M. Scheduling a batch processing machine with bipartite compatibility graphs. Mathematical
Methods of Operations Research, 2003. 57(513–527):3.
K. BOUAKAZ and M. BOUDHAR / Compatibility graphs in scheduling on batch processing machines 25
[13] Boudhar M. Dynamic scheduling on a single batch processing machine with split compatibility graphs.
Journal of Mathematical Modelling and Algorithms, 2003. 2(1):17–35.
[14] Boudhar M. Scheduling on a batch processing machine with split compatibility graphs. Journal of Math-
ematical Modelling and Algorithms, 2005. 4(4):391–407.
[15] Finke G, Jost V, Queyranne M, Sebo A. Batch processing with interval graph compatibilities between
tasks. Discrete Applied Mathematics, 2008. 156:556–568.
[16] Muter I. Exact Algorithms to Minimize Makespan on Single and Parallel Batch Processing Machines.
European Journal of Operational Research, 2020. 285(2):470–483.
[17] Wang Q, Tian J, Fu R, Yao X. Online algorithms for scheduling on batch processing machines with
interval graph compatibilities between jobs. Theoretical Computer Science, 2017. 700:37–44.
[18] Wang Y. Scheduling Optimization for Batch Processing Machines Using Advanced Genetic Algorithm.
Journal of Physics: Conference Series, 2021. 1883:012016.
[19] Oulamara A, Kovalyov M, Finke G. Scheduling a no-wait flowshop with unbounded batching machines.
IIE Transactions on Scheduling and Logistics, 2005. 37(8):685–696.
[20] Bellanger A, Oulamara A. Scheduling hybrid flowshop with parallel batching machines and compatibili-
ties. Computers & Operations Research, 2008. 36(6):1982–1992.
[21] Oulamara A, Finke G, Kamgaing K. Flowshop scheduling problem with a batching machine and task
compatibilities. Computers & Operations Research, 2009. 36:391–401.
[22] Lin B, Cheng T. Batch scheduling in the no-wait two-machine flowshop to minimize the makespan.
Computers & Operations Research, 2001. 28:613–624.
[23] Oulamara A, Finke G. Flowshop problems with batch processing machines. International Journal of
Mathematical Algorithms, 2001. 2:269–287.
[24] Even S, Kariv O. An O(n2.5 ) Algorithm for maximum matching in general graph. 16th Annual Symposium
on Foundations of Computer Science (sfcs 1975), 13-15 October, USA, 1975.