Base implementation of simulated annealing fitting procedure.
Definition at line 51 of file SimulatedAnnealing.h.
Public Member Functions | |
SimulatedAnnealing (IFitterTarget &target, const std::vector< TMVA::Interval * > &ranges) | |
constructor More... | |
virtual | ~SimulatedAnnealing () |
destructor More... | |
virtual TClass * | IsA () const |
Double_t | Minimize (std::vector< Double_t > ¶meters) |
minimisation algorithm More... | |
void | SetAccuracy (Double_t eps) |
void | SetAdaptiveSpeed (Double_t speed) |
void | SetInitTemp (Double_t it) |
void | SetIPythonInteractive (bool *ExitFromTraining, UInt_t *fIPyCurrentIter_) |
void | SetMaxCalls (Int_t mc) |
void | SetMinTemp (Double_t min) |
void | SetOptions (Int_t maxCalls, Double_t initialTemperature, Double_t minTemperature, Double_t eps, TString kernelTemperatureS, Double_t temperatureScale, Double_t adaptiveSpeed, Double_t temperatureAdaptiveStep, Bool_t useDefaultScale, Bool_t useDefaultTemperature) |
option setter More... | |
void | SetTemperatureScale (Double_t scale) |
virtual void | Streamer (TBuffer &) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Static Public Member Functions | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Private Types | |
enum | EKernelTemperature { kSqrt = 0 , kIncreasingAdaptive , kDecreasingAdaptive , kLog , kHomo , kSin , kGeo } |
Private Member Functions | |
void | FillWithRandomValues (std::vector< Double_t > ¶meters) |
random starting parameters More... | |
Double_t | GenerateMaxTemperature (std::vector< Double_t > ¶meters) |
maximum temperature More... | |
std::vector< Double_t > | GenerateNeighbour (std::vector< Double_t > ¶meters, Double_t currentTemperature) |
generate adjacent parameters More... | |
void | GenerateNeighbour (std::vector< Double_t > ¶meters, std::vector< Double_t > &oldParameters, Double_t currentTemperature) |
generate adjacent parameters More... | |
void | GenerateNewTemperature (Double_t ¤tTemperature, Int_t Iter) |
generate new temperature More... | |
MsgLogger & | Log () const |
void | ReWriteParameters (std::vector< Double_t > &from, std::vector< Double_t > &to) |
copy parameters More... | |
void | SetDefaultScale () |
setting of default scale More... | |
Bool_t | ShouldGoIn (Double_t currentFit, Double_t localFit, Double_t currentTemperature) |
result checker More... | |
Private Attributes | |
Double_t | fAdaptiveSpeed |
how fast temperature change in adaptive (in adaptive two variables describe the change of temperature, but fAdaptiveSpeed should be 1.0 and its not recommended to change it) More... | |
Double_t | fEps |
epsilon More... | |
bool * | fExitFromTraining = nullptr |
IFitterTarget & | fFitterTarget |
the fitter target More... | |
Double_t | fInitialTemperature |
initial temperature More... | |
UInt_t * | fIPyCurrentIter = nullptr |
enum TMVA::SimulatedAnnealing::EKernelTemperature | fKernelTemperature |
MsgLogger * | fLogger |
message logger More... | |
Int_t | fMaxCalls |
maximum number of minimisation calls More... | |
Double_t | fMinTemperature |
minimum temperature More... | |
Double_t | fProgress |
TRandom * | fRandom |
random generator More... | |
const std::vector< TMVA::Interval * > & | fRanges |
parameter ranges More... | |
Double_t | fTemperatureAdaptiveStep |
used to calculate InitialTemperature if fUseDefaultTemperature More... | |
Double_t | fTemperatureScale |
how fast temperature change More... | |
Bool_t | fUseDefaultScale |
if TRUE, SA calculates its own TemperatureScale More... | |
Bool_t | fUseDefaultTemperature |
if TRUE, SA calculates its own InitialTemperature (MinTemperautre) More... | |
#include <TMVA/SimulatedAnnealing.h>
|
private |
Enumerator | |
---|---|
kSqrt | |
kIncreasingAdaptive | |
kDecreasingAdaptive | |
kLog | |
kHomo | |
kSin | |
kGeo |
Definition at line 81 of file SimulatedAnnealing.h.
TMVA::SimulatedAnnealing::SimulatedAnnealing | ( | IFitterTarget & | target, |
const std::vector< TMVA::Interval * > & | ranges | ||
) |
constructor
Definition at line 50 of file SimulatedAnnealing.cxx.
|
virtual |
destructor
Definition at line 125 of file SimulatedAnnealing.cxx.
|
static |
|
inlinestaticconstexpr |
Definition at line 127 of file SimulatedAnnealing.h.
|
inlinestatic |
Definition at line 127 of file SimulatedAnnealing.h.
|
private |
random starting parameters
Definition at line 132 of file SimulatedAnnealing.cxx.
|
private |
maximum temperature
Definition at line 251 of file SimulatedAnnealing.cxx.
|
private |
generate adjacent parameters
Definition at line 169 of file SimulatedAnnealing.cxx.
|
private |
generate adjacent parameters
Definition at line 150 of file SimulatedAnnealing.cxx.
|
private |
generate new temperature
Definition at line 190 of file SimulatedAnnealing.cxx.
|
inlinevirtual |
Definition at line 127 of file SimulatedAnnealing.h.
|
inlineprivate |
Definition at line 119 of file SimulatedAnnealing.h.
minimisation algorithm
Definition at line 312 of file SimulatedAnnealing.cxx.
|
private |
copy parameters
Definition at line 142 of file SimulatedAnnealing.cxx.
|
inline |
Definition at line 65 of file SimulatedAnnealing.h.
|
inline |
Definition at line 67 of file SimulatedAnnealing.h.
|
private |
setting of default scale
Definition at line 230 of file SimulatedAnnealing.cxx.
|
inline |
Definition at line 63 of file SimulatedAnnealing.h.
|
inline |
Definition at line 74 of file SimulatedAnnealing.h.
|
inline |
Definition at line 62 of file SimulatedAnnealing.h.
|
inline |
Definition at line 64 of file SimulatedAnnealing.h.
void TMVA::SimulatedAnnealing::SetOptions | ( | Int_t | maxCalls, |
Double_t | initialTemperature, | ||
Double_t | minTemperature, | ||
Double_t | eps, | ||
TString | kernelTemperatureS, | ||
Double_t | temperatureScale, | ||
Double_t | adaptiveSpeed, | ||
Double_t | temperatureAdaptiveStep, | ||
Bool_t | useDefaultScale, | ||
Bool_t | useDefaultTemperature | ||
) |
option setter
Definition at line 73 of file SimulatedAnnealing.cxx.
|
inline |
Definition at line 66 of file SimulatedAnnealing.h.
|
private |
result checker
Definition at line 219 of file SimulatedAnnealing.cxx.
|
virtual |
|
inline |
Definition at line 127 of file SimulatedAnnealing.h.
|
private |
how fast temperature change in adaptive (in adaptive two variables describe the change of temperature, but fAdaptiveSpeed should be 1.0 and its not recommended to change it)
Definition at line 110 of file SimulatedAnnealing.h.
|
private |
epsilon
Definition at line 108 of file SimulatedAnnealing.h.
|
private |
Definition at line 125 of file SimulatedAnnealing.h.
|
private |
the fitter target
Definition at line 100 of file SimulatedAnnealing.h.
|
private |
initial temperature
Definition at line 106 of file SimulatedAnnealing.h.
|
private |
Definition at line 124 of file SimulatedAnnealing.h.
|
private |
|
mutableprivate |
message logger
Definition at line 118 of file SimulatedAnnealing.h.
|
private |
maximum number of minimisation calls
Definition at line 105 of file SimulatedAnnealing.h.
|
private |
minimum temperature
Definition at line 107 of file SimulatedAnnealing.h.
|
private |
Definition at line 121 of file SimulatedAnnealing.h.
|
private |
random generator
Definition at line 101 of file SimulatedAnnealing.h.
|
private |
parameter ranges
Definition at line 102 of file SimulatedAnnealing.h.
|
private |
used to calculate InitialTemperature if fUseDefaultTemperature
Definition at line 113 of file SimulatedAnnealing.h.
|
private |
how fast temperature change
Definition at line 109 of file SimulatedAnnealing.h.
|
private |
if TRUE, SA calculates its own TemperatureScale
Definition at line 115 of file SimulatedAnnealing.h.
|
private |
if TRUE, SA calculates its own InitialTemperature (MinTemperautre)
Definition at line 116 of file SimulatedAnnealing.h.