6 #ifndef DISMEC_MINIMIZER_H
7 #define DISMEC_MINIMIZER_H
11 #include "spdlog/spdlog.h"
36 explicit Minimizer(std::shared_ptr<spdlog::logger> logger = {});
42 void set_logger(std::shared_ptr<spdlog::logger> logger);
Base class for all objects that have adjustable hyper-parameters.
Class that models an optimization objective.
Minimizer(std::shared_ptr< spdlog::logger > logger={})
MinimizationResult minimize(objective::Objective &objective, Eigen::Ref< DenseRealVector > init)
virtual MinimizationResult run(objective::Objective &objective, Eigen::Ref< DenseRealVector > init)=0
std::shared_ptr< spdlog::logger > m_Logger
void set_logger(std::shared_ptr< spdlog::logger > logger)
sets the logger object that is used for progress tracking.
A base class to be used for all types that implement some for of statistics tracking.
@ FAILED
Some internal operation failed.
@ DIVERGED
The optimization objective appears to be unbounded.
@ SUCCESS
The returned result is a minimum according to the stopping criterion of the algorithm.
@ TIMED_OUT
The maximum number of iterations has been reached but no minimum has been found.
std::chrono::milliseconds Duration