Automatically Generated Algorithms for the Vertex Coloring Problem

The vertex coloring problem is a classical problem in combinatorial optimization that consists of assigning a color to each vertex of a graph such that no adjacent vertices share the same color, minimizing the number of colors used. Despite the various practical applications that exist for this problem, its NP-hardness still represents a computational challenge. Some of the best computational results obtained for this problem are consequences of hybridizing the various known heuristics. Automatically revising the space constituted by combining these techniques to find the most adequate combination has received less attention. In this paper, we propose exploring the heuristics space for the vertex coloring problem using evolutionary algorithms. We automatically generate three new algorithms by combining elementary heuristics. To evaluate the new algorithms, a computational experiment was performed that allowed comparing them numerically with existing heuristics. The obtained algorithms present an average 29.97% relative error, while four other heuristics selected from the literature present a 59.73% error, considering 29 of the more difficult instances in the DIMACS benchmark.

[1]  John R. Koza,et al.  Routine human-competitive machine intelligence by means of genetic programming , 2004, SPIE Optics + Photonics.

[2]  Riccardo Poli,et al.  A Field Guide to Genetic Programming , 2008 .

[3]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[4]  Nicolas Barnier,et al.  Solving the Kirkman's schoolgirl problem in a few seconds , 2002 .

[5]  Isabel Méndez-Díaz,et al.  A Branch-and-Cut algorithm for graph coloring , 2006, Discret. Appl. Math..

[6]  John R. Koza,et al.  Genetic Programming IV: Routine Human-Competitive Machine Intelligence , 2003 .

[7]  Graham Kendall,et al.  A Genetic Programming Hyper-Heuristic Approach for Evolving 2-D Strip Packing Heuristics , 2010, IEEE Transactions on Evolutionary Computation.

[8]  Stephan M. Winkler,et al.  Genetic Algorithms and Genetic Programming - Modern Concepts and Practical Applications , 2009 .

[9]  John Beidler,et al.  Data Structures and Algorithms , 1996, Wiley Encyclopedia of Computer Science and Engineering.

[10]  Daniel Brélaz,et al.  New methods to color the vertices of a graph , 1979, CACM.

[11]  Jeremy G. Siek,et al.  The Boost Graph Library - User Guide and Reference Manual , 2001, C++ in-depth series.

[12]  Sanja Petrovic,et al.  A graph-based hyper-heuristic for educational timetabling problems , 2007, Eur. J. Oper. Res..

[13]  Isabel Méndez-Díaz,et al.  A cutting plane algorithm for graph coloring , 2008, Discret. Appl. Math..

[14]  Alan Crispin,et al.  Graph Coloring with a Distributed Hybrid Quantum Annealing Algorithm , 2011, KES-AMSTA.

[15]  Ronald C. Read,et al.  Graph theory and computing , 1972 .

[16]  John J. Grefenstette,et al.  Optimization of Control Parameters for Genetic Algorithms , 1986, IEEE Transactions on Systems, Man, and Cybernetics.

[17]  David S. Johnson,et al.  Foreword xiIntroduction to the Second DIMACS Challenge: Cliques, coloring, and satisfiability , 1993, Cliques, Coloring, and Satisfiability.

[18]  Alex S. Fukunaga,et al.  Automated discovery of composite SAT variable-selection heuristics , 2002, AAAI/IAAI.

[19]  Jin-Kao Hao,et al.  An evolutionary approach with diversity guarantee and well-informed grouping recombination for graph coloring , 2010, Comput. Oper. Res..

[20]  Paolo Toth,et al.  A survey on vertex coloring problems , 2010, Int. Trans. Oper. Res..

[21]  Graham Kendall,et al.  A Classification of Hyper-heuristic Approaches , 2010 .

[22]  Peter van Beek,et al.  Principles and Practice of Constraint Programming - CP 2005, 11th International Conference, CP 2005, Sitges, Spain, October 1-5, 2005, Proceedings , 2005, CP.

[23]  Emanuel Falkenauer,et al.  Genetic Algorithms and Grouping Problems , 1998 .

[24]  Alan George,et al.  The Evolution of the Minimum Degree Ordering Algorithm , 1989, SIAM Rev..

[25]  Alex S. Fukunaga,et al.  Automated Discovery of Local Search Heuristics for Satisfiability Testing , 2008, Evolutionary Computation.

[26]  Feng Luo,et al.  Exploring the k-colorable landscape with Iterated Greedy , 1993, Cliques, Coloring, and Satisfiability.

[27]  David S. Johnson,et al.  Cliques, Coloring, and Satisfiability , 1996 .

[28]  Alexander Nareyek,et al.  Choosing search heuristics by non-stationary reinforcement learning , 2004 .

[29]  Susan L. Epstein,et al.  The Adaptive Constraint Engine , 2002, CP.

[30]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[31]  Alain Hertz,et al.  Using tabu search techniques for graph coloring , 1987, Computing.

[32]  Alan Crispin,et al.  Quantum annealing of the graph coloring problem , 2011, Discret. Optim..

[33]  Lucas Rioux-Maldague Graph Coloring Algorithms , 2014 .

[34]  Abdul Sattar,et al.  Evolving Variable-Ordering Heuristics for Constrained Optimisation , 2005, CP.

[35]  F. Glover,et al.  Handbook of Metaheuristics , 2019, International Series in Operations Research & Management Science.

[36]  Franz Rothlauf,et al.  Representations for genetic and evolutionary algorithms , 2002, Studies in Fuzziness and Soft Computing.

[37]  J. van Leeuwen,et al.  Principles and Practice of Constraint Programming - CP 2002 , 2002, Lecture Notes in Computer Science.

[38]  Hussein Al-Omari,et al.  New Graph Coloring Algorithms , 2006 .

[39]  Paolo Toth,et al.  A Metaheuristic Approach for the Vertex Coloring Problem , 2008, INFORMS J. Comput..

[40]  Paolo Toth,et al.  An exact approach for the Vertex Coloring Problem , 2011, Discret. Optim..

[41]  Frank Thomson Leighton,et al.  A Graph Coloring Algorithm for Large Scheduling Problems. , 1979, Journal of research of the National Bureau of Standards.