SOT
Namespaces | Classes | Typedefs | Functions
sot Namespace Reference

SOT namespace. More...

Namespaces

 rng
 Namespace for the random number generator.
 

Classes

class  Ackley
 Ackley function More...
 
class  ConstantTail
 Constant polynomial tail. More...
 
class  CornersMid
 Corners + Midpoint. More...
 
class  CosineMixture
 Cosine Mixture function More...
 
class  CubicKernel
 Cubic kernel. More...
 
class  DDS
 The Dynamically Dimensioned Search optimization algorithm. More...
 
class  DYCORS
 DYnamic COordinate search using Response Surface models. More...
 
class  ExpDesign
 Abstract class for a SOT experimental design class. More...
 
class  Exponential
 Exponential function More...
 
class  FixedDesign
 Fixed experimental design. More...
 
class  GASampling
 Use a GA to minimize the surrogate. More...
 
class  GAWrapper
 Wrapper to turn a surrogate model into an optimization problem. More...
 
class  GeneticAlgorithm
 Genetic Algorithm. More...
 
class  Griewank
 Griewank function More...
 
class  Himmelblau
 Himmelblau function More...
 
class  Keane
 Keane function More...
 
class  Kernel
 Abstract class for a radial kernel. More...
 
class  kNN
 k-nearest neighbors More...
 
class  LatinHypercube
 Latin hypercube design. More...
 
class  Levy
 Levy function More...
 
class  LinearKernel
 Linear kernel. More...
 
class  LinearTail
 Linear polynomial tail. More...
 
class  MeritFunction
 Abstract class for a SOT merit function. More...
 
class  MeritWeightedDistance
 Merit function for choosing candidate points. More...
 
class  Michalewicz
 Michalewicz function More...
 
class  Optimizer
 The surrogate optimization algorithm. More...
 
class  Problem
 Abstract class for a SOT optimization problem. More...
 
class  Rastrigin
 Rastrigin function More...
 
class  RBFInterpolant
 Radial basis function. More...
 
class  RBFInterpolantCap
 Capped RBF interpolant. More...
 
class  Result
 Optimization result class. More...
 
class  Rosenbrock
 Rosenbrock function More...
 
class  RotatedProblem
 Rotated and translated problem. More...
 
class  Salomon
 Salomon function More...
 
class  Sampling
 Abstract class for a SOT adaptive sampling class. More...
 
class  Schaffer2
 Schaffer2 function More...
 
class  Schoen
 Schoen function More...
 
class  Schubert3
 Schubert3 function More...
 
class  Schwefel22
 Schwefel22 function More...
 
class  Schwefel26
 Schwefel26 function More...
 
class  Shepard
 Shepard's method More...
 
class  SineEnvelope
 Sine Envelope function More...
 
class  Sphere
 Sphere function More...
 
class  SRBF
 Stochastic RBF. More...
 
class  Step
 Step function More...
 
class  StopWatch
 Stop watch class. More...
 
class  SumSquares
 Sum of Squares function. More...
 
class  Surrogate
 Abstract class for a SOT surrogate model. More...
 
class  SymmetricLatinHypercube
 Symmetric Latin hypercube design. More...
 
class  Tablet
 Tablet function More...
 
class  Tail
 Abstract class for a polynomial tail. More...
 
class  TestProblem
 Abstract class for a SOT test problem. More...
 
class  ThinPlateKernel
 TPS kernel. More...
 
class  TwoFactorial
 2-Factorial design More...
 
class  Uniform
 Uniformly chosen candidate points. More...
 
class  UnitBoxProblem
 Problem scaled to the unit box. More...
 
class  Zakharov
 Zakharov function More...
 

Typedefs

typedef RBFInterpolant< CubicKernel, LinearTailCubicRBF
 Cubic RBF.
 
typedef RBFInterpolant< ThinPlateKernel, LinearTailTpsRBF
 Thin-plate spline RBF.
 
typedef SymmetricLatinHypercube SLHD
 Symmetric Latin hypercube design.
 
typedef LatinHypercube LHD
 Latin hypercube design.
 
typedef arma::mat mat
 Default matrix class.
 
typedef arma::vec vec
 Default (column) vector class.
 
typedef arma::rowvec rowvec
 Default (row) vector class.
 
typedef arma::fmat fmat
 Default single precision matrix class.
 
typedef arma::fvec fvec
 Default single precision (column) vector class.
 
typedef arma::Col< int > ivec
 Default index (column) vector class.
 
typedef arma::uvec uvec
 Default unsigned (column) vector class.
 

Functions

template<class MatType = mat, class VecType = vec>
VecType squaredPointSetDistance (const VecType &x, const MatType &Y)
 Fast level-2 distance computation between one point and a set of points. More...
 
template<class MatType = mat>
MatType squaredPairwiseDistance (const MatType &X, const MatType &Y)
 Fast level-3 distance computation between two sets of points. More...
 
vec toUnitBox (const vec &x, const vec &xLow, const vec &xUp)
 Map one point to the unit box. More...
 
mat toUnitBox (const mat &X, const vec &xLow, const vec &xUp)
 Map multiple points to the unit box. More...
 
