Reconstruct optimization problem from polygon

95 Views Asked by At

In optimization, a function $Ax\leq b$ defines a convex polygon in $R^2$. I have a set of vertices from this polygon and now need to reconstruct the optimization problem that has the same convex polygon as a set of possible solutions (i.e. find $A$ and $b$). The thing is, how do I find $A$ and $b$?

E.g. if I had a triangle of vertices (0,1), (-1,0) and (1, 0) how could I find an optimization problem in the form $Ax\leq b$ that has this triangle as a set of possible solutions? I believe I need to find the line equations for each edge, but I don't know how to proceed afterwards the matrices.

Edit: Going by Kroki's answer, suppose that the triangle vertices are at (0,2), (-2,0) and (2, 0) $$ A = \left[ \begin{array}{ccccc} -1 & 0 & 0 & -2 & 2\\ 0 & -1 & 2 & 0 & 0\\ 0 & 0 & -1 & -1 & -1 \end{array} \right] $$ $$ b = \left[ \begin{array}{c} 0\\ 0\\ 1 \end{array} \right] $$ Would that be right?

2

There are 2 best solutions below

7
On

Assume that you have the vertices $v_1, \ldots, v_m$, then

$$u = \sum_{i=1}^m \lambda_i v_i,\; \text{and}\; \sum_{i=1}^m \lambda_i = 1$$ you can take $$A = \begin{bmatrix}-\boldsymbol I & v_1 & \cdots & v_m\\ \boldsymbol 0^{\intercal} & -1 & \cdots & -1\end{bmatrix},\; x = \begin{bmatrix}u\\ \lambda_1\\ \vdots\\\lambda_m\end{bmatrix}\; \text{and}\; b = \begin{bmatrix}\boldsymbol 0\\ 1\end{bmatrix}$$

and your polyhedra will be defined as $Ax = b$.

0
On

Assuming that the set in question is the convex hull of the points $v_k$, let $V=\begin{bmatrix} v_1 & \cdots & v_n \end{bmatrix}$, $e=(1,...,1)^T$, $A=\begin{bmatrix} -I & V \\ I & -V \\ 0 & e^T \\ 0 & -e^T \\ 0 & -I \end{bmatrix}$, $b=\begin{bmatrix} 0 \\ 0 \\ 1 \\ -1 \\ 0 \end{bmatrix}$.

Then, assuming that the set in question is the convex hull of the points $v_k$ we have that the set is $\{ x | A\begin{bmatrix} x \\ \mu \end{bmatrix} \le b, \} = \{ \sum_k \mu_k v_k | \sum_k \mu_k =1, \mu_k \ge 0 \}$.