12#ifndef P6DOFTUNERGAMANAGER_HPP
13#define P6DOFTUNERGAMANAGER_HPP
15#include "p6dof_export.h"
20#include "UtRandom.hpp"
27 void Advance(std::vector<P6DofTunerGASpecimen::PidLogElement>& aSimData);
41 void SetCarryOverFraction(
double aCarryOverFrac);
47 void SetMutationProbability(
double aMutProb);
54 void SetCrossOverProbability(
double aCrossOverProb);
67 size_t GetProgress()
const {
return mCurrentSpecimen + mCurrentGeneration * mPopulationSize; }
71 void SelectNextPopulation();
73 size_t mPopulationSize;
74 size_t mMaxGenerations;
75 double mCarryOverFraction;
76 double mMutationProbability;
77 double mCrossOverProbability;
79 size_t mCurrentSpecimen;
80 size_t mCurrentGeneration;
82 std::vector<P6DofTunerGASpecimen> mPopulation;
Definition P6DofTunerGASpecimen.hpp:23
double GetCrossOverProbability() const
Definition P6DofTunerGAManager.hpp:55
P6DofTunerGASpecimen & GetCurrentSpecimen()
Definition P6DofTunerGAManager.hpp:65
double GetCarryOverFraction() const
Definition P6DofTunerGAManager.hpp:42
void SetMaxGenerationCount(size_t aMaxGenCount)
Definition P6DofTunerGAManager.hpp:34
void SetPopulationSize(size_t aPopulationSize)
Definition P6DofTunerGAManager.hpp:30
size_t GetMaxGenerationCount() const
Definition P6DofTunerGAManager.hpp:35
void Advance(std::vector< P6DofTunerGASpecimen::PidLogElement > &aSimData)
Definition P6DofTunerGAManager.cpp:26
double GetMutationProbability() const
Definition P6DofTunerGAManager.hpp:48
P6DofTunerGASpecimen GetOptimum() const
Definition P6DofTunerGAManager.hpp:63
size_t GetPopulationSize() const
Definition P6DofTunerGAManager.hpp:31
bool IsComplete() const
Definition P6DofTunerGAManager.hpp:61
P6dofTunerGAManager()
Definition P6DofTunerGAManager.cpp:14
size_t GetProgress() const
Definition P6DofTunerGAManager.hpp:67