// Config attributes are used to generate a problem instance. This way, two differents problems can be generated within the same definition space. Random is made by _seed.
int_quantityAvailableCompetencies;
int_quantityAvailableCourses;
int_quantityAvailableCourses;
std::vector<Course>_availableCourses;
int_quantityOfTimeFrame;
/// ECTS values, defining the intervale [_minimal,_maximal] for random
/// ECTS values, defining the intervale [_minimal,_maximal] for random
int_minimalECTSValue;
int_minimalECTSValue;
int_maximalECTSValue;
int_maximalECTSValue;
int_minimalCoursesByTimeFrame;
int_minimalCoursesByTimeFrame;
int_maximalCoursesByTimeFrame;
int_maximalCoursesByTimeFrame;
// ---------- END CONFIGURATION ATTRIBUTES ----------
int_numberOfTimeFrame;
// ---------- PROBLEM SPECIFIC ATTRIBUTES ----------
// Theses attributes represent the CSDVP
std::vector<int>_timeFrames;
std::vector<int>_timeFrames;
std::vector<Course>_availableCourses;
std::vector<Competency>_availableCompentecies;
///@todo implements a decay politics
///@todo implements a decay politics
//DecayPolitics
//DecayPolitics
// --------- END PROBLEM SPECIFIC ATTRIBUTES ---------
// Static
// Static
staticintPROBLEM_COUNTER;
staticintCSDVP_COUNTER;
staticintassignID();
staticintassignID();
public:
public:
// === CONSTRUCTOR
CSDVP();
CSDVP();
/// Generate an instance of the CSDVP iff isConfig is true. Thus, seed != -1;