25 #ifndef PAGMO_UTIL_HYPERVOLUME_H
26 #define PAGMO_UTIL_HYPERVOLUME_H
31 #include "../population.h"
32 #include "hv_algorithm/base.h"
34 namespace pagmo {
namespace util {
54 hypervolume(
const boost::shared_ptr<population>,
const bool verify =
true);
55 hypervolume(
const std::vector<fitness_vector> &,
const bool verify =
true);
61 double exclusive(
const unsigned int,
const fitness_vector &)
const;
72 static double get_expected_operations(
const unsigned int n,
const unsigned int d);
74 void set_copy_points(
const bool);
75 bool get_copy_points();
76 void set_verify(
const bool);
81 hypervolume_ptr clone()
const;
82 const std::vector<fitness_vector> get_points()
const;
88 void verify_after_construct()
const;
91 std::vector<fitness_vector> m_points;
96 friend class boost::serialization::access;
97 template <
class Archive>
98 void serialize(Archive &ar,
const unsigned int)
boost::shared_ptr< hypervolume > hypervolume_ptr
Alias for the shared pointer to a pagmo::util::hypervolume.
std::vector< double > fitness_vector
Fitness vector type.
boost::shared_ptr< base > base_ptr
Base hypervolume algorithm class.