Constrained Sphere function. More...
#include <shark/ObjectiveFunctions/Benchmarks/ConstrainedSphere.h>
Public Member Functions | |
ConstrainedSphere (std::size_t numberOfVariables=5, std::size_t m=1) | |
std::string | name () const |
From INameable: return the class name. More... | |
std::size_t | numberOfVariables () const |
Accesses the number of variables. More... | |
bool | hasScalableDimensionality () const |
void | setNumberOfVariables (std::size_t numberOfVariables) |
Adjusts the number of variables if the function is scalable. More... | |
SearchPointType | proposeStartingPoint () const |
Proposes a starting point in the feasible search space of the function. More... | |
bool | isFeasible (SearchPointType const &input) const |
Tests whether a point in SearchSpace is feasible, e.g., whether the constraints are fulfilled. More... | |
double | eval (const SearchPointType &p) const |
Evaluates the objective function for the supplied argument. More... | |
Public Member Functions inherited from shark::AbstractObjectiveFunction< PointType, ResultT > | |
const Features & | features () const |
virtual void | updateFeatures () |
bool | hasValue () const |
returns whether this function can calculate it's function value More... | |
bool | hasFirstDerivative () const |
returns whether this function can calculate the first derivative More... | |
bool | hasSecondDerivative () const |
returns whether this function can calculate the second derivative More... | |
bool | canProposeStartingPoint () const |
returns whether this function can propose a starting point. More... | |
bool | isConstrained () const |
returns whether this function can return More... | |
bool | hasConstraintHandler () const |
returns whether this function can return More... | |
bool | canProvideClosestFeasible () const |
Returns whether this function can calculate thee closest feasible to an infeasible point. More... | |
bool | isThreadSafe () const |
Returns true, when the function can be usd in parallel threads. More... | |
bool | isNoisy () const |
Returns true, when the function can be usd in parallel threads. More... | |
AbstractObjectiveFunction () | |
Default ctor. More... | |
virtual | ~AbstractObjectiveFunction () |
Virtual destructor. More... | |
virtual void | init () |
void | setRng (random::rng_type *rng) |
Sets the Rng used by the objective function. More... | |
virtual std::size_t | numberOfObjectives () const |
virtual bool | hasScalableObjectives () const |
virtual void | setNumberOfObjectives (std::size_t numberOfObjectives) |
Adjusts the number of objectives if the function is scalable. More... | |
std::size_t | evaluationCounter () const |
Accesses the evaluation counter of the function. More... | |
AbstractConstraintHandler< SearchPointType > const & | getConstraintHandler () const |
Returns the constraint handler of the function if it has one. More... | |
virtual void | closestFeasible (SearchPointType &input) const |
If supported, the supplied point is repaired such that it satisfies all of the function's constraints. More... | |
ResultType | operator() (SearchPointType const &input) const |
Evaluates the function. Useful together with STL-Algorithms like std::transform. More... | |
virtual ResultType | evalDerivative (SearchPointType const &input, FirstOrderDerivative &derivative) const |
Evaluates the objective function and calculates its gradient. More... | |
virtual ResultType | evalDerivative (SearchPointType const &input, SecondOrderDerivative &derivative) const |
Evaluates the objective function and calculates its gradient. More... | |
Public Member Functions inherited from shark::INameable | |
virtual | ~INameable () |
Constrained Sphere function.
This is a simple sphere function minimizing \( f(x) = \sum_i^N x_i^2-m \) under the constraints that \( x_i \geq 1\) for \( i = 1,\dots,m \). The minimum is at \( x_1=\dots = x_m = 1\) and \( x_{m+1}=\dots = x_N = 0 \) with function value 0.
This is a simple benchmark for evolutionary algorithms as, the closer the algorithm is to the optimu
Definition at line 47 of file ConstrainedSphere.h.
|
inline |
Definition at line 49 of file ConstrainedSphere.h.
References shark::AbstractObjectiveFunction< PointType, ResultT >::CAN_PROPOSE_STARTING_POINT, shark::AbstractObjectiveFunction< PointType, ResultT >::IS_CONSTRAINED_FEATURE, shark::AbstractObjectiveFunction< PointType, ResultT >::IS_THREAD_SAFE, and shark::AbstractObjectiveFunction< PointType, ResultT >::m_features.
|
inlinevirtual |
Evaluates the objective function for the supplied argument.
[in] | input | The argument for which the function shall be evaluated. |
FeatureNotAvailableException | in the default implementation and if a function does not support this feature. |
Reimplemented from shark::AbstractObjectiveFunction< PointType, ResultT >.
Definition at line 91 of file ConstrainedSphere.h.
References shark::AbstractObjectiveFunction< PointType, ResultT >::m_evaluationCounter.
|
inlinevirtual |
Reimplemented from shark::AbstractObjectiveFunction< PointType, ResultT >.
Definition at line 64 of file ConstrainedSphere.h.
|
inlinevirtual |
Tests whether a point in SearchSpace is feasible, e.g., whether the constraints are fulfilled.
[in] | input | The point to be tested for feasibility. |
Reimplemented from shark::AbstractObjectiveFunction< PointType, ResultT >.
Definition at line 84 of file ConstrainedSphere.h.
|
inlinevirtual |
From INameable: return the class name.
Reimplemented from shark::INameable.
Definition at line 57 of file ConstrainedSphere.h.
|
inlinevirtual |
Accesses the number of variables.
Implements shark::AbstractObjectiveFunction< PointType, ResultT >.
Definition at line 60 of file ConstrainedSphere.h.
Referenced by proposeStartingPoint(), and setNumberOfVariables().
|
inlinevirtual |
Proposes a starting point in the feasible search space of the function.
FeatureNotAvailableException | in the default implementation and if a function does not support this feature. |
Reimplemented from shark::AbstractObjectiveFunction< PointType, ResultT >.
Definition at line 72 of file ConstrainedSphere.h.
References shark::random::gauss(), shark::AbstractObjectiveFunction< PointType, ResultT >::mep_rng, and numberOfVariables().
|
inlinevirtual |
Adjusts the number of variables if the function is scalable.
[in] | numberOfVariables | The new dimension. |
Reimplemented from shark::AbstractObjectiveFunction< PointType, ResultT >.
Definition at line 68 of file ConstrainedSphere.h.
References numberOfVariables().