an augmentation algorithm for the maximum weighted stable set problem

15
Computational Optimization and Applications, 14, 367–381 (1999) c 1999 Kluwer Academic Publishers. Manufactured in The Netherlands. An Augmentation Algorithm for the Maximum Weighted Stable Set Problem CARLO MANNINO [email protected] EGIDIO STEFANUTTI Dipartimento di Informatica e Sistemistica, Universit ` a di Roma La Sapienza, Via Buonarroti 12, 00185 Roma Received October 2, 1996; Accepted July 6, 1998 Abstract. Edge projection is a specialization of Lov´ asz and Plummer’s clique reduction when restricted to edges. A concept of augmenting sequences of edge-projections is defined w.r.t. a stable set S. It is then proved the equivalence between the optimality of S and the existence of an augmenting sequence w.r.t. S. This result is then exploited to develop a new tabu-search heuristic for the Maximum Stable Set Problem (weighted and unweighted). The resulting code proved to be competitive with the best codes presented in the literature. Keywords: stable set 1. Introduction We denote by G = (V , E ) an undirected graph. V is the set of nodes and E the set of edges. A stable set is a subset of V such that no two nodes of the subset are pairwise adjacent. The cardinality of a maximum stable set of G will be denoted by α(G). When G is the empty graph, α(G) = 0. A stable set S of G is said to be maximal in G, if there does not exist a node v V , v/ S, such that {v}∪ S is stable. A clique is a subset of V with the property that all the nodes are pairwise adjacent. The neighborhood N G (v) of v V is the set of all nodes adjacent to v in G. When no confusion arises, we simply denote N G (v) by N (v). By deg G (v) (deg(v)) we denote the cardinality of the neighborhood of v in G. Let W V . By N G (W ) ( N (W )) we denote the set of nodes {u V - W : u N G (v), v W }. The subgraph induced by W in G is denoted by G[W ], while by G - W we denote the graph G[V - W ] (if W ={v} we simply write G - v). Analogously, if F E , we denote by G - F the graph obtained from G by removing all the edges in F (if F ={e}, we write G - e). The set of edges having at least one endpoint in the set of nodes W V will be denoted by δ[W ]. The complement ¯ G = ( ¯ V , ¯ E ) of G = (V , E ) is a graph such that ¯ V = V and e ¯ E iff e / E . The density of a graph G = (V , E ) is given by the ratio 2| E | |V | 2 -|V | , i.e. the number of edges of G over the number of edges in the complete graph with |V | nodes. A weighted undirected graph G = (V , E ,w) is an undirected graph G along with a vector w Z |V | + of positive integers. The i -th component of w, denoted by w i , is associated with the i -th node v i of V ; w i is called the weight of v i , also denoted by w(v i ). The weight of a subset of the nodes W V , denoted by w(W ), is the sum of the weights of the elements of W .

Upload: carlo-mannino

Post on 06-Aug-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Computational Optimization and Applications, 14, 367–381 (1999)c© 1999 Kluwer Academic Publishers. Manufactured in The Netherlands.

An Augmentation Algorithm for the MaximumWeighted Stable Set Problem

CARLO MANNINO [email protected] STEFANUTTIDipartimento di Informatica e Sistemistica, Universita di Roma La Sapienza, Via Buonarroti 12, 00185 Roma

Received October 2, 1996; Accepted July 6, 1998

Abstract. Edge projection is a specialization of Lov´asz and Plummer’s clique reduction when restricted toedges. A concept of augmenting sequences of edge-projections is defined w.r.t. a stable setS. It is then proved theequivalence between the optimality ofSand the existence of an augmenting sequence w.r.t.S. This result is thenexploited to develop a new tabu-search heuristic for the Maximum Stable Set Problem (weighted and unweighted).The resulting code proved to be competitive with the best codes presented in the literature.

Keywords: stable set

1. Introduction

We denote byG = (V, E) an undirected graph.V is the set of nodes andE the set of edges.A stable setis a subset ofV such that no two nodes of the subset are pairwise adjacent. Thecardinality of a maximum stable set ofG will be denoted byα(G). WhenG is the emptygraph,α(G) = 0. A stable setS of G is said to bemaximalin G, if there does not exist anodev ∈ V , v /∈ S, such that{v} ∪ S is stable. Aclique is a subset ofV with the propertythat all the nodes are pairwise adjacent. Theneighborhood NG(v) of v ∈ V is the set ofall nodes adjacent tov in G. When no confusion arises, we simply denoteNG(v) by N(v).By degG(v) (deg(v)) we denote the cardinality of the neighborhood ofv in G. Let W ⊆ V .By NG(W) (N(W)) we denote the set of nodes{u ∈ V −W: u ∈ NG(v), v ∈ W}. Thesubgraph induced byW in G is denoted byG[W], while by G −W we denote the graphG[V −W] (if W = {v} we simply writeG − v). Analogously, ifF ⊆ E, we denote byG − F the graph obtained fromG by removing all the edges inF (if F = {e}, we writeG − e). The set of edges having at least one endpoint in the set of nodesW ⊆ V will bedenoted byδ[W]. The complementG = (V, E) of G = (V, E) is a graph such thatV = Vande ∈ E iff e /∈ E. Thedensityof a graphG = (V, E) is given by the ratio 2|E|

|V |2−|V | , i.e.the number of edges ofG over the number of edges in the complete graph with|V | nodes.

A weighted undirected graph G= (V, E, w) is an undirected graphG along with avectorw ∈ Z|V |+ of positive integers. Thei -th component ofw, denoted bywi , is associatedwith thei -th nodevi of V ; wi is called theweightof vi , also denoted byw(vi ). The weightof a subset of the nodesW ⊆ V , denoted byw(W), is the sum of the weights of the elementsof W.

368 MANNINO AND STEFANUTTI

TheMaximum Cardinality Stable Set Problem(MSS Problem) consists of finding a stableset inG of maximum cardinalityα(G); theMaximum Weighted Stable Set Problem(MWSSProblem) is the problem of finding a stable set ofG of maximum weight. A survey on thetopic can be found in [27].

Observe that the MSS Problem can be reduced to the MWSS Problem by taking all theweigths equal to 1. Also note that finding a MWSS inG is equivalent to finding a maximumweighted clique in its complement. The MWSS Problem is known to be NP-hard [14] forarbitrary graphs.

In the last years there has been a growing interest in finding exact or approximated solu-tions to MSS and MWSS. The most recent results on exact algorithms can be found in[1–3, 5–7, 9, 11, 13, 23–25, 28, 30]. Unfortunately, when the size of the graphs grows,the exact algorithms fail in finding optimal solutions. Thus, many efforts have been madein order to develop efficient heuristics for these problems. In 1993, at Carnegie MellonUniversity, David Johnson and Mike Trick organized an important workshop on the topic(DIMACS Challenge II). In that occasion, the most advanced techniques for finding heuristicsolutions to the MSS Problem and to the MWSS Problem were presented. These techniquesare based on different approaches. In particular, the algorithms proposed by Grossman [19]and by Jagota et al. [21] are based on neural networks; the one by Balas and Niehaus [4],attempts to find larger stable sets by merging previously found solutions; Goldberg andRivenburgh use restricted backtracking; Soriano and Gendrau [15] use a tabu search ap-proach; Homer and Peinado [20] use simulated annealing; Brockington and Culberson [10]implement a multiple greedy search; finally, Gibbons et al. [16] use non-linear optimizationtechniques in their continuous based heuristic. An effective evolution of the tabu searchapproach presented in the original work of Friden, Hertz and de Werra [12] is used byOrlandani and Protasi in [26], where they make use of the so calledReactive Tabu Search,introduced by Battiti and Tecchiolli in [8].

Our approach is based on the concept of edge projection. This operation is a specializationto edges of the operation of clique reduction, introduced by Lov´asz and Plummer [22]. AgraphG | C = (V | C, E | C) is called thereductionof a graphG with respect to amaximal cliqueC if and only if:

(i) V | C = V − C;(ii) E | C = (E − {uv ∈ E: u ∈ C}) ∪ {uv: {u, v} ⊆ V − C, NG({u, v}) ⊇ C}.

The properties of reducible cliques have been first exploited by Lov´asz and Plummer intheir polynomial algorithm for computing the stability number of claw-free graphs [22].Subsequently, this operation has been used for designing a polynomial algorithm that findsthe stability number of a chair and bull-free graph [29] and for computing upper bounds forα(G) in general graphs [24].

In this paper we derive new properties of the edge projection and we define a conceptof augmenting sequenceof projections. Edge projection and augmenting sequences ofprojections are then exploited in two procedures: the first builds a maximal stable set ofG;the second attempts to improve the weight of a given stable set. This improving procedureis then embedded into a tabu-search framework and iterated (see [17]).

AN AUGMENTATION ALGORITHM 369

2. Edge projection and augmenting sequences

Let G = (V, E, w) be a weighted graph and lete= uv ∈ E. We associate withe the set

Ve =

{v} if w(u) > w(v)

{u} if w(u) < w(v)

{u, v} if w(u) = w(v)In the following we denote byNuv = N(u) ∩ N(v), by Nu = N(u) − Nuv − {v} and

by Nv = N(v) − Nuv − {u}. Let Euv = {xy: x ∈ Nu, y ∈ Nv}. A weighted graphG | e= (V | e, E | e, w | e) is said to be theprojectionof e in G iff V | e= V−Ve−Nuv,E | e = [E − δ(Ve ∪ Nuv)] ∪ Euv, w | e(z) = w(z) for all z ∈ V | e, z 6= u, v and, ifu ∈ V | e (v ∈ V | e) thenw | e(u) = w(u) − w(v) (w | e(v) = w(v) − w(u)). Everyedge belonging toE | e but not toE is said to be afalse edge. In figure 1, false edges aredrawn with thick lines. Observe that in the unweighted case, corresponding tow(u) = 1for all u ∈ V , the projection ofuv always removes bothu andv from the graph.

Lemma 1. Let G = (V, E, w) be a weighted graph, let e= uv ∈ E and let G | e =(V | e, E | e, w | e) be the projection of e in G. Then:1. For each stable set S′ of G | e,

(i) S= S′ ∪ {u} or S= S′ ∪ {v} is a stable set of G, and(ii) w(S) ≥ w(S′)+min(w(u), w(v)).

2. For each stable set S of G with S∩ {u, v} 6= ∅,(i) the set S′ = S− Ve is a stable set of G| e, and(ii) w | e(S′) = w(S)−min(w(u), w(v)).

Proof: In the following we can suppose w.l.o.g. thatw(u) ≥ w(v) and thus min(w(u),w(v)) = w(v).

1. Let S′ be a stable set ofG | e. Clearly, S′ is also a stable set ofG. Now, eachnode in Nu is adjacent inG | e to each node inNv. It follows that at least one of

Figure 1. Example of weighted projection:G′ = G | uv.

370 MANNINO AND STEFANUTTI

the two setsNu ∩ S′ and Nv ∩ S′ is empty. If Nu ∩ S′ = ∅ then S′ ∪ {u} is a stableset of G. If u ∈ S′, then S′ = S andw(S) = w | e(S′) + w(v). If u /∈ S′ thenw(S) = w | e(S′)+w(u) ≥ w | e(S′)+w(v). If Nv ∩ S′ = ∅ thenS′ ∪ {v} is a stableset ofG andw(S) = w | e(S′)+ w(v).

2. Let S be a stable set ofG with S∩ {u, v} 6= ∅, and suppose thatS′ = S− Ve is not astable set ofG | e. Then there exist two nodesw andz both contained inSandS′ suchthat the edgewz ∈ E | e andwz /∈ E. Then it must be, w.l.o.g.,w ∈ Nu ⊆ N(u) andz ∈ Nv ⊆ N(v). SinceS∩{u, v} 6= ∅, it must be eitherS∩N(u) = ∅ or S∩N(v) = ∅,a contradiction.

So, S′ = S− Ve is a stable set ofG | e. Now, if v ∈ S or w(u) = w(v) then it isw | e(S′) = w(S) − w(v). Suppose thatw(u) > w(v) andu ∈ S. Sincew | e(u) =w(u)− w(v), andu ∈ S′, thenS′ = Sandw | e(S′) = w(S)− w(v). 2

The stable setS− Ve of G | e will also be denoted byS | e. Observe that, when all theweights are equal to 1, thenw(S | e) = |S| − 1 and, for each stable setS′ of G | e, thereexists a stable setSof G such thatS′ ⊂ Sand|S| = |S′| + 1.

Next lemma, which is a simple consequence of the previous one, concerns with a sequenceof consecutive projections in a weighted graphG.

Lemma 2. Let G= (V, E, w) be a weighted graph and let Gl = ((G|u1v1|) · · ·) | ulvl ,

where ui vi = ei ∈ E(Gi−1). Then, denoting bywi = w|e1| · · · | ei , for i ≤ l ,1. For each stable set Sl of Gl , there exists a stable set S of G such that

(i) Sl ⊆ S,(ii) |S∩ {ui , vi }| = 1 for i = 1, . . . , l , and

(iii) w(S) ≥ wl (Sl )+∑

i=1,...,l min(wi−1(ui ), wi−1(vi )).2. For each stable set S of G with|S∩ {ui , vi }| = 1 for i = 1, . . . , l ,

(i) the set S′ = S|e1| · · · | el is a stable set of Gl , and(ii) w(S) = wl (Sl )+

∑i=1,...,l min(wi−1(ui ), wi−1(vi )).

By Lemma 2, ifSl is a stable set ofGl = ((G|u1v1|) · · ·) | ulvl , then there exists a stablesetSof G such thatSl ⊆ Sandw(S) ≥ wl (Sl )+

∑i=1,...,l min(wi−1(ui ), wi−1(vi )). If all

the weights are equal to 1 (unweighted case), we have|S| ≥ |Sl | + l .Consider the example of figure 2, where all the weights of the nodes are equal to 1. We

haveG2 = G|ab|egand any stable set ofG2 can be extended to a stable set ofG by adding

Figure 2. A sequence of projections:G2 = G1 | eg= G|ab|eg.

AN AUGMENTATION ALGORITHM 371

exactly two nodes (one node for each projection). For example, the stable set{d} of G2,can be extended to the stable set{d, g, b} of G.

Now, let Sl be a stable set ofGl = ((G|u1v1|) · · ·) | ulvl : a stable setS of G such thatSl ⊆ S andw(S) ≥ wl (Sl ) +

∑i=1,...,l min(wi−1(ui ), wi−1(vi )) can be obtained by the

means of the following procedure:

Procedure: DeProjInput: a weighted graphG = G0 = (V, E, w), a weighted graphGl = ((G|u1v1|) · · ·) |

ulvl and a stable setSl of Gl .Output: a stable setSof G with w(S) ≥ wl (Sl )+

∑i=1,...,l min(wi−1(ui ), wi−1(vi )).

0. Set i= l .1. If i = 0 Set S= S0 and STOP.2. If Si ∪ {vi } is a stable set ofGi−1.

2.a then Si−1 = Si ∪ {vi }.2.b else Si−1 = Si ∪ {ui }.

3. GotoStep 1.

Observe that, in Step 2.a (2.b) of ProcedureDeProj, the nodevi (ui ) can also belong toSi , i.e. Si−1 = Si . In the unweighted case, it is always|Si | = |Si−1| − 1.

In the example of figure 3, the stable setS2 = {d} of G2 is first extended to the stable setS1 = {d, g} of G1, and, finally, to the stable setS= {d, g, b} of G.

Lemma 2 is the basis of a simple but effective heuristic to compute a maximal stableset ofG. In the following ProcedureHeuProj, a sequence of edges is projected until theresidual graph contains no edges. At this point, ProcedureDeProj is used to re-build afeasible solutionSof G.

Procedure: HeuProjInput: a weighted graphG = (V, E, w).Output: a maximal stable setSof G.

0. Set i= 0. Set G0 = G.1. If E(Gi ) = ∅ Goto5.

Figure 3. A sequence of de-projections.

372 MANNINO AND STEFANUTTI

2. Selectan edgeei ∈ E(Gi ).3. Set Gi+1 = Gi | ei .4. Set i= i + 1 andGoto1.5. Set L= i (L is the number of iterations).Set SL = V(GL).6. ApplyProcedureDeProj to SL andGL = G|e1| · · · | eL to produce a stable setSof G.

The way edgeei = ui vi is selected in Step 2 will be discussed in Section 3.In the standard greedy approach, a stable set is constructed by an iterative procedure in

such a way that at each step a single node is selected and inserted in a partial stable set. Incontrast, in our approach, a pair of adjacent nodes is selected at each iteration; only whenProcedureHeuProjterminates, ProcedureDeProjwill establish which node in the pair hasto be chosen.

Let G = (V, E, w) be a weighted graph and letS = {w1, . . . , wq} be a stable set ofG. Let Gl = G|e1| · · · |el , whereei = uiw ji ∈ E(Gi−1) andw ji ∈ S, for i = 1, . . . , l ,l ≥ 0. By Lemma 1,Sl = S|e1| · · · |el is a stable set ofGl . The sequence of edges(u1w j1, . . . ,uiw jl ) is said to beaugmentingw.r.t. S in G, iff Sl is not a maximal stableset ofGl . Observe that, ifS is not maximal inG, then the empty sequence of projectionsis augmenting w.r.t.S in G. In the example of figure 2, the sequence of edges{ab, eg} isaugmenting w.r.t. the stable set{a, e}. In fact,S2 = {∅} is not maximal inG2.

Theorem 1. Let G= (V, E, w) be a weighted graph and let S be a stable set of G. S ismaximum if and only if there does not exist an augmenting sequence w.r.t. S in G.

Proof:

If. By contradiction. Suppose there does not exist an augmenting sequence w.r.t.S inG and letS be a stable set ofG such thatw(S) > w(S). Clearly, S contains a node notbelonging toS, and |V | ≥ 1. If |V | = 1, then|S| = 0 andS is not maximal inG, acontradiction. IfV = {u, v}, we can suppose w.l.o.g.u ∈ S, andu /∈ S. Two cases arepossible: (a)δ(S)∩ δ(S) = ∅, thenS is not maximal inG, a contradiction. (b)S = {v}anduv ∈ E. Thenw(u) = w(S) > w(S) = w(v) andG | uv = ({u}, {∅}, wu − wv). So,S | uv = {∅} is not maximal inG | uv, and the unit sequence(uv) is augmenting w.r.t.S,a contradiction.

Suppose now the theorem holds for|V | <= k, k ≥ 2, and let|V | = k + 1. Ifδ(S) ∩ δ(S) = ∅, then S is not maximal inG, a contradiction. Otherwise, letuv besuch thatu ∈ S andv ∈ S. Let G1 = G | uv, and letS1 = S | uv, S1 = S | uv. ByLemma 1 (2),S1 and S1 are stable sets ofG1 and it isw1(S1) > w1(S1). By induction,there exists inG1 an augmenting sequenceσ w.r.t. S1 in G1. Then, the sequence(uv, σ )is augmenting w.r.t.S in G, a contradiction.

Only if. By contradiction. SupposeS is a maximum stable set ofG and letσ = (u1v1,

. . . ,uqvq),q ≥ 0, be an augmenting sequence w.r.t.Sin G. Sinceσ is augmenting, thenSq isnot maximal inGq, and there exists a stable setSq of Gq, such thatSq ⊂ Sq andwq(Sq) >

wq(Sq). Now, by Lemma 2 (2),w(S) = wq(Sq) +∑

i=1,...,q min(wi−1(ui ), wi−1(vi )).

AN AUGMENTATION ALGORITHM 373

Moreover, by Lemma 2 (1), there exists a stable setSof G such that

w(S) ≥ wq(Sq)+∑

i=1,...,q

min(wi−1(ui ), wi−1(vi ))

> wq(Sq)+∑

i=1,...,q

min(wi−1(ui ), wi−1(vi )) = w(S),

a contradiction. 2

Clearly, deciding whether there exists an augmenting sequence w.r.t. a stable setS inG is NP-complete. However, the concept of augmenting sequence can be exploited in aheuristic procedure which attempts to improve the weight ofS. ProcedureAug searchesfor an augmenting sequenceu1v1, . . . ,uqvq in G w.r.t. S. At stepi , an edgeui vi such that|S∩{ui , vi }| = 1 is selected and projected inGi−1, generating the graphGi = Gi−1 | ui vi .The algorithm terminates whenδ(S) ∩ E(Gq) = ∅. If S∩ V(Gq) = Sq 6= V(Gq), thenSq is not maximal inGq, andu1v1, . . . ,uqvq is augmenting inG w.r.t. S. In this case, amaximal stable set ofGq can be found by extendingSq, and a stable setS of G such thatw(S) > w(S) can be obtained by applying ProcedureDeProj.

Procedure: AugInput: a weighted graphG = (V, E, w), and a stable setSof G.Output: a stable setSof G with w(S) ≥ w(S).

0. Set i= 0. Set G0 = G. Set S0 = S.1. If δ(Si ) ∩ E(Gi ) = ∅ goto5.2. Selectan edgeui vi ∈ E(Gi ) such thatvi ∈ Si .3. Set Gi+1 = Gi | ui vi . Set Si+1 = Si | ui vi .4. Set i= i + 1 andgoto1.5. Set L= i (L is the number of iterations).6. Find a maximal stable setS′L in GL − SL by applying ProcedureHeuProj. Let SL =

S′L ∪ SL .7. ApplyProcedureDeProj to GL andSL to produce a stable setSof G.

Considering again the example of figure 2, whereS = {a, e}, andG2 = G|ab|eg, wehaveS2 ∩ E(G2) = ∅. A stable setS′2 = {d} can be found inG2 − S2 = G2. Now,S2 = S2 ∪ S′2 = {d}. Applying ProcedureDeProj to G2 and S2 leads to the stable set{b, d, g}, as shown in figure 3.

Iterative search of augmenting sequences using tabu search.ProcedureAugcan be iteratedin order to try to improve the weight of the solution found.

ProcedureAugSearchperforms a number of searches for augmenting sequences by iter-ative applications of ProcedureAug. In order to reduce the probability of cycling on thesame set of sequences of projections, we make use of the well known technique ofTabuSearch. In order to do that we slightly modify ProcedureAug(we call this modified versionProcedureAug1). In addition to a graphG and a stable setS, a set of (tabu) edgesET is

374 MANNINO AND STEFANUTTI

also given in input to the procedure. No edges fromET can be projected by the currentapplication of ProcedureAug1. Finally, ProcedureAug1returns, besides a maximal stableset, the setEP of the edges projected during its application.

Such a set is inserted in a circular list of tabu edges of lengthL. So, each element of thislist is a set of edges, and the union of all the elements of the list is the setET of tabu edges,which will be an input of the next application of ProcedureAug1. Each element remains inthe list duringL iterations of ProcedureAugSearch. In the following description, the tabulist is represented by an arrayT of L positions.

Finally, attempting to improve diversification in the solutions produced, the algorithmperforms a few “restart” during its execution. A restart consists in computing a new heuristicsolution, different from the current one, and starting a new search at this solution.

Procedure: AugSearchInput: a weighted graphG = (V, E, w), and two integersL andMAX ITER.Output: a maximal stable setSof G.

0. Set T[q] = ∅, q = 1, . . . , L. Set i= k = 1. Set S0 = ∅.1. Find a feasible solutionSi by applying ProcedureHeuProjto G− Si−1.2. Set ET =

⋃q T [q].

3. ApplyProcedureAug1to Si , ET , G. Let Si+1 andEP be the output stable set and theoutput tabu edge-set, respectively.

4. Set T[(k− 1 modL)+ 1] = EP.5. If w(Si+1) > w(Si )

Set T[q] = ∅,q = 1, . . . , l . Set k= 0.

6. Set i= i + 1. Set k= k+ 1.7. If TERMTEST()= true, STOP.8. If i modMAX ITER= 0 goto1.9. goto2.

The values of the constantsL andMAX ITER and, in Step 7, the termination test arediscussed in the next section.

3. Implementation

In this section we describe parts of the previously introduced procedures which dependon the specific implementation. We distinguish between the unweighted and the weightedcase.

Unweighted case. We first describe how the edgeei = ui vi is selected at Step 2 ofProcedureHeuProj. This is realized by the following rules:

a. ui = arg mindegGi(u), u ∈ V [Gi ], deg(u) ≥ 1.

b. vi = arg mindegGi(v), v ∈ NGi (ui ).

AN AUGMENTATION ALGORITHM 375

We also tested a second criterion:

degGi(ui )+ degGi

(vi ) ≤ degGi(u)+ degGi

(v), uv ∈ E(Gi ).

Computational experience showed that the second criterion is the best for what concernsthe quality of the solution obtained. However, when the size of the graph grows, the totaltime consumed by the second criterion becomes much larger. Also, when incorporated intoProcedureAugSearch, the gap between the solutions produced by the first and the secondcriterion is quickly fulfilled. So, the first criterion was implemented.

We now describe how the edgeei = ui vi is selected at Step 2 of ProcedureAug. This isrealized in the following way:

a. ui = arg mindegGi(u), u ∈ Vi − Si , NGi (u) ∩ Si 6= ∅.

b. vi = arg mindegGi(v), v ∈ Si , v ∈ NGi (ui ).

Observe that we first focus our attention on the nodes which are “out” from the currentstable setSi . This is to increase the chances to select, in the new stable set, nodes notbelonging to the original one. Clearly, in the modified versionAug1, we have to take intoaccount the tabu status of the edges.

In order to improve diversification of the solutions produced by ProcedureAugSearchwe also introduced a penalty functionpen(v) associated with each nodev. At the currentiteration, the penaltypen(v) is equal to the total number of projections (in all the precedingiterations) of edges incident withv. The first step of the edge selection described above isemended in ProcedureAug1in the following way:

a. ui = arg min(degGi(u)+ p ∗ pen(u)), u ∈ Vi − Si , NGi (u) ∩ Si 6= ∅.

wherep is a constant parameter. The introduction of this penalty increases the probabilityto select different edges. In our implementation,p has been set equal to 1 for the first 20%of the total running time (which is fixed in advance), equal to 0 for the rest of the time.

Another way for improving diversification naturally arises in implementing ProcedureDeProj. In Step 2,vi is always chosen to be the node in the edge not contained in the currentstable set. In this way, whenever possible, we diversify from the current stable set.

The termination test in Step 7 of ProcedureAugSearchis based on the running time.The algorithm stops when the running time exceeds a specified quantity: for our tests,the time is fixed to 3600 sec. For what concerns the length of the tabu listL and theconstantMAX ITER, we use two sets of input-parameters, depending on the value of thepenalty parameterp (which, in turn, depends on the running time). Whenp = 1, thenL = 7+ dens(G) ∗ 5 andMAX ITER= 50. Whenp = 0, thenL = 11+ dens(G) ∗ 5 andMAX ITER= 100. Observe that, whenp = 0 the length of the tabu list is increased, inorder to improve diversification in the selection of the edges (whenp = 1 diversification isensured both by the tabu list and by the penalty function).

376 MANNINO AND STEFANUTTI

Table 1. Comparisons with different tabu list lengths.

Name Length Solution Time

brock4004 4 25 1469

brock4004 6 25 1512

brock4004 8∗ 33 347.9

brock4004 14 33 488.5

gen200p0.9 44 3 44 13.91

gen200p0.9 44 7∗ 44 2.23

gen200p0.9 44 10 44 2.81

gen400p0.9 55 3 53 938.5

gen400p0.9 55 7∗ 55 421.69

gen400p0.9 55 10 53 938.8

In Table 1 we show the behaviour of our algorithm for different lengths of the tabu list.In particular, we have considered three instances from the DIMACS benchmark set for maxclique (see Section 4). For all of these instances, the best solution was found during thep = 1 phase when the standard lengthL = 7+ dens(G) ∗ 5 was used. Different lengthsproduce increments in the solution time or decrements in the values of the best solutionsfound (standard lengths are denoted by a star).

Table 2 shows the sensitivity of the algorithm for different numbers of restarts, whichare controlled by the constant MAXITER. Column MAX ITER shows the value of theparameter forp = 1; this value is doubled forp = 0.

Weighted case. In the weighted case, the selection criteria are similar to those discussedfor the unweighted case. Only, we replaced the expressiondeg(x) by the expression

Table 2. Comparisons with different values of MAXITER (controlling restarts).

Name MAX ITER Solution Time

brock4004 20 25 593.9

brock4004 50∗ 33 347.9

brock4004 100 24 2.5

brock4004 +∞ 24 2.5

gen400p0.9 55 20 53 1575

gen400p0.9 55 50∗ 55 59.4

gen400p0.9 55 100 53 938.524

gen400p0.9 55 +∞ 53 938.5

AN AUGMENTATION ALGORITHM 377

deg(x)− w(x). We also tested a different weighting function for each nodex, i.e.∑

v∈N(x)w(v), which indeed corresponds to the one used in the unweighted case (i.e.deg(x)). How-ever, our tests showed that the weighting functiondeg(x)−w(x) has better performances,both concerning with running times and solutions quality. Also, the penalty functionintroduced for the unweighted case did not improve the quality of the solutions, whileincreasing the computational effort. Thus, we decided to set the parameterp = 0 in allexperiments.

4. Computational results

In this section we show the computational results of our tests on an IBM-RISC SYSTEM6000 POWERstation 375, and we compare them with the results of a selection of algorithmspresented in the literature. The code has been written in C and compiled on a UNIX platformwith the cc compiler (-O option). We limit our tests to the DIMACS benchmarks (availableat dimacs.rutgers.edu). These test problems were selected by experts in the field for theDIMACS challenge 1993. They already represent a standard test set for algorithms forMSS, since the most recent codes have been tested on them. Also, they are considered tobe a “sufficiently” large and representative family of test problems.

In Table 3 we compare our results with a selection of the best algorithms presentedat DIMACS challenge 1993. We chose the algorithms by Goldberg and Rivenburgh [18](denoted by GR), by Soriano and Gendrau [15] (SG), Balas and Niehaus [4] (BN). Exceptfor the last one, which appears to us to be the best heuristic algorithm presented at DIMACSChallenge (and in the literature), a number of other algorithms has similar performancesto (GR) and (SG). Finally, in addition to this selection of algorithms from the DIMACSChallenge, we also considered the algorithm by Orlandani and Protasi [26] (OP).

For each algorithm and each instance of MSS Problem, we present the best solution foundand the running times. Approximated speed ratios among the different computers used inthe experiments are available for (GR), (SG) and (OP); the corresponding times reported inTable 3 are normalized. For (BN), the times are those reported in [4]; in their experimentsthey used a computer HP-9000 Apollo.

Our algorithm (columns AugSearch) outperforms (GR), (SG) and (OP), in terms of valuesand times. Comparisons with (BN) are somehow more complicated. (BN) finds a bettersolution on 6 instances, and the same doesAugSearch. On the other instances, the twoalgorithms find the same solutions.

For what concerns the weighted case, comparisons with other heuristic approaches aremore difficult, since results on a standard benchmark set (such as DIMACS) are not availablein the literature (to our knowledge). In order to design easily reproducible experiments,we propose to use again the instances in the DIMACS benchmarks. The weights of thenodes are all chosen in the range [1–10], and generated in the following way: the nodes ofG = (V, E) are originally numbered from 1 to|V |, and we setw(v) = (v mod 10) + 1.The results are shown in Table 4.

378 MANNINO AND STEFANUTTI

Table 3. Unweighted graphs: results and comparisons over the DIMACS benchmarks.

Aug Search GR SG BN OP

Name |V |(Dens%) Card. Time Card. Time Card. Time Card. Time Card. Time

C125.9 125 (10) 34 0.01 34 31.47 34 0.40 34 <1 34 0.43

C250.9 250 (10) 44 3.10 44 236.52 44 26.41 44 20 44 24.25

C500.9 500 (10) 57 1064.01 55 1117.39 56 27.54 57 1956 56 86.42

C1000.9 1000 (10) 66 1064.10 65 1600.87 65 383.30 67 9876 65 1016

C2000.9 2000 (10) 74 3156.23 74 1807.82 72 268.70 75 28567 73 1527

DSJC500.5 500 (50) 13 14.33 13 420.00 13 3.22 13 1 13 5.37

DSJC1000.5 1000 (50) 14 165.41 15 666.08 14 0.98 15 13 15 198.7

C2000.5 2000 (50) 15 446.89 16 341.74 16 288.22 16 1321 16 666.1

mann a27 378 (01) 126 0.08 126 10.43 125 2.79 126 784 126 178.6

mann a45 1035 (0.4) 344 11.67 343 3833.91 342 26.48 344 28107 344 898.4

mann a81 3321 (0.1) 1098 5.60 1097 282.61 1096 921.74 1098 23463 — —

brock2002 200 (50) 12 7.44 12 0.26 11 0.76 11 <1 — —

brock2004 200 (44) 17 12.41 17 7.43 16 0.36 16 <1 — —

brock4002 400 (25) 25 1120.22 25 10.69 24 4.85 25 121 25 44.18

brock4004 400 (25) 33 347.90 33 926.08 25 27.17 25 81 25 54.33

brock8002 800 (35) 21 3.01 21 817.39 20 9.38 21 217 21 302

brock8004 800 (65) 20 7.85 21 793.04 20 3.95 21 217 21 241.4

gen200p0.9 44 200 (10) 44 2.23 42 340.87 44 11.09 42 80 — —

gen200p0.9 55 200 (10) 55 0.44 55 140.87 55 4.67 55 35 — —

gen400p0.9 55 400 (10) 55 59.46 52 2205.21 52 10.72 53 184 52 94.32

gen400p0.9 65 400 (10) 65 58.34 60 2313.04 65 27.25 65 201 55 142.2

gen400p0.9 75 400 (10) 75 6.97 74 2816.52 75 9.89 75 220 75 83.32

hamming8-4 256 (36) 16 0.01 16 0.78 16 0.11 16<1 16 0.10

hamming10-4 1024 (17) 40 145.24 40 91.30 36 2.03 40 90 40 280.4

keller4 171 (35) 11 0.12 11 0.09 11 0.07 11 <1 — —

keller5 776 (25) 27 122.00 27 40.61 27 29.17 27 102 27 6.63

keller6 3361 (18) 54 2372.69 54 8008.70 56 700.18 56 7064 55 1600

p hat300-1 300 (76) 8 0.10 8 0.09 8 0.21 8 <1 8 0.32

p hat300-2 300 (51) 25 0.01 25 0.09 25 0.14 25<1 25 0.27

p hat300-3 300 (26) 36 1.69 36 1.82 36 8.04 36 19 36 20.83

p hat700-1 700 (75) 11 158.29 11 1.21 11 3.51 11 2 11 8.53

p hat700-2 700 (50) 44 4.06 44 1.24 44 13.44 44 3 44 2.35

p hat700-3 700 (75) 62 1.77 62 343.48 62 26.67 62 132 62 28.70

p hat1500-1 1500 (75) 12 582.37 12 152.17 11 1.48 11 1 12 133.8

p hat1500-2 1500 (49) 65 71.95 64 186.95 65 9.09 65 1083 65 183.6

p hat1500-3 1500 (25) 94 111.17 93 2058.26 93 22.39 94 1929 94 891

AN AUGMENTATION ALGORITHM 379

Table 4. Weighted graphs: results and comparisons over the DIMACS benchmarks.

Name |V |(Dens%) Weight Time

C125.9 125 (10) 215 5.28

C250.9 250 (10) 304 12.93

C500.9 500 (10) 385 3363.74

C1000.9 1000 (10) 470 553.53

C2000.9 2000 (10) 531 2430.77

DSJC500.5 500 (50) 94 19.19

DSJC1000.5 1000 (50) 102 732.74

C2000.5 2000 (50) 113 324.07

mann a27 378 (01) 867 0.01

mann a45 1035 (0.4) 2403 0.01

mann a81 3321 (0.1) 18250 0.01

brock2002 200 (50) 76 0.19

brock2004 200 (44) 114 0.53

brock4002 400 (25) 178 1255.78

brock4004 400 (25) 175 113.50

brock8002 800 (35) 155 1841

brock8004 800 (65) 153 803.11

gen200p0.9 44 200 (10) 277 48.20

gen200p0.9 55 200 (10) 293 37.26

gen400p0.9 55 400 (10) 374 2220.10

gen400p0.9 65 400 (10) 391 208.30

gen400p0.9 75 400 (10) 401 2578.57

hamming8-4 256 (36) 106 0.1

hamming10-4 1024 (17) 291 1499.09

keller4 171 (35) 87 2.48

keller5 776 (25) 195 1307.16

keller6 3361 (18) 1205 922.18

p hat300-1 300 (76) 71 2.38

p hat300-2 300 (51) 180 0.40

p hat300-3 300 (26) 260 6.60

p hat700-1 700 (75) 77 36.17

p hat700-2 700 (50) 284 200.45

p hat700-3 700 (75) 418 42.95

p hat1500-1 1500 (75) 89 1113.43

p hat1500-2 1500 (49) 416 758.03

p hat1500-3 1500 (25) 595 517.60

380 MANNINO AND STEFANUTTI

Acknowledgments

We thank Professor Antonio Sassano for his useful comments.

References

1. L. Babel, “Finding maximum cliques in arbitrary and special graphs,” Computing, vol. 46, no. 4, pp. 321–341,1991.

2. L. Babel, “A fast algorithm for the maximum weight clique problem,” Computing, vol. 52, pp. 31–38, 1994.3. L. Babel and G. Tinhofer, “A branch and bound algorithm for the maximum clique problem,” ZOR-Methods

and Models of Operations Research, vol. 34, pp. 207–217, 1990.4. E. Balas and W. Niehaus, “Finding large clique in arbitrary graphs by bipartite matching,” in Cliques, Col-

oring, and Satisfiability: Second DIMACS Implementation Challenge, D.S. Johnson and M.A. Trick (Eds.),DIMACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 26, pp. 29–51, AmericanMathematical Society, 1996.

5. E. Balas and J. Xue, “Minimum weighted coloring of triangulated graphs, with application to maximum weightvertex packing and clique finding in arbitrary graphs,” SIAM Journal on Computing, vol. 20, pp. 209–221,1991.

6. E. Balas and J. Xue, “Weighted and unweighted maximum clique algorithms with upper bounds from fractionalcoloring.” Algorithmica, vol. 15, pp. 397–412, 1996.

7. E. Balas and C.S. Yu, “Finding a maximum clique in an arbitrary graph,” SIAM Journal on Computing,vol. 15, pp. 1054–1068, 1986.

8. R. Battiti and G. Tecchiolli, “The reactive tabu search,” ORSA Journal on Computing , vol. 6, no. 2, pp. 126–140, 1994.

9. J. Bourjolly, G. Laporte, and H. Mercure, “A combinatorial column generation algorithm for the maximumclique and stable set problem,” Technical Report G-94-33, Les Cahiers du GERD, July 1994.

10. M. Brockington and J.C. Culberson, “Camuflating independent sets in quasi-random graphs,” in Cliques, Col-oring, and Satisfiability: Second DIMACS Implementation Challenge, D.S. Johnson and M.A. Trick (Eds.),Discrete Mathematics and Theoretical Computer Science, vol. 26, pp. 221–242, American MathematicalSociety, 1996.

11. R. Carraghan and P.M. Pardalos, “An exact algorithm for the maximum clique problem,” Operations ResearchLetters, vol. 9, pp. 375–382, 1990.

12. C. Friden, A. Hertz, and D. de Werra, “Stabulus: a technique for finding stable sets in large graphs with tabusearch,” Computing, vol. 42, pp. 35–45, 1989.

13. C. Friden, A. Hertz, and D. de Werra, “An exact algoritithm based on tabu search for finding a maximumindependent set in graph,” Computers Opns. Res., vol. 17, no. 5, pp. 375–382, 1990.

14. M.R. Garey and D.S. Johnson, Computer and Intractability: A Guide to the Theory of NP-Completeness,Freeman: New York, 1979.

15. M. Gendrau and P. Soriano, “Tabu search algorithms for the maximum clique problem,” in Cliques, Coloring,and Satisfiability: Second DIMACS Implementation Challenge, D.S. Johnson and M.A. Trick (Eds.), DiscreteMathematics and Theoretical Computer Science, vol. 26, pp. 221–242, American Mathematical Society, 1996.

16. L.E. Gibbons, D.W. Hearn, and P.M. Pardalos, “A continuous based heuristic for the maximum clique prob-lem,” in Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge, D.S. Johnson andM.A. Trick (Eds.), Discrete Mathematics and Theoretical Computer Science, vol. 26, pp. 103–124, AmericanMathematical Society, 1996.

17. F. Glover, “Future paths for integer programming and links to artificial intelligence,” Computers Opns. Res.,vol. 13, pp. 533–549, 1986.

18. M.K. Goldberg and R.D. Rivenburgh, “Constructing cliques using restricted backtracking,” in Cliques, Col-oring, and Satisfiability: Second DIMACS Implementation Challenge, D.S. Johnson and M.A. Trick (Eds.),Discrete Mathematics and Theoretical Computer Science, vol. 26, pp. 285–307, American MathematicalSociety, 1996.

AN AUGMENTATION ALGORITHM 381

19. T. Grossman, “Applying the inn model to the max clique problem,” in Cliques, Coloring, and Satisfiability:Second DIMACS Implementation Challenge, D.S. Johnson and M.A. Trick (Eds.), Discrete Mathematics andTheoretical Computer Science, vol. 26, pp. 125–145, American Mathematical Society, 1996.

20. S. Homer and M. Peinado, “Experiments with polynomial-time clique approximation algorithms on very largegraphs,” in Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge, D.S. Johnsonand M.A. Trick (Eds.), Discrete Mathematics and Theoretical Computer Science, vol. 26, pp. 147–167,American Mathematical Society, 1996.

21. A. Jagota, L. Sanchis, and R. Ganesan, “Approximately solving maximum clique using neural network andrelated heuristic,” in Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge, D.S.Johnson and M.A. Trick (Eds.), Discrete Mathematics and Theoretical Computer Science, vol. 26, pp. 169–204, American Mathematical Society, 1996.

22. L. Lovasz and M.D. Plummer, Matching Theory, North-Holland: Amsterdam, 1986.23. C. Mannino and A. Sassano, “An exact algorithm for the maximum stable set problem,” J. Computational

Optimization and Applications, vol. 3, pp. 243–258, 1994.24. C. Mannino and A. Sassano, “Edge projection and the maximum stable set problem,” in Cliques, Coloring,

and Satisfiability: Second DIMACS Implementation Challenge, D.S. Johnson and M.A. Trick (Eds.), DiscreteMathematics and Theoretical Computer Science, vol. 26, pp. 205–219, American Mathematical Society, 1996.

25. G.L. Nemhauser and G. Sigismondi, “A strong cutting plane/branch-and-bound algorithm for node packing,”J. Ops. Res. Soc., vol. 43, no. 5, pp. 443–457, 1992.

26. L. Orlandani, “Algoritmi di ricerca tab`u per il problema del maxclique,” Master’s Thesis, Dipartimento diMatematica, Facolt`a di Scienze Matematiche, Fisiche e Naturali, Via della Ricerca Scientifica, 00133 Rome,Italy, 1994.

27. P. Pardalos and J. Xue, “The maximum clique problem,” J. of Global Optimization, vol. 4, no. 3, pp. 286–301,1994.

28. E.C. Sewell, “A branch and bound algorithm for the stability number of a sparse graph,” INFORMS J. onComp., May 1995, to appear.

29. C. De Simone and A. Sassano, “Stability number of bull and chair-free graphs,” Discrete Applied Mathematics,vol. 41, pp. 121–129, 1993.

30. Jue Xue, “Fast algorithms for the vertex packing problem,” Ph.D. Thesis, Graduate School of IndustrialAdministration, Carnegie Mellon University, April 1991.