24const std::string TopologicalEquationSolverSettings::underlyingEquationSolverOptionName =
"eqsolver";
25const std::string TopologicalEquationSolverSettings::underlyingMinMaxMethodOptionName =
"minmax";
26const std::string TopologicalEquationSolverSettings::extendRelevantValuesOptionName =
"relevant-values";
31 "Sets which solver is considered for solving the underlying equation systems.")
39 "vi",
"value-iteration",
"pi",
"policy-iteration",
"lp",
"linear-programming",
"rs",
"ratsearch",
40 "ii",
"interval-iteration",
"svi",
"sound-value-iteration",
"ovi",
"optimistic-value-iteration",
"vi-to-pi",
"vi-to-lp"};
42 "Sets which minmax method is considered for solving the underlying minmax equation systems.")
68 return storm::solver::EquationSolverType::Gmmxx;
70 return storm::solver::EquationSolverType::Native;
72 return storm::solver::EquationSolverType::Eigen;
74 return storm::solver::EquationSolverType::Elimination;
91 return storm::solver::MinMaxMethod::ValueIteration;
93 return storm::solver::MinMaxMethod::PolicyIteration;
95 return storm::solver::MinMaxMethod::LinearProgramming;
97 return storm::solver::MinMaxMethod::RationalSearch;
99 return storm::solver::MinMaxMethod::IntervalIteration;
101 return storm::solver::MinMaxMethod::SoundValueIteration;
103 return storm::solver::MinMaxMethod::OptimisticValueIteration;
105 return storm::solver::MinMaxMethod::ViToPi;
107 return storm::solver::MinMaxMethod::ViToLp;
119 STORM_LOG_WARN(
"Underlying solver type of the topological solver can not be the topological solver.");
123 STORM_LOG_WARN(
"Underlying minmax method of the topological solver can not be topological.");
virtual std::string getValueAsString() const =0
Retrieves the value of this argument as a string.
virtual bool wasSetFromDefaultValue() const =0
static ArgumentBuilder createStringArgument(std::string const &name, std::string const &description)
Creates a string argument with the given parameters.
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.
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.
bool check() const override
Checks whether the settings are consistent.
bool isUnderlyingMinMaxMethodSet() const
Retrieves whether the underlying equation solver type has been set.
static const std::string moduleName
bool isUnderlyingMinMaxMethodSetFromDefaultValue() const
Retrieves whether the underlying minmax method is set from its default value.
TopologicalEquationSolverSettings()
Creates a new set of native equation solver settings.
bool isUnderlyingEquationSolverTypeSetFromDefaultValue() const
Retrieves whether the underlying equation solver type is set from its default value.
bool isExtendRelevantValues() const
If true, the relevant states of each SCC are computed and passed to the underlying equation solver.
storm::solver::EquationSolverType getUnderlyingEquationSolverType() const
Retrieves the method that is to be used for solving systems of linear equations.
storm::solver::MinMaxMethod getUnderlyingMinMaxMethod() const
Retrieves the method that is to be used for solving systems of linear equations.
bool isUnderlyingEquationSolverTypeSet() const
Retrieves whether the underlying equation solver type has been set.
#define STORM_LOG_WARN(message)
#define STORM_LOG_THROW(cond, exception, message)
SettingsType const & getModule()
Get module.