bpp-core  2.2.0
bpp::DownhillSimplexMethod Class Reference

This implements the Downhill Simplex method in multidimensions. More...

#include <Bpp/Numeric/Function/DownhillSimplexMethod.h>

+ Inheritance diagram for bpp::DownhillSimplexMethod:
+ Collaboration diagram for bpp::DownhillSimplexMethod:

Classes

class  DSMStopCondition
 
class  Simplex
 

Public Member Functions

 DownhillSimplexMethod (Function *function)
 Build a new Downhill Simplex optimizer. More...
 
virtual ~DownhillSimplexMethod ()
 
DownhillSimplexMethodclone () const
 Create a copy of this object and send a pointer to it. More...
 
void doInit (const ParameterList &params) throw (Exception)
 This function is called by the init() method and contains all calculations. More...
 
double doStep () throw (Exception)
 This function is called by the step() method and contains all calculations. More...
 
void updateParameters (bool yn)
 Tell if we shall update all parameters after one optimization step. More...
 
bool updateParameters () const
 Tell if we shall update all parameters after one optimization step. More...
 
void setOptimizationProgressCharacter (const std::string &c)
 Set the character to be displayed during optimization. More...
 
const std::string & getOptimizationProgressCharacter () const
 
The Optimizer interface.
double optimize () throw (Exception)
 Multidimensional minimization of the function function_ by the downhill simplex method of Nelder and Mead. More...
 
The Optimizer interface.
void init (const ParameterList &params) throw (Exception)
 Basic implementation. More...
 
double step () throw (Exception)
 Basic implementation. More...
 
bool isInitialized () const
 
const ParameterListgetParameters () const
 
double getParameterValue (const std::string &name) const
 
void setFunction (Function *function)
 Set the function to optimize. More...
 
const FunctiongetFunction () const
 Get the current function being optimized. More...
 
FunctiongetFunction ()
 Get the current function being optimized. More...
 
bool hasFunction () const
 Tell if a funciton is associatied to this optimizer. More...
 
double getFunctionValue () const throw (NullPointerException)
 Get the current function value. More...
 
void setMessageHandler (OutputStream *mh)
 Set the message handler for this optimizer. More...
 
OutputStreamgetMessageHandler () const
 
void setProfiler (OutputStream *profiler)
 Set the profiler for this optimizer. More...
 
OutputStreamgetProfiler () const
 
unsigned int getNumberOfEvaluations () const
 Get the number of function evaluations performed since the call of the init function. More...
 
void setStopCondition (const OptimizationStopCondition &stopCondition)
 Set the stop condition of the optimization algorithm. More...
 
OptimizationStopConditiongetStopCondition ()
 Get the stop condition of the optimization algorithm. More...
 
const OptimizationStopConditiongetStopCondition () const
 Get the stop condition of the optimization algorithm. More...
 
OptimizationStopConditiongetDefaultStopCondition ()
 Get the default stop condition of the optimization algorithm. More...
 
const OptimizationStopConditiongetDefaultStopCondition () const
 Get the default stop condition of the optimization algorithm. More...
 
bool isToleranceReached () const
 Tell if the tolerance level is reached. More...
 
bool isMaximumNumberOfEvaluationsReached () const
 Tell if the maximum number of function evaluations is reached. More...
 
void setMaximumNumberOfEvaluations (unsigned int max)
 Set the maximum number of function evaluation to perform during optimization. More...
 
void setVerbose (unsigned int v)
 Set the verbose level. More...
 
unsigned int getVerbose () const
 Get the verbose level. More...
 
void setConstraintPolicy (const std::string &constraintPolicy)
 Set the constraint policy for this optimizer. More...
 
std::string getConstraintPolicy () const
 Get the constraint policy for this optimizer. More...
 
void addOptimizationListener (OptimizationListener *listener)
 Register a listener to this class. More...
 

Protected Member Functions

ParameterListgetParameters_ ()
 
ParametergetParameter_ (size_t i)
 
FunctiongetFunction_ ()
 
void setDefaultStopCondition_ (OptimizationStopCondition *osc)
 
Specific inner methods
ParameterList getPSum ()
 Update the pSum_ variable. More...
 
double tryExtrapolation (double fac)
 Extrapolates by a factor fac through the face of the simplex from the high point. Try the new point and replaces the high point if it is better. More...
 
Inner utilitary functions
void autoParameter ()
 Build a list of AutoParameter instead of Parameter. More...
 
void ignoreConstraints ()
 Remove the constraints of all the arguments. More...
 
void profile (double v)
 Print to the profile if there is one. More...
 
void profile (unsigned int v)
 Print to the profile if there is one. More...
 
void profile (const std::string &s)
 Print to the profile if there is one. More...
 
void profileln (double v)
 Print to the profile if there is one and end line. More...
 
void profileln (unsigned int v)
 Print to the profile if there is one and end line. More...
 
void profileln (const std::string &s)
 Print to the profile if there is one and end line. More...
 
void printPoint (const ParameterList &params, double value)
 Print parameters and corresponding function evaluation to profiler. More...
 
void printMessage (const std::string &message)
 Give a message to print to the message handler. More...
 
void fireOptimizationInitializationPerformed (const OptimizationEvent &event)
 Notify all listeners that optimizer initialization was performed. More...
 
void fireOptimizationStepPerformed (const OptimizationEvent &event)
 Notify all listeners that an optimization step was performed. More...
 
bool listenerModifiesParameters () const
 

Protected Attributes

Simplex simplex_
 
Vdouble y_
 
ParameterList pSum_
 
unsigned int iHighest_
 
unsigned int iNextHighest_
 
unsigned int iLowest_
 
unsigned int nbEvalMax_
 The maximum number of function evaluations allowed. More...
 
unsigned int nbEval_
 The current number of function evaluations achieved. More...
 
double currentValue_
 The current value of the function. More...
 
bool tolIsReached_
 Tell if the tolerance level has been reached. More...
 

Friends

class DSMStopCondition
 

Detailed Description

This implements the Downhill Simplex method in multidimensions.

A description of the algorithm can be found in:

NUMERICAL RECIPES IN C: THE ART OF SCIENTIFIC COMPUTING
(ISBN 0-521-43108-5)

or there: http://en.wikipedia.org/wiki/Nelder-Mead_method.

Definition at line 63 of file DownhillSimplexMethod.h.

Constructor & Destructor Documentation

◆ DownhillSimplexMethod()

DownhillSimplexMethod::DownhillSimplexMethod ( Function function)

Build a new Downhill Simplex optimizer.

Parameters
functionA pointer toward an object implementing the Optimizable interface.

Definition at line 58 of file DownhillSimplexMethod.cpp.

References DSMStopCondition, bpp::AbstractOptimizer::getDefaultStopCondition(), bpp::AbstractOptimizer::nbEvalMax_, bpp::AbstractOptimizer::setDefaultStopCondition_(), and bpp::AbstractOptimizer::setStopCondition().

Referenced by clone().

◆ ~DownhillSimplexMethod()

virtual bpp::DownhillSimplexMethod::~DownhillSimplexMethod ( )
inlinevirtual

Definition at line 116 of file DownhillSimplexMethod.h.

Member Function Documentation

◆ addOptimizationListener()

void bpp::AbstractOptimizer::addOptimizationListener ( OptimizationListener listener)
inlinevirtualinherited

Register a listener to this class.

All registered listeners will be informed when an optimization event occur. See the documentation of the class to know what kind of events are supported.

Parameters
listenerA listener to be registered with.

Implements bpp::Optimizer.

Definition at line 227 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::listeners_.

◆ autoParameter()

◆ clone()

DownhillSimplexMethod* bpp::DownhillSimplexMethod::clone ( ) const
inlinevirtual

Create a copy of this object and send a pointer to it.

Returns
A pointer toward the copy object.

Implements bpp::Optimizer.

Definition at line 123 of file DownhillSimplexMethod.h.

References DownhillSimplexMethod().

◆ doInit()

void DownhillSimplexMethod::doInit ( const ParameterList params)
throw (Exception
)
virtual

This function is called by the init() method and contains all calculations.

Parameters
paramsThe parameters to use for initialization.

Implements bpp::AbstractOptimizer.

Definition at line 69 of file DownhillSimplexMethod.cpp.

◆ doStep()

double DownhillSimplexMethod::doStep ( )
throw (Exception
)
virtual

This function is called by the step() method and contains all calculations.

Returns
The value of the function after the optimization step.

Implements bpp::AbstractOptimizer.

Definition at line 103 of file DownhillSimplexMethod.cpp.

References bpp::Function::f(), bpp::DownhillSimplexMethod::Simplex::getDimension(), bpp::AbstractOptimizer::getFunction(), bpp::AbstractOptimizer::getParameters_(), getPSum(), iHighest_, iLowest_, iNextHighest_, bpp::AbstractOptimizer::nbEval_, pSum_, simplex_, tryExtrapolation(), and y_.

