suite#
Types#
AutomaticSuiteRegistration#
-
template<class Derived, class ProblemType>
using ioh::suite::AutomaticSuiteRegistration = common::AutomaticTypeRegistration<Derived, SuiteRegistryType<ProblemType>># Typedef for Suite Registration helper.
SuiteFactoryType#
-
template<typename ProblemType>
using ioh::suite::SuiteFactoryType = common::Factory<Suite<ProblemType>, std::vector<int>, std::vector<int>, std::vector<int>># Typedef for Suite factory type.
SuiteRegistry#
-
template<class ProblemType>
using ioh::suite::SuiteRegistry = SuiteRegistryType<ProblemType># Typedef for Suite factory.
SuiteRegistryType#
-
template<typename ProblemType>
using ioh::suite::SuiteRegistryType = common::RegisterWithFactory<Suite<ProblemType>, std::vector<int>, std::vector<int>, std::vector<int>># Typedef for Suite registry type.
Classes#
Suite#
-
template<typename ProblemType>
class Suite# Suite for ProblemType problems.
Public Types
-
using Problem = std::shared_ptr<ProblemType>#
Typedef to ProblemType ptr.
-
using Factory = problem::ProblemFactoryType<ProblemType>#
//! Typedef to ProblemType Factory
Public Functions
-
inline Suite(const std::vector<int> &problem_ids, const std::vector<int> &instances, const std::vector<int> &dimensions, const std::string &name, const int max_instance = 1000, const int max_dimension = 1000, Factory &factory = Factory::instance())#
Construct a new Suite object.
- Parameters:
problem_ids – List of problem ids
instances – List of problem ids
dimensions – List of problem instances
name – The name of the suite
max_instance – the maximum instance
max_dimension – the maximum dimension
factory – factory instance
-
virtual ~Suite() = default#
-
inline void reset()#
reset all problems in the suite
-
inline void detach_logger()#
Detach a logger.
-
inline std::vector<int> problem_ids() const#
Accessor for problem_ids_.
-
inline std::vector<int> dimensions() const#
Accessor for dimensions_.
-
inline std::vector<int> instances() const#
Accessor for instances_.
-
inline std::string name() const#
Accessor for name_.
-
inline size_t size() const#
Accessor for size.
Private Functions
-
inline int check_parameter(const int parameter, const int ub, const int lb = 1) const#
Check if parameter is within bounds.
Private Members
-
std::string name_#
Name of the suite.
-
std::vector<int> problem_ids_#
List of problem ids.
-
std::vector<int> instances_#
List of problem instances.
-
std::vector<int> dimensions_#
List of problem dimensions.
-
struct Iterator#
Iterator for problems.
Public Types
Public Functions
-
inline explicit Iterator(PointerType p, Suite *s, const bool track_problems = true)#
Construct a new Iterator object.
- Parameters:
p – current ptr
s – suite ptr
track_problems – whether or not to track problems
-
inline void track_problem() const#
Track the next problem.
-
inline ReferenceType operator[](int index)#
Index.
-
inline PointerType operator->()#
call
-
inline ReferenceType operator*()#
call
-
inline explicit Iterator(PointerType p, Suite *s, const bool track_problems = true)#
-
using Problem = std::shared_ptr<ProblemType>#
Structs#
RealSuite#
-
template<class Derived>
struct RealSuite : public ioh::suite::Suite<problem::RealSingleObjective>, public ioh::common::AutomaticTypeRegistration<Derived, problem::RealSingleObjective># Base class for Real suites.
IntegerSuite#
-
template<class Derived>
struct IntegerSuite : public ioh::suite::Suite<problem::IntegerSingleObjective>, public ioh::common::AutomaticTypeRegistration<Derived, problem::IntegerSingleObjective># Base class for Integer suites.
Real#
-
struct Real : public ioh::suite::RealSuite<Real>#
Real suite.
Public Functions
-
inline Real(const std::vector<int> &problem_ids, const std::vector<int> &instances, const std::vector<int> &dimensions)#
Construct a new RealSingleObjective object.
- Parameters:
problem_ids – List of problem ids
instances – List of problem instances
dimensions – List of problem dimensions
-
inline Real(const std::vector<int> &problem_ids, const std::vector<int> &instances, const std::vector<int> &dimensions)#
Integer#
-
struct Integer : public ioh::suite::IntegerSuite<Integer>#
Integer suite.
BBOB#
-
struct BBOB : public ioh::suite::RealSuite<BBOB>#
BBOB suite.
Public Functions
-
inline BBOB(const std::vector<int> &problem_ids = {}, const std::vector<int> &instances = {1}, const std::vector<int> &dimensions = {5})#
Construct a new BBOB object.
- Parameters:
problem_ids – List of problem ids
instances – List of problem instances (defaults to first instance)
dimensions – List of problem dimensions (defaults to 5D)
-
inline BBOB(const std::vector<int> &problem_ids = {}, const std::vector<int> &instances = {1}, const std::vector<int> &dimensions = {5})#
SBOX#
-
struct SBOX : public ioh::suite::RealSuite<SBOX>#
Public Functions
-
inline SBOX(const std::vector<int> &problem_ids = {}, const std::vector<int> &instances = {1}, const std::vector<int> &dimensions = {5})#
Construct a new SBOX object.
- Parameters:
problem_ids – List of problem ids
instances – List of problem instances (defaults to first instance)
dimensions – List of problem dimensions (defaults to 5D)
-
inline SBOX(const std::vector<int> &problem_ids = {}, const std::vector<int> &instances = {1}, const std::vector<int> &dimensions = {5})#
RealStarDiscrepancy#
-
struct RealStarDiscrepancy : public ioh::suite::RealSuite<RealStarDiscrepancy>#
Public Functions
-
inline RealStarDiscrepancy(const std::vector<int> &problem_ids = {}, const std::vector<int> &instances = {1}, const std::vector<int> &dimensions = {5})#
Construct a new StarDiscrepancy object.
- Parameters:
problem_ids – List of problem ids
instances – List of problem instances (defaults to first instance)
dimensions – List of problem dimensions (defaults to 5D)
-
inline RealStarDiscrepancy(const std::vector<int> &problem_ids = {}, const std::vector<int> &instances = {1}, const std::vector<int> &dimensions = {5})#
PBO#
-
struct PBO : public ioh::suite::IntegerSuite<PBO>#
PBO suite.
Public Functions
-
inline PBO(const std::vector<int> &problem_ids = {}, const std::vector<int> &instances = {1}, const std::vector<int> &dimensions = {16})#
Construct a new PBO object.
- Parameters:
problem_ids – List of problem ids
instances – List of problem instances (defaults to first instance)
dimensions – List of problem dimensions (defaults to 16D)
-
inline PBO(const std::vector<int> &problem_ids = {}, const std::vector<int> &instances = {1}, const std::vector<int> &dimensions = {16})#
Submodular#
-
struct Submodular : public ioh::suite::IntegerSuite<Submodular>#
Submodular suite.
Public Functions
-
inline Submodular(const std::vector<int> &problem_ids = {}, [[maybe_unused]] const std::vector<int> &instances = {}, [[maybe_unused]] const std::vector<int> &dimensions = {})#
Construct a new Submodular object.
- Parameters:
problem_ids – List of problem ids
instances – List of problem instances (ignored)
dimensions – List of problem dimensions (ignored)
-
inline Submodular(const std::vector<int> &problem_ids = {}, [[maybe_unused]] const std::vector<int> &instances = {}, [[maybe_unused]] const std::vector<int> &dimensions = {})#
IntegerStarDiscrepancy#
-
struct IntegerStarDiscrepancy : public ioh::suite::IntegerSuite<IntegerStarDiscrepancy>#
Public Functions
-
inline IntegerStarDiscrepancy(const std::vector<int> &problem_ids = {}, const std::vector<int> &instances = {1}, const std::vector<int> &dimensions = {5})#
Construct a new StarDiscrepancy object.
- Parameters:
problem_ids – List of problem ids
instances – List of problem instances (defaults to first instance)
dimensions – List of problem dimensions (defaults to 5D)
-
inline IntegerStarDiscrepancy(const std::vector<int> &problem_ids = {}, const std::vector<int> &instances = {1}, const std::vector<int> &dimensions = {5})#