Function MathOpt::getDualMembershipLP

Function Documentation

void MathOpt::getDualMembershipLP(std::unique_ptr<GRBModel> &convexModel, unsigned int &numV, const arma::sp_mat &V, unsigned int &numR, const arma::sp_mat &R, const arma::vec &vertex, bool containsOrigin)

Given a vector R of rays, and V or vertices, builds a model in ConvexModel that certifies whether vertex belongs to the convex-hull generated by V and R. In case numV and/or numR are specified, it just updates the model in ConvexModel with the missing vertices and rays. The model is always normalized.

  • convexModel – The pointer to the model

  • numV – The number of vertices in the model

  • V – The matrix containing vertices (as rows)

  • numR – The number of rays in the model

  • R – The matrix containing rays (as rows)

  • vertex – The vertex to separate

  • containsOrigin – True if the origin is a feasible vertex