BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Wrapper for the CERN ROOT facade of the GSL simmulated annealing minimizer. More...
Public Types | |
typedef ROOT::Math::Minimizer | root_minimizer_t |
Public Member Functions | |
SimAnMinimizer () | |
~SimAnMinimizer () override | |
std::string | algorithmName () const final |
Returns name of the minimization algorithm. More... | |
double | boltzmannInitialTemp () const |
double | boltzmannK () const |
double | boltzmannMinTemp () const |
double | boltzmannMu () const |
virtual void | clear () |
clear resources (parameters) for consecutives minimizations More... | |
int | iterationsAtEachTemp () const |
int | maxIterations () const |
mumufit::MinimizerResult | minimize_residual (fcn_residual_t fcn, mumufit::Parameters parameters) override |
mumufit::MinimizerResult | minimize_scalar (fcn_scalar_t fcn, mumufit::Parameters parameters) override |
run minimization More... | |
std::string | minimizerName () const final |
Returns name of the minimizer. More... | |
double | minValue () const final |
Returns minimum function value. More... | |
MinimizerOptions & | options () |
const MinimizerOptions & | options () const |
int | printLevel () const |
bool | providesError () const |
Returns true if minimizer provides error and error matrix. More... | |
virtual bool | requiresResiduals () |
Returns true if minimizer computations are residual-based, false otherwise. More... | |
void | setBoltzmannInitialTemp (double value) |
Sets Boltzmann distribution parameter: initial temperature. More... | |
void | setBoltzmannK (double value) |
Sets Boltzmann distribution parameter: k. More... | |
void | setBoltzmannMinTemp (double value) |
Sets Boltzmann distribution parameter: minimal temperature. More... | |
void | setBoltzmannMu (double value) |
Sets Boltzmann distribution parameter: mu. More... | |
void | setIterationsAtEachTemp (int value) |
Sets number of iterations at each temperature. More... | |
void | setMaxIterations (int value) |
Sets maximum number of iterations to try at each step. More... | |
void | setOptions (const std::string &optionString) final |
Sets option string to the minimizer. More... | |
void | setParameters (const mumufit::Parameters ¶meters) |
void | setPrintLevel (int value) |
Sets minimizer internal print level. More... | |
void | setStepSize (double value) |
Sets max step size used in random walk. More... | |
std::map< std::string, std::string > | statusMap () const override |
Returns map of string representing different minimizer statuses. More... | |
virtual std::string | statusToString () const |
Returns string representation of current minimizer status. More... | |
double | stepSize () const |
Protected Member Functions | |
template<class T > | |
OptionContainer::option_t | addOption (const std::string &optionName, T value, const std::string &description="") |
size_t | fitDimension () const |
Returns number of fit parameters defined (i.e. dimension of the function to be minimized). More... | |
mumufit::MinimizerResult | minimize (mumufit::Parameters parameters) |
template<class T > | |
T | optionValue (const std::string &optionName) const |
std::vector< double > | parErrorsAtMinimum () const |
Returns errors of the variables at minimum. More... | |
std::vector< double > | parValuesAtMinimum () const |
Returns value of the variables at minimum. More... | |
void | propagateOptions () override |
void | propagateResults (mumufit::Parameters ¶meters) |
Propagates results of minimization to fit parameter set. More... | |
root_minimizer_t * | rootMinimizer () |
const root_minimizer_t * | rootMinimizer () const override |
template<class T > | |
void | setOptionValue (const std::string &optionName, T value) |
virtual void | setParameter (unsigned int index, const mumufit::Parameter &par) |
Private Attributes | |
std::unique_ptr< mumufit::ObjectiveFunctionAdapter > | m_adapter |
MinimizerInfo | m_minimizerInfo |
MinimizerOptions | m_options |
std::unique_ptr< ROOT::Math::GSLSimAnMinimizer > | m_siman_minimizer |
bool | m_status |
Wrapper for the CERN ROOT facade of the GSL simmulated annealing minimizer.
Definition at line 32 of file SimAnMinimizer.h.
|
inherited |
Definition at line 45 of file MinimizerAdapter.h.
SimAnMinimizer::SimAnMinimizer | ( | ) |
Definition at line 30 of file SimAnMinimizer.cpp.
References MinimizerAdapter::addOption().
|
overridedefault |
|
protectedinherited |
Definition at line 111 of file MinimizerAdapter.h.
References OptionContainer::addOption(), and MinimizerAdapter::m_options.
Referenced by GeneticMinimizer::GeneticMinimizer(), GSLLevenbergMarquardtMinimizer::GSLLevenbergMarquardtMinimizer(), GSLMultiMinimizer::GSLMultiMinimizer(), Minuit2Minimizer::Minuit2Minimizer(), and SimAnMinimizer().
|
finalvirtualinherited |
Returns name of the minimization algorithm.
Implements IMinimizer.
Definition at line 71 of file MinimizerAdapter.cpp.
References MinimizerInfo::algorithmName(), and MinimizerAdapter::m_minimizerInfo.
Referenced by Minuit2Minimizer::requiresResiduals().
double SimAnMinimizer::boltzmannInitialTemp | ( | ) | const |
Definition at line 101 of file SimAnMinimizer.cpp.
Referenced by propagateOptions().
double SimAnMinimizer::boltzmannK | ( | ) | const |
Definition at line 91 of file SimAnMinimizer.cpp.
Referenced by propagateOptions().
double SimAnMinimizer::boltzmannMinTemp | ( | ) | const |
Definition at line 121 of file SimAnMinimizer.cpp.
Referenced by propagateOptions().
double SimAnMinimizer::boltzmannMu | ( | ) | const |
Definition at line 111 of file SimAnMinimizer.cpp.
Referenced by propagateOptions().
|
inlinevirtualinherited |
clear resources (parameters) for consecutives minimizations
Definition at line 49 of file IMinimizer.h.
|
protectedinherited |
Returns number of fit parameters defined (i.e. dimension of the function to be minimized).
Definition at line 181 of file MinimizerAdapter.cpp.
References MinimizerAdapter::rootMinimizer().
Referenced by MinimizerAdapter::parErrorsAtMinimum(), MinimizerAdapter::parValuesAtMinimum(), and MinimizerAdapter::propagateResults().
int SimAnMinimizer::iterationsAtEachTemp | ( | ) | const |
Definition at line 71 of file SimAnMinimizer.cpp.
Referenced by propagateOptions().
int SimAnMinimizer::maxIterations | ( | ) | const |
Definition at line 61 of file SimAnMinimizer.cpp.
Referenced by propagateOptions().
|
protectedinherited |
Definition at line 48 of file MinimizerAdapter.cpp.
References MinimizerAdapter::m_adapter, MinimizerAdapter::m_status, MinimizerAdapter::minValue(), MinimizerAdapter::propagateOptions(), MinimizerAdapter::propagateResults(), mumufit::internal::reportToString(), MinimizerAdapter::rootMinimizer(), mumufit::MinimizerResult::setMinValue(), mumufit::MinimizerResult::setNumberOfCalls(), mumufit::MinimizerResult::setNumberOfGradientCalls(), MinimizerAdapter::setParameters(), mumufit::MinimizerResult::setParameters(), and mumufit::MinimizerResult::setReport().
Referenced by MinimizerAdapter::minimize_residual(), and MinimizerAdapter::minimize_scalar().
|
overridevirtualinherited |
Reimplemented from IMinimizer.
Definition at line 41 of file MinimizerAdapter.cpp.
References MinimizerAdapter::m_adapter, MinimizerAdapter::minimize(), and MinimizerAdapter::rootMinimizer().
|
overridevirtualinherited |
run minimization
Reimplemented from IMinimizer.
Definition at line 34 of file MinimizerAdapter.cpp.
References MinimizerAdapter::m_adapter, MinimizerAdapter::minimize(), and MinimizerAdapter::rootMinimizer().
|
finalvirtualinherited |
Returns name of the minimizer.
Implements IMinimizer.
Definition at line 66 of file MinimizerAdapter.cpp.
References MinimizerAdapter::m_minimizerInfo, and MinimizerInfo::name().
|
finalvirtualinherited |
Returns minimum function value.
Reimplemented from IMinimizer.
Definition at line 83 of file MinimizerAdapter.cpp.
References MinimizerAdapter::rootMinimizer().
Referenced by MinimizerAdapter::minimize(), and MinimizerAdapter::statusMap().
|
inlineinherited |
Definition at line 64 of file MinimizerAdapter.h.
References MinimizerAdapter::m_options.
Referenced by MinimizerAdapter::setOptions().
|
inlineinherited |
|
protectedinherited |
Definition at line 122 of file MinimizerAdapter.h.
References MinimizerAdapter::m_options, and OptionContainer::optionValue().
|
protectedinherited |
Returns errors of the variables at minimum.
Definition at line 198 of file MinimizerAdapter.cpp.
References MinimizerAdapter::fitDimension(), and MinimizerAdapter::rootMinimizer().
Referenced by MinimizerAdapter::propagateResults().
|
protectedinherited |
Returns value of the variables at minimum.
Definition at line 188 of file MinimizerAdapter.cpp.
References MinimizerAdapter::fitDimension(), and MinimizerAdapter::rootMinimizer().
Referenced by MinimizerAdapter::propagateResults().
int SimAnMinimizer::printLevel | ( | ) | const |
Definition at line 51 of file SimAnMinimizer.cpp.
|
overrideprotectedvirtual |
Implements MinimizerAdapter.
Definition at line 133 of file SimAnMinimizer.cpp.
References boltzmannInitialTemp(), boltzmannK(), boltzmannMinTemp(), boltzmannMu(), iterationsAtEachTemp(), m_siman_minimizer, maxIterations(), and stepSize().
|
protectedinherited |
Propagates results of minimization to fit parameter set.
Definition at line 120 of file MinimizerAdapter.cpp.
References MinimizerAdapter::fitDimension(), MinimizerAdapter::parErrorsAtMinimum(), MinimizerAdapter::parValuesAtMinimum(), MinimizerAdapter::providesError(), MinimizerAdapter::rootMinimizer(), mumufit::Parameters::setCorrelationMatrix(), mumufit::Parameters::setErrors(), and mumufit::Parameters::setValues().
Referenced by MinimizerAdapter::minimize().
|
inherited |
Returns true if minimizer provides error and error matrix.
Definition at line 93 of file MinimizerAdapter.cpp.
References MinimizerAdapter::rootMinimizer().
Referenced by MinimizerAdapter::propagateResults(), and MinimizerAdapter::statusMap().
|
inlinevirtualinherited |
Returns true if minimizer computations are residual-based, false otherwise.
Reimplemented in Minuit2Minimizer, and GSLLevenbergMarquardtMinimizer.
Definition at line 59 of file IMinimizer.h.
|
protectedinherited |
Definition at line 209 of file MinimizerAdapter.cpp.
References MinimizerAdapter::rootMinimizer().
|
overrideprotectedvirtual |
Implements MinimizerAdapter.
Definition at line 145 of file SimAnMinimizer.cpp.
References m_siman_minimizer.
Referenced by statusMap().
void SimAnMinimizer::setBoltzmannInitialTemp | ( | double | value | ) |
Sets Boltzmann distribution parameter: initial temperature.
Definition at line 96 of file SimAnMinimizer.cpp.
References MinimizerAdapter::setOptionValue().
Referenced by SimAnMinimizerItem::createMinimizer().
void SimAnMinimizer::setBoltzmannK | ( | double | value | ) |
Sets Boltzmann distribution parameter: k.
Definition at line 86 of file SimAnMinimizer.cpp.
References MinimizerAdapter::setOptionValue().
Referenced by SimAnMinimizerItem::createMinimizer().
void SimAnMinimizer::setBoltzmannMinTemp | ( | double | value | ) |
Sets Boltzmann distribution parameter: minimal temperature.
Definition at line 116 of file SimAnMinimizer.cpp.
References MinimizerAdapter::setOptionValue().
Referenced by SimAnMinimizerItem::createMinimizer().
void SimAnMinimizer::setBoltzmannMu | ( | double | value | ) |
Sets Boltzmann distribution parameter: mu.
Definition at line 106 of file SimAnMinimizer.cpp.
References MinimizerAdapter::setOptionValue().
Referenced by SimAnMinimizerItem::createMinimizer().
void SimAnMinimizer::setIterationsAtEachTemp | ( | int | value | ) |
Sets number of iterations at each temperature.
Definition at line 66 of file SimAnMinimizer.cpp.
References MinimizerAdapter::setOptionValue().
Referenced by SimAnMinimizerItem::createMinimizer().
void SimAnMinimizer::setMaxIterations | ( | int | value | ) |
Sets maximum number of iterations to try at each step.
Definition at line 56 of file SimAnMinimizer.cpp.
References MinimizerAdapter::setOptionValue().
Referenced by SimAnMinimizerItem::createMinimizer().
|
finalvirtualinherited |
Sets option string to the minimizer.
Reimplemented from IMinimizer.
Definition at line 113 of file MinimizerAdapter.cpp.
References MinimizerAdapter::options(), and MinimizerOptions::setOptionString().
|
protectedinherited |
Definition at line 117 of file MinimizerAdapter.h.
References MinimizerAdapter::m_options, and OptionContainer::setOptionValue().
Referenced by setBoltzmannInitialTemp(), setBoltzmannK(), setBoltzmannMinTemp(), setBoltzmannMu(), Minuit2Minimizer::setErrorDefinition(), setIterationsAtEachTemp(), Minuit2Minimizer::setMaxFunctionCalls(), GeneticMinimizer::setMaxIterations(), GSLLevenbergMarquardtMinimizer::setMaxIterations(), GSLMultiMinimizer::setMaxIterations(), setMaxIterations(), GeneticMinimizer::setPopulationSize(), Minuit2Minimizer::setPrecision(), GeneticMinimizer::setPrintLevel(), GSLLevenbergMarquardtMinimizer::setPrintLevel(), GSLMultiMinimizer::setPrintLevel(), Minuit2Minimizer::setPrintLevel(), setPrintLevel(), GeneticMinimizer::setRandomSeed(), setStepSize(), Minuit2Minimizer::setStrategy(), GeneticMinimizer::setTolerance(), GSLLevenbergMarquardtMinimizer::setTolerance(), and Minuit2Minimizer::setTolerance().
|
protectedvirtualinherited |
Reimplemented in GSLLevenbergMarquardtMinimizer, and GeneticMinimizer.
Definition at line 139 of file MinimizerAdapter.cpp.
References AttLimits::isFixed(), AttLimits::isLimited(), AttLimits::isLimitless(), AttLimits::isLowerLimited(), AttLimits::isUpperLimited(), mumufit::Parameter::limits(), AttLimits::lowerLimit(), mumufit::Parameter::name(), MinimizerAdapter::rootMinimizer(), mumufit::Parameter::step(), AttLimits::upperLimit(), and mumufit::Parameter::value().
Referenced by GeneticMinimizer::setParameter(), GSLLevenbergMarquardtMinimizer::setParameter(), and MinimizerAdapter::setParameters().
|
inherited |
Definition at line 76 of file MinimizerAdapter.cpp.
References MinimizerAdapter::setParameter().
Referenced by MinimizerAdapter::minimize().
void SimAnMinimizer::setPrintLevel | ( | int | value | ) |
Sets minimizer internal print level.
Default value is 0 (silent).
Definition at line 46 of file SimAnMinimizer.cpp.
References MinimizerAdapter::setOptionValue().
void SimAnMinimizer::setStepSize | ( | double | value | ) |
Sets max step size used in random walk.
Definition at line 76 of file SimAnMinimizer.cpp.
References MinimizerAdapter::setOptionValue().
Referenced by SimAnMinimizerItem::createMinimizer().
|
overridevirtual |
Returns map of string representing different minimizer statuses.
Reimplemented from MinimizerAdapter.
Definition at line 126 of file SimAnMinimizer.cpp.
References rootMinimizer(), and MinimizerAdapter::statusMap().
|
virtualinherited |
Returns string representation of current minimizer status.
Reimplemented in Minuit2Minimizer, GSLMultiMinimizer, GSLLevenbergMarquardtMinimizer, and GeneticMinimizer.
Definition at line 88 of file MinimizerAdapter.cpp.
References MinimizerAdapter::m_status.
Referenced by MinimizerAdapter::statusMap().
double SimAnMinimizer::stepSize | ( | ) | const |
Definition at line 81 of file SimAnMinimizer.cpp.
Referenced by propagateOptions().
|
privateinherited |
Definition at line 106 of file MinimizerAdapter.h.
Referenced by MinimizerAdapter::minimize(), MinimizerAdapter::minimize_residual(), and MinimizerAdapter::minimize_scalar().
|
privateinherited |
Definition at line 105 of file MinimizerAdapter.h.
Referenced by MinimizerAdapter::algorithmName(), and MinimizerAdapter::minimizerName().
|
privateinherited |
Definition at line 104 of file MinimizerAdapter.h.
Referenced by MinimizerAdapter::addOption(), MinimizerAdapter::options(), MinimizerAdapter::optionValue(), and MinimizerAdapter::setOptionValue().
|
private |
Definition at line 77 of file SimAnMinimizer.h.
Referenced by propagateOptions(), and rootMinimizer().
|
privateinherited |
Definition at line 107 of file MinimizerAdapter.h.
Referenced by MinimizerAdapter::minimize(), and MinimizerAdapter::statusToString().