A faster algorithm for counting the integer points number in ∆-modular polyhedra
Let a polytope P be defined by a system Ax ≤ b. We consider the problem to count a number of integer points inside P, assuming that P is ∆-modular. The polytope P is ∆-modular if all the rank sub-determinants of A are bounded by ∆ in the absolute value. We present a new FPT-algorithm, parameterized by ∆ and by the number of simple cones in the normal fun triangulation of P, which is more efficient for ∆-modular problems, than the approach of A. Barvinok et al. To this end, we do not directly compute the short rational generating function for P ∩ Z^n , which is commonly used for the considered problem. We compute its particular representation in the form of exponential series that depends on one variable, using the dynamic programming principle. We completely do not use the A. Barvinok's unimodular sign decomposition technique. Using our new complexity bound, we consider different special cases that may be of independent interest. For example, we give FPT-algorithms for counting the integer points number in ∆-modular simplicies and similar polytopes that have n + O(1) facets. For any fixed m, we give an FPT-algorithm to count solutions of the unbounded m-dimensional ∆-modular knapsack problem. For the case, when ∆ grows slowly with respect to n, we give a counting algorithm, which is more effective, than the state of the art ILP feasibility algorithm due to D. Dadush.