15 research outputs found
A parametric integer programming algorithm for bilevel mixed integer programs
We consider discrete bilevel optimization problems where the follower solves
an integer program with a fixed number of variables. Using recent results in
parametric integer programming, we present polynomial time algorithms for pure
and mixed integer bilevel problems. For the mixed integer case where the
leader's variables are continuous, our algorithm also detects whether the
infimum cost fails to be attained, a difficulty that has been identified but
not directly addressed in the literature. In this case it yields a ``better
than fully polynomial time'' approximation scheme with running time polynomial
in the logarithm of the relative precision. For the pure integer case where the
leader's variables are integer, and hence optimal solutions are guaranteed to
exist, we present two algorithms which run in polynomial time when the total
number of variables is fixed.Comment: 11 page
Computation of the highest coefficients of weighted Ehrhart quasi-polynomials of rational polyhedra
This article concerns the computational problem of counting the lattice
points inside convex polytopes, when each point must be counted with a weight
associated to it. We describe an efficient algorithm for computing the highest
degree coefficients of the weighted Ehrhart quasi-polynomial for a rational
simple polytope in varying dimension, when the weights of the lattice points
are given by a polynomial function h. Our technique is based on a refinement of
an algorithm of A. Barvinok [Computing the Ehrhart quasi-polynomial of a
rational simplex, Math. Comp. 75 (2006), pp. 1449--1466] in the unweighted case
(i.e., h = 1). In contrast to Barvinok's method, our method is local, obtains
an approximation on the level of generating functions, handles the general
weighted case, and provides the coefficients in closed form as step polynomials
of the dilation. To demonstrate the practicality of our approach we report on
computational experiments which show even our simple implementation can compete
with state of the art software.Comment: 34 pages, 2 figure
Experiences with enumeration of integer projections of parametric polytopes
Many compiler optimization techniques depend on the ability to calculate the number of integer values that satisfy a given set of linear constraints. This count (the enumerator of a parametric polytope) is a function of the symbolic parameters that may appear in the constraints. In an extended problem (the "integer projection" of a parametric polytope), some of the variables that appear in the constraints may be existentially quantified and then the enumerated set corresponds to the projection of the integer points in a parametric polytope.
This paper shows how to reduce the enumeration of the integer projection of parametric polytopes to the enumeration of parametric polytopes. Two approaches are described and experimentally compared. Both can solve problems that were considered very difficult to solve analytically
Integer Affine Transformations of Parametric Z-polytopes and Applications to Loop Nest Optimization
The polyhedral model is a well-known compiler optimization framework for the analysis and transformation of affine loop nests. We present a new method concerning a difficult geometric operation that is raised by this model: the integer affine transformation of parametric Z-polytopes. The result of such a transformation is given by a worst-case exponential union of Z-polytopes. We also propose a polynomial algorithm (for fixed dimension), to count points in arbitrary unions of a fixed number of parametric Z-polytopes. We implemented these algorithms and compared them to other existing algorithms, for a set of applications to loop nest analysis and optimization