Multi-Start Local Search Algorithm for the Minimum Connected Dominating Set Problems

: The minimum connected dominating set (MCDS) problem is a very signiﬁcant NP-hard combinatorial optimization problem, and it has been used in many ﬁelds such as wireless sensor networks and ad hoc networks. In this paper, we propose a novel multi-start local search algorithm (MSLS) to tackle the minimum connected dominating set problem. Firstly, we present the ﬁtness mechanism to design the vertex score mechanism so that our algorithm can jump out of the local optimum. Secondly, we use the conﬁguration checking (CC) mechanism to avoid the cycling problem. Then, we propose the vertex ﬂipping mechanism to change the vertex state by combing the CC mechanism with the vertex score mechanism. Finally, we propose a multi-start local search framework based on these mechanisms. We compare the algorithm MSLS with other compared algorithms on extensive instances. The results of experiment show that MSLS is superior to other algorithms in solution quality and time e ﬃ ciency on most instances.


Introduction
Given an undirected connected graph G = (Vt, Eg), the minimum dominating set problem is to seek a minimum vertex subset S such that each vertex in Vt\S is adjacent to at least one vertex in S, where vertices a, b are adjacent if there exists an edge (a, b)∈Eg. In a real network, there are some important issues that can be modeled through dominating sets. Especially in operations research, the location of key or auxiliary stations in a traffic network can be described by a framework based on a dominant set. Other applications come from areas such as sensor networks [1], medicine of cancer therapy [2,3] viral marketing in web based social networks [4], sociology [5], and biology [2,6].
The connected dominating set (CDS) problem is a classical dominating set problem with constraints. That is, a dominating set S is a connected dominating set if the subgraph G(S) = (S, Eg(S)) is connected, where Eg(S) = {(a, b)∈Eg |a∈S, b∈S}. The minimum connected dominating set (MCDS) problem is to seek a connected dominating set S with minimum cardinality. The MCDS problem plays a significant role in many real-world applications such as network testing [7], wireless sensor networks [8], and wireless ad hoc networks [9,10].
It is proved that the minimum connected dominating set problem is NP-hard [11]. Many researchers have devoted themselves to different algorithms to get the optimal solution or near-optimal solution of the problem. In recent years, some researchers have proposed a number of approximate algorithms to tackle the minimum connected dominating set problem. The literature [12] is a good survey for this problem in ad hoc networks. Marathe et al. proposed efficient approximations for the problem on unit disk graphs, the size of the solution by proposed algorithm is at most 8|S*| + 1, and the time complexity is O(n 2 ) steps [13]. In [14], Bharghavan et al. proposed a distributed approximation algorithm. Its approximation ratio is O(H(∆)), and both its message complexity and time complexity are O(n 2 ), where ∆ is the maximum degree and H() is the harmonic function. Wu et al. proposed a different distributed approximation algorithm in unit disk graphs [15]. Its approximation ratio is O(n), and its message complexity and time complexity are Θ(m) and O(n 3 ), respectively. In [16], the approximation ratio is 8, and message complexity and time complexity of the both algorithms are O(n) and O(n∆), respectively. In [17], the approximation ratio is 8, and message complexity and time complexity are O(nlogn) and O(n), respectively. In [18], Wu et al. proposed a distributed approximation with approximation ratio O(1) in unit disk graphs. In [19], the approximation ratio is O(1), and both its message complexity and time complexity are O(n). Simonetti et al. presented new valid inequalities, an integer programming formulation, and a branch-and-cut algorithm [20]. Gendron et al. proposed the branch-and-cut, benders decomposition, and memetic approaches for the problem [21]. However, the solution obtained by the approximate algorithm is usually much worse than the optimal solution. Recently, researchers are committed to heuristic development for the MCDS problem in order to produce a good or near optimal solution in a reasonable time. They are mainly one-step based algorithm [8] or two-step based algorithms [7,22,23], or greedy heuristic based algorithms [24,25]. Misra et al. proposed a multi-step collaborative cover heuristic approach in literature [9]. The MCDS problem was also solved by neural networks method [26], simulated annealing with tabu search [27], and the ACO algorithm [28,29]. Li et al. proposed the algorithm GRASP, which incorporates an efficient local search algorithm based on two key components (the tabu strategy and the greedy function) [30]. Wang et al. presented a variable-depth neighborhood search (VDNS) algorithm for solving the MCDS problem [31]. Salim et al. presented an ant colony optimization algorithm based on a reduced variable neighborhood search [32]. However, fewer heuristic algorithms are designed for solving the problem. Thus, in our paper, we propose a multi-start local search with a vertex score mechanism and configuration checking mechanism for solving the MCDS problem.
First, a vertex fitness based vertex score mechanism is proposed to enable the search to jump out of local optimum to a new area to continue the search. In the vertex score mechanism, each vertex's score value is dynamically updated according to the vertex fitness mechanism. Second, we use a configuration checking mechanism to reduce the cycling problem in the local search phase. The configuration checking (CC) mechanism was proposed for solving a minimum vertex cover problem in the literature [33]. The CC mechanism considers the environmental information of the vertex to change its state rather than the direct properties of the vertex. The CC mechanism has been applied in local search algorithms for combinatorial optimization problems such as minimum weighted vertex cover [34,35] and set covering [36], as well as constraint satisfaction problems such as satisfiability [37][38][39], maximum satisfiability [40], and a minimum weighted clique problem [41]. However, as far as we know, the configuration checking mechanism has not been applied to MCDS problem.
In order to improve the robustness and efficiency of the algorithm, the multiple-start mechanism is adopted. By incorporating the mechanisms described above, an efficient algorithm MSLS is presented to tackle the MCDS problem. In order to verify the effectiveness of MSLS, we compare it with five other algorithms, called Greedy [42], ACO [28], ACO+PCS [28], GRASP [30], and VDNS [31]. The results of the experiment describe the fact that the presented algorithm performs better than other algorithms in solution quality and time efficiency, and we obtain new upper bounds on some instances.
The rest of this paper is structured as follows. The related definitions and concepts are introduced in Section 2. The vertex fitness mechanism and the vertex score mechanism are described in Section 3. Section 4 introduces how to apply the CC mechanism to the minimum connected dominating set problem. Section 5 designs a new vertex flipping mechanism to guide the direction of local search. Section 6 shows the presented multi-start local search algorithm, called MSLS. Section 7 shows and analyzes the results of the experiment. Finally, Section 8 summarizes the whole paper and briefly discusses the future direction of work.

