Table of Contents
Fetching ...

Traversing combinatorial 0/1-polytopes via optimization

Arturo Merino, Torsten Mütze

TL;DR

A new framework that exploits combinatorial optimization for efficiently generating a large variety of combinatorial objects based on graphs, matroids, posets and polytopes is presented and efficient algorithms for generating all (c-optimal) bases and independent sets in a matroid are obtained.

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 ${\rm conv}(X)$, where $X\subseteq \{0,1\}^n$. The algorithm uses as a black box any algorithm that solves a variant of the classical linear optimization problem $\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 $\log n$ larger than the running time of the optimization algorithm. When $X$ encodes a particular class of combinatorial objects, then traversing the skeleton of the polytope ${\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 ($c$-optimal) bases in a matroid; ($c$-optimal) spanning trees, forests, ($c$-optimal) matchings in a general graph; ($c$-optimal) vertex covers, ($c$-optimal) stable sets in a bipartite graph; as well as ($c$-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(t_{\rm LP} \log n)$ 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 25-year old $O(t_{\rm LP}\,n)$ delay algorithm of Bussieck and Lübbecke.

Traversing combinatorial 0/1-polytopes via optimization

TL;DR

A new framework that exploits combinatorial optimization for efficiently generating a large variety of combinatorial objects based on graphs, matroids, posets and polytopes is presented and efficient algorithms for generating all (c-optimal) bases and independent sets in a matroid are obtained.

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 , where . The algorithm uses as a black box any algorithm that solves a variant of the classical linear optimization problem , and the resulting delay, i.e., the running time per visited vertex on the Hamilton path, is only by a factor of larger than the running time of the optimization algorithm. When encodes a particular class of combinatorial objects, then traversing the skeleton of the polytope 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 (-optimal) bases in a matroid; (-optimal) spanning trees, forests, (-optimal) matchings in a general graph; (-optimal) vertex covers, (-optimal) stable sets in a bipartite graph; as well as (-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 delay algorithm for the vertex enumeration problem on 0/1-polytopes , where and , and is the time needed to solve the linear program . This improves upon the 25-year old delay algorithm of Bussieck and Lübbecke.
Paper Structure (33 sections, 32 theorems, 33 equations, 7 figures, 3 tables)

This paper contains 33 sections, 32 theorems, 33 equations, 7 figures, 3 tables.

Key Result

Theorem 1

For every set $X\subseteq\{0,1\}^n$, every tiebreaking rule and every initial vertex ${\widetilde{x}}$, Algorithm P computes a Hamilton path on the skeleton of $\mathop{\mathrm{conv}}\nolimits(X)$ starting at ${\widetilde{x}}$.

Figures (7)

  • Figure 1: Edge exchange Gray code for the spanning trees of the diamond graph on the top. Below each spanning tree is the subset of tree edges and its indicator vector.
  • Figure 2: Three combinatorial 0/1-polytopes (after appropriate projections into 3-dimensional space and under combinatorial equivalence): (a) perfect matching polytope of the $2\times 4$ grid graph; (b) vertex cover polytope of the triangle graph; (c) base polytope of the uniform matroid of 2-element subsets of the ground set $\{1,2,3,4\}$.
  • Figure 3: Skeleton of the spanning tree polytope of the diamond graph. The edges of the skeleton are labeled by edge exchanges.
  • Figure 4: Run of Algorithm P on the skeleton from Figure \ref{['fig:span-skel']}. Edges are colored according to $\lambda$-values. The computed Hamilton path is drawn dashed, and it corresponds to the edge exchange Gray code from Figure \ref{['fig:span-gc']}.
  • Figure 5: (a) A genlex ordering $L$ of all bitstrings of length 5 with three 1s. (b) The binary tree structure in $L$. (c) The corresponding suffix tree ${\mathcal{T}}(L)$.
  • ...and 2 more figures

Theorems & Definitions (56)

  • Theorem 1
  • Lemma 2
  • proof
  • Lemma 3
  • proof
  • Lemma 4
  • proof
  • Theorem 5
  • proof
  • Remark 6
  • ...and 46 more