12template<
typename ValueType>
13class MaximalEndComponentDecomposition;
18namespace modelchecker::multiobjective {
20template<
typename ModelType>
99 std::optional<ValueType> constantInitialStateValue;
101 std::map<uint64_t, ValueType> choiceRewards;
105 mutable std::optional<std::vector<ValueType>> lowerResultBounds;
106 mutable std::optional<std::vector<ValueType>> upperResultBounds;
108 ModelType
const& model;
storm::storage::BitVector const & getRelevantZeroRewardChoices() const
Returns the choices that (i) originate from a maybestate and (ii) have zero value.
InfinityCase const & getInfinityCase() const
ModelType::ValueType ValueType
bool hasThreshold() const
Returns true, if this objective specifies a threshold.
ValueType const & getLowerValueBoundAtState(uint64_t state) const
storm::storage::BitVector const & getRewMinusInfEStates() const
Returns the set of states for which value -inf is possible.
storm::storage::BitVector const & getMaybeStates() const
Returns those states for which the scheduler potentially influences the value.
ValueType evaluateScheduler(Environment const &env, storm::storage::BitVector const &selectedChoices) const
Computes the value at the initial state under the given scheduler.
ValueType getConstantInitialStateValue() const
If hasConstantInitialStateValue is true, this returns that constant value.
bool isTotalRewardObjective() const
Returns true if this is a total reward objective.
bool hasConstantInitialStateValue() const
Returns true iff the value at the (unique) initial state is a constant (that is independent of the sc...
void computeLowerUpperBounds(Environment const &env) const
ValueType getThreshold() const
Returns the threshold (if specified)
std::map< uint64_t, ValueType > const & getChoiceRewards() const
Returns the choice rewards if non-zero.
ValueType const & getUpperValueBoundAtState(uint64_t state) const
A bit vector that is internally represented as a vector of 64-bit values.