pass::schwefel_function Class Reference

#include <schwefel_function.hpp>

Inheritance diagram for pass::schwefel_function:
Collaboration diagram for pass::schwefel_function:

Public Member Functions

 schwefel_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 Schwefel function is complex, with many local minima.

Its optimal parameter = (420.9687, ..., 420.9687) and optimal function value = 0. In this implementation for the optimal parameter the function value = 5.42627e-10.

\[ f(x_1 \cdots x_n) = \sum_{i=1}^n (-x_i sin(\sqrt{|x_i|})) + \alpha \cdot n \]

\[ \alpha = 418.982887 \]

\[ 500.00 \leq x_i \leq 500.00 \]

\[ \text{minimum at }f(420.968746, 420.968746, \cdots, 420.968746) = 0 \]

Constructor & Destructor Documentation

◆ schwefel_function()

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

Initialises a schwefel function with dimension dimensions, lower bounds of -500.0 and upper bounds of 500.0.

Member Function Documentation

◆ evaluate()

double pass::schwefel_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: