English

Traversing combinatorial 0/1-polytopes via optimization

Discrete Mathematics 2024-06-17 v2 Data Structures and Algorithms Combinatorics

Abstract

In this paper, we present a new framework that exploits combinatorial optimization for efficiently generating a large variety of combinatorial objects based on graphs, matroids, posets and polytopes. Our method relies on a simple and versatile algorithm for computing a Hamilton path on the skeleton of any 0/1-polytope conv(X){\rm conv}(X), where X{0,1}nX\subseteq \{0,1\}^n. The algorithm uses as a black box any algorithm that solves a variant of the classical linear optimization problem min{wxxX}\min\{w\cdot x\mid x\in X\}, and the resulting delay, i.e., the running time per visited vertex on the Hamilton path, is only by a factor of logn\log n larger than the running time of the optimization algorithm. When XX encodes a particular class of combinatorial objects, then traversing the skeleton of the polytope conv(X){\rm conv}(X) along a Hamilton path corresponds to listing the combinatorial objects by local change operations, i.e., we obtain Gray code listings. As concrete results of our general framework, we obtain efficient algorithms for generating all (cc-optimal) bases in a matroid; (cc-optimal) spanning trees, forests, (cc-optimal) matchings in a general graph; (cc-optimal) vertex covers, (cc-optimal) stable sets in a bipartite graph; as well as (cc-optimal) antichains and ideals of a poset. The delay and space required by these algorithms are polynomial in the size of the matroid, graph, or poset, respectively, and these listings correspond to Hamilton paths on the corresponding combinatorial polytopes. We also obtain an O(tLPlogn)O(t_{\rm LP} \log n) delay algorithm for the vertex enumeration problem on 0/1-polytopes {xRnAxb}\{x\in\mathbb{R}^n\mid Ax\leq b\}, where ARm×nA\in \mathbb{R}^{m\times n} and bRmb\in\mathbb{R}^m, and tLPt_{\rm LP} is the time needed to solve the linear program min{wxAxb}\min\{w\cdot x\mid Ax\leq b\}. This improves upon the 25-year old O(tLPn)O(t_{\rm LP}\,n) delay algorithm of Bussieck and L\"ubbecke.

Keywords

Cite

@article{arxiv.2304.08567,
  title  = {Traversing combinatorial 0/1-polytopes via optimization},
  author = {Arturo Merino and Torsten Mütze},
  journal= {arXiv preprint arXiv:2304.08567},
  year   = {2024}
}
R2 v1 2026-06-28T10:08:56.555Z