15namespace modelchecker {
16namespace multiobjective {
24template<
typename ModelType>
114 std::optional<ValueType> weightedPrecision;
117template<
typename ModelType>
Helper Class that takes a weight vector and ...
ModelType::ValueType ValueType
virtual std::vector< ValueType > getAchievablePoint() const =0
Retrieves the result of the individual objectives at the initial state of the given model.
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 ValueType getOptimalWeightedSum() const =0
Retrieves the optimal weighted sum of the objective values (or an upper bound thereof).
virtual bool smallPrecisionsAreChallenging() const
Returns whether achieving precise values (i.e.
std::vector< Objective< ValueType > > objectives
virtual ~PcaaWeightVectorChecker()=default
void setWeightedPrecision(ValueType const &value)
Sets the precision of this weight vector checker.
ValueType const & getWeightedPrecision() const
Returns the current precision of this weight vector checker as specified by setWeightedPrecision().
virtual storm::storage::Scheduler< ValueType > computeScheduler() const
Retrieves a scheduler that induces the current values (if such a scheduler was generated).
virtual void check(Environment const &env, std::vector< ValueType > weightVector)=0
Solves the Weighted Sum Optimization Problem for the given weight vector.
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.
std::unique_ptr< PcaaWeightVectorChecker< ModelType > > createWeightVectorChecker(preprocessing::SparseMultiObjectivePreprocessorResult< ModelType > const &preprocessorResult)