0% found this document useful (0 votes)
84 views

A Review On Algorithms For Maximum Clique Problems

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
84 views

A Review On Algorithms For Maximum Clique Problems

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

European Journal of Operational Research 242 (2015) 693–709

Contents lists available at ScienceDirect

European Journal of Operational Research


journal homepage: www.elsevier.com/locate/ejor

Invited Review

A review on algorithms for maximum clique problems


Qinghua Wu a , Jin-Kao Hao b,∗
a
School of Management, Huazhong University of Science and Technology, No. 1037, Luoyu Road, Wuhan, China
b
LERIA, Université d’Angers, 2 bd Lavoisier, 49045 Angers, Cedex 01, France

a r t i c l e i n f o a b s t r a c t

Article history: The maximum clique problem (MCP) is to determine in a graph a clique (i.e., a complete subgraph) of
Received 23 November 2013 maximum cardinality. The MCP is notable for its capability of modeling other combinatorial problems and
Accepted 28 September 2014
real-world applications. As one of the most studied NP-hard problems, many algorithms are available in
Available online 17 October 2014
the literature and new methods are continually being proposed. Given that the two existing surveys on
Keywords: the MCP date back to 1994 and 1999 respectively, one primary goal of this paper is to provide an updated
Maximum clique problems and comprehensive review on both exact and heuristic MCP algorithms, with a special focus on recent
Exact algorithms developments. To be informative, we identify the general framework followed by these algorithms and
Heuristics pinpoint the key ingredients that make them successful. By classifying the main search strategies and putting
Applications forward the critical elements of the most relevant clique methods, this review intends to encourage future
development of more powerful methods and motivate new applications of the clique approaches.
© 2014 Elsevier B.V. All rights reserved.

1. Introduction to these applications, the MCP is tightly related to some impor-


tant combinatorial optimization problems such as clique partition-
The maximum clique problem (MCP) is to find a complete sub- ing (Wang, Alidaee, Glover, & Kochenberger, 2006), graph cluster-
graph of maximum cardinality in a general graph. Its decision version ing (Schaeffer, 2007), graph vertex coloring (Chams, Hertz, & Werra,
is among the first 21 NP-complete problems presented in Karp’s sem- 1987; Wu & Hao, 2012a), max-min diversity (Croce, Grosso, & Lo-
inal paper on computational complexity (Karp, 1972). The MCP is catelli, 2009), optimal winner determination (Shoham, Cramton, &
among the most studied combinatorial problems. Steinberg, 2006; Wu & Hao, 2015), set packing (Wu, Hao, & Glover,
The MCP has a wide range of practical applications in numer- 2012) and sum coloring (Wu & Hao, 2012b). These problems can ei-
ous fields. Early applications can be found for instance in Ballard ther be directly formulated as a maximum clique problem or have a
and Brown (1982); Barahona, Weintraub, and Epstein (1992) and sub-problem which requires to find a maximum clique.
Christofides (1975) and are surveyed in Bomze, Budinich, Pardalos, Given its theoretical importance and practical relevance, consid-
and Pelillo (1999) and Pardalos and Xue (1994). Nowadays, more erable effort has been devoted to the development of various solu-
and more practical applications of clique problems arise in a number tion methods for the MCP. On the one hand, effective exact methods
of domains including bioinformatics and chemoinformatics (Malod- have been designed mainly based on the general branch-and-bound
Dognin, Andonov, & Yanev, 2010; Ravetti & Moscato, 2008), coding (B&B) framework. These methods have the theoretical advantage of
theory (Etzion & Östergård, 1998), economics (Boginski, Butenko, & guaranteeing the optimality of the solution found. However, due to
Pardalos, 2006), examination planning (Carter, Laporte, & Lee, 1996; the inherent computational complexity of the MCP, exact methods
Carter & Johnson, 2001), financial networks (Boginski et al., 2006), can require a prohibitive computing time in the general case and
location (Brotcorne, Laporte, & Semet, 2002), scheduling (Dorndorf, are often applicable only to problems of limited sizes. On the other
Jaehn, & Pesch, 2008; Weide, Ryan, & Ehrgott, 2010), signal trans- hand, to handle problems whose optimal solutions cannot be reached
mission analysis (Chen, Zhai, & Fang, 2010), social network analysis within a reasonable time, various heuristic and metaheuristic algo-
(Balasundaram, Butenko, & Hicks, 2011; Pattillo, Youssef, & Butenko, rithms have been devised with the purpose of providing sub-optimal
2012), wireless networks and telecommunications (Balasundaram & solutions as good as possible to large problems within an accept-
Butenko, 2006; Jain, Padhye, Padmanabhan, & Qiu, 2005). In addition able time. It is clear that exact and heuristic methods constitute
two complementary solution approaches which can be applied to
∗ face different situations and fulfill different objectives. These two
Corresponding author. +33 2 41 73 50 76.
E-mail addresses: [email protected] (Q. Wu), [email protected], approaches can even be combined to create more powerful search
[email protected] (J. K. Hao). methods.

http://dx.doi.org/10.1016/j.ejor.2014.09.064
0377-2217/© 2014 Elsevier B.V. All rights reserved.
694 Q. Wu, J. K. Hao / European Journal of Operational Research 242 (2015) 693–709

Since the Second DIMACS Implementation Challenge dedicated to thus on the MCP (and the MIS) while putting aside the MVC which
Maximum Clique, Graph Coloring, and Satisfiability organized dur- itself has a large body of studies in the literature.
ing 1992–1993 (Johnson & Trick, 1996), studies on these NP-hard On the other hand, one notices that some generalizations and re-
problems are becoming more and more intense. In particular, signifi- laxations of the MCP are attracting increasing attention recently due
cant progresses have been achieved regarding the MCP, its important to their wide applications in some emerging areas like bioinformatics
generalizations (e.g., maximum vertex weight clique and maximum and social network analysis. We will discuss these cases in Section 5.
edge weight clique) and relaxations (e.g., quasi-clique and densest The rest of this section is dedicated to the issue of problem formula-
k-subgraph). Advances on new algorithms have helped to find im- tions and complexity of the MCP.
proved results to benchmark problems and deliver effective solutions There are numerous studies on the formulation of the MCP. These
to new applications (social network analysis, protein structure align- studies are of great interest since they can lead to deep understand-
ment, wireless network etc.). ings of the problem and the discovery of new results of theoretical
At the same time, we observe that the two most influential surveys and practical nature. For a comprehensive review of the existing for-
on the MCP date back to 1994 and 1999 respectively (Bomze et al., mulations of the MCP, the reader is refereed to Bomze et al. (1999);
1999; Pardalos & Xue, 1994). To the best of our knowledge, there is Butenko (2003) and Pardalos and Xue (1994). Below, we review some
no updated review to report the newest advances achieved during typical and recently developed formulations.
the past 15 years. This paper thus aims to fill this gap by providing The simplest formulation is given by the following binary
a detailed review of different solution approaches proposed in the program:
recent literature for maximum clique problems. We will not only

n
make a general and large survey of the most representative exact maximize xi (1)
and heuristic algorithms, but also carry out an in-depth analysis of i=1
the studied methods to identify their most relevant ingredients that
make these methods successful. subject to xi + xj ≤ 1, ∀{i, j} ∈ E (2)

2. Definitions, problem formulations and computational


xi ∈ {0, 1}, i = 1, . . . , n. (3)
complexity
In this edge formulation, any feasible solution defines a clique C in
Let G = (V, E) be an undirected graph with vertex set V = {1, . . . , n} G as follows: vertex i is in the clique if xi = 1 and otherwise xi = 0. The
and edge set E ⊆ V × V. A clique C of G is a subset of V such that every linear relaxation of this formulation is significant as well. If a variable
two vertices in C are adjacent, i.e., ∀u, v ∈ C, {u, v} ∈ E. A clique is xi = 1 holds for an optimal solution to the linear relaxation of the
maximal if it is not contained in any other clique, a clique is maximum above formulation, then xi = 1 holds for at least one optimal solution
if its cardinality is the largest among all the cliques of the graph. The to the integer formulation (Nemhauser & Trotter, 1975). Clearly this
maximum clique problem (MCP) is to find a maximum clique of a given result can be used by an algorithm to reduce the explored search
graph in the general case. The clique number ω(G) of G is the number space when seeking an optimal clique.
of vertices in a maximum clique in G. Let S denote the set of all maximal independent sets in G, an al-
The maximum clique problem is strictly equivalent to two other ternative formulation based on independent sets imposes that any
well-known combinatorial optimization problems: the maximum clique of G can contain no more than a single vertex from any maxi-
independent set problem (MIS) and the minimum vertex cover prob- mal independent set of G:
lem (MVC). Given G = (V, E), an independent set (also called a stable

n
set) I of G is a subset of V such that every two vertices in I are not maximize xi (4)
connected by an edge, i.e., ∀u, v ∈ I, {u, v} ∈
/ E. The MIS is to determine i=1
an independent set of maximum cardinality. A vertex cover V  of G is
a subset of V, such that every edge {i, j} ∈ E has at least one endpoint 
in V  . The MVC is to find a vertex cover of minimum cardinality.
subject to xi ≤ 1, ∀s ∈ S (5)
Let G = (V, E) be the complementary graph of G such that {i, j} ∈ E i∈s

if {i, j} ∈
/ E. One observes that C is a maximum clique of G if and only
xi ∈ {0, 1}, i = 1, . . . , n. (6)
if C is a maximum independent set of G, and if and only if V\C is a
minimum vertex cover of G. An illustration of the relation between This formulation has the advantage that the expected gap between
maximum clique, maximum independent set and minimum vertex the optimal solution and its linear relaxation is small. However, it is
cover is given in Fig. 1. Due to the close connection between the MCP difficult to enumerate all independent sets in an arbitrary graph. Fur-
and MIS, we will operate with both problems while describing the thermore, as the number of independent sets in the graph grows ex-
properties and algorithms for the MCP. Clearly a result which holds ponentially with the graph size, it is not trivial to solve the relaxation
for the MCP in G will also be true for the MIS in G. This paper focuses of the independent set formulation.

F F F

E E E
A A A

D D D
B B B
C C C

Fig. 1. An illustration of the relation between maximum clique, maximum independent set and minimum vertex cover. Given the initial graph G with V = {A, B, C, D, E, F } (left)
and its complementary graph G (middle/right), the set of vertices {C, D, E, F } is a maximum clique of G and an maximum independent set of G while {A, B} = V \ {C, D, E, F } is a
minimum vertex cover of G.
Q. Wu, J. K. Hao / European Journal of Operational Research 242 (2015) 693–709 695

The above edge formulation can be modified to model the max- Using these variables, the following extended and discretized formu-
imum weight independent set problem (Shor, 1990), leading to a lation for the MCP can be given:
quadratically constrained problem:  q
maximize xi (19)

n
i∈V q∈Q
maximize w i xi (7)

i=1
subject to wq = 1 (20)
subject to xi xj = 0, ∀{i, j} ∈ E (8) q∈Q


xj ≥ (q − 1)xi , ∀i ∈ V, q ∈ Q
q q
(21)
x2i − xi = 0, i = 1, . . . , n. (9) j∈N(i)

This formulation combined with dual quadratic estimates gener- 


ates very good computational results (Shor, 1990).
q
xi = qwq , ∀q ∈ Q (22)
A remarkable connection exists between the MCP and a certain i∈V

standard quadratic programming problem (Motzkin & Straus, 1965).


wq ∈ {0, 1}, ∀q ∈ Q (23)
For a given set of vertices S ⊆ V, let xS be the characteristic vector of
S, that is a vector that satisfies xSi = |1S| if vertex i ∈ S and xSi = 0 oth-
xi ∈ {0, 1}, ∀i ∈ V, ∀q ∈ Q
q
erwise, for i ∈ V. Let  be the standard simplex in the n-dimensional (24)

Euclidean space n :  = {x ∈ n : ni=1 xi = 1, xi ≥ 0, i = 1, . . . , n}.
Obviously, the number of variables and constraints of these formu-
Let AG = (aij )i,j∈V be the adjacency matrix of the graph G, and for x ∈
lations depends on the range of variation of an interval containing
n , let g(x) = xT AG x. Then the global optimal solution x∗ to maxx∈ g(x)
the clique number (ω) of the graph. When a short interval contain-
is related to the clique number ω(G) by the following formula:
ing ω(G) is known and for sparse graphs, the LP relaxation of these
1 1
ω(G) = ≥ , ∀x ∈  (10) discretized formulations are able to produce much stronger upper
1 − g(x∗ ) 1 − g(x) bounds for ω(G) than other formulations.
Additionally, S is a maximum clique of G if and only if its charac- The MCP is well studied from the complexity viewpoint, early
teristic vector xS is a global maximizer of g on . complexity results on the problem being reviewed in Bomze et al.
More recently, discretized formulations for the MCP are proposed (1999) and Pardalos and Xue (1994). During the last 15 years, a num-
in Martins (2011), leading to tight upper bounds on many bench- ber of advances on the research of the computational complexity of
mark graphs based on linear relaxations. These formulations use an the MCP appeared, including inapproximability results, parametric
additional set of auxiliary variables: complexity completeness, refined complexity analysis of exponen-
 tial algorithms. Although a full review of these theoretical results is
1 if the clique size is equal to q,
q
w = ∀q ∈ Q (11) clearly beyond the scope of the paper, we provide a brief summary of
0 otherwise, some main results.
with Q = {qmin , . . . , qmax } (1 ≤ qmin , ω(G) ≤ qmax ) being an interval The current best-known polynomial-time approximation algo-
containing all cliques’ sizes. Then the MCP is formulated as follows: rithm achieves only an approximation guarantee of O(n(log log n)2 /
(log n)3 ) (Feige, 2004). On the other hand, the study of Engebretsen

n
and Holmerin (2003)
maximize xi (12) √ shows that the MCP is not approximable within a
i=1 factor of n/2O(log n/ log log n) under the assumption that NP  ZPTIME
(2O(log n(log log n)
3/2 )
). The work of Khot (2001) further demonstrates
 1−γ 
subject to xj ≥ (q − 1)xi − (q − 2)(1 − wq ), ∀i ∈ V, ∀q ∈ Q that the MCP cannot be approximated within a factor of n/2(log n)
O(1)
j∈N(i) for some small constant γ  > 0, assuming NP  ZPTIME(2(log n) ).
In Håstad (1999), it is shown that the MCP is not approximable
(13)
within n1− for any  > 0, unless NP = ZPP. An improved result shows
  that the MCP is not approximable within n1− for any  > 0 unless
xi = qwq (14) NP = P (Zuckerman, 2006). Another study (Bourgeoisa, Escoffiera,
i∈V q∈Q & Paschosa, 2011) confirms that if there exists an exact exponen-
 tial time algorithm for the related MIS with a worst-case complex-
