28 boost::optional<storm::solver::OptimizationDirection>
const&
direction = boost::none,
33 std::vector<ValueType>
const& b)
const override;
39 void createSortedSccDecomposition(
bool needLongestChainSize)
const;
43 bool solveTrivialScc(uint64_t
const& sccState,
OptimizationDirection d, std::vector<ValueType>& globalX, std::vector<ValueType>
const& globalB)
const;
46 std::vector<ValueType>
const& b)
const;
50 std::optional<storm::storage::BitVector>
const& globalRelevantValues)
const;
53 mutable std::unique_ptr<storm::storage::StronglyConnectedComponentDecomposition<ValueType>> sortedSccDecomposition;
54 mutable boost::optional<uint64_t> longestSccChainSize;
55 mutable std::unique_ptr<storm::solver::MinMaxLinearEquationSolver<ValueType>> sccSolver;
56 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.