◆ fireOptimizationInitializationPerformed()

void AbstractOptimizer::fireOptimizationInitializationPerformed ( const OptimizationEvent event)
protectedinherited

Notify all listeners that optimizer initialization was performed.

This method should be called by the init method.

Parameters
eventAn OptimizationEvent object.

Definition at line 313 of file AbstractOptimizer.cpp.

References bpp::AbstractOptimizer::listeners_.

◆ fireOptimizationStepPerformed()

void AbstractOptimizer::fireOptimizationStepPerformed ( const OptimizationEvent event)
protectedinherited

Notify all listeners that an optimization step was performed.

This method should be called by the step method.

Parameters
eventAn OptimizationEvent object.

Definition at line 323 of file AbstractOptimizer.cpp.

References bpp::AbstractOptimizer::listeners_.

Referenced by bpp::AbstractOptimizer::step().

◆ getConstraintPolicy()

std::string bpp::AbstractOptimizer::getConstraintPolicy ( ) const
inlinevirtualinherited

Get the constraint policy for this optimizer.

Returns
The constraint policy.

Implements bpp::Optimizer.

Definition at line 226 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::constraintPolicy_.

◆ getDefaultStopCondition() [1/2]

◆ getDefaultStopCondition() [2/2]

const OptimizationStopCondition* bpp::AbstractOptimizer::getDefaultStopCondition ( ) const
inlinevirtualinherited

Get the default stop condition of the optimization algorithm.

Returns
The default stop condition used while optimizing.

Implements bpp::Optimizer.

Definition at line 219 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::defaultStopCondition_.

◆ getFunction() [1/2]

◆ getFunction() [2/2]

Function* bpp::AbstractOptimizer::getFunction ( )
inlinevirtualinherited

Get the current function being optimized.

Returns
A const pointer toward the function being optimized.

Implements bpp::Optimizer.

Reimplemented in bpp::BfgsMultiDimensions, bpp::ConjugateGradientMultiDimensions, and bpp::NewtonOneDimension.

Definition at line 198 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::function_.

◆ getFunction_()

◆ getFunctionValue()

double bpp::AbstractOptimizer::getFunctionValue ( ) const
throw (NullPointerException
)
inlinevirtualinherited

Get the current function value.

Returns
The value of the function at the point specified by _parameters.
Exceptions
NullPointerExceptionIf no function is associated with this optimizer.

Implements bpp::Optimizer.

Reimplemented in bpp::GoldenSectionSearch.

Definition at line 200 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::currentValue_, and bpp::AbstractOptimizer::function_.

◆ getMessageHandler()

OutputStream* bpp::AbstractOptimizer::getMessageHandler ( ) const
inlinevirtualinherited
Returns
The stream used for handling messages, if any.

Implements bpp::Optimizer.

Definition at line 207 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::messageHandler_.

Referenced by bpp::PowellMultiDimensions::doStep().

◆ getNumberOfEvaluations()

unsigned int bpp::AbstractOptimizer::getNumberOfEvaluations ( ) const
inlinevirtualinherited

Get the number of function evaluations performed since the call of the init function.

Returns
The number of function evaluations.

Implements bpp::Optimizer.

Definition at line 211 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::nbEval_.

Referenced by bpp::SimpleNewtonMultiDimensions::doStep(), bpp::SimpleMultiDimensions::doStep(), bpp::OneDimensionOptimizationTools::lineMinimization(), and bpp::OneDimensionOptimizationTools::lineSearch().

◆ getOptimizationProgressCharacter()

const std::string& bpp::AbstractOptimizer::getOptimizationProgressCharacter ( ) const
inlineinherited
Returns
The character to be displayed during optimization.

Definition at line 265 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::stepChar_.

◆ getParameter_()

Parameter& bpp::AbstractOptimizer::getParameter_ ( size_t  i)
inlineprotectedinherited

◆ getParameters()

◆ getParameters_()

◆ getParameterValue()

double bpp::AbstractOptimizer::getParameterValue ( const std::string &  name) const
inlinevirtualinherited
Returns
The value associated with a given parameter name.

Implements bpp::Optimizer.

Definition at line 191 of file AbstractOptimizer.h.

References bpp::ParameterList::getParameterValue(), and bpp::AbstractOptimizer::parameters_.

◆ getProfiler()

