findkbestparetoset.h 1.37 KB
#ifndef DEF_HFINDKBESTPARETOSET
#define DEF_HFINDKBESTPARETOSET

#include <strings.h>
#include <time.h>
#include <cstring>
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
#include <cfloat>
#include <iterator>
#include <algorithm>

#include "boip.h"



class Findkbestparetoset
{

public :
    Findkbestparetoset(int nbSol, unsigned int ncores);

    void find(const std::vector < unsigned int > &verticesId,
              const std::vector < float > &verticesW1,
              const std::vector < float > &verticesW2,
              const std::vector < std::vector < unsigned int > > &NvBs,
              const std::vector < std::pair < unsigned int, unsigned int > > &E2);

    std::vector< BoipChrSolution > get_R_();

private :

    void localPareto(float lambdaMin, float lambdaMax,
                     const std::vector < unsigned int > &verticesId,
                     const std::vector < float > &verticesW1,
                     const std::vector < float > &verticesW2,
                     const std::vector < std::vector < unsigned int > > &NvBs,
                     const std::vector < std::pair < unsigned int, unsigned int > > &E2);

    int nbSol_; //number of Pareto set seeked
    std::vector < BoipChrSolution > R_; //set R to save the solutions (decisions variables, obj1, obj2)
    float U2_;
    unsigned int ncores_;
};



#endif