A Portable Parallel Implementation of the lrs Vertex Enumeration Code

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8287)


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.


vertex enumeration reverse search parallel processing 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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)Google Scholar
  2. 2.
  3. 3.
    Avis, D., Fukuda, K.: A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra. Discrete & Computational Geometry 8, 295–313 (1992)Google Scholar
  4. 4.
    Avis, D., Fukuda, K.: Reverse search for enumeration. Discrete Applied Mathematics 65, 21–46 (1993)Google Scholar
  5. 5.
  6. 6.
    Brungger, A., Marzetta, A., Fukuda, K., Nievergelt, J.: The parallel search bench ZRAM and its applications. Ann. Oper. Res. 90, 45–63 (1999)Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
  9. 9.
    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)Google Scholar
  10. 10.
    Marzetta, A.: (2008) maintained by D. Bremner:
  11. 11.
    Weibel, C.: Implementation and parallelization of a reverse-search algorithm for minkowski sums. In: ALENEX, pp. 34–42 (2010)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2013

Authors and Affiliations

  1. 1.School of InformaticsKyoto UniversityKyotoJapan
  2. 2.School of Computer ScienceMcGill UniversityMontréalCanada
  3. 3.MicrosoftSeattleUSA

Personalised recommendations