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

Abstract base of the structure optimizers. More...

#include <Optimizer.h>

Inheritance diagram for 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
virtual void onTranslationPulledBack ()

Protected Attributes

const OptimizerConfig m_optConfig
std::shared_ptr< ObjectiveFunction > m_objf

Private Attributes

const OptType m_otype

Detailed Description

Abstract base of the structure optimizers.

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

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

◆ Optimizer() [2/4]

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

Definition at line 84 of file Optimizer.h.

86 : 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 90 of file Optimizer.h.

92 : Optimizer(a_objf, OptimizerConfig::fromParams(a_params)) {}
Optimizer(std::shared_ptr< ObjectiveFunction > a_objf, const OptimizerConfig &a_config)
Definition Optimizer.h:77

◆ Optimizer() [4/4]

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

Definition at line 94 of file Optimizer.h.

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

◆ ~Optimizer()

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

Member Function Documentation

◆ onTranslationPulledBack()

virtual void eonc::Optimizer::onTranslationPulledBack ( )
inlinevirtual

Definition at line 105 of file Optimizer.h.

105{}

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

◆ m_optConfig

const OptimizerConfig eonc::Optimizer::m_optConfig
protected

Definition at line 73 of file Optimizer.h.

◆ m_otype

const OptType eonc::Optimizer::m_otype
private

Definition at line 70 of file Optimizer.h.


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