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< Constraint > constraint=0) | |
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 (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 const std::shared_ptr< Constraint > | getConstraint () const |
Return the constraint associated to this parameter if there is one. More... | |
virtual std::shared_ptr< Constraint > | getConstraint () |
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< Constraint > | removeConstraint () |
Remove the constraint associated to this parameter. More... | |
virtual void | setConstraint (std::shared_ptr< Constraint > constraint) |
Set a constraint to this parameter. More... | |
virtual void | addParameterListener (ParameterListener *listener, bool attachListener=true) |
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< Constraint > | constraint_ |
std::vector< ParameterListener * > | listeners_ |
std::vector< bool > | listenerAttach_ |
Private Attributes | |
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 59 of file AutoParameter.h.
AutoParameter::AutoParameter | ( | const std::string & | name = "" , |
double | value = 0 , |
||
std::shared_ptr< Constraint > | constraint = 0 |
||
) |
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 62 of file AutoParameter.cpp.
Referenced by clone().
AutoParameter::AutoParameter | ( | const Parameter & | param | ) |
Copy constructor.
param | The parameter to copy. |
Definition at line 65 of file AutoParameter.cpp.
AutoParameter::AutoParameter | ( | const AutoParameter & | param | ) |
Copy constructor.
param | The parameter to copy. |
Definition at line 67 of file AutoParameter.cpp.
|
inlinevirtual |
Definition at line 97 of file AutoParameter.h.
|
inlinevirtualinherited |
Add a new listener to this parameter.
listener | The listener to add. |
attachListener | Tell if the parameter will own this listener. If so, deep copies will be made when cloning the parameter, and the listener will be destroyed upon destruction of the parameter or upon removal. Alternatively, only superficial copies will be made, and the listener will persist if the parameter is destroyed. |
Definition at line 278 of file Parameter.h.
References bpp::Parameter::listenerAttach_, and bpp::Parameter::listeners_.
Referenced by bpp::AbstractParameterAliasable::aliasParameters().
|
inlinevirtual |
Create a copy of this object and send a pointer to it.
Implements bpp::Clonable.
Definition at line 99 of file AutoParameter.h.
References AutoParameter().
|
inlineprotectedinherited |
Definition at line 316 of file Parameter.h.
References bpp::Parameter::listeners_.
|
inlineprotectedinherited |
Definition at line 300 of file Parameter.h.
References bpp::Parameter::listeners_.
Referenced by bpp::Parameter::setName().
|
inlineprotectedinherited |
Definition at line 308 of file Parameter.h.
References bpp::Parameter::listeners_.
Referenced by bpp::Parameter::setValue().
|
inlinevirtualinherited |
Return the constraint associated to this parameter if there is one.
Definition at line 242 of file Parameter.h.
References bpp::Parameter::constraint_.
|
inlinevirtualinherited |
Return the constraint associated to this parameter if there is one.
Definition at line 233 of file Parameter.h.
References bpp::Parameter::constraint_.
Referenced by bpp::AbstractParameterAliasable::aliasParameters(), bpp::ReparametrizationFunctionWrapper::init_(), bpp::ParameterList::matchParametersValues(), bpp::AliasParameterListener::parameterConstraintChanged(), bpp::ParameterList::setParametersValues(), and bpp::ParameterList::testParametersValues().
|
inlinevirtualinherited |
Get the name of this parameter.
Definition at line 211 of file Parameter.h.
References bpp::Parameter::name_.
Referenced by bpp::ParameterList::addParameter(), bpp::AbstractParameterAliasable::addParameter_(), bpp::AbstractParameterAliasable::deleteParameter_(), bpp::ParameterList::getCommonParametersWith(), bpp::ParametersStopCondition::getCurrentTolerance(), bpp::NumCalcApplicationTools::getDefaultValue(), bpp::ParameterList::getParameter(), bpp::ParameterList::getParameterValue(), bpp::ParameterList::hasParameter(), bpp::ReparametrizationFunctionWrapper::init_(), bpp::ParametersStopCondition::isToleranceReached(), bpp::AliasParameterListener::parameterConstraintChanged(), bpp::AliasParameterListener::parameterValueChanged(), and bpp::FullHmmTransitionMatrix::setTransitionProbabilities().
|
inlinevirtualinherited |
Get the precision of this parameter.
Definition at line 225 of file Parameter.h.
References bpp::Parameter::precision_.
|
inlinevirtualinherited |
Get the value of this parameter.
Definition at line 218 of file Parameter.h.
References bpp::Parameter::value_.
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 249 of file Parameter.h.
References bpp::Parameter::constraint_.
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 165 of file Parameter.cpp.
References bpp::Parameter::listeners_.
AutoParameter & AutoParameter::operator= | ( | const AutoParameter & | param | ) |
Assignment operator.
param | The parameter to copy. |
Definition at line 69 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 140 of file Parameter.cpp.
References bpp::Parameter::constraint_.
Referenced by bpp::SimpleDiscreteDistribution::restrictToConstraint().
|
virtualinherited |
Remove all listeners with a given id from this parameter.
listenerId | The id of listener to remove. |
Definition at line 149 of file Parameter.cpp.
References bpp::Parameter::listenerAttach_, and bpp::Parameter::listeners_.
Referenced by bpp::AbstractParameterAliasable::unaliasParameters().
|
virtualinherited |
Set a constraint to this parameter.
constraint | a pointer to the constraint (may be null) |
Definition at line 131 of file Parameter.cpp.
References bpp::Parameter::constraint_, and bpp::Parameter::value_.
Referenced by bpp::AbstractParameterAliasable::aliasParameters(), bpp::AliasParameterListener::parameterConstraintChanged(), bpp::ConstantDistribution::restrictToConstraint(), bpp::SimpleDiscreteDistribution::restrictToConstraint(), and bpp::TruncatedExponentialDiscreteDistribution::restrictToConstraint().
|
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 131 of file AutoParameter.h.
References messageHandler_.
Referenced by bpp::AbstractOptimizer::autoParameter(), bpp::DirectionFunction::autoParameter(), and bpp::BppODiscreteDistributionFormat::initialize_().
|
inlinevirtualinherited |
Set the name of this parameter.
name | the new parameter name. |
Definition at line 185 of file Parameter.h.
References bpp::Parameter::fireParameterNameChanged(), and bpp::Parameter::name_.
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 124 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 78 of file AutoParameter.cpp.
References bpp::Parameter::constraint_, bpp::ConstraintException::getBadValue(), messageHandler_, bpp::Parameter::name_, bpp::Parameter::setValue(), and bpp::NumConstants::TINY().
|
protectedinherited |
Definition at line 140 of file Parameter.h.
Referenced by bpp::Parameter::getConstraint(), bpp::Parameter::hasConstraint(), bpp::Parameter::operator=(), bpp::Parameter::removeConstraint(), bpp::Parameter::setConstraint(), setValue(), and bpp::Parameter::setValue().
|
static |
Definition at line 134 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 135 of file AutoParameter.h.
Referenced by bpp::AbstractOptimizer::AbstractOptimizer(), bpp::DirectionFunction::init(), bpp::AbstractOptimizer::init(), and bpp::AbstractOptimizer::operator=().
|
static |
Definition at line 136 of file AutoParameter.h.
Referenced by bpp::OneDimensionOptimizationTools::lineMinimization(), and bpp::OneDimensionOptimizationTools::lineSearch().
|
protectedinherited |
Definition at line 142 of file Parameter.h.
Referenced by bpp::Parameter::addParameterListener(), bpp::Parameter::operator=(), bpp::Parameter::Parameter(), bpp::Parameter::removeParameterListener(), and bpp::Parameter::~Parameter().
|
protectedinherited |
Definition at line 141 of file Parameter.h.
Referenced by bpp::Parameter::addParameterListener(), bpp::Parameter::fireParameterConstraintChanged(), bpp::Parameter::fireParameterNameChanged(), bpp::Parameter::fireParameterValueChanged(), bpp::Parameter::hasParameterListener(), bpp::Parameter::operator=(), bpp::Parameter::Parameter(), bpp::Parameter::removeParameterListener(), and bpp::Parameter::~Parameter().
|
private |
Definition at line 63 of file AutoParameter.h.
Referenced by operator=(), setMessageHandler(), and setValue().
|
protectedinherited |
Definition at line 137 of file Parameter.h.
Referenced by bpp::Parameter::getName(), bpp::Parameter::operator=(), bpp::Parameter::setName(), and setValue().
|
protectedinherited |
Definition at line 139 of file Parameter.h.
Referenced by bpp::Parameter::getPrecision(), bpp::Parameter::operator=(), bpp::Parameter::setPrecision(), and bpp::Parameter::setValue().
|
staticinherited |
Definition at line 330 of file Parameter.h.
Referenced by bpp::AutoCorrelationTransitionMatrix::AutoCorrelationTransitionMatrix(), and bpp::Simplex::Simplex().
|
staticinherited |
|
staticinherited |
Definition at line 327 of file Parameter.h.
|
staticinherited |
Definition at line 328 of file Parameter.h.
|
staticinherited |
Definition at line 325 of file Parameter.h.
Referenced by bpp::ExponentialDiscreteDistribution::ExponentialDiscreteDistribution(), and bpp::TruncatedExponentialDiscreteDistribution::TruncatedExponentialDiscreteDistribution().
|
staticinherited |
Definition at line 326 of file Parameter.h.
Referenced by bpp::GaussianDiscreteDistribution::GaussianDiscreteDistribution().
|
protectedinherited |
Definition at line 138 of file Parameter.h.
Referenced by bpp::Parameter::getValue(), bpp::Parameter::operator=(), bpp::Parameter::setConstraint(), and bpp::Parameter::setValue().