Next Article in Journal
Analysis of Structure-Preserving Discrete Models for Predator-Prey Systems with Anomalous Diffusion
Previous Article in Journal
Graph of Outputs in the Process of Synthesis Directed at CPLDs
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

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

1
School of Computer Science and Technology, Jilin University, Changchun 130012, China
2
School of Management Science and Information Engineering, Jilin University of Finance and Economics, Changchun 130117, China
3
School of Computer Science and Information Technology, Northeast Normal University, Changchun 130024, China
*
Authors to whom correspondence should be addressed.
Mathematics 2019, 7(12), 1173; https://doi.org/10.3390/math7121173
Submission received: 17 October 2019 / Revised: 11 November 2019 / Accepted: 20 November 2019 / Published: 3 December 2019

Abstract

:
The minimum connected dominating set (MCDS) problem is a very significant NP-hard combinatorial optimization problem, and it has been used in many fields 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 fitness mechanism to design the vertex score mechanism so that our algorithm can jump out of the local optimum. Secondly, we use the configuration checking (CC) mechanism to avoid the cycling problem. Then, we propose the vertex flipping 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 efficiency on most instances.

1. 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 |aS, 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(n2) 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(n2), 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(n3), 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.

2. Preliminaries

Given an undirected connected graph G = (Vt, Eg), where Vt = {v1, v2, , vn} is the vertex set and Eg = {e1, e2, , em} 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 xj {0, 1} to denote the state of a vertex aj, where xj = 1 means aj S, and xj = 0 means aj 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:
Minimize a i V t x i ,
Subject   to :   a j N [ a i ] y j i 1 , a i V t ,
connected(x)
y i j x i , a i , a j V t ,
x i , y i j { 0 ,   1 } , a i , a j V t ,
where xi is an indicator variable that is equal to 1 if vertex ai is included in the candidate solution and otherwise xi is equal to 0; yij is an indicator variable that is equal to 1 if vertex ai dominates vertex aj and otherwise yij is equal to 0. Equation (2) ensures that each vertex ai 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.

3. 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.

3.1. 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.

3.2. 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:
s o l u t i o n _ s c o r e ( S ) = a V t \ S :   N ( a ) S = f i t n e s s ( a ) .

4. 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.

5. 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).
Algorithm 1 Vertex_flipping_add()
1: Initial max_score = − , add_v = −1;
2: for each vertex a in SCE
3:   if config(a)==0 continue;
4:   if v_score(a) > max_score
5:      max_score = v_score(a);
6:      add_v = a;
7:   elseif v_score(a)==max_score && age(a) > age(add_v)
8:      add_v = a;
9:   endif
10: endfor
11: SS {add_v};
12: for each vertex b in N(add_v)
13:   config(b) = 1;
14: endfor
15: update v_scores of related vertices;
16: update SCE;
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–16).
Algorithm 2 Vertex_flipping_remove()
1: initial max_score = − , remove_v = −1;
2: for each vertex a in the candidate solution
3:   if v_score(a) > max_score
4:      max_score = v_score(a);
5:      remove_v = a;
6:   elseif v_score(a)==max_score && age(a) > age(remove_v)
7:      remove_v = a;
8:   endif
9: endfor
10: SS\{remove_v};
11: config(remove_v) = 0;
12: for each vertex b in N(remove_v)
13:   config(b) = 1;
14: endfor
15: update v_scores of related vertices;
16: update SCE;

6. 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.

6.1. 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 ) V t \ 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.
Algorithm 3 Initial_solution()
1: Initialize v_score(a) = d(a), a Vt;
2: S ;
3: SNVt;
4: While S is not CDS do
5:   b← such a vertex with greatest v_score in SN, breaking ties randomly;
6:   SS {b};
7:   SN a S N ( a ) V t \ S ;
8: endwhile
9: return S;

6.2. 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–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–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 Nstart indicates the maximum restarting times. In our experiments, Nstart is set to be 100, and MAX_no_improve is set to be 10,000.
Algorithm 4 Pseudo-code of MSLS
Input: An undirected connected graph G = (Vt, Eg), Nstart, MAX_no_improve
Output: The best solution S*
1: iter←0; S*← ;
2: while iter < Nstart do
3:   SInitial_solution();           /*see Section 6.1*/
4:   no_improve←0;
5:    while no_improve < MAX_no_improve do
6:     if S is better than S*;
7:      S*←S;
8:      vertex_flipping_remove(); /*see Section 5*/
9:      no_improve←0;
10:      endif
11:     vertex_flipping_remove();      /*see Section 5*/
12:     vertex_flipping_add();        /*see Section 5*/
13:     no_improveno_improve+1;
14:    endwhile
15:   iteriter+1;
16: endwhile
17: return S*;

7. 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.

7.1. 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}.

7.2. 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.

7.3. 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 Table 1, Table 2 and Table 3, we can see that there’s a big gap between the solution obtained by MSLS and the lower bound (LB) for most instances.

7.4. Comparison of Different Versions of MSLS

From the above experimental results and discussion, it can be seen that our algorithm MSLS is superior to other comparison algorithms in most cases. In this section, we will further study the influence of various important factors in our presented algorithm MSLS: vertex fitness mechanism (Section 3), configuration checking mechanism (Section 4). These experiments are tested on the Type II Instances.
We obtain two variants of MSLS algorithm by rewriting the algorithm.
MSLS-CC: the algorithm does not use the configuration checking mechanism.
MSLS-VF: the only difference between MSLS-VF and MSLS is that MSLS-VF uses a static score function instead of the vertex fitness based dynamic score functions described in Section 3.
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.

8. 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].

Author Contributions

Software, R.L. (Ruizhi Li) and S.H.; Methodology, H.L. and R.L. (Ruiting Li); Writing—original draft preparation, R.L. (Ruizhi Li); Writing—review and editing, D.O. and M.Y.

Funding

This work was supported the National Natural Science Foundation of China (NSFC) under Grant No. 61806082, the National Social Foundation of China under Grant No. 19BJY246, the Certificate of China Postdoctoral Science Foundation Grant No. 2019M651208, the Jilin provincial science and technology department project Nos. 20190103030JH and 20190201186JC, and the Jilin education department 13th five-year science and technology project Nos. JJKH20190726KJ and JJKH20190725KJ.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Nehéz, M.; Bernát, D.; Klaučo, M. Comparison of algorithms for near-optimal dominating sets computation in real-world networks. In Proceedings of the 16th International Conference on Computer Systems and Technologies, Dublin, Ireland, 25–26 June 2015; pp. 199–206. [Google Scholar]
  2. Wang, H.; Zheng, H.; Browne, F.; Wang, C. Minimum dominating sets in cell cycle specific protein interaction networks. In Proceedings of the IEEE International Conference on Bioinformatics and Biomedicine (BIBM), Belfast, UK, 2–5 November 2014; pp. 25–30. [Google Scholar]
  3. Wong, B. Cancer Informatics in the Post Genomic Era; Igor, J., Dennis, W., Eds.; Springer: Boston, MA, USA, 2007; Volume 137. [Google Scholar]
  4. Nehéz, M.; Mäsiar, J. On Propagation in Social Networks—A Graph Mining Approach. In Proceedings of the 6th International Workshop on Knowledge Management, Trenčín, Slovakia, 21–22 October 2011; pp. 107–118. [Google Scholar]
  5. Kelleher, L.L.; Cozzens, M.B. Dominating sets in social network graphs. Math. Soc. Sci. 1988, 16, 267–279. [Google Scholar] [CrossRef]
  6. Wuchty, S. Controllability in protein interaction networks. Proc. Natl. Acad. Sci. USA 2014, 111, 7156–7160. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  7. Guha, S.; Khuller, S. Approximation algorithms for connected dominating sets. Algorithmica 1998, 20, 374–387. [Google Scholar] [CrossRef] [Green Version]
  8. Ruan, L.; Du, H.; Jia, X.; Wu, W.; Li, Y.; Ko, K.I. A greedy approximation for minimum connected dominating sets. Theor. Comput. Sci. 2004, 329, 325–330. [Google Scholar] [CrossRef] [Green Version]
  9. Misra, R.; Mandal, C. Minimum connected dominating set using a collaborative cover heuristic for ad hoc sensor networks. IEEE Trans. Parallel Distrib. Syst. 2010, 21, 292–302. [Google Scholar] [CrossRef]
  10. Thai, M.T.; Tiwari, R.; Du, D.Z. On construction of virtual backbone in wireless ad hoc networks with unidirectional links. IEEE Trans. Mob. Comput. 2008, 7, 1098–1109. [Google Scholar] [CrossRef]
  11. Garey, M.; Johnson, D.S. Computers and Intractability, a Guide to the Theory of NP-Completeness; Freeman: San Francisco, CA, USA, 1979. [Google Scholar]
  12. Kamei, S.; Kakugawa, H. A self-stabilizing distributed approximation algorithm for the minimum connected dominating set. Int. J. Found. Comput. Sci. 2010, 21, 459–476. [Google Scholar] [CrossRef] [Green Version]
  13. Marathe, M.V.; Breu, H.; Hunt, H.B., III; Ravi, S.S.; Rosenkrantz, D.J. Simple heuristics for unit disk graphs. Networks 1995, 25, 59–68. [Google Scholar] [CrossRef] [Green Version]
  14. Das, B.; Bharghavan, V. Routing in ad-hoc networks using minimum connected dominating sets. In Proceedings of the ICC’97-International Conference on Communications, Montreal, QC, Canada, 12 June 1997; pp. 376–380. [Google Scholar]
  15. Wu, J.; Li, H. On calculating connected dominating set for efficient routing in ad hoc wireless networks. In Proceedings of the 3rd International Workshop on Discrete Algorithms and Methods for Mobile Computing and Communications, Seattle, WA, USA, 20 August 1999; pp. 7–14. [Google Scholar]
  16. Cheng, X.; Du, D.Z.; Jia, X.; Xue, G. Virtual backbone-based routing in multihop ad hoc wireless networks. IEEE Trans. Parallel Distrib. Syst. 2002. [Google Scholar] [CrossRef] [Green Version]
  17. Wan, P.J.; Alzoubi, K.M.; Frieder, O. Distributed construction of connected dominating set in wireless ad hoc networks. In Proceedings of the Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies, New York, NY, USA, 23–27 June 2002; pp. 1597–1604. [Google Scholar]
  18. Wu, J.; Lou, W. Forward-node-set-based broadcast in clustered mobile ad hoc networks. Wirel. Commun. Mob. Comput. 2003, 3, 155–173. [Google Scholar] [CrossRef] [Green Version]
  19. Gao, B.; Yang, Y.; Ma, H. A new distributed approximation algorithm for constructing minimum connected dominating set in wireless ad hoc networks. Int. J. Commun. Syst. 2005, 18, 743–762. [Google Scholar] [CrossRef]
  20. Simonetti, L.; da Cunha, A.S.; Lucena, A. The minimum Connected Dominating Set Problem: Formulation, Valid Inequalities and a Branch-and-Cut Algorithm. In Network Optimization; Springer: Berlin, Germany, 2011; pp. 162–169. [Google Scholar]
  21. Gendron, B.; Lucena, A.; da Cunha, A.S.; Simonetti, L. Benders decomposition, branch-and-cut, and hybrid algorithms for the minimum connected dominating set problem. INFORMS J. Comput. 2014, 26, 645–657. [Google Scholar] [CrossRef]
  22. Cheng, X.; Ding, M.; Chen, D. An approximation algorithm for connected dominating set in ad hoc networks. In Proceedings of the International Workshop on Theoretical Aspects of Wireless Ad Hoc, Sensor and Peer-to-Peer Networks (TAWN), Chicago, IL, USA, 11–12 June 2004. [Google Scholar]
  23. Min, M.; Du, H.; Jia, X.; Huang, C.X.; Huang, S.C.H.; Wu, W. Improving construction for connected dominating set with steiner tree in wireless sensor networks. J. Glob. Optim. 2006, 35, 111–119. [Google Scholar] [CrossRef]
  24. Butenko, S.; Cheng, X.; Oliveira, C.; Pardalos, P. A New Heuristic for the Minimum Connected Dominating Set Problem on ad hoc Wireless Networks. In Recent Developments in Cooperative Control and Optimization; Kluwer Academic Publishers: Norwell, MA, USA, 2004; pp. 61–73. [Google Scholar]
  25. Butenko, S.; Oliveira, C.; Pardalos, P. A New Algorithm for the Minimum Connected Dominating Set Problem on ad hoc Wireless Networks. In CCCT’03; International Institute of Informatics and Systematics (IIIS): Winter Garden, FL, USA, 2003; pp. 39–44. [Google Scholar]
  26. He, H.; Zhu, Z.; Makinen, E. A neural network model to minimize the connected dominating set for self-configuration of wireless sensor networks. IEEE Trans. Neural Netw. 2009, 20, 973–982. [Google Scholar] [PubMed]
  27. Morgan, M.; Grout, V. Metaheuristics for Wireless Network Optimization. In Proceedings of the Third Advanced International Conference on Telecommunications, Morne, Mauritius, 13–19 May 2007; p. 15. [Google Scholar]
  28. Jovanovic, R.; Tuba, M. Ant colony optimization algorithm with pheromone correction strategy for the minimum connected dominating set problem. Comput. Sci. Inf. Syst. 2013, 10, 133–149. [Google Scholar] [CrossRef]
  29. Nimisha, T.S.; Ramalakshmi, R. Energy efficient Connected Dominating Set construction using Ant Colony Optimization technique in Wireless Sensor Network. In Proceedings of the Innovations in Information, Embedded and Communication Systems (ICIIECS), Coimbatore, India, 19–20 March 2015; pp. 1–5. [Google Scholar]
  30. Li, R.; Hu, S.; Gao, J.; Zhou, Y.; Wang, Y.; Yin, M. GRASP for connected dominating set problems. Neural Comput. Appl. 2017, 28, 1059–1067. [Google Scholar] [CrossRef]
  31. Wang, L.; Zhou, T.; Wu, X. Variable-depth neighborhood search algorithm for the minimum-connected dominating-set problem. Sci. Sin. Inf. Sci. 2016, 46, 445–460. [Google Scholar]
  32. Bouamama, S.; Blum, C.; Fages, J.G. An algorithm based on ant colony optimization for the minimum connected dominating set problem. Appl. Soft Comput. 2019, 80, 672–686. [Google Scholar] [CrossRef]
  33. Cai, S.W.; Su, K.L.; Sattar, A. Local search with edge weighting and configuration checking heuristics for minimum vertex cover. Artif. Intell. 2011, 175, 1672–1696. [Google Scholar] [CrossRef] [Green Version]
  34. Li, R.; Hu, S.; Zhang, H.; Yin, M. An efficient local search framework for the minimum weighted vertex cover problem. Inf. Sci. 2016, 372, 428–445. [Google Scholar] [CrossRef]
  35. Li, R.; Hu, S.; Cai, S.; Gao, J.; Wang, Y.; Yin, M. NuMWVC: A novel local search for minimum weighted vertex cover problem. J. Oper. Res. Soc. 2019. [Google Scholar] [CrossRef]
  36. Wang, Y.; Ouyang, D.; Zhang, L.; Yin, M. A novel local search for unicost set covering problem using hyperedge configuration checking and weight diversity. Sci. China Inf. Sci. 2017, 60, 062103. [Google Scholar] [CrossRef]
  37. Cai, S.W.; Su, K.L. Local search for Boolean Satisfiability with configuration checking and subscore. Artif. Intell. 2013, 204, 75–98. [Google Scholar] [CrossRef] [Green Version]
  38. Cai, S.; Su, K. Configuration checking with aspiration in local search for sat. In Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence, Toronto, ON, Canada, 22–26 July 2012. [Google Scholar]
  39. Luo, C.; Cai, S.; Su, K.; Wu, W. Clause states based configuration checking in local search for satisfiability. IEEE Trans. Cybern. 2015, 45, 1014–1027. [Google Scholar] [PubMed]
  40. Luo, C.; Cai, S.; Su, K.; Wu, W. Ccls: An efficient local search algorithm for weighted maximum satisfiability. IEEE Trans. Comput. 2015, 64, 1830–1843. [Google Scholar] [CrossRef]
  41. Wang, Y.Y.; Cai, S.W.; Yin, M.H. Two efficient local search algorithms for maximum weight clique problem. In Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence, Phoenix, AZ, USA, 12–17 February 2016. [Google Scholar]
  42. Li, R.; Liu, H.; Wu, X.; Wu, J.; Yin, M. An Efficient Local Search Algorithm for the Minimum k-Dominating Set Problem. IEEE Access 2018, 6, 62062–62075. [Google Scholar] [CrossRef]
  43. Ho, C.K.; Singh, Y.P.; Ewe, H.T. An enhanced ant colony optimization metaheuristic for the minimum dominating set problem. Appl. Artif. Intell. 2006, 20, 881–903. [Google Scholar] [CrossRef]
  44. Lucena, A.; Maculan, N.; Simonetti, L. Reformulation and solution algorithms for the maximum leafspanning tree problem. Comput. Manag. Sci. 2010, 7, 289–311. [Google Scholar] [CrossRef]
  45. Wei, Z.; Hao, J.K. Iterated two-phase local search for the Set-Union Knapsack Problem. Future Gener. Comput. Syst. 2019, 101, 1005–1017. [Google Scholar] [CrossRef] [Green Version]
  46. Lu, Z.; Hao, J.K.; Zhou, Y. Stagnation-aware Breakout Tabu Search for the Minimum Conductance Graph Partitioning Problem. Comput. Oper. Res. 2019, 111, 43–57. [Google Scholar] [CrossRef]
  47. Wang, Y.; Li, C.; Sun, H.; Chen, J.; Yin, M. MLQCC: An improved local search algorithm for the set k-covering problem. Int. Trans. Oper. Res. 2019, 26, 856–887. [Google Scholar] [CrossRef]
  48. Zhou, Y.; Wang, Y.; Gao, J.; Luo, N.; Wang, J. An efficient local search for partial vertex cover problem. Neural Comput. Appl. 2018, 30, 2245–2256. [Google Scholar] [CrossRef]
