bpp-core3
3.0.0
|
The AutoParameter class. More...
#include <Bpp/Numeric/AutoParameter.h>
Public Member Functions | |
AutoParameter (const std::string &name="", double value=0, std::shared_ptr< ConstraintInterface > constraint=nullptr) | |
Build a new AutoParameter. More... | |
AutoParameter (const Parameter ¶m) | |
Copy constructor. More... | |
AutoParameter (const AutoParameter ¶m) | |
Copy constructor. More... | |
AutoParameter & | operator= (const AutoParameter ¶m) |
Assignment operator. More... | |
virtual | ~AutoParameter () |
AutoParameter * | clone () const |
Create a copy of this object and send a pointer to it. More... | |
virtual void | setValue (double value) |
Set the value of this parameter. More... | |
virtual void | setMessageHandler (std::shared_ptr< OutputStream > mh) |
Set the message handler for this AutoParameter. More... | |
virtual void | setName (const std::string &name) |
Set the name of this parameter. More... | |
void | setPrecision (double precision) |
Set the precision of this parameter. More... | |
virtual const std::string & | getName () const |
Get the name of this parameter. More... | |
virtual double | getValue () const |
Get the value of this parameter. More... | |
virtual double | getPrecision () const |
Get the precision of this parameter. More... | |
virtual std::shared_ptr< const ConstraintInterface > | getConstraint () const |
Return the constraint associated to this parameter if there is one. More... | |
virtual std::shared_ptr< ConstraintInterface > | getConstraint () |
Return the constraint associated to this parameter if there is one. More... | |
virtual const ConstraintInterface & | constraint () const |
Return the constraint associated to this parameter if there is one. More... | |
virtual ConstraintInterface & | constraint () |
Return the constraint associated to this parameter if there is one. More... | |
virtual bool | hasConstraint () const |
Tells if this parameter has a constraint. More... | |
virtual std::shared_ptr< ConstraintInterface > | removeConstraint () |
Remove the constraint associated to this parameter. More... | |
virtual void | setConstraint (std::shared_ptr< ConstraintInterface > constraint) |
Set a constraint to this parameter. More... | |
virtual void | addParameterListener (std::shared_ptr< ParameterListener > listener) |
Add a new listener to this parameter. More... | |
virtual void | removeParameterListener (const std::string &listenerId) |
Remove all listeners with a given id from this parameter. More... | |
virtual bool | hasParameterListener (const std::string &listenerId) |
Tell is there is a listener with a given id from this parameter. More... | |
Static Public Attributes | |
static std::string | CONSTRAINTS_AUTO = "auto" |
static std::string | CONSTRAINTS_IGNORE = "ignore" |
static std::string | CONSTRAINTS_KEEP = "keep" |
static const std::shared_ptr< IntervalConstraint > | R_PLUS |
static const std::shared_ptr< IntervalConstraint > | R_PLUS_STAR |
static const std::shared_ptr< IntervalConstraint > | R_MINUS |
static const std::shared_ptr< IntervalConstraint > | R_MINUS_STAR |
static const std::shared_ptr< IntervalConstraint > | PROP_CONSTRAINT_IN |
static const std::shared_ptr< IntervalConstraint > | PROP_CONSTRAINT_EX |
Protected Member Functions | |
void | fireParameterNameChanged (ParameterEvent &event) |
void | fireParameterValueChanged (ParameterEvent &event) |
void | fireParameterConstraintChanged (ParameterEvent &event) |
Protected Attributes | |
std::string | name_ |
double | value_ |
double | precision_ |
std::shared_ptr< ConstraintInterface > | constraint_ |
std::vector< std::shared_ptr< ParameterListener > > | listeners_ |
Private Attributes | |
std::shared_ptr< OutputStream > | messageHandler_ |
The AutoParameter class.
This class overides the setValue() method of class Parameter so that no Exception is thrown. This allows to perform optimization under constraint.
Definition at line 23 of file AutoParameter.h.
AutoParameter::AutoParameter | ( | const std::string & | name = "" , |
double | value = 0 , |
||
std::shared_ptr< ConstraintInterface > | constraint = nullptr |
||
) |
Build a new AutoParameter.
name | The parameter name. |
value | The parameter value. |
constraint | An optional shared pointer toward a Constraint object. |
ConstraintException | If the parameter value does not match the contraint. |
Constructors:
Definition at line 26 of file AutoParameter.cpp.
Referenced by clone().
AutoParameter::AutoParameter | ( | const Parameter & | param | ) |
Copy constructor.
param | The parameter to copy. |
Definition at line 29 of file AutoParameter.cpp.
AutoParameter::AutoParameter | ( | const AutoParameter & | param | ) |
Copy constructor.
param | The parameter to copy. |
Definition at line 31 of file AutoParameter.cpp.
|
inlinevirtual |
Definition at line 61 of file AutoParameter.h.
|
inlinevirtualinherited |
Add a new listener to this parameter.
listener | The listener to add. |
Definition at line 261 of file Parameter.h.
Referenced by bpp::AbstractParameterAliasable::aliasParameters().
|
inlinevirtual |
Create a copy of this object and send a pointer to it.
Implements bpp::Clonable.
Definition at line 63 of file AutoParameter.h.
References AutoParameter(), and setValue().
|
inlinevirtualinherited |
Return the constraint associated to this parameter if there is one.
Definition at line 203 of file Parameter.h.
Referenced by bpp::Parameter::setConstraint().
|
inlinevirtualinherited |
Return the constraint associated to this parameter if there is one.
Definition at line 225 of file Parameter.h.
|
inlineprotectedinherited |
Definition at line 298 of file Parameter.h.
|
inlineprotectedinherited |
Definition at line 282 of file Parameter.h.
|
inlineprotectedinherited |
Definition at line 290 of file Parameter.h.
Referenced by bpp::Parameter::setValue().
|
inlinevirtualinherited |
Return the constraint associated to this parameter if there is one.
Definition at line 196 of file Parameter.h.
Referenced by bpp::AbstractParameterAliasable::aliasParameters(), bpp::ReparametrizationFunctionWrapper::init_(), bpp::ParameterList::matchParametersValues(), bpp::AliasParameterListener::parameterConstraintChanged(), bpp::ParameterList::setParametersValues(), and bpp::ParameterList::testParametersValues().
|
inlinevirtualinherited |
Return the constraint associated to this parameter if there is one.
Definition at line 218 of file Parameter.h.
|
inlinevirtualinherited |
Get the name of this parameter.
Definition at line 174 of file Parameter.h.
Referenced by bpp::ParameterList::addParameter(), bpp::AbstractParameterAliasable::addParameter_(), bpp::ParameterList::getCommonParametersWith(), bpp::ParametersStopCondition::getCurrentTolerance(), bpp::NumCalcApplicationTools::getDefaultValue(), bpp::ParameterList::getParameterValue(), bpp::ParameterList::hasParameter(), bpp::ReparametrizationFunctionWrapper::init_(), bpp::ParametersStopCondition::isToleranceReached(), bpp::ParameterList::parameter(), bpp::AliasParameterListener::parameterConstraintChanged(), bpp::AliasParameterListener::parameterValueChanged(), and bpp::FullHmmTransitionMatrix::setTransitionProbabilities().
|
inlinevirtualinherited |
Get the precision of this parameter.
Definition at line 188 of file Parameter.h.
|
inlinevirtualinherited |
Get the value of this parameter.
Definition at line 181 of file Parameter.h.
Referenced by bpp::AbstractParameterAliasable::aliasParameters(), bpp::ParametersStopCondition::getCurrentTolerance(), bpp::NumCalcApplicationTools::getDefaultValue(), bpp::RTransformedParameter::getFirstOrderDerivative(), bpp::IntervalTransformedParameter::getFirstOrderDerivative(), bpp::RTransformedParameter::getOriginalValue(), bpp::IntervalTransformedParameter::getOriginalValue(), bpp::PlaceboTransformedParameter::getOriginalValue(), bpp::AbstractParametrizable::getParameterValue(), bpp::ParameterList::getParameterValue(), bpp::RTransformedParameter::getSecondOrderDerivative(), bpp::IntervalTransformedParameter::getSecondOrderDerivative(), bpp::TestFunction::getValue(), bpp::ReparametrizationFunctionWrapper::init_(), bpp::ParametersStopCondition::isToleranceReached(), bpp::ParameterList::matchParametersValues(), bpp::ParameterList::setAllParametersValues(), bpp::ParameterList::setParametersValues(), and bpp::ParameterList::testParametersValues().
|
inlinevirtualinherited |
Tells if this parameter has a constraint.
Definition at line 238 of file Parameter.h.
Referenced by bpp::AbstractParameterAliasable::aliasParameters(), bpp::ParameterList::matchParametersValues(), bpp::ParameterList::setParametersValues(), and bpp::ParameterList::testParametersValues().
|
virtualinherited |
Tell is there is a listener with a given id from this parameter.
listenerId | The id of listener to remove. |
Definition at line 104 of file Parameter.cpp.
References bpp::Parameter::listeners_, bpp::Parameter::PROP_CONSTRAINT_EX, bpp::Parameter::PROP_CONSTRAINT_IN, bpp::Parameter::R_MINUS, bpp::Parameter::R_MINUS_STAR, bpp::Parameter::R_PLUS, and bpp::Parameter::R_PLUS_STAR.
AutoParameter & AutoParameter::operator= | ( | const AutoParameter & | param | ) |
Assignment operator.
param | The parameter to copy. |
Definition at line 33 of file AutoParameter.cpp.
References messageHandler_, and bpp::Parameter::operator=().
|
virtualinherited |
Remove the constraint associated to this parameter.
Warning! The contraint objet is not deleted.
Definition at line 85 of file Parameter.cpp.
References bpp::Parameter::constraint_.
Referenced by bpp::AbstractParametrizable::removeConstraint(), and bpp::SimpleDiscreteDistribution::restrictToConstraint().
|
virtualinherited |
Remove all listeners with a given id from this parameter.
listenerId | The id of listener to remove. |
Definition at line 94 of file Parameter.cpp.
References bpp::Parameter::listeners_.
Referenced by bpp::AbstractParameterAliasable::unaliasParameters().
|
virtualinherited |
Set a constraint to this parameter.
constraint | A pointer to the constraint (may be null) |
Constraint:
Definition at line 76 of file Parameter.cpp.
References bpp::Parameter::constraint(), bpp::Parameter::constraint_, and bpp::Parameter::value_.
Referenced by bpp::AbstractParameterAliasable::aliasParameters(), bpp::AliasParameterListener::parameterConstraintChanged(), bpp::ConstantDistribution::restrictToConstraint(), bpp::TruncatedExponentialDiscreteDistribution::restrictToConstraint(), bpp::SimpleDiscreteDistribution::restrictToConstraint(), and bpp::AbstractParametrizable::setConstraint().
|
inlinevirtual |
Set the message handler for this AutoParameter.
The message handler keeps all messages that the parameter may send. The default handler is set to standard output, but you can pass any ostream object (cerr, ofstream, etc.).
A NULL pointer disable message output.
mh | The message handler to use. |
Definition at line 95 of file AutoParameter.h.
Referenced by bpp::DirectionFunction::autoParameter(), bpp::AbstractOptimizer::autoParameter(), and bpp::BppODiscreteDistributionFormat::initialize_().
|
inlinevirtualinherited |
Set the name of this parameter.
name | the new parameter name. |
Definition at line 148 of file Parameter.h.
Referenced by bpp::ParametrizableCollection< N >::addObject(), and bpp::FullHmmTransitionMatrix::setTransitionProbabilities().
|
inherited |
Set the precision of this parameter.
precision | the new parameter precision. |
Precision:
Definition at line 69 of file Parameter.cpp.
References bpp::Parameter::precision_.
Referenced by bpp::Parameter::Parameter().
|
virtual |
Set the value of this parameter.
This method is redefined so that no constraintException is thrown! When a Constraint is match, we automatically apply a correct value instead. This correct value is the nearest limit reached by the value, or a value next to the limit if the limit is not reachable.
This allow to perform optimization under constraint whith algorithms that are not initially built for this.
value | the new parameter value. |
Reimplemented from bpp::Parameter.
Definition at line 42 of file AutoParameter.cpp.
References bpp::Parameter::constraint_, bpp::ConstraintException::getBadValue(), messageHandler_, bpp::Parameter::name_, bpp::Parameter::setValue(), and bpp::NumConstants::TINY().
Referenced by clone().
|
protectedinherited |
Definition at line 104 of file Parameter.h.
Referenced by bpp::Parameter::operator=(), bpp::Parameter::removeConstraint(), bpp::Parameter::setConstraint(), setValue(), and bpp::Parameter::setValue().
|
static |
Definition at line 98 of file AutoParameter.h.
Referenced by bpp::AbstractOptimizer::AbstractOptimizer(), bpp::DirectionFunction::init(), bpp::AbstractOptimizer::init(), bpp::OneDimensionOptimizationTools::lineMinimization(), bpp::OneDimensionOptimizationTools::lineSearch(), and bpp::AbstractOptimizer::operator=().
|
static |
Definition at line 99 of file AutoParameter.h.
Referenced by bpp::AbstractOptimizer::AbstractOptimizer(), bpp::DirectionFunction::init(), bpp::AbstractOptimizer::init(), and bpp::AbstractOptimizer::operator=().
|
static |
Definition at line 100 of file AutoParameter.h.
Referenced by bpp::OneDimensionOptimizationTools::lineMinimization(), and bpp::OneDimensionOptimizationTools::lineSearch().
|
protectedinherited |
Definition at line 105 of file Parameter.h.
Referenced by bpp::Parameter::hasParameterListener(), bpp::Parameter::operator=(), and bpp::Parameter::removeParameterListener().
|
private |
Definition at line 27 of file AutoParameter.h.
Referenced by operator=(), and setValue().
|
protectedinherited |
Definition at line 101 of file Parameter.h.
Referenced by bpp::Parameter::operator=(), and setValue().
|
protectedinherited |
Definition at line 103 of file Parameter.h.
Referenced by bpp::Parameter::operator=(), bpp::Parameter::setPrecision(), and bpp::Parameter::setValue().
|
staticinherited |
Definition at line 312 of file Parameter.h.
Referenced by bpp::AutoCorrelationTransitionMatrix::AutoCorrelationTransitionMatrix(), bpp::Parameter::hasParameterListener(), and bpp::Simplex::Simplex().
|
staticinherited |
Definition at line 311 of file Parameter.h.
Referenced by bpp::Parameter::hasParameterListener(), bpp::InvariantMixedDiscreteDistribution::InvariantMixedDiscreteDistribution(), bpp::MixtureOfDiscreteDistributions::MixtureOfDiscreteDistributions(), bpp::SimpleDiscreteDistribution::SimpleDiscreteDistribution(), and bpp::Simplex::Simplex().
|
staticinherited |
Definition at line 309 of file Parameter.h.
Referenced by bpp::Parameter::hasParameterListener().
|
staticinherited |
Definition at line 310 of file Parameter.h.
Referenced by bpp::Parameter::hasParameterListener().
|
staticinherited |
Definition at line 307 of file Parameter.h.
Referenced by bpp::ExponentialDiscreteDistribution::ExponentialDiscreteDistribution(), bpp::Parameter::hasParameterListener(), and bpp::TruncatedExponentialDiscreteDistribution::TruncatedExponentialDiscreteDistribution().
|
staticinherited |
Definition at line 308 of file Parameter.h.
Referenced by bpp::GaussianDiscreteDistribution::GaussianDiscreteDistribution(), and bpp::Parameter::hasParameterListener().
|
protectedinherited |
Definition at line 102 of file Parameter.h.
Referenced by bpp::Parameter::operator=(), bpp::Parameter::setConstraint(), and bpp::Parameter::setValue().