PaGMO  1.1.5
Public Member Functions | Friends
pagmo::util::hv_algorithm::fpl Class Reference

fpl hypervolume algorithm More...

#include <fpl.h>

Inheritance diagram for pagmo::util::hv_algorithm::fpl:
Inheritance graph
[legend]

Public Member Functions

double compute (std::vector< fitness_vector > &, const fitness_vector &) const
 Compute hypervolume. More...
 
void verify_before_compute (const std::vector< fitness_vector > &, const fitness_vector &) const
 Verify before compute. More...
 
base_ptr clone () const
 Clone method.
 
std::string get_name () const
 Algorithm name.
 
- Public Member Functions inherited from pagmo::util::hv_algorithm::base
virtual double exclusive (const unsigned int, std::vector< fitness_vector > &, const fitness_vector &) const
 Exclusive hypervolume method. More...
 
virtual unsigned int least_contributor (std::vector< fitness_vector > &, const fitness_vector &) const
 Least contributor method. More...
 
virtual unsigned int greatest_contributor (std::vector< fitness_vector > &, const fitness_vector &) const
 Greatest contributor method. More...
 
virtual std::vector< double > contributions (std::vector< fitness_vector > &, const fitness_vector &) const
 Contributions method. More...
 
virtual ~base ()
 Destructor required for pure virtual methods.
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Static Public Member Functions inherited from pagmo::util::hv_algorithm::base
static double volume_between (const fitness_vector &, const fitness_vector &, unsigned int=0)
 Compute volume between two points. More...
 
- Protected Types inherited from pagmo::util::hv_algorithm::base
enum  { DOM_CMP_B_DOMINATES_A = 1, DOM_CMP_A_DOMINATES_B = 2, DOM_CMP_A_B_EQUAL = 3, DOM_CMP_INCOMPARABLE = 4 }
 
- Protected Member Functions inherited from pagmo::util::hv_algorithm::base
void assert_minimisation (const std::vector< fitness_vector > &, const fitness_vector &) const
 Assert that reference point dominates every other point from the set. More...
 
virtual unsigned int extreme_contributor (std::vector< fitness_vector > &, const fitness_vector &, bool(*)(double, double)) const
 compute the extreme contributor More...
 
- Static Protected Member Functions inherited from pagmo::util::hv_algorithm::base
static bool cmp_least (const double, const double)
 Comparison method for the least contributor. More...
 
static bool cmp_greatest (const double, const double)
 Comparison method for the least contributor. More...
 
static double volume_between (double *, double *, unsigned int)
 Compute volume between two points. More...
 
static int dom_cmp (double *, double *, unsigned int)
 Dominance comparison method. More...
 
static int dom_cmp (const fitness_vector &, const fitness_vector &, unsigned int=0)
 Dominance comparison method. More...
 

Detailed Description

fpl hypervolume algorithm

This is the class containing the interface to the the hypervolume computation package FPL (version 2.0).

The original code was altered in following ways:

See also
Andreia P. Guerreiro, Carlos M. Fonseca, Michael T. Emmerich, "A Fast Dimension-Sweep Algorithm for the Hypervolume Indicator in Four Dimensions", CCCG 2012, Charlottetown, P.E.I., August 8–10, 2012.
C. M. Fonseca, L. Paquete, and M. Lopez-Ibanez. "An improved dimension-sweep algorithm for the hypervolume indicator". In IEEE Congress on Evolutionary Computation, pages 1157-1163, Vancouver, Canada, July 2006.
Nicola Beume, Carlos M. Fonseca, Manuel López-Ibáñez, Luís Paquete, and J. Vahrenhold. "On the complexity of computing the hypervolume indicator". IEEE Transactions on Evolutionary Computation, 13(5):1075-1082, 2009.
Author
(original implementation) C. M. Fonseca, L. Paquete, M. Lopez-Ibanez and A. P. Guerreiro
(C++ wrapper) Krzysztof Nowak (kn@ki.nosp@m.ryx..nosp@m.net)

Definition at line 56 of file fpl.h.

Member Function Documentation

double pagmo::util::hv_algorithm::fpl::compute ( std::vector< fitness_vector > &  points,
const fitness_vector r_point 
) const
virtual

Compute hypervolume.

Parameters
[in]pointsvector of points containing the D-dimensional points for which we compute the hypervolume
[in]r_pointreference point for the points
Returns
hypervolume.

Implements pagmo::util::hv_algorithm::base.

Definition at line 37 of file fpl.cpp.

void pagmo::util::hv_algorithm::fpl::verify_before_compute ( const std::vector< fitness_vector > &  points,
const fitness_vector r_point 
) const
virtual

Verify before compute.

Verifies whether given algorithm suits the requested data.

Parameters
[in]pointsvector of points containing the 4-dimensional points for which we compute the hypervolume
[in]r_pointreference point for the vector of points
Exceptions
value_errorwhen trying to compute the hypervolume for the non-maximal reference point

Implements pagmo::util::hv_algorithm::base.

Definition at line 62 of file fpl.cpp.


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