Abstract
In this paper, we develop a new graph colouring strategy. Our heuristic is an example of a so-called polynomially searchable exponential neighbourhood approach. The neighbourhood is that of permutations of the colours of vertices of a subgraph. Our approach provides a solution method for colouring problems with edge weights. Results for initial tests on unweighted K-colouring benchmark problems are presented. Our colour permutation move was found in practice to be too slow to justify its use on these problems. By contrast, our implementation of iterative descent, which incorporates a permutation kickback move, performed extremely well. Moreover, our approach may yet prove valuable for weighted K-colouring. In addition, our approach offers an improved measure of the distance between colourings of a graph.
Similar content being viewed by others
References
Glass CA (2002). Bag rationalisation by near-optimal colouring. J Opl Res Soc 53: 544–551.
Brélaz D (1979). New methods to color vertices of a graph. Comm ACM 22: 251–256.
Culberson JC and Luo F (1996). Exploring the k-colorable landscape with iterated greedy. In: Johnson DS and Trick MA (eds). Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge, 1993, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, Vol 26. American Mathematical Society, Providence, RJ, pp 245–284.
Hertz A and De Werra D (1987). Using tabu search techniques for graph coloring. Computing 39: 345–351.
Fleurent C and Ferland JA (1996). Genetic and hybrid algorithms for graph coloring. Ann Opns Res 63: 437–461.
Costa D, Hertz A and Dubuis O (1995). Embedding a sequential procedure within an evolutionary algorithm for coloring problems. J Heurist 1: 105–128.
Galinier P and Hao JK (1999). Hybrid evolutionary algorithms for graph coloring. J Combin Optim 3: 379–397.
Johnson DS, Aragon CR, McGeoch LA and Schevon C (1991). Optimization by simulated annealing: an experimental evaluation; Part II graph coloring and number partitioning. Opns Res 39: 378–406.
Morgenstern C (1996). Distributed coloration neighborhood search. In: Johnson DS and Trick MA (eds). Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge, 1993, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, Vol 26. American Mathematical Society, Providence, RJ, pp 335–357.
Sarvanov VI and Doroshko NN (1981). Approximate solution of the traveling salesman problem by a local algorithm with scanning neighbourhood of factorial cardinality in cubic time. Software: algorithms and programs, Mathematical Institute of the Belorussian Academy of Science 31: 11–13.
Gutin G (1999). Exponential neighbourhood local search for the traveling salesman problem. Comput Opns Res 26: 313–320.
Punnen AP (1996). Traveling salesman problem: new polynomial approximation algorithms and domination analysis. Research Report, University of New Brunswick, Canada.
Deineko V and Woeginger GJ (2000). A study of exponential neighborhoods for the travelling salesman problem and for the quadratic assignment problem. Math Programm 87: 519–542.
Congram R Potts CN and van de Velde SL (2002). An iterated dynasearch algorithm for the single-machine total weighted tardiness scheduling problem. Informs J Comput 14: 52–67.
Carpaneto G and Toth P (1980). Algorithm 548: solution of the assignment problem. ACM Trans Math Software 6: 104–111.
Glass CA and Prügel-Bennett A (2000). A polynomially searchable exponential neighbourhood for graph colouring. Technical Report, DASS, City University, London, UK.
Bollobás B (1988). The chromatic number of random graphs. Combinatorica 8: 49–55.
Acknowledgements
We thank Alain Hertz for his initial encouragement and interest in our approach, and two anonymous referees for constructive suggestions that have improved the presentation in this article.
Author information
Authors and Affiliations
Corresponding author
Appendix: Implementation details of vertex descent and permutation kickstarts
Appendix: Implementation details of vertex descent and permutation kickstarts
We implemented vertex descent efficiently by first computing a table giving the relative cost of colouring each vertex, i, to a particular colour, μ (with all other vertices left the same)
The ‘best colours’ for a vertex are those for which c(i, μ)⩽c(i, ν) for all ν. From our table we compute a colour list, L(i)s, of best colours for each vertex. To perform vertex descent for a vertex i, we choose one of the colours in the colour list L(i). When a vertex changes colour, we update the colour table for all its adjacent vertices and if necessary their colour lists. Keeping this information is efficient because, for any reasonable colouring, the vast majority of vertices have only one element in its list and so do not need to be updated. The overhead of computing the original cost table is reduced by performing many sweeps at a time.
The disruptive permutation move used in KickstartP is performed as follows. A subgraph is chosen randomly and the corresponding permutation matrix on colour classes constructed as for PermImprove. The minimum non-zero element in the matrix is then added to the (zero) elements of the diagonal. If this is not sufficient to ensure that the Hungarian algorithm finds a different solution, then the number along the diagonal is increased until it does. In the absence of permutation descent, kickstart was performed differently. KickstartV randomly selects a fraction, 5%, of the vertices and randomly recolours them.
Rights and permissions
About this article
Cite this article
Glass, C., Prügel-Bennett, A. A polynomially searchable exponential neighbourhood for graph colouring. J Oper Res Soc 56, 324–330 (2005). https://doi.org/10.1057/palgrave.jors.2601815
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1057/palgrave.jors.2601815