OutputStream* bpp::AbstractOptimizer::getProfiler ( ) const
inlinevirtualinherited
Returns
The stream used for profiling, if any.

Implements bpp::Optimizer.

Definition at line 209 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::profiler_.

◆ getPSum()

ParameterList DownhillSimplexMethod::getPSum ( )
protected

Update the pSum_ variable.

Definition at line 188 of file DownhillSimplexMethod.cpp.

References bpp::DownhillSimplexMethod::Simplex::getDimension(), bpp::AbstractOptimizer::getParameters(), and simplex_.

Referenced by doStep().

◆ getStopCondition() [1/2]

◆ getStopCondition() [2/2]

const OptimizationStopCondition* bpp::AbstractOptimizer::getStopCondition ( ) const
inlinevirtualinherited

Get the stop condition of the optimization algorithm.

Returns
The stop condition used while optimizing.

Implements bpp::Optimizer.

Definition at line 217 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::stopCondition_.

◆ getVerbose()

unsigned int bpp::AbstractOptimizer::getVerbose ( ) const
inlinevirtualinherited

◆ hasFunction()

bool bpp::AbstractOptimizer::hasFunction ( ) const
inlinevirtualinherited

Tell if a funciton is associatied to this optimizer.

Returns
True if a function has been associated to this optimizer.

Implements bpp::Optimizer.

Definition at line 199 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::function_.

Referenced by bpp::GoldenSectionSearch::getFunctionValue().

◆ ignoreConstraints()

void AbstractOptimizer::ignoreConstraints ( )
protectedinherited

Remove the constraints of all the arguments.

Definition at line 303 of file AbstractOptimizer.cpp.

References bpp::AbstractOptimizer::parameters_, and bpp::ParameterList::size().

Referenced by bpp::AbstractOptimizer::AbstractOptimizer(), and bpp::AbstractOptimizer::operator=().

◆ init()

void AbstractOptimizer::init ( const ParameterList params)
throw (Exception
)
virtualinherited

Basic implementation.

Store all parameters, call the doInit method, print to profiler, initialize timer and notify all listeners.

Implements bpp::Optimizer.

Definition at line 153 of file AbstractOptimizer.cpp.

References bpp::AutoParameter::CONSTRAINTS_AUTO, and bpp::AutoParameter::CONSTRAINTS_IGNORE.

Referenced by bpp::SimpleNewtonMultiDimensions::doStep(), bpp::SimpleMultiDimensions::doStep(), bpp::OneDimensionOptimizationTools::lineMinimization(), and bpp::OneDimensionOptimizationTools::lineSearch().

◆ isInitialized()

bool bpp::AbstractOptimizer::isInitialized ( ) const
inlinevirtualinherited
Returns
'true' if this optimizer has been initialized.

Implements bpp::Optimizer.

Definition at line 189 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::isInitialized_.

◆ isMaximumNumberOfEvaluationsReached()

bool bpp::AbstractOptimizer::isMaximumNumberOfEvaluationsReached ( ) const
inlinevirtualinherited

Tell if the maximum number of function evaluations is reached.

Returns
Whether the maximum number of function evaluations is reached or not.

Implements bpp::Optimizer.

Definition at line 221 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::nbEval_, and bpp::AbstractOptimizer::nbEvalMax_.

◆ isToleranceReached()

bool bpp::AbstractOptimizer::isToleranceReached ( ) const
inlinevirtualinherited

Tell if the tolerance level is reached.

Returns
Whether the tolerance is reached or not.
See also
OptimizationStopCondition

Implements bpp::Optimizer.

Definition at line 220 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::tolIsReached_.

◆ listenerModifiesParameters()

bool AbstractOptimizer::listenerModifiesParameters ( ) const
protectedinherited

Definition at line 333 of file AbstractOptimizer.cpp.

References bpp::AbstractOptimizer::listeners_.

Referenced by bpp::AbstractOptimizer::step().

◆ optimize()

double DownhillSimplexMethod::optimize ( )
throw (Exception
)
virtual

Multidimensional minimization of the function function_ by the downhill simplex method of Nelder and Mead.

Reimplemented from bpp::AbstractOptimizer.

Definition at line 178 of file DownhillSimplexMethod.cpp.

References bpp::Function::f(), bpp::AbstractOptimizer::getFunction(), iLowest_, bpp::AbstractOptimizer::optimize(), and simplex_.

◆ printMessage()

