How to numerially find a polytope convex hull (simplex) for discrete data points

64 Views Asked by At

I'm trying to find a convex hull for some data points (~1000 - 10000). I tried to acquire a non-standard simplex by solving an optimization problem. The decision variables of the optimization problem contain vertices of the simplex and normal vectors of each hyperplane and shift for the RHS of half-space inequality constraints. The objective function is the minimum of the sum of vertices' distance to the origin. It looks like this: $$ \begin{array}{ll} \underset{v,e,b}{\operatorname{minimize}} & \sum_{i} \|v_i\|_2 \\ \text { subject to } & e_{l}^{\top}(v_{i_l} - v_{j_l})=0, \quad \\ & e_{l}^{\top}x_{data,k} \leq b_l. \end{array} $$

The optimization is implemented in python by using casadi and the solver is ipopt. I tested with the 2D case with 5 data points and different initial guesses(also some other settings), but the problem cannot be solved numerically.

Question: 1. Any better way to find such a polytope convex hull? 2. How to solve such an optimization problem?

Any hint would be appreciated! Many thanks in advance.