SOS-SDP: an Exact Solver for Minimum Sum-of-Squares Clustering
arXiv:2104.11542 · doi:10.1287/ijoc.2022.1166
Abstract
The minimum sum-of-squares clustering problem (MSSC) consists of partitioning observations into clusters in order to minimize the sum of squared distances from the points to the centroid of their cluster. In this paper, we propose an exact algorithm for the MSSC problem based on the branch-and-bound technique. The lower bound is computed by using a cutting-plane procedure where valid inequalities are iteratively added to the Peng-Wei SDP relaxation. The upper bound is computed with the constrained version of k-means where the initial centroids are extracted from the solution of the SDP relaxation. In the branch-and-bound procedure, we incorporate instance-level must-link and cannot-link constraints to express knowledge about which data points should or should not be grouped together. We manage to reduce the size of the problem at each level preserving the structure of the SDP problem itself. The obtained results show that the approach allows to successfully solve for the first time real-world instances up to 4000 data points.
37 pages
Cited by in corpus (10)
- How to Use K-means for Big Data Clustering?
- Mixed-Integer Nonlinear Programming for State-based Non-Intrusive Load Monitoring
- An Exact Algorithm for Semi-supervised Minimum Sum-of-Squares Clustering
- Global Optimization for Cardinality-constrained Minimum Sum-of-Squares Clustering via Semidefinite Programming
- An algorithm for clustering with confidence-based must-link and cannot-link constraints
- Unsupervised Machine Learning to Classify the Confinement of Waves in Periodic Superstructures
- A column generation algorithm with dynamic constraint aggregation for minimum sum-of-squares clustering
- Fix and Bound: An efficient approach for solving large-scale quadratic programming problems with box constraints
- Partial k-means to avoid outliers, mathematical programming formulations, complexity results
- A Semidefinite Programming-Based Branch-and-Cut Algorithm for Biclustering