pass::ackley_function Class Reference
#include <ackley_function.hpp>
Inheritance diagram for pass::ackley_function:
Collaboration diagram for pass::ackley_function:
Public Member Functions | |
ackley_function (const arma::uword dimension) | |
double | evaluate (const arma::vec &agent) const override |
Public Member Functions inherited from pass::problem | |
arma::vec | bounds_range () const noexcept |
arma::uword | dimension () const noexcept |
problem (const arma::uword dimension, const double lower_bound, const double upper_bound, const std::string &name) | |
problem (const arma::vec &lower_bounds, const arma::vec &upper_bounds, const std::string &name) | |
double | evaluate_normalised (const arma::vec &normalised_agent) const |
arma::mat | normalised_random_agents (const arma::uword count) const |
arma::mat | normalised_hammersley_agents (const arma::uword count) const |
arma::mat | initialise_normalised_agents (const arma::uword count) const |
Additional Inherited Members | |
Public Attributes inherited from pass::problem | |
const arma::vec | lower_bounds |
const arma::vec | upper_bounds |
const std::string | name |
Detailed Description
Ackley’s is a widely used multimodal test function. It is named after David H. Ackley and was first published 1987 in "A Connectionist Machine for Genetic Hillclimbing. Kluwer Academic Publishers".
Its optimal parameter = (0, ..., 0) and optimal function value = 0.
\[ f(x_0 \cdots x_n) = -20 exp(-0.2 \sqrt{\frac{1}{n} \sum_{i=1}^n x_i^2}) - exp(\frac{1}{n} \sum_{i=1}^n cos(2\pi x_i)) + 20 + e \]
\[ -32 \leq x_i \leq 32 \]
\[ \text{minimum at }f(0, \cdots, 0) = 0 \]
Constructor & Destructor Documentation
◆ ackley_function()
|
explicit |
Initialises a ackley function with dimension
dimensions, lower bounds of -32.768 and upper bounds of 32.768.
Member Function Documentation
◆ evaluate()
|
overridevirtual |
Evaluates this problem at agent
, which must match the dimensions of this problem.
Implements pass::problem.
The documentation for this class was generated from the following files:
- /Users/romeo/Desktop/PASS/include/pass_bits/problem/optimisation_benchmark/ackley_function.hpp
- /Users/romeo/Desktop/PASS/src/problem/optimisation_benchmark/ackley_function.cpp