Preliminaries
Given an undirected connected graph G = (Vt, Eg), where Vt = {v 1 , v 2 ,· · · , v n } is the vertex set and Eg = {e 1 , e 2 ,· · · , e m } is the edge set. The network is modeled as an undirected connected graph, where the vertices represent the nodes and the edges represent the communication links. We use N(a) = {b∈Vt| (a, b)∈Eg} to denote the set of neighbors of a vertex a, and use d(a) = |N(a)| to denote the degree of a. We denote N[a] = N(a)∪{a}. Given a candidate solution S, we use x j ∈{0, 1} to denote the state of a vertex a j , where x j = 1 means a j ∈S, and x j = 0 means a j S. We say a vertex a∈Vt dominates b∈Vt if a = b or (a, b)∈Eg. In addition, we call the vertices belonging to S as dominating vertices, whereas we call the remaining vertices as dominated vertices. We define several different versions of dominating set problems as follows.

Definition 1 (dominating set (DS)).
In an undirected graph G = (Vt, Eg), the dominating set problem is to find a vertex subset S⊆Vt, such that every vertex in Vt\S has at least one neighbor in S.

Definition 2 (minimum dominating set (MDS)).
In an undirected graph G = (Vt, Eg), the minimum dominating set problem is to find a dominating set S with the minimum cardinality.

