bbob#
Namespaces#
Classes#
AttractiveSector#
-
template<typename P = BBOB>
class AttractiveSector : public ioh::problem::BBOB, private ioh::problem::BBOProblem<AttractiveSector># Attractive Sector problem id = 6.
Public Functions
-
inline AttractiveSector(const int instance, const int n_variables)#
Construct a new Attractive Sector object.
- Parameters:
instance – instance id
n_variables – the dimension of the problem
-
inline AttractiveSector(const int instance, const int n_variables)#
BentCigar#
-
template<typename P = BBOB>
class BentCigar : public ioh::problem::BBOB, private ioh::problem::BBOProblem<BentCigar># Bent Cigar problem id = 12.
Public Functions
-
inline BentCigar(const int instance, const int n_variables)#
Construct a new Bent Cigar object.
- Parameters:
instance – instance id
n_variables – the dimension of the problem
-
inline BentCigar(const int instance, const int n_variables)#
BuecheRastrigin#
-
template<typename P = BBOB>
class BuecheRastrigin : public ioh::problem::bbob::RastriginBase<BBOB>, private ioh::problem::BBOProblem<BuecheRastrigin># BuecheRastrigin problem id 4.
Public Functions
Protected Functions
-
inline std::vector<double> transform_variables(std::vector<double> x) override#
Variables transformation method.
-
inline std::vector<double> transform_variables(std::vector<double> x) override#
DifferentPowers#
-
template<typename P = BBOB>
class DifferentPowers : public ioh::problem::BBOB, private ioh::problem::BBOProblem<DifferentPowers># Different powers problem id 14.
Public Functions
-
inline DifferentPowers(const int instance, const int n_variables)#
Construct a new Different Powers object.
- Parameters:
instance – instance id
n_variables – the dimension of the problem
-
inline DifferentPowers(const int instance, const int n_variables)#
Discus#
-
template<typename P = BBOB>
class Discus : public ioh::problem::BBOB, private ioh::problem::BBOProblem<Discus># Discuss function id 11.
Public Functions
EllipsoidBase#
Ellipsoid#
-
template<typename P = BBOB>
class Ellipsoid : public ioh::problem::bbob::EllipsoidBase<BBOB>, private ioh::problem::BBOProblem<Ellipsoid># Ellipsiod problem id 2.
EllipsoidRotated#
-
template<typename P = BBOB>
class EllipsoidRotated : public ioh::problem::bbob::EllipsoidBase<BBOB>, private ioh::problem::BBOProblem<EllipsoidRotated># Rotated ellipsoid problem id 10.
Public Functions
Protected Functions
-
inline std::vector<double> transform_variables(std::vector<double> x) override#
Transoform variables method.
-
inline std::vector<double> transform_variables(std::vector<double> x) override#
Gallagher#
-
template<typename P>
class Gallagher : public P# Gallagher Base.
Public Functions
-
inline Gallagher(const int problem_id, const int instance, const int n_variables, const std::string &name, const int number_of_peaks, const double b = 10., const double c = 5.0, double max_condition = sqrt(1000.))#
Construct a new Gallagher object.
- Parameters:
problem_id – the id of the problem
instance – the instance of the problem
n_variables – the dimension of the problem
name – the name of the problem
number_of_peaks – the number of peaks of the problem
b – gallagher variables
c – gallagher variables
max_condition – the maximum conditioning of the problem
Protected Functions
-
inline double evaluate(const std::vector<double> &x) override#
Evaluation method.
-
inline Gallagher(const int problem_id, const int instance, const int n_variables, const std::string &name, const int number_of_peaks, const double b = 10., const double c = 5.0, double max_condition = sqrt(1000.))#
Gallagher101#
-
template<typename P = BBOB>
class Gallagher101 : public ioh::problem::bbob::Gallagher<BBOB>, private ioh::problem::BBOProblem<Gallagher101># Gallaher 101 problem id 21.
Gallagher21#
-
template<typename P = BBOB>
class Gallagher21 : public ioh::problem::bbob::Gallagher<BBOB>, private ioh::problem::BBOProblem<Gallagher21># Gallagher 21 problem id 22.
GriewankRosenbrock#
-
template<typename P = BBOB>
class GriewankRosenbrock : public ioh::problem::BBOB, private ioh::problem::BBOProblem<GriewankRosenbrock># GriewankRosenbrock problem id 19.
Public Functions
-
inline GriewankRosenbrock(const int instance, const int n_variables)#
Construct a new Griewank Rosen Brock object.
- Parameters:
instance – instance id
n_variables – the dimension of the problem
Protected Functions
-
inline double evaluate(const std::vector<double> &x) override#
Evaluation method.
-
inline std::vector<double> transform_variables(std::vector<double> x) override#
Variables transformation method.
Private Members
-
std::vector<double> x_shift_#
-
inline GriewankRosenbrock(const int instance, const int n_variables)#
Katsuura#
LinearSlope#
-
template<typename P = BBOB>
class LinearSlope : public ioh::problem::BBOB, private ioh::problem::BBOProblem<LinearSlope># Linear Slope problem id 5.
Public Functions
-
inline LinearSlope(const int instance, const int n_variables)#
Construct a new Linear Slope object.
- Parameters:
instance – instance id
n_variables – the dimension of the problem
Protected Functions
-
inline double evaluate(const std::vector<double> &x) override#
Evaluation method.
-
inline LinearSlope(const int instance, const int n_variables)#
LunacekBiRastrigin#
-
template<typename P = BBOB>
class LunacekBiRastrigin : public ioh::problem::BBOB, private ioh::problem::BBOProblem<LunacekBiRastrigin># LunacekBiRastrigin problem id 24.
Public Functions
Protected Functions
-
inline double evaluate(const std::vector<double> &x) override#
Evaluation method.
-
inline double evaluate(const std::vector<double> &x) override#
ManyAffine#
-
class ManyAffine : public ioh::problem::SingleObjectiveProblem<double>#
Public Functions
-
inline ManyAffine(const std::vector<double> &xopt, const std::array<double, 24> &weights, const std::array<int, 24> &instances, const int n_variables, const std::array<double, 24> &scale_factors)#
Construct a new Many Affine object, requires weights and instances to be specified.
- Parameters:
xopt – the location of the optimum
weights – weight vector which specifies the contribution of each of the 24 bbob to the final objective value
instances – the vector of instances used
n_variables – the dimension of the problem
scale_factors – the relative scale factors for each problem
-
inline ManyAffine(const int instance, const int n_variables)#
Construct a new Many Affine object with default weights and a single instance for all sub functions.
A random location of the optimum and a weight vector are generated using the bbob2009 uniform random number generator, using the instance as seed offset.
- Parameters:
instance – the instance
n_variables – the dimension used
-
inline std::array<double, 24> get_weights()#
-
inline std::array<int, 24> get_instances()#
-
inline std::array<double, 24> get_scale_factors()#
-
inline std::array<double, 24> get_function_values()#
Public Static Attributes
-
static const std::array<double, 24> default_scales{11., 17.5, 12.3, 12.6, 11.5, 15.3, 12.1, 15.3, 15.2, 17.4, 13.4, 20.4, 12.9, 10.4, 12.3, 10.3, 9.8, 10.6, 10., 14.7, 10.7, 10.8, 9., 12.1}#
Protected Functions
-
inline double evaluate(const std::vector<double> &x) override#
-
inline ManyAffine(const std::vector<double> &xopt, const std::array<double, 24> &weights, const std::array<int, 24> &instances, const int n_variables, const std::array<double, 24> &scale_factors)#
RastriginBase#
Rastrigin#
-
template<typename P = BBOB>
class Rastrigin : public ioh::problem::bbob::RastriginBase<BBOB>, private ioh::problem::BBOProblem<Rastrigin># Rastrigin problem id 3.
RastriginRotated#
-
template<typename P = BBOB>
class RastriginRotated : public ioh::problem::bbob::RastriginBase<BBOB>, private ioh::problem::BBOProblem<RastriginRotated># Rotated Rastrigin problem id 15.
Public Functions
Protected Functions
-
inline std::vector<double> transform_variables(std::vector<double> x) override#
Variables transformation method.
-
inline std::vector<double> transform_variables(std::vector<double> x) override#
RosenbrockBase#
-
template<typename P = BBOB>
class RosenbrockBase : public ioh::problem::BBOB# CRTP base class for Rosenbrock Problem variants.
- Template Parameters:
T – type of the new Rosenbrock class
Public Functions
-
inline RosenbrockBase(const int problem_id, const int instance, const int n_variables, const std::string &name)#
Construct a new Rosenbrock Base object.
- Parameters:
problem_id – the problem id
instance – the problem instance
n_variables – the problem dimension
name – the name of the problem
Rosenbrock#
-
template<typename P = BBOB>
class Rosenbrock : public ioh::problem::bbob::RosenbrockBase<BBOB>, private ioh::problem::BBOProblem<Rosenbrock># Rosenbrock problem id 8.
Public Functions
-
inline Rosenbrock(const int instance, const int n_variables)#
Construct a new Rosenbrock object.
- Parameters:
instance – instance id
n_variables – the dimension of the problem
-
inline Rosenbrock(const int instance, const int n_variables)#
RosenbrockRotated#
-
template<typename P = BBOB>
class RosenbrockRotated : public ioh::problem::bbob::RosenbrockBase<BBOB>, private ioh::problem::BBOProblem<RosenbrockRotated># Rotated Rosenbrock function 9.
Public Functions
-
inline RosenbrockRotated(const int instance, const int n_variables)#
Construct a new Rosenbrock Rotated object.
- Parameters:
instance – instance id
n_variables – the dimension of the problem
Protected Functions
-
inline std::vector<double> transform_variables(std::vector<double> x) override#
Variables transformation method.
-
inline RosenbrockRotated(const int instance, const int n_variables)#
Schaffers#
-
template<typename P>
class Schaffers : public P# CRTP base class for Schaffers Problem variants.
Public Functions
-
inline Schaffers(const int problem_id, const int instance, const int n_variables, const std::string &name, const double condition)#
Construct a new Schaffers object.
- Parameters:
problem_id – the problem id
instance – the problem instance
n_variables – the problem dimension
name – the name of the problem
condition – condition of the problem
Protected Functions
-
inline double evaluate(const std::vector<double> &x) override#
Evaluation method.
-
inline std::vector<double> transform_variables(std::vector<double> x) override#
Variables transformation method.
Protected Attributes
-
double condition_#
Condition of the problem.
-
inline Schaffers(const int problem_id, const int instance, const int n_variables, const std::string &name, const double condition)#
Schaffers10#
-
template<typename P = BBOB>
class Schaffers10 : public ioh::problem::bbob::Schaffers<BBOB>, private ioh::problem::BBOProblem<Schaffers10># Shaffers 10 problem id 17.
Schaffers1000#
-
template<typename P = BBOB>
class Schaffers1000 : public ioh::problem::bbob::Schaffers<BBOB>, private ioh::problem::BBOProblem<Schaffers1000># Shaffers 1000 problem id 18.
Schwefel#
-
template<typename P = BBOB>
class Schwefel : public ioh::problem::BBOB, private ioh::problem::BBOProblem<Schwefel># Schefel problem id 20.
Public Functions
Sphere#
StepEllipsoid#
-
template<typename P = BBOB>
class StepEllipsoid : public ioh::problem::BBOB, private ioh::problem::BBOProblem<StepEllipsoid># Step ellipsiod problem id 7.
Public Functions
Weierstrass#
-
template<typename P = BBOB>
class Weierstrass : public ioh::problem::BBOB, private ioh::problem::BBOProblem<Weierstrass># Weierstrass problem id 16.
Public Functions
-
inline Weierstrass(const int instance, const int n_variables)#
Construct a new Weierstrass object.
- Parameters:
instance – instance id
n_variables – the dimension of the problem
-
inline Weierstrass(const int instance, const int n_variables)#