Logo ROOT  
Reference Guide
GeneticMinimizer.h
Go to the documentation of this file.
1// @(#)root/mathcore:$Id
2
3/**********************************************************************
4 * *
5 * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
6 * *
7 * *
8 **********************************************************************/
9
10// Header file for class GeneticMinimizer
11
12#ifndef ROOT_Math_GeneticMinimizer
13#define ROOT_Math_GeneticMinimizer
14
15#include "Math/Minimizer.h"
16
17#include "RtypesCore.h"
18
19#include <vector>
20#include <string>
21
22namespace TMVA {
23 class IFitterTarget;
24 class Interval;
25}
26
27namespace ROOT {
28 namespace Math {
29
30
31//_______________________________________________________________________________
32/*
33 structure containing the parameters of the genetic minimizer
34 */
36
45
46
47 // constructor with default value
49};
50
51
52
53//_______________________________________________________________________________
54/**
55 GeneticMinimizer
56
57 Minimizer class based on the Gentic algorithm implemented in TMVA
58
59 @ingroup MultiMin
60*/
62
63public:
64
65 //GeneticMinimizer (int = 0);
66 GeneticMinimizer (int i = 0);
67 virtual ~GeneticMinimizer ();
68
69 virtual void Clear();
71 virtual void SetFunction(const ROOT::Math::IMultiGenFunction & func);
72
73 virtual bool SetLimitedVariable(unsigned int , const std::string& , double , double , double, double);
74 virtual bool SetVariable(unsigned int ivar, const std::string & name, double val, double step);
75 virtual bool SetFixedVariable(unsigned int ivar , const std::string & name , double val);
76
77 virtual bool Minimize();
78 virtual double MinValue() const;
79 virtual double Edm() const;
80 virtual const double * X() const;
81 virtual const double * MinGradient() const;
82 virtual unsigned int NCalls() const;
83
84 virtual unsigned int NDim() const;
85 virtual unsigned int NFree() const;
86
87 virtual bool ProvidesError() const;
88 virtual const double * Errors() const;
89
90 virtual double CovMatrix(unsigned int i, unsigned int j) const;
91
92 void SetParameters(const GeneticMinimizerParameters & params );
93
94 void SetRandomSeed(int seed) { fParameters.fSeed = seed; }
95
97
99
100 virtual void SetOptions(const ROOT::Math::MinimizerOptions & opt);
101
102protected:
103
105
106 std::vector<TMVA::Interval*> fRanges;
108 double fMinValue;
109 std::vector<double> fResult;
110
112
113};
114
115
116 } // end namespace Math
117} // end namespace ROOT
118
119#endif /* ROOT_Math_GeneticMinimizer */
int Int_t
Definition: RtypesCore.h:45
double Double_t
Definition: RtypesCore.h:59
char name[80]
Definition: TGX11.cxx:110
virtual bool ProvidesError() const
minimizer provides error and error matrix
virtual double Edm() const
return expected distance reached from the minimum (re-implement if minimizer provides it
virtual const double * X() const
return pointer to X values at the minimum
const GeneticMinimizerParameters & MinimizerParameters() const
virtual void SetOptions(const ROOT::Math::MinimizerOptions &opt)
virtual const double * Errors() const
return errors at the minimum
virtual unsigned int NFree() const
number of free variables (real dimension of the problem) this is <= Function().NDim() which is the to...
virtual double MinValue() const
return minimum function value
virtual bool SetVariable(unsigned int ivar, const std::string &name, double val, double step)
set a new free variable
void GetGeneticOptions(ROOT::Math::MinimizerOptions &opt) const
virtual void Clear()
reset for consecutive minimizations - implement if needed
virtual double CovMatrix(unsigned int i, unsigned int j) const
return covariance matrices element for variables ivar,jvar if the variable is fixed the return value ...
std::vector< double > fResult
TMVA::IFitterTarget * fFitness
virtual bool Minimize()
method to perform the minimization
std::vector< TMVA::Interval * > fRanges
virtual bool SetFixedVariable(unsigned int ivar, const std::string &name, double val)
set a new fixed variable (override if minimizer supports them )
virtual bool SetLimitedVariable(unsigned int, const std::string &, double, double, double, double)
set a new upper/lower limited variable (override if minimizer supports them ) otherwise as default se...
virtual unsigned int NCalls() const
number of function calls to reach the minimum
void SetParameters(const GeneticMinimizerParameters &params)
virtual const double * MinGradient() const
return pointer to gradient values at the minimum
virtual ROOT::Math::MinimizerOptions Options() const
retrieve the minimizer options (implement derived class if needed)
GeneticMinimizerParameters fParameters
virtual void SetFunction(const ROOT::Math::IMultiGenFunction &func)
set the function to minimize
virtual unsigned int NDim() const
this is <= Function().NDim() which is the total number of variables (free+ constrained ones)
Documentation for the abstract class IBaseFunctionMultiDim.
Definition: IFunction.h:62
Abstract Minimizer class, defining the interface for the various minimizer (like Minuit2,...
Definition: Minimizer.h:75
virtual void SetFunction(const ROOT::Math::IMultiGenFunction &func)=0
set the function to minimize
Interface for a fitter 'target'.
Definition: IFitterTarget.h:44
The TMVA::Interval Class.
Definition: Interval.h:61
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...
create variable transformations