wq = 1 (15) ity O∗ (γ n ) (γ < 2) where O∗ (·) is O(·) ignoring polynomial factors
q∈Q
and n is the order of the graph, then for any ρ ∈ (0, 1], there ex-
ists a ρ -approximation algorithm for the MIS that runs in time
xi ∈ {0, 1}, ∀i ∈ V (16)
O∗ (γ ρ n ). Recently, it is established that unless NP ⊆ SUBEXP, for ev-
ery 0 < δ < 1, there exists a constant F (δ) > 0 such that the MCP has
wq ∈ {0, 1}, ∀q ∈ Q (17) no Fixed-Parameter Tractable (FPT) optimum approximation with ra-
tio ρ(OPT) = OPT1−δ in 2OPT · poly(|V|) time (Chitnis, Hajiaghayi, &
F
N(i) in constraint (13) denotes the set of vertices adjacent to i in the
graph. Constraints (15) and (17) impose that only a single clique size Kortsarz, 2013). This hardness result in the domain of parameter-
is determined. Constrains (13), (14) and (16) force that each of the q ized complexity is further enhanced very recently in Chalermsook,
vertices belonging to the clique must have at least q − 1 neighbors in Laekhanukit, and Nanongkai (2013), confirming that, for any r larger
the clique. Constraint (13) can be further strengthened in an extended than some constant  > 0, any r-approximation algorithm for the MIS
1− /r1+
and discretized variable space, leading to an extended and discretized must run in at least 2n time under the exponential time hy-
formulation to the MCP. This formulation requires the auxiliary vari- pothesis.
ables {wq } and a new set of node variables that include an extra index
with information on clique size: 3. Exact approaches to the MCP

1 if vertex i is in a clique of size q,
q
xi = ∀i ∈ V, ∀q ∈ Q (18) This section is dedicated to an in-depth review of the most re-
0 otherwise, cent and influential exact methods for the MCP. Unsurprisingly, most
696 Q. Wu, J. K. Hao / European Journal of Operational Research 242 (2015) 693–709

of them are based on the general B&B framework. They differ from way that v1 has the smallest degree in V, v2 has the smallest degree in
each other mainly by (1) their specific techniques to determine the V\{v1 } and so on. After each branching step, P is updated by the union
lower and upper bounds and (2) their branching strategies. Below, P = P ∩ N(v) (line 14, Algorithm 1), making the required property of
we begin with the general B&B scheme which is common to many the set P always verified.
studied methods and then review the improvements introduced by Since the introduction of the CP algorithm, many refinements have
the most representative methods. Comprehensive overviews cover- been devised to improve its performance with a focus on two key is-
ing early exact methods prior to 1999 can be found in Bomze et al. sues. The first one is to tighten the upper bound of the maximum
(1999) and Pardalos and Xue (1994). clique (other than to use the size of P) during the search for the pur-
pose of more efficient subtree pruning. The second one is to improve
Algorithm 1 A simple algorithm to find the maximum clique C ∗ the branching rule in order to choose the most promising vertex of P
to expand the clique.
1: Function Main
Around these two issues, four typical methods can be found in the
2: C ∗ ← ∅ {the maximum clique}
literature.
3 : Clique(∅, V )
4: return C ∗ (1) The first one uses an iterative deepening strategy, and tries to
5: End function obtain improved upper bounds on the size of the maximum clique
6: Function Clique(set C, set P) of P with the aid of information obtained in some previously
7: if (|C | > |C ∗ |) then computed smaller subgraphs (Section 3.2).
8: C∗ ← C (2) The second one is based on vertex coloring, which serves both
9: End if as a bounding strategy to approximate the upper bound, as well
10: if (|C | + |P | > |C ∗ |) then as a branching strategy to guide the choice of the vertex from P
11: for all p ∈ P in predetermined order, do (Section 3.3).
12: P ← P \ {p} (3) The third one is to directly reduce the set P by removing certain
 
13: C ← C {p} vertices which can no way extend the current clique to a max-
 
14: P ← P N(p) imum clique or by using special rules to identify vertices in P
 
15: Clique(C , P ) which are part of a maximum clique that contains the current
16: End for clique C (Section 3.4).
17: End if (4) The fourth one combines vertex coloring and the most recent
18: End function MaxSAT technology to obtain tighter upper bounds (Section 3.5).

In what follows, we review representative works dealing with


these issues.
3.1. General framework
3.2. Exact algorithms based on solving sub-clique problems
An early and well-known exact algorithm (denoted by CP) is
developed by Carraghan and Pardalos (1990) which is shown in Östergård (2002) proposes an iterative deepening strategy which
Algorithm 1. Despite its simplicity, this algorithm constitutes an im- uses a basic idea similar to dynamic programming to improve the
portant step for exact solving of the MCP since it provides the basis upper bound of the above CP algorithm. Let Si = {vi , vi+1 , . . . , vn } be a
for many later improved exact clique algorithms. For this reason, we subgraph of the initial graph G including the vertices from vi through
discuss in detail the functioning of this algorithm and identify the key vn . The CP algorithm seeks a maximum clique by first considering
elements which impact critically its performance. cliques in S1 that contains {v1 , v2 , . . . , vn } then cliques in S2 that con-
The CP algorithm uses two key vertex sets: C (called current so- tains {v2 , . . . , vn } and so on. In Östergård’s algorithm (called Cliquer),
lution or clique) and P (called candidate vertex set or candidate set). this ordering is reversed: Cliquer starts on the smallest subgraph Sn
C designates the clique under construction while P is a subset of V\C containing only vertex vn and determines a maximum clique of this
such that v ∈ P if and only if ∀u ∈ C, {u, v} ∈ E. In other words, each graph (which is trivial). Then it considers Sn−1 composed of two ver-
vertex of P must be connected to all the vertices of C (the reverse does tices {vn−1 , vn } and determines a maximum clique. As such, Cliquer
not necessarily hold). Let N(v) be the set of the vertices adjacent to iteratively finds a maximum clique for subgraphs Sn−2 , . . . , S1 and
vertex v, then P can equivalently be defined by P = ∩v∈C N(v). Given ends up with a maximum clique in the last subgraph S1 which is the
the property of P, it is clear that any vertex v of P can be added to C original graph to be solved. Instead of using the size of P to bound the
to obtain a larger clique C  = C ∪ {v}. This property constitutes one of maximum clique, a new strategy is introduced in Cliquer using infor-
the key foundations of Algorithm 1. mation from the previously computed maximum cliques of smaller
The algorithm operates by calling recursively the function graphs.
Clique(C, P ) (starting with an empty clique C = ∅ and P = V, see lines Let c(i) (i = n, n − 1, . . . , k) be the size of the maximum clique of
2 and 3, Algorithm 1) and uses a global variable C ∗ to maintain the the subgraph Si , which is previously computed for each subgraph
largest clique discovered so far (|C ∗ | is thus the current best lower Sn , Sn−1 , . . . , Sk . Then we can use these c(i) values to define a new
bound of the maximum clique). The function Clique(C, P ) is mainly de- pruning strategy when searching on the subgraph Sk−1 . In fact, to
fined by two key components: the bounding (line 10) and branching obtain a clique greater than |C ∗ | from the current clique C (and its
(line 11) procedures. Precisely, given the current clique C and its cor- associate P), one can safely prune the search if |C | + c(i) ≤ |C ∗ | where
responding P set, one observes that |C | + |P | naturally defines an upper i = min{j : vj ∈ P }, since P is a subset of Si and c(i) is an upper bound
bound for the maximum clique. As a consequence, if |C | + |P | ≤ |C ∗ |, to the maximum clique of the subgraph induced by P. With this tech-
C cannot lead to a clique larger than C ∗ and thus can be safely closed. nique, Cliquer is able to boost its performance significantly. Indeed,
Otherwise, the subtree rooted at the clique C needs to be further ex- comparisons with several other approaches before Cliquer on random
plored. In this case, a branching strategy is employed to determine and DIMACS instances show that Cliquer is superior in many cases to
the next vertex v ∈ P to be selected to expand the current clique C the reference approaches. Cliquer, however, has not proved for the
(line 11). In Carraghan and Pardalos (1990), this is achieved by se- moment as successful as some sophisticated vertex coloring based
lecting the first vertex v ∈ P to insert into the current clique. Initially, exact algorithms like MCQ (Tomita & Seki, 2003) and BB-MaxClique
the vertices v1 , v2 , ..., vn of the original graph G are ordered in such a (Segundo, Rodríguez-Losada, & Jiménez, 2011).
Q. Wu, J. K. Hao / European Journal of Operational Research 242 (2015) 693–709 697

3.3. Exact methods based on vertex coloring There are two noteworthy differences in the use of coloring in the
MCQ algorithm with respect to an early algorithm also using coloring
To estimate the upper bound of the maximum clique, graph col- (Babel & Tinhofer, 1990). First, instead of computing a coloring at
oring techniques are frequently applied to the subgraph induced by each node of the search tree, the MCQ algorithm looks for a heuristic
the candidate set P. This is based on the general fact that if a graph coloring only for a new branch. Second, at each step, a vertex in the
can be colored with k colors, then the maximum clique in this graph candidate set is selected from the final color class of the coloring of the
is smaller or equal to k. As such, a smaller k for the subgraph induced candidate set. With this strategy, the number of colors of the coloring
by P corresponds to a better upper bound of the maximum clique for the candidate set tends to be reduced more quickly than if a vertex
(see Section 3.1). Since the number of color classes is a much more is chosen according to the lexicographical order.
precise estimation than the number of vertices in P, using a coloring MCR (Tomita & Kameda, 2007) improves MCQ with a better initial
instead of |P | improves generally the upper bound and consequently sorting of vertices of the input graph G which is similar to that of
reduces the size of the search tree. However, since coloring itself is the CP algorithm, but uses the same coloring process to compute
NP-hard, finding k-coloring with k close to the chromatic number may the upper bound as in MCQ. In MCR, the vertices of G is ordered
be extremely difficult and time consuming. It is therefore important into a list L = (v1 , . . . , vn ) where vn is the vertex of minimum degree
to find a proper trade-off between computing time and bound quality. in G, vn−1 is the vertex of minimum degree in G\{vn }, vn−2 is the
In addition, vertex coloring can be also served in defining branching vertex of minimum degree in G\{vn−1 , vn }, and so on. Furthermore,
rules to guide the choice of the vertices from the candidate vertex set the authors of MCR carried out additional computational experiments
P during the search process. to confirm the usefulness of the initial sorting of vertices by comparing
Basically, two different ways of using vertex coloring for branching the performance of MCR with MCQ.
and bounding are explored in the literature. The first one colors the The numbering and sorting procedure of MCQ is further improved
initial graph only once before the B&B routine starts and uses this in the MaxCliqueDyn algorithm (Konc & Janežič, 2007). This is based
coloring throughout the search. This strategy has the main advantage on the observation that a better upper bound is achieved, when the
of running the coloring algorithm only once. However, since the clique vertices in P are presented to the greedy coloring procedure in a non-
algorithm manipulates many and different subgraphs of the initial increasing order of their degrees (Carraghan & Pardalos, 1990). The
graph G, the coloring for G is not necessarily appropriate for bound authors of MaxCliqueDyn realize that it is necessary to reorder only
estimation of these reduced subgraphs. The second strategy applies those vertices in the candidate set P with color numbers large enough
repeatedly a coloring algorithm to different subgraphs at different to be added to the current clique C in a direct descendant order with
nodes of the search tree. This strategy makes it possible to obtain respect to the color numbers. Any vertex v ∈ P with a color number
tighter bounds of the maximum clique of the subgraphs. However, below a threshold Kmin < |C ∗ | − |C | + 1 will never be added to the cur-
coloring multiple graphs may be also time consuming. For the purpose rent clique and is kept in the same order as it was presented to the col-
of saving computing time, fast greedy coloring heuristics are usually oring algorithm. In addition, MaxCliqueDyn dynamically recomputes
employed. the degree of vertices at some nodes near the root of the search tree,
and re-orders the vertices in the non-increasing order with respect
3.3.1. Branch-and-bound strategies based on subgraphs coloring to their degrees before coloring these vertices. This coloring strategy
An early classic B&B algorithm (denoted by BT) which employs makes MaxCliqueDyn faster than MCQ, especially for dense graphs.
a heuristic coloring for finding maximum cliques can be find in In Segundo et al. (2011), an exact bit-parallel algorithm
Babel and Tinhofer (1990). This algorithm employs two strategies (BB-MaxClique) for the MCP is proposed. BB-MaxClique uses an im-
for bounding and pruning. The first strategy, which uses the number proved approximate coloring procedure which relies on a new im-
of vertices in P, is done exactly in the same way as the algorithm of plicit global degree branching rule to obtain tighter upper bounds to
Carraghan and Pardalos. In the second pruning strategy, the algorithm the candidate set P. The basic idea of this branching rule is to keep the
employs a coloring algorithm based on the greedy DSATUR procedure vertices in the candidate set P in the same order as they are presented
(Brélaz, 1979) to find a better upper bound. In addition, DSATUR also initially to the BB-MaxClique procedure (conveniently sorted by non-
provides a heuristic maximum clique of P which is then used to up- increasing degree) at each level of recursion so that the vertices in
date the lower bound of the original graph. At each node of the search the candidate set P can be presented to the coloring procedure in a
tree, the algorithm first computes a coloring of the candidate vertex roughly non-increasing order with respect to their degrees. More-
set P, then it chooses a vertex according to the lexicographical order over, BB-MaxClique makes full use of bit strings to efficiently com-
and adds it into the current clique C. pute basic operations during the search. Their experiments confirm
The MCQ algorithm (Tomita & Seki, 2003) goes one step further, that the implicit global degree branching rule prunes the search tree
based on the idea that the coloring of the subgraph induced by the better than the two reference algorithms MCQ and MaxCliqueDyn for
candidate set P not only provides a bound on the size of the maximum a wide range of DIMACS graph, notably for dense graphs.
clique, but also serves as a branching strategy. The main ingredient of The greedy coloring procedure in the MCQ algorithm (Tomita &
MCQ is to use a numbering and sorting procedure to sort the vertices Seki, 2003) is further improved by MCS (Tomita, Sutani, Higashi,
of P in an ascending order with respect to the color numbers at each Takahashi, & Wakatsuki, 2010), which uses a recoloring strategy to
branching step. The numbering and sorting procedure first employs a improve the coloring obtained by the greedy coloring procedure. The
greedy coloring algorithm to color the vertices of P in a predetermined basic idea of MCS is that if a vertex v ∈ P with color number kv > kmin
order as follows. For each coloring step, a vertex v ∈ P is inserted into (kmin = |C ∗ | − |C |) is moved to a color class with color index l ≤ kmin ,
the first possible color class, so that v is non-adjacent to any vertex then the number of vertices to be searched in the candidate set P can
already in this color class. If such a color class does not exist, a new be reduced since all vertices with a color number below kmin will be
color class is opened to insert v. After all vertices in P are assigned to pruned in the derived child subproblem. It is possible to reassign a
their respective color classes, these vertices are sorted in an ascending vertex v belonging to a color class Ck (k > kmin ) to a different color
order with respect to their color numbers, and then copied back to class Cj (j ≤ kmin ) if the following two conditions hold:
P according to this sorting order. Then, at each search step of the 
algorithm, MCQ selects a vertex v ∈ P in reverse order (the last vertex (1) There exists a vertex w ∈ Cj such that N(v) Cj = {w}, i.e., w is the
in the reordered set P belongs to the highest color class) and the color only member of the neighbor set of v in Cj .

number associated with each vertex becomes an upper bound for the (2) There exists a color class Cl such that N(w) Cl = ∅ and l ≤ kmin ,
maximum clique in the remaining subgraph to be searched. i.e., Cl does not contain any neighbor of w.
698 Q. Wu, J. K. Hao / European Journal of Operational Research 242 (2015) 693–709

In this case, v is moved from its current color class to another In the χ algorithm, to approximate the chromatic number of the
color class Cj with j ≤ kmin , the subproblem hanging from v will be candidate set P = ∩v∈C N(v), one computes four heuristic colorings of P
pruned. Very recently, this recoloring strategy is integrated in a bit and retains the coloring with the smallest number of colors for bound-
string framework, leading to an improved bit parallel exact algorithm ing. These four colorings are obtained using two different greedy col-
(Segundo, Matia, Rodriguez-Losada, & Hernando, 2013). oring algorithms. Algorithm χ + DF combines the domain filtering
strategy of DF and the coloring-based bounding strategy: for each
3.3.2. Branch-and-bound strategies based on a unique coloring vertex v ∈ P, compute with a coloring algorithm an upper bound of
B&B algorithms like MCQ, MCR, MaxCliqueDyn and BB-MaxClique the chromatic number for the subgraph induced by all the neighbors
need to compute a coloring at each branching step. Since finding a col- of v in P. If this upper bound plus the size of the current clique is
oring is time consuming, frequently calculating colorings could affect smaller than the lower bound of the graph, then v can be safely re-
the performance of these algorithms. Another class of B&B algorithms moved from P. The computational experiments reported in the paper
which use coloring as an aid for bounding and branching apply only show that the combined use of these two strategies outperforms the
once a coloring algorithm to the initial graph before the B&B routine CP algorithm as well as approaches that only apply either of these
starts and then use the obtained coloring on the permanent base dur- techniques. Furthermore, χ + DF is shown to be able to solve to opti-
ing the search. A typical algorithm of this kind (denoted by DK) is mality 45 out of the 66 tested DIMACS instances.
shown in Kumlander (2005). One obvious drawback of the filtering algorithm in χ + DF is the
The DK algorithm integrates a pruning rule similar to MCQ and time required to compute the upper bound of the chromatic number
a backtracking search technique which examines the graph in the of the subgraph induced by a vertex and its neighbors in the can-
opposite order of a standard B&B algorithm. The first step of the al- didate set P. In Régin (2003), a constraint programming approach
gorithm is to obtain a coloring c = {C1 , C2 , . . . , Ck } of the vertices of (CPR) is used to determine an upper bound based on a fast matching
G and re-order the vertices by color classes, so that color classes will algorithm rather than a coloring algorithm. This new upper bound
appear in the decreasing order with respect to the color index, i.e., roughly corresponds to the number of independent sets of cardinal-
V = {Ck , Ck−1 , . . . , C1 }. One first considers all cliques that could be ity 2 in the subgraph induced by P. This bound is then used to remove
built using only the vertices of the first color class C1 . Then one con- some vertices from P after each branching step in the following way:
siders all cliques that could be built using vertices of C1 and C2 , i.e., of select a vertex v and compute the upper bound using the matching
the first and second color classes, and so forth. The ith step considers algorithm for the subgraph induced by all the neighbors of v; if this
all cliques that contain vertices of {Ci , Ci−1 , . . . , C1 }, the last consid- upper bound plus the size of the current clique is smaller than the
ered subgraph being the original graph. The algorithm also uses a lower bound of the graph, then v can be safely removed from P. In
special array b to remember the maximum clique found for each level addition to the filtering algorithm, CPR also uses the diving technique
of the subgraphs during the backtracking search. So b[i] is the maxi- in conjunction with a MIP approach to solve subproblems and a spe-
mum clique for a subgraph formed by the vertices of {Ci , Ci−1 , . . . , C1 }. cific strategy to select the vertex to expand the current clique. CPR
The branching rule used by this algorithm is similar to MCQ, it always is able to solve seven DIMACS instances to optimality for the first
selects a vertex v ∈ P with the largest color number to insert into time.
the current clique. So when one considers v to become the (j + 1)th
vertex in the current clique and v belongs to the kth color class, the 3.5. Exact methods based on MaxSAT
algorithm can prune the search if j + b[k] ≤ |C ∗ | (C ∗ is the largest
clique found so far), since P is a subset of Ck ∪ Ck−1 ∪ · · · ∪ C1 and b[k] Exact methods based on vertex coloring use the number of col-
is an upper bound to the maximum clique of the subgraph induced ors required by the subgraph to approximate the upper bound of the
by Ck ∪ Ck−1 ∪ · · · ∪ C1 . Computational experiments on the DIMACS maximum clique on the subgraph induced by the candidate set P.
benchmarks show that this algorithm outperforms the CP and Cli- This approach is further improved by using methods developed for
quer algorithms. MaxSAT (Li & Quan, 2010). The resulting method (denoted by Max-
CLQ) is based on the following proposition: If G can be partitioned
3.4. Tightening the candidate set P by filtering algorithms into k independent sets (thus can be colored with k colors), and there
are s disjoint inconsistent subsets of soft clauses in the independent
Another method to improve the basic CP algorithm is to directly set using MaxSAT encoding, then the maximum clique in the graph
tighten the candidate set P by removing certain vertices which can- is smaller or equal to k − s. To obtain a tighter bound of the maxi-
not be used to extend the current clique C to a maximum clique or mum clique on the subgraph G induced by P, MaxCLQ first partitions
by fixing vertices in P which are part of a maximum clique of G that G into k independent sets in a similar way to MCQ (Tomita & Seki,
contains the current clique C. Following this line, three B&B algo- 2003). Based on this partition, one first encodes the graph into a
rithms, denoted by DF, χ and χ + DF, are studied in Fahle (2002). MaxSAT instance where each independent set is encoded into a soft
The basic idea of DF is to use two cost based domain filtering algo- clause, and then uses an dedicated approach to detect the number
rithms to “clean-up the candidate set” before each branching step. (denoted by s) of disjoint inconsistent soft clauses in the MaxSAT in-
Given the current clique C, its corresponding candidate set P and the stance. Finally k − s is used as an upper bound to the maximum clique
largest clique discovered so far C ∗ , let NP (v) = {u ∈ P : {u, v} ∈ E}, the of the subgraph G induced by P. This approach leads generally to
DF algorithm is based on the following filtering properties: tighter bounds than the pure coloring based approaches. Experimen-
tal evaluations on the DIMACS benchmarks show the B&B algorithm
• Lemma 1. For each v ∈ P such that |C | + |NP (v)| < |C ∗ |, v cannot integrating this MaxSAT based bounding technique is very effective
extend C to a maximum clique of G. and can even close one open problem (p_hat1000-3).
• Lemma 2. For each v ∈ P such that |NP (v)| = |P | − 1 is contained in Later, a complex approach combining MaxCLQ (Li & Quan, 2010)
any maximum clique of G that also contains C. and MCS (Tomita et al., 2010) with the ILS algorithm (Andrade, Re-
sende, & Werneck, 2012) is studied in Maslov, Batsyn, and Pardalos
Lemma 1 allows the algorithm to safely remove from P every vertex (2014). The ILS algorithm is used to obtain an initial solution to the
of degree less than |C ∗ | − |C |, since such a vertex cannot be part of maximum clique problem, which is then served as a lower bound
a clique larger than |C ∗ | in G. With Lemma 2, one can displace every to prune branches in the main B&B algorithm. The study shows that
vertex of degree |P | − 1 from the candidate set P to the current clique running ILS before MaxCLQ and MCS algorithms considerably reduces
C to increase the clique size. the total computing time for some hard DIMACS instances.
Q. Wu, J. K. Hao / European Journal of Operational Research 242 (2015) 693–709 699

Table 1
Main exact algorithms for the maximum clique problem.

Algorithm name Reference Type of approach Comments on performance

CP Carraghan and Pardalos (1990) The basic B&B algorithm A landmark B&B algorithm providing the basis for many later
B&B algorithms
BT Babel and Tinhofer (1990) B&B based on subgraphs coloring Another classic B&B algorithm which computes a coloring for
bounding at each search step, slower than modern B&B
algorithms based on graph coloring
Cliquer Östergård (2002) B&B based on solving sub-clique problems Reports better results than its predecessors, but performs
less well than sophisticated vertex coloring based
algorithms like MCQ, MCS and BB-MaxClique
χ + DF Fahle (2002) B&B using filtering algorithms to tighten the Slower than Cliquer on an amount of DIMACS instances
candidate set P
MCQ Tomita and Seki (2003) B&B based on subgraphs coloring Faster than Cliquer and a number of algorithms before MCQ
on many DIMACS instances
CPR Régin (2003) B&B using filtering algorithms to tighten the Closes seven DIMACS instances for the first time, faster than
candidate set P another B&B algorithm using filtering algorithms χ + DF
on most DIMACS instances
DK Kumlander (2005) B&B based on a unique coloring Performs better than CP, but seems less competitive as some
sophisticated vertex coloring based algorithms like MCQ,
MCS and BB-MaxClique
MCR Tomita and Kameda (2007) B&B based on subgraphs coloring An improved version of MCQ with a better initial sorting of
vertices of the initial graph
MaxCliqueDyn Konc and Janežič (2007) B&B based on subgraphs coloring Faster than MCQ on most DIMACS instances, especially for
dense graphs
MaxCLQ Li and Quan (2010) B&B based on MaxSAT A highly effective exact algorithm, closes a hard instance
p_hat1000-3 for the first time
MCS Tomita et al. (2010) B&B based on subgraphs coloring An improved version of MCQ, performs better than its two
predecessors MCQ and MCR on many DIMACS instances
BB-MaxClique Segundo et al. (2011) B&B based on subgraphs coloring Faster than MCQ and MaxCliqueDyn on a number of DIMACS
instances, especially effective for dense graphs
ILS&MaxCLQ Maslov et al. (2014) B&B based on MaxSAT using local search for Reaches some speedup for some hard DIMACS instances
initial bounds compared to MaxCLQ, but needs more computing time for
some easy instances

3.6. Other exact methods 4.1. Greedy algorithms

In addition to the above algorithms, there are some other related The majority of greedy heuristics for the MCP are called “sequential
studies. A branch and cut (B&C) algorithm for the equivalent MIS can greedy heuristics”. They generate a maximal clique by starting with an
be found in Rebennack, Oswald, Theis, Seitz, Reinelt, and Pardalos empty clique and then iteratively adding vertices using greedy rules
(2011). This algorithm is based on the edge-projection theory first until no further additions are possible, or by repeatedly removing
introduced in Mannino and Sassano (1996) and further explored in vertices from a set of vertices which do not form a clique. A compre-
Rossi and Smriglio (2001). An overview of various characteristics of hensive survey of early greedy heuristics are provided in Bomze et al.
effective B&C algorithms for the MCP and MIS is given in Rebennack, (1999); Butenko (2003) and Pardalos and Xue (1994).
Reineltb, and Pardalos (2012). Some parallel and multi-threading ex- For these early greedy heuristics, decisions on which vertex to be
act algorithms appear very recently in the literature. For instance, a added in or moved out are usually based on some static information
scalable and fault-tolerant solution for the MCP based on the MapRe- associated with the vertices in the candidate set like their degrees.
duce framework is presented in Xiang, Guo, and Aboulnaga (2013). However, static greedy algorithms can easily fall into the usual greedy
The main idea of this approach is to first partition the graph into traps due to their short-sighted nature. Several improvements to the
smaller subgraphs, which are then independently solved to opti- static greedy heuristics have been proposed in the literature. For in-
mality with a B&B method on different nodes of a computing clus- stance, three adaptive restart randomized greedy heuristics (denoted
ter. Another recent multi-threading parallel algorithm adapts a B&B by AI, AW and NA) are studied in Jagota and Sanchis (2001). The main
algorithm similar to MCQ and explores the multi-core parallelism ingredient of these heuristics is a probabilistic greedy vertex selec-
with a bit-set encoding mechanism (McCreesh & Prosser, 2013). tion rule combined with a multi-start strategy. During each run of the
This algorithm achieves excellent performances on many DIMACS greedy algorithm, the probability distributions used by the selection
instances and some BHOSLIB instances. rule are updated through a learning-like mechanism. QUALEX-MS
To conclude this section on exact algorithms, Table 1 summarizes (Busygin, 2006) is another deterministic iterated greedy algorithm.
in chronological order the reviewed algorithms. One observes that In QUALEX-MS, each vertex is assigned a weight which represents its
very few exact algorithms report their results on the set of 40 BHOSLIB importance towards inclusion in the evolving clique. Vertex weights
instances with the exception of the study reported in McCreesh and are calculated on the basis of the coordinates of stationary points of
Prosser (2013). In Section 6, we provide more information about the nonlinear programs derived from the Motzkin–Straus nonlinear for-
relative performance of these exact algorithms. mulation of the MCP. The deep adaptive greedy search (DAGS) by
Grosso, Locatelli, and Croce (2004) integrates swap moves and vertex
4. Heuristic approaches to the MCP weights into a two-phase greedy construction procedure. Two im-
portant vertex selection strategies are introduced in DAGS to avoid
In addition to exact algorithms, notable progresses on heuris- usual greedy traps. First, DAGS uses swap moves to transform the
tic algorithms for the MCP have been made in the recent years. In current partial clique into an equal-sized but more promising clique
this section we review the most representative and effective MCP instead of using only the short-sighted add move operator. Second,
heuristics. DAGS adaptively adjusts the vertex weights used for vertex selection
700 Q. Wu, J. K. Hao / European Journal of Operational Research 242 (2015) 693–709

by a restart mechanism. This dynamic weighting technique guides In the k-fixed penalty strategy, a solution is represented as a sub-
the search towards less explored areas. Computational results show set C of k vertices. The evaluation function f (C ) counts the num-
that DAGS is superior to QUALEX-MS for most of the tested DIMACS ber of edges induced by C, and the goal of the search algorithm is
instances. to maximize function f (C ) such that f (C ) reaches its largest value
f (C ) = k × (k − 1)/2, which means any two vertices of C are connected
4.2. Local search heuristics by an edge and C is a legal k-clique.
To obtain a neighboring solution from the current solution C, one
Local search is the most successful framework for designing effec- typically swaps a vertex in C with another vertex in V\C. Basically,
tive MCP heuristics. We provide here an in-depth analysis of the most there are two different techniques to apply the swap operation in
influential heuristic algorithms mainly developed during the two past the literature. The first technique considers all the possible moves
decades. induced by C and V\C; any vertex from C and any vertex from V\C
can take part in a swap operation. The second technique constrains the
4.2.1. Local search strategies for the MCP consideration of the two exchanged vertices to some specific subsets
When designing a local search algorithm for solving a particular of C and V\C. This technique is useful to reduce the computing time
problem, one has to define the search space to be explored, the eval- needed to explore the neighborhood.
uation function and the neighborhood function. This triplet forms a As early as 1989, the first tabu search application to the equivalent
search strategy. We propose to classify the search strategies for the MIS (called STABULUS) is presented in Friden et al. (1989) using the
MCP into two categories. k-fixed penalty strategy. STABULUS tries to minimize the number of
edges contained in the current subset of k vertices to zero (notice
• The k-fixed penalty strategy: A target clique size k is provided that here we are solving the MIS in the complementary graph, see
and the goal is to find a feasible clique of size k (a k-clique). The Section 2). The neighborhood employed by STABULUS is defined by
search space is usually composed of all vertex subsets of size k the unconstrained swap move operator, which swaps a vertex u ∈ C
(called k-subsets) including both feasible and infeasible cliques. To with another vertex v ∈ V\C. At each iteration, STABULUS selects the
approximate the maximum clique, one searches for legal k-cliques best swap move which decreases the most the evaluation function
with increasing k values. to generate the next neighboring solution. To determine whether a
• The legal strategy: The search space contains all legal cliques move is eligible, STABULUS first uses one tabu list T1 containing the
and the goal is to find a clique c ∈ whose size is as large as |T1 | last solutions. In addition, STABULUS uses two other lists T2 and
possible. T3 containing the last vertices which were removed from (or intro-
duced into) the independent set for the purpose of preselection. This
These two general strategies can be further classified according algorithm reported remarkable results at the time it was published.
to the move operators used to explore the search space. For the STABULUS was later improved in Fleurent and Ferland (1996b) by
k-fixed penalty strategy, existing local search algorithms mainly rely introducing a different tabu list and tabu tenure management mech-
on either a constrained swap operator or a unconstrained swap op- anism. Instead of putting the visited solutions in the tabu list, each
erator which basically exchanges one (or more) vertex of the current time a vertex u ∈ C is swapped with another vertex v ∈ V\C, these
clique with another vertex (or more vertices) out of the clique. As two exchanged vertices are added into the tabu list and are forbidden
to the legal strategy, the algorithms typically employ three different to move for the next Tu and Tv iterations, where Tu = 0.3 × |V\C | and
move operators (add, swap and drop). Fig. 2 summarizes this classi- Tv = 0.3 × |C |.
fication which is also used in this review to guide our presentation of Recently, an adaptive multi-start tabu search algorithm (AMTS)
local search algorithms. is introduced in Wu and Hao (2011) which is based on the k-fixed
penalty strategy and the constrained swap operator. The constrained
4.2.2. Local search algorithms based on the k-fixed penalty strategy neighborhood limits the swap move to two critical subsets X ⊆ C
For the k-fixed penalty strategy, as noted in Friden et al. (1989), and Y ⊆ V\C such that |X | and |Y | are as small as possible, and the
the maximum clique problem can be approximated by finding a series resulting neighborhood contains always the best solutions of the
of k-cliques for increasing values of k (a k-clique is a clique of size k). unconstrained neighborhood induced by C and V\C. The critical
Each time a k-clique is found, k is incremented by one and a new subset X ⊆ C identifies the vertices of the current solution C that are
(larger) k-clique is sought. This process is repeated until no k-clique not in the tabu list and have the highest number of adjacent vertices
can be found. The last k-clique constitutes an approximation of the in C, and set Y identifies the vertices of V\C that are not in the tabu list
maximum clique of the graph. Consequently, the maximum clique and have the smallest number of adjacent vertices in C. A neighboring
problem comes down to the problem of finding k-cliques.

