stat#

Classes#

Surfaces#

class Surfaces : public ioh::eaf::NadirStat<std::map<size_t, double>>#

Computes all the surfaces of the given attainment levelsets.

This computes the surface encompassed by each levelset, up to the extremum point, and returns a map between the level index and of the corresponding surfaces.

Warning

This will always compute a metric that should be maximized in order to improve the performance. (i.e. under the curve for maximization problems, above the curve for minimization problems)

Public Functions

inline Surfaces(const common::OptimizationType optim_type)#

Constructor without a nadir reference point.

inline Surfaces(const common::OptimizationType optim_type, eaf::Point nadir)#

Constructor with a nadir reference point.

inline double surface(eaf::Front front) const#

Computes the surface of the given non-dominated set of points.

Warning

You need to have set a nadir point before calling this low-level function.

Protected Functions

inline virtual Type call(const eaf::Levels::Type &levels) override#

The NadirStat interface.

Volume#

class Volume : public ioh::eaf::NadirStat<double>#

Computes the volume of the whole empirical attainement function.

This computes the surface encompassed by each levelset of the given EAF (up to a reference point), and then sum the volume between those surfaces.

Note

If only a subset of the levelsets are given, the true volume will be underestimated.

Warning

This will always compute a metric that should be maximized in order to improve the performance. (i.e. under the curve for maximization problems, above the curve for minimization problems)

Public Functions

inline Volume(const common::OptimizationType optim_type)#

Constructor without a nadir reference point.

inline Volume(const common::OptimizationType optim_type, eaf::Point nadir)#

Constructor with a nadir reference point.

Protected Functions

inline virtual double call(const eaf::Levels::Type &levels) override#

Main interface.

This is called by the upper Stat::operator() interface, after having updated the nadir point.

Functions#

surfaces#

inline Surfaces::Type ioh::eaf::stat::surfaces(const common::OptimizationType optim_type, const eaf::Levels::Type &levels)#

Computes the “hypervolumes” of the given attainment levelsets.

This computes the surfaces encompassed by each levelset, up to the extremum point, and returns a map between the level index and of the corresponding surfaces.

Warning

The nadir reference point is computed automatically as the extremum of all the levels. Thus, if you call this function several times on different levels, the surfaces will (may) be computed with different nadir points. To indicate your own nadir point, use the stat::Surfaces class directly.

Warning

This will always compute a metric that should be maximized in order to improve the performance. (i.e. under the curve for maximization problems, above the curve for minimization problems)

volume#

Warning

doxygenfunction: Unable to resolve function “ioh::eaf::stat::volume” with arguments None in doxygen xml output for project “iohcpp” from directory: ../../build/xml/. Potential matches:

- double volume(const EAF &logger)
- double volume(const EAF &logger, double error_min, double error_max, size_t evals_min, size_t evals_max, size_t nb_runs = 0)
- double volume(const common::OptimizationType optim_type, const eaf::Levels::Type &levels)