{"title":"Traversing Combinatorial 0/1-Polytopes via Optimization","authors":"Arturo Merino, Torsten Mütze","doi":"10.1137/23m1612019","DOIUrl":null,"url":null,"abstract":"SIAM Journal on Computing, Volume 53, Issue 5, Page 1257-1292, October 2024. <br/> 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 is based on a simple and versatile algorithm for computing a Hamilton path on the skeleton of a 0/1-polytope [math], where [math]. The algorithm uses as a black box any algorithm that solves a variant of the classical linear optimization problem [math], and the resulting delay, i.e., the running time per visited vertex on the Hamilton path, is larger than the running time of the optimization algorithm only by a factor of [math]. When [math] encodes a particular class of combinatorial objects, then traversing the skeleton of the polytope [math] 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 ([math]-optimal) bases and independent sets in a matroid; ([math]-optimal) spanning trees, forests, matchings, maximum matchings, and [math]-optimal matchings in a graph; vertex covers, minimum vertex covers, [math]-optimal vertex covers, stable sets, maximum stable sets, and [math]-optimal stable sets in a bipartite graph; as well as antichains, maximum antichains, [math]-optimal antichains, and [math]-optimal ideals of a poset. Specifically, the delay and space required by these algorithms are polynomial in the size of the matroid ground set, graph, or poset, respectively. Furthermore, all of these listings correspond to Hamilton paths on the corresponding combinatorial polytopes, namely the base polytope, matching polytope, vertex cover polytope, stable set polytope, chain polytope, and order polytope, respectively. As another corollary from our framework, we obtain an [math] delay algorithm for the vertex enumeration problem on 0/1-polytopes [math], where [math] and [math], and [math] is the time needed to solve the linear program [math]. This improves upon the 25-year-old [math] delay algorithm due to Bussieck and Lübbecke.","PeriodicalId":49532,"journal":{"name":"SIAM Journal on Computing","volume":"10 1","pages":""},"PeriodicalIF":1.2000,"publicationDate":"2024-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"SIAM Journal on Computing","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1137/23m1612019","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0
Abstract
SIAM Journal on Computing, Volume 53, Issue 5, Page 1257-1292, October 2024. 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 is based on a simple and versatile algorithm for computing a Hamilton path on the skeleton of a 0/1-polytope [math], where [math]. The algorithm uses as a black box any algorithm that solves a variant of the classical linear optimization problem [math], and the resulting delay, i.e., the running time per visited vertex on the Hamilton path, is larger than the running time of the optimization algorithm only by a factor of [math]. When [math] encodes a particular class of combinatorial objects, then traversing the skeleton of the polytope [math] 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 ([math]-optimal) bases and independent sets in a matroid; ([math]-optimal) spanning trees, forests, matchings, maximum matchings, and [math]-optimal matchings in a graph; vertex covers, minimum vertex covers, [math]-optimal vertex covers, stable sets, maximum stable sets, and [math]-optimal stable sets in a bipartite graph; as well as antichains, maximum antichains, [math]-optimal antichains, and [math]-optimal ideals of a poset. Specifically, the delay and space required by these algorithms are polynomial in the size of the matroid ground set, graph, or poset, respectively. Furthermore, all of these listings correspond to Hamilton paths on the corresponding combinatorial polytopes, namely the base polytope, matching polytope, vertex cover polytope, stable set polytope, chain polytope, and order polytope, respectively. As another corollary from our framework, we obtain an [math] delay algorithm for the vertex enumeration problem on 0/1-polytopes [math], where [math] and [math], and [math] is the time needed to solve the linear program [math]. This improves upon the 25-year-old [math] delay algorithm due to Bussieck and Lübbecke.
期刊介绍:
The SIAM Journal on Computing aims to provide coverage of the most significant work going on in the mathematical and formal aspects of computer science and nonnumerical computing. Submissions must be clearly written and make a significant technical contribution. Topics include but are not limited to analysis and design of algorithms, algorithmic game theory, data structures, computational complexity, computational algebra, computational aspects of combinatorics and graph theory, computational biology, computational geometry, computational robotics, the mathematical aspects of programming languages, artificial intelligence, computational learning, databases, information retrieval, cryptography, networks, distributed computing, parallel algorithms, and computer architecture.