You are on page 1of 11

International Journal of Production Research

ISSN: 0020-7543 (Print) 1366-588X (Online) Journal homepage: http://www.tandfonline.com/loi/tprs20

Mixed graph colouring for unit-time scheduling

Ahmed Kouider, Hacène Ait Haddadène, Samia Ourari & Ammar Oulamara

To cite this article: Ahmed Kouider, Hacène Ait Haddadène, Samia Ourari & Ammar Oulamara
(2016): Mixed graph colouring for unit-time scheduling, International Journal of Production
Research, DOI: 10.1080/00207543.2016.1224950

To link to this article: http://dx.doi.org/10.1080/00207543.2016.1224950

Published online: 25 Aug 2016.

Submit your article to this journal

Article views: 3

View related articles

View Crossmark data

Full Terms & Conditions of access and use can be found at


http://www.tandfonline.com/action/journalInformation?journalCode=tprs20

Download by: [Northern Illinois University] Date: 28 August 2016, At: 07:54
International Journal of Production Research, 2016
http://dx.doi.org/10.1080/00207543.2016.1224950

Mixed graph colouring for unit-time scheduling


Ahmed Kouidera,b∗ , Hacène Ait Haddadèneb , Samia Ouraria and Ammar Oulamarac
a Centre de Développement des Technologies Avancées (CDTA), Division Productique et Robotique (DPR), Algiers, Algeria; b LaROMaD
Laboratory, Department of Operations Research, Faculty of Mathematics, University of Science and Technology Houari Boumediene
(USTHB), Algiers, Algeria; c LCOMS Laboratory, University of Lorraine, Metz, France
(Received 16 May 2016; accepted 9 August 2016)

We consider the job shop scheduling problem with unit-time operations and the makespan criterion. This problem is reduced
to finding an optimal colouring of a special class of mixed graph, where its partial graph without edges represents the union
of maximal directed paths and its partial graph without arcs represents the union of maximal cliques. As the problem is
known to be NP-hard, both exact and heuristic methods are proposed to solve it. This study is carried out in three steps. First,
a new lower and upper bounds for the mixed chromatic number are proposed. Afterwards, a colour-indexed mathematical
model using the proposed bounds is developed. Then, a tabu search using a dynamic neighbourhood structure is adapted
for solving large instances. Computational experiments conducted on several modified benchmarks show the efficiency and
effectiveness of the proposed resolution methods.
Keywords: mixed graph colouring; job shop scheduling; lower and upper bounds; mixed integer linear programming; tabu
search

1. Introduction
Graph colouring is widely used for modelling a large variety of real world applications involving optimisation, such as
multiprocessor tasks scheduling (Giaro et al. 2009), exam timetabling (Qu, Burke, and McCollum 2009), and many more
(see Demangea et al. 2015).
A vertex colouring is an assignment of a colour to each vertex of an undirected graph G = (V, E), where V is a set of
vertices and E is a set of edges, such that no edge connects two identically coloured vertices. The minimisation of the number
of colours for a given graph (chromatic number) is the most common type of vertices colouring, which is shown to be NP-hard
(Garey and Johnson 1979). However, this basic colouring model is too limited for handling the various requirements existing
in real scheduling problems, it is therefore necessary to extend the colouring models in various directions (Hansen, Kuplinsky,
and de Werra 1997). For example, vertices colouring of an undirected graph is too limited to be useful for some scheduling
problems having both incompatibility conditions and precedence constraints. For this kind of scheduling problems, Sotskov
and Tanaev (1976) introduced a more general model which is able to take into account these requirements, mixed graph
colouring.
A mixed graph G = (V, E, A) is a graph containing simultaneously a set of edges (E) and a set of arcs (A). An edge
joining vertices vi and v j will be denoted by [vi , v j ] and an arc with tail v p and head vq by (v p , vq ). A mixed k-colouring
of a mixed graph G is a mapping:  : V → {1, . . . , k} such that, for each edge [vi , v j ] ∈ E, (vi ) = (v j ), and for each
arc (v p , vq ) ∈ A, (v p ) < (vq ). The smallest k such that there exists a k-colouring of G is the mixed chromatic number
χ (G). Thus, such a mixed graph G does not contain any directed circuit, otherwise no mixed k-colouring would exist.
Obviously, vertex colouring of a mixed graph is more general than the undirected vertex colouring problem and thus it is
NP-hard (Ries 2007). Among the published works, Ries (2007) considers some complexity results on mixed graph colouring
problem for some special classes of graphs. He shows that it is NP-complete for planar bipartite graphs and for bipartite
graphs having maximum degree 3. Also, Sotskov, Tanaev, and Werner (2002) consider an assignment of colours to vertices
of a mixed graph such that, if two vertices are joined by an edge, then their colours have to be different, and if two vertices
are joined by an arc, then the colour of the startvertex has to be not greater than the colour of the endvertex. In Hansen,
Kuplinsky, and de Werra (1997), a quadratic algorithm to colour optimally mixed trees is proposed and bounds on the mixed
chromatic number are given. For the same problem, Furmanczyk, Kosowski, and Zylinsk (2008) give a linear time algorithm
which improves the quadratic algorithm of Hansen, Kuplinsky, and de Werra (1997).

