18const std::string ExplorationSettings::precomputationTypeOptionName =
"precomp";
19const std::string ExplorationSettings::numberOfExplorationStepsUntilPrecomputationOptionName =
"stepsprecomp";
20const std::string ExplorationSettings::numberOfSampledPathsUntilPrecomputationOptionName =
"pathsprecomp";
21const std::string ExplorationSettings::nextStateHeuristicOptionName =
"nextstate";
22const std::string ExplorationSettings::precisionOptionName =
"precision";
23const std::string ExplorationSettings::precisionOptionShortName =
"eps";
26 std::vector<std::string>
types = {
"local",
"global"};
35 "Sets the number of exploration steps to perform until a precomputation is triggered.")
42 "If set, a precomputation is perfomed periodically after the given number of paths has been sampled.")
45 "count",
"The number of paths to sample until a precomputation is triggered.")
55 "The name of the heuristic to use. 'prob' samples according to the probabilities in the system, 'probdiffs' takes "
56 "into account probabilities and the differences between the current bounds and 'unif' samples uniformly.")
63 .setShortName(precisionOptionShortName)
73 if (this->
getOption(precomputationTypeOptionName).getArgumentByName(
"name").getValueAsString() ==
"local") {
80 if (this->
getOption(precomputationTypeOptionName).getArgumentByName(
"name").getValueAsString() ==
"global") {
130 "Exploration engine is not selected, so setting options for it has no effect.");
virtual std::string getValueAsString() const =0
Retrieves the value of this argument as a string.
virtual uint_fast64_t getValueAsUnsignedInteger() const =0
Retrieves the value of this argument as an unsigned integer.
virtual double getValueAsDouble() const =0
Retrieves the value of this argument as a double.
static ArgumentBuilder createUnsignedIntegerArgument(std::string const &name, std::string const &description)
Creates an unsigned integer argument with the given parameters.
static ArgumentBuilder createDoubleArgument(std::string const &name, std::string const &description)
Creates a double argument with the given parameters.
static ArgumentBuilder createStringArgument(std::string const &name, std::string const &description)
Creates a string argument with the given parameters.
static std::shared_ptr< ArgumentValidator< double > > createDoubleRangeValidatorExcluding(double lowerBound, double upperBound)
static std::shared_ptr< ArgumentValidator< std::string > > createMultipleChoiceValidator(std::vector< std::string > const &choices)
This class provides the interface to create an option...
ArgumentBase const & getArgumentByName(std::string const &argumentName) const
Returns a reference to the argument with the specified long name.
bool getHasOptionBeenSet() const
Retrieves whether the option has been set.
uint_fast64_t getNumberOfSampledPathsUntilPrecomputation() const
Retrieves the number of paths to sample until a precomputation is triggered.
bool isLocalPrecomputationSet() const
Retrieves whether local precomputation is to be used.
uint_fast64_t getNumberOfExplorationStepsUntilPrecomputation() const
Retrieves the number of exploration steps to perform until a precomputation is triggered.
static const std::string moduleName
@ DifferenceProbabilitySum
double getPrecision() const
Retrieves the precision to use for numerical operations.
NextStateHeuristic getNextStateHeuristic() const
Retrieves the selected next-state heuristic.
PrecomputationType getPrecomputationType() const
Retrieves the selected precomputation type.
ExplorationSettings()
Creates a new set of exploration settings.
bool isGlobalPrecomputationSet() const
Retrieves whether global precomputation is to be used.
bool isNumberOfSampledPathsUntilPrecomputationSet() const
virtual bool check() const override
Checks whether the settings are consistent.
This is the base class of the settings for a particular module.
void addOption(std::shared_ptr< Option > const &option)
Adds and registers the given option.
Option & getOption(std::string const &longName)
Retrieves the option with the given long name.
#define STORM_LOG_WARN_COND(cond, message)
#define STORM_LOG_THROW(cond, exception, message)
SettingsType const & getModule()
Get module.