19 using FitnessFunction = double (*)(Individual*,
void*);
56 void Initialize(
const std::vector<BitVector>& initial_population);
156 void Evaluate(FitnessFunction fitness_function,
void* user_data);
160 std::vector<Individual> individuals_;
161 std::vector<double> partial_sums_;
162 std::vector<size_t> sorted_indices_;
163 bool is_sorted_ =
false;
168 #endif // POPULATION_H__
Individual & GetIndividualWritable(size_t index)
Definition: Population.cc:103
const Individual & RankSelect() const
Definition: Population.cc:252
size_t Size() const
Definition: Population.cc:18
double GetScoreStandardDeviation() const
Definition: Population.cc:122
const Individual & RouletteWheelSelect(RandomWrapper *random) const
Definition: Population.cc:200
const Individual & GetIndividual(size_t index) const
Definition: Population.cc:93
const Individual & UniformSelect(RandomWrapper *random) const
Definition: Population.cc:193
void Evaluate(FitnessFunction fitness_function, void *user_data)
Definition: Population.cc:164
const Individual & GetBestIndividual() const
Definition: Population.cc:88
void Replace(size_t index, const Individual &individual)
Definition: Population.cc:81
double GetAverageScore() const
Definition: Population.cc:112
void Resize(size_t size, RandomWrapper *random)
Definition: Population.cc:20
Definition: Population.h:29
const Individual & TournamentSelect(size_t tournament_size, RandomWrapper *random) const
Definition: Population.cc:222
Definition: RandomWrapper.h:20
Definition: Individual.h:20
void Initialize(const std::vector< BitVector > &initial_population)
Definition: Population.cc:32
double GetPopulationDiversity() const
Definition: Population.cc:137
void Sort()
Definition: Population.cc:61
void InitializePartialSums()
Definition: Population.cc:42
double GetMinimumScore() const
Definition: Population.cc:108