The top-$k$-sum operator computes the sum of the largest $k$ components of a given vector. The Euclidean projection onto the top-$k$-sum constraint serves as a crucial subroutine in iterative methods to solve composite superquantile optimization problems. In this paper, we introduce a solver that implements two finite-termination algorithms to compute this projection. Both algorithms have complexity $O(n)$ when applied to a sorted $n$-dimensional input vector, where the absorbed constant is independent of $k$. This stands in contrast to the existing grid-search-inspired method that has $O(k(n-k))$ complexity. The improvement is significant when $k$ is linearly dependent on $n$, which frequently encountered in practical superquantile optimization applications. In instances where the input vector is unsorted, an additional cost is incurred to (partially) sort the vector. To reduce this cost, we further derive a rigorous procedure that leverages approximate sorting to compute the projection, which is particularly useful when solving a sequence of similar projection problems. Numerical results show that our methods solve problems of scale $n=10^7$ and $k=10^4$ within $0.05$ seconds, whereas the existing grid-search-based method and the Gurobi QP solver can take minutes to hours.
翻译:暂无翻译