BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
MinimizerResult.cpp
Go to the documentation of this file.
1 // ************************************************************************** //
2 //
3 // BornAgain: simulate and fit scattering at grazing incidence
4 //
5 //! @file Fit/Kernel/MinimizerResult.cpp
6 //! @brief Implements class MinimizerResult.
7 //!
8 //! @homepage http://www.bornagainproject.org
9 //! @license GNU General Public License v3 or higher (see COPYING)
10 //! @copyright Forschungszentrum Jülich GmbH 2018
11 //! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12 //
13 // ************************************************************************** //
14 
18 #include <sstream>
19 
20 using namespace Fit;
21 
23  : m_min_value(0.0), m_number_of_calls(0), m_number_of_gradient_calls(0), m_duration(0.0)
24 {
25 }
26 
28 {
30 }
31 
33 {
34  return m_parameters;
35 }
36 
37 void MinimizerResult::setMinValue(double value)
38 {
39  m_min_value = value;
40 }
41 
42 //! Minimum value of objective function found by minimizer.
43 
45 {
46  return m_min_value;
47 }
48 
49 //! Returns multi-line string representing minimization results.
50 
51 std::string MinimizerResult::toString() const
52 {
53  std::ostringstream result;
54  if (m_minimizer_report.empty()) {
55  result << "Don't know anything about external minimizer. "
56  << "Use minimizer API to get result of minimization.\n";
57 
58  } else {
60  result << "Run time (sec) : " << m_duration << "\n";
61  result << "Objective function calls : " << m_number_of_calls << "\n";
62  result << "Gradient calls : " << m_number_of_gradient_calls << "\n";
63  result << m_minimizer_report;
65  }
66 
67  return result.str();
68 }
69 
70 void MinimizerResult::setReport(const std::string& value)
71 {
72  m_minimizer_report = value;
73 }
74 
75 void MinimizerResult::setDuration(double value)
76 {
77  m_duration = value;
78 }
79 
81 {
82  m_number_of_calls = value;
83 }
84 
86 {
88 }
Declares MinimizerResultUtils namespace.
Defines class MinimizerResult.
Declares namespace MinimizerUtils.
int m_number_of_gradient_calls
Number of calls to calculate gradients.
int m_number_of_calls
Number of objective function calls.
double m_duration
Duration of minimization in sec.msec.
void setReport(const std::string &value)
void setMinValue(double value)
void setDuration(double value)
double m_min_value
Found minimum of objective function.
void setNumberOfGradientCalls(int value)
void setNumberOfCalls(int value)
double minValue() const
Minimum value of objective function found by minimizer.
std::string m_minimizer_report
std::string toString() const
Returns multi-line string representing minimization results.
void setParameters(const Parameters &parameters)
Parameters parameters() const
A collection of fit parameters.
Definition: Parameters.h:28
Objective function types.
std::string reportParameters(const Fit::Parameters &parameters)
Reports fit parameters settings and final results.
std::string sectionString(const std::string &sectionName="", size_t report_width=80)
Returns horizontal line of 80 characters length with section name in it.