12#ifndef WSFSIXDOFTUNERGAMANAGER_HPP
13#define WSFSIXDOFTUNERGAMANAGER_HPP
15#include "wsf_six_dof_export.h"
19#include "UtRandom.hpp"
31 void Advance(std::vector<TunerGASpecimen::PidLogElement>& aSimData);
45 void SetCarryOverFraction(
double aCarryOverFrac);
51 void SetMutationProbability(
double aMutProb);
58 void SetCrossOverProbability(
double aCrossOverProb);
71 size_t GetProgress()
const {
return mCurrentSpecimen + mCurrentGeneration * mPopulationSize; }
75 void SelectNextPopulation();
77 size_t mPopulationSize = 25;
78 size_t mMaxGenerations = 50;
79 double mCarryOverFraction = 1.0;
80 double mMutationProbability = 0.02;
81 double mCrossOverProbability = 0.7;
83 size_t mCurrentSpecimen = 0;
84 size_t mCurrentGeneration = 0;
86 bool mCompleted =
false;
88 std::vector<TunerGASpecimen> mPopulation;
TunerGASpecimen GetOptimum() const
Definition WsfSixDOF_TunerGAManager.hpp:67
void SetPopulationSize(size_t aPopulationSize)
Definition WsfSixDOF_TunerGAManager.hpp:34
size_t GetPopulationSize() const
Definition WsfSixDOF_TunerGAManager.hpp:35
void Advance(std::vector< TunerGASpecimen::PidLogElement > &aSimData)
Definition WsfSixDOF_TunerGAManager.cpp:14
void SetMaxGenerationCount(size_t aMaxGenCount)
Definition WsfSixDOF_TunerGAManager.hpp:38
size_t GetProgress() const
Definition WsfSixDOF_TunerGAManager.hpp:71
TunerGASpecimen & GetCurrentSpecimen()
Definition WsfSixDOF_TunerGAManager.hpp:69
double GetMutationProbability() const
Definition WsfSixDOF_TunerGAManager.hpp:52
double GetCrossOverProbability() const
Definition WsfSixDOF_TunerGAManager.hpp:59
size_t GetMaxGenerationCount() const
Definition WsfSixDOF_TunerGAManager.hpp:39
bool IsComplete() const
Definition WsfSixDOF_TunerGAManager.hpp:65
double GetCarryOverFraction() const
Definition WsfSixDOF_TunerGAManager.hpp:46
Definition WsfSixDOF_TunerGASpecimen.hpp:27
Definition WsfSA_Processor.hpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32