Parallelization of a branch-and-bound algorithm for the maximum weight clique problem
Introduction
For an undirected graph, a vertex subset is called a clique if any pair of vertices in are adjacent. Given an undirected graph, the maximum clique problem (MCP) is to find a clique of maximum cardinality. MCP is known to be NP-hard [1] and the decision version is one of the Karp’s 21 NP-complete problems [2]. Given a vertex weighted undirected graph, the maximum weight clique problem (MWCP) is to find a clique of maximum weight. MWCP is a generalization of MCP and have many applications in coding theory [3], network design [4], computer vision [5], bioinformatics [6], auctions [7], protein side-chain packing [8], [9], market basket analysis [10], communication analysis [11], etc. Because of theoretical importance and a lot of practical applications, there have been lots of studies in decades [12].
Many exact algorithms for MWCP are based on the branch-and-bound that recursively generates non-overlapping subproblems and solves them to obtain the optimal solution. During the recursive procedure, upper bounds of the weight of feasible solutions are calculated to prune subproblems that cannot update the incumbent solution. Lots of techniques are proposed to reduce the computation time of branch-and-bound [13]. For MWCP, the algorithm in [14] calculates upper bounds based on Max-SAT reasoning. The algorithm proposed in [15] calculates the length of the longest path in a DAG to obtain upper bounds. Vertex coloring is used to calculate upper bounds in [16], [17]. The algorithm in [18] calculates upper bounds by Russian Doll Search. The algorithm OTClique in [19] proposes an upper bound calculation that splits vertices into small subsets and calculates the sum of optimal weights of subgraphs induced by them. To calculate the upper bound in a short time, OTClique constructs the optimal tables before the branch-and-bound. OTClique also uses upper bounds obtained from Russian Doll Search. In [19], some algorithms including OTClique are compared by experiments using various kinds of benchmarks. The result shows that only OTClique can solve all instances in practical time. Excepting OTClique, each algorithm compared in [19] has bad instances that only the algorithm requires huge computation time to solve. One reason for this result is that OTClique uses two upper bound calculation methods.
In the previous computational experiments shown in papers, algorithms are implemented as a single-thread program. In recent years, one processor has multiple cores even in mobile computers. Hence parallelization techniques are adopted in various kinds of algorithms. For clique enumeration problems, parallel algorithms are proposed in [20], [21], [22]. For the MCP, exact parallel algorithms are proposed in [23], [24]. For the MWCP, although studies about parallelization are found in [25], [26], recent algorithms such as [14], [15], [16], [17], [19] are not parallelized.
In this paper, we propose parallelization techniques for the branch-and-bound algorithm OTClique [19]. OTClique consists of the precomputation phase and the branch-and-bound phase. We parallelize both phases. In the precomputation phase, our algorithm parallelizes the construction of optimal tables. In the branch-and-bound phase, it generates subproblems and enqueues them to a queue. Each thread solves subproblems dequeued from the queue until it becomes empty. When the dequeued problem is large, our algorithm generates smaller subproblems from it and enqueues them again. In some experiments, we confirm that the performance of OTClique is improved by the proposed parallelization techniques.
The remainder of this paper is organized as follows. The algorithm OTClique is described in Section 2. The proposed parallelization techniques are shown in Section 3. Experimental results are shown in Section 4. We conclude the paper in Section 5.
Section snippets
Branch-and-bound algorithm OTClique
In this section, we briefly introduce the algorithm OTClique [19]. It consists of the precomputation phase and the branch-and-bound phase. Hereafter denotes the number of vertices in the input graph. For a vertex , let be a set of adjacency vertices of . For the graph , let be the subgraph induced by . For a vertex set , denotes the total weight of vertices in . Let denote the weight of the maximum weight clique of . We denote by a subproblem of
Parallelized OTClique
In this section, we propose some parallelization techniques for OTClique. In the precomputation phase, the proposed algorithm parallelizes the dynamic programming to construct the optimal tables. In the branch-and-bound phase, different parallelization policies are adopted for RDS and searches after RDS. In RDS, the proposed algorithm avoids duplication of search spaces for each thread and shares upper and lower bounds to prune subproblems efficiently. After RDS, the proposed algorithm divides
Computational experiments
We implement the proposed algorithm in C++ to compare with the original OTClique of single-thread.1 The compiler is GNU g++ 5.4.0 with optimization option -O2. The OS is Linux 4.13.0. The CPU is AMD Ryzen™ 7 1700. It has an 8-core, 16-thread processor. Its base clock is 3 GHz and boost clock is 3.7 GHz.
Conclusion
We proposed some parallelization techniques for the branch-and-bound algorithm OTClique for the maximum weight clique problem. OTClique consists of two phases: the precomputation phase and the branch-and-bound phase. In the precomputation phase, we parallelize the construction of optimal tables. In the Russian Doll Search of branch-and-bound phase, we modify subproblems given to each thread to avoid the duplication of search spaces. Also, we propose bounds sharing techniques to generate more
References (30)
A scalable algorithm for the market basket analysis
J. Retail. Consum. Serv.
(2007)- et al.
A review on algorithms for maximum clique problems
European J. Oper. Res.
(2015) - et al.
Branch-and-bound algorithms: A survey of recent advances in searching, branching, and pruning
Discrete Optim.
(2016) - et al.
Fast maximum weight clique extraction algorithm: Optimal tables for branch-and-bound
Discrete Appl. Math.
(2017) - et al.
Parallelizing maximal clique and k-plex enumeration over graph data
J. Parallel Distrib. Comput.
(2017) - et al.
A scalable, parallel algorithm for maximal clique enumeration
J. Parallel Distrib. Comput.
(2009) A parallel algorithm for finding a maximum weight clique of an interval graph
Parallel Comput.
(1990)- et al.
An exact algorithm for the maximum clique problem
Oper. Res. Lett.
(1990) - et al.
The maximum clique problem
Reducibility among combinatorial problems
Error-correcting codes over an alphabet of four elements
Des. Codes Cryptogr.
Minimum broadcast decoding delay for generalized instantly decodable network coding
Stereo correspondence through feature grouping and maximal cliques
IEEE Trans. Pattern Anal. Mach. Intell.
Point matching under non-uniform distortions and protein side chain packing based on efficient maximum clique algorithms
Genome Inform.
Combinatorial Auction Test Suite (CATS)
Cited by (2)
SCATTER SEARCH WITH STOCHASTIC BEAM SEARCH ON THE COALITION FORMATION PROBLEM
2024, Journal of Industrial and Management OptimizationA Bio-Inspired Technique for the Maximum Weighted Clique Problem
2023, National Academy Science Letters