Traversing combinatorial 0/1-polytopes via optimization

04/17/2023
by   Arturo Merino, et al.
0

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), where X⊆{0,1}^n. The algorithm uses as a black box any algorithm that solves a variant of the classical linear optimization problem min{w· x| x∈ 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 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_ LPlog n) delay algorithm for the vertex enumeration problem on 0/1-polytopes {x∈ℝ^n| Ax≤ b}, where A∈ℝ^m× n and b∈ℝ^m, and t_ LP is the time needed to solve the linear program min{w· x| Ax≤ b}. This improves upon the 25-year old O(t_ LP n) delay algorithm of Bussieck and Lübbecke.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/06/2020

Learning to Solve Combinatorial Optimization Problems on Real-World Graphs in Linear Time

Combinatorial optimization algorithms for graph problems are usually des...
research
06/30/2021

Combinatorial generation via permutation languages. IV. Elimination trees

An elimination tree for a connected graph G is a rooted tree on the vert...
research
01/14/2020

Efficient parameterized algorithms for computing all-pairs shortest paths

Computing all-pairs shortest paths is a fundamental and much-studied pro...
research
04/02/2020

Towards PTAS for Precedence Constrained Scheduling via Combinatorial Algorithms

We study the classic problem of scheduling n precedence constrained unit...
research
06/14/2019

Combinatorial generation via permutation languages. I. Fundamentals

In this work we present a general and versatile algorithmic framework fo...
research
07/13/2021

Polynomial delay algorithm for minimal chordal completions

Motivated by the problem of enumerating all tree decompositions of a gra...
research
01/18/2014

Computing All-Pairs Shortest Paths by Leveraging Low Treewidth

We present two new and efficient algorithms for computing all-pairs shor...

Please sign up or login with your details

Forgot password? Click here to reset