Computing the Integer Points of a Polyhedron, I: Algorithm

  • Rui-Juan JingEmail author
  • Marc Moreno Maza
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10490)


Let K be a polyhedron in \({\mathbb R}^d\), given by a system of m linear inequalities, with rational number coefficients bounded over in absolute value by L. In this series of two papers, we propose an algorithm for computing an irredundant representation of the integer points of K, in terms of “simpler” polyhedra, each of them having at least one integer point. Using the terminology of W. Pugh: for any such polyhedron P, no integer point of its grey shadow extends to an integer point of P. We show that, under mild assumptions, our algorithm runs in exponential time w.r.t. d and in polynomial w.r.t m and L. We report on a software experimentation. In this series of two papers, the first one presents our algorithm and the second one discusses our complexity estimates.



The authors would like to thank IBM Canada Ltd (CAS project 880) and NSERC of Canada (CRD grant CRDPJ500717-16), as well as the University of Chinese Academy of Sciences, UCAS Joint PhD Training Program, for supporting their work.


  1. 1.
    Aubry, P., Lazard, D., Moreno Maza, M.: On the theories of triangular sets. J. Symb. Comput. 28, 105–124 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Barvinok, A.I.: A polynomial time algorithm for counting integral points in polyhedra when the dimension is fixed. Math. Oper. Res. 19(4), 769–779 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Barvinok, A.I.: Integer Points in Polyhedra. Contemporary Mathematics. European Mathematical Society (2008)Google Scholar
  4. 4.
    Beck, M.: Integer Points in Polyhedra-Geometry, Number Theory, Representation Theory, Algebra, Optimization, Statistics: AMS-IMS-SIAM Joint Summer Research Conference, 11–15 June 2006, Snowbird. Utah. Contemporary mathematics - Amer. Math, Soc. (2008)Google Scholar
  5. 5.
    Chen, C., Chen, X., Keita, A., Moreno Maza, M., Xie, N.: MetaFork: a compilation framework for concurrency models targeting hardware accelerators and its application to the generation of parametric CUDA kernels. In: Proceedings of CASCON 2015, pp. 70–79 (2015)Google Scholar
  6. 6.
    Cohen, H.: A Course in Computational Algebraic Number Theory, vol. 138. Springer Science & Business Media, Heidelberg (2013)Google Scholar
  7. 7.
    Feautrier, P.: Parametric integer programming. RAIRO Recherche Opérationnelle 22 (1988).
  8. 8.
    Feautrier, P.: Automatic parallelization in the polytope model. In: Perrin, G.-R., Darte, A. (eds.) The Data Parallel Programming Model. LNCS, vol. 1132, pp. 79–103. Springer, Heidelberg (1996). doi: 10.1007/3-540-61736-1_44. CrossRefGoogle Scholar
  9. 9.
    Fischer, M.J., Fischer, M.J., Rabin, M.O.: Super-exponential complexity of presburger arithmetic. Technical report, Cambridge, MA, USA (1974)Google Scholar
  10. 10.
    Grünbaum, B.: Convex Polytops. Springer, New York (2003)CrossRefGoogle Scholar
  11. 11.
    Hung, M.S., Rom, W.O.: An application of the hermite normal form in integer programming. Linear Algebra Appl. 140, 163–179 (1990)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Jing, R.-J., Yuan, C.-M., Gao, X.-S.: A polynomial-time algorithm to compute generalized hermite normal form of matrices over \({\mathbb{Z}}[x]\). CoRR, abs/1601.01067 (2016)Google Scholar
  13. 13.
    Jones, C.N., Kerrigan, E.C., Maciejowski, J.M.: On polyhedral projection and parametric programming. J. Optim. Theory Appl. 138(2), 207–220 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Kannan, R., Bachem, A.: Polynomial algorithms for computing the smith and hermite normal forms of an integer matrix. SIAM J. Comput. 8(4), 499–507 (1979)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Khachiyan, L.: Fourier-motzkin elimination method. In: Floudas, C.A., Pardalos, P.M. (eds.) Encyclopedia of Optimization, 2nd edn, pp. 1074–1077. Springer, Heidelberg (2009). doi: 10.1007/978-0-387-74759-0_187 CrossRefGoogle Scholar
  16. 16.
    Köppe, M., Verdoolaege, S.: Computing parametric rational generating functions with a primal Barvinok algorithm. Electr. J. Comb. 15(1), R16 (2008)MathSciNetzbMATHGoogle Scholar
  17. 17.
    Pugh, W.: The omega test: a fast and practical integer programming algorithm for dependence analysis. In: Martin, J.L. (ed.) Proceedings Supercomputing 1991, Albuquerque, NM, USA, 18–22 November 1991, pp. 4–13. ACM (1991)Google Scholar
  18. 18.
    Pugh, W.: Counting solutions to presburger formulas: how and why. In: Sarkar, V., Ryder, B.G., Soffa, M.L. (eds.) Proceedings of the ACM SIGPLAN 1994 Conference on Programming Language Design and Implementation (PLDI), Orlando, Florida, USA, 20–24 June 1994, pp. 121–134. ACM (1994)Google Scholar
  19. 19.
    Schrijver, A.: Theory of Linear and Integer Programming. Wiley, New York (1986)zbMATHGoogle Scholar
  20. 20.
    Storjohann, A.: A fast practical deterministic algorithm for triangularizing integer matrices. Citeseer (1996)Google Scholar
  21. 21.
    Storjohann, A.: Algorithms for matrix canonical forms. Ph.D. thesis, Swiss Federal Institute of Technology Zürich (2000)Google Scholar
  22. 22.
    Wonnacott, D.: Omega test. In: Encyclopedia of Parallel Computing, pp. 1355–1365 (2011)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.KLMM, UCAS, Academy of Mathematics and Systems ScienceChinese Academy of SciencesBeijingChina
  2. 2.University of Western OntarioLondonCanada

Personalised recommendations