31 return lhs.
obj.at(0) < rhs.
obj.at(0);
44 for (
const auto& o_lhs : lhs.
obj)
46 for (
const auto& o_rhs : rhs.
obj)
58 auto tmp =
pop.individuals;
61 for (
const auto& t : tmp )
68 cout <<
"intializing archive with " <<
individuals.size() <<
" inds\n";
79 vector<Individual> tmp =
pop.individuals;
89 for (
const auto&
i : pf)
individual programs in the population
float fitness
aggregate fitness score
vector< float > obj
objectives for use with Pareto selection
unsigned int get_complexity() const
get the program complexity without updating it.
unsigned int complexity
the complexity of the program.
bool in(const vector< T > v, const T &i)
check if element is in vector.
vector< T > unique(vector< T > w)
returns unique elements in vector
holds the hyperparameters for Feat.
static bool sameObjectives(const Individual &lhs, const Individual &rhs)
static bool sortObj1(const Individual &lhs, const Individual &rhs)
Sort population by first objective.
void init(Population &pop)
static bool sameFitComplexity(const Individual &lhs, const Individual &rhs)
check for repeats
static bool sortComplexity(const Individual &lhs, const Individual &rhs)
Sort population in increasing complexity.
void update(const Population &pop, const Parameters ¶ms)
bool sort_complexity
whether to sort archive by complexity
NSGA2 selector
nsga2 selection operator for getting the front
vector< Individual > individuals
individual programs in the archive
void set_objectives(vector< string > objectives)
Defines a population of programs and functions for constructing them.
void fast_nds(vector< Individual > &)
vector< vector< int > > front