The Maximum Clique Problem PANOS M. PARDALOS Department of Industrial and Systems Engineering, 303 Weil Hall, University of Florida, Gainesville, FL 32611, U.S.A. JUE XUE Graduate School of Management, Clark University, 950 Main Street, Worcester, MA 01610, U.S.A. (Received: 6 September 1992; accepted: 5 July 1993) Abstract. In this paper we present a survey of results concerning algorithms, complexity, and applications of the maximum clique problem. We discuss enumerative and exact algorithms, heuristics, and a variety of other proposed methods. An up to date bibliography on the maximum clique and related problems is also provided. Key words. Maximum clique problem, graph coloring, heuristics, algorithms, NP-hard, bibliography, survey. 1. Introduction Throughout this paper, G = (V, E) is an arbitrary undirected and weighted graph unless otherwise specified. V= {1, 2,..., n} is the vertex set of G, and E C_ V x V is the edge set of G. For each vertex i E V, a positive weight w i is associated with i. A c = (aq)nX n is the adjacency matrix of G, where aij = 1 if (i, j) EE is an edge of G, and % = 0 if (i, j) ~t E. The complement graph of G = (V, E) is the graph G = (V,/~), where /~ = {(i, j) li, j ~ v, i #j and (i, j)~?~E}. For a subset S C V, we define the weight of S to be W(S) = Eic s w i. We call G(S) = (S, E A S x S) the subgraph induced by S. A graph G = (V, E) is complete if all its vertices are pairwise adjacent, i.e. Vi, j E V, (i, j) E E. A clique C is a subset of V such that G(C) is complete. The maximum clique problem asks for a clique of maximum weight. An independent set (stable set, vertex packing) is a subset of V, whose elements are pairwise nonadjacent. The maximum independent set problem asks for an independent set of maximum cardinality. The size of a maximum independent set is the stability number of G (denoted by a(G)). The maximum weight in- dependent set problem asks for an independent set of maximum weight. We should distinguish a maximum clique (independent set) from a maximal clique (independent set). A maximal clique (independent set) is a clique (independent set) that is not a subset of any other clique (independent set). A maximum clique (independent set) is a maximal clique (independent set) that has the maximum cardinality or weight. A vertex cover is a subset of V, such that every edge (i, j) E E has at least one endpoint i or j in the subset. The minimum vertex cover problem asks for a vertex Journal of Global Optimization 4: 301-328, 1994. (~) 1994 Kluwer Academic Publishers. Printed in the Netherlands.