∗ Corresponding author. Emails: ahmed.kouider@gmail.com, akouider@cdta.dz

© 2016 Informa UK Limited, trading as Taylor & Francis Group


2 A. Kouider et al.

For unit-time job shop scheduling problem, Sotskov, Dolgui, and Werner (2001), Al-Anzi et al. (2006), and
Kouider et al. (2015) study its reduction to colouring of a special class of mixed graph. In such class of graph, partial
graph without edges represents a disjoint union of maximal directed paths, and partial graph without arcs represents a disjoint
union of maximal cliques. In Sotskov, Dolgui, and Werner (2001), a branch and bound algorithm is developed for the mixed
chromatic number and tested on randomly generated mixed graphs of the order less than or equal to 200. Al-Anzi et al. (2006)
consider the problem of minimising the sum of maximal colours (used for the paths) to determine a schedule that minimises
the total completion time for processing jobs, and propose a branch and bound algorithm for colouring of such a mixed
graph with experiments on randomly generated mixed graphs with number of vertices less than or equal to 200. In Kouider
et al. (2015), two disjunctive mixed integer linear programs (MILPs) and a tabu search (TS) algorithm are proposed for the
mixed chromatic number. Their linear programs are used for proving the efficiency of TS algorithm when some benchmarks
resolved optimally have an objective value different from the lower bound proposed in Sotskov, Dolgui, and Werner (2001).
The remainder of this paper is organised as follows. In Section 2, we define the unit-time job shop scheduling problem
with its complexity, then we remind its reduction to mixed graph colouring. In Sections 3 and 4, we develop new lower
and upper bounds for the mixed chromatic number. In Section 5, we propose a new mathematical formulation based on
colour-indexed mixed integer linear programming for the mixed graph colouring. In Section 6, we present the adaptation
of the TS algorithm for the mixed graph colouring. In Section 7, we show the results of various computational experiments
based on modified benchmarks. In Section 8, we summarise our works.

2. Scheduling problem and mixed graph colouring


We consider the unit-time job shop scheduling problem (J m| pik = 1|Cmax ) described as follows: there is a set J of n
jobs to be processed on a set M of m machines. Each job Ji (i = 1, . . . , n) consists of a specific set of n i operations
Ji = {Oi1 , Oi2 , . . . , Oini } which expresses a distinct processing route that has already been fixed and known in advance.
Each operation Oik (i = 1, . . . , n; k = 1, . . . , n i ) has a unit processing time pik = 1 and can be executed by only one
machine. Each machine M j , ( j = 1, . . . , m), can only handle at most one operation at a time and can be used at most once
by each job. The objective is to schedule the jobs so as to minimise the makespan, which is the maximum of their completion
time Cmax .
The job shop scheduling problem with unit-time operation is realised in many practical scheduling scenarios, as in
scheduling lessons or exams at the university (when written exams have to be taken before oral ones), in scheduling games
in sport competitions when each game needs the same time, and in scheduling medical procedures in hospitals (Sotskov,
Dolgui, and Werner 2001).
This problem is shown in Lenstra and Rinnooy Kan (1979) to be strongly NP-hard for any m > 2 and is also NP-hard for
its particular case J 3| pi j = 1|Cmax . Otherwise, J 2| pi j = 1|Cmax is solvable in polynomial time (Hefetz and Adiri 1982).
Formally, the unit-time job shop scheduling problem can be seen as a mapping  : O → {1, . . . , Cmax } such that, for
each pair of operations Oik and Ohl from O: if (Oik , Ohl ) are from the same job Ji (i.e. i = h) and Oik precedes Ohl (i.e.
k < l), then (Oik ) < (Ohl ). Furthermore, if (Oik , Ohl ) requiring the same machine M j , then (Oik ) = (Ohl ). The
smallest Cmax such that there exists a mapping  is the makespan.
From this formal definition, we can notice the correspondence between the mixed graph colouring and the unit-time
job shop scheduling as shown in Sotskov, Dolgui, and Werner (2001) and Al-Anzi et al. (2006). More precisely, let be
G = (V, E, A) a mixed graph with an non-empty set of vertices V , an non-empty set of edges E and an non-empty set of
arcs A. This mixed graph is obtained by representing:
(1) an operation Oik as a vertex vik
(2) a direct precedence relationship between two operations Oik and Oi(k+1) of the same job Ji as an arc (vik , vi(k+1) )
with a tail vik and a head vi(k+1)
(3) a disjunctive constraint between two operations Oik and Ohl of the same machine as an edge [vik , vhl ] joining vertices
vik and vhl
(4) operations of the job Ji as vertices of the maximal directed path G i = (Vi , ∅, Ai ), Vi ⊂ V and Ai ⊂ A
(5) operations assigned to the machine M j as vertices of the maximal clique G j = (V j , E j , ∅), V j ⊂ V and E j ⊂ A
(6) completion time of an operation Oik as a colour assigned to vertex vik
(7) the makespan as the mixed chromatic number χ (G)
Furthermore, an operation is only from one job and can be executed by only one machine. Therefore, a vertex belongs to
only one maximal directed path and to only one maximal clique. Also, no two vertices of the same maximal cliques are from
the same maximal directed path.
International Journal of Production Research 3

