Minimum Riesz s-Energy Subset Selection in Ordered Point Sets via Dynamic Programming
Michael Emmerich
TL;DR
The paper addresses selecting a small, well-distributed subset from larger point sets by minimizing the Riesz $s$-energy. It develops a dynamic programming formulation that exploits 1D ordering to efficiently produce near-optimal solutions, and extends the approach to 2D Pareto fronts by leveraging sorted, non-dominated point sequences. While exact global optimality cannot be guaranteed due to non-local energy interactions, the method demonstrates strong empirical performance across 1D and 2D cases, including large Pareto fronts and discontinuous fronts, and provides an open-source Python implementation. The work offers a practical, scalable alternative to greedy subset selection for energy-based diversity and Pareto-front representation, with clear avenues for hybrid or refined recurrences to further improve optimality guarantees.
Abstract
We present a dynamic programming algorithm for selecting a representative subset of size $k$ from a given set with $n$ points such that the Riesz $s$-energy is near minimized. While NP-hard in general dimensions, the one-dimensional case can use the natural data ordering for efficient dynamic programming as an effective heuristic solution approach. This approach is then extended to problems related to two-dimensional Pareto front representations arising in biobjective optimization problems. Under the assumption of sorted (or non-dominated) input, the method typically yields near-optimal solutions in most cases. We also show that the approach avoids mistakes of greedy subset-selection by means of example. However, as we demonstrate, there are exceptions where DP does not identify the global minimum; for example, in one of our examples, the DP solution slightly deviates from the configuration found by a brute-force search. This is because the DP scheme's recurrence is approximate. The total time complexity of our algorithm is shown to be $O(n^2 k)$. We provide computational examples with discontinuous Pareto fronts and an open-source Python implementation, demonstrating the approximate DP algorithm's effectiveness across various problems with large point sets.
