Function MathOpt::getPrimalMembershipLP

Function Documentation

void MathOpt::getPrimalMembershipLP(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. From Chvátal, V., Cook, W. and Espinoza, D., 2013. Local cuts for mixed-integer programming. Mathematical Programming Computation, 5(2), pp.171-200.

Parameters
  • 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