SOT
Public Member Functions | Protected Attributes | List of all members
sot::Schoen Class Reference

Schoen function More...

#include <test_problems.h>

Inheritance diagram for sot::Schoen:
sot::TestProblem sot::Problem

Public Member Functions

 Schoen (int dim)
 Constructor with k = max(2^dim, 500) More...
 
 Schoen (int dim, int k)
 Constructor for given k. More...
 
vec lBounds () const
 Method for getting the lower variable bounds. More...
 
vec uBounds () const
 Method for getting the upper variable bounds. More...
 
int dim () const
 Method for getting the number of dimensions. More...
 
double min () const
 Method for getting global minimum value. More...
 
vec optimum () const
 Method for getting the global minimizer. More...
 
std::string name () const
 Method for getting the name of the optimization problem. More...
 
double eval (const vec &x) const
 Method for evaluating the objective function. More...
 
- Public Member Functions inherited from sot::TestProblem
vec evals (const mat &points) const
 Method for evaluating the objective function at multiple points. More...
 

Protected Attributes

int mDim
 
vec mxLow
 
vec mxUp
 
vec mOptimum
 
double mMinimum = 0.0
 
std::string mName
 
int mk
 
vec mf
 
vec mAlpha
 
mat mZ
 
double mDistTol = 1e-10
 

Detailed Description

Schoen function

Function: \(f(x) = \displaystyle\frac{\displaystyle\sum_{i=1}^k f_i \displaystyle\prod_{j \neq i} \|x - z_j\|^{\alpha}}{ \displaystyle\sum_{i=1}^k \displaystyle\prod_{j \neq i} \|x - z_j\|^{\alpha}} \)
Domain: \( 0 \leq x_i \leq 1 \)
Minimum value: \(0\)
Minimizer: Randomly generated

Here \(z_j \in [0,1]^d\) for \(j=1,\dots,k\) are the locations of the stationary points and \(f_j \in \mathbf{R}\) are the values at these stationary points. The locations of \(z_j\) are generated uniformly and \(f_j\) are drawn from at \(U[0,100]\) distribution. We force \(f_1 = 0\) so the global minimum value is always 0 and is located at \(z_1\). The exponents \(\alpha\) are drawn from a \(U[2,3]\) distribution.

Author
David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu

Constructor & Destructor Documentation

sot::Schoen::Schoen ( int  dim)
inline

Constructor with k = max(2^dim, 500)

Parameters
dimNumber of dimensions
sot::Schoen::Schoen ( int  dim,
int  k 
)
inline

Constructor for given k.

Parameters
dimNumber of dimensions
kNumber of stationary points

Member Function Documentation

int sot::Schoen::dim ( ) const
inlinevirtual

Method for getting the number of dimensions.

Returns
The number of dimensions

Implements sot::Problem.

double sot::Schoen::eval ( const vec point) const
inlinevirtual

Method for evaluating the objective function.

Parameters
pointIs the next point for which to evaluate the objective function
Returns
The value of the objective function at the input

Implements sot::Problem.

vec sot::Schoen::lBounds ( ) const
inlinevirtual

Method for getting the lower variable bounds.

Returns
Upper variable bounds

Implements sot::Problem.

double sot::Schoen::min ( ) const
inlinevirtual

Method for getting global minimum value.

Returns
Value at the global minumum

Implements sot::Problem.

std::string sot::Schoen::name ( ) const
inlinevirtual

Method for getting the name of the optimization problem.

Returns
The optimization problem name

Implements sot::Problem.

vec sot::Schoen::optimum ( ) const
inlinevirtual

Method for getting the global minimizer.

Returns
The global minimizer

Implements sot::Problem.

vec sot::Schoen::uBounds ( ) const
inlinevirtual

Method for getting the upper variable bounds.

Returns
Upper variable bounds

Implements sot::Problem.

Member Data Documentation

vec sot::Schoen::mAlpha
protected

Exponents

int sot::Schoen::mDim
protected

Number of dimensions

double sot::Schoen::mDistTol = 1e-10
protected

Distance tolerance for distinguishing points

vec sot::Schoen::mf
protected

Values at the stationary points

int sot::Schoen::mk
protected

Number of stationary points

double sot::Schoen::mMinimum = 0.0
protected

Global minimum value

std::string sot::Schoen::mName
protected

Optimization problem name

vec sot::Schoen::mOptimum
protected

Global minimizer

vec sot::Schoen::mxLow
protected

Lower variable bounds

vec sot::Schoen::mxUp
protected

Upper variable bounds

mat sot::Schoen::mZ
protected

Locations of the stationary points


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