ackley_function.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "pass_bits/problem.hpp"
4 
5 namespace pass
6 {
26 // ⎛ ⎛ D ⎞⎞ ⎛ D ⎞
27 // ⎜ ⎜ ∑ p(i)²⎟⎟ ⎜ ∑ cos(2π * p(i))⎟
28 // -20 * exp ⎜-0.2 * √⎜i=1 ⎟⎟ - exp ⎜i=1 ⎟ + 20 + exp(1)
29 // ⎜ ⎜--------⎟⎟ ⎜-----------------⎟
30 // ⎝ ⎝ D ⎠⎠ ⎝ D ⎠
31 //
32 //
33 class ackley_function : public problem
34 {
35 public:
40  explicit ackley_function(const arma::uword dimension);
41 
42  double evaluate(const arma::vec &agent) const override;
43 };
44 } // namespace pass
Definition: ackley_function.hpp:33
ackley_function(const arma::uword dimension)
Definition: ackley_function.cpp:3
Definition: problem.hpp:20
arma::uword dimension() const noexcept
Definition: problem.cpp:10
Definition: adaptive_parameter_search.hpp:5
double evaluate(const arma::vec &agent) const override
Definition: ackley_function.cpp:6