vec fromUnitBox (const vec &x, const vec &xLow, const vec &xUp)
 Map one point from the unit box to another hypercube. More...
 
mat fromUnitBox (const mat &X, const vec &xLow, const vec &xUp)
 Map multiple points from the unit box to another hypercube. More...
 
vec unitRescale (const vec &x)
 Map a vector of values to the range [0, 1]. More...
 
uvec paretoFront (const vec &x, const vec &y)
 Computes the Pareto front. More...
 
vec cumMin (const vec &x)
 Computes the cumulative minimum. More...
 
double randi (int i)
 Generate a random integer. More...
 
double randn ()
 Generate a N(0,1) realization. More...
 
double rand ()
 Generate a U[0,1] realization. More...
 
void setSeedRandom ()
 Set the seed to a random seed. More...
 
void setSeed (unsigned seed)
 Set the seed to a given seed. More...
 

Detailed Description

SOT namespace.

File: sot.h Author: David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu

Created on 7/18/16.

File: adaptive_sampling.h Author: David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu

Created on 7/18/16.

File: dds.h Author: David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu

Created on 7/18/16.

File: experimental_design.h Author: David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu

Created on 7/18/16.

File: genetic_algorithm.h Author: David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu

Created on 7/18/16.

File: kNN.h Author: David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu

Created on 7/18/16.

File: merit_functions.h Author: David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu

Created on 7/25/16.

File: optimizer.h Author: David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu

Created on 7/18/16.

File: problem.h Author: David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu

Created on 7/18/16.

File: rbf.h Author: David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu

Created on 7/18/16.

File: shepard.h Author: David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu

Created on 7/18/16.

File: surrogate.h Author: David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu

Created on 7/18/16.

File: test_problems.h Author: David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu

Created on 7/18/16.

File: utils.h Author: David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu

Created on 7/18/16.

Function Documentation

vec sot::cumMin ( const vec x)
inline

Computes the cumulative minimum.

Parameters
xVector of values
Returns
Cumulative minimum of x
Author
David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu
vec sot::fromUnitBox ( const vec x,
const vec xLow,
const vec xUp 
)
inline

Map one point from the unit box to another hypercube.

Parameters
xPoint
xLowLower variable bounds
xUpUpper variable bounds
Returns
x mapped from the unit box
Author
David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu
mat sot::fromUnitBox ( const mat X,
const vec xLow,
const vec xUp 
)
inline

Map multiple points from the unit box to another hypercube.

Parameters
XPoints
xLowLower variable bounds
xUpUpper variable bounds
Returns
Points in X mapped from the unit box
Author
David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu
uvec sot::paretoFront ( const vec x,
const vec y 
)
inline

Computes the Pareto front.

Parameters
xVector of values
yVector of values
Returns
Indices of the points on the Pareto front
Exceptions
std::logic_errorIf x and y are not of the same length
Author
David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu
double sot::rand ( )
inline

Generate a U[0,1] realization.

Returns
Realization drawn from a U[0,1] distribution
Author
David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu
double sot::randi ( int  i)
inline

Generate a random integer.

Parameters
iSpecifies the upper range (i IS included)
Returns
Random integer in the range [0, i]
Author
David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu
double sot::randn ( )
inline

Generate a N(0,1) realization.

Returns
Realization drawn from a N(0,1) distribution
Author
David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu
void sot::setSeed ( unsigned  seed)
inline

Set the seed to a given seed.

Sets the seed of both SOT and Armadillo to the given seed.

Author
David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu
void sot::setSeedRandom ( )
inline

Set the seed to a random seed.

Uses the high_resolution_clock in chrono to create a random seed for SOT and Armadillo. By default SOT and Armadillo use seed 0 each time for reproducibility.

Author
David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu
template<class MatType = mat>
MatType sot::squaredPairwiseDistance ( const MatType &  X,
const MatType &  Y 
)
inline

Fast level-3 distance computation between two sets of points.

Parameters
XThe first matrix
YThe second matrix
Returns
The matrix of distances between the columns of X and the columns of Y
Template Parameters
MatTypeMatrix class
Author
David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu
template<class MatType = mat, class VecType = vec>
VecType sot::squaredPointSetDistance ( const VecType &  x,
const MatType &  Y 
)
inline

Fast level-2 distance computation between one point and a set of points.

Parameters
xThe vector
YThe matrix
Returns
The vector of distances between x and the columns of Y
Template Parameters
MatTypeMatrix class
VecTypeVector class
Author
David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu
vec sot::toUnitBox ( const vec x,
const vec xLow,
const vec xUp 
)
inline

Map one point to the unit box.

Parameters
xPoint
xLowLower variable bounds
xUpUpper variable bounds
Returns
x mapped to the unit box
Author
David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu
mat sot::toUnitBox ( const mat X,
const vec xLow,
const vec xUp 
)
inline

Map multiple points to the unit box.

Parameters
XPoints
xLowLower variable bounds
xUpUpper variable bounds
Returns
Point in X mapped to the unit box
Author
David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu
vec sot::unitRescale ( const vec x)
inline

Map a vector of values to the range [0, 1].

Parameters
xVector of values
Returns
Values in x mapped to the range [0, 1]
Author
David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu