GCLIQUE: An Open Source Genetic Algorithm for the Maximum Clique Problem
Preprints are manuscripts made publicly available before they have been submitted for formal peer review and publication. They might contain new research findings or data. Preprints can be a draft or final version of an author's research but must not have been accepted for publication at the time of submission.
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.