15namespace modelchecker {
16namespace multiobjective {
24template<
typename ModelType>
40 virtual void check(
Environment const& env, std::vector<ValueType>
const& weightVector) = 0;
87template<
typename ModelType>
90 template<
typename VT =
typename ModelType::ValueType,
91 typename std::enable_if<std::is_same<ModelType, storm::models::sparse::Mdp<VT>>::value,
int>::type = 0>
92 static std::unique_ptr<PcaaWeightVectorChecker<ModelType>>
create(
95 template<
typename VT =
typename ModelType::ValueType,
96 typename std::enable_if<std::is_same<ModelType, storm::models::sparse::MarkovAutomaton<VT>>::value,
int>::type = 0>
97 static std::unique_ptr<PcaaWeightVectorChecker<ModelType>>
create(
Helper Class that takes a weight vector and ...
ModelType::ValueType ValueType
boost::optional< ValueType > computeWeightedResultBound(bool lower, std::vector< ValueType > const &weightVector, storm::storage::BitVector const &objectiveFilter) const
Computes the weighted lower or upper bounds for the provided set of objectives.
virtual std::vector< ValueType > getOverApproximationOfInitialStateResults() const =0
std::vector< Objective< ValueType > > objectives
virtual void check(Environment const &env, std::vector< ValueType > const &weightVector)=0
virtual ~PcaaWeightVectorChecker()=default
void setWeightedPrecision(ValueType const &value)
Sets the precision of this weight vector checker.
ValueType const & getWeightedPrecision() const
Returns the precision of this weight vector checker.
virtual storm::storage::Scheduler< ValueType > computeScheduler() const
Retrieves a scheduler that induces the current values (if such a scheduler was generated).
ValueType weightedPrecision
virtual std::vector< ValueType > getUnderApproximationOfInitialStateResults() const =0
Retrieves the results of the individual objectives at the initial state of the given model.
static std::unique_ptr< PcaaWeightVectorChecker< ModelType > > create(preprocessing::SparseMultiObjectivePreprocessorResult< ModelType > const &preprocessorResult)
static std::unique_ptr< PcaaWeightVectorChecker< ModelType > > create(preprocessing::SparseMultiObjectivePreprocessorResult< ModelType > const &preprocessorResult)
A bit vector that is internally represented as a vector of 64-bit values.
This class defines which action is chosen in a particular state of a non-deterministic model.