The Dynamically Dimensioned Search optimization algorithm.
More...
#include <dds.h>
The Dynamically Dimensioned Search optimization algorithm.
This is an implementation of the DDS algorithm. DDS generates a new point to evaluate by perturbing the best solution found so far. Each variable is perturbed with a probability that decreases with the number of evaluations carried out, which means that fewer and fewer variables are perturbed throughout the optimization process.
- Author
- David Eriksson, dme65.nosp@m.@cor.nosp@m.nell..nosp@m.edu
sot::DDS::DDS |
( |
std::shared_ptr< Problem > & |
data, |
|
|
std::shared_ptr< ExpDesign > & |
expDes, |
|
|
int |
maxEvals |
|
) |
| |
|
inline |
Constructor.
- Parameters
-
data | A shared pointer to the optimization problem |
expDes | A shared pointer to the experimental design |
maxEvals | Evaluation budget |
sot::DDS::DDS |
( |
std::shared_ptr< Problem > & |
data, |
|
|
std::shared_ptr< ExpDesign > & |
expDes, |
|
|
int |
maxEvals, |
|
|
int |
numThreads |
|
) |
| |
|
inline |
Constructor.
- Parameters
-
data | A shared pointer to the optimization problem |
expDes | A shared pointer to the experimental design |
maxEvals | Evaluation budget |
numThreads | Number of threads |
void sot::DDS::evalBatch |
( |
const mat & |
batch, |
|
|
vec & |
funVals |
|
) |
| |
|
inlineprotected |
Evalaute a batch of points in parallel.
- Parameters
-
batch | Batch of points to be evaluated |
funVals | Vector to write the function values to |
Runs the optimization algorithm.
- Returns
- A Result object with the results from the run
std::shared_ptr<Problem> sot::DDS::mData |
|
protected |
A shared pointer to the optimization problem
Number of dimensions (extracted from mData)
int sot::DDS::mEvalCount = 0 |
|
protected |
Evaluation counter for evalauting batches
A shared pointer to the experimental design
int sot::DDS::mInitPoints |
|
protected |
Number of points in the experimental design (extracted from mExpDes)
std::mutex sot::DDS::mMutex |
|
protected |
Mutex for assigning evaluations to the threads
std::string sot::DDS::mName = "DDS" |
|
protected |
int sot::DDS::mNumThreads |
|
protected |
Lower variable bounds (extracted from mData)
Upper variable bounds (extracted from mData)
The documentation for this class was generated from the following file: