1

I am aware any set

$$ \mathbb{S} = \{x\in\mathbb{R}^n | A x \leq b\} $$

where $A\in\mathbb{R}^{q\times n}$, $q\in \mathbb{R}^q$ is convex, yet there is no guarantee it's also non-empty. Is there any convenient way to construct a nonempty (random!) Polyeder?

Right now, I am building some full rank Matrix $B=e^C$ by using $e^C e^{-C} = I$ is always invertible (hence full rank) and $C=rand(m)$ MATLAB rand with $m=max(n,q)$ and reducing $B$ to the desired dimenions of $A$. It works, yet using this method one has to check for non-emptiness, solving a Linear Feasibility Problem.

Later on, I'd like to construct some set

$$ \mathbb{Q} = \{x\in\mathbb{R}^n | A x \leq b, C x = d\} $$

which also needs to be random and non-empty. Thanks for your help. Please be kind, engineers are not mathematicians.

Ben Grossmann
  • 234,171
  • 12
  • 184
  • 355
Scoeerg
  • 153
  • 1
    One way to guarantee that $\Bbb S$ is non-empty is to select $b = |A| \cdot \vec 1$, where $|A|$ denotes the spectral norm (maximal singular value) of $A$ and $\vec 1$ is the vector of $1$s. I can't speak to how "random" the resulting polytopes will be though – Ben Grossmann Sep 17 '19 at 21:12
  • 1
    This paper indicates that you can generate a random polytope using the convex hull of some number of points, but I'm not sure how one would go from the convex-hull presentation to the matrix-inequality presentation that you're after. – Ben Grossmann Sep 17 '19 at 21:15
  • @Omnomnomnom I guess the row-vectors of some matrix $A$ with $Ax \leq b$ would be the vectors which connect the number of points defining the convex-hull. No idea about $b$ then though. – Scoeerg Sep 19 '19 at 14:53
  • @BenGrossmann Link is broken. What's the paper? – user76284 Nov 02 '22 at 04:45
  • @user76284 Sorry, I don't remember – Ben Grossmann Nov 02 '22 at 13:21
  • 1
    This recent survey Recent Results on Random Polytopes by Rolf Schneider describes three methods for generating random polytopes in $d$-dimensional Euclidean space, one of which is convex hulls of finitely many points. – hardmath Nov 10 '22 at 02:13

1 Answers1

1

Alright, inspired by another math.stackexchange question, I will present my solution, so this question will not remain unanswered. (In this case, when I say random, I mean any $f_{ij}$ in a matrix F is uniformly distributed in [-a,a] and $F$ is full rank. I believe it works for any distribution).

First of all, I will generate some random $x$ and $C$, then calculate

$$d=Cx$$

This will ensure $Cx=d$ is solvable for some $x$ I have chosen. Then generate some random $A$, and calculate

$$b_{temp} = Ax$$

So far, the chosen $x$ is simply the intersection of the two hyperplanes defined by $Cx=d$ and $Ax=b_{temp}$. By increasing $b_{temp}$, the system recieves degrees of freedom.

$$b = b_{temp} + e$$

where $e_i > 0, \forall i$ and therefore $Ax\leq b$ and $\mathbb{Q} = \{x\in\mathbb{R}^n | Ax\leq b, Cx=d\}$ should be non-empty.

Scoeerg
  • 153