43      if (ipar >= 
fValues.size() ) 
return;
 
 
   55   const std::vector<double> & 
Transform( 
const std::vector<double> & factors)
 const {
 
   61      for (
unsigned int i = 0, 
j = 0; i < 
n ; ++i) {
 
 
   72      const std::vector<double> & 
x = 
Transform( factors);
 
 
 
  158   Info(
"GeneticMinimizer::SetVariable", 
"Variables should be limited - set automatic range to 50 times step size for %s : [%f, %f]",
 
 
  168      Error(
"GeneticMinimizer::SetFixedVariable", 
"Function has not been set - cannot set fixed variables %s",
name.c_str());
 
 
  229      Warning(
"GeneticMinimizer::SetOptions", 
"No specific genetic minimizer options have been set");
 
  246      Warning(
"GeneticMinimizer::SetOptions", 
"max iterations value given different than  than Steps - set equal to Steps %d",
fParameters.
fNsteps);
 
 
  256      Error(
"GeneticMinimizer::Minimize",
"Fitness function has not been set");
 
  267      std::cout << 
"GeneticMinimizer::Minimize  - Start iterating - max iterations = " <<  
MaxIterations()
 
  272   unsigned int niter = 0;
 
  286         std::cout << 
"New Iteration " << 
niter << 
" with  parameter values :" << std::endl;
 
  289            std::vector<Double_t> 
gvec;
 
  291            for (
unsigned int i = 0; i < 
gvec.size(); ++i) {
 
  292               std::cout << 
gvec[i] << 
"    ";
 
  294            std::cout << std::endl;
 
  301            Info(
"GeneticMinimizer::Minimize",
"Max number of iterations %d reached - stop iterating",
MaxIterations());
 
  310   std::vector<Double_t> 
gvec;
 
  322          std::cout << 
"Finished Iteration (niter = " << 
niter << 
"  with fitness function value = " << 
MinValue() << std::endl;
 
  323      for (
unsigned int i = 0; i < 
fResult.size(); ++i) {
 
  324         std::cout << 
" Parameter-" << i << 
"\t=\t" << 
fResult[i] << std::endl;
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
 
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
 
class implementing generic options for a numerical algorithm Just store the options in a map of strin...
 
const double * X() const override
 
unsigned int NDim() const override
this is <= Function().NDim() which is the total number of variables (free+ constrained ones)
 
double CovMatrix(unsigned int i, unsigned int j) const override
 
unsigned int NFree() const override
Number of free variables (real dimension of the problem).
 
bool SetLimitedVariable(unsigned int, const std::string &, double, double, double, double) override
Set a new upper/lower limited variable (override if minimizer supports them) otherwise as default set...
 
virtual void SetOptions(const ROOT::Math::MinimizerOptions &opt)
 
double MinValue() const override
 
const double * Errors() const override
 
unsigned int NCalls() const override
Number of function calls to reach the minimum.
 
bool Minimize() override
Method to perform the minimization.
 
void GetGeneticOptions(ROOT::Math::MinimizerOptions &opt) const
 
bool ProvidesError() const override
Minimizer provides error and error matrix.
 
bool SetVariable(unsigned int ivar, const std::string &name, double val, double step) override
Set a new free variable.
 
std::vector< double > fResult
 
TMVA::IFitterTarget * fFitness
 
std::vector< TMVA::Interval * > fRanges
 
GeneticMinimizer(int i=0)
 
void SetParameters(const GeneticMinimizerParameters ¶ms)
 
const double * MinGradient() const override
 
double Edm() const override
 
~GeneticMinimizer() override
 
void Clear() override
Reset for consecutive minimization - implement if needed.
 
ROOT::Math::MinimizerOptions Options() const override
Retrieve the minimizer options (implement derived class if needed).
 
GeneticMinimizerParameters fParameters
 
void SetFunction(const ROOT::Math::IMultiGenFunction &func) override
Set the function to minimize.
 
bool SetFixedVariable(unsigned int ivar, const std::string &name, double val) override
Set a new fixed variable (override if minimizer supports them).
 
Documentation for the abstract class IBaseFunctionMultiDim.
 
virtual unsigned int NDim() const =0
Retrieve the dimension of the function.
 
Generic interface for defining configuration options of a numerical algorithm.
 
void SetMaxFunctionCalls(unsigned int maxfcn)
set maximum of function calls
 
void SetStrategy(int stra)
set the strategy
 
void SetMaxIterations(unsigned int maxiter)
set maximum iterations (one iteration can have many function calls)
 
const IOptions * ExtraOptions() const
return extra options (NULL pointer if they are not present)
 
static ROOT::Math::IOptions * FindDefault(const char *name)
Find an extra options and return a nullptr if it is not existing.
 
double Tolerance() const
absolute tolerance
 
void SetMinimizerType(const char *type)
set minimizer type
 
static double DefaultTolerance()
 
void SetExtraOptions(const IOptions &opt)
set extra options (in this case pointer is cloned)
 
unsigned int MaxIterations() const
max iterations
 
void SetPrecision(double prec)
set the precision
 
int PrintLevel() const
non-static methods for retrieving options
 
void SetErrorDef(double err)
set error def
 
void SetPrintLevel(int level)
set print level
 
static int DefaultMaxIterations()
 
void SetMinimizerAlgorithm(const char *type)
set minimizer algorithm
 
void SetTolerance(double tol)
set the tolerance
 
double Tolerance() const
Absolute tolerance.
 
void SetMaxIterations(unsigned int maxiter)
Set maximum iterations (one iteration can have many function calls).
 
int fStatus
status of minimizer
 
unsigned int MaxIterations() const
Max iterations.
 
void SetTolerance(double tol)
Set the tolerance.
 
void SetPrintLevel(int level)
Set print level.
 
int PrintLevel() const
Set print level.
 
Double_t EstimatorFunction(std::vector< double > &factors) override
 
MultiGenFunctionFitness(const ROOT::Math::IMultiGenFunction &function)
 
std::vector< int > fFixedParFlag
 
unsigned int NTotal() const
 
unsigned int NDims() const
 
unsigned int NCalls() const
 
void FixParameter(unsigned int ipar, double value, bool fix=true)
 
std::vector< double > fValues
 
const ROOT::Math::IMultiGenFunction & fFunc
 
const std::vector< double > & Transform(const std::vector< double > &factors) const
 
Double_t Evaluate(const std::vector< double > &factors) const
 
const_iterator begin() const
 
const_iterator end() const
 
Base definition for genetic algorithm.
 
virtual Double_t SpreadControl(Int_t steps, Int_t ofSteps, Double_t factor)
this function provides the ability to change the stepSize of a mutation according to the success of t...
 
virtual Bool_t HasConverged(Int_t steps=10, Double_t ratio=0.1)
gives back true if the last "steps" steps have lead to an improvement of the "fitness" of the "indivi...
 
GeneticPopulation & GetGeneticPopulation()
 
void Init()
calls evolution, but if it is not the first time.
 
virtual Double_t CalculateFitness()
starts the evaluation of the fitness of all different individuals of the population.
 
Cut optimisation interface class for genetic algorithm.
 
void TrimPopulation()
trim the population to the predefined size
 
GeneticGenes * GetGenes(Int_t index)
gives back the "Genes" of the population with the given index.
 
Interface for a fitter 'target'.
 
The TMVA::Interval Class.
 
Namespace for new Math classes and functions.
 
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
 
GeneticMinimizerParameters()