11template<ProgramType T>
32 void save(
string filename);
34 void load(
string filename);
45 void update(vector<vector<size_t>> survivors);
71 return pop[i].fitness.complexity <
pop[j].fitness.complexity;
81 return pop[i].fitness.linear_complexity <
pop[j].fitness.linear_complexity;
92 return (
pop[i].fitness ==
pop[j].fitness);
101 individuals, island_indexes, pop_size, num_islands, mig_prob, linear_complexity);
103 individuals, island_indexes, pop_size, num_islands, mig_prob, linear_complexity);
105 individuals, island_indexes, pop_size, num_islands, mig_prob, linear_complexity);
107 individuals, island_indexes, pop_size, num_islands, mig_prob, linear_complexity);
const Individual< T > & operator[](size_t i) const
setting and getting from individuals vector (will ignore islands)
vector< size_t > get_island_indexes(int island)
bool linear_complexity
Indicates if the user set linear_complexity instead of recursive complexity.
int size()
returns population size (the effective size of the individuals)
void add_offspring_indexes(int island)
update individual vector size, distributing the expressions in num_islands
void save(string filename)
vector< vector< size_t > > sorted_front(unsigned rank=1)
return complexity-sorted Pareto front indices for each island
vector< std::shared_ptr< Individual< T > > > individuals
void init(SearchSpace &ss, const Parameters ¶ms)
initialize population of programs with a starting model and/or from file
string print_models(string sep="\n")
return population equations.
vector< vector< size_t > > island_indexes
vector< size_t > hall_of_fame(unsigned rank=1)
void load(string filename)
void update(vector< vector< size_t > > survivors)
reduce programs to the indices in survivors. Not thread safe,as it removes elements
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Archive< PT::Regressor >, individuals, sort_complexity, linear_complexity)
< nsga2 selection operator for getting the front
bool operator()(size_t i, size_t j)
SameFitComplexity(Population< T > &p)
bool operator()(size_t i, size_t j)
SortComplexity(Population &p)
SortLinearComplexity(Population &p)
bool operator()(size_t i, size_t j)
Holds a search space, consisting of operations and terminals and functions, and methods to sample tha...