31 std::vector<ValueType>
const& b)
const override;
36 boost::optional<storm::solver::OptimizationDirection>
const&
direction = boost::none,
40 MinMaxMethod getMethod(
Environment const& env,
bool isExactMode)
const;
43 std::vector<uint64_t>
const& scheduler, std::vector<SolutionType>& x, std::vector<ValueType>& subB,
44 std::vector<ValueType>
const& originalB)
const;
47 std::vector<storm::storage::sparse::state_type>&& initialPolicy)
const;
48 bool valueImproved(
OptimizationDirection dir, ValueType
const& value1, ValueType
const& value2)
const;
52 std::vector<ValueType>
const& b)
const;
54 std::vector<ValueType>
const& b)
const;
56 std::vector<ValueType>
const& b)
const;
61 void setUpViOperator()
const;
62 void extractScheduler(std::vector<SolutionType>& x, std::vector<ValueType>
const& b,
OptimizationDirection const& dir,
bool robust,
63 bool updateX =
true)
const;
65 void createLinearEquationSolver(
Environment const& env)
const;
68 std::unique_ptr<LinearEquationSolverFactory<ValueType>> linearEquationSolverFactory;
71 mutable std::shared_ptr<storm::solver::helper::ValueIterationOperator<ValueType, false, SolutionType>> viOperator;
72 mutable std::unique_ptr<std::vector<ValueType>> auxiliaryRowGroupVector;
virtual MinMaxLinearEquationSolverRequirements getRequirements(Environment const &env, boost::optional< storm::solver::OptimizationDirection > const &direction=boost::none, bool const &hasInitialScheduler=false) const override
Retrieves the requirements of this solver for solving equations with the current settings.