Abstract
We describe a parallel implementation of the vertex enumeration code lrs that automatically exploits available hardware on multi-core computers and runs on a wide range of platforms. The implementation makes use of a C++ wrapper that essentially uses the existing lrs code with only minor modifications. This allows the simultaneous development of the existing single processor code with the speedups available from multi-core systems. It makes use of the restart feature of reverse search that allows for independent subtree search and the fact that no communication is required between these searches. As such it can be readily adapted for use in other reverse search enumeration codes.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Avis, D.: lrs: A Revised Implementation of the Reverse Search Vertex Enumeration Algorithm. In: Kalai, G., Ziegler, G. (eds.) Polytopes - Combinatorics and Computation, pp. 177–198. Springer (2000)
Avis, D.: (2013), http://cgm.cs.mcgill.ca/~avis/C/lrs.html
Avis, D., Fukuda, K.: A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra. Discrete & Computational Geometry 8, 295–313 (1992)
Avis, D., Fukuda, K.: Reverse search for enumeration. Discrete Applied Mathematics 65, 21–46 (1993)
Boost.org (2013), http://www.boost.org/doc/libs/1_53_0/doc/html/lockfree.html
Brungger, A., Marzetta, A., Fukuda, K., Nievergelt, J.: The parallel search bench ZRAM and its applications. Ann. Oper. Res. 90, 45–63 (1999)
Ceder, G., Garbulsky, G., Avis, D., Fukuda, K.: Ground states of a ternary fcc lattice model with nearest- and next-nearest-neighbor interactions. Phys. Rev. B Condens. Matter 49(1), 1–7 (1994)
Fukuda, K.: (2012), http://www.inf.ethz.ch/personal/fukudak/cdd_home
Klee, V., Minty, G.J.: How Good is the Simplex Algorithm? In: Shisha, O. (ed.) Inequalities III, pp. 159–175. Academic Press Inc., New York (1972)
Marzetta, A.: (2008) maintained by D. Bremner: http://www.cs.unb.ca/~bremner/software/zram/
Weibel, C.: Implementation and parallelization of a reverse-search algorithm for minkowski sums. In: ALENEX, pp. 34–42 (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer International Publishing Switzerland
About this paper
Cite this paper
Avis, D., Roumanis, G. (2013). A Portable Parallel Implementation of the lrs Vertex Enumeration Code. In: Widmayer, P., Xu, Y., Zhu, B. (eds) Combinatorial Optimization and Applications. COCOA 2013. Lecture Notes in Computer Science, vol 8287. Springer, Cham. https://doi.org/10.1007/978-3-319-03780-6_36
Download citation
DOI: https://doi.org/10.1007/978-3-319-03780-6_36
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-03779-0
Online ISBN: 978-3-319-03780-6
eBook Packages: Computer ScienceComputer Science (R0)