How to algorithmically decide if a given polytope is open?

64 Views Asked by At

Given a polytope $$P = \{{ \bf x} \in \mathbb{R}^n\mid{\bf A} {\bf x} \leq {\bf c}, {\bf A}\in\mathbb{R}^{m\times n},{\bf c}\in\mathbb{R}^m\}$$ find a fast algorithm that determines if $P$ is unbounded.

My idea was to run a linear programming algorithm (e.g. Simplex) twice aiming at the objectives $\max x_1$ and $\max -x_1$ for ${\bf x}:=(x_1,\ldots,x_n)\in\mathbb{R}^n$. I think this idea solves my problem iff the facets of the polytope are pair-wise not parallel. Unfortunately I cannot prove the correctness of my idea.

There is a paper [1] stating in the introduction that this problem can be solved by Gaussian elimination in polynomial time, but no algorithm or reference is given.

Any help (algorithm, proof of my idea, reference) is appreciated.

[1] Kaibel, Volker, and Marc E. Pfetsch. "Some algorithmic problems in polytope theory." Algebra, geometry and software systems. Springer, Berlin, Heidelberg, 2003. 23-47.

1

There are 1 best solutions below

0
On BEST ANSWER

Each row of the inequality $Ax \leq c$ describes an $n$-dimensional halfspace $\sum\limits_j a_{ij} x_j \leq c_i$. Thus, your problem is determining whether the intersection of $m$ half-spaces is unbounded. This is a well-known problem; searching for "halfspace intersection" will provide you with many results.

For a particular source, see Computational Geometry: Algorithms and Applications (3rd edition) by de Berg et al., section 4.6 - Linear Programming in Higher Dimensions.