ipcomp.h 847 Bytes
#ifndef DEF_HIPCOMP
#define DEF_HIPCOMP


#include <vector>

#include "ip.h"

//const double PRECISION = 0.0001;


class Ipcomp
{
public:

    Ipcomp(const std::vector < unsigned int > &v,
           const std::vector < float > &w,
           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 < unsigned int > vertices; //vector to store the vertices    
    std::vector < float > weights; //vector to store the vertex weights
    std::vector < std::vector < unsigned int > > NvB; //vector to store the non-adjacent vertices
    std::vector < int > v_;			// vector to store the vertices variables
    IP *ip_;		// pointer to the integer program
};

#endif