24 #include "../Atomicrex.h" 25 #include "../job/FitJob.h" 26 #include "Minimizer.h" 57 std::vector<double>&& x0,
58 const std::function<
double(
const std::vector<double>&)>& func,
59 const std::function<
double(
const std::vector<double>&, std::vector<double>&)>& gradient = std::function<
double(
const std::vector<double>&, std::vector<double>&)>())
override;
66 std::vector<BoundConstraints>&& constraintTypes,
67 std::vector<double>&& lowerBounds,
68 std::vector<double>&& upperBounds)
override;
71 virtual MinimizerResult
iterate()
override;
79 std::vector<double> randomParameters();
84 std::vector<BoundConstraints> _constraintTypes;
85 std::vector<double> _lowerBounds;
86 std::vector<double> _upperBounds;
89 std::shared_ptr<Minimizer> _submin;
92 std::vector<double>_bestParameters;
96 std::default_random_engine _gen;
98 std::uniform_real_distribution<> _dis;
virtual void setConstraints(std::vector< BoundConstraints > &&constraintTypes, std::vector< double > &&lowerBounds, std::vector< double > &&upperBounds) override
Definition: SpaMinimizer.cpp:49
SpaMinimizer(FitJob *job)
Constructor.
Definition: SpaMinimizer.h:41
FitJob * job() const
Returns the job to which this object belongs.
Definition: Minimizer.h:68
This file collects the definition of classes that define various simple crystal structures.
Definition: Atomicrex.h:67
virtual void parse(XML::Element minimizerElement) override
Parses the minimizer's parameters from the XML file.
Definition: SpaMinimizer.cpp:65
Definition: XMLUtilities.h:69
Abstract base class for minimization algorithms.
Definition: Minimizer.h:34
Definition: SpaMinimizer.h:36
virtual void prepare(std::vector< double > &&x0, const std::function< double(const std::vector< double > &)> &func, const std::function< double(const std::vector< double > &, std::vector< double > &)> &gradient=std::function< double(const std::vector< double > &, std::vector< double > &)>()) override
Definition: SpaMinimizer.cpp:33
virtual MinimizerResult iterate() override
Performs one iteration of the Spa Minimizer.
Definition: SpaMinimizer.cpp:84