Table 1. Results of each algorithm on Type I instances.
Table 1. Results of each algorithm on Type I instances.
ProblemLBLPNMRGreedyACOACO + PCSGRASPVDNSMSLS
AvgSt.TimAvgSt.TimAvgSt.TimAvgTimAvgSt.Tim
40 × 20055105.80.63.25.30.454.1507.15<1500.05
45 ×25055155.80.43.55.50.54.3508.75<1500.06
50 × 250_168158.10.544.8806.1709.88<1700.05
50 × 250_267177.50.557.10.36.5709.97<1700.06
55 × 25068208.80.985.68.30.457.3809.88<1800.06
60 × 4005715706.1709.17012.77<1700.08
70 × 25011133214.20.741113.91.0413.512011.513<11200.06
80 × 5007920100.44129.80.416.99015.19<1900.08
90 × 6007101910.90.831410.61.0117.39017.210<1900.09
Average6.48.018.18.7 8.3 7.7 8.0 7.7
Table 2. Results of each algorithm on Type II instances.
Table 2. Results of each algorithm on Type II instances.
ProblemLBGreedyACOACO + PCSGRASPVDNSMSLS
MinAvgMinAvgMinAvgTim300 s30 sMinAvgTim
400_80_6012482021.61921.21919.87.118181818.04.6
400_80_7010331617.01516.21415.17.814141414.04.8
400_80_808351214.01213.112127.912121212.05.3
400_80_907411111.81111.61010.68.410101010.05.6
400_80_10062389.088.988.28.68888.05.9
400_80_11062588.588.577.89.07777.05.6
400_80_12051777.577.266.19.86666.07.0
600_100_8014382324.72223.62222.99.021212121.05.8
600_100_9014402223.82123.62020.79.719191919.05.3
600_100_10011381720.01719.01717.910.016161616.06.1
600_100_11010351517.21516.81515.99.615151414.56.1
600_100_1209361516.21415.51313.817.513131313.06.4
700_200_7026964650.74649.64546.544.239393939.613.7
700_200_8022894143.74143.93537.540.833333333.012.3
700_200_9018843436.03335.73030.937.827272626.811.8
700_200_10016752830.82831.02525.835.223232222.511.2
700_200_11014702327.42226.42222.735.620202020.011.5
700_200_12012682123.62123.41819.134.717171717.012.3
1000_200_10026964650.74649.64546.544.539393939.613.5
1000_200_11022924344.94244.83739.541.534343434.111.7
1000_200_12020823739.93739.83435.441.530302930.311.5
1000_200_13018913234.73234.92930.538.426262626.811.5
1000_200_14016763031.32931.32525.735.323232323.110.9
1000_200_15015832829.62628.82324.335.821212121.111.0
1000_200_16014862426.62526.52222.335.020201919.611.5
1500_250_130331586064.56064.35758.658.349494950.017.7
1500_250_140301445357.25257.05052.355.644444444.315.9
1500_250_150271705154.95154.44648.551.041414141.616.7
1500_250_160251514750.54549.84343.749.438383737.714.7
2000_300_200281785558.65258.84950.461.242434343.119.3
2000_300_210261515153.55052.84546.160.139393838.618.1
2000_300_220241404748.94548.44042.159.036363636.316.9
2000_300_230231664447.54446.93939.856.436363434.818.1
2500_350_200411987982.07981.57375.483.161616161.325.6
2500_350_210391857579.17478.2677080.858585657.024.8
2500_350_220362056872.66973.8626778.156565254.325.2
2500_350_230341936669.26668.95960.976.150505051.624.4
3000_400_2105125999101.698104.09094.7116.176777476.335.7
3000_400_220482258895.49197.68287.9108.972737171.933.8
3000_400_230452058691.48690.37881.6105.267686667.032.3
3000_400_240422108285.88084.17476.1100.463656162.531.7
Average22.0108.240.443.340.043.036.838.4 32.732.832.232.7
Table 3. Results of each algorithm on Type III instances.
Table 3. Results of each algorithm on Type III instances.
ProblemOPTLBGRASPVDNSMSLS
MinAvgTimAvgTimMinAvgTim
30_d10151215153.5157 15153.1
30_d2076772.97<1772.4
30_d3044443.54<1442.9
30_d5032333.13<1334.3
30_d7022223.72<1225.2
50_d531213333.72.531<131315.2
50_d10121112122.312<112123.0
50_d2076773.17<1774.5
50_d3054552.45<1555.7
50_d5033333.33<13310.4
50_d7022222.82<12213.6
70_d527222930.65.127<127274.8
70_d10131113133.413<113134.6
70_d2076773.07<1776.1
70_d3054552.95<1559.9
70_d5032331.93<13317.6
70_d7022223.22<12221.4
100_d524212626.74.2241824245.2
100_d10131113132.8131 13136.6
100_d2085883.281 8810.3
100_d3064661.761 6614.8
100_d5042441.741 4427.1
100_d7032331.8 31 3341.4
120_d525232727.82.1253 25256.4
120_d1013111414.31.9131 13137.9
120_d208588.21.782 8813.1
120_d3064661.763 6619.5
120_d5042442.141 4435.2
120_d7032332.031 3356.2
150_d526222728.22.02615 26268.4
150_d1014111515.32.21417 141411.1
150_d2095991.99195 9917.8
150_d3064661.668 6626.5
150_d5042441.743 4450.0
150_d7032331.633 3382.3
200_d527222930.72.22818 272711.8
200_d1016101616.92.116247 161616.6
200_d209599.71.89163 9926.5
200_d3074771.7759 7740.4
200_d5042441.749 4479.4
200_d7032331.732 33136.0
Average9.6 7.59.910.1 9.6 9.69.6
Table 4. Results of MSLS-CC, MSLS-VF and MSLS on Type II graphs.
Table 4. Results of MSLS-CC, MSLS-VF and MSLS on Type II graphs.
ProblemMSLS-CCMSLS-VFMSLS
MinAvgMinAvgMinAvg
400_80_701515.01414.01414.0
400_80_11077.477.077.0
400_80_12066.077.066.0
600_100_1001717.01616.01616.0
600_100_1101515.01414.91414.5
600_100_1201414.01313.01313.0
700_200_1002424.52323.12222.5
700_200_1102121.02020.32020.0
700_200_1201818.01717.11717.0
1000_200_1302727.82626.42626.8
1000_200_1402424.82323.72323.1
1000_200_1602020.51919.81919.6
1500_250_1305051.25050.14950.0
1500_250_1404445.04444.44444.3
1500_250_1603738.43737.23737.7
2000_300_2103839.13838.63838.6
2000_300_2203636.63636.13636.3
2000_300_2303636.03434.83434.8
2500_350_2006162.56161.56161.3
2500_350_2105859.55657.25657.0
2500_350_2205455.85253.55254.3
3000_400_2207273.27172.07171.9
3000_400_2306869.16667.06667.0
3000_400_2406264.36162.66162.5

Share and Cite

MDPI and ACS Style

Li, R.; Hu, S.; Liu, H.; Li, R.; Ouyang, D.; Yin, M. Multi-Start Local Search Algorithm for the Minimum Connected Dominating Set Problems. Mathematics 2019, 7, 1173. https://doi.org/10.3390/math7121173

AMA Style

Li R, Hu S, Liu H, Li R, Ouyang D, Yin M. Multi-Start Local Search Algorithm for the Minimum Connected Dominating Set Problems. Mathematics. 2019; 7(12):1173. https://doi.org/10.3390/math7121173

Chicago/Turabian Style

Li, Ruizhi, Shuli Hu, Huan Liu, Ruiting Li, Dantong Ouyang, and Minghao Yin. 2019. "Multi-Start Local Search Algorithm for the Minimum Connected Dominating Set Problems" Mathematics 7, no. 12: 1173. https://doi.org/10.3390/math7121173

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop