12#include <unordered_set>
34 constexpr static size_t maxAttempts = 10;
38 constexpr static double secondsPerMicroseconds = 1. / 1000000.;
56 const InteractionTypeOption &interactionType,
57 const std::set<ContainerOption> &allowedContainerOptions = ContainerOption::getAllOptions(),
59 const std::set<TraversalOption> &allowedTraversalOptions = TraversalOption::getAllOptions(),
60 const std::set<LoadEstimatorOption> &allowedLoadEstimatorOptions = LoadEstimatorOption::getAllOptions(),
61 const std::set<DataLayoutOption> &allowedDataLayoutOptions = DataLayoutOption::getAllOptions(),
62 const std::set<Newton3Option> &allowedNewton3Options = Newton3Option::getAllOptions(),
size_t maxEvidence = 10,
63 AcquisitionFunctionOption predAcqFunction = AcquisitionFunctionOption::upperConfidenceBound,
64 size_t predNumLHSamples = 1000,
unsigned long seed = std::random_device()());
70 bool reset(
size_t iteration,
size_t tuningPhase, std::vector<Configuration> &configQueue,
93 std::vector<FeatureVector> sampleAcquisitions(
size_t n, AcquisitionFunctionOption af);
95 const InteractionTypeOption _interactionType;
97 std::set<ContainerOption> _containerOptionsSet;
98 std::vector<FeatureVector::ContainerTraversalEstimatorOption> _containerTraversalEstimatorOptions;
99 std::vector<DataLayoutOption> _dataLayoutOptions;
100 std::vector<Newton3Option> _newton3Options;
101 std::unique_ptr<NumberSet<double>> _cellSizeFactors;
107 std::unordered_set<FeatureVector, ConfigHash> _invalidConfigs;
112 AcquisitionFunctionOption _predAcqFunction;
113 size_t _predNumLHSamples;
Assume that the stochastic distribution of the execution time corresponds to a Gaussian Process.
Definition: BayesianSearch.h:30
void addEvidence(const Configuration &configuration, const Evidence &evidence) override
Notifies the strategy about empirically collected information for the given configuration.
Definition: BayesianSearch.cpp:151
bool optimizeSuggestions(std::vector< Configuration > &configQueue, const EvidenceCollection &evidenceCollection) override
Optimizes the queue of configurations to process.
Definition: BayesianSearch.cpp:66
TuningStrategyOption getOptionType() const override
Get this object's associated TuningStrategyOption type.
Definition: BayesianSearch.cpp:165
bool searchSpaceIsEmpty() const
Indicate if the search space contains any configurations.
Definition: BayesianSearch.cpp:138
bool reset(size_t iteration, size_t tuningPhase, std::vector< Configuration > &configQueue, const autopas::EvidenceCollection &evidenceCollection) override
Reset all internal parameters to the beginning of a new tuning phase.
Definition: BayesianSearch.cpp:157
bool needsSmoothedHomogeneityAndMaxDensity() const override
Indicate whether the strategy needs smoothed values of homogeneity and max density.
Definition: BayesianSearch.cpp:163
void rejectConfiguration(const Configuration &configuration, bool indefinitely) override
Notify the strategy about a configuration that is (currently) invalid and thus can potentially be dro...
Definition: BayesianSearch.cpp:145
Class containing multiple options that form an algorithm configuration for the pairwise iteration.
Definition: Configuration.h:24
Class to manage all evidence.
Definition: EvidenceCollection.h:21
Helper class that associates a measurement with the iteration when it was taken.
Definition: Evidence.h:15
Encoder to convert FeatureVector from and to Eigen::Vector.
Definition: FeatureVectorEncoder.h:22
Gaussian process is a stochastical model.
Definition: GaussianProcess.h:30
Class describing an interval.
Definition: NumberInterval.h:15
Virtual class describing a finite or infinite set of numbers.
Definition: NumberSet.h:22
Class for random algorithms.
Definition: Random.h:22
Interface for tuning strategies for the auto tuner.
Definition: TuningStrategyInterface.h:23
This is the main namespace of AutoPas.
Definition: AutoPasDecl.h:32