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 ()
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< ObjectiveFunctionm_objf

Private Attributes

const OptType m_otype

Detailed Description

Definition at line 62 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 71 of file Optimizer.h.

73 : m_otype{a_config.opts.method},
74 m_optConfig{a_config},
75 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:256
const OptType m_otype
Definition Optimizer.h:64
const OptimizerConfig m_optConfig
Definition Optimizer.h:67
std::shared_ptr< ObjectiveFunction > m_objf
Definition Optimizer.h:68

◆ 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},
83 m_optConfig{a_config},
84 m_objf{a_objf} {}

◆ Optimizer() [3/4]

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

Definition at line 88 of file Optimizer.h.

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

◆ Optimizer() [4/4]

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

Definition at line 92 of file Optimizer.h.

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

◆ ~Optimizer()

virtual eonc::Optimizer::~Optimizer ( )
inlinevirtual

Definition at line 96 of file Optimizer.h.

96{};

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 68 of file Optimizer.h.

◆ m_optConfig

const OptimizerConfig eonc::Optimizer::m_optConfig
protected

Definition at line 67 of file Optimizer.h.

◆ m_otype

const OptType eonc::Optimizer::m_otype
private

Definition at line 64 of file Optimizer.h.


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