search strategies

k-f ixed penalty strategy legal strategy

unconstr ained sw ap constr ained sw ap add + drop add + swap add + swap + drop
[a,b] [c] [d,e,f] [g,h,i] [j,k,l,m]
Fig. 2. Local search strategies for the MCP. a(Fleurent and Ferland (1996b)), b(Friden, Hertz, and Werra (1989)), c(Wu and Hao (2011)), d(Battiti and Protasi (2001)), e(Gendreau,
Soriano, and Salvail (1993)), f(Katayama et al. (2005)), g(Pullan (2006)), h(Pullan and Hoos (2006)), i(Pullan, Mascia, and Brunato (2011)), j(Benlic and Hao (2013)), k(Jin and Hao
(2015)), l(Hansen, Mladenović, and Uroševié (2004)), m(Wu, Hao, and Glover (2012)).
Q. Wu, J. K. Hao / European Journal of Operational Research 242 (2015) 693–709 701

solution C  is then obtained by swapping one vertex u ∈ X and one picked from C and is dropped. As soon as a vertex is moved, it is put
vertex v ∈ Y. The constrained neighborhood is both more focused and into the tabu list and remains prohibited for the next T iterations. The
smaller-sized compared to the unconstrained swap neighborhood prohibition period T is related to the amount of desired diversification,
and largely improves the computational efficiency of the search and is determined by feedback information from the search history.
procedure. This algorithm competes well with reference heuristics RLS also uses a dynamic restart strategy to provide additional long-
like RLS (Battiti & Protasi, 2001) and DLS (Pullan & Hoos, 2006). term diversification, assuring that each vertex is eventually tried as
part of the current clique. Computational results on DIMACS instances
4.2.3. Local search algorithms based on the legal strategy show that RLS performs better than its predecessors, both in terms of
The algorithms presented in Andrade et al. (2012); Battiti and efficiency and quality.
Protasi (2001); Jin and Hao (2015); Katayama et al. (2005); Pullan The k-opt local search (KLS) of Katayama et al. (2005) also relies
(2006); Pullan and Hoos (2006); Pullan et al. (2011) and Wu et al. on the add and drop operations. KLS is generalized from the basic
(2012) follow the legal strategy. Here the search space is defined 1-opt local search by moving multiple vertices at each iteration in-
by the set of all legal cliques. The function to be maximized is the stead of a single vertex for the purpose of obtaining a larger clique.
clique size f (C ) = |C |, and the neighborhood N(C ) is given by subsets At each iteration of KLS, a variable number of k vertices are added
of legal cliques which can be reached by applying some eligible move to or removed from the current clique simultaneously by applying a
operators. From the literature, we can identify three such operators: sequence of add and drop move operations. The vertex selection rule
add, drop and swap. The add operator displaces to C a vertex in V\C of KLS is similar to that of the deterministic variant of the tabu search
that is adjacent to all vertices in C. The drop operator deletes a vertex algorithm of Gendreau et al. (1993). Each time a vertex is added to
from C. The standard swap operator exchanges a vertex v in C with a (or removed from) C, it is forbidden to remove from (or add back to)
vertex u in V\C which must be connected to all vertices in C except v. C during this round of k-opt neighborhood search. A restart strategy
Note that a swap move can be trivially decomposed into two separate is also employed by the KLS algorithm: The largest clique obtained
moves, i.e., a drop move followed by an add move (Battiti & Mascia, in the previous execution becomes a new initial solution for the next
2010). Most local search methods using the legal strategy jointly rely round of k-opt neighborhood search. The reported results on 37 DI-
on two or three of these move operators. For instance, methods that MACS benchmarks show that KLS remains competitive compared to
employ the add and drop moves include the tabu search algorithms RLS (Battiti & Protasi, 2001).
(Gendreau et al., 1993), the RLS algorithm (Battiti & Protasi, 2001) and For the algorithms relying on the add, swap and drop moves,
the KLS algorithm (Katayama et al., 2005) while examples of using all add moves are always applied whenever this is possible as they
three moves (add, drop and swap) are the VNS algorithm (Hansen are the only moves that augment the current clique. Drop moves
et al., 2004), the family of PLS (Pullan, 2006), DLS (Pullan & Hoos, are considered only when no add or swap move exists. Associated
2006), CLS (Pullan et al., 2011) algorithms, the MN/TS algorithm (Wu with swap moves is the vertex set OM, which is composed of the
et al., 2012), the BLS algorithm (Benlic & Hao, 2013) and the SBTS vertices that are excluded from the clique C and connected to all

algorithm (Jin & Hao, 2015). Notice that in some rare cases, more but one vertex of C: OM = {v : v ∈ V\C, |N(v) C | = |C | − 1} where
general swap(a, b) could be also useful allowing to exchange a and b N(v) = {j : j ∈ V, {j, v} ∈ E} is the set of vertices adjacent to v.
vertices between C and V\C. The variable neighborhood search algorithm (VNS) of Hansen et al.
For the algorithms using only add and drop moves, add moves (2004) uses a distance metric between two solutions T and T  which is
are always preferred since they increase the clique size, drop moves the difference in cardinality of T and T  . Then the neighborhood Nk (T )
are applied only when no add move exists. Associated with the add consists of all solutions at distance k from T. Three types of moves
moves is the vertex set PA (which corresponds to the candidate set P (add, swap and drop) are considered for the selected neighborhoods
of Section 3.1), which is composed of the vertices that are excluded Nk , k = 1, . . . , kmax . An initial solution is obtained by a variable neigh-
from the clique C and connected to all the vertices of C: PA = {v : v ∈ borhood descent (VND) heuristic, which is also used as the local search
V\C, {v, u} ∈ E, ∀u ∈ C }. Algorithms which rely on the add and drop procedure of the VNS approach. VNS uses add moves in its descent
moves differ from each other chiefly in the scheme of vertex selection phase and swap moves in a plateau phase. Upon reaching a local op-
and the prohibition mechanism applied to the performed moves. timum with respect to both the add and swap neighborhoods, a new
For instance, two early tabu search variants (denoted by DT and PT) solution is randomly generated from the kth neighborhood by drop-
using add and move are studied in Gendreau et al. (1993). The first ping k vertices from the current clique. Different selection rules are
variant is deterministic: when add moves are possible, one vertex used by VND to guide the choice of the vertex to be added to the clique
v ∈ PA with the maximum adjacent vertices in PA is selected to join C. The results on a subset of the DIMACS instances show a globally
the current clique C. When no add move exists, one vertex v ∈ C that good performance.
results in the largest PA is removed from C. The general prohibition The family of stochastic local search algorithms (dynamic local
rule adopted by the deterministic variant is as follows: Only vertices search (DLS) (Pullan & Hoos, 2006), phased local search (PLS) (Pullan,
that leave the clique C are forbidden to move back to C during the 2006) and cooperating local search (CLS) (Pullan et al., 2011)) employ
prohibition period, vertices that join the clique C can leave C without the add and swap moves in their main search procedure and the drop
restriction. The second variant (PT) is probabilistic: if add moves are moves for overcoming search stagnation. These algorithms alternate
possible, a random vertex in PA is selected for a possible addition, between a clique expansion phase and a plateau search phase. The
otherwise, the current solution C is a local optimum and additions are expansion phase seeks to expand the clique by adding a vertex from
impossible, a number of randomly selected vertices in C are removed PA. When the current clique cannot be extended, a plateau search
from it. phase is triggered during which vertices of the current clique are
Reactive Local Search (RLS) by Battiti and Protasi (2001) is a land- swapped with vertices in OM. If the current clique becomes expand-
mark algorithm to the MCP which applies the add and drop opera- able, the search switches back to the expansion phase. When no add
tions. Starting from an empty clique, RLS explores the search space and swap moves are possible, some perturbation strategies are ap-
of cliques by adding/removing one vertex to/from the current clique. plied to the clique C. DLS (Pullan & Hoos, 2006) follows this scheme
RLS applies add moves whenever this is possible and selects a vertex and uses dynamic vertex penalties to guide vertex selection during
with the highest number of adjacent vertices in PA to add to the clique the clique expansion and plateau search phases. The perturbation
C. If no allowed addition exists, RLS searches for an allowed vertex to mechanism simply reduces the clique C to the last added vertex v, or
drop from C such that its removal leads to the largest set of vertex adds a vertex v that is chosen at random and then removes all vertices
additions to C. If no allowed moves are available, a random vertex is from C that are not connected to v. To cope with graphs of different
702 Q. Wu, J. K. Hao / European Journal of Operational Research 242 (2015) 693–709

structures, PLS (Pullan, 2006) combines three sub-algorithms which approach uses a population of solutions that are improved via an
use different vertex selection rules: random selection, random selec- “evolutionary” process. Early attempts are reported in 1990s. How-
tion among those with the highest vertex degree or random selection ever, pure genetic algorithms are not effective for the MCP (Carter &
within those with the lowest vertex penalty. In addition, the perturba- Park, 1993). This approach is often enhanced by incorporating other
tion mechanism differs between the sub-algorithms. CLS (Pullan et al., techniques like local optimization. A first example is the genetic tabu
2011) further improves over PLS by following the idea of the hyper- search algorithm of Fleurent and Ferland (1996a) which combines
heuristic scheme (Burke, Hart, Kendall, Newall, Ross, & Schulenburg, a standard uniform crossover and a tabu search procedure. Another
2003). CLS incorporates four low level heuristics which are effective hybrid genetic algorithm (GENE) mixes a uniform crossover, a swap
for different instance types. The difference between these low level mutation and a descent method (Marchiori, 2002). A hybrid evolu-
heuristics is their vertex selection techniques and the way they deal tionary algorithm with a guided mutation (EA/G) for the problem is
with plateaus. To further enhance the performance of CLS, relevant introduced in Zhang, Sun, and Tsang (2005). The HSSGA algorithm by
information is passed between low level heuristics in order to guide Singh and Gupta (2006a) is a combination of a steady-state genetic
the search to particular areas of the search domain. DLS, PLS and algorithm, a randomized sequential greedy approach and the exact
in particular CLS show excellent performances on both DIMACS and algorithm of Carraghan and Pardalos (1990) while IEA-PTS blends
BOSHLIB benchmarks. an impatient evolutionary algorithm and a probabilistic tabu search
The study of Andrade et al. (2012) explores general swap operator (Guturu & Dantu, 2008).
in the context of the legal strategy: The (1, 2)-swap move, which Despite numerous attempts, the reported evolutionary algorithms
exchanges a single vertex from C against two other vertices, and the for the MCP are not competitive compared to simpler local search al-
(2, 3)-swap move, which removes two vertices from C and adds three gorithms. This may be partially explained by the fact that for the
new vertices. This study also shows that, given any maximal clique, a MCP, no meaningful recombination (or crossover) operator is known
(1, 2)-swap move can be implemented in a linear time, while a (2, 3)- yet. Indeed it is not clear how random crossover operators can help
swap move can be implemented in O(m), where m is the number of the search to discover improved cliques. Even the most effective
edges and  is the highest degree in the graph. These swap operators hybrid evolutionary algorithms for the MCP are basically driven by
are integrated in an iterated local search (ILS) method. The results some local search procedures. However, better performances could
on the DIMACS and BHOSLIB benchmarks show that ILS performs be achieved if a semantically meaningful crossover for the MCP can be
very well on two large and difficult MANN instances. However, it is devised.
dominated by some best MCP algorithms on some large brock family Other popular heuristics for the MCP include ant colony opti-
instances from DIMACS as well as some BHOSLIB instances. mization (Solnon & Fenet, 2006), artificial neural networks (Yang, Yi,
The multi-neighborhood tabu search (MN/TS) (Wu et al., 2012) for Zhang, & Tang, 2009) and methods based on continuous optimization
the weighted and unweighted MCP is based on a combined neighbor- (Burer, Monteiro, & Zhang, 2002; Busygin, 2006). According to the
hood induced by the add, swap and drop moves. For the unweighted reported results, the overall performance of these heuristics are not
case, the vertex selection rule is based on a random scheme: For the competitive compared with recent local search methods. Finally, it is
add move, a vertex v ∈ PA is randomly picked to expand C, and for the worthwhile to mention that some recent edge weighting local search
swap move, a vertex v ∈ OM is randomly selected to exchange with approaches for the equivalent minimum vertex cover problem, such
the only vertex u ∈ C which is not connected to v, while for the drop as COVER (Richter, Helmert, & Gretton, 2007) and EWCC (Cai, Su, &
move, a vertex is randomly removed from C. The general prohibition Sattar, 2011), report very good results on the DIMACS and BHOSLIB
rule in MN/TS is similar to that of the deterministic tabu search pro- benchmarks.
cedure of Gendreau et al. (1993): Only vertices that leave the clique To conclude this section, we summarize in Table 2 the main
C are forbidden to move back to C during the prohibition period, ver- reviewed heuristic algorithms (listed in chronological order). In
tices that join the clique can be removed without restriction. MN/TS Section 6, we provide more information about the relative perfor-
obtains the best-known solutions for all the BHOSLIB instances and mance of these heuristic algorithms.
78 out of the 80 DIMACS instances.
The breakout local search (BLS) (Benlic & Hao, 2013) for the MCP 5. Generalizations and relaxations of the MCP
and its vertex weight version uses the union of the add and swap
moves in its search procedure and the drop and add-repair moves dur- The MCP has some relevant generalizations and relaxations which
ing its perturbation procedure. BLS explores first search areas around are useful to formulate a number of practical applications where the
the current local optimum and displaces the search into a new dis- standard MCP is not appropriate. These problems are not only gain-
tant area only if the search seems to be stagnating. This is achieved ing increasing popularity in a number of practical applications in par-
by its specific perturbation strategy which determines dynamically ticular in graph data analysis and mining, but also keeps garnering
and adaptively the type and strength of perturbations. BLS reaches attention as a promising avenue for theoretical investigations.
competitive results on both DIMACS and BHOSLIB instances.
Very recently, a general swap-based tabu search (SBTS) algorithm 5.1. Maximum vertex weight clique problem (MVWCP)
(Jin & Hao, 2015) is introduced for the equivalent MIS. Each iteration
of SBTS corresponds to either an intensification step or a diversifi- Given G = (V, E), let w : V → Z + be a weighting function that as-
cation step by applying a general (k, 1)-swap (k ≥ 0) operator. Given signs to each vertex i ∈ V a positive value. For a clique C of G, define its

an independent set S, (k, 1)-swap exchanges one vertex (which is weight as W (C ) = i∈C wi . The MVWCP is to determine a clique C ∗ of
strategically selected) in V\S against its k adjacent vertices in S. SBTS maximum weight, i.e., ∀C ∈ , W (C ∗ ) ≥ W (C ) where is the set of all
alternates dynamically between its (k, 1)-swap based neighborhoods possible cliques of the graph. The MCP can be considered as a special
to find improved solutions or escape from local optima. SBTS is cur- case of the MVWCP where the weight of each vertex is set equal to 1.
rently the single heuristic able to attain the best-known result for all It is clear that a maximum clique of the MCP does not necessarily lead
DIMACS and BHOSLIB instances. to a maximum vertex weight clique of the MVWCP, and the MVWCP
has at least the same computational complexity as the MCP.
4.3. Evolutionary algorithms and other popular heuristics for the MCP Some exact algorithms for the MVWCP come from and general-
ize previous methods designed for the unweighted MCP (Kumlander,
Evolutionary algorithms like genetic algorithms have long been 2004; Östergård, 1999). Three other B&B algorithms are introduced
a popular approach for the MCP. As opposed to local search, this in Warren and Hicks (2006), which use weighted clique covers to
Q. Wu, J. K. Hao / European Journal of Operational Research 242 (2015) 693–709 703

Table 2
Main heuristic algorithms for the maximum clique problem.

Algorithm name Reference Type of approach Comments on performance

STABULUS Friden et al. (1989) Tabu search based on the k-fixed penalty The first MIS algorithm using tabu search
strategy
DT, PT Gendreau et al. (1993) Tabu search based on the legal strategy Two early tabu search algorithms without swap moves
AI, AW, NA Jagota and Sanchis (2001) Greedy algorithm Three adaptive restart randomized greedy heuristics, the results of
these three heuristics are not available on the DIMACS and
BHOSLIB benchmarks
RLS Battiti and Protasi (2001) Reactive tabu search based on the legal A landmark MCP algorithm, reports better results than its
strategy predecessors
GENE Marchiori (2002) Evolutionary algorithm An early hybrid genetic algorithm, outperformed by many local
search heuristics
DAGS Grosso et al. (2004) Greedy algorithm A sophisticated greedy algorithm achieving better performances than
other greedy algorithms like QUALEX-MS on most DIMACS
instances
VNS Hansen et al. (2004) Variable neighborhood search based on the Shows a good performance on the MANN instances from DIMACS, its
legal strategy overall performance is comparable in terms of quality with RLS
KLS Katayama et al. (2005) Local search based on the legal strategy Achieves a good performance on the MANN instances from DIMACS
but a bad performance on the keller and brock instances
EA/G Zhang et al. (2005) Evolutionary algorithm Achieves better performances than an early evolutionary algorithm
GENE, but performs slightly less well than RLS
QUALEX-MS Busygin (2006) Greedy algorithm Shows good performances on the brock instances from DIMACS
DLS Pullan and Hoos (2006) Dynamic local search based on the legal One of the best performing algorithms, shows highly competitive
strategy results compared with a number of state-of-the-art algorithms
before DLS
PLS Pullan (2006) Phased local search based on the legal Achieves similar performances compared to DLS on the DIMACS
strategy benchmarks
HSSGA Singh and Gupta (2006a) Evolutionary algorithm Performs worse than many modern local search algorithms like RLS,
DLS, RLS, PLS and AMTS
COVER Richter et al. (2007) Edge weighting local search approach Shows a good performance for the two large MANN instances, but
fails to reach the best-known results for some brock family
instances from DIMACS
IEA-PTS Guturu and Dantu (2008) Evolutionary algorithm Outperforms two other evolutionary algorithms EA/G and HSSGA,
reports competitive results on the DIMACS benchmarks, but fails to
reach the best-known results for some BHOSLIB benchmarks
CLS Pullan et al. (2011) Cooperating local search based on the legal A fast algorithm using multiple strategies, one of the current best
strategy performing MCP algorithms
EWCC Cai et al. (2011) Edge weighting local search approach A recent edge weighting local search approach for the equivalent
minimum vertex cover problem, reports competitive results on the
DIMACS and BHOSLIB benchmarks.
MN/TS Wu et al. (2012) Multi-neighborhood tabu search based on Fails to reach the best-known results for two large MANN instances
the legal strategy
ILS Andrade et al. (2012) Local search based on the legal strategy Achieves an excellent performance on two large MANN instances, but
fails to reach the best-known results for some brock instances from
DIMACS and some BHOSLIB instances
AMTS Wu and Hao (2011) Tabu search based on the k-fixed penalty Shows an overall good performance on the DIMACS benchmarks, but
strategy slower than DLS
BLS Benlic and Hao (2013) Breakout local search based on the legal Attains, except two large MANN instances, the best-known results for
strategy and adaptive perturbation the DIMACS and BHOSLIB benchmarks, but slower than DLS
SBTS Jin and Hao (2015) General (k, 1)-swap tabu search based on the Shows an overall good performance on the DIMACS and BHOSLIB
legal strategy and benchmarks

generate upper bounds and branching rules. Several heuristics are (Martí, Gallego, Duarte, & Pardo, 2013; Palubeckis, 2007), maxisum
also available to find sub-optimal solutions for the MVWCP: Aug- dispersion (Kuby, 1987), MAX-AVG dispersion (Ravi, Rosenkrantz, &
mentation algorithm (Mannino & Stefanutti, 1999), distributed com- Tayi, 1994), remote-clique (Chandra & Halldórsson, 2001), and maxi-
putational network algorithm (Bomze, Pelillo, & Stix, 2000), comple- mum edge-weighted subgraph (Macambira, 2003).
mentary pivoting algorithm (Massaro, Pelillo, & Bomze, 2001), hybrid Early exact methods for the MEWCP can be found in Dijkhuizen
evolutionary approach (Singh & Gupta, 2006b), adaptation to the and Faigle (1993) and Park, Lee, and Park (1996). Three more re-
weight version of the phased local search (Pullan, 2008) for the un- cent examples of B&B algorithms are provided in Aringhieri, Bruglieri,
weighted case, multi-neighborhood tabu search algorithm (Wu et al., and Cordone (2009); Martí, Gallego, and Duarte (2010) and Sørensen
2012) and breakout local search (Benlic & Hao, 2013). (2004) which can solve problems with up to 150 vertices. On the
other hand, there are many heuristics devoted to the MEWCP: Tabu
5.2. Maximum edge weight clique problem (MEWCP) search (Aringhieri & Cordone, 2011; Macambira, 2003), iterated tabu
search (Palubeckis, 2007), iterated greedy algorithm (Lozano, Molina,
Given an integer m and a complete graph G = (V, E), each edge & García-Martínez, 2011), greedy randomized adaptive search pro-
{i, j} ∈ E being associated with a weight dij . The MEWCP is to find a cedure (Andrade, de Andrade, Martins, & Plastino, 2005; Silva, De
clique C in G such that the sum of the weights of the edges in C is max- Andrade, Ochi, Martins, & Plastino, 2007), genetic algorithm (Feng,
imized and the number of vertices in C is no more than m. Like the Jiang, Fan, & Fu, 2010), variable neighborhood search (Brimberg,
MVWCP, the decision version of the MEWCP is NP-complete (Ausiello, Mladenović, Urošević, & Ngai, 2009), scatter search (Gallego, Duarte,
Crescenzi, Gambosi, Kann, Marchetti-Spaccamela, & Protasi, 1999), as Laguna, & Martí, 2009; Gortázar, Duarte, Laguna, & Martí, 2010),
far as it reduces to the maximum clique problem. The MEWCP or path-relinking method (Andrade et al., 2005) and memetic
its variants are also studied under other names: Maximum diversity search (Wang, Hao, Glover, & Lü, 2014; Wu & Hao, 2013).
704 Q. Wu, J. K. Hao / European Journal of Operational Research 242 (2015) 693–709

Comprehensive surveys and comparisons of the most significant 6. Benchmarks and performance evaluation
heuristic and metaheuristic methods for the MEWCP before 2011 can
be found in Aringhieri and Cordone (2011) and Martí et al. (2013). This section is devoted to performance evaluation of MCP algo-
rithms. First of all, one must keep in mind that performance evalua-
tion is a delicate task since many factors can affect such an assessment
5.3. Maximum quasi-clique problem
like the programming language and the data structures used to code
the algorithm, the computing plate-form, the experimental protocol
Given a graph G = (V, E) and a real number γ ∈ [0, 1], a γ -quasi-
(stop condition, parameter tuning...). Moreover, evaluation criteria
clique (γ -clique for short) is defined as a subset of vertices S ⊆ V such
may also become a delicate issue since a criterion suitable for an ex-
that the number of edges in the subgraph induced by S is at least
act algorithm may be unsuitable for a heuristic, and vice versa. Even
γ (|2S| ). Then the maximum γ -clique problem is to find a γ -clique of
for a given type of algorithms, several criteria would be possible. To
maximum cardinality in the given graph (Definition 1, see references
simplify the presentation and highlight some main trends, we focus
like Bourgeois, Giannakos, Lucarelli, Milis, Paschos, and Pottié 2012).
on two most popular indicators: the quality of solutions (main indi-
An alternate definition of a γ -quasi-clique can also be found in the
cator) and the computing time (secondary indicator). In any case, the
literature like Pei, Jiang, and Zhang (2005) and Zeng, Wang, Zhou,
comparisons presented in this section are only for indicative purposes
and Karypis (2007) where S ⊆ V is called a γ -quasi-clique if every
and should be interpreted with caution.
vertex in S has at least γ (|S| − 1) adjacent vertices in S. Obviously, this
definition is more restrictive than Definition 1 since S ⊆ V satisfying
6.1. Benchmarks
the minimum degree requirement is also a γ -quasi-clique according
to Definition 1. However, the converse is not necessarily true as a
For the purpose of computational assessment of MCP algorithms,
γ -quasi-clique by Definition 1 could include vertices which have less
there are two main benchmarks available in the literature. The
than γ (|S| − 1) adjacent vertices in S. A more general definition is
DIMACS benchmark is historically the most popular while the
provided in Brunato, Hoos, and Battiti (2008) where S ⊆ V is called a
BHOSLIB benchmark is more recent.
(λ, γ )-quasi-clique if the number of edges in the subgraph induced by
|S |
S is at least γ (2 ) and every vertex in S has at least λ(|S| − 1) adjacent 6.1.1. DIMACS benchmark
vertices in S. The maximum γ -clique problem is shown to be NP- The DIMACS benchmark set is created in the 1990’s for the sec-
complete in Patillo, Veremyev, Butenko, and Boginski (2013) for any ond DIMACS challenge on Clique, Satisfiability and Graph Coloring
fixed γ satisfying 0 < γ < 1. (Johnson & Trick, 1996).1 It is composed of 80 graphs and represents
Mathematical programming formulations, effective pruning tech- the standard set for evaluating MCP algorithms. The benchmark cov-
niques and exact methods are also proposed in the literature to solve ers a number of real-world problems from e.g., coding theory, fault di-
the problem exactly. Mixed-integer programming formulations for agnosis problems and Keller’s conjecture, etc., in addition to randomly
the maximum γ -clique problem are described in Patillo et al. (2013) generated graphs and graphs where the maximum clique is hidden by
and report preliminary results obtained with a modern commercial incorporating low-degree vertices. The size of the DIMACS instances
MIP solver. A B&B algorithm for the problem is recently developed in ranges from less than 50 vertices and 1000 edges up to more than
Pajouh, Miao, and Balasundaram (2014). There are several heuristics 3300 vertices and 5,000,000 edges. According to the results reported
available to find sub-optimal solutions in various application scenar- in the literature, among these 80 DIMACS instances, the maximum
ios. A heuristic algorithm (Matsuda, Ishihara, & Hashimoto, 1999) is clique is now known for most of them except for four graphs: three
developed to find large γ -cliques for classifying a large and mixed (large and dense) random graphs with at least 500 vertices (C500.9,
set of uncharacterized biological sequences. GRASP procedures are C1000.9, C2000.9) and 1 structured graph (johnson32_2_4).
studied in Abello, Resende, and Sudarsky (2002) for detecting large
quasi-cliques in graphs representing telecommunications data. Two
6.1.2. BHOSLIB benchmark
existing local search algorithms for the MCP are extended to the quasi-
The BHOSLIB benchmark set is composed of 40 graphs with hid-
clique problem (Brunato et al., 2008). A greedy algorithm for a quasi-
den optimal solutions (Xu, Boussemart, Hemery, & Lecoutre, 2007),2
clique finding problem is proposed within the context of studying
which are translated from hard random SAT instances generated at
the human protein–protein interaction networks (Bhattacharyya &
the exact phase transition of the RB model (Xu, Boussemart, Hemery,
Bandyopadhyay, 2009).
& Lecoutre, 2005). These instances have sizes ranging from 450 ver-
tices and 17,794 edges up to 1534 vertices and 12,7011 edges. These
5.4. Densest k-subgraph problem instances are supposed to be hard theoretically for exact algorithms
and only few exact algorithms (see for instance McCreesh and Prosser
Given a graph G = (V, E) and an integer k ≤ |V |, the densest 2013) report results on these instances. On the other hand, several re-
k-subgraph problem is to find a subgraph of k vertices with the largest cent heuristic algorithms can attain the known optimal solutions for
number of edges in the subgraph. Its edge weight version (called the these instances with no particular difficulty (Benlic & Hao, 2013; Cai,
heaviest k-subgraph problem) is to find a k-vertices induced subgraph Su, & Chen, 2010; Cai et al., 2011; Grosso, Locatelli & Pullan, 2008; Jin
with the maximum total edge weight. The densest k-subgraph prob- & Hao, 2015; Pullan et al., 2011; Richter et al., 2007; Wu et al., 2012).
lem is NP-hard in the general case (Feige, Kortsarz, & Peleg, 2001). In addition to these benchmarks, a set of instances from code
There are some solution approaches for the problem. For instance, theory (less used in the literature) is available at http://neilsloane.
several integer programming formulations are studied in Billionnet com/doc/graphs.html.
(2005). A B&C algorithm to solve the problem exactly is introduced
in Bourgeois, Giannakos, Lucarelli, Milis, and Paschos(2013) (2013).
6.2. Indicative performance evaluation
A variable neighborhood search algorithm is described in Brimberg
et al. (2009) for an edge weight version of the problem.
To compare different exact algorithms for the MCP, we summarize
Finally, there are some other interesting models related to the
in Table 3 the computational results of 10 recent exact algorithms on
MCP, such as the maximum k-plex problem (Balasundaram et al.,
2011), the maximum k-club problem (Bourjolly, Laporte, & Pesant,
2002) and the maximum/minimum edge neighborhood density clique 1
ftp://dimacs.rutgers.edu/pub/challenge/graph/.
problem (Martins, 2012). 2
http://www.nlsde.buaa.edu.cn/~kexu/benchmarks/graph-benchmarks.htm.
Q. Wu, J. K. Hao / European Journal of Operational Research 242 (2015) 693–709 705

Table 3
Performance comparison of 10 stat-of-art exact MCP algorithms on 35 popular DIMACS instances. Entries “–” signify that the data is unavailable. The average running time of each
algorithm is adjusted and expressed in seconds of the computer used in Li and Quan (2010). The compared algorithms are: χ + DF (Fahle, 2002), Cliquer (Östergård, 2002), CPR
(Régin, 2003), MaxCliqueDyn (Konc & Janežič, 2007), MCQ (Tomita & Seki, 2003), MCR (Tomita & Kameda, 2007), MCS (Tomita et al., 2010), MaxCLQ (Li & Quan, 2010), BBclique
(Segundo et al., 2011) and ILS&MaxCLQ (Maslov et al., 2014).

Instance χ + DF Cliquer CPR MaxCliqueDyn MCQ MCR MCS MaxCLQ BBclique ILS&MaxCLQ

brock200_1 52.83 6.37 4.60 0.96 1.79 1.13 – 0.67 0.43 11.05
brock400_1 – 22182.00 4867.00 703.50 1905.22 1137.00 521.05 370.84 433.44 428.70
brock400_2 – 5617.00 3395.00 309.00 787.49 465.10 223.30 178.70 182.08 214.83
brock400_3 – 1667.00 1922.00 565.00 1501.30 766.51 351.87 290.06 289.81 341.69
brock400_4 – 247.70 2597.00 320.40 772.52 409.43 186.466 167.30 172.57 160.34
brock800_1 – – – 8821.00 – 10712.00 7027.81 8815.00 7413.90 8649.49
brock800_2 – – – 8125.00 – 9679.00 6305.26 7690.00 6768.85 7575.36
brock800_3 – 26014.00 – 5565.00 11143.79 6546.00 4327.06 5285.00 4364.83 5008.19
brock800_4 – 6108.00 – 4240.00 8589.54 4561.00 3005.26 3880.00 3080.45 3800.02
MANN_a27 5891.03 – 7.93 3.10 4.52 1.98 0.60 0.66 0.47 3.07
MANN_a45 – – – 2006.00 3581.69 2931.00 211.27 255.67 209.13 58.28
hamming10-2 2.92 0.19 0.45 2.26 0.84 0.16 – 7.92 0.16 10.07
keller5 – – – 31038.00 – – – 9687.00 – 9227.09
p_hat300-3 487.73 496.60 17.47 4.91 20.01 7.45 1.87 2.07 1.65 18.38
p_hat500-2 116.03 134.60 14.03 1.53 4.29 2.12 0.52 0.90 0.52 70.48
p_hat500-3 – – 5470.00 349.40 3714.37 1256.00 112.78 55.95 109.88 115.49
p_hat700-1 1.50 0.09 2.58 0.14 0.11 0.07 – 0.80 0.06 251.86
p_hat700-2 1187.73 15417.00 109.80 12.60 57.18 30.19 4.21 4.87 4.71 135.83
p_hat700-3 – – – 6187.00 – – 1798.49 1033.00 2344.24 1402.21
p_hat1000-1 9.43 1.11 11.93 0.58 0.67 0.35 – 2.53 0.39 519.46
p_hat1000-2 – – 7230.00 412.90 3391.50 1656.00 166.16 146.54 234.98 474.47
p_hat1000-3 – – – – – – – 200760.00 – 228357.60
p_hat1500-1 68.39 8.01 206.40 4.31 5.48 2.97 – 15.85 3.81 1202.00
p_hat1500-2 – – – 61461.00 – – 12415.03 8848.00 – 14136.59
san1000 1732.54 0.08 44.12 0.74 7.43 3.35 1.57 1.46 0.75 794.33
san200_0.9_2 1099.05 13.36 1.12 0.79 3.60 2.92 0.30 0.10 0.16 3.44
san200_0.9_3 110.84 503.40 78.41 3.43 11.69 0.11 – 0.22 0.04 4.04
san400_0.7_1 242.45 – 9.99 0.52 1.85 1.09 0.40 0.21 0.30 44.10
san400_0.7_2 91.03 3081.00 28.98 0.20 1.17 0.21 0.09 0.09 0.12 56.21
san400_0.7_3 351.41 4.47 117.30 2.04 3.79 2.12 1.05 0.75 0.66 59.26
san400_0.9_1 4109.43 – 729.60 30.95 1377.77 2.50 0.07 1.97 0.20 10.90
sanr200_0.7 14.15 1.88 1.85 0.39 0.60 0.37 0.25 0.38 0.16 12.75
sanr200_0.9 – 46593.00 64.41 51.57 381.21 204.72 30.82 5.72 23.96 8.37
sanr400_0.5 13.20 0.97 7.35 0.74 0.87 0.52 – 1.73 0.37 85.49
sanr400_0.7 9065.09 2852.00 1347.00 177.80 394.05 237.26 136.09 141.48 115.15 198.61

