A fast heuristic algorithm for the critical node problem

The critical node problem (CNP) aims to identify a subset of critical nodes in an undirected graph such that removing these critical nodes minimizes the pairwise node connectivity over the residual graph. CNP has various applications; however, it is computationally challenging. This paper introduces FastCNP, a fast heuristic algorithm for solving the problem. FastCNP employs an effective two-phase node exchange strategy to locate high-quality solutions and applies a destructive-constructive perturbation procedure to drive the search to new regions when the search stagnates. Computational results on 16 popular benchmark instances show that FastCNP finds improved best results (new upper bounds) for 6 instances, and matches the best-known results for 9 instances.


INTRODUCTION
Given an undirected graph G = (V ,E) and an integer K, the critical node problem (CNP) is to identify and extract a subset of nodes S ⊂ V (where |S | K) from G in order to minimize the total number of node pairs still connected in the connected components of the residual graph G[V \ S] [3].
where n c is the number of connected components in the residual graph, and |C i | represents the number of nodes in the connected component C i . The nodes in S are called critical nodes because their removal results in minimization of the above objective function. * Corresponding author, also affiliated with the Institut Universitaire de France.
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. CNP is known to be NP-hard [3] in the general case even if there are polynomially solvable special cases [5]. The computational challenge and wide range of applications of CNP have motivated a variety of solution approaches in the literature, including both exact [3,6] and heuristic algorithms [1][2][3][4].
In this study, we design and implement a fast heuristic algorithm for CNP called FastCNP. The main originality behind FastCNP is its low-complexity "two-phase node exchange" operation, which breaks the traditional high-complexity "node swap" operation into two distinct and constrained "single node move" operations. Based on the two-phase node exchange strategy, we create a fast neighborhood search algorithm which is able to locate high-quality solutions. In addition, we design a destructive-constructive perturbation procedure which enables the search to escape from local optima traps and visit new search regions.
To assess the performance of FastCNP, we carry out an experimental study on 16 benchmark instances. Experimental results show that, despite its simplicity, FastCNP achieves a competitive performance compared to the state-of-the-art results. In particular, FastCNP finds new upper bounds for 6 instances and matches the best-known results for 9 out of the remaining 10 instances.

THE PROPOSED ALGORITHM
The proposed FastCNP algorithm follows the general iterated local search scheme and consists of three key components (Algorithm 1) -an initialization procedure, a fast neighborhood search procedure and a destructive-constructive procedure. FastCNP starts from a random initial solution. Then at each iteration, FastCNP first employs the fast neighborhood search procedure to attain a local optimal solution. Then it invokes the destructive-constructive procedure which attempts to move away from the current search region and jump to a new search region. The above steps are repeated until a stopping condition (e.g., a time limit t max ) is met. To efficiently explore the search space, the FastCNP algorithm relies on the fast (low-complexity) two-phase node exchange strategy described below. Contrary to the conventional node exchange (or swap) which results in a neighborhood of size K (|V | − K ), our two-phase node exchange leads to a smaller neighborhood and thus much fast. Specifically, the two-phase exchange strategy breaks the exchange of a pair of nodes into two phases. Let S be the current solution (the set of critical nodes), the "add" phase randomly selects one large connected component, and then adds to S a random node from the selected component regardless of its influence on the objective function. The "removal" phase moves a node from S to the residual graph such that this causes the minimum increase in the objective function. Using this two-phase exchange strategy, the effort required to examine the candidate solutions is greatly decreased. Our neighborhood search technique shares ideas with the neighborhood decomposition strategy used in [7].
The destructive-constructive procedure of FastCNP generates a new starting solution for the next round of neighborhood search by modifying slightly the input local optimal solution. Specifically, we randomly remove p ω nodes (p ω is a parameter called perturbation strength) from S and add them back to the residual graph; then we expand S with nodes randomly taken from a large component until the cardinality of S reaches K.

COMPUTATIONAL RESULTS
We assess the performance of FastCNP on the synthetic benchmark 1 largely tested in the literature [1,2,4]. FastCNP was implemented in C++, and complied using GNU gcc 4.1.2 with '-O3' option on a 2.5 GHz Intel E5-2670 processor with 2 GB RAM under Linux. Due to the stochastic nature of FastCNP, each instance was solved 30 times independently. For each run, we used a time limit t max = 3, 600 seconds (this condition is comparable to the stopping conditions used by the reference algorithms [1,2,4]).
To report our results, we indicate the best objective value among the 30 results ("f best "), average objective value ("f avд "), average time to find the best value for the 30 trials ("t avд ") and number of successful trials to find the best value ("#succ") of the 30 trials. Table 1 summarizes the computational results of FastCNP where BKV indicates the current best-known values (upper bounds) reported in the literature. In this table, the best values are highlighted in bold and the improved best upper bounds are marked by "⋆".
As we can see from Table 1, FastCNP obtains the best-known objective values for all instances except for WS1000 and FF2000 (for FF2000 whose proved optimum is 4545, the result of FastCNP is only one unit higher). In particular, FastCNP discovers 6 new best upper bounds (marked by "⋆" in Table 1). It is interesting to observe that the average objective values of these 6 improved results are also better than the previous best-known objective values. The average times to find the best objective values range from 0 to about 2,100 seconds, which are very competitive compared to the time consumed by the reference algorithms [1,2].

CONCLUSIONS
We presented a fast heuristic algorithm for the computationally challenging critical node detection problem. The proposed FastCNP 1 It is available at: http://individual.utoronto.ca/mventresca/cnd.html algorithm is based on an original component-based two-phase node exchange strategy which ensures an effective local optimization. Compared to the conventional two-node exchange (swap) strategy, the two-phase node exchange strategy is of much lower computational complexity, which contributes greatly to the search efficiency of the neighborhood search procedure. The computational results on 16 popular benchmark instances showed that FastCNP is highly competitive compared with state-of-the-art results and in particular is able to find 6 improved best solutions (new upper bounds). Finally, given the reported results for CNP, it would be interesting to investigate the usefulness of the component-based two-phase node exchange strategy introduced in this work in the context of other critical node problems.