#ifndef ROOT_TMVA_SimulatedAnnealingBase
#define ROOT_TMVA_SimulatedAnnealingBase
#include "TObject.h"
#include "TRandom.h"
#ifndef ROOT_TMVA_Types
#include "TMVA/Types.h"
#endif
namespace TMVA {
class SimulatedAnnealingBase : public TObject {
public:
SimulatedAnnealingBase( std::vector<LowHigh_t*>& ranges );
virtual ~SimulatedAnnealingBase();
virtual Double_t MinimizeFunction( const std::vector<Double_t>& parameters ) = 0;
Double_t Minimize( std::vector<Double_t>& parameters );
Double_t GetPerturbationProbability( Double_t energy, Double_t energyRef,
Double_t temperature);
void SetMaxCalls ( Int_t mc ) { fMaxCalls = mc; }
void SetTempGrad ( Double_t dt ) { fTemperatureGradient = dt; }
void SetUseAdaptTemp( Bool_t yesno ) { fUseAdaptiveTemperature = yesno; }
void SetInitTemp ( Double_t it ) { fInitialTemperature = it; }
void SetMinTemp ( Double_t min ) { fMinTemperature = min; }
void SetNumFunLoops ( Int_t num ) { fNFunLoops = num; }
void SetAccuracy ( Double_t eps ) { fEps = eps; }
void SetNEps ( Int_t neps ) { fNEps = neps; }
private:
TRandom* fRandom;
std::vector<LowHigh_t*> fRanges;
Int_t fMaxCalls;
Double_t fTemperatureGradient;
Bool_t fUseAdaptiveTemperature;
Double_t fInitialTemperature;
Double_t fMinTemperature;
Double_t fEps;
Int_t fNFunLoops;
Int_t fNEps;
ClassDef(SimulatedAnnealingBase,0)
;
};
}
#endif
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.