ipcomp.h 825 Bytes
#ifndef DEF_HIPCOMP
#define DEF_HIPCOMP


#include <vector>

#include "ip.h"

//const double PRECISION = 0.0001;


class Ipcomp
{
public:

    Ipcomp(const std::vector < std::tuple < unsigned int, unsigned int, unsigned int, float > > &v, const std::vector < std::vector < unsigned int > > &NvBs, unsigned int ncores);

    ~Ipcomp();

    void add_bj_ct(std::vector< unsigned int > c);

    int solve(std::vector< unsigned int > &clique, float &score);

private:
    std::vector < std::tuple < unsigned int, unsigned int, unsigned int, float > > vertices; //vector to store the vertices
    std::vector < std::vector < unsigned int > > NvB; //vector to store the non-adjacent vertices
    std::vector< unsigned int > v_;			// vector to store the vertices variables
    IP *ip_;		// pointer to the integer program
};

#endif