An Efficient Parametric Linear Programming Solver and Application to Polyhedral Projection

An Efficient Parametric Linear Programming Solver and Application to   Polyhedral Projection
Notice: This research summary and analysis were automatically generated using AI technology. For absolute accuracy, please refer to the [Original Paper Viewer] below or the Original ArXiv Source.

Polyhedral projection is a main operation of the polyhedron abstract domain.It can be computed via parametric linear programming (PLP), which is more efficient than the classic Fourier-Motzkin elimination method.In prior work, PLP was done in arbitrary precision rational arithmetic.In this paper, we present an approach where most of the computation is performed in floating-point arithmetic, then exact rational results are reconstructed.We also propose a workaround for a difficulty that plagued previous attempts at using PLP for computations on polyhedra: in general the linear programming problems are degenerate, resulting in redundant computations and geometric descriptions.


💡 Research Summary

The paper addresses a fundamental operation in the polyhedron abstract domain—projection—by leveraging parametric linear programming (PLP) rather than the traditional Fourier‑Motzkin elimination, which suffers from exponential blow‑up in the number of constraints and severe redundancy. While PLP is theoretically more efficient, earlier implementations relied exclusively on arbitrary‑precision rational arithmetic, leading to high computational cost and, more importantly, to difficulties caused by degeneracy: a single optimal vertex may be represented by multiple bases, causing repeated work and unnecessary constraint generation.

The authors propose a hybrid solution that performs the bulk of the computation in floating‑point arithmetic using an off‑the‑shelf LP solver (GLPK) and then reconstructs exact rational results from the final simplex tableau. The key insight is that the simplex algorithm, even when run in floating point, yields a partition of variables into basic and non‑basic sets. By extracting this partition, one can formulate a small linear system whose solution (the optimal λ* vector) can be recomputed exactly with rational arithmetic (using the Flint library). This reconstruction also provides a formal certificate of feasibility, guaranteeing that the floating‑point solver’s answer, despite possible numerical errors, yields an over‑approximation that safely contains the true polyhedron—crucial for sound static analysis.

To tackle degeneracy and the associated redundant computations, the paper introduces a ray‑tracing based minimization algorithm. Rays are launched from an interior point of the polyhedron; the first constraint hit by each ray is declared irredundant. Remaining constraints are examined for an “irredundancy witness”—a point that violates the candidate constraint while satisfying all others. If such a witness exists, the constraint is kept; otherwise it is marked redundant. This approach replaces the costly Farkas‑lemma based redundancy checks with a geometric procedure that scales well in practice.

The overall PLP solving workflow is organized as a work‑list of parameter vectors. For each vector w, the LP is solved in floating point, the basis is extracted, and the region of parameters R that shares this basis is derived (by translating the basis‑dependent non‑basic variable coefficients into linear inequalities on the parameters). Redundant constraints within R are removed via the ray‑tracing minimizer, and new witness points on the boundary of R are added to the work‑list. Already covered regions are skipped, and the process terminates when the work‑list is empty, meaning the entire parameter space has been partitioned into regions with known optimal functions.

The authors provide detailed pseudo‑code (Algorithms 1 and 2) and a flow‑chart illustrating the interplay between floating‑point and rational computations, with explicit type annotations (Q for rationals, F for floating‑point). They also discuss how to handle the normalization constraint, the construction of the PLP for projection (including the elimination of variables x_p … x_q), and the exact reconstruction of the objective matrix O′ using the substitution matrix Θ = O_B M_B⁻¹.

Experimental evaluation compares the new implementation against NewPolka on a benchmark suite of 1.75 million polyhedra. The hybrid approach incurs only three cases where rounding errors cause a missing face, while achieving a substantial speed‑up over the pure rational implementation. Moreover, the ray‑tracing minimizer dramatically reduces the number of redundant constraints, especially in high‑dimensional cases where generator representations become infeasible.

In summary, the paper delivers a practical, high‑performance PLP solver that combines fast floating‑point LP solving with exact rational post‑processing, and introduces a robust method for handling degeneracy and redundancy. This advances the state of the art in polyhedral analysis, making precise abstract interpretation more scalable and reliable for applications such as static program analysis, optimization, and formal verification.


Comments & Academic Discussion

Loading comments...

Leave a Comment