|
SOT
|
Rotated and translated problem. More...
#include <test_problems.h>
Public Member Functions | |
| RotatedProblem (int dim) | |
| Constructor. More... | |
| mat | rotation () const |
| Method that returns the rotation matrix. More... | |
| vec | translation () const |
| Method that returns the translation vector. More... | |
| vec | lBounds () const |
| Method for getting the lower variable bounds. More... | |
| vec | uBounds () const |
| Method for getting the upper variable bounds. More... | |
| int | dim () const |
| Method for getting the number of dimensions. More... | |
| double | min () const |
| Method for getting global minimum value. More... | |
| vec | optimum () const |
| Method for getting the global minimizer. More... | |
| std::string | name () const |
| Method for getting the name of the optimization problem. More... | |
| double | eval (const vec &x) const |
| Method for evaluating the objective function. More... | |
Public Member Functions inherited from sot::TestProblem | |
| vec | evals (const mat &points) const |
| Method for evaluating the objective function at multiple points. More... | |
Protected Member Functions | |
| void | createTranslation () |
| Generates a random translation vector. | |
| void | createRotation () |
| Generates a random rotation matrix. | |
Protected Attributes | |
| std::shared_ptr< Problem > | mProblem |
| vec | mTranslation |
| mat | mRotation |
| int | mDim |
| vec | mxLow |
| vec | mxUp |
| vec | mOptimum |
| double | mMinimum |
| std::string | mName |
Rotated and translated problem.
Turns a possibly separable problem into a non-separable one. This is done by generating an orthogonal matrix \(Q\) and a vector \( t\), where \( t\) is in the domain of \( f(x)\). We define the new objective function
\(g(x) = f(x_{opt} + Q (x - t))\)
We can see that \(g(t) = f(x_{opt})\) so t is the global minimum of \( g\), and we can also see that \( g\) isn't separable as long as \( Q\) isn't.
| OptProblem | The optimization problem (with Problem as a base class) that is rotated and translated into a non-separable optimization problem. |
|
inline |
Constructor.
| dim | Number of dimensions |
|
inlinevirtual |
Method for getting the number of dimensions.
Implements sot::Problem.
|
inlinevirtual |
Method for evaluating the objective function.
| point | Is the next point for which to evaluate the objective function |
Implements sot::Problem.
|
inlinevirtual |
|
inlinevirtual |
Method for getting global minimum value.
Implements sot::Problem.
|
inlinevirtual |
Method for getting the name of the optimization problem.
Implements sot::Problem.
|
inlinevirtual |
|
inline |
Method that returns the rotation matrix.
|
inline |
Method that returns the translation vector.
|
inlinevirtual |
|
protected |
Number of dimensions (extracted from mProblem)
|
protected |
Global minimum value
|
protected |
Optimization problem name
|
protected |
Global minimizer (same as mTranslation)
|
protected |
Shared pointer to the original optimization problem
|
protected |
Randomly generated rotation
|
protected |
Randomly generated translation
|
protected |
Lower variable bounds (extracted from mProblem)
|
protected |
Upper variable bounds (extracted from mProblem)
1.8.11