Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
DftExplorationHeuristic.cpp
Go to the documentation of this file.
2
5
6namespace storm::dft {
7namespace builder {
8
9template<>
13
14template<typename ValueType>
16 STORM_LOG_THROW(false, storm::exceptions::NotImplementedException, "Heuristic 'probability' does not work for this data type.");
17}
18
19template<>
21 STORM_LOG_ASSERT(lowerBound && upperBound, "Bounds have not been set for this heuristic.");
22 double difference = *lowerBound - *upperBound; // Lower bound is larger than upper bound
23 difference = 2 * difference / (*upperBound + *lowerBound);
24 return probability * difference;
25}
26
27template<typename ValueType>
29 STORM_LOG_THROW(false, storm::exceptions::NotImplementedException, "Heuristic 'bound difference' does not work for this data type.");
30}
31
32// Instantiate templates.
36
40
41} // namespace builder
42} // namespace storm::dft
std::optional< ValueType > lowerBound
The bounds are set by the model builder before the heuristic enters the exploration queue.
#define STORM_LOG_ASSERT(cond, message)
Definition macros.h:9
#define STORM_LOG_THROW(cond, exception, message)
Definition macros.h:28