Function MathOpt::convexHull

Function Documentation

unsigned int MathOpt::convexHull(const std::vector<arma::sp_mat*> *Ai, const std::vector<arma::vec*> *bi, arma::sp_mat &A, arma::vec &b, const arma::sp_mat &Acom = {}, const arma::vec &bcom = {})

Computes the convex hull of a finite union of polyhedra where each polyhedra \(P_i\) is of the form.

\[\begin{split}\begin{eqnarray} A^ix &\leq& b^i\\ x &\geq& 0 \end{eqnarray}\end{split}\]
. It uses Balas’ approach to compute the convex hull.

Parameters
  • Ai – Inequality constraints LHSs that define polyhedra whose convex hull is to be found

  • bi – Inequality constraints RHSs that define polyhedra whose convex hull is to be found

  • A – Pointer to store the output of the convex hull LHS

  • b – Pointer to store the output of the convex hull RHS

  • Acom – Any common constraints to all the polyhedra - lhs.

  • bcom – Any common constraints to ALL the polyhedra - RHS.

Returns