Annals of Operations Research 41(1993)385-403 385 Solving the maximum clique problem using a tabu search approach* Michel Gendreau, Patrick Soriano and Louis Salvail Centre de Recherche sur les Transports, Universitd de Montrdal, C.P. 6128, succursale A, Montrdal, Qudbec, Canada H3C 3J7 Abstract We describe two variants of a tabu search heuristic, a deterministic one and a probabilistic one, for the maximum clique problem. This heuristic may be viewed as a natural alternative implementation of tabu search for this problem when compared to existing ones. We also present a new random graph generator, the/S-generator, which produces graphs with larger clique sizes than comparable ones obtained by classical random graph generating techniques. Computational results on a large set of test problems randomly generated with this new generator are reported and compared with those of other approximate methods. Keywords: Maximum clique, tabu search, probabilistic tabu, random graph generator, approximate methods. 1. Introduction Given a simple undirected graph G = (V, E), a complete subgraph is one whose vertices are all pairwise adjacent. A clique is a maximal (inclusionwise) complete subgraph and a maximum clique is a clique whose cardinality is maximum. The problem of finding a maximum clique in G is equivalent to the problem of finding a maximum vertex packing (independent or stable set of vertices) or a minimum vertex cover (set of vertices covering- meeting - all edges) in the complement of G (the graph G = (V,E) where E is the complement relative to Vx V of E). These three problems are important since they occur in a variety of applications: information retrieval systems [12], signal transmission analysis [6,43], classification theory [ 11 ], sociological structures [28,42], economy [ 1,45], timetabling and many others. In timetabling for instance, the size of the maximum clique in the conflict graph of a set of activities is a lower bound on the number of periods required to schedule these activities, while the size of a maximum vertex packing is an upper bound on the number of activities that can be scheduled simultaneously. *The authors are grateful to the Quebec Government (Fonds F.C.A.R.) and to the Canadian Natural Sciences and Engineering Research Council (grant 0GP0038816) for financial support. J.C. Baltzer AG, Science Publishers