This class implements the diagonal function, which represents a function with optimum at the origin and constant second derivative matrix. More...
#include <diagonal_function.h>
Public Member Functions | |
DiagonalFunction (double scale) | |
The constructor, which specifies the weight of the diagonal part of the function. More... | |
mpf_t * | DistanceTo1DLocalOptimum (const std::vector< mpf_t * > &pos, int d) |
Calculates for a position and a dimension the next local optimum if only the value of the position in the specified dimension is varied and returns the distance to it. More... | |
mpf_t * | Eval (const std::vector< mpf_t * > &pos) |
Evaluates the function at the specified position. More... | |
std::string | GetName () |
Returns a string representation of this object. More... | |
Public Member Functions inherited from highprecisionpso::Function | |
Function () | |
A constructor. More... | |
Function (double search_space_lower_bound, double search_space_upper_bound) | |
A constructor, specifying the lower and upper search space bounds. More... | |
Function (std::vector< double > search_space_lower_bound, std::vector< double > search_space_upper_bound) | |
A constructor specifying the lower and upper search space bounds. More... | |
virtual | ~Function () |
The destructor. More... | |
virtual mpf_t * | DistanceTo1DLocalOptimumTernarySearch (const std::vector< mpf_t * > &pos, int d, mpf_t *start_distance) |
Calculates for a position and a dimension the next local optimum if only the value of the position in the specified dimension is varied and returns the distance to it. More... | |
mpf_t * | Evaluate (const std::vector< mpf_t * > &pos) |
This is the initial function for evaluation of a position. More... | |
virtual std::vector< mpf_t * > | GetLowerSearchSpaceBound () |
Returns the lower search space bound of the search space for this objective function. More... | |
virtual std::vector< mpf_t * > | GetUpperSearchSpaceBound () |
Returns the upper search space bound of the search space for this objective function. More... | |
void | InitSearchSpaceBounds () |
Initializes the search space bounds. More... | |
void | SetFunctionBound (SearchSpaceBound *search_space_bound) |
Updates the bound of the search space according to the given data. More... | |
Detailed Description
This class implements the diagonal function, which represents a function with optimum at the origin and constant second derivative matrix.
The constant second derivative matrix is the matrix for the sphere function plus a some diagonal part.
Constructor & Destructor Documentation
highprecisionpso::DiagonalFunction::DiagonalFunction | ( | double | scale | ) |
The constructor, which specifies the weight of the diagonal part of the function.
- Parameters
-
scale The weight of the diagonal part.
Member Function Documentation
|
virtual |
Calculates for a position and a dimension the next local optimum if only the value of the position in the specified dimension is varied and returns the distance to it.
For a given position all values (beside the value in the specified dimension) are regarded as constants. By a ternary search, where the value of the position in the specified dimension is varied, a local optimum is calculated. The result is the distance of the evaluated position and the found local optimum.
- Parameters
-
pos The position. d The index of the observed dimension.
- Returns
- The distance to the next local optimum in a single dimensional setting.
Reimplemented from highprecisionpso::Function.
|
virtual |
Evaluates the function at the specified position.
- Parameters
-
pos The position.
- Returns
- (sum (pos[i] * pos[i])) + scale * (sum (pos[i])) * (sum (pos[i]))
Implements highprecisionpso::Function.
|
virtual |
Returns a string representation of this object.
- Returns
- The name of the object.
Implements highprecisionpso::Function.
The documentation for this class was generated from the following file:
- src/function/diagonal_function.h