Elsevier

Computers & Operations Research

Volume 33, Issue 9, September 2006, Pages 2547-2562
Computers & Operations Research

A survey of local search methods for graph coloring

https://doi.org/10.1016/j.cor.2005.07.028Get rights and content

Abstract

Tabucol is a tabu search algorithm that tries to determine whether the vertices of a given graph can be colored with a fixed number k of colors such that no edge has both endpoints with the same color. This algorithm was proposed in 1987, one year after Fred Glover's article that launched tabu search. While more performing local search algorithms have now been proposed, Tabucol remains very popular and is often chosen as a subroutine in hybrid algorithms that combine a local search with a population based method. In order to explain this unfailing success, we make a thorough survey of local search techniques for graph coloring problems, and we point out the main differences between all these techniques.

Introduction

The graph coloring problem is a famous difficult combinatorial optimization problem. Examples of applications include time tabling and scheduling [1], [2], radio frequency assignment [3], computer register allocation [4], [5], and printed circuit board testing [6]. While exact algorithms can solve instances with up to 100 vertices, heuristic methods are needed for larger instances. Most recent graph coloring heuristics are either local search methods or hybrid algorithms that combine a local search with a population based algorithm. The objective of this paper is to present a survey of metaheuristics proposed for graph coloring. In particular we analyze in detail local search metaheuristics.

One of the first local search methods that has been proposed for solving graph coloring problems is Tabucol [7], a tabu search algorithm that was developed in 1986 and published in 1987, one year after Fred Glover's paper [8] that launched Tabu Search. Tabucol was originally developed by Hertz and de Werra, and later improved by several researchers (see for example [9], [10]). While Tabucol is almost 20 years old, it is now frequently used as local search operator in hybrid algorithms. This is why Tabucol is presented and analyzed in detail in the paper. The strategy of Tabucol involves accepting solutions with conflicting edges (edges with both end-points colored with the same color) while using penalties. However, other totally different alternative local search approaches have also been proposed. In the following, we identify four main strategies, making it possible to classify local search heuristics into four classes. Finally, it was observed that some graphs, especially large random graphs, cannot be colored efficiently by using pure local search algorithms, and several approaches have, therefore, been proposed to deal with these difficult instances. The most recent and also most efficient approach is based upon hybrid algorithms that use a particular kind of recombination operator. Another efficient strategy for coloring large graphs is to first extract several stable sets and then color the residual graph.

In the next section we give some definitions and notations while Section 3 is devoted to a historical review of local search methods for graph coloring problems. Section 4 contains a precise description of Tabucol. In Section 5, we propose a classification of the existing local search graph coloring algorithms. Section 6 contains a short review of efficient approaches for coloring large graphs. Some computational experiments are reported in Section 7 to compare the performance of each algorithm.

Section snippets

Definitions and notations

Given a graph G=(V,E) with vertex set V and edge set E, and given an integer k, a k-coloring of G is a function c:V{1,,k}. The value c(x) of a vertex x is called the color of x. The vertices with color i(1ik) define a color class, denoted Vi. If two adjacent vertices x and y have the same color i, vertices x and y, the edge [x,y] and color i are said conflicting. A k-coloring without conflicting edges is said legal. A stable set is a subset of vertices no two of which are adjacent. Hence, a

A historical review

The first local search (LS for short) algorithm for coloring graphs was proposed by Chams et al. [11] in 1987. The problem addressed in the paper is the k-GCP. The proposed algorithm explores the set of (not necessary legal) k-colorings, the objective being to minimize the number of conflicting edges. A move consists in changing the color of a single vertex in the current solution and the algorithm uses the Simulated Annealing (SA for short) metaheuristic [35]. Another major contribution of the

The Tabucol algorithm

As mentioned in Section 3, Tabucol was introduced in 1987 by Hertz and de Werra [7]. Since that time, many authors used Tabucol as a subroutine (see Section 3). Although these authors preserved the main characteristics of the initial Tabucol, they also introduced some modifications that made the algorithm more efficient. We present here below an improved version of Tabucol [10]. We then describe and discuss the main features of Tabucol, including the differences between the different versions.

Local search strategies for graph coloring

When designing an LS algorithm for solving a particular problem, one has to define the search space to be explored, the evaluation function to be minimized, and the neighborhood function. This triplet is what we call a search strategy. We propose to classify the search strategies for graph coloring into four categories. Two of them solve the GCP, while the two others consider the number k of colors as fixed, and therefore deal with the k-GCP. The strategies for the k-GCP are used within the

Efficient metaheuristics for coloring large graphs

The algorithms described in the previous sections can be considered as pure LS methods. They generate a series s0,s1, of solutions such that each si+1 is obtained from si by using one or several neighborhoods. Although these pure LS algorithms produce remarkable results on many medium-sized graphs, the most efficient heuristics for coloring large graphs combine a pure LS method with additional features. Two efficient approaches have been proposed so far for coloring large graphs. The first one

Overall comparison

In order to illustrate the performance of the algorithms presented in this paper, we indicate in Fig. 2 the number of colors of the best colorings found by each algorithm on two famous graphs: DSJC500.5 and DSJC1000.5. These two graphs are two special random graphs proposed by Johnson et al. [13]. They have been obtained by linking a pair (v,w) of vertices by an edge with probability p=0.5, independently for each pair. These two graphs have 500 and 1000 vertices, respectively, and they both

References (32)

  • A. Hertz et al.

    Using tabu search techniques for graph coloring

    Computing

    (1987)
  • C. Fleurent et al.

    Genetic and hybrid algorithms for graph coloring

    Annals of Operations Research

    (1996)
  • P. Galinier et al.

    Hybrid evolutionary algorithms for graph coloring

    Journal of Combinatorial Optimization

    (1999)
  • C. Friden et al.

    Stabulus: a technique for finding stable sets in large graphs with tabu search

    Computing

    (1989)
  • D.S. Johnson et al.

    Optimization by simulated annealing: an experimental evaluation; part II, graph coloring and number partitioning

    Operations Research

    (1991)
  • Morgenstern C, Shapiro H. Chromatic number approximation using simulated annealing, Unpublished manuscript,...
  • Cited by (188)

    View all citing articles on Scopus
    View full text