2
$\begingroup$

This is NOT a question about whether or not we can use LP to check polytope containment, which is already answered by existing posts on this website.

Suppose we have two convex polytopes in their H-representatations

$P_1=\{x\in \mathbb{R}^n \mid A_1 x \leq b_1 \}$ and $P_2=\{x\in \mathbb{R}^n \mid A_2 x \leq b_2 \}$

The answer to a previous post requires first solving an LP, and then checking the non-negativity of the decision variables, which is a two-step process.

I am wondering if there is a way to check whether $P_1 \subseteq P_2$ by only checking the feasibility of a single linear program (without rewriting $P_1$ into its V-representation)? If the answer is negative, is there an explanation using complexity theory?

1 Answers 1

6

The answer is affirmative. You want to verify $x \in P_2 \; \forall x \in P_1$. This is much like Robust Optimization, and the solution technique is the same. Let me write the constraints for $P_1$ as $Cx \leq d$ and for $P_2$ as $Ax \leq b$ for convenience. For each constraint in $P_2$, $(a^i)^T x \leq b_i$, we want to know if it is satisfied for all $x \in P_1$. This is equivalent to: $$ \left[ \max_{x : Cx \leq d} (a^i)^T x \right]\leq b_i \quad \forall i$$ Take the dual: $$ \left[ \min_{y^i \geq 0} \{ d^T y^i : C^T y^i = a^i \} \right]\leq b_i \quad \forall i$$ This inequality holds for the minimum iff it holds for at least one $y^i$: $$ d^T y^i \leq b_i, \; y^i \geq 0, \; C^T y^i = a^i \quad \forall i$$ Now $P_1 \subseteq P_2$ iff this polyhedron is non-empty. Note that you can check emptiness for each $i$ separately, which is perfectly parallelizable.

  • 0
    Aha! Nice work.2017-01-14
  • 0
    @MichaelGrant Thanks. I guess I have to frame it now :)2017-01-14
  • 0
    Should you perhaps attach a comment to my other answer to point people to this? Obviously you commented on the question, but you didn't make it clear that this was a true alternative.2017-01-14
  • 0
    Thanks a lot! Nice method.2017-01-26