pass::styblinski_tang_function Class Reference

#include <styblinski_tang_function.hpp>

Inheritance diagram for pass::styblinski_tang_function:
Collaboration diagram for pass::styblinski_tang_function:

Public Member Functions

 styblinski_tang_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

The styblinski function is a common toy problem with a very small computational cost, used for testing and benchmarking algorithms. It is a multimodal function.

Its optimal parameter = (-2.903534, ..., -2.903534) and optimal function value = -39.16599 * Dimension.

\[ f(x_1 \cdots x_n) = \frac{1}{2} \sum_{i=1}^n (x_i^4 - 16x_i^2 + 5x_i) \]

\[ -5.00 \leq x_i \leq 5.00 \]

\[ \text{minimum at }f(-2.903534, \cdots, -2.903534) = -39.16599 \cdot n \]

Constructor & Destructor Documentation

◆ styblinski_tang_function()

pass::styblinski_tang_function::styblinski_tang_function ( const arma::uword  dimension)
explicit

Initialises a styblinski function with dimension dimensions, lower bounds of -5.0 and upper bounds of 5.0.

Member Function Documentation

◆ evaluate()

double pass::styblinski_tang_function::evaluate ( const arma::vec &  agent) const
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: