GCLIQUE: An Open Source Genetic Algorithm for the Maximum Clique Problem
A clique in a graph is a set of vertices that are all connected to each
other. A maximum clique is a clique of maximum size. A graph may have
more than one maximum cliques. The problem of finding a maximum
clique is a strongly hard NP-hard problem. It is not possible to find an
approximation algorithm which finds a maximum clique that is a constant
factor of the optimum solution. In this work, we present a genetic algorithm
for the maximum clique problem that is able to find optimum or
close to optimum solutions to most DIMACS graphs. The genetic algorithm
uses new crossover mechanisms which are able to find reasonably
good cliques which can then be used in other applications downstream.
We also provide C++ code for our algorithm. Results show that our algorithm
is able to find maximum cliques for most DIMACS instances, and
if not, close to optimum solutions for the other instances.