A Facet Enumeration Algorithm for Convex Polytopes
Yaguang Yang
TL;DR
The paper tackles facet enumeration for convex polytopes by proposing a direct, geometry-based method that avoids dual primal–dual transformations. It builds a vertex/edge diagram from a given V-representation by edge detection, deriving candidate facet-defining hyperplanes via branches in the vertex graph and solving linear systems to obtain hyperplanes; validation uses the inequality test $U h ≤ e$ and a linear-programming based edge test. The core contribution is a two-loop algorithm (breadth-first exploration of vertices and depth-first construction of hyperplane candidates) that yields the facet set ${\bf H}$, demonstrated on standard polytopes and implemented in MATLAB; the approach can also be adapted to vertex enumeration through duality. The work provides a simple, interpretable, and potentially scalable method for facet enumeration with practical relevance to polyhedral computations.
Abstract
This paper proposes a novel and simple algorithm of facet enumeration for convex polytopes. The complexity of the algorithm is discussed. The algorithm is implemented in Matlab. Some simple polytopes with known H-representations and V-representations are used as the test examples. Numerical test shows the effectiveness and efficiency of the proposed algorithm. Due to the duality between the vertex enumeration problem and facet enumeration problem, we expect that this method can also be used to solve the vertex enumeration problem.
