SG++-Doxygen-Documentation
Loading...
Searching...
No Matches
sgpp::optimization::IterativeGridGeneratorFuzzyRitterNovak Class Reference

Iterative grid generation based on Ritter/Novak's refinement criterion like IterativeGridGeneratorRitterNovak, but adapted for the use with fuzzy intervals. More...

#include <IterativeGridGeneratorFuzzyRitterNovak.hpp>

Inheritance diagram for sgpp::optimization::IterativeGridGeneratorFuzzyRitterNovak:
sgpp::optimization::IterativeGridGeneratorRitterNovak sgpp::optimization::IterativeGridGenerator

Public Member Functions

bool generate () override
 Destructor.
 
size_t getNumberOfAlphaSegments () const
 
const std::vector< FuzzyInterval * > & getXFuzzy () const
 
 IterativeGridGeneratorFuzzyRitterNovak (base::ScalarFunction &f, base::Grid &grid, size_t N, const std::vector< FuzzyInterval * > &xFuzzy, size_t numberOfAlphaSegments=DEFAULT_NUMBER_OF_ALPHA_SEGMENTS, double adaptivity=DEFAULT_ADAPTIVITY, base::level_t initialLevel=DEFAULT_INITIAL_LEVEL, base::level_t maxLevel=DEFAULT_MAX_LEVEL, PowMethod powMethod=PowMethod::STD_POW)
 Constructor.
 
void setNumberOfAlphaSegments (size_t numberOfAlphaSegments)
 
void setXFuzzy (const std::vector< FuzzyInterval * > &xFuzzy)
 
 ~IterativeGridGeneratorFuzzyRitterNovak () override
 
- Public Member Functions inherited from sgpp::optimization::IterativeGridGeneratorRitterNovak
bool generate () override
 Generate the grid.
 
double getAdaptivity () const
 
base::level_t getInitialLevel () const
 
base::level_t getMaxLevel () const
 
PowMethod getPowMethod () const
 
 IterativeGridGeneratorRitterNovak (base::ScalarFunction &f, base::Grid &grid, size_t N, double adaptivity=DEFAULT_ADAPTIVITY, base::level_t initialLevel=DEFAULT_INITIAL_LEVEL, base::level_t maxLevel=DEFAULT_MAX_LEVEL, PowMethod powMethod=PowMethod::STD_POW)
 Constructor.
 
void setAdaptivity (double adaptivity)
 
void setInitialLevel (base::level_t initialLevel)
 
void setMaxLevel (base::level_t maxLevel)
 
void setPowMethod (PowMethod powMethod)
 
 ~IterativeGridGeneratorRitterNovak () override
 Destructor.
 
- Public Member Functions inherited from sgpp::optimization::IterativeGridGenerator
const base::DataVectorgetFunctionValues () const
 
base::GridgetGrid () const
 
 IterativeGridGenerator (base::ScalarFunction &f, base::Grid &grid, size_t N)
 Constructor.
 
void printIterativeGridGenerator () const
 Prints grid points and function values.
 
virtual ~IterativeGridGenerator ()
 Destructor.
 

Static Public Attributes

static const size_t DEFAULT_NUMBER_OF_ALPHA_SEGMENTS = 10
 
- Static Public Attributes inherited from sgpp::optimization::IterativeGridGeneratorRitterNovak
static constexpr double DEFAULT_ADAPTIVITY = 0.85
 default adaptivity
 
static const base::level_t DEFAULT_INITIAL_LEVEL = 3
 default level of initial regular sparse grid
 
static const base::level_t DEFAULT_MAX_LEVEL = 20
 default maximal level of grid points
 

Protected Attributes

size_t numberOfAlphaSegments
 number of alpha segments (i.e., number of inner Ritter-Novak generations)
 
std::vector< FuzzyInterval * > xFuzzy
 fuzzy input intervals
 
- Protected Attributes inherited from sgpp::optimization::IterativeGridGeneratorRitterNovak
double gamma
 adaptivity
 
base::level_t initialLevel
 level of initial regular sparse grid
 
base::level_t maxLevel
 maximal level of grid points
 
PowMethod powMethod
 exponentiation method
 
- Protected Attributes inherited from sgpp::optimization::IterativeGridGenerator
base::ScalarFunctionf
 objective function
 
base::DataVector functionValues
 vector of function values at the grid points
 
base::Gridgrid
 underlying grid
 
size_t N
 maximal number of grid points
 

Additional Inherited Members

- Public Types inherited from sgpp::optimization::IterativeGridGeneratorRitterNovak
enum class  PowMethod { STD_POW , FAST_POW }
 exponentiation methods More...
 
