21 template<storm::OptimizationDirection Dir,
bool Relative>
22 SolverStatus DiscountedVI(std::vector<ValueType>& operand, std::vector<ValueType>
const& offsets, uint64_t& numIterations, ValueType
const& precision,
23 ValueType
const& discountFactor, ValueType
const& maximalAbsoluteReward,
27 SolverStatus DiscountedVI(std::vector<ValueType>& operand, std::vector<ValueType>
const& offsets, uint64_t& numIterations,
bool relative,
28 ValueType
const& precision, ValueType
const& discountFactor, ValueType
const& maximalAbsoluteReward,
29 std::optional<storm::OptimizationDirection>
const& dir = {},
33 SolverStatus DiscountedVI(std::vector<ValueType>& operand, std::vector<ValueType>
const& offsets,
bool relative, ValueType
const& precision,
34 ValueType
const& discountFactor, ValueType
const& maximalAbsoluteReward,
35 std::optional<storm::OptimizationDirection>
const& dir = {},
40 std::shared_ptr<ValueIterationOperator<ValueType, TrivialRowGrouping>> viOperator;
SolverStatus DiscountedVI(std::vector< ValueType > &operand, std::vector< ValueType > const &offsets, uint64_t &numIterations, ValueType const &precision, ValueType const &discountFactor, ValueType const &maximalAbsoluteReward, std::function< SolverStatus(SolverStatus const &)> const &iterationCallback={}, MultiplicationStyle mult=MultiplicationStyle::GaussSeidel) const