numerical-collection-cpp 0.10.0
A collection of algorithms in numerical analysis implemented in C++
Loading...
Searching...
No Matches
num_prob_collect::opt::shekel_function Class Reference

Class of Shekel function in 4 dimensions. More...

#include <num_prob_collect/opt/shekel_function.h>

Collaboration diagram for num_prob_collect::opt::shekel_function:

Public Types

using value_type = double
 Type of function values.
using variable_type = Eigen::Vector4d
 Type of variables.

Public Member Functions

 shekel_function (int m)
 Constructor.
void evaluate_on (const Eigen::Vector4d &x)
 Evaluate function value on variable.
auto value () const -> const double &
 Get function value.

Private Attributes

Eigen::Matrix< double, 10, 1 > beta_ {}
 Offset in the function.
Eigen::Matrix< double, 4, 10 > c_ {}
 Centers in the function.
int m_
 Number of terms.
double value_ {}
 Function value.

Detailed Description

Class of Shekel function in 4 dimensions.

This function has m local minimum and the global one at (4, 4, 4, 4). Search region is [0, 10] for each dimension.

Reference: https://www.sfu.ca/~ssurjano/shekel.html

Examples
opt/adaptive_diagonal_curves.cpp, and opt/dividing_rectangles.cpp.

Definition at line 34 of file shekel_function.h.

Member Typedef Documentation

◆ value_type

Type of function values.

Definition at line 40 of file shekel_function.h.

◆ variable_type

Type of variables.

Definition at line 37 of file shekel_function.h.

Constructor & Destructor Documentation

◆ shekel_function()

num_prob_collect::opt::shekel_function::shekel_function ( int m)
inlineexplicit

Constructor.

Parameters
[in]mNumber of terms.

Definition at line 47 of file shekel_function.h.

Member Function Documentation

◆ evaluate_on()

void num_prob_collect::opt::shekel_function::evaluate_on ( const Eigen::Vector4d & x)
inline

Evaluate function value on variable.

Parameters
[in]xVariable.

Definition at line 65 of file shekel_function.h.

◆ value()

auto num_prob_collect::opt::shekel_function::value ( ) const -> const double&
inlinenodiscard

Get function value.

Returns
Function value.

Definition at line 77 of file shekel_function.h.

Member Data Documentation

◆ beta_

Eigen::Matrix<double, 10, 1> num_prob_collect::opt::shekel_function::beta_ {}
private

Offset in the function.

Definition at line 84 of file shekel_function.h.

◆ c_

Eigen::Matrix<double, 4, 10> num_prob_collect::opt::shekel_function::c_ {}
private

Centers in the function.

Definition at line 87 of file shekel_function.h.

◆ m_

int num_prob_collect::opt::shekel_function::m_
private

Number of terms.

Definition at line 81 of file shekel_function.h.

◆ value_

double num_prob_collect::opt::shekel_function::value_ {}
private

Function value.

Definition at line 90 of file shekel_function.h.


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