OPTK  0.1.2
Toolkit for global optimisation algorithms
Public Member Functions | List of all members
syn::devillers_glasser2 Class Reference

#include <synthetic.hpp>

Inheritance diagram for syn::devillers_glasser2:
syn::synthetic optk::benchmark

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_tget_search_space ()
 
void set_properties (std::vector< properties > p)
 
std::vector< propertiesget_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< propertiesm_properties
 
inst::set opt_params
 
sspace::sspace_t m_sspace
 
- Protected Attributes inherited from optk::benchmark
std::string m_name
 

Detailed Description

The deVillers Glasser 2 function has the following formula:

\[ f(\mathbf{x}) = \sum^{16}_{i=1}\left(x_1x_2^{0.1(i-1)}\tanh\big(x_4\cdot 0.1(i-1) + \sin(x_4 \cdot 0.1(i-1))\big)\cos\big(0.1(i-1)e^{x_5} - y_i \right)^2, \]

where

\[ y_i = 53.81 \cdot 1.27^{0.1(i-1)}\tanh\big(3.012 \cdot 0.1(i-1) + \sin(2.13 \cdot 0.1(i-1)\big) \cos\big(e^{0.507} \cdot 0.1(i-1)\big). \]

It is subject to \(-500 \le x_i \le 500\), and has a global minimum at \(\mathbf{x}^* = (53.81, 1.27, 3.012, 2.13, 0.507)\) with value \(f(\mathbf{x}^*) = 0\).

Member Function Documentation

◆ evaluate()

double syn::devillers_glasser2::evaluate ( inst::set  x)
overridevirtual

FIXME improve floating point calculation accuracy for function evaluations

Implements optk::benchmark.


The documentation for this class was generated from the following files: