SG++-Doxygen-Documentation
Loading...
Searching...
No Matches
sgpp::optimization::test_problems::TestVectorFunction Class Referenceabstract

Base class for analytical constraint function examples ("test functions"). More...

#include <TestVectorFunction.hpp>

Inheritance diagram for sgpp::optimization::test_problems::TestVectorFunction:
sgpp::base::VectorFunction sgpp::optimization::test_problems::FloudasEqualityConstraint sgpp::optimization::test_problems::FloudasInequalityConstraint sgpp::optimization::test_problems::G03EqualityConstraint sgpp::optimization::test_problems::G03InequalityConstraint sgpp::optimization::test_problems::G04EqualityConstraint sgpp::optimization::test_problems::G04InequalityConstraint sgpp::optimization::test_problems::G04SquaredEqualityConstraint sgpp::optimization::test_problems::G04SquaredInequalityConstraint sgpp::optimization::test_problems::G05EqualityConstraint sgpp::optimization::test_problems::G05InequalityConstraint sgpp::optimization::test_problems::G06EqualityConstraint sgpp::optimization::test_problems::G06InequalityConstraint sgpp::optimization::test_problems::G08EqualityConstraint sgpp::optimization::test_problems::G08InequalityConstraint sgpp::optimization::test_problems::G09EqualityConstraint sgpp::optimization::test_problems::G09InequalityConstraint sgpp::optimization::test_problems::G10EqualityConstraint sgpp::optimization::test_problems::G10InequalityConstraint sgpp::optimization::test_problems::G11EqualityConstraint sgpp::optimization::test_problems::G11InequalityConstraint sgpp::optimization::test_problems::G12EqualityConstraint sgpp::optimization::test_problems::G12InequalityConstraint sgpp::optimization::test_problems::G13EqualityConstraint sgpp::optimization::test_problems::G13InequalityConstraint sgpp::optimization::test_problems::SimionescuEqualityConstraint sgpp::optimization::test_problems::SimionescuInequalityConstraint sgpp::optimization::test_problems::SolandEqualityConstraint sgpp::optimization::test_problems::SolandInequalityConstraint

Public Member Functions

void eval (const base::DataVector &x, base::DataVector &value) override
 Evaluate displaced function.
 
virtual void evalUndisplaced (const base::DataVector &x, base::DataVector &value)=0
 Pure virtual method for evaluating the undisplaced function.
 
const base::DataVectorgetDisplacement () const
 
void setDisplacement (const base::DataVector &displacement)
 
 TestVectorFunction (size_t d, size_t m)
 Constructor.
 
 ~TestVectorFunction () override
 Destructor.
 
- Public Member Functions inherited from sgpp::base::VectorFunction
virtual void clone (std::unique_ptr< VectorFunction > &clone) const =0
 Pure virtual method for cloning the function.
 
virtual void eval (const DataMatrix &x, DataMatrix &value)
 Convenience method for calculating \(g(\vec{x})\) for multiple \(\vec{x}\).
 
size_t getNumberOfComponents () const
 
size_t getNumberOfParameters () const
 
 VectorFunction (size_t d, size_t m)
 Constructor.
 
virtual ~VectorFunction ()
 Destructor.
 

Protected Attributes

base::DataVector displacement
 displacement vector
 
base::DataVector xTmp
 temporary vector for displacing
 
- Protected Attributes inherited from sgpp::base::VectorFunction
size_t d
 dimension of the domain
 
size_t m
 number of components
 

Detailed Description

Base class for analytical constraint function examples ("test functions").

This class differs from VectorFunction in the way that evaluation point \(\vec{x}\) are pseudorandomly displaced when calling the eval() function. Evaluting the undisplaced function must be implemented in evalUndisplaced. The displaced function is \(\vec{x} \mapsto \vec{f}(\vec{x} + \vec{d})\) for a vector \(\vec{d}\) ("displacement").

Constructor & Destructor Documentation

◆ TestVectorFunction()

sgpp::optimization::test_problems::TestVectorFunction::TestVectorFunction ( size_t  d,
size_t  m 
)

Constructor.

The displacement is set to all zeros, so to displace the function call generateDisplacement() afterwards.

Parameters
ddimension of the domain
mnumber of components

◆ ~TestVectorFunction()

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

Destructor.

Member Function Documentation

◆ eval()

void sgpp::optimization::test_problems::TestVectorFunction::eval ( const base::DataVector x,
base::DataVector value 
)
overridevirtual

Evaluate displaced function.

Parameters
xpoint \(\vec{x} \in \mathbb{R}^d\)
[out]value\(\vec{f}(\vec{x} + \vec{d})\) with displacement \(\vec{d}\)

Implements sgpp::base::VectorFunction.

References sgpp::base::VectorFunction::d, displacement, evalUndisplaced(), and xTmp.

Referenced by python.uq.analysis.asgc.ASGCAnalysis.ASGCAnalysis::estimateDensity().

◆ evalUndisplaced()

virtual void sgpp::optimization::test_problems::TestVectorFunction::evalUndisplaced ( const base::DataVector x,
base::DataVector value 
)
pure virtual

Pure virtual method for evaluating the undisplaced function.

Parameters
xpoint \(\vec{x} \in \mathbb{R}^d\)
[out]value\(\vec{f}(\vec{x})\)

Implemented in sgpp::optimization::test_problems::FloudasInequalityConstraint, sgpp::optimization::test_problems::FloudasEqualityConstraint, sgpp::optimization::test_problems::G03InequalityConstraint, sgpp::optimization::test_problems::G03EqualityConstraint, sgpp::optimization::test_problems::G04InequalityConstraint, sgpp::optimization::test_problems::G04EqualityConstraint, sgpp::optimization::test_problems::G04SquaredInequalityConstraint, sgpp::optimization::test_problems::G04SquaredEqualityConstraint, sgpp::optimization::test_problems::G05InequalityConstraint, sgpp::optimization::test_problems::G05EqualityConstraint, sgpp::optimization::test_problems::G06InequalityConstraint, sgpp::optimization::test_problems::G06EqualityConstraint, sgpp::optimization::test_problems::G08InequalityConstraint, sgpp::optimization::test_problems::G08EqualityConstraint, sgpp::optimization::test_problems::G09InequalityConstraint, sgpp::optimization::test_problems::G09EqualityConstraint, sgpp::optimization::test_problems::G10InequalityConstraint, sgpp::optimization::test_problems::G10EqualityConstraint, sgpp::optimization::test_problems::G11InequalityConstraint, sgpp::optimization::test_problems::G11EqualityConstraint, sgpp::optimization::test_problems::G12InequalityConstraint, sgpp::optimization::test_problems::G12EqualityConstraint, sgpp::optimization::test_problems::G13InequalityConstraint, sgpp::optimization::test_problems::G13EqualityConstraint, sgpp::optimization::test_problems::SimionescuInequalityConstraint, sgpp::optimization::test_problems::SimionescuEqualityConstraint, sgpp::optimization::test_problems::SolandInequalityConstraint, and sgpp::optimization::test_problems::SolandEqualityConstraint.

Referenced by eval().

◆ getDisplacement()

const base::DataVector & sgpp::optimization::test_problems::TestVectorFunction::getDisplacement ( ) const
Returns
currently used displacement

References displacement.

◆ setDisplacement()

void sgpp::optimization::test_problems::TestVectorFunction::setDisplacement ( const base::DataVector displacement)

Member Data Documentation

◆ displacement

base::DataVector sgpp::optimization::test_problems::TestVectorFunction::displacement
protected

displacement vector

Referenced by eval(), getDisplacement(), and setDisplacement().

◆ xTmp

base::DataVector sgpp::optimization::test_problems::TestVectorFunction::xTmp
protected

temporary vector for displacing

Referenced by eval().


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