15#ifndef _RBTPOPULATION_H_
16#define _RBTPOPULATION_H_
18#include "rxdock/Error.h"
19#include "rxdock/Genome.h"
21#include <nlohmann/json.hpp>
23using json = nlohmann::json;
31 static const std::string _CT;
48 friend void to_json(json &j,
const Population &population);
49 friend void from_json(
const json &j,
Population &population);
52 int GetMaxSize()
const {
return m_size; }
54 int GetActualSize()
const {
return m_pop.size(); }
58 double GetScoreMean()
const {
return m_scoreMean; }
60 double GetScoreVariance()
const {
return m_scoreVariance; }
62 const GenomeList &GetGenomeList()
const {
return m_pop; }
65 BaseSF *GetSF()
const {
return m_pSF; }
75 GAstep(
int nReplicates,
77 double equalityThreshold,
82 RBTDLL_EXPORT
GenomePtr RouletteWheelSelect()
const;
84 void Print(std::ostream &)
const;
85 friend std::ostream &operator<<(std::ostream &,
const Population &);
91 void MergeNewPop(GenomeList &newPop,
double equalityThreshold);
92 void EvaluateRWFitness();
102 double m_scoreVariance;
105void to_json(json &j,
const Population &population);
106void from_json(
const json &j,
Population &population);
Definition ChromElement.h:36
Definition Population.h:29
Definition SmartPointer.h:48