the DIMACS benchmark. To be concise, we exclude the very easy in- coloring for both bounding and branching like MCQ (Tomita & Seki,
stances that are solved by most of the reviewed algorithms in less than 2003), MCR (Tomita & Kameda, 2007), MCS (Tomita et al., 2010), Max-
2 seconds and the 10 hard instances on which few exact algorithms CliqueDyn (Konc & Janežič, 2007) and BB-MaxClique (Segundo et al.,
reports their results (C500.9, C1000.9, C2000.5, C2000.9, C4000.5, 2011), and the MaxSAT based algorithms like MaxCLQ (Li & Quan,
MANN_a81, hamming10-4, johnson32-2-4, keller6, and p_hat1500- 2010). In Carmo and Züge (2012); Li and Quan (2010) and Tomita and
3). The results of Cliquer, CPR, MaxCliqueDyn, MCR and MaxCLQ Seki (2003), extensive comparisons are presented between the col-
are directly extracted from Li and Quan (2010), while the results of oring based algorithm MCQ and some other algorithms before MCQ,
χ + DF, MCS, BBclique and ILS&MaxCLQ are taken from the papers like Cliquer (Östergård, 2002) and χ + DF (Fahle, 2002), disclosing
describing these algorithms and the results of MCQ are obtained from that MCQ is superior on a wide range of DIMACS instances. Given
Konc and Janežič (2007). The running times shown in Table 3 are all that χ + DF uses coloring only for bounding, the comparative results
adjusted and expressed in seconds of the computer used in Li and between MCQ and χ + DF also indicate that it is better to use col-
Quan (2010) to run MaxCLQ. The method for adjusting the running oring as an aid for both branching and bounding than for bounding
times is as follows. If the original paper provides machine bench- only. MCR, MCS, MaxCliqueDyn and BB-MaxClique can be viewed as
marking information on running the DIMACS MCP Machine Bench- improved versions of MCQ by embedding more effective branching
mark program (ftp://dimacs.rutgers.edu in directory /pub/dsj/clique) rules. When comparing the MaxSAT based algorithms like MaxCLQ
on the three benchmark graphs r300.5, r400.5 and r500.5, then the and the coloring based algorithms like MCR, MCS and MaxCliqueDyn,
CPU time is transformed using the benchmark information. Other- one observes that MaxCLQ solves most of the large and dense DIMACS
wise, the CPU time is adjusted using the SPEC - Standard Perfor- instances faster than other coloring based algorithms while the re-
mance Evaluation Corporation (www.spec.org). To interpret the data verse is true for some small instances (Li & Quan, 2010; Maslov et al.,
in Table 3, we should keep in mind that the results are often obtained 2014).
under different time limits and the SPEC time conversion is not as Similarly, Table 4 summarizes the results of 21 heuristics on 9
precise as running the DIMACS Machine Benchmark program. representative DIMACS instances. These instances are selected since
Comparative studies of exact algorithms are available in a num- they are known to be hard for most existing MCP heuristic algorithms
ber of studies like Carmo and Züge (2012); Konc and Janežič (2007); and thus can be used to differentiate the compared heuristics. The
Li and Quan (2010); Östergård (2002); Prosser (2012); Régin (2003); results in terms of solution quality (i.e., best and average clique size)
Segundo et al. (2013, 2011); Tomita and Kameda (2007); Tomita and are directly extracted from the original papers while the average
Seki (2003) and Tomita et al. (2010). A summary of 10 most effec- CPU running times are adjusted and expressed in seconds of the
tive exact algorithms is provided in Table 3. From these results, one computer used by EWCC (Cai et al., 2011) using the same method as
finds that the most effective algorithms are those that use vertex for exact algorithms of Table 3. The solution quality (i.e., clique size)
706 Q. Wu, J. K. Hao / European Journal of Operational Research 242 (2015) 693–709

running time required by each algorithm is adjusted and expressed in seconds of the computer used in Cai et al. (2011). The compared algorithms are: RLS (Battiti & Protasi, 2001), GENE (Marchiori, 2002), DAGS (Grosso et al., 2004),
is the primary criterion while the computing times are provided for
VNS (Hansen et al., 2004), KLS (Katayama et al., 2005), EA/G (Zhang et al., 2005), QUALEX-MS (Busygin, 2006), DLS (Pullan & Hoos, 2006), PLS (Pullan, 2006), HSSGA (Singh & Gupta, 2006a), COVER (Richter et al., 2007), IEA-PTS (Guturu
Performance of 21 effective heuristics on the 9 hard DIMACS instances, entries of “–” signify that the data is not available. The average clique size is indicated in the brackets when a 100 percent success rate is not reached. The average

13.79
8.71
2739.11

172.17

5.89

0.91

58.96
546.31
6.39
14.67
446.67
17.90
17.08
24.26
286.89
43.05

39.67

3.76
45.40
indicative purposes.

Time
From Table 4 as well as the results reported by the original pa-
pers, one first observes that the newest heuristic SBTS (Jin & Hao,

59(57.75)
57(56.40)

57(55.59)

59(57.06)
Best (Avg) 2015) is the only method able to attain the best-known clique size for

55(51.8)

59(58.2)

56(53.4)

57(54.2)
keller6

59 these 9 graphs (in fact this remains true for all DIMACS and BHOSLIB

53
59

59

59
59
59
59
59
59
59
instances) while the other heuristics miss at least one best-known
result. Secondly, algorithms based on the vertex penalty mechanism
205.72
401.41

65.47
12.88

66.66
172.17
503.99

237.55
319.04

20.80
634.46
380.87
10.52

13.43
16.30
106.00
such as DLS (Pullan & Hoos, 2006), PLS (Pullan, 2006), CLS (Pullan et al.,
Time

2011) perform very well on the brock instances, but have troubles to


find an optimal (or best known) solution for the large MANN instances.
1098(1097.96)

1094(1092.17)
1100(1098.07)

1100(1098.11)
1099(1097.01)
1097(1096.3)

1100(1099.3)

1098(1097.2)

1095(1094.2)
On the other hand, algorithms designed for the vertex cover problem
MANN_a81
& Dantu, 2008), CLS (Pullan et al., 2011), EWCC (Cai et al., 2011), MN/TS (Wu et al., 2012), ILS (Andrade et al., 2012), AMTS (Wu & Hao, 2011), BLS (Benlic & Hao, 2013) and SBTS (Jin & Hao, 2015).

Best (Avg)

(EWLS (Cai et al., 2010), EWCC (Cai et al., 2011), COVER (Richter et al.,
1100(–)
1098

1096

1098

1098

1090
1100
1098

1100
2007)) and two other algorithms (VNS (Hansen et al., 2004) and KLS

(Katayama et al., 2005)) are able to reach the optimal (or best known)
28.98
19.56
426.95
1.51

30.84
3.78
13.12
84.27
8.22
2.02

9.43

54.56

66.77
15.40

3.15
698.50

16.30
solution for the two large MANN instances, but perform less well on
Time

some large brock graphs.



In light of the computational results of Table 4 as well as the
345(343.60)

344(343.95)

345(343.88)

345(344.41)
345(343.97)

345(344.94)

345(344.04)
342(340.82)
analysis in Cai et al. (2011); Jin and Hao (2015); Pullan and Hoos
MANN_a45

343(342.4)

345(344.5)

345(343.7)

343(342.6)

345(344.5)
Best (Avg)

(2006); Pullan (2006); Pullan et al. (2011); Richter et al. (2007); Wu


and Hao (2011), the dominant heuristics are DLS (Pullan & Hoos,
342
344
344

344

340

345

2006), PLS (Pullan, 2006), COVER (Richter et al., 2007), CLS (Pullan et
al., 2011), EWCC (Cai et al., 2011), AMTS (Wu & Hao, 2011), SBTS (Jin
158.65
1.95
717.55
310.71
7.76
23.46
521.11
45.76

260.27

86.96
47.01
19.97

104.21
13.63
738.91

1996.84
74.93
387.33
919.07

& Hao, 2015). As shown in Pullan and Hoos (2006), DLS dominates
Time

previous state-of-the-art heuristics KLS (Katayama et al., 2005), RLS


(Battiti & Protasi, 2001) and DAGS (Grosso et al., 2004) on several
18(17.50)

18(17.02)

18(17.66)
Best (Avg)

16(15.4)

17(16.1)

17(16.8)

18(17.1)

DIMACS instances. In Pullan (2006), PLS is compared directly with


C4000.5

DLS using the assessment criteria listed in Pullan and Hoos (2006),
18

18

17
18
18

18

18
18
18

18
18
18

showing a comparable or better performance than DLS for almost all


DIMACS instances. In Richter et al. (2007); Cai et al. (2011); Pullan
59.83
4.89
405.33
22.74

17.38
47.78
48.79
50.11
14.83
139.36
19.71
7.28
858.73
339.57
108.42
266.33
2846.84
896.78
4.80
Time

et al. (2011) and Wu and Hao (2011), EWCC, CLS, COVER and AMTS
are compared with DLS or PLS, showing that they are as competitive
as or even more efficient than DLS or PLS. Therefore, we can roughly
78(77.58)

78(77.93)

78(77.84)

79(78.56)
80(78.37)

80(78.95)
76(75.40)

77(74.90)

80(77.29)
Best (Avg)

72(68.2)

78(77.2)

77(76.9)

80(78.6)
72(70.9)

74(71.0)

79(76.4)
C2000.9

conclude that EWCC, SBTS, DLS, PLS, CLS, COVER and AMTS are among
the most effective heuristic algorithms currently available for the
72

78

78

MCP.
0.48
1.12
3.75
3.16
0.39
3.42

2.24

0.38

0.58
0.62
37.57
63.15

249.47
2.30

2.07

9.01
356.05
4.00
Time

7. Perspectives and conclusion



brock800_4

26(22.60)

21(20.67)

26(25.90)

Based on this review, we now take on the challenge of discussing


Best (Avg)

20(18.9)

21(19.9)

21(20.1)

26(21.4)

26(21.3)

some perspective research directions.


21

21

26
26
26

26
21
26

26
26

7.1. Improving exact methods


0.34
0.75
3.73
0.85
0.16
3.42

3.97

1.73
0.49
94.25
63.15
4.08
1.35

19.61
637.94
464.12
1.03
4.00
Time

From the perspective of exact solution of the MCP, we consider


brock800_2

two directions for further improvement. First, as shown in Section 3,


24(20.82)

21(20.86)

24(23.88)
24(21.06)

24(23.04)
24(22.29)
Best (Avg)

20(19.3)

21(20.1)

21(20.7)

the most popular exact algorithms use a (very simple) graph coloring
procedure to estimate their upper bounds. Since the quality of the
21

21

24
24
24

24
21

21
24

coloring impacts directly the quality of the bounds, it would be inter-


7.89
0.19
0.62
2.69

1.42
0.01

0.44

0.29
42.63
0.84

25.37
0.17
11.57
0.35
1.87
0.49
0.02
0.02

0.02

esting to investigate recent and more powerful coloring algorithms.


Time

At the same time, since the coloring procedure is repeatedly called as


brock400_4

a subroutine in the B&B process, a compromise between the coloring


33(32.42)
Best (Avg)

25(23.6)

33(25.1)

33(27.0)

33(30.3)

quality and the computing time needs to be reached.


33(–)

Second, it is possible to take advantages of both exact and heuris-


33
33
25

33
33
33

33
33
33
33

33
33
33

tic methods and combine these two approaches. For instance, before
the branch-and-bound routine starts, we could use a highly effective
0.27
0.62
4.17

1.42

374.52
0.81
3.06

0.04

0.67
0.12
0.12
0.14

11.57
0.69
10.29
11.97
1.08
0.08
Time

local search procedure to obtain some high quality initial solutions,


which could be served then as lower bounds of the main B&B algo-
brock400_2

29(26.06)

29(28.10)

25(24.84)

29(27.52)

29(25.48)
Best (Avg)

rithm. Such a combination was very recently investigated in Maslov


24(22.5)

29(27.4)

25(24.7)

29(25.1)
28(–)

et al. (2014) and proves to be effective. In addition to this loose combi-


29
29
29

29

29
25
29
29
29

nation, we can consider more subtle cooperation between these two


search methods. For instance, during the B&B process, for each active
QUALEX-MS

node of the search tree, one can call a (fast) local search procedure
Instance

IEA-PTS
HSSGA
COVER

MN/TS
EWCC
Table 4

which determines a best possible path from the current node to the
AMTS
DAGS
GENE

EA/G

SBTS
VNS

DLS
KLS
RLS

BLS
CLS
PLS

ILS

leaf of the search tree, leading thus to a hopefully good lower bound
of the maximum clique.
Q. Wu, J. K. Hao / European Journal of Operational Research 242 (2015) 693–709 707

Other ways of integrating heuristics with exact methods can also problems and their applications, it is reasonable to believe that re-
be considered. For instance, information from high quality solutions search in these domains will become even more intense and fruitful
found in several runs of a heuristic can be used to define smaller in the forthcoming years.
problems solvable by an exact algorithm. This is motivated by the
observation that many optimization problems show some type of
“backbone" structure in the sense that high quality solutions share Acknowledgments
a number of solution components with optimal solutions. We could
use an effective local search method to collect some high quality We are grateful to the anonymous referees for valuable sugges-
solutions, then fix the vertices which are shared by all these high tions and comments which helped us to improve the paper. This
quality solutions. By excluding the vertices which are adjacent to work is partially supported by the RaDaPop (2009–2013) and LigeRO
all these preserved vertices shared by the high quality solutions, we projects (2009–2013) from the Region of Pays de la Loire, France,
obtain a subproblem which may be small enough to be solved by exact and the National Natural Science Foundation of China [grant nos.
algorithms. Notice that such an approach does not always guarantee 71332001, 71401059].
the completeness of the search.
References
7.2. Improving heuristic methods
Abello, J., Resende, M. G. C., & Sudarsky, S. (2002). Massive quasi-clique detection.
As shown in Section 4.2, local search is the most popular and glob- Lecture Notes in Computer Science, 2286, 598–612.
ally the most effective heuristic approach for the clique problems. Andrade, D. V., Resende, M. G. C., & Werneck, R. F. (2012). Fast local search for the
maximum independent set problem. Journal of Heuristics, 18(4), 525–547.
However, if we examine the existing local search algorithms on an Aringhieri, R., Bruglieri, M., & Cordone, R. (2009). Optimal results and tight bounds for
individual base, we observe that very few single algorithm dominates the maximum diversity problem. Foundations of Computing and Decision Sciences,
all the other algorithms. This happens because when the search op- 34(2), 73–86.
Aringhieri, R., & Cordone, R. (2011). Comparing local search metaheuristics for the
erators used in an algorithm are suitable to explore the structures of maximum diversity problem. Journal of the Operational Research Society, 62(2),
some graphs, these same operators may fail to handle other graphs 266–280.
with quite different structures. One possible way to mitigate this defi- Ausiello, G., Crescenzi, P., Gambosi, G., Kann, V., Marchetti-Spaccamela, A., & Protasi,
M. (1999). Complexity and approximation: Combinatorial optimization problems and
ciency would be to incorporate multiple search operators or strategies their approximability properties. Berlin: Springer.
within a single algorithm and equip the algorithm with a capacity to Babel, L., & Tinhofer, G. (1990). A branch and bound algorithm for the maximum clique
dynamically decide the most suitable operators to trigger during the problem. Methods and Models of Operations Research, 34(3), 207–217.
Balasundaram, B., & Butenko, S. (2006). Graph domination, coloring and cliques in
search process. Moreover, it would also be interesting to explore a
telecommunications. In Handbook of optimization in telecommunications (pp. 865–
portfolio approach using several algorithms. 890). USA: Springer.
From the population-based search perspective, as discussed in Balasundaram, B., Butenko, S., & Hicks, I. V. (2011). Clique relaxations in social network
Section 4.3, the most effective algorithms of this family for the MCP analysis: The maximum k-plex problem. Operations Research, 59(1): 133–142.
Ballard, D., & Brown, C. (1982). Computer vision. Englewood Cliffs: Prentice-Hall.
are memetic methods which combine the genetic search framework Barahona, F., Weintraub, A., & Epstein, R. (1992). Habitat dispersion in forest planning
and local search. Unfortunately, these complex hybrid methods are and the stable set problem. Operations Research, 40(1), 14–21.
often surpassed by simpler local search heuristics for the MCP. One Battiti, R., & Protasi, M. (2001). Reactive local search for the maximum clique problem.
Algorithmica 29(4), 610–637.
reason is that the recombination (crossover) operators used in these Battiti, R., & Mascia, F. (2010). Reactive and dynamic local search for the Max-Clique
algorithms are not really meaningful with respect to the clique prob- problem: Engineering effective building blocks. Computers & Operations Research,
lem. On the other hand, it is now well acknowledged that with the 37(3), 534–542.
Benlic, U., & Hao, J. K. (2013). Breakout local search for maximum clique problems.
memetic framework, a carefully designed recombination operator, Computers & Operations Research, 40(1), 192–206.
i.e., able to recombine the “building blocks" of the given problem, con- Bhattacharyya, M., & Bandyopadhyay, S. (2009) Mining the largest quasi-clique in hu-
stitutes a key factor for the effectiveness of the algorithm (Hao, 2012). man protein interactome. In Proceedings of IEEE international conference on artificial
intelligence systems (pp. 194–199). Los Alamitos, CA, USA: IEEE Computer Society.
Consequently, an interesting perspective to boost the performance of Billionnet, A. (2005). Different formulations for solving the heaviest k-subgraph prob-
population-based search is to devise dedicated recombination oper- lem. Information Systems and Operational Research, 43(3), 171–186.
ators. For this purpose, it is necessary to obtain a deep understanding Boginski, V., Butenko, S., & Pardalos, P. M. (2006). Mining market data: A network
approach. Computers & Operations Research, 33(11), 3171–3184.
of the properties and structures of the solutions in order to identify
Bomze, I. M., Budinich, M., Pardalos, P. M., & Pelillo, M. (1999). The maximum clique
meaningful building blocks. Dedicated recombination operators can problem. In Handbook of combinatorial optimization (pp. 1–74). USA: Springer.
then be designed which can generate new promising solutions by Bomze, I. M., Pelillo, M., & Stix, V. (2000). Approximating the maximum weight clique
blending properly existing solutions. Such an recombination opera- using replicator dynamics. IEEE Transactions on Neural Networks, 11(6), 1228–1241.
Bourgeoisa, N., Escoffiera, B., & Paschosa, V. T. (2011). Approximation of max inde-
tor will allow the memetic algorithm to make a difference when it is pendent set, min vertex cover and related problems by moderately exponential
combined with a powerful local search procedure. algorithms. Discrete Applied Mathematics, 159(17), 1954–1970.
Finally, exact methods could be used to help the heuristics to visit Bourgeois, N., Giannakos, A., Lucarelli, G., Milis, I., Paschos, V.Th., & Pottié, O. (2012). The
max quasi-independent set problem. Journal of Combinatorial Optimization, 23(1),
promising regions of the search space. For instance, as the maxi- 94–117.
mum clique problem can be formulated as an integer programming Bourgeois, N., Giannakos, A., Lucarelli, G., Milis, I., & Paschos, V.Th. (2013). Exact and
problem, its LP relaxation can be solved easily by any LP solver. The approximation algorithms for densest k-subgraph. Lecture Notes in Computer Science,
7748, 114–125.
resulting LP optimal solution could be a sources of useful informa- Bourjolly, J. M., Laporte, G., & Pesant, G. (2002). An exact algorithm for the maximum
tion. One possibility would be to fix some variables according to the k-club problem in an undirected graph. European Journal of Operational Research,
LP optimum and exclude them from the search space examined by 138, 21–28.
Brélaz, D. (1979). New methods to color the vertices of a graph. Communications of the
the heuristic method. Such a strategy helps the heuristic method to ACM, 22(4), 251–256.
intensify its search within more focuses areas. Brimberg, J., Mladenović, N., Urošević, D., & Ngai, E. (2009). Variable neighborhood
To conclude, the maximum clique problem and its generalized and search for the heaviest k-subgraph. Computers & Operations Research, 36(11),
2885–2891.
relaxed variants are generic models which find more and more appli-
Brotcorne, L., Laporte, G., & Semet, F. (2002). Fast heuristic for large scale covering
cations in numerous domains. Advances in exact and heuristic meth- location problems. Computers & Operations Research, 29(6), 651–665.
ods for these clique problems will help to find satisfying solutions Brunato, M., Hoos, H., & Battiti, R. (2008). On effectively finding maximal quasi-cliques
to many practical problems. On the other hand, studies of challeng- in graphs. Lecture Notes in Computer Science, 5313, 41–55.
Burke, E., Hart, E., Kendall, G., Newall, J., Ross, P., & Schulenburg, S. (2003). Hyper-
ing real-world problems will encourage the development of more heuristics: An emerging direction in modern search technology. In F. Glover (Ed.),
effective solution methods. Given the increasing interest in clique Handbook of meta-heuristics (pp. 457–474). Kluwer Academic.
708 Q. Wu, J. K. Hao / European Journal of Operational Research 242 (2015) 693–709

Burer, S., Monteiro, R. D. C., & Zhang, Y. (2002). Maximum stable set formulations Guturu, P., & Dantu, R. (2008). An impatient evolutionary algorithm with probabilistic
and heuristics based on continuous optimization. Mathematical Programming, 94(1), tabu search for unified solution of some NP-Hard problems in graph and set theory
137–166. via clique finding. IEEE Transactions on Systems, Man, and Cybernetics, Part B, 38(3),
Busygin, S. (2006). A new trust region technique for the maximum weight clique prob- 645–666.
lem. Discrete Applied Mathematics, 154(15), 2080–2096. Hansen, P., Mladenović, N., & Uroševié, D. (2004). Variable neighborhood search for the
Butenko, S. (2003). Maximum independent set and related problems, with applications maximum clique. Discrete Applied Mathematics, 145(1), 117–125.
(PhD thesis). USA: University of Florida. Hao, J. K.. (2012). Memetic algorithms in discrete optimization. In F. Neri, C. Cotta, & P.
Cai, S., Su, K., & Chen, Q. (2010). EWLS: A new local search for minimum vertex cover. Moscato (Eds.), Handbook of memetic algorithms. Studies in computational intelligence
In Proceedings of of AAAI-10 (pp. 45–50). (Vol. 379, Chap. 6, pp. 73–94).
Cai, S., Su, K., & Sattar, A. (2011). Local search with edge weighting and configura- Håstad, J. (1999). Clique is hard to approximate within n1−ε . Acta Mathematica, 182(1),
tion checking heuristics for minimum vertex cover. Artificial Intelligence, 175(9–10), 105–142.
1672–1696. Jagota, A., & Sanchis, L. A. (2001). Adaptive, restart, randomized greedy heuristics for
Carmo, R., & Züge, A. (2012). Branch and bound algorithms for the maximum clique maximum clique. Journal of Heuristics, 7(6), 565–585.
problem under a unified framework. Journal of the Brazilian Computer Society, 18(2), Jain, K., Padhye, J., Padmanabhan, V. N., & Qiu, L. (2005). Impact of interfer-
137–151. ence on multi-hop wireless network performance. Wireless Networks, 11(4),
Carraghan, R., & Pardalos, P. M. (1990). An exact algorithm for the maximum clique 471–487.
problem. Operations Research Letters, 9(6), 375–382. Jin, Y., & Hao, J. K. (2015). General swap-based multiple neighborhood tabu search for
Carter, M. W., & Johnson, D. G. (2001). Extended clique initialisation in examination finding maximum independent set. Engineering Application of Artificial Intelligence,
timetabling. Journal of Operational Research Society, 52(5), 538–544. 37, 20–33.
Carter, M. W., Laporte, G., & Lee, S. Y. (1996). Examination timetabling: Algorith- Johnson, D. S., & Trick, M. A. (1996). Cliques, coloring, and satisfiability: Second DI-
mic strategies and applications. Journal of Operational Research Society, 47(3), MACS implementation challenge. Vol 26: DIMACS series in discrete mathematics and
373–383. theoretical computer science. Providence, RI: AMS.
Carter, R., & Park, K.. (1993). How good are genetic algorithms at finding large cliques: Karp, R. M. (1972). Reducibility among combinatorial problems. In R. E. Miller, J.
An experimental study (Technical report BU-CS-93-015). Department of Computer W. Thatcher (Eds.), Complexity of computer computations (pp. 85–103). New York:
Science, Boston University. Plenum Press.
Chams, M., Hertz, A., & de Werra, D. (1987). Some experiments with simulated Katayama, K., Hamamoto, A., & Narihisa, H. (2005). An effective local search for the
annealing for coloring graphs. European Journal of Operational Research, 32(2), maximum clique problem. Information Processing Letters, 95(5), 503–511.
260–266. Khot, S. (2001). Improved inapproximability results for maxclique, chromatic number
Chalermsook, P., Laekhanukit, B., & Nanongkai, D. (2013). Independent set, induced and approximate graph coloring. In Proceedings of the 42nd IEEE annual symposium
matching, and pricing: Connections and tight (subexponential time) approximation on foundations of computer science (pp. 600–609).
hardnesses. In Proceedings of the 54th annual symposium on foundations of computer Konc, J. & Janežič, D. (2007). An improved branch and bound algorithm for the max-
science (pp. 370–379). imum clique problem. MATCH – Communications in Mathematical and in Computer
Chandra, B., & Halldórsson, M. M. (2001). Approximation algorithms for dispersion Chemistry, 58, 569–590.
problems. Journal of Algorithms, 38(2), 438–465. Kumlander, D. (2004). A new exact algorithm for the maximum-weight clique problem
Chen, F., Zhai, H., & Fang, Y. (2010). Available bandwidth in multirate and multihop based on a heuristic vertex-coloring and a backtrack search. In Proceedings of the
wireless ad hoc networks. IEEE Journal on Selected Areas in Communications, 28(3), fourth international conference on engineering computational technology (pp. 202–
299–307. 208). Civil-Comp Press.
Chitnis, R., Hajiaghayi, M. T., & Kortsarz, G. (2013). Fixed-parameter and approximation Kumlander, D. (2005). Problems of optimization: An exact algorithm for finding a
algorithms: A new look. Lecture Notes in Computer Science, 8246, 110–122. maximum clique optimized for dense graphs. Proceedings of the Estonian Academy
Christofides, N. (1975). Graph theory, an algorithmic approach. London: Academic Press. of Sciences, 54(2), 79–86.
Croce, F. D., Grosso, A., & Locatelli, M. (2009). A heuristic approach for the max-min Kuby, M. J. (1987). Programming models for facility dispersion: The p-dispersion and
diversity problem based on max-clique. Computers & Operations Research, 36(8), maxisum dispersion problems. Geographical Analysis, 19(4), 315–329.
2429–2433. Li, C., & Quan, Z. (2010). An efficient branch-and-bound algorithm based on MaxSAT for
de Andrade, M. R. Q., de Andrade, P. M. F., Martins, S. L., & Plastino, A. (2005). GRASP the maximum clique problem. In Proceedings of the 24th AAAI conference on artificial
with path-relinking for the maximum diversity problem. Lecture Notes in Computer intelligence (pp. 128–133).
Science, 3503, 558–569. Lozano, M., Molina, D., & García-Martínez, C. (2011). Iterated greedy for the maximum
Dijkhuizen, G., & Faigle, U. (1993). A cutting-plane approach to the edge- diversity problem. European Journal of Operational Research, 214(1), 31–38.
weighted maximal clique problem. European Journal of Operational Research, 69(1), Malod-Dognin, N., Andonov, R., & Yanev, N. (2010). Maximum cliques in protein struc-
121–130. ture comparison. Lecture Notes in Computer Science, 6049, 106–117.
Dorndorf, U., Jaehn, F., & Pesch, E. (2008). Modelling robust flight gate scheduling as a Macambira, E. M. (2003). An application of tabu search heuristic for the maximum edge
clique partitioning problem. Transportation Science, 42(3), 292–301. weighted subgraph problem. Annals of Operational Research, 117(1–4), 175–190.
Engebretsen, L., & Holmerin, J. (2003). Towards optimal lower bounds for clique and Mannino, C., & Sassano, A. (1996). Edge projection and the maximum cardinality stable
chromatic number. Theoretical Computer Science, 299(1–3), 537–584. set problem. In DIMACS series in discrete mathematics and theoretical computer science
Etzion, T., & Östergård, P. R. J. (1998). Greedy and heuristic algorithms for codes and (Vol. 26, pp. 249–261). New York: AMS.
colorings. IEEE Transactions on Information Theory, 44(1), 382–388. Mannino, C., & Stefanutti, E. (1999). An augmentation algorithm for the maximum
Fahle, T. (2002). Simple and fast: Improving a branch-and-bound algorithm for maxi- weighted stable set problem. Computational Optimization and Applications, 14(3),
mum clique. Lecture Notes in Computer Science, 2461, 485–498. 367–381.
Feige, U. (2004). Approximating maximum clique by removing subgraphs. SIAM Journal Marchiori, E. (2002). Genetic, iterated and multistart local search for the maximum
on Discrete Mathematics, 18(2), 219–225. clique problem. Lecture Notes in Computer Science, 2279, 112–121.
Feige, U., Peleg, D., & Kortsarz, G. (2001). The dense k-subgraph problem. Algorithmica, Martí, R., Gallego, M., & Duarte, A. (2010). A branch and bound algorithm for the
29(3), 410–421. maximum diversity problem. European Journal of Operational Research, 200(1),
Feng, B., Jiang, Z. Z., Fan, Z. P., & Fu, N. (2010). A method for member selection of cross- 36–44.
functional teams using the individual and collaborative performances. European Martí, R., Gallego, M., Duarte, A., & Pardo, E. G. (2013). Heuristics and metaheuristics
Journal of Operational Research, 203(3), 652–661. for the maximum diversity problem. Journal of Heuristics, 19(4), 591–615.
Fleurent, C., & Ferland, J. A. (1996a). Object-oriented implementation of heuristic search Martins, P. (2011). Extended and discretized formulations for the maximum clique
methods for graph coloring, maximum clique, and satisfiability. In Johnson & Trick problem. Computers and Operations Research, 37(7), 1348–1358.
(1996) (pp. 619–652). Martins, P. (2012). Cliques with maximum/minimum edge neighborhood and neigh-
Fleurent, C., & Ferland, J. A. (1996b). Genetic and hybrid algorithms for graph coloring. borhood density. Computers & Operations Research, 39(3), 594–608.
Annals of Operations Research, 63(3), 437–461. Maslov, E., Batsyn, M., & Pardalos, P. M. (2013). Speeding up branch and bound al-
Friden, C., Hertz, A., & de Werra, D. (1989). Stabulus: A technique for finding stable sets gorithms for solving the maximum clique problem. Journal of Global Optimization,
in large graphs with tabu search. Computing, 42(1), 35–44. 59(1), 1–21.
Gallego, M., Duarte, A., Laguna, M., & Martí, R. (2009). Hybrid heuristics for the Massaro, A., Pelillo, M., & Bomze, I. M. (2001). A complementary pivoting approach
maximum diversity problem. Computational Optimization and Applications, 44(3), to the maximum weight clique problem. SIAM Journal on Optimization, 12(4),
411–426. 928–948.
Gendreau, M., Soriano, P., & Salvail, L. (1993). Solving the maximum clique problem Matsuda, H., Ishihara, T., & Hashimoto, A. (1999). Classifying molecular sequences using
using a tabu search approach. Annals of Operations Research, 41(4), 385–403. a linkage graph with their pairwise similarities. Theoretical Computer Science, 210(2),
Gortázar, F., Duarte, A., Laguna, M., & Martí, R. (2010). Black box scatter search for 305–325.
general classes of binary optimization problems. Computers & Operations Research, McCreesh, C., & Prosser, P. (2013). Multi-threading a state-of-the-art maximum clique
37(11), 1977–1986. algorithm. Algorithms, 6(4), 618–635.
Grosso, A., Locatelli, M., & Croce, F. D. (2004). Combining swaps and node weights in an Motzkin, T. S., & Straus, E. G. (1965). Maxima for graphs and a new proof of a theorem
adaptive greedy approach for the maximum clique problem. Journal of Heuristics, of Turán. Canadian Journal of Mathematics, 17, 533–540.
10(2), 135–152. Nemhauser, G. L., & Trotter, L. E. (1975). Vertex packing: Structural properties and
Grosso, A., Locatelli, M., & Pullan, W. (2008). Simple ingredients leading to very ef- algorithms. Mathematical Programming, 8, 232–248.
ficient heuristics for the maximum clique problem. Journal of Heuristics, 14(6), Östergård, P. R. J. (1999). A new algorithm for the maximum-weight clique problem.
587–612. Electronic Notes in Discrete Mathematics, 3, 153–156.
Q. Wu, J. K. Hao / European Journal of Operational Research 242 (2015) 693–709 709

Östergård, P. R. J. (2002). A fast algorithm for the maximum clique problem. Discrete Singh, A., & Gupta, A. K. (2006a). A hybrid heuristic for the maximum clique problem.
Applied Mathematics, 120(1), 197–207. Journal of Heuristics, 12(1–2), 5–22.
Pajouh, F. M., Miao, Z., & Balasundaram, B. (2014). A branch-and-bound approach for Singh, A., & Gupta, A. K. (2006b). A hybrid evolutionary approach to maximum weight
maximum quasi-cliques. Annals of Operations Research, 216(1), 145–161. clique problem. International Journal of Computational Intelligence Research, 2(4),
Palubeckis, G. (2007). Iterated tabu search for the maximum diversity problem. Applied 349–355.
Mathematics and Computation, 189(1), 371–383. Solnon, C., & Fenet, S. (2006). A study of aco capabilities for solving the maximum clique
Pardalos, P. M., & Xue, J. (1994). The maximum clique problem. Journal of Global Opti- problem. Journal of Heuristics, 12(3), 158–180.
mization, 4(3), 301–328. Sørensen, M. M. (2004). New facets and a branch-and-cut algorithm for the weighted
Park, K., Lee, K., & Park, S. (1996). An extended formulation approach to the edge- clique problem. European Journal of Operational Research, 154(1), 57–70.
weighted maximal clique problem. European Journal of Operational Research, 95(3), Tomita, E., & Seki, T. (2003). An efficient branch-and-bound algorithm for finding a
671–682. maximum clique. Lecture Notes in Computer Science, 2731, 278–289.
Patillo, J., Veremyev, A., Butenko, S., & Boginski, V. (2013). On the maximum quasi-clique Tomita, E., & Kameda, T. (2007). An efficient branch-and-bound algorithm for finding
problem. Discrete Applied Mathematics, 161(1–2), 244–257. a maximum clique with computational experiments. Journal of Global Optimization,
Pattillo, J., Youssef, N., & Butenko, S. (2012). Clique relaxation models in social network 37(1), 95–111.
analysis. In M. T. Thai, & P. M. Pardalos (Eds.), Handbook of optimization in complex Tomita, E., Sutani, Y., Higashi, T., Takahashi, S., & Wakatsuki, M. (2010). A simple and
networks: Theory and applications. Springer optimization and its applications (Vol. faster branch-and-bound algorithm for finding a maximum clique. Lecture Notes in
58, pp. 143–162). Computer Science, 5942, 191–203.
Pei, J., Jiang, D., & Zhang, A. (2005). On mining cross-graph quasi-cliques. In Proceedings Wang, H., Alidaee, B., Glover, F. & Kochenberger, G. (2006). Solving group technol-
of the 11th ACM SIGKDD international conference on knowledge discovery in data ogy problem via clique partitioning. International Journal of Flexible Manufacturing
mining (pp. 228–238). Systems, 18(2), 77–97.
Prosser, P. (2012). Exact algorithms for maximum clique: A computational study. Algo- Wang, Y., Hao, J. K., Glover, F., & Lü, Z. P. (2014). A tabu search based memetic algorithm
rithms, 5(4), 545–587. for the maximum diversity problem. Engineering Applications of Artificial Intelligence,
Pullan, W. (2006). Phased local search for the maximum clique problem. Journal of 27, 103–114.
Combinatorial Optimization, 12(3), 303–323. Warren, J. S., & Hicks, I. V. (2006). Combinatorial branch-and-bound for the maximum
Pullan, W., & Hoos, H. H. (2006). Dynamic local search for the maximum clique problem. weight independent set problem (Technical report). Texas A&M University.
Journal of Artificial Intelligence Research, 25, 159–185. Weide, O., Ryan, D., & Ehrgott, M. (2010). An iterative approach to robust and inte-
Pullan, W. (2008). Approximating the maximum vertex/edge weighted clique using grated aircraft routing and crew scheduling. Computers & Operations Research, 37(5),
local search. Journal of Heuristics, 14(2), 117–134. 833–844.
Pullan, W., Mascia, F., & Brunato, M. (2011). Cooperating local search for the maximum Wu, Q., & Hao, J. K. (2011). An adaptive multistart tabu search approach to solve the
clique problem. Journal of Heuristics, 17(2), 181–199. maximum clique problem. Journal of Combinatorial Optimization, 26(1), 86–108.
Ravetti, M. G., & Moscato, P. (2008). Identification of a 5-protein biomarker molecular Wu, Q., & Hao, J. K. (2012a). Coloring large graphs based on independent set extraction.
signature for predicting Alzheimer’s disease. PLoS One, 3(9), e3111. Computers & Operations Research, 39(2), 283–290.
Ravi, S. S., Rosenkrantz, D. J., & Tayi, G. K. (1994). Heuristic and special case algorithms Wu, Q., & Hao, J. K. (2012b). An effective heuristic algorithm for sum coloring of graphs.
for dispersion problems. Operations Research, 42(2), 299–310. Computers & Operations Research, 39(7), 1593–1600.
Rebennack, S., Oswald, M., Theis, D. O., Seitz, H., Reinelt, G., & Pardalos, P. M. (2011). A Wu, Q., Hao, J. K. & Glover, F. (2012). Multi-neighborhood tabu search for the maximum
branch and cut solver for the maximum stable set problem. Journal of Combinatorial weight clique problem. Annals of Operations Research, 196(1), 611–634.
Optimization, 21(4), 434–457. Wu, Q., & Hao, J. K. (2013). A hybrid metaheuristic method for the maximum diversity
Rebennack, S., Reineltb, G., & Pardalos, P. M. (2012). A tutorial on branch and cut algo- problem. European Journal of Operational Research, 231(2), 452–464.
rithms for the maximum stable set problem. International Transactions in Operational Wu, Q., & Hao, J. K. (2015). Solving the winner determination problem via a weighted
Research, 19(1–2), 161–199. maximum clique heuristic. Expert Systems with Applications, 42(1), 355–365.
Régin, J. C. (2003). Solving the maximum clique problem with constraint programming. Xiang, J., Guo, C., & Aboulnaga, A. (2013). Scalable maximum clique computation using
Lecture Notes in Computer Science, 2833, 634–648. MapReduce. In IEEE 29th international conference on data engineering (pp. 74–85).
Richter, S., Helmert, M., & Gretton, C. (2007). A stochastic local search approach to Xu, K., Boussemart, F., Hemery, F., & Lecoutre, C. (2005). A simple model to generate hard
vertex cover. In Proceedings of the 30th German conference on artificial intelligence satisfiable instances. In Proceedings of the nineteenth international joint conference
(pp. 412–426). on artificial intelligence (IJCAI-05) (pp. 337–342).
Rossi, F., & Smriglio, S. (2001). A branch-and-cut algorithm for the maximum cardinality Xu, K., Boussemart, F., Hemery, F., & Lecoutre, C. (2007). Random constraint satisfac-
stable set problem. Operations Research Letters, 28(2), 63–74. tion: Easy generation of hard (satisfiable) instances. Artificial intelligence, 171(8–9),
Schaeffer, S. E. (2007). Graph clustering. Computer Science Review, 1(1), 27–64. 514–534.
Segundo, P. S., Matia, F., Rodriguez-Losada, D., & Hernando, M. (2013). An improved bit Yang, G., Yi, J., Zhang, Z., & Tang, Z. (2009). A TCNN filter algorithm to maximum clique
parallel exact maximum clique algorithm. Optimization Letters, 7(3), 467–479. problem. Neurocomputing, 72(4–6), 1312–1318.
Segundo, P. S., Rodríguez-Losada, D., & Jiménez, A. (2011). An exact bit-parallel algo- Zeng, Z., Wang, J., Zhou, L., & Karypis, G. (2007). Out-of-core coherent closed quasi-
rithm for the maximum clique problem. Computers & Operations Research, 38(2), clique mining from large dense graph databases. ACM Transactions on Database
571–581. System, 32(2): Article 13.
Shoham, Y., Cramton, P., & Steinberg, R. (2006). Combinatorial auctions. MIT Press. Zhang, Q., Sun, J., & Tsang, E. (2005). An evolutionary algorithm with guided mutation
Shor, N. Z. (1990). Dual quadratic estimates in polynomial and Boolean programming. for the maximum clique problem. IEEE Transactions on Evolutionary Computation,
Annals of Operations Research, 25(1), 163–168. 9(2), 192–200.
Silva, G. C., De Andrade, M. R. Q., Ochi, L. S., Martins, S. L., & Plastino, A. (2007). Zuckerman, D. (2006). Linear degree extractors and the inapproximability of max clique
New heuristics for the maximum diversity problem. Journal of Heuristics, 13(4), and chromatic number. In Proceedings of the 38th ACM symposium on theory of
315–336. computing (pp. 681–690).

You might also like