Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SingleValueModelCheckerHelper.cpp
Go to the documentation of this file.
3
5
6namespace storm {
7namespace modelchecker {
8namespace helper {
9
10template<typename ValueType, storm::models::ModelRepresentation ModelRepresentation>
12 // Intentionally left empty
13}
14
15template<typename ValueType, storm::models::ModelRepresentation ModelRepresentation>
19
20template<typename ValueType, storm::models::ModelRepresentation ModelRepresentation>
24
25template<typename ValueType, storm::models::ModelRepresentation ModelRepresentation>
27 return _optimizationDirection.is_initialized();
28}
29
30template<typename ValueType, storm::models::ModelRepresentation ModelRepresentation>
32 STORM_LOG_ASSERT(isOptimizationDirectionSet(), "Requested optimization direction but none was set.");
33 return _optimizationDirection.get();
34}
35
36template<typename ValueType, storm::models::ModelRepresentation ModelRepresentation>
38 return storm::solver::minimize(getOptimizationDirection());
39}
40
41template<typename ValueType, storm::models::ModelRepresentation ModelRepresentation>
44}
45
46template<typename ValueType, storm::models::ModelRepresentation ModelRepresentation>
48 return _optimizationDirection;
50
51template<typename ValueType, storm::models::ModelRepresentation ModelRepresentation>
53 ValueType const& threshold) {
54 _valueThreshold = std::make_pair(comparisonType, threshold);
56
57template<typename ValueType, storm::models::ModelRepresentation ModelRepresentation>
61
62template<typename ValueType, storm::models::ModelRepresentation ModelRepresentation>
64 return _valueThreshold.is_initialized();
65}
66
67template<typename ValueType, storm::models::ModelRepresentation ModelRepresentation>
69 STORM_LOG_ASSERT(isValueThresholdSet(), "Value Threshold comparison type was requested but not set before.");
70 return _valueThreshold->first;
71}
72
73template<typename ValueType, storm::models::ModelRepresentation ModelRepresentation>
75 STORM_LOG_ASSERT(isValueThresholdSet(), "Value Threshold comparison type was requested but not set before.");
76 return _valueThreshold->second;
77}
78
79template<typename ValueType, storm::models::ModelRepresentation ModelRepresentation>
83
84template<typename ValueType, storm::models::ModelRepresentation ModelRepresentation>
Helper for model checking queries where we are interested in (optimizing) a single value per state.
storm::logic::ComparisonType const & getValueThresholdComparisonType() const
void setValueThreshold(storm::logic::ComparisonType const &comparisonType, ValueType const &thresholdValue)
Sets a goal threshold for the value at each state.
void clearOptimizationDirection()
Clears the optimization direction if it was set before.
void setQualitative(bool value)
Sets whether the property needs to be checked qualitatively.
void setProduceScheduler(bool value)
Sets whether an optimal scheduler shall be constructed during the computation.
boost::optional< storm::solver::OptimizationDirection > getOptionalOptimizationDirection() const
storm::solver::OptimizationDirection const & getOptimizationDirection() const
void setOptimizationDirection(storm::solver::OptimizationDirection const &direction)
Sets the optimization direction, i.e., whether we want to minimize or maximize the value for each sta...
void clearValueThreshold()
Clears the valueThreshold if it was set before.
#define STORM_LOG_ASSERT(cond, message)
Definition macros.h:11
bool constexpr maximize(OptimizationDirection d)
bool constexpr minimize(OptimizationDirection d)
LabParser.cpp.
Definition cli.cpp:18