I am looking for a algorithm that returns the vertices of a polytope if provided with the set of intersecting half-spaces that define it.
In my special case the polytope is constructed by the following constraints on $x \in \mathbb{R}^d$:
- $\sum_i x_i = 1$ (i.e., $\|x\|_1 = 1$).
- $0 \le a_i \leq x_i\leq b_i \leq1$, where the $a_i,b_i$ are given
This can either be thought of as the intersection of the hyper-plane (defined by the first constraint, in combination with the range restriction of the second constraint) with a hyper-cube (defined by the second constraint) or as the intersection of half-spaces where the first constraint is the intersection of two half-spaces that only intersect on a hyper-plane.
This always generates a convex polytope, if I am not mistaken, as long as the intersection creates a bounded set.
I would like to have an algorithm that returns the set vertices of the polytope if provided with the set of $a_i$'s and $b_i$'s.
There is a special case where there exists no $x$ that satifies this condition. Ideally, this would be picked up on. Therefore, I would wish for an algorithm that checks if such a polytope exists and if so returns the vertices.