18template<
typename ValueType>
30 boost::optional<storm::solver::OptimizationDirection>
const&
direction = boost::none,
35 std::vector<ValueType>
const& b)
const override;
39 mutable std::unique_ptr<storm::solver::Multiplier<ValueType>> multiplier;
41 mutable boost::optional<storm::storage::SparseMatrix<ValueType>> orderedMatrix;
43 mutable boost::optional<std::vector<uint64_t>> rowGroupOrdering;
45 mutable boost::optional<std::vector<ValueType>> auxiliaryRowVector;
47 mutable boost::optional<std::vector<ValueType>> auxiliaryRowGroupVector;
49 mutable boost::optional<std::vector<uint64_t>> auxiliaryRowGroupIndexVector;
51 mutable std::vector<std::pair<uint64_t, ValueType>> bFactors;
virtual bool internalSolveEquations(storm::Environment const &env, OptimizationDirection d, std::vector< ValueType > &x, std::vector< ValueType > const &b) const override
AcyclicMinMaxLinearEquationSolver()
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.
virtual ~AcyclicMinMaxLinearEquationSolver()
virtual void clearCache() const override
Clears the currently cached data that has been stored during previous calls of the solver.
OptimizationDirectionSetting direction
bool hasInitialScheduler() const
StandardMinMaxLinearEquationSolver()
storm::storage::SparseMatrix< ValueType > const * A
A class that holds a possibly non-square matrix in the compressed row storage format.