68 SolverStatus solveEquations(std::vector<ValueType>& lowerX, std::vector<ValueType>& upperX,
const std::vector<ValueType>& b, uint64_t& numIterations,
69 bool relative, ValueType precision, std::optional<storm::solver::OptimizationDirection> dir,
73 std::shared_ptr<ValueIterationOperator<ValueType, TrivialRowGrouping>> viOperator;
75 std::vector<ValueType> guessLower, guessUpper;
76 gviinternal::IndexType selectRowGroupToGuess(std::vector<ValueType>& lowerX, std::vector<ValueType>& upperX);
78 template<OptimizationDirection Dir>
79 SolverStatus solveEquations(std::vector<ValueType>& lowerX, std::vector<ValueType>& upperX,
const std::vector<ValueType>& b, uint64_t& numIterations,
82 template<OptimizationDirection Dir>
83 void applyInPlace(std::vector<ValueType>& lowerX, std::vector<ValueType>& upperX,
const std::vector<ValueType>& b,
GVIBackend<ValueType, Dir>& backend);
85 template<OptimizationDirection Dir>
86 std::pair<gviinternal::VerifyResult, SolverStatus> tryVerify(std::vector<ValueType>& lowerX, std::vector<ValueType>& upperX,
87 const std::vector<ValueType>& b, uint64_t& numIterations,
92 template<OptimizationDirection Dir>
93 SolverStatus doIterations(std::vector<ValueType>& lowerX, std::vector<ValueType>& upperX,
const std::vector<ValueType>& b, uint64_t& numIterations,
94 std::optional<uint64_t> maxIterations,
bool relative,
const ValueType& precision,
SolverStatus solveEquations(std::vector< ValueType > &lowerX, std::vector< ValueType > &upperX, const std::vector< ValueType > &b, uint64_t &numIterations, bool relative, ValueType precision, std::optional< storm::solver::OptimizationDirection > dir, std::function< SolverStatus(GVIData< ValueType > const &)> const &iterationCallback)