KatsuuraFunction::KatsuuraFunction( const arma::uword numberOfDimensions) : BlackBoxOptimisationBenchmark(numberOfDimensions), parameterConditioning_(getParameterConditioning(10.0)) { setParameterTranslation(getRandomParameterTranslation()); setParameterRotation(getRandomRotationMatrix(numberOfDimensions_)); setRotationQ(getRandomRotationMatrix(numberOfDimensions_)); }
AttractiveSectorFunction::AttractiveSectorFunction( const arma::uword numberOfDimensions) : BlackBoxOptimisationBenchmark(numberOfDimensions), parameterConditioning_(getParameterConditioning(std::sqrt(10.0))) { setParameterTranslation(getRandomParameterTranslation()); setParameterRotation(getRandomRotationMatrix(numberOfDimensions_)); setRotationQ(getRandomRotationMatrix(numberOfDimensions_)); }
StepEllipsoidalFunction::StepEllipsoidalFunction( const arma::uword numberOfDimensions) : BlackBoxOptimisationBenchmark(numberOfDimensions), firstParameterConditioning_(getParameterConditioning(std::sqrt(10.0))), secondParameterConditioning_(getParameterConditioning(100.0)) { setParameterTranslation(getRandomParameterTranslation()); setParameterRotation(getRandomRotationMatrix(numberOfDimensions_)); setRotationQ(getRandomRotationMatrix(numberOfDimensions_)); }
WeierstrassFunction::WeierstrassFunction( const arma::uword numberOfDimensions) : BlackBoxOptimisationBenchmark(numberOfDimensions), f0_(-1.99951171875), parameterConditioning_(getParameterConditioning(std::sqrt(0.01))) { setParameterTranslation(getRandomParameterTranslation()); setRotationR(getRandomRotationMatrix(numberOfDimensions_)); setRotationQ(getRandomRotationMatrix(numberOfDimensions_)); }
LunacekBiRastriginFunction::LunacekBiRastriginFunction( const arma::uword numberOfDimensions) : BlackBoxOptimisationBenchmark(numberOfDimensions), s_(1.0 - 0.5 / (std::sqrt(static_cast<double>(numberOfDimensions_) + 20.0) - 4.1)), mu_(std::sqrt(5.25 / s_)), parameterConditinong_(getParameterConditioning(10.0)) { // A vector with all elements randomly and uniformly set to either 2 or -2. setParameterScaling(arma::zeros<arma::Col<double>>(numberOfDimensions_) + (std::bernoulli_distribution(0.5)(Rng::getGenerator()) ? 2.0 : -2.0)); setRotationR(getRandomRotationMatrix(numberOfDimensions_)); setRotationQ(getRandomRotationMatrix(numberOfDimensions_)); }
LunacekBiRastriginFunction<T>::LunacekBiRastriginFunction( const std::size_t numberOfDimensions) noexcept : BlackBoxOptimisationBenchmark<T>(numberOfDimensions), s_(1.0 - 0.5 / (std::sqrt(static_cast<double>(this->numberOfDimensions_) + 20.0) - 4.1)), mu_(std::sqrt(5.25 / s_)), parameterConditinong_(this->getParameterConditioning(static_cast<T>(10.0L))) { // A vector with all elements randomly and uniformly set to either 2 or -2. this->setParameterScaling(arma::zeros<arma::Col<T>>(this->numberOfDimensions_) + (std::bernoulli_distribution(0.5)(Rng::getGenerator()) ? static_cast<T>(2.0L) : static_cast<T>(-2.0L))); setRotationR(getRandomRotationMatrix(this->numberOfDimensions_)); setRotationQ(getRandomRotationMatrix(this->numberOfDimensions_)); }
GallaghersGaussian101mePeaksFunction::GallaghersGaussian101mePeaksFunction( const arma::uword numberOfDimensions) : BlackBoxOptimisationBenchmark(numberOfDimensions), weight_(arma::join_cols(arma::Col<double>({10.0}), arma::linspace<arma::Col<double>>(1.1, 9.1, 100))) { setRotationQ(getRandomRotationMatrix(numberOfDimensions_)); setLocalParameterConditionings(getRandomLocalParameterConditionings()); setLocalParameterTranslations(getRandomLocalParameterTranslations()); }
GallaghersGaussian21hiPeaksFunction<T>::GallaghersGaussian21hiPeaksFunction( const std::size_t numberOfDimensions) noexcept : BlackBoxOptimisationBenchmark<T>(numberOfDimensions), weight_(arma::join_cols(arma::Col<double>({10.0}), arma::linspace<arma::Col<double>>(1.1, 9.1, 20))) { setRotationQ(getRandomRotationMatrix(this->numberOfDimensions_)); setLocalParameterConditionings(getRandomLocalParameterConditionings()); setLocalParameterTranslations(getRandomLocalParameterTranslations()); }
CompositeGriewankRosenbrockFunctionF8F2::CompositeGriewankRosenbrockFunctionF8F2( const arma::uword numberOfDimensions) : BlackBoxOptimisationBenchmark(numberOfDimensions), max_(std::max(1.0, std::sqrt(numberOfDimensions_) / 8.0)) { setParameterRotation(getRandomRotationMatrix(numberOfDimensions_)); }
DiscusFunction<T>::DiscusFunction( const std::size_t numberOfDimensions) noexcept : BlackBoxOptimisationBenchmark<T>(numberOfDimensions) { this->setParameterTranslation(this->getRandomParameterTranslation()); this->setParameterRotation(getRandomRotationMatrix(this->numberOfDimensions_)); }
RosenbrockFunctionRotated<T>::RosenbrockFunctionRotated( const std::size_t numberOfDimensions) noexcept : BlackBoxOptimisationBenchmark<T>(numberOfDimensions), max_(std::max(1.0, std::sqrt(static_cast<double>(this->numberOfDimensions_)) / 8.0)) { this->setParameterRotation(getRandomRotationMatrix(this->numberOfDimensions_)); }