Projection onto the convex hull of the set of permuted values of a given vector

184 Views Asked by At

Let $v$ be a vector in $\mathbb{R}^n$, such that $v_i \geq 0$. I am interested in the convex hull of $\{v_{\sigma} : \sigma \in \Sigma_n\}$ where $\Sigma_n$ is the set of permutations of $\{1,...,n\}$ and $v_{\sigma} = (v_{\sigma(1)},... ,v_{\sigma(n)})$. I know that the convex hull of permutation matrices is well-studied (since it is the Birkhoff polytope) and that projections onto it are possible via the Sinkhorn-Knopp algorithm. What about $C = \text{conv}\{v_{\sigma} : \sigma \in \Sigma_n\}$? We can write $C$ as $C=\{Qv : Q \text{ is doubly stochastic}\}$, but are there simpler ways than existing algorithms to project onto $C$ (w.r.t. the Euclidean distance)?

Thanks in advance!

1

There are 1 best solutions below

0
On

I finally found the answer: $C$ is called the permutahedron induced by the vector $v$, and there are efficient algorithms for projections onto it. Lim and Wright [1] show that projecting a sorted vector onto a permutahedron is reducible to isotonic regression, which is achieved in $O(n)$ with the Pool Adjacent Violators algorithm.

[1] proceedings.mlr.press/v51/lim16.html