SG++-Doxygen-Documentation
|
Trembling parabola objective function. More...
#include <TremblingParabola.hpp>
Public Member Functions | |
void | clone (std::unique_ptr< ScalarFunction > &clone) const override |
double | evalUndisplaced (const base::DataVector &x) override |
TremblingParabolaObjective (size_t d, size_t p) | |
Constructor. More... | |
~TremblingParabolaObjective () override | |
Destructor. More... | |
Public Member Functions inherited from sgpp::optimization::test_problems::TestScalarFunction | |
double | eval (const base::DataVector &x) override |
Evaluate displaced function. More... | |
const base::DataVector & | getDisplacement () const |
void | setDisplacement (const base::DataVector &displacement) |
TestScalarFunction (size_t d) | |
Constructor. More... | |
~TestScalarFunction () override | |
Destructor. More... | |
Public Member Functions inherited from sgpp::optimization::ScalarFunction | |
size_t | getNumberOfParameters () const |
ScalarFunction (size_t d) | |
Constructor. More... | |
virtual | ~ScalarFunction () |
Destructor. More... | |
Protected Member Functions | |
double | splineTrembling (double x) const |
Protected Attributes | |
const base::SBsplineBase | bSplineBasis |
const double | g0 |
const size_t | p |
Protected Attributes inherited from sgpp::optimization::test_problems::TestScalarFunction | |
base::DataVector | displacement |
displacement vector More... | |
base::DataVector | xTmp |
temporary vector for displacing More... | |
Protected Attributes inherited from sgpp::optimization::ScalarFunction | |
size_t | d |
dimension of the domain More... | |
Trembling parabola objective function.
Definition:
\[\bar{f}(\bar{\vec{x}}) := \sum_{t=1}^d \left(\bar{x}_t^2/10 + \frac{|\bar{x}_t|}{2} \left(\frac{g^p(\bar{x}_t)}{g^p(0)} + 1\right)\right),\qquad g^p(x) := \sum_{k \sim x} (-1)^k b^p(x - k + (p+1)/2)\]
with \(b^p\) being the B-spline with knots \((0, 1, \dotsc, p + 1)\) (degree \(p\)) and the sum running over all \(k\) for which the summand doesn't vanish
sgpp::optimization::test_problems::TremblingParabolaObjective::TremblingParabolaObjective | ( | size_t | d, |
size_t | p | ||
) |
Constructor.
d | dimension of the domain |
p | smoothness of the function ( \(p\) times continuously differentiable) |
Referenced by clone().
|
override |
Destructor.
|
overridevirtual |
[out] | clone | pointer to cloned object |
Implements sgpp::optimization::ScalarFunction.
References TremblingParabolaObjective().
|
overridevirtual |
x | point \(\vec{x} \in [0, 1]^d\) |
Implements sgpp::optimization::test_problems::TestScalarFunction.
References sgpp::optimization::ScalarFunction::d, g0, and splineTrembling().
|
inlineprotected |
References bSplineBasis, p, and sgpp::base::BsplineBasis< LT, IT >::uniformBSpline().
Referenced by evalUndisplaced().
|
protected |
Referenced by splineTrembling().
|
protected |
Referenced by evalUndisplaced().
|
protected |
Referenced by splineTrembling().