bpp-core3
3.0.0
|
Stop condition on function value. More...
#include <Bpp/Numeric/Function/OptimizationStopCondition.h>
Public Member Functions | |
FunctionStopCondition (const OptimizerInterface *optimizer) | |
FunctionStopCondition (const OptimizerInterface *optimizer, double tolerance) | |
FunctionStopCondition (const OptimizerInterface *optimizer, int burnin) | |
FunctionStopCondition (const OptimizerInterface *optimizer, double tolerance, int burnin) | |
virtual | ~FunctionStopCondition () |
FunctionStopCondition * | clone () const |
Create a copy of this object and send a pointer to it. More... | |
void | init () |
Initialize the condition. More... | |
bool | isToleranceReached () const |
Tell if the we reached the desired tolerance with a given new set of estimates. More... | |
double | getCurrentTolerance () const |
Get the current tolerance. More... | |
const OptimizerInterface * | getOptimizer () const |
void | setOptimizer (const OptimizerInterface *optimizer) |
Set the optimizer attached to this instance. More... | |
void | setTolerance (double tolerance) |
Set the tolerance parameter. More... | |
double | getTolerance () const |
Get the tolerance parameter. More... | |
virtual void | resetCounter () |
virtual void | setBurnin (int burnin) |
virtual int | getBurnin () const |
Protected Attributes | |
const OptimizerInterface * | optimizer_ |
double | tolerance_ |
double | callCount_ |
Count the number of times the isToleranceReached() function has been called. More... | |
int | burnin_ |
Private Attributes | |
double | lastFunctionValue_ |
The last value of the function. More... | |
double | newFunctionValue_ |
The new value of the function. More... | |
Stop condition on function value.
This stops the optimization when , where is the value of the function given the parameter values at iteration , and is the value of the function given the parameter velues at iteration .
Definition at line 234 of file OptimizationStopCondition.h.
FunctionStopCondition::FunctionStopCondition | ( | const OptimizerInterface * | optimizer | ) |
Definition at line 133 of file OptimizationStopCondition.cpp.
References init().
FunctionStopCondition::FunctionStopCondition | ( | const OptimizerInterface * | optimizer, |
double | tolerance | ||
) |
Definition at line 142 of file OptimizationStopCondition.cpp.
References init().
FunctionStopCondition::FunctionStopCondition | ( | const OptimizerInterface * | optimizer, |
int | burnin | ||
) |
Definition at line 152 of file OptimizationStopCondition.cpp.
References init().
FunctionStopCondition::FunctionStopCondition | ( | const OptimizerInterface * | optimizer, |
double | tolerance, | ||
int | burnin | ||
) |
Definition at line 162 of file OptimizationStopCondition.cpp.
References init().
|
virtual |
Definition at line 173 of file OptimizationStopCondition.cpp.
|
inlinevirtual |
Create a copy of this object and send a pointer to it.
Implements bpp::OptimizationStopCondition.
Definition at line 260 of file OptimizationStopCondition.h.
|
inlinevirtualinherited |
Definition at line 177 of file OptimizationStopCondition.h.
|
virtual |
Get the current tolerance.
This is computed from the last check performed. Initially, it is equal to the tolerance parameter.
Implements bpp::OptimizationStopCondition.
Definition at line 202 of file OptimizationStopCondition.cpp.
References bpp::AbstractOptimizationStopCondition::burnin_, bpp::AbstractOptimizationStopCondition::callCount_, lastFunctionValue_, newFunctionValue_, and bpp::AbstractOptimizationStopCondition::tolerance_.
|
inlinevirtualinherited |
Implements bpp::OptimizationStopCondition.
Definition at line 163 of file OptimizationStopCondition.h.
|
inlinevirtualinherited |
Get the tolerance parameter.
Implements bpp::OptimizationStopCondition.
Definition at line 169 of file OptimizationStopCondition.h.
Referenced by bpp::GoldenSectionSearch::GSSStopCondition::isToleranceReached().
|
virtual |
Initialize the condition.
Reimplemented from bpp::AbstractOptimizationStopCondition.
Definition at line 177 of file OptimizationStopCondition.cpp.
References bpp::OptimizerInterface::getFunction(), bpp::OptimizerInterface::getFunctionValue(), bpp::AbstractOptimizationStopCondition::init(), newFunctionValue_, and bpp::AbstractOptimizationStopCondition::optimizer_.
Referenced by FunctionStopCondition().
|
virtual |
Tell if the we reached the desired tolerance with a given new set of estimates.
The new parameter list is compared to the last estimates, and the lastParameterEstimates list is actulaized with the newParameters list.
Implements bpp::OptimizationStopCondition.
Definition at line 189 of file OptimizationStopCondition.cpp.
References bpp::AbstractOptimizationStopCondition::burnin_, bpp::AbstractOptimizationStopCondition::callCount_, bpp::OptimizerInterface::getFunctionValue(), lastFunctionValue_, newFunctionValue_, bpp::AbstractOptimizationStopCondition::optimizer_, and bpp::AbstractOptimizationStopCondition::tolerance_.
|
inlinevirtualinherited |
Definition at line 173 of file OptimizationStopCondition.h.
|
inlinevirtualinherited |
Definition at line 175 of file OptimizationStopCondition.h.
|
inlinevirtualinherited |
Set the optimizer attached to this instance.
optimizer | The optimizer to which this instance belongs to. |
Implements bpp::OptimizationStopCondition.
Definition at line 165 of file OptimizationStopCondition.h.
|
inlinevirtualinherited |
Set the tolerance parameter.
tolerance | The tolerance parameter. |
Implements bpp::OptimizationStopCondition.
Definition at line 167 of file OptimizationStopCondition.h.
|
protectedinherited |
Definition at line 118 of file OptimizationStopCondition.h.
Referenced by bpp::BrentOneDimension::BODStopCondition::BODStopCondition(), bpp::ParametersStopCondition::getCurrentTolerance(), getCurrentTolerance(), bpp::PowellMultiDimensions::PMDStopCondition::isToleranceReached(), bpp::GoldenSectionSearch::GSSStopCondition::isToleranceReached(), bpp::BrentOneDimension::BODStopCondition::isToleranceReached(), bpp::ParametersStopCondition::isToleranceReached(), isToleranceReached(), and bpp::AbstractOptimizationStopCondition::operator=().
|
mutableprotectedinherited |
Count the number of times the isToleranceReached() function has been called.
Definition at line 116 of file OptimizationStopCondition.h.
Referenced by bpp::ParametersStopCondition::getCurrentTolerance(), getCurrentTolerance(), bpp::PowellMultiDimensions::PMDStopCondition::isToleranceReached(), bpp::GoldenSectionSearch::GSSStopCondition::isToleranceReached(), bpp::BrentOneDimension::BODStopCondition::isToleranceReached(), bpp::ParametersStopCondition::isToleranceReached(), isToleranceReached(), and bpp::AbstractOptimizationStopCondition::operator=().
|
mutableprivate |
The last value of the function.
This is used by the isToleranceReached() method.
Definition at line 243 of file OptimizationStopCondition.h.
Referenced by getCurrentTolerance(), and isToleranceReached().
|
mutableprivate |
The new value of the function.
This is used by the isToleranceReached() method.
Definition at line 250 of file OptimizationStopCondition.h.
Referenced by getCurrentTolerance(), init(), and isToleranceReached().
|
protectedinherited |
Definition at line 109 of file OptimizationStopCondition.h.
Referenced by bpp::GoldenSectionSearch::GSSStopCondition::getCurrentTolerance(), bpp::PowellMultiDimensions::PMDStopCondition::getCurrentTolerance(), bpp::BrentOneDimension::BODStopCondition::getCurrentTolerance(), bpp::ParametersStopCondition::init(), init(), bpp::BrentOneDimension::BODStopCondition::isToleranceReached(), bpp::ParametersStopCondition::isToleranceReached(), isToleranceReached(), and bpp::AbstractOptimizationStopCondition::operator=().
|
protectedinherited |
Definition at line 110 of file OptimizationStopCondition.h.
Referenced by bpp::BrentOneDimension::BODStopCondition::BODStopCondition(), bpp::ParametersStopCondition::getCurrentTolerance(), getCurrentTolerance(), bpp::PowellMultiDimensions::PMDStopCondition::isToleranceReached(), bpp::GoldenSectionSearch::GSSStopCondition::isToleranceReached(), bpp::DownhillSimplexMethod::DSMStopCondition::isToleranceReached(), bpp::ParametersStopCondition::isToleranceReached(), isToleranceReached(), and bpp::AbstractOptimizationStopCondition::operator=().