Ejemplo n.º 1
0
 AttractiveSectorFunction::AttractiveSectorFunction(
     const arma::uword numberOfDimensions)
     : BlackBoxOptimisationBenchmark(numberOfDimensions),
       parameterConditioning_(getParameterConditioning(std::sqrt(10.0))) {
   setParameterTranslation(getRandomParameterTranslation());
   setParameterRotation(getRandomRotationMatrix(numberOfDimensions_));
   setRotationQ(getRandomRotationMatrix(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());
 }
Ejemplo n.º 3
0
 KatsuuraFunction::KatsuuraFunction(
     const arma::uword numberOfDimensions)
     : BlackBoxOptimisationBenchmark(numberOfDimensions),
       parameterConditioning_(getParameterConditioning(10.0)) {
   setParameterTranslation(getRandomParameterTranslation());
   setParameterRotation(getRandomRotationMatrix(numberOfDimensions_));
   setRotationQ(getRandomRotationMatrix(numberOfDimensions_));
 }
 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());
 }
Ejemplo n.º 5
0
 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_));
 }
Ejemplo n.º 6
0
 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_));
 }
Ejemplo n.º 7
0
 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_));
 }