|
OPTK
0.1.2
Toolkit for global optimisation algorithms
|
#include <synthetic.hpp>
Public Member Functions | |
| double | evaluate (inst::set x) override |
Public Member Functions inherited from syn::synthetic | |
| synthetic (const std::string &n, u_int dims, double lb, double ub, double opt) | |
| synthetic (const std::string &n, u_int dims, double opt) | |
| ~synthetic () | |
| sspace::sspace_t * | get_search_space () |
| void | set_properties (std::vector< properties > p) |
| std::vector< properties > | get_properties () |
| inst::set | get_opt_param () |
| double | get_opt () |
| void | update_opt (double opt) |
| u_int | get_dims () |
| void | validate_param_set (inst::set x) |
Public Member Functions inherited from optk::benchmark | |
| benchmark (const std::string &name) | |
| std::string | get_name () |
Additional Inherited Members | |
Protected Member Functions inherited from syn::synthetic | |
| void | set_opt_param (inst::set op) |
Protected Attributes inherited from syn::synthetic | |
| u_int | m_dims |
| double | m_lb |
| double | m_ub |
| double | m_opt |
| std::vector< properties > | m_properties |
| inst::set | opt_params |
| sspace::sspace_t | m_sspace |
Protected Attributes inherited from optk::benchmark | |
| std::string | m_name |
The Deb 1 function has the following formula:
\[ f(\mathbf{x}) = \frac{1}{D}\sum^D_{i=1}\sin^6(5\pi x_i), \]
subject to \(-1 \le x_i \le 1\). There are \(5^Df$ global minima which are evenly spaced. One such minimum is found at \){x}^* = (0.3, , 0.3) \( with value \)f({x}^*) = -1 \(. */ class deb1: public synthetic { public: deb1 (int dims); double evaluate (inst::set x) override; }; /** The Deb 2 function has the following formula: \f[ f(\mathbf{x}) = -\frac{1}{D}\sum^D_{i=1} \sin^6\left(5\pi \big(x_i^{3/4} - 0.05 \big)\right), \f] subject to \)-1 x_i 1 ^Df$ global minima which are evenly spaced. One such minimum is found at \(\mathbf{x}^* = (0.0796993926887, \ldots, 0.0796993926887)\) with value \(f(\mathbf{x}^*) = -1\). */ class deb2: public synthetic { public: deb2 (int dims); double evaluate (inst::set x) override; };
/** The Deckkers-Aarts function has the following formula:
\[ f(\mathbf{x}) = 15^5x_1^2 + x_2^2 - \big(x_1^2 + x_2^2\big)^2 + 10^{-5}\big(x_1^2 + x_2^2\big)^4, \]
subject to \(-20 \le x_i \le 20\). The two global minima are located at \(\mathbf{x}^* (0, \pm15)\), with value \(f(\mathbf{x}^*) = -24777\).
FIXME resolve floating-point arithmetic precision errors in this function's implementation.
|
overridevirtual |
Evaluate the benchmark (i.e. calculate the value of the objective fuinction) on the provided values.
| x | A vector of double-precision values to evaluate the benchmark at. |
Implements optk::benchmark.
1.8.13