As a result, the partial graph without edges G = (V, ∅, A) is a disjoint union of maximal directed
 paths, and the partial
graph without arcs G = (V, E, ∅) is a disjoint union of maximal cliques, i.e. G = (V, ∅, A) = i=n (G i = (Vi , ∅, Ai )) and
 j=m i=1
G = (V, E, ∅) = j=1 (G j = (V j , E j , ∅)).

3. Lower bounds on mixed chromatic number


Sotskov, Dolgui, and Werner (2001) proposed a lower bound for the mixed chromatic number χ (G). Their lower bound L B0
is based on fixing the machine Mk ∈ M and calculating the sum of the cardinality of the set Vk and the minimum number
h dk (resp. the minimum number tkd ) of operations before the first operation (resp. after the last operation), which need the
machine Mk :
χ (G) ≥ L B0 = max {min jd ∈J (h dk ) + |Vk | + min jd ∈J (tkd )}
Mk ∈M

Before introducing our proposed lower bound L B, let us consider the following notations:
• H j = (V, E j , A) as being the partial graph of G generated by the set of arcs A and the subset of edges E j , where
G j = (V j , E j , ∅) is a maximal clique.
• the inpath of a vertex v, denoted in(v), as being the length of a longest directed path in H j = (V, E j , A) ending at
vertex v.
• the outpath of v, denoted by out(v), as being the length of a longest directed path in H j = (V, E j , A) starting at
vertex v.
Proposition 1 χ (G) ≥ L B = max j=1,...,m χ (H j ).
Proof It is trivial to see that the mixed chromatic number of a mixed graph is greater than or equal to the mixed chromatic
number of each of its partial mixed graphs. Then, χ (G) ≥ max j=1,...,m χ (H j ). 
Proposition 2 Algorithm 1 M-colouring colours optimally any partial mixed graph H j = (V, E j , A), j ∈ 1, . . . , m.

Algorithm 1. M-colouring

Input: A partial mixed graph H j = (V, E j , A), j ∈ 1, . . . , m


Output: An optimal vertices colouring
 j=n
S : a set of all maximal directed paths in H j (S = i=1 G i )
while S  = Ø do
(1) Select from S a directed path G i having a maximum sub-path length starting from its vertex of the maximal clique to its endvertex
(2) S ← S \ {G i }
(3) Assign the smallest available colour to each vertex of G i , from the beginning to the end.
end while

Proof We note vi and wi the two vertices of the maximal directed path G i , such that vi is a clique-vertex1 and wi is the
endvertex of G i , where i ∈ {1, . . . , n}.
For each maximal directed path G i , i ∈ {1, . . . , n}, we have: ψ(wi ) ≤ χ (H j ) and ψ(wi ) = out (vi ) + ψ(vi ) (i).
Now, we consider an optimal colouring σ in which there exists a directed paths G l having out (vl ) = maxi=1,...,n out (vi )
(ii), and its clique-vertex vl is not coloured at its first smallest available colour.
We suppose, there exists another path G k having a clique-vertex vk which is being coloured before vl (i.e. ψ(vk ) < ψ(vl )
(iii), and having also out (vk ) < out (vl ) (iv).
It is obvious that, ψ(wk ) < ψ(wl ) (see. i, iii and iv). Therefore, χ (H j ) = ψ(wl ) or χ (H j ) = ψ(wz ), where z ∈
{1, .., n} \ {l, k} (see. ii).

Now, in the optimal colouring σ , we interchange the colour of (vk ) and (vl ). We obtain a new colouring σ such that:

(1) if in the colouring σ we have: χ (H j ) = ψ(wl ) then in the colouring σ , we obtain: χ (H j ) = ψ (wl )=ψ(wl ) − 1.

(2) if in the colouring σ , we have: χ (H j ) = ψ(wz ), where z ∈ {1, .., n} \ {l, k}, then in the colouring σ we obtain:

χ (H j ) = ψ (wz ) = ψ(wz ).

We have obtained a better colouring σ , this contradicts the optimality of colouring σ . 
4 A. Kouider et al.

4. Upper bound on mixed chromatic number


A solution returned by Dsatur gives an upper bound on the chromatic number of an undirected graph (Méndez-Díaz and
Zabala 2006), where Dsatur is a well known algorithm proposed by Brélaz (1979) for undirected graph colouring. In this
study, we propose a new algorithm, called M-Dsat, which is an adaptation of Dsatur algorithm for mixed graph colouring.
Thus, M-Dsat provides an upper bound (U B) for the mixed chromatic number.
Let N (v) be the set of neighbours of vertex v, Nc (v) be the number of different colours occurring on N (v) and Pr ed(v)
be the predecessor of vertex v, such as (Pr ed(v), v) is an arc.
For each vertex v, its mixed saturation degree M-Dsat(v) is defined as follow:

−1 if Pr ed(v) is uncoloured
M-Dsat(v) =
Nc (v) otherwise.

Algorithm 2. M-Dsat

Input: G = (V, E, A): a mixed graph


Output: (U B): an upper bound for G
(1) Arrange the vertices by increasing order of their inpath
(2) Colour the first vertex with colour 1
(3) Choose a vertex v with a maximal mixed saturation degree (M-Dsat)
if there is an equality then
(4) Choose a vertex having the minimum inpath in the uncoloured subgraph
end if
(5) Colour the chosen vertex with the least possible colour
if all vertices are coloured then
(6) Return the obtained upper bound U B and stop
else
(7) Return to 3
end if

5. Mathematical model
The model presented in this section is built to obtain optimal solutions for the mixed graph colouring. The proposed MILP
is characterised by the use of a set of binary decision variables, which are indexed by colours, and only one bounded integer
variable. In this model, the number of variables used is as large as the product between the number of vertices and the number
of colours to be used. Thus, in order to be implemented with a finite number of variables, the proposed model required
an upper bound to the mixed chromatic number. In the following, we describe the mathematical model by presenting the
required parameters, decision variables, constraints and the objective function.

5.1 Parameters and indices


i, h index of maximal directed paths i, h = 1,…, n
j index of vertex order in the maximal directed path G i = (Vi , ∅, Ai )
l index of maximal cliques l = 1,…, m
k a colour, a positive number k = 1, . . . , U B
vi j the jth vertex of the maximal directed path G i = (Vi , ∅, Ai )

5.2 Decision variables


Y a bounded
 integer denoting the mixed chromatic number χ
1 if the colour k is assigned to the vertex vi j
X i jk =
0 otherwise.
International Journal of Production Research 5

5.3 Constraints
Noting that the number of colours in any feasible solution cannot be larger than U B, we can restrict our attention to solutions
involving up to U B colours.
In the following, constraints (1) require that every vertex vi j ∈ V is given a colour k ∈ {1, . . . , U B}.

X i jk = 1 ∀i ∈ {1, . . . , n}, ∀ j ∈ {1, . . . , n i } (1)
k∈{1,...,U B}

Constraints (2) impose, for each maximal clique G l = (V l , E l , ∅) (l ∈ {1, . . . , m}), at most one vertex vi j ∈ V l can
receive color k ∈ {1, . . . , U B}.

X i jk ≤ 1 ∀k ∈ {1, . . . , U B}, ∀l ∈ {1, . . . , m} (2)
vi j ∈V l

Constraints (3) recover the endvertex colour of each maximal directed path and impose it to be less than the decision
variable Y . 
k × X ini k ≤ Y ∀i ∈ {1, . . . , n} (3)
k∈{1,...,U B}
In each maximal directed path, the head colour and the tail colour of each arc are recovered by constraints (4), which
enforce the tail colour of each arc to be less than the colour of its head.
 
k × X i( j−1)k + 1 ≤ k.X i jk ∀i ∈ {1, . . . , n}, ∀ j ∈ {2, . . . , n i } (4)
k∈{1,...,U B} k∈{1,...,U B}

Constraints (5) require the variable Y to be bounded by the lower bound (L B) and the upper bound (U B).
LB ≤ Y ≤ UB Y ∈N (5)
Constraints (6) require all X variables to be binary.
X i jk ∈ {0, 1} ∀i ∈ {1, . . . , n}, ∀ j ∈ {1, . . . , n i }, ∀k ∈ {1, . . . , U B} (6)

5.4 Objective function


Objective function (7) minimises the number of colours used
Minimise Y (7)

6. The proposed TS
TS algorithm, originally proposed by Glover (1989), is a metaheuristic based on neighbourhood exploration technique. It
uses local search process, in which neighbouring solutions are visited by performing simple moves from the current solution.
When a better solution is found, it is stored. This process is repeated, from the best solution of the current neighbourhood,
until no improvement is possible. To prevent cycling, i.e. choosing the same solution, a tabu list which records a list of
forbidden moves is established. Coding and evaluation of a solution as well as the neighbourhood structure are described
below. Thereafter, an adaptation of TS algorithm for the mixed graph colouring problem is presented in Algorithm 4.

6.1 Solution coding and evaluation


The selection of a solution coding that provides an efficient way of implementing the moves and evaluating the solutions is
essential for the success of any search method (Pérez, Moreno-Vega, and Martín 2003). However, we consider the following
solution coding:
n
Let |V | = i=1 n i be the order of the mixed graph. A solution is represented by a vector W = [w j , j = 1, . . . , |V |]
such that each element from W takes its value from the set J = {1, . . . , n} and appears exactly n i times in W , where n is
the number of maximal directed paths and n i is its number of operations. Hence, the kth appearance of a path index in the
vector designates its kth vertex. Initially, this vector is randomly generated.
For the evaluation of a solution, we consider the vertices of the mixed graph in the sequence given by the solution coding
and we assign to each vertex its first available colour.
6 A. Kouider et al.

6.2 Neighbourhood structure


A neighbourhood of a solution is generally defined by a basic move allowing to slightly modify this solution. Generally,
three basic moves can be considered: swapping two consecutive elements, exchanging two non-consecutive elements, and
removing one element from its position i and inserting it at another position.
From the adopted solution structure, all these moves provide a feasible solution. In this study, the strategy adopted is
to use the exchanging moves for neighbourhood generating until the best known solution cannot be improved for a fixed
number of iterations. Then, the removing and inserting moves are used until the best known solution is improved or the
maximum number of iterations is reached.

Algorithm 3. Neighbourhood generating

S : a solution
Input: Size : neighbourhood size
Moves-strategy: (exchanging moves) or (removing and inserting moves)
Output: N (S): neighbourhood of S
while number of visited solution is less than Size do
(1) Generate a solution S by using Moves-strategy in S
(2) N (S) ← N (S) ∪ S
if S is better than S then
(3) S ← S
end if
end while

Neighbourhood size is essential for an efficient implementation of TS. A large neighbourhood size may not miss the
optimum but can be computationally expensive, while a restricted neighbourhood size can be computationally efficient but
may not visit the optimal solution. In order to tackle this subtle compromise, we propose a dynamic neighbourhood in
Algorithm 3.

Algorithm 4. Tabu search adaptation

G = (V, E, A): a mixed graph


Input: I : iterations number
Max-iter : maximum iterations number
Output: A mixed graph colouring
(1) Generate an initial solution S0
(2) Choose exchanging moves strategy
(3) Store it as the current solution (S + ) and as the best solution (S ∗ )
while Max-iter is not reached do
(4) Generate N (S + ) of non-tabu neighbours of S + by the Algorithm 3
(5) Select the best neighbour from N (S + ) and move it as new current solution (S + )
if the current solution (S + ) is better than the best solution (S ∗ ) then
(6) Store it as the new best solution (S ∗ )
(7) Update the tabu list
(8) Choose the exchanging moves strategy
else
if the solution is not improved for I iterations then
(9) Choose the removing and inserting moves strategy
end if
end if
end while
International Journal of Production Research 7

Table 1. Computational results of FT, ORB and LA modified benchmarks.

tabu tabu milp


Instance |V |, |A|, |E|, m, n L B0 LB UB χbest χavg C PUt (s) R Dlb χopt C PUm (s) R Dopt

ft06m 36,30,90,6,6 8 8 10 9b 9 16 9 1
ft10m 100,90,450,10,10 16 16 22 18b 18 20 18 853
ft20m 100,80,950,5,20 22 22 30 24 24 19 23 5118 4.34
orb01m 100,90,450,10,10 16 16 23 18b 18 18 18 139
orb02m 100,90,450,10,10 14 16a 20 17b 17 19 17 70
orb03m 100,90,450,10,10 17 17 26 19 19 17 18 156 5.55
orb04m 100,90,450,10,10 17 17 19 18b 18 18 18 1
orb05m 100,90,450,10,10 16 16 21 17b 17 17 17 8
orb06m 100,90,450,10,10 16 16 23 18b 18 18 18 139
orb07m 100,90,450,10,10 14 16a 20 17b 17 17 17 70
orb08m 100,90,450,10,10 17 17 26 19 19 19 18 157 5.55
orb09m 100,90,450,10,10 17 17 19 18b 18 18 18 1
orb10m 100,90,450,10,10 16 16 21 17b 17 17 17 9
la01m 50,40,225,5,10 10 10 12 10b 10 7 10 1
la02m 50,40,225,5,10 11 11 13 11b 11 7 11 1
la03m 50,40,225,5,10 12 12 13 12b 12 8 12 1
la04m 50,40,225,5,10 11 11 12 11b 11 8 11 1
la05m 50,40,225,5,10 10 10 12 11b 11 8 11 1
la06m 75,60,525,5,15 15 15 17 15b 15 12 15 1
la07m 75,60,525,5,15 16 16 19 16b 16 12 16 1
la08m 75,60,525,5,15 15 15 18 15b 15 11 15 1
la09m 75,60,525,5,15 15 15 16 15b 15 12 15 1
la10m 75,60,525,5,15 16 16 17 16b 16 12 16 1
la11m 100,80,950,5,20 21 21 24 21b 21 15 21 2
la12m 100,80,950,5,20 20 20 20 20b 20 15 20 2
la13m 100,80,950,5,20 20 20 24 20b 20 15 20 3
la14m 100,80,950,5,20 20 20 20 20b 20 16 20 3
la15m 100,80,950,5,20 20 20 24 20b 20 14 20 4
la16m 100,90,450,10,10 13 13 17 15b 15 17 15 1
la17m 100,90,450,10,10 15 15 17 15b 15 16 15 1
la18m 100,90,450,10,10 13 14a 17 15b 15 16 15 4
la19m 100,90,450,10,10 14 15a 18 15b 15 16 15 1
la20m 100,90,450,10,10 12 14a 18 15b 15 15 15 1
la21m 150,135,1050,10,15 17 18a 22 19b 19 24 19 679
la22m 150,135,1050,10,15 17 18a 22 18b 18 24 18 23
la23m 150,135,1050,10,15 16 17a 21 18b 18 23 18 3994
la24m 150,135,1050,10,15 17 17 20 17b 17 24 17 4
la25m 150,135,1050,10,15 17 18a 22 18b 18 23 18 138
la26m 200,180,1900,10,20 22 22 24 22b 22 33 22 21
la27m 200,180,1900,10,20 22 22 29 23 23 33 22 226 4.54
la28m 200,180,1900,10,20 22 22 24 22b 22 33 22 7
la29m 200,180,1900,10,20 21 21 29 23 23.6 33 9.52 – 5400
la30m 200,180,1900,10,20 21 21 27 23 23.2 32 9.52 – 5400
la31m 300,270,4350,10,30 32 32 34 32b 32 56 32 75
la32m 300,270,4350,10,30 31 31 37 31b 31 55 31 183
la33m 300,270,4350,10,30 30 30 37 31 31 55 30 3696 3.33
la34m 300,270,4350,10,30 31 31 37 31b 31 55 31 694
la35m 300,270,4350,10,30 30 30 37 31 31 55 3.33 – 5400
la36m 225,210,1575,15,15 18 18 25 22b 22 40 22 480
la37m 225,210,1575,15,15 19 22a 28 23b 23 40 23 110
la38m 225,210,1575,15,15 19 20a 26 23 23 41 22 4900 4.54
la39m 225,210,1575,15,15 19 20a 26 22b 22 40 22 1450
la40m 225,210,1575,15,15 18 20a 29 24b 24 40 24 1360
a L B is better than L B .
0
b χ tabu is optimal.
best
8 A. Kouider et al.

Table 2. Computational results of SWV, ABZ and YN modified benchmarks instances.

Instance |V |, |A|, |E|, m, n L B0 LB UB tabu


χbest tabu
χavg C PUt (s) R Dlb

swv01m 200,180,1900,15,20 26 26 39 28 28.8 34 7.69


swv02m 200,180,1900,15,20 25 25 38 28 28.4 34 12
swv03m 200,180,1900,15,20 26 26 38 28 28.2 34 7.69
swv04m 200,180,1900,15,20 25 25 38 28 28.8 34 12
swv05m 200,180,1900,15,20 25 25 38 28 28.6 34 12
swv06m 300,280,2850,15,20 28 28 44 33 33 58 14.28
swv07m 300,280,2850,15,20 28 28 41 32 32.6 57 14.28
swv08m 300,280,2850,15,20 28 28 44 33 33.6 57 17.85
swv09m 300,280,2850,15,20 29 29 44 33 33 57 13.79
swv10m 300,280,2850,15,20 29 29 41 32 32.6 57 10.34
swv11m 500,450,12250,10,50 55 55 92 63 63.4 113 14.54
swv12m 500,450,12250,10,50 55 55 90 63 63.6 113 14.54
swv13m 500,450,12250,10,50 55 55 88 64 64 113 14.54
swv14m 500,450,12250,10,50 55 55 90 63 63.8 113 14.54
swv15m 500,450,12250,10,50 55 55 91 63 63.2 113 14.54
swv16m 500,450,12250,10,50 51 51 52 51b 51 115
swv17m 500,450,12250,10,50 50 50 54 50b 50 113
swv18m 500,450,12250,10,50 50 50 55 50b 50 113
swv19m 500,450,12250,10,50 50 50 55 50b 50 113
swv20m 500,450,12250,10,50 50 50 54 50b 50 113
abz05m 100,90,450,10,10 12 13a 17 15 15 20 15.38
abz06m 300,280,2850,15,20 24 24 29 26 26 58 8.33
abz07m 300,280,2850,15,20 24 24 29 26 26 59 8.33
abz08m 300,280,2850,15,20 24 24 30 26 26 58 8.33
abz09m 300,280,2850,15,20 23 24a 33 26 26.4 59 8.33
yn01m 400,380,3800,20,20 23 24a 33 28 28.8 85 16.66
yn02m 400,380,3800,20,20 23 25a 34 30 30 86 16
yn03m 400,380,3800,20,20 24 27a 38 31 31 85 11.11
yn04m 400,380,3800,20,20 25 28a 40 32 32.4 85 14.28
a LB is better than L B .
0
b χ tabu is optimal.
best

7. Computational experiments
In this section, we present the details of our computational experiments. The bounds on the mixed chromatic number and
TS algorithm are coded in C++ and tested on an Intel (R) Core (TM) i3-2100 processor at 3.1 gigahertz and six gigabyte
RAM with Microsoft Windows 7 operating system. MILP problem instances are solved by CPLEX solver, in which running
time is limited to 5400 s. For the TS algorithm, preliminary experiments have been conducted to adjust its parameters which
were fixed as follow: Maximum iterations number Max-iter = 1000, Tabu list length List = n × m, neighbourhood size
N s = 1000 and the iterations number used in the neighbourhood structure I = 100. Computational experiments were
performed on a set of mixed graphs deduced from the adaptation of six classes of standard job shop scheduling benchmark
instances: three instances denoted as (ft06, ft10, ft20) due to Fisher and Thompson (1963), 40 instances (la01–la40) due to
Lawrence (1984), 10 instances (orb01–orb10) due to Applegate and Cook (1991), five instances (abz5–abz9) due to Adams,
Balas, and Zawack (1988), 20 instances (swv01–swv20) due to Storer, Wu, and Vaccari (1992) and four instances (yn1–yn4)
due to Yamada and Nakano (1992). For these benchmarks, the processing time of each operation is exchanged to one unit and
each benchmark name is modified in this paper by adding (m). For example, la01 instance is denoted by la01m. The main
computational results are shown in Tables 1 and 2. The first nine columns of each of these two tables represent respectively:
(1) instance name
(2) instance size, given by (|V |, |A|, |E|, m, n) representing respectively the number of: vertices, arcs, edges, maximal
cliques and maximal directed paths
(3) the lower bound (L B0 ) proposed in Sotskov, Dolgui, and Werner (2001)
(4) the proposed lower bound (L B)
International Journal of Production Research 9

(5) the proposed upper bound (U B)


(6) the best mixed chromatic number (χbesttabu )

(7) the average mixed chromatic number (χavg tabu )

(8) the maximum running time used for solving one instance C PUt (s)
(9) tabu ) from the proposed lower bound
the relative deviation (R Dlb ) of the best found mixed chromatic number (χbest
(L B), where R Dlb = 100 × (χbest − L B)/L B
tabu

Values in (6), (7) and (8) are the results returned by the TS algorithm, by specifying that 5 independent runs are conducted
on every instance problem.
For the MILP, the results are presented in the three last columns of Table 1 which denote, respectively: the optimal solution
milp
value (χopt ) obtained by MILP, its running CPU time (C PUo (s)), and the relative deviation (R Dopt ) of the best found
tabu ) from the optimal solution value (χ milp ), with R D milp milp
opt = 100 × (χbest − χopt )/χopt .
mixed chromatic number (χbest tabu
opt
Considering all instances, the results given in both tables show that the proposed lower bound L B is more efficient than
the lower bound L B0 . Precisely, L B is remarkably better than L B0 for 19 instances and is equal to the optimal solution for
29 instances. In each row, wherever a lower bound value dominates the other, it is marked with (a).
The MILP is evaluated on mixed graphs of order less than or equal to 300. The results reported in Table 1 show that
optimal solutions are found in most cases (50 among the 53 tested instances) within a mean time of resolution rather low
(i.e. less than 484 seconds). However, the optimum is not achieved within the time limit, for only three instances which are
marked (–).
TS algorithm can obtain very good solutions for most of the 82 modified instances. Its performance is evaluated by using
three measures: the best solution found, the average solution, and the maximum running time.
Furthermore, TS algorithm returns optimal solutions for 49 instances, where the optimality of 20 of them is deduced only
from the comparison with MILP resolution, and the optimality of 5 of them is deduced only from the comparison with the
lower bound value (LB).
For the near-optimal solutions, the average of R Dopt (resp. of R Dlb ) is evaluated when the optimal solution is known
(resp. unknown). From these two measures (R Dopt = 4.64 and R Dlb = 11.99), we can see that the quality of the near-optimal
solutions is generally very high.
Furthermore, TS algorithm is robust in the sense that the average difference between χavg tabu and χ tabu is less than 0.14,
best
and also is fast as most of the instances are solved within 115 s of C PUt .

8. Conclusion
The job shop scheduling problem with unit processing times and makespan criterion is studied. It is known that this problem
can be reduced to a mixed graph colouring with a mixed chromatic number criterion. Hence, a tight lower bound and an upper
bound are proposed for the mixed chromatic number. A MILP based on colour-indexed variables formulation is developed
which uses the proposed bounds to optimally solve the mixed graph colouring problem. Since the problem is NP-hard, we
proposed a TS algorithm with a fast neighbourhood structure, frequently able to reach an optimal solution for large instances
with a relatively low computational cost. As shown by computational experiments on modified benchmarks, MILP can
efficiently find an optimal solution for mixed graphs of order less to 300 in very short time, while this problem is solved in
the literature for randomly generated mixed graphs of order less to 200. Moreover, the TS algorithm besides being robust is
able to solve either optimally or near optimally all of the tested instances in a reasonable CPU time. For further researches, it
is suggested to use the proposed bounds in other exact methods such as branch and bound, and to use mixed graph colouring
for other unit-time scheduling such as minimising total completion time in job shop.

Disclosure statement
No potential conflict of interest was reported by the authors.

ORCID
Ahmed Kouider http://orcid.org/0000-0003-2057-0556

Note
1. A clique-vertex is a vertex belonging to the maximal clique.
10 A. Kouider et al.

References

Adams, J., E. Balas, and D. Zawack. 1988. “The Shifting Bottleneck Procedure for Job Shop Scheduling.” Management Science 34 (3):
391–401.
Al-Anzi, F. S., Y. N. Sotskov, A. Allahverdi, and G. V. Andreev. 2006. “Using Mixed Graph Coloring to Minimize Total Completion Time
in Job Shop Scheduling.” Applied Mathematics and Computation 182 (2): 1137–1148.
Applegate, D., and W. Cook. 1991. “A Computational Study of the Job-shop Scheduling Problem.” ORSA Journal on Computing 3 (2):
149–156.
Brélaz, D. 1979. “New Methods to Color the Vertices of a Graph.” Communications of the ACM 22 (4): 251–256.
Demangea, M., T. Ekimb, B. Riesc, and C. Tanasescua. 2015. “On Some Applications of the Selective Graph Coloring Problem.” European
Journal of Operational Research 240 (2): 307–314.
Fisher, H., and G. L. Thompson. 1963. “Probabilistic Learning Combinations of Local Job-shop Scheduling Rules.” Industrial Scheduling
3 (2): 225–251.
Furmanczyk, H., A. Kosowski, and P. Zylinski. 2008. “A Note on Mixed Tree Coloring.” Information Processing Letters 106 (4): 133–135.
Garey, M. R., and D. S. Johnson. 1979. Computers and Intractability: A Guide to the Theory of NP-completeness. San Francisco, LA:
Freeman.
Giaro, K., M. Kubale, P. Obszarski, and W. Evans. 2009. “A Graph Coloring Approach to Scheduling of Multiprocessor Tasks on Dedicated
Machines with Availability Constraints.” Discrete Applied Mathematics 157 (17): 3625–3630.
Glover, F. 1989. “Tabu Search.” Part I, ORSA Journal on Computing 1 (3): 190–206.
Hansen, P., J. Kuplinsky, and D. de Werra. 1997. “Mixed Graph Colorings.” Mathematical Methods of Operations Research 45 (1):
145–160.
Hefetz, N., and I. Adiri. 1982. “An Efficient Optimal Algorithm for the Two-machines Unit-time Jobshop Schedule-length Problem.”
Mathematics of Operations Research 7 (3): 354–360.
Kouider, A., H. Ait Haddadene, S. Ourari, A. Oulamara. 2015. “Mixed Integer Linear Programs and Tabu Search Approach to Solve Mixed
Graph Coloring for Unit-time Job Shop Scheduling.” In IEEE International Conference on Automation Science and Engineering
(CASE), 2015, August 24–28, Gothenburg, Sweden, 1177–1181.
Lawrence, S. 1984. Resource Constrained Project Scheduling: An Experimental Investigation of Heuristic Scheduling Techniques
(supplement). Graduate School of Industrial Administration.
Lenstra, J. K., and A. H. G. Rinnooy Kan. 1979. “Computational Complexity of Discrete Optimization Problems.” Annals of Discrete
Mathematics 4: 121–140.
Méndez-Díaz, I., and P. Zabala. 2006. “A Branch and Cut Algorithm for Graph Coloring.” Discrete Applied Mathematics 154 (5): 826–847.
Pérez, J. A. M., J. M. Moreno-Vega, and I. R. Martín. 2003. “Variable Neighborhood Tabu Search and its Application to the Median Cycle
Problem.” European Journal of Operational Research 151 (2): 365–378.
Qu, R., E. K. Burke, and B. McCollum. 2009. “Adaptive Automated Construction of Hybrid Heuristics for Exam Timetabling and Graph
Colouring Problems.” European Journal of Operational Research 198 (2): 392–404.
Ries, B. 2007. “Coloring Some Classes of Mixed Graphs.” Discrete Applied Mathematics 155 (1): 1–6.
Sotskov, Y. N., A. Dolgui, and F. Werner. 2001. “Mixed Graph Coloring for Unit-time Job-Shop.” International Journal of Mathematical
Algorithms 2 (4): 289–323.
Sotskov, Y. N., and V. S. Tanaev. 1976. “Chromatic Polynomial of a Mixed Graph.” Vestsi Akademii Navuk BSSR, Seryya Fizika-
Matematychnykh Navuk, Minsk. 6: 20–23. Russian.
Sotskov, Y. N., V. S. Tanaev, and F. Werner. 2002. “Scheduling Problems and Mixed Graph Colorings.” Optimization 51 (3): 597–624.
Storer, R. H., S. D. Wu, and R. Vaccari. 1992. “New Search Spaces for Sequencing Problems with Application to Job Shop Scheduling.”
Management Science 38 (10): 1495–1509.
Yamada, T., and R. Nakano. 1992. “A Genetic Algorithm Applicable to Large-scale Job-shop Problems.” In Parallel Problem Solving from
Nature, Brussels, Belgium, 283–292.

You might also like