Optimist  0.0.0
A C++ library for optimization
Loading...
Searching...
No Matches
Optimist::TestSet::Schaffer2< Real > Class Template Reference

Class container for the Schaffer2 function. More...

#include <Schaffer2.hh>

Inherits Optimist::Function< Real, 2, 1, Schaffer2< Real > >.

Public Member Functions

 Schaffer2 ()
std::string name_impl () const
bool evaluate_impl (Vector const &x, Real &out) const
bool first_derivative_impl (Vector const &x, RowVector &out) const
bool second_derivative_impl (Vector const &x, Matrix &out) const
Public Member Functions inherited from Optimist::Function< Real, 2, 1, Schaffer2< Real > >
 Function ()
std::string name () const
bool evaluate (const InputVector &x, OutputVector &out) const
bool jacobian (const InputVector &x, Matrix &out) const
bool hessian (const InputVector &x, Tensor &out) const
Public Member Functions inherited from Optimist::FunctionBase< Real, N, M, Schaffer2< Real >, false >
 FunctionBase ()
std::string name () const
bool evaluate (const InputType &x, OutputType &out) const
bool first_derivative (const InputType &x, FirstDerivativeType &out) const
bool second_derivative (const InputType &x, SecondDerivativeType &out) const
constexpr Integer input_dimension () const
constexpr Integer output_dimension () const
const std::vector< InputType > & solutions () const
const std::vector< InputType > & guesses () const
const InputTypesolution (Integer const i) const
const InputTypeguess (Integer const i) const
bool is_solution (const InputType &x, Real const tol=EPSILON_LOW) const

Additional Inherited Members

Public Types inherited from Optimist::Function< Real, 2, 1, Schaffer2< Real > >
using InputVector
using OutputVector
using Matrix
using Tensor
Public Types inherited from Optimist::FunctionBase< Real, N, M, Schaffer2< Real >, false >
using InputType
using OutputType
using FirstDerivativeType
using SecondDerivativeType
Protected Attributes inherited from Optimist::FunctionBase< Real, N, M, Schaffer2< Real >, false >
std::vector< InputTypem_solutions
std::vector< InputTypem_guesses

Detailed Description

template<typename Real>
class Optimist::TestSet::Schaffer2< Real >

Class container for the Schaffer2 function, which is defined as:

\[f(\mathbf{x}) = 0.5 + \displaystyle\frac{\sin^{2}(x_1^2 - x_2^2) - 0.5}{(1 + 0.001(x_1^2 + x_2^2))^2} \text{.} \]

The function has global minima at \(\mathbf{x} = (0, 0)\), with \(f(\mathbf{x}) = 0\). The initial guesses are generated on the square \(x_i \in \left[-100, 100\right]\).

Template Parameters
RealScalar number type.

Constructor & Destructor Documentation

◆ Schaffer2()

template<typename Real>
Optimist::TestSet::Schaffer2< Real >::Schaffer2 ( )
inline

Class constructor for the Schaffer2 function.

Member Function Documentation

◆ evaluate_impl()

template<typename Real>
bool Optimist::TestSet::Schaffer2< Real >::evaluate_impl ( Vector const & x,
Real & out ) const
inline

Compute the function value at the input point.

Parameters
[in]xInput point.
[out]outThe function value.
Returns
The boolean flag for successful evaluation.

◆ first_derivative_impl()

template<typename Real>
bool Optimist::TestSet::Schaffer2< Real >::first_derivative_impl ( Vector const & x,
RowVector & out ) const
inline

Compute the first derivative value at the input point.

Parameters
[in]xInput point.
[out]outThe first derivative value.
Returns
The boolean flag for successful evaluation.

◆ name_impl()

template<typename Real>
std::string Optimist::TestSet::Schaffer2< Real >::name_impl ( ) const
inline

Get the function name.

Returns
The function name.

◆ second_derivative_impl()

template<typename Real>
bool Optimist::TestSet::Schaffer2< Real >::second_derivative_impl ( Vector const & x,
Matrix & out ) const
inline

Compute the second derivative value at the input point.

Parameters
[in]xInput point.
[out]outThe second derivative value.
Returns
The boolean flag for successful evaluation.

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