void AbstractOptimizer::printMessage ( const std::string &  message)
protectedinherited

Give a message to print to the message handler.

Parameters
messageThe message to print.

Definition at line 284 of file AbstractOptimizer.cpp.

References bpp::AbstractOptimizer::messageHandler_.

Referenced by bpp::NewtonOneDimension::doStep(), and bpp::BfgsMultiDimensions::doStep().

◆ printPoint()

void AbstractOptimizer::printPoint ( const ParameterList params,
double  value 
)
protectedinherited

Print parameters and corresponding function evaluation to profiler.

Parameters
paramsThe parameters to print.
valueThe function evaluation.

Definition at line 265 of file AbstractOptimizer.cpp.

References bpp::AbstractOptimizer::nbEval_, bpp::AbstractOptimizer::profile(), bpp::AbstractOptimizer::profileln(), bpp::ParameterList::size(), bpp::AbstractOptimizer::startTime_, and bpp::TextTools::toString().

Referenced by bpp::PowellMultiDimensions::doStep(), and bpp::AbstractOptimizer::step().

◆ profile() [1/3]

void AbstractOptimizer::profile ( double  v)
protectedinherited

Print to the profile if there is one.

Parameters
vThe double value to print.

Definition at line 224 of file AbstractOptimizer.cpp.

References bpp::AbstractOptimizer::profiler_.

Referenced by bpp::AbstractOptimizer::printPoint().

◆ profile() [2/3]

void AbstractOptimizer::profile ( unsigned int  v)
protectedinherited

Print to the profile if there is one.

Parameters
vThe unsigned int value to print.

Definition at line 238 of file AbstractOptimizer.cpp.

References bpp::AbstractOptimizer::profiler_.

◆ profile() [3/3]

void AbstractOptimizer::profile ( const std::string &  s)
protectedinherited

Print to the profile if there is one.

Parameters
sThe string to print to the profile.

Definition at line 251 of file AbstractOptimizer.cpp.

References bpp::AbstractOptimizer::profiler_.

◆ profileln() [1/3]

void AbstractOptimizer::profileln ( double  v)
protectedinherited

Print to the profile if there is one and end line.

Parameters
vThe double value to print.

Definition at line 231 of file AbstractOptimizer.cpp.

References bpp::AbstractOptimizer::profiler_.

Referenced by bpp::AbstractOptimizer::printPoint().

◆ profileln() [2/3]

void AbstractOptimizer::profileln ( unsigned int  v)
protectedinherited

Print to the profile if there is one and end line.

Parameters
vThe unsigned int value to print.

Definition at line 244 of file AbstractOptimizer.cpp.

References bpp::AbstractOptimizer::profiler_.

◆ profileln() [3/3]

void AbstractOptimizer::profileln ( const std::string &  s)
protectedinherited

Print to the profile if there is one and end line.

Parameters
sThe string to print to the profile.

Definition at line 258 of file AbstractOptimizer.cpp.

References bpp::AbstractOptimizer::profiler_.

◆ setConstraintPolicy()

void bpp::AbstractOptimizer::setConstraintPolicy ( const std::string &  constraintPolicy)
inlinevirtualinherited

Set the constraint policy for this optimizer.

Parameters
constraintPolicyThe constraint policy.

Implements bpp::Optimizer.

Definition at line 225 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::constraintPolicy_.

Referenced by bpp::OneDimensionOptimizationTools::lineMinimization(), and bpp::OneDimensionOptimizationTools::lineSearch().

◆ setDefaultStopCondition_()

◆ setFunction()

void bpp::AbstractOptimizer::setFunction ( Function function)
inlinevirtualinherited

◆ setMaximumNumberOfEvaluations()

void bpp::AbstractOptimizer::setMaximumNumberOfEvaluations ( unsigned int  max)
inlinevirtualinherited

Set the maximum number of function evaluation to perform during optimization.

Parameters
maxThe maximum number of evaluations to perform.

Implements bpp::Optimizer.

Definition at line 222 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::nbEvalMax_.

Referenced by bpp::BrentOneDimension::BrentOneDimension(), and bpp::NewtonBacktrackOneDimension::NewtonBacktrackOneDimension().

◆ setMessageHandler()

void bpp::AbstractOptimizer::setMessageHandler ( OutputStream mh)
inlinevirtualinherited

Set the message handler for this optimizer.

The message handler keeps all messages that the optimizer may send. The default handler is set to standard output, but you can pass any ostream object (cerr, ofstream, etc.).

A NULL pointer disables message output.

Parameters
mhThe message handler to use.

Implements bpp::Optimizer.

Definition at line 206 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::messageHandler_.

Referenced by bpp::OneDimensionOptimizationTools::lineMinimization(), and bpp::OneDimensionOptimizationTools::lineSearch().

◆ setOptimizationProgressCharacter()

void bpp::AbstractOptimizer::setOptimizationProgressCharacter ( const std::string &  c)
inlineinherited

◆ setProfiler()

void bpp::AbstractOptimizer::setProfiler ( OutputStream profiler)
inlinevirtualinherited

Set the profiler for this optimizer.

The profiler keeps all the intermediate values taken by the parameters. The default profiler is set to standard output, but you can pass any ostream object (cerr, ofstream, etc.).

A NULL pointer disables message output.

Parameters
profilerThe profiler to use.

Implements bpp::Optimizer.

Definition at line 208 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::profiler_.

Referenced by bpp::OneDimensionOptimizationTools::lineMinimization(), and bpp::OneDimensionOptimizationTools::lineSearch().

◆ setStopCondition()

◆ setVerbose()

void bpp::AbstractOptimizer::setVerbose ( unsigned int  v)
inlinevirtualinherited

Set the verbose level.

0 = off 1 = on 2 = more verbose 3 = even more, etc.

In most cases, only the 0 and 1 levels are implemented.

Parameters
vverbose level.

Implements bpp::Optimizer.

Definition at line 223 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::verbose_.

Referenced by bpp::OneDimensionOptimizationTools::lineMinimization(), and bpp::OneDimensionOptimizationTools::lineSearch().

◆ step()

◆ tryExtrapolation()

double DownhillSimplexMethod::tryExtrapolation ( double  fac)
protected

Extrapolates by a factor fac through the face of the simplex from the high point. Try the new point and replaces the high point if it is better.

Parameters
facExtrapolation factor.
Returns
The value of the function for the new point.

Definition at line 210 of file DownhillSimplexMethod.cpp.

References bpp::Function::f(), bpp::DownhillSimplexMethod::Simplex::getDimension(), bpp::AbstractOptimizer::getFunction(), bpp::AbstractOptimizer::getParameters(), iHighest_, bpp::AbstractOptimizer::nbEval_, pSum_, simplex_, and y_.

Referenced by doStep().

◆ updateParameters() [1/2]

void bpp::AbstractOptimizer::updateParameters ( bool  yn)
inlineinherited

Tell if we shall update all parameters after one optimization step.

This is required only for functions that have non-independent parameters, which means that setting one parameter value may modify one or several other parameters. Depending on the optimizer, this may have no effect.

Parameters
yntrue/false

Definition at line 243 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::updateParameters_.

◆ updateParameters() [2/2]

bool bpp::AbstractOptimizer::updateParameters ( ) const
inlineinherited

Tell if we shall update all parameters after one optimization step.

This is required only for functions that have non-independent parameters, which means that setting one parameter value may modify one or several other parameters. Depending on the optimizer, this may have no effect.

Returns
yn true/false

Definition at line 254 of file AbstractOptimizer.h.

References bpp::AbstractOptimizer::updateParameters_.

Friends And Related Function Documentation

◆ DSMStopCondition

friend class DSMStopCondition
friend

Definition at line 82 of file DownhillSimplexMethod.h.

Referenced by DownhillSimplexMethod().

Member Data Documentation

◆ currentValue_

◆ iHighest_

unsigned int bpp::DownhillSimplexMethod::iHighest_
protected

◆ iLowest_

unsigned int bpp::DownhillSimplexMethod::iLowest_
protected

◆ iNextHighest_

unsigned int bpp::DownhillSimplexMethod::iNextHighest_
protected

Definition at line 105 of file DownhillSimplexMethod.h.

Referenced by doStep().

◆ nbEval_

◆ nbEvalMax_

◆ pSum_

ParameterList bpp::DownhillSimplexMethod::pSum_
protected

Definition at line 104 of file DownhillSimplexMethod.h.

Referenced by doStep(), and tryExtrapolation().

◆ simplex_

Simplex bpp::DownhillSimplexMethod::simplex_
protected

Definition at line 102 of file DownhillSimplexMethod.h.

Referenced by doStep(), getPSum(), optimize(), and tryExtrapolation().

◆ tolIsReached_

◆ y_

Vdouble bpp::DownhillSimplexMethod::y_
protected

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