Professional Documents
Culture Documents
Mixed Graph Colouring For Unit-Time Scheduling: International Journal of Production Research
Mixed Graph Colouring For Unit-Time Scheduling: International Journal of Production Research
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
Article views: 3
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
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).
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.
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 , ∅)).
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
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.
Algorithm 2. M-Dsat
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.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)
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.
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.
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.
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
(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.