Loading...
Searching...
No Matches
eonc::Optimizer Class Referenceabstract

#include <Optimizer.h>

Inheritance diagram for eonc::Optimizer:

Public Member Functions

 Optimizer (std::shared_ptr< ObjectiveFunction > a_objf, const OptimizerConfig &a_config)
 Optimizer (std::shared_ptr< ObjectiveFunction > a_objf, OptType a_optype, const OptimizerConfig &a_config)
 Optimizer (std::shared_ptr< ObjectiveFunction > a_objf, const Parameters &a_params)
 Optimizer (std::shared_ptr< ObjectiveFunction > a_objf, OptType a_optype, const Parameters &a_params)
virtual ~Optimizer ()=default
virtual int step (double a_maxMove)=0
virtual int run (size_t a_maxIterations, double a_maxMove)=0

Protected Attributes

const OptimizerConfig m_optConfig
std::shared_ptr< ObjectiveFunction > m_objf

Private Attributes

const OptType m_otype

Detailed Description

Definition at line 64 of file Optimizer.h.

Constructor & Destructor Documentation

◆ Optimizer() [1/4]

eonc::Optimizer::Optimizer ( std::shared_ptr< ObjectiveFunction > a_objf,
const OptimizerConfig & a_config )
inline

Definition at line 73 of file Optimizer.h.

75 : m_otype{a_config.opts.method}, m_optConfig{a_config}, m_objf{a_objf} {
77 "You should explicitly set an optimizer while constructing the "
78 "optimizer!!\n Defaulting to opt_method from the parameters");
79 }
#define EONC_LOG_WARNING(...)
Definition EonLogger.h:255
const OptType m_otype
Definition Optimizer.h:66
const OptimizerConfig m_optConfig
Definition Optimizer.h:69
std::shared_ptr< ObjectiveFunction > m_objf
Definition Optimizer.h:70

◆ Optimizer() [2/4]

eonc::Optimizer::Optimizer ( std::shared_ptr< ObjectiveFunction > a_objf,
OptType a_optype,
const OptimizerConfig & a_config )
inline

Definition at line 80 of file Optimizer.h.

82 : m_otype{a_optype}, m_optConfig{a_config}, m_objf{a_objf} {}

◆ Optimizer() [3/4]

eonc::Optimizer::Optimizer ( std::shared_ptr< ObjectiveFunction > a_objf,
const Parameters & a_params )
inline

Definition at line 86 of file Optimizer.h.

88 : Optimizer(a_objf, OptimizerConfig::fromParams(a_params)) {}
Optimizer(std::shared_ptr< ObjectiveFunction > a_objf, const OptimizerConfig &a_config)
Definition Optimizer.h:73
static OptimizerConfig fromParams(const Parameters &p)
Definition Optimizer.h:57

◆ Optimizer() [4/4]

eonc::Optimizer::Optimizer ( std::shared_ptr< ObjectiveFunction > a_objf,
OptType a_optype,
const Parameters & a_params )
inline

Definition at line 90 of file Optimizer.h.

92 : Optimizer(a_objf, a_optype, OptimizerConfig::fromParams(a_params)) {}

◆ ~Optimizer()

virtual eonc::Optimizer::~Optimizer ( )
virtualdefault

Member Function Documentation

◆ run()

virtual int eonc::Optimizer::run ( size_t a_maxIterations,
double a_maxMove )
pure virtual

◆ step()

virtual int eonc::Optimizer::step ( double a_maxMove)
pure virtual

Member Data Documentation

◆ m_objf

std::shared_ptr<ObjectiveFunction> eonc::Optimizer::m_objf
protected

Definition at line 70 of file Optimizer.h.

◆ m_optConfig

const OptimizerConfig eonc::Optimizer::m_optConfig
protected

Definition at line 69 of file Optimizer.h.

◆ m_otype

const OptType eonc::Optimizer::m_otype
private

Definition at line 66 of file Optimizer.h.


The documentation for this class was generated from the following file: