Troika algorithm: approximate optimization for accurate clique partitioning and clustering of weighted networks
Samin Aref, Boris Ng
TL;DR
The paper introduces Troika, a branch-and-cut algorithm that approximates clique partitioning on weighted graphs by branching on node triples and solving LP relaxations with strengthened transitivity constraints. Troika provides guaranteed proximity to global optima within a user-specified optimality gap and often outperforms a state-of-the-art IP solver (Gurobi) in both solution quality and/or time across multiple benchmark families. It also demonstrates practical applicability to modularity-based community detection and portfolio analysis by converting modularity maximization into CP instances and analyzing temporal structure in stock correlations. The work combines graph pre-processing, variable fixing, and implied branching to achieve scalable performance on small-to-mid-sized networks (up to thousands of edges) and offers insights for future improvements in CP approximations and related clustering tasks.
Abstract
Clique partitioning is a fundamental network clustering task, with applications in a wide range of computational sciences. It involves identifying an optimal partition of the nodes for a real-valued weighted graph according to the edge weights. An optimal partition is one that maximizes the sum of within-cluster edge weights over all possible node partitions. This paper introduces a novel approximation algorithm named Troika to solve this NP-hard problem in small to mid-sized networks for instances of theoretical and practical relevance. Troika uses a branch-and-cut scheme for branching on node triples to find a partition that is within a user-specified optimality gap tolerance. Troika offers advantages over alternative methods like integer programming solvers and heuristics for clique partitioning. Unlike existing heuristics, Troika returns solutions within a guaranteed proximity to global optimality. And our results indicate that Troika is faster than using the state-of-the-art integer programming solver Gurobi for most benchmark instances. Besides its advantages for solving the clique partitioning problem, we demonstrate the applications of Troika in community detection and portfolio analysis. Troika returns partitions with higher proximity to optimal compared to eight modularity-based community detection algorithms. When used on networks of correlations among stocks, Troika reveals the dynamic changes in the structure of portfolio networks including downturns from the 2008 financial crisis and the reaction to the COVID-19 pandemic. Our comprehensive results based on benchmarks from the literature and new real and random networks point to Troika as a reliable and accurate method for solving clique partitioning instances with up to 5000 edges on standard hardware.
