Faster and simpler traversal of 0/1-polytopes
Abstract
Recently, Merino and Mütze (FOCS'23+SICOMP'24) presented an algorithm for computing a Hamilton path on the skeleton of any 0/1-polytope ${\rm conv}(X)$, where $X\subseteq\{0,1\}^n$.
The algorithm uses as a black box an algorithm for solving the classical linear optimization problem $\min\{w\cdot x\mid x\in X\}$ for some weight vector $w\in\mathbb{R}^n$.
The resulting delay per visited vertex on the Hamilton path is only by a $\log n$ factor larger than the time to solve one instance of the optimization algorithm.
In this paper, we make the Hamilton path algorithm simpler and faster.
Namely, we obtain an amortized delay that is only by a constant factor larger than the running time of the optimization algorithm, thus removing the $\log n$ factor.
As concrete results, this yields improved algorithms for generating bases and independent sets in a matroid, spanning trees, forests, matchings and maximum matchings in a graph, vertex covers, minimum vertex covers, independent sets and maximum independent sets in a bipartite graph, and antichains, maximum antichains and ideals in a poset.
All of these listings correspond to Hamilton paths on the corresponding polytopes.
Furthermore, we obtain an $\mathcal{O}(t_{\rm LP})$ amortized delay algorithm for the vertex enumeration problem on 0/1-polytopes $\{x\in\mathbb{R}^n\mid Ax\leq b\}$, where $A\in \mathbb{R}^{m\times n}$ and $b\in\mathbb{R}^m$, and $t_{\rm LP}$ is the time needed to solve the linear program $\min\{w\cdot x\mid Ax\leq b\}$.
This improves upon the $\mathcal{O}(t_{\rm LP} \log n)$ delay algorithm of Merino and Mütze, and the previous $\mathcal{O}(t_{\rm LP}\,n)$ delay algorithm of Bussieck and Lübbecke from 1998.
이 뉴스, 어떠셨어요?
탭 한 번으로 반응 · 로그인 불필요