Two variations of graph test in double description method

  • Nikolai Yu. ZolotykhEmail author
  • Sergei I. Bastrakov


This paper concerns checking adjacency in the double description method for constructing a generating system of a polyhedral cone. We propose two new variations of the graph test. Theoretical estimates and experimental results show that the new variations are usually superior to the original algorithm in terms of speed.


Convex polyhedron Polyhedral cone Vertex enumeration Facet enumeration Convex hull Double description method 

Mathematics Subject Classification

90-08 52B55 92-08 



This work was supported by the Russian Science Foundation Grant No. 17-11-01336. The authors are grateful to the reviewers who pointed out inaccuracies in the original version of the paper and suggested a number of useful improvements.


  1. Assarf B, Gawrilow E, Herr K, Joswig M, Lorenz B, Paffenholz A, Rehn T (2017) Computing convex hulls and counting integer points with polymake. Math Programm Comput 9(1):1–38MathSciNetCrossRefGoogle Scholar
  2. Avis D (2000) A revised implementation of the reverse search vertex enumeration algorithm. Polytopes–combinatorics and computation. Birkhäuser, Basel, pp 177–198CrossRefGoogle Scholar
  3. Avis D, Bremner D, Seidel R (1997) How good are convex hull algorithms? Comput Geom 7(5–6):265–301MathSciNetCrossRefGoogle Scholar
  4. Avis D, Fukuda K (1992) A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra. Discrete Comput Geom 8(3):295–313MathSciNetCrossRefGoogle Scholar
  5. Bagnara R, Hill PM, Zaffanella E (2008) The Parma polyhedra library: toward a complete set of numerical abstractions for the analysis and verification of hardware and software systems. Sci Comput Programm 72(1–2):3–21MathSciNetCrossRefGoogle Scholar
  6. Barber CB, Dobkin DP, Huhdanpaa H (1996) The quickhull algorithm for convex hulls. ACM Trans Math Softw (TOMS) 22(4):469–483MathSciNetCrossRefGoogle Scholar
  7. Bastrakov SI, Zolotykh NYu (2015) Fast method for verifying Chernikov rules in Fourier-Motzkin elimination. Comput Math Math Phys 55(1):160–167MathSciNetCrossRefGoogle Scholar
  8. Bremner D, Fukuda K, Marzetta A (1998) Primal-dual methods for vertex and facet enumeration. Discrete Comput Geom 20(3):333–357MathSciNetCrossRefGoogle Scholar
  9. Burger E (1956) Über homogene lineare ungleichungssysteme. Zeitschrift für Angewandte Mathematik und Mechanik 36:135–139MathSciNetCrossRefGoogle Scholar
  10. Chernikova NV (1964) Algorithm for finding a general formula for the non-negative solutions of system of linear equations. U.S.S.R. Comput Math Math Phys 4(4):151–158CrossRefGoogle Scholar
  11. Cormen TH, Leiserson CE, Rivest RL, Stein C (2001) Introduction to algorithms. MIT press, Cambridge, MAzbMATHGoogle Scholar
  12. Demenkov M, Filimonov N (2016) Polyhedral barrier regulator design using non-monotonic Lyapunov function. In: Proceedings of 2016 international conference on stability and oscillations of nonlinear control systems (Pyatnitskiy’s Conference), STAB 2016, VA. Trapeznikov Institute of Control Sciences, Moscow.
  13. Fernández F, Quinton P (1988) Extension of Chernikova’s algorithm for solving general mixed linear programming problems. Research report, RR-0943, INRIA. Accessed 12 May 2019
  14. Fukuda K, Prodon A (1996) Double description method revisited. In: Deza M, Euler R, Manoussakis I (eds) Lecture notes in computer science, vol 1120. Springer-Verlag, New York, pp 91–111Google Scholar
  15. Genov B (2014) The convex hull problem in practice. PhD thesis, Universität Bremen. Accessed 12 May 2019
  16. Hemmecke R, Malkin PN (2009) Computing generating sets of lattice ideals and Markov bases of lattices. J Symbol Comput 44(10):1463–1476MathSciNetCrossRefGoogle Scholar
  17. Horst R, Pardalos PM, Van Thoai N (2000) Introduction to global optimization. Springer, New YorkCrossRefGoogle Scholar
  18. Jeannet B, Miné A (2009) Apron: a library of numerical abstract domains for static analysis. International conference on computer aided verification. Springer, Berlin, Heidelberg, pp 661–667CrossRefGoogle Scholar
  19. Motzkin TS, Raiffa H, Thompson GL, Thrall RM (1953) The double description method. In: Kuhn HW, Tucker AW (eds) Contributions to theory of games, vol 2. Princeton University Press, PrincetonGoogle Scholar
  20. Perry J (2017) Exploring the dynamic Buchberger algorithm. In: Proceedings of the 2017 ACM on international symposium on symbolic and algebraic computation ACM, pp 365–372.
  21. Schrijver A (1998) Theory of linear and integer programming. Wiley, New YorkzbMATHGoogle Scholar
  22. Schrijver A (2003) Combinatorial optimization: polyhedra and efficiency, vol 24. Springer, New YorkzbMATHGoogle Scholar
  23. Terzer M (2009) Large scale methods to enumerate extreme rays and elementary modes. PhD thesis, ETH ZurichGoogle Scholar
  24. Terzer M, Stelling J (2008) Large-scale computation of elementary flux modes with bit pattern trees. Bioinformatics 24(19):2229–2235CrossRefGoogle Scholar
  25. Le H (1992) Verge. A note on Chernikova’s algorithm. Technical Report 635, IRISA, Campus de Beaulieu, Rennes, FranceGoogle Scholar
  26. Wilde DK (2000) A library for doing polyhedral operations. Parallel Algorithms Appl 15(3–4):137–166CrossRefGoogle Scholar
  27. Ziegler GM (2012) Lectures on polytopes, vol 152. Springer, New YorkzbMATHGoogle Scholar
  28. Zolotykh NYu (2012) New modification of the double description method for constructing the skeleton of a polyhedral cone. Comput Math Math Phys 52(1):146–156MathSciNetCrossRefGoogle Scholar
  29. Zolotykh NY, Kubarev VK, Lyalin SS (2018) Double description method over the field of algebraic numbers. Vestnik Udmurtskogo Universiteta. Matematika. Mekhanika. Komp’yuternye Nauki 28(2):161–175MathSciNetCrossRefGoogle Scholar

Copyright information

© SBMAC - Sociedade Brasileira de Matemática Aplicada e Computacional 2019

Authors and Affiliations

  1. 1.Lobachevsky University of Nizhni NovgorodNizhni NovgorodRussia

Personalised recommendations