SG++-Doxygen-Documentation
sgpp::optimization::test_problems::Eggholder Class Reference

Eggholder unconstrained test problem. More...

#include <Eggholder.hpp>

Inheritance diagram for sgpp::optimization::test_problems::Eggholder:
sgpp::optimization::test_problems::UnconstrainedTestProblem

Public Member Functions

 Eggholder ()
 Constructor. More...
 
TestScalarFunctiongetObjectiveFunction () override
 
double getOptimalPointUndisplaced (base::DataVector &x) override
 
 ~Eggholder () override
 Destructor. More...
 
- Public Member Functions inherited from sgpp::optimization::test_problems::UnconstrainedTestProblem
void generateDisplacement ()
 Generate normally distributed pseudorandom displacement with default standard deviation. More...
 
void generateDisplacement (double stdDev)
 Generate normally distributed pseudorandom displacement. More...
 
const base::DataVectorgetDisplacement () const
 
double getOptimalPoint (base::DataVector &x)
 Returns the minimal point of the displaced function. More...
 
void setDisplacement (const base::DataVector &displacement)
 Sets the displacement vector. More...
 
 UnconstrainedTestProblem (size_t d)
 Constructor. More...
 
virtual ~UnconstrainedTestProblem ()
 Destructor. More...
 

Protected Member Functions

bool isDisplacementFeasible () override
 Sets the first displacement component to zero and checks the resulting displacement. More...
 

Protected Attributes

EggholderObjective f
 objective function More...
 
- Protected Attributes inherited from sgpp::optimization::test_problems::UnconstrainedTestProblem
size_t d
 number of parameters More...
 
base::DataVector displacement
 displacement vector More...
 

Additional Inherited Members

- Static Public Attributes inherited from sgpp::optimization::test_problems::UnconstrainedTestProblem
static constexpr double DEFAULT_STANDARD_DEVIATION = 0.01
 default standard deviation for the displacement vector More...
 

Detailed Description

Eggholder unconstrained test problem.

  • Number of parameters: 2
  • Domain: \(\bar{\vec{x}} \in [-512, 512]^2\)
  • Optimal point: \(\bar{\vec{x}}_{\text{opt}} = (512, 404.2318)\)
  • Optimal function value: \(\bar{f}(\bar{\vec{x}}_{\text{opt}}) = -959.6407\)

The displacement is restricted because the minimal point lies on the boundary of \([0, 1]^2\).

Constructor & Destructor Documentation

◆ Eggholder()

sgpp::optimization::test_problems::Eggholder::Eggholder ( )

Constructor.

◆ ~Eggholder()

sgpp::optimization::test_problems::Eggholder::~Eggholder ( )
override

Destructor.

Member Function Documentation

◆ getObjectiveFunction()

TestScalarFunction & sgpp::optimization::test_problems::Eggholder::getObjectiveFunction ( )
overridevirtual
Returns
objective function of the test problem

Implements sgpp::optimization::test_problems::UnconstrainedTestProblem.

References f.

◆ getOptimalPointUndisplaced()

double sgpp::optimization::test_problems::Eggholder::getOptimalPointUndisplaced ( base::DataVector x)
overridevirtual
Parameters
[out]xminimal point \(\vec{x}_\opt \in [0, 1]^d\)
Returns
minimal function value \(f(\vec{x}_\opt)\)

Implements sgpp::optimization::test_problems::UnconstrainedTestProblem.

◆ isDisplacementFeasible()

bool sgpp::optimization::test_problems::Eggholder::isDisplacementFeasible ( )
overrideprotectedvirtual

Sets the first displacement component to zero and checks the resulting displacement.

Returns
whether the current displacement is feasible

Reimplemented from sgpp::optimization::test_problems::UnconstrainedTestProblem.

References sgpp::optimization::test_problems::UnconstrainedTestProblem::displacement, and sgpp::optimization::test_problems::UnconstrainedTestProblem::isDisplacementFeasible().

Member Data Documentation

◆ f

EggholderObjective sgpp::optimization::test_problems::Eggholder::f
protected

objective function

Referenced by getObjectiveFunction().


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