1 Introduction
Given a graph
, a clique
is a subset of
such that every two distinct vertices in
are adjacent. As a basic concept of graph theory, one of the major concerns for the model of clique is the identification of cohesive subgroup, which has already lots of valuable applications in many fields, such as biological computing [
1], chemoinformatics [
2], and social network analysis [
3,
4]. In practice, many real-world applications cannot be directly modeled as the clique because the model of clique is too strict. To overcome the impracticalities stemming from the ideal model of the clique, a series of clique relaxation models based on different kinds of relaxation constraints are proposed to deal with real-world applications such as
-club [
5],
-plex [
6],
-quasi-clique [
7], and
-defective [
8].
Since the above clique relaxation problems involve relaxing certain constraints, each of them has distinct real-world applications. For example, the
-plex is a degree relaxation model of clique, and it aims to define a certain degree of local non-connectivity within a subgraph. Thus, it has been applied to the criminal network analysis field, whose major challenge lies in dealing with intelligence that often contains errors or incomplete information [
9]. The
-club model restricts the shortest distance between vertices in the subgraph, which reflects the “spread” in real-world scenarios. As a result, the
-club model has been utilized in modeling epidemic control [
10] and internet research [
11]. The
-quasi-clique and
-defective models have similar types of constraints. The
-quasi-clique model directly employs a density constraint, while the
-defective-clique model can be regarded as an adapted version of the density constraint. Both of these models can be applied to protein detection [
12,
13].
As is known, the above mentioned clique relaxation problems are NP-hard problems [
14–
18], which means that, unless P = NP, there is no polynomial-time algorithm for these problems. Recently, state-of-the-art exact algorithms for
-plex [
19],
-defective [
8],
-quasi-clique [
20], and
-club [
21] have been proposed. Because of the NP-hardness of these problems, many researchers turn to designing heuristic algorithms for solving the clique relaxation problems to obtain a good solution within an acceptable time limit. During the past decades, many representative heuristic algorithms have been designed for handling different clique relaxation problems, including
-club [
5,
22–
24],
-plex [
25–
28], and
-quasi-clique [
7,
29–
31]. Among the heuristic algorithms for the maximum
-quasi-clique problem, NuQClq [
7] has demonstrated state-of-the-art performance. It utilizes a novel variant of the configuration strategy called BoundedCC and employs a cumulative saturation-based scoring function. As for the maximum
-plex problem, DCCplex [
26] and KLS [
27] have shown to be the top-performing algorithms. Furthermore, for the
-club problem, NukCP [
24] clearly outperforms other heuristic algorithms. It incorporates a dynamic reduction method and a stratified threshold configuration checking strategy.
The general local search framework for clique relaxation problems usually consists of initialization and search procedures. It works as follows: iteratively generate an initial solution and then explore a good candidate solution until the termination condition is reached. Nevertheless, the improvements of previous local search algorithms for clique relaxation problems mainly concentrate on designing some strategies for the search procedure, such as cycling strategy [
24,
26], scoring function [
7], reduction strategy [
24], and perturbation strategy [
25,
27]. Compared to lots of novel strategies in the search procedure, most of these algorithms adopt a frequency-based initialization method. Although a good initial solution has a great impact on the results of the subsequent search procedure, there are few works on studying a specialized initialization process for clique relaxation problems.
In this study, to improve the performance of the initialization procedure of local search algorithms for clique relaxation problems, we propose a group driven initialization method that consists of a group-based initialization method , as well as two group generation and maintenance procedures GPsea and GPstr. Both GPsea and GPstr consider the useful information of the search procedure and the structure information of a given instance to a certain extent. In detail, vertices are divided into subgroups based on a novel local optimal matrix and the definition of modularity. Based on the group information of vertices, an initial solution is obtained based on a roulette wheel method. We remark that the proposed group driven initialization method does not impact the search procedure, and thus any local search algorithm based on the general local search framework for clique relaxation problems can directly apply this proposed method. In our work, we apply the proposed initialization method to three local search algorithms that achieve the state-of-the-art performance for -quasi-clique and -plex, respectively. Extensive experiments are carried out to evaluate the improved algorithms using our proposed initialization method on the benchmarks used in the literature. Results show the superiority of our proposed initialization method over a common general initialization method.
This paper is organized as follows. In Section 2, we introduce some preliminary definitions. In Section 3, we present our group driven initialization method. Finally, in Section 4, we present the experimental results.
2 Preliminary
An undirected graph consists of a vertex set and an edge set . The density of graph is denoted as . For an edge , vertices and are the endpoints of the edge. Two vertices are neighbors if and only if they belong to the same edge. Given a vertex , its neighborhood is and its close neighborhood is . The degree of a vertex is defined as the number of its neighbors, denoted as . Given a vertex set , its neighborhood is and its close neighborhood is . Given a vertex set , the induced subgraph is a subgraph of if and the edge set includes all the edges in that have both endpoints in . Given a vertex set , a group set is defined as where each vertex in is partitioned into a specific subgroup (e.g., ).
Given a graph and a fixed constant , a -quasi-clique is a subset such that . The maximum quasi-clique problem (MQCP) aims to find a -quasi-clique with the most vertices of a given graph.
Given a graph and a positive integer , a -plex is a subset such that the degree of each vertex in is at least . The maximum -plex problem (MKPP) aims to find a -plex with the most vertices of a given graph.
2.1 A general local search framework for clique relaxation problems
A general local search framework for clique relaxation problems is shown in Algorithm 1, including two procedures: the initialization procedure (Line 2) and the search procedure (Line 3). In the beginning, an initial feasible solution is generated by calling the initialization method, and then the algorithm uses the search procedure to improve the solution until some stop criterion is reached. A local best solution obtained by the search procedure is stored in . At the end of this search trajectory, if the local best solution is better than the global best solution , is updated by (Line 4). Finally, the algorithm returns (Line 5).
In the following, we will introduce a general initialization method as below.
A frequency-based initialization method [
7,
25–
27]. Each vertex
has a property: frequency, denoted as
. It works as follows: 1) at the beginning,
, for each
; 2) whenever vertex
is moved (i.e., to be added or removed), the value of its
will be increased by 1. The
method iteratively picks a vertex with the smallest
value, with ties broken randomly, until an initial solution cannot be extended. In each iteration, the selected vertex needs to satisfy the constraint of clique relaxation problems.
2.2 The roulette wheel selection method
In our work, we mainly use a roulette wheel selection method to decide which vertex is a candidate vertex [
32]. The roulette wheel selection method is a stochastic selection method, where the probability for the selection of an individual is proportional to its fitness. Let us consider
individuals, each characterized by its fitness
where
. The selection probability of the
th individual is defined as
.
3 A group driven initialization method
In this section, we design a group driven initialization method for clique relaxation problems, which includes a novel initialization procedure and two group generation and maintenance procedures. Various types of graphs have been employed to evaluate the performance of our proposed algorithms in our experimental section. We observe that most sparse graphs are with special structural features and thus we can easily take full advantage of the structural information to group all vertices and then construct a high-quality initial solution, which can be a good starting point for the subsequent search procedure. However, for the remaining graphs, especially for the dense graphs, we hardly learn some useful structural information from them and thus we turn to refer to the search information between vertices during the search procedure. After that, we mainly group all vertices based on the search information and then generate a good initial solution.
Based on the above considerations, Section 3.1 proposes a group-based initialization procedure Initgdi based on the group information. In Sections 3.2 and 3.3, to obtain the group information, we present two kinds of group generation and maintenance procedures, i.e., search-based group procedure GPsea and structure-based group procedure GPstr.
3.1 A novel group-based initialization procedure
For the proposed group-based initialization procedure , we apply two group procedures, including GPsea and GPstr to generate and maintain the group information denoted as , where an input parameter denotes the maximum number of subgroups. In our work, we decide whether to use GPsea or GPstr based on the density value of a given graph, which will be further introduced in our experimental section.
At first, assuming that the initial solution in the is denoted as . We give a selection rule for the following .
Roulette wheel selection rule Given a group set that will be defined in Line 6 of Algorithm 2, we choose a subgroup from based on the roulette wheel selection where the fitness value of each subgroup is defined as . Then, for the search-based method GPsea, a vertex is randomly selected from a given subgroup , whereas for the structure-based method GPstr, the algorithm selects a vertex with the biggest value that will be mentioned in Section 3.2.
Based on a given group set and a selection rule, we present a group-based initialization procedure in Algorithm 2. We utilize to denote the set of all candidate vertices which satisfies the constraint of clique relaxation problems and can be added into . In the initialization procedure, if vertices in a given graph have been already grouped and with probability 1-, the algorithm calls a frequency-based initialization method (Line 11). Otherwise, the algorithm chooses a random subgroup from and then the first added vertex is randomly selected from (Line 3). In the loop of adding vertices, if there exist some vertices in that belong to some subgroups in , then the algorithm chooses a candidate vertex according to the roulette wheel selection rule (Lines 6–8). Otherwise, a random vertex is picked (Line 9). Afterward, the selected vertex is added into and the algorithm updates accordingly (Line 10). If becomes an empty set, this loop will be terminated. Finally, the algorithm returns an initial solution (Line 12).
3.2 A search-based group procedure GPsea
In some dense graphs, every vertex is adjacent to most vertices, so it is hard to exploit the structure information to divide vertices into some subgroups. Thus, in this subsection, the search information is mainly exploited. We first introduce the intuition of GPsea and the definition and updating rules of a local optimal matrix that can reflect the search information to a certain extent. Then, the group generation and maintenance procedures of GPsea are displayed.
3.2.1 The intuition of GPsea
The intuition behind GP
sea is inspired by the backbone structure observed in combinatorial optimization problems [
33], which indicates that high-quality solutions often share common components. According to this observation, we consider a scenario where two vertices frequently appear together in some local best solutions. Interestingly, we also find that these pairs of vertices tend to appear in different high-quality local best solutions. As a result, our approach aims to classify these vertices into different subgroups, where each subgroup is associated with different high-quality solutions to some extent. By utilizing GP
sea, the objective of
is to expedite the search process by initializing the initial solution from promising subgroups (i.e., search regions).
3.2.2 A local optimal matrix
In the general search framework for clique relaxation problems, at the end of each search procedure, a local best solution is obtained. It indicates which vertices are included in the local best solution during the current search trajectory. If two vertices often appear in the local best solution, it not only indicates the importance of these two vertices but also implies that they may have high similarity. According to this search information, we first define a local optimal matrix of size where . An element corresponds to the occurrence frequency of a pair of vertices and appearing in a local best solution . It works as follows.
Matrix Rule 1 At the beginning, all the elements in the local optimal matrix are set to 0.
Matrix Rule 2 When is obtained, for each pair of vertices and where are two distinct vertices in , and are increased by 1.
To make readers clearly understand our local optimal matrix, we present an example in Fig.1.
Given a graph , we use the information of matrix to divide vertices into at most subgroups, i.e., where the size of each subgroup is . During the search procedure, we think the two adjacent vertices often appearing in the same local best solution should be partitioned into the same subgroup. Thus, to greatly group all vertices in a given graph, we give an objective function to measure the quality of the grouping results.
For a group , its weight is defined as the sum of for all vertex pairs connected by an edge within the group. The objective function is designed to maximize the total weight of all groups.
3.2.3 A Group Generation Procedure for GPsea
To make a good balance between the accuracy and complexity of calculating , we adopt a greedy group generation procedure to divide vertices into some subgroups. In this procedure, we use a two-level scoring function that combines two kinds of information (i.e., search information and structure information). The primary scoring function considers the search information, whereas the secondary scoring function refers to the structure information.
The primary scoring function based on the local optimal matrix is defined as follows.
To maximize the value of objective function , we apply to decide which vertex is selected and then added into a subgroup . To address the issue of tie-breaking in the primary scoring function, we employ the secondary scoring function to further select a vertex among these vertices with the same best . The proposed secondary scoring function considers the cohesive relationship of a vertex and a subgroup , which is defined as follows.
It is easy to observe that the more vertices in are adjacent to , the bigger value. Based on the above scoring functions, we present a selection rule for the adding process of the proposed greedy group generation procedure.
Selection Rule select a vertex from a candidate set with the biggest value, breaking ties by preferring the one with the highest value, further ties are broken randomly.
The proposed group generation procedure is outlined in Algorithm 3.
stores vertices that have not been grouped, which is initialized to
. The group set
is initialized to an empty set (Line 1). There is an outer loop (Lines 2–9) and an inner loop (Lines 6−8), where the outer loop aims to generate a series of subgroups and the inner loop is responsible for formulating a certain subgroup. At the beginning of each outer loop, a vertex set
is initialized to an empty set. The algorithm selects a vertex
with the biggest
value, where the number of times of vertex
appearing in all obtained local best solutions is expressed by
(Line 4).
will be added into
and then be also deleted from
(Line 5). In each inner loop, the algorithm iteratively adds a vertex into
, until
or
(Lines 6–8). During the vertex selection process, the algorithm employs the BMS strategy [
34], i.e., randomly sampling
vertices to compose a candidate set and then selecting a vertex from the candidate set according to the selection rule. After each inner loop, if the size of
equals
, then
will be stored into
(Line 9). At last, the algorithm returns
(Line 10).
3.2.4 A novel group-based search framework with and GPsea
In this subsection, we will modify the general local search framework by using our proposed group-based initialization procedure and search-based group procedure, resulting in a novel search framework (Algorithm 4). In addition, Algorithm 4 will show how to maintain the group information for GPsea in the general local search framework. We remark that Algorithm 4 does not modify the search procedure of Algorithm 1 (i.e., the boxed parts of Algorithm 4 can be skipped). It means that if a local search algorithm for clique relaxation problems is based on the general local search framework, then our proposed group-based initialization procedure and the corresponding grouping generation and maintenance procedures can directly replace the original initialization method of this framework.
Algorithm 4 uses to record the sum of increments of values of all vertices since the last time the greedy group generation procedure was called. To implement it, we define an auxiliary variable . At first, the matrix is initialized according to the matrix rule 1 (Line 1), as well as and are initialized accordingly (Line 2). Whenever a local optimal solution is obtained, and need to be updated (Lines 6–7). If reaches a specific threshold , where is a parameter, is called to group vertices and needs to be recalculated (Lines 8–10). The matrix contains little useful information at the beginning of the search procedure and needs to be constantly updated after each search procedure. Thus, should be called within a certain period.
3.3 A structure-based group procedure GPstr
In this section, we present a structure-based group procedure GPstr for the graphs with obvious structural features. First, we give the intuition of a greedy group generation procedure for GPstr. Moreover, we introduce a group updating procedure based on the definition of modularity. Finally, a group-based search framework with and GPstr is presented.
3.3.1 The intuition of GPstr
Massive sparse graphs often exhibit distinctive community structures, characterized by subgroups of vertices with dense connections internally and relatively fewer connections to vertices outside their respective subgroups. To harness these structural characteristics, we utilize GPstr, which involves two key steps: GreedyGroupstr and GroupUpdatestr. In detail, GreedyGroupstr aims to identify groups of vertices with strong internal connections, while GroupUpdatestr iteratively updates these groups to further differentiate the distinct community structures. During the initialization procedure, our focus lies in selecting a series of vertices within a specific subgroup, with the aim of leveraging the inherent community structure.
3.3.2 A group generation procedure for GPstr
To obtain several initial cohesive subgroups, we design a greedy group generation procedure in Algorithm 5. Variable represents the consecutive times of obtaining an unsatisfied subgroup whose size is less than . Initially, , and are initialized accordingly (Line 1). In the process of generating subgroups, a new subgroup is initialized to a vertex in with the biggest value, and this selected vertex is deleted from (Lines 3–5). Afterward, the algorithm adds a vertex with the biggest value into , which aims to enhance its cohesive structure (Lines 6–8). After the subgroup generating procedure, if equals , then will be stored in and is reset to 0 (Lines 9–10). Otherwise, is increased by 1 (Line 11). At last, if reaches a predefined threshold , will be returned (Line 12).
3.3.3 A group updating procedure for GPstr
To further optimize an initial group set
, our goal is that the vertices belonging to a subgroup are densely connected, whereas vertices belonging to different subgroups are sparsely connected. The concept of modularity, as defined by Newman [
35], is commonly utilized to generate community structures. Modularity values range between 0 and 1, with higher values indicating denser internal connections within the same groups and sparser connections between different groups. In our context, since our focus is solely on the grouped vertices, our objective is to maximize the modularity specifically for these grouped vertices. The objective function is defined as follows:
where an induced subgraph of a subgroup is .
Note that there maybe exists lots of ungrouped vertices in , denoted by . That is, . In the group updating procedure, we only care about verities in the group set and aim to maximize its objective value .
In the following, we propose a novel way to measure the change of modularity during the process of adding or removing a vertex.
Adding process When adding a vertex into a subgroup , we compute the value of modularity by considering a new induced graph where . In detail, before selecting a vertex to add into a subgroup in , the set is considered as an extra subgroup (i.e., ).
Removing process When deleting a vertex from a subgroup , the value of modularity needs to be recalculated based on a new induced graph where . Specifically, after deleting a vertex from a subgroup in , the set is seen as an extra subgroup (i.e., ).
Based on the above assumption, the scoring function
of adding a vertex
is defined as follows [
36].
where . Similarly, we propose a novel deleting scoring function as below.
where .
Based on the definitions of and , we propose the following vertex selection rules.
Add Rule Select a vertex and a subgroup from a candidate set with the biggest value, breaking ties by preferring the one with the highest value.
Delete Rule Select a vertex and a subgroup from a candidate set with the biggest value, breaking ties by preferring the one with the lowest value.
In the adding operation, when multiple vertex-group pairs have the same maximum value, our preference is to select a vertex with the highest frequency. This preference is based on the assumption that vertices with higher frequency are more significant in the search procedure, and thus they should be added to subgroups with higher priority. Conversely, when removing a vertex from its group, we prioritize vertices with lower frequency as they are considered less important. The GroupUpdatestr is presented in Algorithm 6 where parameter is used to control the number of updating . The algorithm adds some vertices and deletes some other vertices to update . Specifically, in each iteration, one vertex within the groups and one vertex outside the groups are swapped. The selection of these two vertices is done using the Delete Rule and Add Rule, respectively. GroupUpdatestr aims to enhance the community structure within the groups.
3.3.4 A novel group-based search framework with and GPstr
A novel search framework based on our proposed group-based initialization procedure and search-based group procedure GPstr is shown in Algorithm 7. We mention again that our proposed methods do not change the search procedure of the general search framework (i.e., the boxed parts) for clique relaxation problems. is used to record the execution number of the search procedure and is a parameter that represents the frequency of updating . Before the search procedure, is initialized through GreedyGroupstr. In each rounds, the algorithm calls to update (Lines 6–7).
4 Experimental results
We conducted experiments to evaluate the proposed initialization method on a broad range of classic and sparse benchmarks.
Three state-of-the-art local search algorithms, including NuQClq [
7] for the MQCP as well as DCCplex [
26] and FD-TS [
25] for the MKPP, all adopt the general search framework (i.e., Algorithm 1). Thus, as described in Sections 3.2.3 and 3.3.3, our proposed group-based initialization procedure
and the corresponding group procedures (i.e., GP
sea and GP
str) can be easily applied to the above algorithms, resulting in three novel algorithms including NuQClq-GDI, DCCplex-GDI, and FD-TS-GDI. For a given instance, if its density value is larger than 0.35, the corresponding algorithm uses GP
sea. Otherwise, it applies GP
str. The source codes of the three algorithms were provided by the authors. For all competitors, we set the same parameters as described in the corresponding literature. All the algorithms are implemented in C++ and compiled by g++ with -O3 option. All experiments are run on Intel Xeon Gold 6238 CPU @ 2.10 GHz with 512 GB RAM under CentOS 7.9.The parameters of our proposed initialization method are tuned by irace [
37]. Specifically, for the GP
str method,
,
,
,
,
and
are set to 100, 50, 20, 10, 50, and 60% while for the GP
sea method,
,
,
, and
are set to 50, 60%, 50, and 850, respectively.
For all instances, all the algorithms are performed 10 independent runs with different random seeds from 1 to 10 and the cutoff time is set to 1000 seconds. For each instance, denotes the best size found, and denotes the average size obtained over 10 runs. When = , we do not report . The bold values in the tables indicate the best solution among all the algorithms. We do not report the results when all the algorithms obtain the same solutions. Note that, for the MQCP and MKPP, the same graph with different is considered as the different instances.
4.1 Results for the MQCP
We collect all used instances from [
7], including 187 classic instances from DIMACS benchmark [
38] and BHOSLIB benchmark [
39] and 102 sparse instances from Florida Sparse Matrix Collection [
40] and Stanford Large Network Dataset Collection. Besides, we consider 65 massive sparse graphs from the Network Data Repository [
41] with more than
vertices and more than
edges, which has been used to test the performance of clique related problems [
42,
24]. For 65 massive sparse graphs,
is set to 0.9, 0.8, 0.7, and 0.6. The total number of newly selected instances is 260.
The results for NuQClq-GDI and NuQClq on classic instances and sparse instances are reported in Tab.1 and Tab.2, respectively. For classic instances, NuQClq-GDI obtains a better solution than NuQClq on 7 instances and only fails on one instance C2000.9 with . As for instances where the algorithms obtain the same best solutions, compared with NuQClq, NuQClq-GDI obtains 10 better average solutions, except for 5 instances. For two sparse benchmarks, NuQClq-GDI achieves better solutions on 13 instances, whereas NuQClq finds better solutions on 3 instances. In terms of average solution, NuQClq-GDI outperforms NuQClq on 23 instances while it is defeated on only 5 instances.
4.2 Results for the MKPP
For the MKPP, we use the same
values as described in the corresponding literature (i.e.,
). We adopt several popular benchmarks from [
26], including 363 classic instances from DIMACS benchmark [
38] and BHOSLIB benchmark [
39] and 108 sparse instances from Network Data Repository [
41]. According to our results, most of these sparse instances are so easy that all algorithms obtain the same quality values. Thus, we select 65 massive sparse instances as our additional benchmark, which has already been described in the previous subsection. In total, 195 (65
3) instances are picked.
Tab.3 summarizes the results of classic and sparse benchmarks for the MKPP. #inst denotes the number of instances in each benchmark. #better and #worse denote the number of instances where FD-TS-GDI and DCCplex-GDI achieve better and worse maximal (or average) results, respectively. For classic benchmarks, no matter the best or average solutions, DCCplex-GDI and FD-TS-GDI perform better than the corresponding original algorithm. As for sparse benchmarks, most of them for all the algorithms achieve the same solution. Nevertheless, for the instances where our proposed algorithm and the corresponding competitor perform differently, our proposed algorithm steadily outperforms its competitor.
We provide the detailed results for FD-TS-GDI and FD-TS on classic and sparse instances in Tab.4 and Tab.5, respectively. Additionally, the results of DCCplex-GDI and DCCplex on classic and sparse instances are shown in Tab.6 and Tab.7, respectively. In the case of classic instances, FD-TS-GDI and DCCplex-GDI outperform their counterparts in finding better maximal solutions in 34 and 20 instances, respectively. They are only defeated in 5 and 1 instances, respectively. When considering the average solutions for classic instances, FD-TS-GDI and DCCplex-GDI outperform FD-TS and DCCplex in 40 and 58 instances, respectively. Regarding the sparse instances, all four algorithms demonstrate similar performance by achieving the same maximal solutions in 300 out of 303 instances. However, FD-TS-GDI and DCCplex-GDI exhibit a slight advantage over their competitors in terms of both maximal solutions and average solutions.
Besides, we present time consumption of all algorithms on the instances where our algorithm and the competitors achieve the same maximal and average solution values. In detail, the average run time of NuQClq, FD-TS, and DCCplex is 26.06, 13.27, and 11.46 seconds, while the average run time of NuQClq-GDI, FD-TS-GDI, and DCCplex-GDI is 22.78, 11.69, and 8.98 seconds, respectively. Obviously, the proposed method clearly improves the time consumption of the local search algorithms for clique relaxation problems.
Moreover, we compare DCCplex-GDI to KLS [
27] and CFS-RLS [
28] on the respective selected benchmarks of the corresponding literature and using the same experiment settings (e.g., run times). The results is presented in Tab.8 and Tab.9. For Tab.8, both DCCplex-GDI and KLS are executed with 100 independent runs, whereas for Tab.9, both DCCplex-GDI and CFS-RLS are executed with 20 independent runs, following the same experimental settings (e.g., run times) as mentioned in the corresponding literature. Remark that, we don’t apply
to the KLS algorithm and compare it with the original KLS algorithm. This is because KLS does not follow the typical “initialize + search” framework. DCCplex-GDI finds better solutions than KLS and CFS-RLS for 18 and 19 instances, respectively, while DCCplex-GDI fails to match the solutions obtained by KLS and CFS-RLS on 14 and 0 instances. Note that DCCplex doesn’t use our initialization method and it only finds 17 better and 27 worse solutions than KLS. Once again, the excellent results of DCCplex-GDI can be attributed to the power of our proposed initialization method.
4.3 Effectiveness of search and structure information
To verify the necessity of the structural information and search information. We compare GPsea with two alternative versions: (1) GPsea1 employs the random selection strategy when the candidate vertices have the same best value, instead of our selection rule; (2) GPsea2 selects a vertex with the biggest , breaking ties randomly, instead of our selection rule. The former version only utilizes the search information while the latter one only applies the structure information. GPstr is compared with two versions: (1) GPstr1 selects a vertex and a subgroup with the biggest or values, breaking ties randomly instead of our add and delete rules; (2) GPstr2 ignores the procedure. GPstr1 only considers the structure information and ignores the search information whereas GPstr2 ignores the structure and search information obtained from . #better and #worse denote the number of instances where our proposed methods find better and worse maximal results, respectively. As shown in Tab.10, the results demonstrate that both search and structure information plays an important role in GPsea and GPstr.
5 Conclusion
In this work, we propose a group driven initialization method for clique relaxation problems. The proposed methods divide the vertices into some subgroups using the search and structure information and then employ the obtained group information to help the algorithm generate an initial solution. We conduct extensive benchmarks to evaluate the performance of the proposed initialization methods and Results show that the proposed initialization method outperforms a common general initialization method for clique relaxation problems.
In the future, to enhance the effectiveness of the proposed method, we intend to incorporate new ideas [
43,
44]. One such idea is the utilization of Hash functions to record local optimal solutions to improve the exploitation of the search procedure. Additionally, we aim to identify the cohesive structure of the given graph through a simpler and more efficient approach. Furthermore, we intend to enhance the proposed method by incorporating a forgetting mechanism. This mechanism will enable the algorithm to concentrate more on recent search information.