findkbestparetoset.h
1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#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