10 vector < float > temperatures;
14 theIndex(0), theChi2cut ( cutoff*cutoff ), theIsAnnealed (
false )
16 temperatures.push_back(256);
17 temperatures.push_back(64);
18 temperatures.push_back(16);
19 temperatures.push_back(4);
20 temperatures.push_back(2);
21 temperatures.push_back(1);
25 float cutoff ) : theIndex(0), theChi2cut ( cutoff*cutoff ), theIsAnnealed (
false )
32 if (
theIndex < ( temperatures.size() - 1 ) )
42 long double mphi =
phi ( chi2 );
49 if ( std::isinf(newtmp ) )
80 return temperatures[0];
90 cout <<
"[DeterministicAnnealing] schedule=";
91 for ( vector< float >::const_iterator
i=temperatures.begin();
92 i!=temperatures.end() ; ++
i )
double weight(double chi2) const
double currentTemp() const
double initialTemp() const
DeterministicAnnealing(float cutoff=3.0)
volatile std::atomic< bool > shutdown_flag false
double phi(double chi2) const