HA-CCP: A Hybrid Algorithm for Solving Capacitated Clustering Problem

The capacitated clustering problem (CCP) divides the vertices of the undirected graph into several disjoint clusters so that the sum of the node weights in each cluster meets the capacity limit while maximizing the sum of the weight of the edges between nodes in the same cluster. CCP is a typical NP-hard problem with a wide range of engineering applications. In recent years, heuristic algorithms represented by greedy random adaptive search program (GRASP) and variable neighborhood search (VNS) have achieved excellent results in solving CCP. To improve the efficiency and quality of the CCP solution, this study proposes a new hybrid algorithm HA-CCP. In HA-CCP, a feasible solution construction method is designed to adapt to the CCP with stricter upper and lower bound constraints and an adaptive local solution destruction and reconstruction method is designed to increase population diversity and improve convergence speed. Experiments on 90 instances of 4 types show that the best average solution obtained by HA-CCP on 58 instances is better than all comparison algorithms, indicating that HA-CCP has better solution stability. HA-CCP is also superior to all comparison algorithms in average solving efficiency.


Introduction
e capacitated clustering problem (CCP) divides the vertices of the undirected graph into several disjoint clusters so that the sum of the node weights in each cluster meets the capacity limit while maximizing the sum of the weight of the edges between nodes in the same cluster.
CCP is closely related to the graph partition problem (GPP) [1][2][3][4][5], where the goal is to find a partition of the vertex set in k classes while minimizing the number of cut edges and respecting a balance constraint between the classes. Moreover, the maximum diversity grouping problem (MDGP) [6][7][8][9][10][11][12][13] is used to partition the vertices of an edgeweighted and undirected complete graph into m groups such that the total weight of the groups is maximized subject to some group size constraints. Consequently, the objective of the handover minimization problem (HMP) in the mobile network [14] is to minimize the sum of weights of the edges with endpoints in different clusters. In addition, CCP also has essential applications in vehicle routing [15] and mail delivery [16].
Optimization problems in real life are becoming more complex, with large-scale, nonlinear, multi-constrain characteristics. In recent years, many intelligent optimization algorithms [17][18][19][20][21][22] have been proposed to solve some complex practical problems effectively. Since Mulvey and Beck [23] proposed the CCP model in 1984, much literature has been on CCP and related issues. e greedy random adaptive search program (GRASP) is an effective method to solve CCP. Deng and Bard [24] combined a GRASP with path relinking (PR) and proposed GRASP-PR with a postprocessing stage. Morán-Mirabal et al. [14] proposed three random heuristic methods to solve the handover minimization problem in mobile networks: a GRASP with path relinking for the generalized quadratic assignment problem (denoted by GQAP), a GRASP with evolutionary path relinking (denoted by GevPR-HMP), and a biased random-key genetic algorithm (BRKGA). Martínez-Gavara et al. [25] proposed the greedy random adaptive search program (GRASP), Tabu search method (TS), a hybrid method combining GRASP and TS (GRASP + TS), and Tabu search with strategic oscillation (TS_SO). Martínez-Gavara et al. [26] proposed three random heuristic algorithms: greedy random adaptive search process (GRASP2-1), iterative greedy (IG), and their hybrid IG-GRASP.
Algorithms based on variable neighborhood search (VNS) [27,28] are another method of solving CCP. Lai and Hao [29] proposed an iterative variable neighborhood search (IVNS) algorithm. Brimberg et al. [30] proposed the general VNS (GVNS) and the skewed general VNS (SGVNS). Lai X et al. [31] proposed the neighborhood decomposition-driven variable neighborhood search (NDVNS) for capacitated clustering. In addition, a Tabu search designed specifically for CCP includes the TS (denoted as FITS) and the memetic algorithm (MA) proposed in the literature [32].
CCP is an NP problem. By imposing upper and lower limits on the size of clusters, CCP becomes a typical constrained clustering problem. e complexity of CCP is related to the scale of the problem and the upper and lower limits of its capacity. Large-scale CCPs require more calculation time to obtain a good solution than those of small and medium CCPs. In particular, it is challenging to find feasible solutions for CCPs with strict upper or lower limits. Literature [26] introduced a hybrid method called IG-GRASP to solve CCP. On the one hand, IG-GRASP initializes a new solution and restarts the search when it falls into the local optimum and fails to break out the local optimum after a preset number of searches. is process discards the results of the previous stage search. As mentioned in [26], it is more efficient to construct a link solution of the current solution than to construct a new solution. On the other hand, as described in Section 3.3, the destruction strength of the current solution by the IG-GRASP destructive method depends on the number of clusters and nodes of the instance. When applying IG-GRASP to solve large-scale instances, the destructive method may excessively destroy the current solution, which is not conducive to the final convergence of the algorithm to a better solution. In addition, the construction method of IG-GRASP is difficult to successfully construct feasible initial solutions for some instances with strict upper and lower limits of capacity. Recently, algorithms based on VNS have been proposed to solve CCP, including IVNS, GVNS, and SGVNS. e experimental results in the literature [32] show that SGVNS has the best performance. We believe this is mainly due to the extension of the search to other promising areas of the solution space by adding skewed acceptance criteria. e algorithms based on VNS all use a random shaking process to introduce diversity to search. To improve the efficiency and quality of CCP solutions, this study proposes a new hybrid algorithm HA-CCP, which intelligently combines IG-GRASP and SGVNS algorithms. HA-CCP follows the framework of SGVNS and uses partial destruction and reconstruction strategies to introduce diversity to search. In addition, we also designed a new initial solution constructive method and partial destructive method to avoid the above limitations in IG-GRASP. e main contributions of this study include the following: (1) A solution construction method CM2 is designed.
Even if the upper and lower boundaries of the cluster are very tight, CM2 can successfully build a feasible solution. It can construct feasible solutions in a wider range of CCP solutions to make the algorithm run correctly and perform better than the random construction method [29,31,32]. (2) A destructive method DM3 is designed to destruct partial solutions. It adaptively destructs the solution according to the number of clusters and nodes of the instance while limiting the maximum number of deleted nodes in large-scale instances. In large-scale instances, the performance of DM3 is significantly better than DM2 [26]. (3) A hybrid algorithm HA-CCP is proposed to solve CCP. e HA-CCP follows the framework of SGVNS, uses the partial destruction and reconstruction strategy to shake the current solution, uses the proposed solution constructor to construct the initial solution, reconstructs the partial solution, and uses the proposed destruction method to destroy the partial solution. Compared with the existing VNSbased CCP algorithm [29][30][31], HA-CCP uses a nonfully random method to shake the current solution to improve the efficiency of the algorithm and the quality of the solution. e experimental results on 90 benchmark test instances show that HA-CCP is superior to all comparison algorithms except NDVNS (because NDVNS [31] does not provide calculation time) in terms of average solving efficiency. In terms of solution quality, HA-CCP obtained 57 best average results and 30 best results, indicating that HA-CCP outperformed all comparison algorithms in average results. However, the solution quality of HA-CCP on MDG-a instances is inferior to NDVNS. e rest of the study is organized as follows. In Section 2, the definition of the CCP and the latest heuristics for CCP are introduced. en, the overall framework of HA-CCP and the proposed construction method CM2 and destruction method DM3 are introduced in Section 3. Section 4 gives the experimental results and time-to-target analysis on benchmark instances. Section 5 analyzes the contribution of the critical algorithmic component to the performance of the proposed algorithms. Finally, conclusions and future work are provided in Section 6.

Background and Literature Review
is section introduces the concept of the CCP and the stateof-the-art CCP algorithms in the literature. Some of these algorithms are also used for analysis and comparison in Section 4. V k ⊂ V, and V i ∩ V j � ∅(i, j ∈ 1, 2, . . . , p and i ≠ j). If v i ∈ V g , let the binary variable X ig � 1; otherwise, X ig � 0, i � 1, 2, ..., n; g � 1, 2, ..., p. e CCP based on G can be expressed as an optimization problem [29,32]: Here, equation (2) requires that each node be allocated and only allocated to one cluster, and equation (3) requires that the sum of the node weight of each cluster is not less than the lower limit of capacity L g and does not exceed the upper limit of capacity U g . e subset of the solution x is called the partial solution of x. [26] is the latest algorithm for solving CCP based on GRASP, as shown in Algorithm 1. It first constructs an initial solution with the construction method CM (line 6) and then improves the initial solution with the local search method IM2-1 (line 7). Subsequently, the algorithm repeatedly applies the destructive method DM2 to destruct the solution (line 9), the CM to reconstruct the solution (line 10), and the IM2-1 for local search (line 11). If several attempts cannot improve the solution (lines [8][9][10][11][12][13][14][15][16][17][18], the algorithm constructs a new solution (line 6) and starts again.

IG-GRASP for CCP. IG-GRASP
In Algorithm 1, CM (line 6) is used to construct a feasible solution. It starts by seeding the p clusters V 1 , V 2 , . . . , V p with p randomly selected nodes. en, the clusters are explored in lexicographical order assigning nodes until all of them satisfy the lower bound constraint. To do so, the candidate list VCL is formed with all the unassigned nodes and the value I(v i , k) � j∈V k c ij is calculated for all pairs (i, k) of nodes and clusters. RVCL k , the restricted candidate list of nodes for cluster k, can be formed as follows: where I max (k) � max I(v i , k), α ∈ [0, 1] is a parameter used to balance randomness and greed. Finally, CM randomly selects a node in RVCL k and assigns to cluster k. e nodes are allocated in this way until cluster k satisfies the lower bound of capacity. en, all clusters are processed in this way until all clusters meet the lower limit of capacity. In the next step, CM assigns all unallocated nodes to these clusters so that each cluster meets the capacity limit constraint. In particular, CM constructs the candidate list CL by equation (6), builds RCL by equation (7), selects one pair (i, k) at random, and assigns node i to cluster k. CM stops when all the nodes have been assigned in this way.
DM2 (Algorithm 1, line 9) is used to destruct part of the solution. It aims to remove some nodes from the cluster so that those nodes can be assigned to a different cluster to increase the value of the objective function. DM2 first constructs a deleted candidate list DCL k for the cluster k (k � 1, 2, ..., p) as follows: where is a threshold, and δ ∈ [0, 1] is a parameter to control the size of the deleted candidate list. e DM2 method deletes the percentage β elements from DCL k of each cluster k. So, the actual number of nodes removed from cluster k is max (1, β|DCL k | , where |DCL k | is the length of the list DCL k .

VNS Algorithms for CCP.
e VNS algorithm is a classic local search algorithm for combinatorial and global optimization problems (see [33][34][35][36]). It first constructs a feasible initial solution and then iteratively applies a shaking and local search to find the global optimal solution. Lai and Hao [29] followed the general VNS framework and proposed iterative variable neighborhood search (IVNS) for CCP. IVNS constructs the initial solution with a random construction procedure, shakes the current solution with a random shaking procedure, and finds the local optimal solution with the extended variable neighborhood descent (EVND).
Brimberg et al. [30] proposed two heuristic algorithms based on VNS to solve CCP. e first is to combine variable neighborhood descent (VND) with general VNS to obtain the general variable neighborhood search (GVNS). e second is to combine VND with skewed VNS to obtain skewed general variable neighborhood search (SGVNS). SGVNS expands the search range to other promising areas of the solution space by a skew operation. e acceptance criteria for skewed moves in SGVNS are described as follows: where x b is the best solution, x is the current solution, and x ″ is the new solution obtained after one application of shaking and local search. ε is a parameter, and function d denotes a measure of distance between two solutions, according to [30], and d(x ″ , x b ) can be calculated as follows: Computational Intelligence and Neuroscience where 1 ≤ i < j ≤ n and g x″,i is the label of the cluster where the node i is located in the solution x ″ . [32] is a Tabu search approach to solve CCP. It starts from generating feasible solutions and then enters the searching stage until the running deadline is reached. e searching stage alternates between a feasible local search phase (FLS for short) and an infeasible local search phase (InfLS for short). If FLS is trapped in a deep local optimum, FITS will switch to InfLS to guide the search towards new search regions. It alternately explores the feasible and infeasible solution space to avoid falling into the local optimum easily.

A Hybrid Algorithm for CCP: HA-CCP
In this section, we propose a hybrid algorithm HA-CCP to solve CCP. HA-CCP uses a process based on the combination of greediness and randomization to construct the initial solution, uses the VND method to perform a local search to find the local optimal solution, and uses the destruction and reconstruction partial solution to shake the current solution. In addition, an acceptance criterion for skewed moves was added to enable HA-CCP to extend the search range to other promising areas of the solution space, thereby reducing repeated searches for some areas of the solution space and increasing the diversity of the search. For ease of description, in the rest of this study, x b represents the best solution obtained so far, x represents the current solution, and x ″ represents the new solution obtained after one application of destruction, reconstruction, and local search of x. (1) x ⟵ EmptySolution(); (2) T ⟵ n ;/ * T is the maximum time allowed, and n is the number of nodes in graph G * / (3) NI ⟵ c * n;/ * NI is the maximum of iteration without improving allowed * / (4) x b ⟵ x;/ * x b is the best solution generated * / (5) while T is not reached do (6) y c ⟵ CM (x b , G) ;/ * CM is the construction method * / (7) x ⟵ IM 2 − 1 (y c ) ;/ * IM2-1 is the local search method * / (8) while l < NI do (9) y ⟵ DM2 (x) ;/ * Partially destruct the solution x * / (10) l ⟵ 0; (15) else (16) l ⟵ l + 1; (17) end if; (18) end while; (19)  solution x is not updated (Algorithm 2 lines 14-21). Because the three processes of partial destruction, reconstruction, and local search have a certain degree of randomness, each iteration will produce a different new solution.
Compared with Algorithm 1 (IG-GRASP), Algorithm 2 (HA-CCP) has the following differences: (1) Local Search. In Algorithm 1, IM2-1 has to be used (Algorithm 1, line 7) to improve the solution, which searches in neighborhood N4(x) [25], but Algorithm 2 applies the VND [30] based on 3 neighborhoods (Algorithm 2, line 5) (2) Partial Destruction Solution. Algorithm 1 partially destructs the solution with DM2 (Algorithm 1, line 9), but Algorithm 2 adopts DM3 (Algorithm 2, line 8) (3) Acceptance Criteria. Algorithm 1 adopts the "always replace" acceptance criterion (Algorithm 1, lines 12-17), but Algorithm 2 adopts the "conditional acceptance" criterion (Algorithm 2, lines 18-20) Compared with the SGNVS algorithm, Algorithm 2 (HA-CCP) has the following differences: (1) In terms of the construction of the initial solution, HA-CCP uses a combination of randomization and greediness to construct the initial solution, and SGNVS uses a completely random construction method to construct the initial solution. (2) In terms of introducing diversity for search, HA-CCP adopts the strategy of destructing and reconstructing the current solution, and the VNS-based SGVNS adopts a completely random shake process.

Construction Method: CM2.
To construct a feasible solution, we propose CM2 in Algorithm 3. CM2 includes two steps. e first step (Algorithm 3, lines 4-16) is as follows: assigning nodes to each cluster until all clusters meet the lower limit of capacity. For cluster p(1 ≤ k ≤ p), CM2 first constructs a candidate list VCL k with all the unallocated Input: graph G � (V, E), the cutoff time T; Output: the best solution x b ; (1) x is an empty solution; (2) x ⟵ CM2 (x, G);/ * Construct an initial solution, Algorithm 3 * / (3) if x is not a feasible solution then (4) return an empty solution; if x″is not a feasible solution then (11) x″ ⟵ x ; (12) end if; (13) x'' ⟵ VND (x″);/ * Improve solution x, refers to [30]  Computational Intelligence and Neuroscience nodes (Algorithm 3, line 6). If the VCL k is not empty (Algorithm 3, lines 7-10), the increment VCL k of the objective function value is calculated and the restricted candidate list RVCL k isconstructed by equation (5).
en, a node in RVCL k is randomly selected and assigned to cluster k. If VCL is empty (Algorithm 3, lines [11][12][13][14], it indicates that all nodes have been allocated, but the cluster in solution x does not meet the lower limit of capacity. In this case, we apply Algorithm 4 to fix x into a feasible solution. e second step (Algorithm 3, lines 18-29) is as follows: assigning the remaining unallocated nodes to suitable clusters. It first constructs the candidate list CL by equation (6). If CL is not empty (Algorithm 3, lines 20-23), the restricted candidate list RCL isconstructed by equation (7). en, a pair of elements (v, k) in RCL is randomly selected and v is assigned to cluster k. All unallocated nodes are allocated in this way. If the CL is empty (Algorithm 3, lines [24][25][26][27], it indicates that there is an unallocated node v, and allocating it to any cluster will cause the cluster capacity to exceed the upper limit. For this case, we apply the LWA (Algorithm 5) for processing. CM2 performs the solution construction process up to 10 times (Algorithm 3, lines 1-3). If the feasible solution is successfully constructed, it will jump out of the loop and return to the feasible solution (Algorithm 3, lines 30-34).
Algorithm 4 describes the repair method. For the cluster g that does not meet the lower limit of capacity, we first construct a feasible move-in node candidate list MCL g (Algorithm 4, line 3) by equation (11). If MCL g is empty (Algorithm 4, line 4), the infeasible solution x (Algorithm 4, line 5) is returned; otherwise, the restricted candidate list RMCL k is constructed in a similar way to the restricted candidate list RVCL k (Algorithm 4, line 6). en, a node in RMCL k is randomly selected and it is moved to the cluster g(Algorithm 4, lines 7-8). e node is moved in this way until all clusters meet the lower capacity constraint, and the repair ends.

Destruction Method: DM3.
To destruct partial solution, [26] proposed DM2. MD2 deletes at least one node for each cluster. For large instances, as the number of nodes and clusters increases, the number of deleted nodes increases for each cluster. On the one hand, it increases the time cost, and on the other hand, it is difficult to converge to a high-quality solution due to too many deleted nodes. To limit the number of deleted nodes, we propose a new destruction method DM3, in Algorithm 6. Algorithm 6 sets the upper limit of the number of deleted nodes to d max (Algorithm 6, lines 8-9). DM3 first selects nodes to be deleted from each cluster to construct the deletion candidate list by equation (8) (Algorithm 6, lines 3-6) and then puts all these nodes in the list GDCL (Algorithm 6, line 7). If the number of nodes in GDCL exceeds d max , d max nodes are randomly selected for deletion from the solution (Algorithm 6, line 11).

Computational Experiments
is section describes the computational experiments that we conducted to evaluate the effectiveness and efficiency of the HA-CCP. We first conducted some preliminary experiments to find suitable parameters for HA-CCP. en, we compare the result of HA-CCP with the state-of-the-art CCP algorithms: IVNS [29], GVNS [30], SGVNS [30], FITS [32], and DNVNS [31]. Section 4.1 introduces benchmark instances and experimental setup, and Section 4.2 describes the comparative experiments on benchmark instances. Section 4.3 illustrates a comparative experiment based on time-to-target (TTT) analysis method.

Benchmark Instances and Experimental Setup.
We conducted experiments to evaluate HA-CCP on 90 benchmark instances (available at http://www.optsicom.es/ccp and [30]), which is commonly used to Input: solution x, AN;/ * Partial solution, unallocated node set * / Output: Computational Intelligence and Neuroscience 7 evaluate algorithms for CCP (see, for instance, [29][30][31][32]). It contains four sets: RanReal240, RanReal480, Ran-Real960, and MDG-a instances. Table 1 lists the experimental datasets. In the second column, n represents the number of nodes of the instance and p represents the number of clusters. We use the following indicators to measure the advantages of each algorithm: #Best/Avg counted the number of instances where a specific algorithm outperforms the other algorithms in terms of the best and the average objective value.
Average Dev best /Dev avg indicates the average percent deviation of a specific algorithm's best/average result from the best solution obtained in all algorithms participating in the comparison, where Dev best � ((f * − f best )/f * ) × 100 and Dev avg � ((f * − f avg )/f * ) × 100, and f best is the best result of each algorithm, f avg is the average result of each algorithm, and f * is the best solution obtained by participating in the comparison of all algorithms.
Avg Time recorded the average calculation time (in seconds) required for a particular algorithm to reach its final objective function value.
p value best /p value avg represents the p value of the best/ average result obtained through the pairwise Wilcoxon statistical test.
Note that, in Section 4.2, we use the result of IVNS, GVNS, SGVNS, FITS, and NDVNS present in [31]. e experiments of IVNS, GVNS, SGVNS, and FITS were executed on an Intel E5-2670 Processor (2.8 GHz) with 2 G Byte RAM running under Linux. HA-CCP is implemented in C++, compiled with the g++ compiler using the option "-O3," and carried out on a server under Ubuntu Linux (version 16.04) with 1 Core of an Intel Xeon (Cascade Lake) Platinum 8269CY 2.5 GHz CPU and 2 G Byte RAM. ese results are obtained by running each instance independently 20 times with the running time set to n seconds, where n is the number of nodes in a given instance. e HA-CCP has five parameters: the parameter α used to balance randomness and greed in CM2, the parameter δ that controls the size of the deleted candidate list in DM3, the percentage β of deleted nodes in the candidate list of each cluster, and the upper limit of the number of deleted nodes d max in DM3 and parameter ε (for skewed moves) in HA-CCP. For α, δ, and β, we conducted the test experiment on 13 instances with different characteristics in RanReal240, RanReal480, RanReal960, and MDG-a. For α, we keep the other parameters unchanged and change the value of α from 0.2 to 0.8 in steps of 0.2. e best value is obtained when α � 0.6. For δ and β, we use a similar method to obtain δ � 0.7 and β � 0.1. e value settings of parameters (α, δ, β) are consistent with the literature [26], so we did not report the results of this experiment.
For d max , we test it in the range of {20, 24, 30, 40, 60}. We conducted this experiment on 9 instances with different characteristics in RanReal960 and MDG-a. e statistical results of the experiment are shown in Table 2. In terms of the best objective function value and average objective function value (#Best/Avg), HA-CCP obtains the best value at d max � 24, including obtaining 4 best objective function values and 6 best average values. According to the average percentage deviation (Avg Dev best /Dev avg ), HA-CCP has the smallest deviation of the best solution obtained when d max � 24 (0.02%/0.15%), and there is not much difference between the parameter values in terms of average time. erefore, we set d max � 24.
For parameter ε, according to [30], ε � 0.01. On this basis, we test ε � 0.01 and ε � 0.005 on 4 instances from RanReal with p ≤ 12 and 13 instances from RanReal240, RanReal480, RanReal960, and MDG-a with p > 12. e test results are shown in Tables 3 and 4. On the instances with p ≤ 2, the effect of ε � 0.01 is better than ε � 0.005. In the other instance, ε � 0.005 presents a better effect. erefore, in instances where the number of clusters is greater than 12, we set ε � 0.005, and in other instances, we set ε � 0.01.

Algorithm Comparison Experiment.
To evaluate the performance of HA-CCP, we compared the solution of HA-CCP, IVNS [29], GVNS [30], SGVNS [30], FITS [32], and NDVNS [31]. e instances in the experiment are divided into small and medium instances and large-scale instances. e experimental statistical results on the datasets of small and medium instances (RanReal240 and  Table 5. Tables 6 and 7 give detailed results. In Table 5, HA-CCP is better than other algorithms on 19 instances in terms of the best objective function value and has better performance on 36 instances from the average result. According to the average percentage deviation, HA-CCP has the smallest deviation from the best solution obtained in the experiment (0.02%/0.13%). e statistical test shows a significant performance difference between HA-CCP and other comparison algorithms (p − value ≤ 0.05), except for the best results of NDVNS. e experimental statistical results on the dataset of large-scale instances (RanReal960) are shown in Table 8.
e detailed results are given in Tables 9 and 10. According to Table 8, HA-CCP has obvious advantages in average results. It obtained 20 best average results out of 30 instances and 11 best results. HA-CCP surpasses other comparison algorithms in terms of the average percent deviation of average result from best-found solutions (AvgeDev avg � 0.19). e p value best /p value avg row shows a statistically significant difference in performance between HA-CCP and all the reference algorithms except NDVNS.
e experimental statistical results on the dataset of large-scale instances (MDG-a) are presented in Table 11.  Tables 12 and 13 give detailed results. It can be seen from Table 7 that NDVNS has obvious advantages in solution quality, but HA-CCP is better than other algorithms (such as IVNS, GVNS, SGVNS, and FITS), which is also proved by the results of statistical testing.
From the above experimental results, it can be seen that (1) the average solving efficiency of HA-CCP on all instances is better than all comparison algorithms except NDVNS (because NDVNS does not give the solution time). (2) In terms of solution quality, HA-CCP obtained 58 best average solutions and 30 best solutions on 90 instances, which is better than all comparison algorithms in average results.
is shows that HA-CCP has better solution stability. (3) e solution quality of HA-CCP on MDG-a instances is inferior to NDVNS. erefore, the improvement of HA-CCP combined with NDVNS deserves further study.

Time-to-Target Analysis.
To further evaluate the efficiency of the HA-CCP algorithm, we apply the time-totarget (TTT) analysis [37], which identifies the empirical probability distribution of the time required to reach a given objective function value. In this experiment, we choose algorithms with known good performance to compare with HA-CCP: VNS, GVNS, and SGVNS. We used the source code of IVNS (http://www.info.univangers.fr/pub/hao/ccp.html), GVNS, and SGVNS (http:// www.mi.sanu.ac.rs/∼nenad/ccp/), which can be found online. e instance we chose in the experiment is the same as the test instance in [32], and the objective function value recommended in [32] is used. We carried out TTT experiments under the calculation conditions described in Section 4.2 by executing 100 times on each instance for each algorithm. For each instance/target pair, the running time is sorted in ascending order, and the probability associated with the ith sorted running time t i is p i � (i − 0.5)/100, and the points (t i , p i ) are drawn. Figure 1 shows the experimental results. e abscissa of the figure represents the time-to-target value in seconds (s). e maximum coordinate value of the abscissa is set to a different value to make the comparisons clearer. It can be seen from Figure 1      Computational Intelligence and Neuroscience Note. In Table 5, the symbol "-" denotes the cases when the result is not reported in the literature.  Note. In Table 6, data A/B denote the best objective value and the average objective value of the instance found by the algorithm.  Note. In Table 7, data A/B/C denote the value of Dev best , the value of Dev avg , and the algorithm's average time to find a final solution. e symbol "-" denotes the cases when the result is not reported in the literature. Note. In Table 8, the symbol "-" denotes the cases when the result is not reported in the literature.  Note. In Table 9, data A/B denote the best objective value and the average objective value of the instance found by the algorithm.  Note. In Table 10, data A/B/C denote the value of Dev best , the value of Dev avg , and the algorithm's average time to find a final solution. e symbol "-" denotes the cases when the result is not reported in the literature. Note. In Table 11, the symbol "-" denotes the cases when the result is not reported in the literature.

Analysis of the Main Components of HA-CCP
In this section, we have studied the contribution of the main components of HA-CCP to performance. We give experimental results from four aspects: "construct solution," "destruct partial solution," "destruct and reconstruct partial solution," and "acceptance criterion for skew" to show that the method used in HA-CCP is better. All experiments in this section were performed under the experimental conditions described in Section 4.1.

Benefit of CM2.
In HA-CCP, CM2 is first used to construct the initial feasible solution (Algorithm 2, line 2) and then reconstruct the solution in the iterative process (Algorithm 2, line 9). Different from CM [26] and random construction method (RCM, used in [29,31,32]), CM2 can increase the probability of constructing a feasible solution when the upper and lower bounds are tighter and improve the performance of HA-CCP. erefore, we conducted comparative experiments in the following two aspects.
First, we compared the success rate of constructing the initial feasible solution between RCM and CM2 under different upper and lower bound constraints on 10 Ran-Real960 instances with p � 60. In the experiment, the upper and lower bounds U g and L g of the instance are adjusted to U g ′ � s 2 × U g and L g ′ � s 1 × L g , respectively. Obviously,   rate of RCM and CM2 in constructing the initial solution decreases, but the success rate of CM2 is higher than that of RCM. From the average point of view, the success rate of CM2 in the experiment is higher than that of RCM, even as high as 2 times (the last column of Table 14). erefore, CM2 has better usability than RCM, and it can construct feasible solutions in tighter constrained CCPs.
Secondly, we use RCM to replace CM2 in HA-CCP (denoted as HA-CCP-RCM) for comparison experiments with HA-CCP. e experiment was conducted on the same 10 instances as Section 4.3, and each instance was run 20 times. Table 15 summarizes the comparison results, and Tables 16 and 17 give detailed results. It can be seen from Table 15 that when the average calculation time is almost the same, HA-CCP with CM2 can obtain more best solution and best average solution. erefore, CM2 can effectively improve the CCP solution quality. [26] is the destruction method used in IG-GRASP [26] to partial destruction solution. To verify the superiority of DM3 used in HA-CCP, we replaced the DM3 in HA-CCP with DM2 and compared the results of HA-CCP using different destruction methods (DM2 and DM3) on the results of the Ran-Real960 dataset. Table 18 summarizes the statistical  comparison results, and Tables 19 and 20 give detailed results.

Benefit of DM3. DM2
As shown in Table 18, DM3 has obtained 29 best solutions and 30 best average objective function value and has a smaller value of Average Dev best /Dev avg . e Wilcoxon statistical test shows that the best performance and average performance of DM2 and DM3 on Ran-Real960 are statistically significantly different. erefore, we can conclude that DM3 is superior to DM2 on RanReal960.

Benefit of the Destruct and Reconstruct Partial
Solution. Algorithms IVNS, GVNS, SGVNS, and FITS for CCP used a completely random shaking procedure to shake the current solution, but HA-CCP uses the method of destroying and reconstructing partial solutions. To verify the advantage of the destruct and reconstruct partial solution, we combined HA-CCP with the random shaking procedure used in SGVNS [30], called HA-CCP-RS. We compared the result of HA-CCP with HA-CCP-RS on the MDG-a dataset. Table 21 describes the  statistical comparison results, and Tables 22 and 23 give detailed results. According to Table 21, HA-CCP has a better performance than HA-CCP-RS in all indicators.

Benefit of Acceptance Criterion for Skew.
HA-CCP added an acceptance criterion for skewing the search to other promising areas of the solution space. To verify the performance of acceptance criterion for skew to the performance, we compared the result of HA-CCP with the HA-CCP without acceptance criterion for skew (HA-CCP-NAC for short) on RanReal240 and RanReal480 datasets. Table 24 shows the statistical comparison results, and detailed results are given in Tables 25 and 26. As shown in Table 24, HA-CCP has a better performance than HA-CCP-NAC in best results and average results.
In summary, from the experimental results of the four aspects of "the construction of solution," "the destruction of the partial solution," "the destruction and reconstruction of the partial solution," "the acceptance criteria," no matter which component is replaced, the overall performance of the algorithm decreases significantly. erefore, we believe that the combination of these components has obtained good experimental results. e effective combination of these components helps the algorithm jump out of the local optimum and obtains a better balance between intensification and diversification levels.   Note. In Table 16, data A/B denote the best objective value and the average objective value of the instance found by the algorithm. Note. In Table 17, data A/B/C denote the value of Dev best , the value of Dev avg , and the algorithm's average time to find a final solution.    Note. In Table 20, data A/B/C denote the value of Dev best , the value of Dev avg , and the algorithm's average time to find a final solution.

Conclusion
e capacitated clustering problem (CCP) has a wide range of applications. In this study, we propose a hybrid heuristic algorithm HA-CCP for CCP. After constructing the initial solution, HA-CCP partially destructs and reconstructs the current solution through a combination of greediness and randomness to obtain a new solution. On this basis, an acceptance criterion is added, which allows the current solution to be skewed to move to inferior solutions so that more promising solutions can be explored in the solution space.
e competitive experiments on the benchmark instances show that HA-CCP is superior to all comparison algorithms except NVSD in terms of average solving efficiency for all instances (because the solution time is not given). e result of the time-to-target analysis also verifies the efficiency of HA-CCP. Moreover, HA-CCP is better than Note. In Table 25, data A/B denote the best objective value and the average objective value of the instance found by the algorithm. Instance name HA-CCP-NAC HA-CCP all comparison algorithms because the best average solution of 58 instances is obtained on all 90 instances, which shows that HA-CCP has better solution stability. However, the solution quality of HA-CCP on MDG-a instances is obviously inferior to NDVNS. As future work, we believe that the following research is worthwhile. First, the automatic parameter adjustment tool irace is used [38] to adjust the HA-CCP parameters to find a better parameter configuration. Second, the improved solution construction strategy enables the algorithm to solve the more restrictive CCP. ird, NDVNS is combined to improve HA-CCP, so that it has better solution quality on CCP including MDG-a.

Conflicts of Interest
e authors declare that they have no conflicts of interest.