Definition 3 (connected dominating set (CDS)).
In an undirected connected graph G = (Vt, Eg), the connected dominating set problem is to seek a dominating set S, such that the subgraph G(S) = (S, Eg(S)) is connected, where Eg(S) = {(a, b)∈Eg |a∈S, b∈S}.

Definition 4 (minimum connected dominating set (MCDS)).
In an undirected connected graph G = (Vt, Eg), the minimum connected dominating set problem is to seek a connected dominating set S with minimum cardinality. The linear programmin g model can be stated as follows: Subject to : connected(x) where x i is an indicator variable that is equal to 1 if vertex a i is included in the candidate solution and otherwise x i is equal to 0; y ij is an indicator variable that is equal to 1 if vertex a i dominates vertex a j and otherwise y ij is equal to 0. Equation (2) ensures that each vertex a i ∈Vt\S is dominated by at least one vertex in S and Equation (3) imposes the connectivity of the subgraph induced by S, by enforcing articulation points [21]. Equations (4) and (5) are the integer constraints.

Vertex Fitness Based Vertex Score Mechanism
In the local search procedure for solving the MCDS problem, the vertex score mechanism plays a key role in selecting which vertices to flip, which will allow the search to be conducted in a more efficient direction. In this paper, the vertex score mechanism mainly depends on the fitness value of the vertex. We shall describe the vertex fitness as follows.

Vertex Fitness Mechanism
The vertex fitness mechanism plays an important role in vertex score mechanism. Specifically, in the vertex fitness mechanism, each vertex is associated with an integer number, which is known as fitness. In the local search process, each undominated vertex's fitness in Vt\S will be increased by one. The updating of fitness value will affect the scores of the related vertices, so that the algorithm can effectively jump out of the local optimal optimum. It is worth noting that the vertex fitness mechanism in our algorithm MSLS is a very generalized strategy, similar to a vertex weighting strategy, which has been successfully applied to solve MVC [33], MWVC [35], and MKDS [42]. To illustrate the problem, we first give the definition of vertex fitness.

Definition 5 (vertex fitness).
In an undirected graph G = (Vt, Eg), each vertex a∈Vt is assigned a positive integer number fitness(a), which is dynamically updated in the local search procedure.
In our implementation, we update the fitness values of the vertices according to the following two rules.

Rule 1.
During initialization, the fitness value (fitness(a)) of each vertex a∈Vt is assigned to 1.

Rule 2.
During the local search process, we will check if each vertex a∈Vt is dominated at the end of the iteration, and add the fitness value of the undominated vertex by 1.

Vertex Score Mechanism
Based on the vertex fitness mechanism introduced in the Section 3.1, we propose a vertex scoring mechanism to measure the benefits of flipping the vertex state. The score of vertex a is denoted by v_score(a) as follows: v_score(a) = solution_score(S) − solution_score(S'), where S denotes the current candidate solution, S' = S\{a} if a∈S, and S' = S∪{a} otherwise, and solution_score(S) denotes the total fitness of vertices undominated by S. solution_score(S) is used to measure the quality of candidate solution S, and the smaller the value solution_score(S), the better the quality of the solution S. When the value solution_score(S) is 0, the candidate solution S is feasible. solution_score(S) is defined as follows:

Configuration Checking Mechanism
The cycling problem is an inherent problem in local search, and the effective mechanism of avoiding cycling problem can improve the performance and efficiency of the search algorithm. The configuration checking mechanism is designed to avoid the cycling problem, which is originally introduced in [33] for solving minimum vertex cover problem. We first introduce the basic idea of configuration checking mechanism. For vertex a, its configuration denotes the states of its all neighbor vertices. If a's configuration is not changed since it was deleted from the candidate solution, then it is inhibitory added back into the candidate solution. The configuration checking mechanism is generally implemented with a Boolean vector called config, if config(a) equals 1, then the vertex a is permitted to be added into the candidate solution; otherwise, vertex a is not allowed to be added into the candidate solution.
The configuration checking mechanism for MVC can be modified for the MCDS problem straightforwardly. In the beginning, the value of config(a) is initialized as 1 for each vertex in Vt. Afterwards, if a vertex a is removed from S, then the value of config(a) is assigned to 0 and for each vertex b∈N(a), config(b) is assigned to 1. Similarly, if a vertex a is added into S, for each vertex b∈N(a), config(b) is assigned to 1.

Vertex Flipping Mechanism
The process of local search for solving the connected dominating set is to flip the state of a vertex in each iteration in order to obtain a new candidate solution and judge whether the candidate solution is better than the current optimal solution. It is important to flip the state of which vertex in each iteration. Using the vertex fitness based vertex score mechanism introduced in Section 3 and the CC mechanism introduced in Section 4, we propose the vertex flipping mechanism. First, we shall describe the definition of solution connected elements.
Definition 6 (solution connected elements (SCE)). Solution connected elements are vertices with the most times appearing in the neighbors of each connected component of the candidate solution S [30].
One of the difficulties in solving the connected dominating set problem is how to guarantee the connectivity of the solution. Just like reference [30], we also use SCE to guarantee the connectivity of the solution. According to the definition of SCE, if the number of the connected components is equal to the time that vertex a appearing in each connected component neighbors and vertex a is flipped, then the candidate solution will change from not connected to connected. If they are not equal, then the algorithm will flip the vertex with the most times appearing in each connected component neighbors, so that the candidate solution can more easily connect in the future local search step.
Based on previous consideration, Algorithm 1 describes which vertex's state is flipped to add it into the candidate solution. In Algorithm 1, from the vertices in SCE with config value of 1, the procedure prefers to flip the vertices with the maximum v_score value (lines 3-6). If there are multiple vertices, Algorithm 1 will flip the vertex with the old age (lines 7-8). At the end of the procedure, the state of the flipped vertex will change from 0 to 1 (line 11), the configs and v_scores of related vertices and SCE set will be updated accordingly (lines 12-16). Similarly, Algorithm 2 describes which vertex's state is flipped to remove it from the candidate solution. In Algorithm 2, from the candidate solution, we prefer to flip the vertices with the maximum v_score value (lines 3-5). If there are multiple vertices, Algorithm 2 will flip the vertex with the old age (lines 6-7). At the end of the procedure, the state of the flipped vertex remove_v will change from 1 to 0 (line 10), and the configs and v_scores of related vertices and SCE set will be updated accordingly (lines [11][12][13][14][15][16].

Framework of MSLS
In this section, we will discuss the main framework of our algorithm MSLS and its parts. Before we introduce the framework of MSLS, we first introduce the construction of the initial solution.

Initial Solution Construction
Algorithm 3 describes how to construct an initial solution in each restart of our MSLS algorithm. At the beginning of the procedure, each vertex's v_score in Vt is initialized to the vertex's degree. Afterwards, the candidate solution S is initialized NULL, and SN (solutions neighbors) is used to store the neighbors of the vertices in the candidate solution S, flipping such a vertex does not break the candidate solution's connectivity. If the candidate solution S is empty, each vertex in Vt can be flipped into S, so SN is initialized to Vt; otherwise, SN contains the neighbors of the vertices in the candidate solution S, that is, SN ← ∪ a∈S N(a) ∪ Vt\S. In the main loop of the initial solution construction procedure, the v_score of each vertex in Vt is first calculated according to Formula (6). Then, a vertex is flipped to be added into the candidate solution greedily (breaking ties randomly) from SN to construct the initial solution. The cycle will continue until the candidate solution becomes a feasible solution. b← such a vertex with greatest v_score in SN, breaking ties randomly; 6: S← S∪{b}; 7: SN← ∪ a∈S N(a) ∪ Vt\S; 8: endwhile 9: return S;

Algorithm MSLS
Our algorithm MSLS (Algorithm 4) is based on a multi-restart framework. In the multi-restart framework, the algorithm repeatedly performs the initial solution construction stage (line 3) and the local search stage (lines [4][5][6][7][8][9][10][11][12][13][14]. Local search starts with the initial candidate solution to find a higher quality solution. Specifically, the initial candidate solution is constructed by the greedy method (line 3), on which we use the local search method to seek the local optimal optimum (lines 6-12). Once a connected dominating set S is obtained, the algorithm flips a vertex in the candidate solution to remove it from S (line 8) until there are some undominated vertices. Then, the algorithm exchanges two vertices iteratively until S becomes a feasible solution (lines 11 and 12). Repeat this process until the best solution has not been improved within specific threshold MAX_no_improve (lines [5][6][7][8][9][10][11][12][13][14]. Finally, we restart the previous process for a given time in order to search in different promising areas. With the techniques above, MSLS is described as follows in Algorithm 1. Note that S denotes the local optimum found by local search, S * records the best solution obtained so far, and N start indicates the maximum restarting times. In our experiments, N start is set to be 100, and MAX_no_improve is set to be 10,000.

Computational Experiments
In this section, we will test the performance of our algorithm MSLS. We compare our algorithm MSLS with the current best algorithms on a large number of benchmark instances. In addition, we analyzed the effectiveness of each proposed mechanism.

Benchmark Instances
We use the benchmarks provided in [21] and [28] to test our algorithm. The benchmark instances are divided into three categories. The first group of instances (Type I) was tested on the Tenth International Conference on Logic Programming and Nonmonotonic Reasoning (LPNMR'09) [28]. The second benchmark instances (Type II) corresponds to ad hoc network clustering problems [28], which are generated by Jovanovic et.al presented in the paper [43]. The third one (Type III) was introduced in [44] used in [21]. The densities of the third instances are ranging from 5 to 70%, and the vertex number of each instance is ranged from {30, 50, 70, 100, 120, 150, 200}.

Comparison with State-of-the-Art Algorithms
In this section, we compare our proposed algorithm MSLS with the current best algorithms, i.e., Greedy [7], ACO [28], ACO+PCS [28], GRASP [30], and VDNS [31]. The greedy algorithm first uses a greedy heuristic approach to find a dominating set, and then applies a steiner tree algorithm to make the dominating set connected. ACO algorithm is a basic Ant Colony Optimization Algorithm. ACO+PCS is an improved version of ACO, which incorporated the Pheromone Correction Strategy. The GRASP algorithm integrates two key components (greedy function and tabu strategy) to ensure the high efficiency. VNDS is a variable-depth neighborhood search algorithm with an effective partition-based neighborhood structure, pruning the search branch strategy, and the incremental evaluation technique. Note that our presented algorithm is executed 10 times on each instance of the three types of instances like algorithms ACO, ACO + PCS, and GRASP.
Our algorithm MSLS is coded in C, and it runs on a computer with Intel(R) Xeon(R) CPU E7-4830 (Dell, Xiamen, China) with 2.13 GHz. LPNMR'09 runs on a computer with Genuine Intel Intel(R) Core(TM)2 CPU 6600 with 2.40 GHz. ACO and ACO + PCS run on a computer with Genuine Intel Intel(R) Core(TM)2 CPU E8500 with 3.16 GHz. GRASP runs on a computer with Intel(R) Xeon(R) CPU E7-4830 with 2.13 GHz. VNDS runs on a computer with Intel i3 CPU of 2.1 GHz.

Experimental Results
To test the effectiveness of MSLS algorithm, we compare MSLS with other current best algorithms in terms of both the best solutions and running time. We also show the lower bound (denoted LB) obtained from the Lagrangian dual problem solved by the subgradient method and the lower bound can be used as a stopping criterion to verify if optimum has been found. Our heuristic algorithms all give the upper bound of the objective value. In Table 1, we give the experimental results of the Type I instances.  In Table 1, the first column Problem indicates the number of vertices and edges. In addition, the third column LPNMR shows the best results known as originally provided in literature [28]. In all benchmark instances, algorithms ACO, ACO + PCS, GRASP, VDNS, and MSLS can obtain the optimal solutions, so we omit the best found solutions. Column Avg indicates the average objective values of each algorithm. For Avg, our algorithm MSLS and GRASP are better than other algorithms on two instances (70 × 250, and 90 × 600). For standard deviation (St.), algorithms MSLS and GRASP both obtain 0 for each instance, which means that MSLS and GRASP obtain best solutions each run. Columns Tim shows average running time in second for 10 runs. Our algorithm MSLS is faster than other algorithm on most instances. The bold values indicate the best solution values obtained among the compared algorithms. The bold values in other tables mean the same thing.
In Table 2, we show the results of the Type II instances. The first column Problem indicates the instance names. For these types of instances, we only compared the best found solutions (Min) and the average solutions (Avg) for the five algorithms ACO, ACO+PCS, GRASP, VDNS, and MSLS. We observed that the greedy algorithm performs poorly on most problems compared to other algorithms. Compared with the greedy algorithm, ACO and ACO+PCS methods can improve the best solution by about 2-3 times, GRASP, VDNS and MSLS methods improve the best solution by about 3-4 times. Specifically, MSLS improves the best found solutions on 14 instances, obtains the best found solutions for other 26 instances, and only gets a worse solution (2000 × 300 × 200) than algorithm VDNS. For the average solution, MSLS improves the result quality in 40 instances except one (400 × 80 × 80). For the instance, GRASP and MSLS obtain the same average solution. Comparing the MSLS algorithm and GRASP algorithm, MSLS is faster than GRASP by 1-3 times. Comparing the MSLS algorithm and VDNS algorithm, VDNS obtained the best solutions within 30 s, and MSLS could obtain the same or better solutions within less than 30 s. In Table 3, we show the results of the Type III instances. The first column Problem indicates the instance names. For these types of instances, we compared the best found solutions (Min) and the average solutions (Avg) of the three algorithms GRASP, VDNS, and MSLS. The optimal solutions are given in the literature [21]. Column OPT indicates the optimal solution of each instance. For 41 instances, GRASP can obtain 33 optimal solutions, VDNS can obtain 40 optimal solutions, and MSLS can obtain all optimal solutions. From Tables 1-3, we can see that there's a big gap between the solution obtained by MSLS and the lower bound (LB) for most instances. We test the two variants together with MSLS on the Type II Instances. As is shown in Table 4, MSLS performs better than MSLS-CC on almost all instances for best solutions (Min) and average solutions (Avg). For best solution, MSLS and MSLS-VF could obtain similar solutions. For average solutions, MSLS outperforms MSLS-VF on most instances. Therefore, we can come to the conclusion that the configuration checking mechanism and the vertex fitness mechanism presented in our algorithm are really efficient and play a significant role in tackling the MCDS problems.

Conclusions
In this paper, we presented a new local search algorithm, namely MSLS, to solve the minimum connected dominating set problem. The vertex score mechanism can make the algorithm jump out of the local optimum when it is trapped in the local optimum. Then, the configuration checking mechanism was applied to avoid the cycling problem in local search phase. Furthermore, we proposed a vertex flipping mechanism to change the vertex state by combing the CC mechanism with the vertex score mechanism. Based on the above mechanisms, we proposed the multi-start local search algorithm. We compared our algorithm MSLS with other state-of-the-art algorithms on a number of benchmark instances. The results of the experiment show that our proposed algorithm is superior to other algorithms in solution quality and time efficiency. For the Type I instance, MSLS found optimal solutions for all nine instances. For the Type II instance, MSLS improved 14 optimal solutions of 41 instances. For the Type III instance, MSLS obtained optimal solutions for all 41 instances. In the future work, our algorithm can be extended to solve other combinatorial optimization problems, such as the set-union knapsack problem [45], the minimum conductance graph partitioning problem [46], the set k-covering problem [47], and the partial vertex cover problem [48].