- Protected Member Functions inherited from sgpp::optimization::IterativeGridGenerator
void evalFunction (size_t oldGridSize=0)
 Evaluates the objective function at grid points with indices [oldGridSize, oldGridSize + 1, ..., grid.getSize() - 1] and saves values in functionValues.
 
void undoRefinement (size_t oldGridSize)
 Removes grid points with indices [oldGridSize, oldGridSize + 1, ..., grid.getSize() - 1] from the grid.
 

Detailed Description

Iterative grid generation based on Ritter/Novak's refinement criterion like IterativeGridGeneratorRitterNovak, but adapted for the use with fuzzy intervals.

Caution: This class uses HashRefinementMultiple, so it generates grids that don't meet the "hierarchical ancestors" requirement!

Literature: Julian Valentin. B-Splines for Sparse Grids: Algorithms and Application to Higher-Dimensional Optimization. PhD thesis, University of Stuttgart, IPVS, 2019.

See also
IterativeGridGeneratorRitterNovak
HashRefinementMultiple

Constructor & Destructor Documentation

◆ IterativeGridGeneratorFuzzyRitterNovak()

sgpp::optimization::IterativeGridGeneratorFuzzyRitterNovak::IterativeGridGeneratorFuzzyRitterNovak ( base::ScalarFunction f,
base::Grid grid,
size_t  N,
const std::vector< FuzzyInterval * > &  xFuzzy,
size_t  numberOfAlphaSegments = DEFAULT_NUMBER_OF_ALPHA_SEGMENTS,
double  adaptivity = DEFAULT_ADAPTIVITY,
base::level_t  initialLevel = DEFAULT_INITIAL_LEVEL,
base::level_t  maxLevel = DEFAULT_MAX_LEVEL,
PowMethod  powMethod = PowMethod::STD_POW 
)

Constructor.

Do not destruct the grid before this object!

Parameters
fobjective function
gridgrid (should be empty)
Nmaximal number of grid points
xFuzzyfuzzy input intervals
numberOfAlphaSegmentsnumber of alpha segments (i.e., number of inner Ritter-Novak generations)
adaptivityadaptivity between 0 and 1
initialLevellevel of initial regular sparse grid
maxLevelmaximal level of grid points
powMethodexponentiation method (fastPow is faster than std::pow, but only approximative)

◆ ~IterativeGridGeneratorFuzzyRitterNovak()

sgpp::optimization::IterativeGridGeneratorFuzzyRitterNovak::~IterativeGridGeneratorFuzzyRitterNovak ( )
override

Member Function Documentation

◆ generate()

◆ getNumberOfAlphaSegments()

size_t sgpp::optimization::IterativeGridGeneratorFuzzyRitterNovak::getNumberOfAlphaSegments ( ) const
Returns
number of alpha segments (i.e., number of inner Ritter-Novak generations)

References numberOfAlphaSegments.

◆ getXFuzzy()

const std::vector< FuzzyInterval * > & sgpp::optimization::IterativeGridGeneratorFuzzyRitterNovak::getXFuzzy ( ) const
Returns
fuzzy input intervals

References xFuzzy.

◆ setNumberOfAlphaSegments()

void sgpp::optimization::IterativeGridGeneratorFuzzyRitterNovak::setNumberOfAlphaSegments ( size_t  numberOfAlphaSegments)
Parameters
numberOfAlphaSegmentsnumber of alpha segments (i.e., number of inner Ritter-Novak generations)

References numberOfAlphaSegments.

◆ setXFuzzy()

void sgpp::optimization::IterativeGridGeneratorFuzzyRitterNovak::setXFuzzy ( const std::vector< FuzzyInterval * > &  xFuzzy)
Parameters
xFuzzyfuzzy input intervals

References xFuzzy.

Member Data Documentation

◆ DEFAULT_NUMBER_OF_ALPHA_SEGMENTS

const size_t sgpp::optimization::IterativeGridGeneratorFuzzyRitterNovak::DEFAULT_NUMBER_OF_ALPHA_SEGMENTS = 10
static

◆ numberOfAlphaSegments

size_t sgpp::optimization::IterativeGridGeneratorFuzzyRitterNovak::numberOfAlphaSegments
protected

number of alpha segments (i.e., number of inner Ritter-Novak generations)

Referenced by generate(), getNumberOfAlphaSegments(), and setNumberOfAlphaSegments().

◆ xFuzzy

std::vector<FuzzyInterval*> sgpp::optimization::IterativeGridGeneratorFuzzyRitterNovak::xFuzzy
protected

fuzzy input intervals

Referenced by generate(), getXFuzzy(), and setXFuzzy().


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