Skip to content
Snippets Groups Projects
Commit 8bad4285 authored by Matthias Puchner's avatar Matthias Puchner
Browse files

rm TestMinimizer

parent ac0419e4
No related branches found
No related tags found
1 merge request!475Harmonized and less generic UI for minimizers
......@@ -18,7 +18,6 @@
#include "Fit/Adapter/GeneticMinimizer.h"
#include "Fit/Adapter/Minuit2Minimizer.h"
#include "Fit/Adapter/SimAnMinimizer.h"
#include "Fit/Minimizer/TestMinimizer.h"
#include <boost/format.hpp>
#include <iomanip>
#include <iostream>
......@@ -51,10 +50,6 @@ IMinimizer* MinimizerFactory::createMinimizer(const std::string& minimizerName,
result = new GeneticMinimizer();
}
else if (minimizerName == "Test") {
result = new TestMinimizer();
}
if (!result) {
std::ostringstream ostr;
ostr << "MinimizerFactory::MinimizerFactory() -> Error! Can't create minimizer for given "
......
......@@ -24,7 +24,6 @@ MinimizerCatalog::MinimizerCatalog()
addMinimizerInfo(MinimizerInfo::buildGSLLMAInfo());
addMinimizerInfo(MinimizerInfo::buildGSLSimAnInfo());
addMinimizerInfo(MinimizerInfo::buildGeneticInfo());
addMinimizerInfo(MinimizerInfo::buildTestMinimizerInfo());
}
//! Returns multiline string representing catalog content.
......
......@@ -130,15 +130,6 @@ MinimizerInfo MinimizerInfo::buildGeneticInfo()
return result;
}
//! Creates information for simple test minimizer
MinimizerInfo MinimizerInfo::buildTestMinimizerInfo()
{
MinimizerInfo result("Test", "One-shot minimizer to test whole chain");
result.addAlgorithm("Default", "Default algorithm");
return result;
}
//! Adds minimizer algorithm to the list of defined algorithms.
void MinimizerInfo::addAlgorithm(const AlgorithmInfo& algorithm)
......
......@@ -66,7 +66,6 @@ public:
static MinimizerInfo buildGSLLMAInfo();
static MinimizerInfo buildGSLSimAnInfo();
static MinimizerInfo buildGeneticInfo();
static MinimizerInfo buildTestMinimizerInfo();
private:
void addAlgorithm(const AlgorithmInfo& algorithm);
......
// ************************************************************************************************
//
// BornAgain: simulate and fit reflection and scattering
//
//! @file Fit/Minimizer/TestMinimizer.cpp
//! @brief Implements class TrivialMinimizer.
//!
//! @homepage http://www.bornagainproject.org
//! @license GNU General Public License v3 or higher (see COPYING)
//! @copyright Forschungszentrum Jülich GmbH 2018
//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
//
// ************************************************************************************************
#include "Fit/Minimizer/TestMinimizer.h"
#include <sstream>
using namespace mumufit;
TestMinimizer::TestMinimizer() = default;
TestMinimizer::~TestMinimizer() = default;
std::string TestMinimizer::minimizerName() const
{
return "Test";
}
MinimizerResult TestMinimizer::minimize_scalar(fcn_scalar_t fcn, mumufit::Parameters parameters)
{
// calling user function once
auto min_value = fcn(parameters);
MinimizerResult result;
result.setParameters(parameters);
result.setMinValue(min_value);
std::ostringstream report;
report << "TestMinimizer::printOutcome() -> Done. Objective function value = " << min_value
<< std::endl;
result.setReport(report.str());
result.setNumberOfCalls(1);
return result;
}
// ************************************************************************************************
//
// BornAgain: simulate and fit reflection and scattering
//
//! @file Fit/Minimizer/TestMinimizer.h
//! @brief Defines class TestMinimizer.
//!
//! @homepage http://www.bornagainproject.org
//! @license GNU General Public License v3 or higher (see COPYING)
//! @copyright Forschungszentrum Jülich GmbH 2018
//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
//
// ************************************************************************************************
#ifdef SWIG
#error no need to expose this header to Swig
#endif
#ifndef USER_API
#ifndef BORNAGAIN_FIT_MINIMIZER_TESTMINIMIZER_H
#define BORNAGAIN_FIT_MINIMIZER_TESTMINIMIZER_H
#include "Fit/Minimizer/IMinimizer.h"
//! A trivial minimizer that calls the objective function once. Used to test the whole chain.
class TestMinimizer : public IMinimizer {
public:
TestMinimizer();
~TestMinimizer() override;
std::string minimizerName() const override;
std::string algorithmName() const override { return ""; }
mumufit::MinimizerResult minimize_scalar(fcn_scalar_t fcn,
mumufit::Parameters parameters) override;
private:
std::vector<double> m_parameter_values;
scalar_function_t m_fcn;
};
#endif // BORNAGAIN_FIT_MINIMIZER_TESTMINIMIZER_H
#endif // USER_API
......@@ -20,7 +20,6 @@
#include "Fit/Adapter/GeneticMinimizer.h"
#include "Fit/Adapter/Minuit2Minimizer.h"
#include "Fit/Adapter/SimAnMinimizer.h"
#include "Fit/Minimizer/TestMinimizer.h"
#include "GUI/Model/Fit/MinimizerItemCatalog.h"
#include "GUI/Model/Group/GroupInfo.h"
......@@ -34,7 +33,6 @@ GroupInfo createMinimizerLibraryGroup()
info.add(GeneticMinimizerItem::M_TYPE, "TMVA Genetic");
info.add(SimAnMinimizerItem::M_TYPE, "GSL Simulated Annealing");
info.add(GSLLMAMinimizerItem::M_TYPE, "GSL Levenberg-Marquardt");
info.add(TestMinimizerItem::M_TYPE, "Test minimizer");
info.setDefaultType(MinuitMinimizerItem::M_TYPE);
return info;
}
......@@ -260,12 +258,3 @@ ValueDescriptors GSLLMAMinimizerItem::valueDescriptorsForUI() const
UIntDescriptor(getItem(P_MAXITERATIONS), Unit::unitless),
};
}
// ----------------------------------------------------------------------------
TestMinimizerItem::TestMinimizerItem() : MinimizerItem(M_TYPE) {}
std::unique_ptr<IMinimizer> TestMinimizerItem::createMinimizer() const
{
return std::unique_ptr<IMinimizer>(new TestMinimizer());
}
......@@ -147,14 +147,4 @@ public:
ValueDescriptors valueDescriptorsForUI() const override;
};
//! The TestMinimizerItem class represents domain's TestMinimizer to test whole chain
class TestMinimizerItem : public MinimizerItem {
public:
static constexpr auto M_TYPE{"Test"};
TestMinimizerItem();
std::unique_ptr<IMinimizer> createMinimizer() const override;
};
#endif // BORNAGAIN_GUI_MODEL_FIT_MINIMIZERITEM_H
......@@ -23,8 +23,8 @@
#include "GUI/Model/Data/ProjectionItems.h"
#include "GUI/Model/Data/RealDataItem.h"
#include "GUI/Model/Data/SpecularDataItem.h"
#include "GUI/Model/Fit/FitParameterItem.h"
#include "GUI/Model/Fit/FitParameterContainerItem.h"
#include "GUI/Model/Fit/FitParameterItem.h"
#include "GUI/Model/Fit/FitParameterLinkItem.h"
#include "GUI/Model/Fit/FitSuiteItem.h"
#include "GUI/Model/Fit/MinimizerItem.h"
......@@ -319,7 +319,6 @@ ItemCatalog::ItemCatalog()
addItem<GeneticMinimizerItem>();
addItem<SimAnMinimizerItem>();
addItem<GSLLMAMinimizerItem>();
addItem<TestMinimizerItem>();
addItem<LimitlessItem>();
addItem<PositiveItem>();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment