Browse Source

Fixed Value Iteration based LRA computation

tempestpy_adaptions
TimQu 6 years ago
parent
commit
c614e9d747
  1. 2
      src/storm/modelchecker/csl/helper/SparseMarkovAutomatonCslHelper.cpp
  2. 4
      src/storm/modelchecker/prctl/helper/SparseMdpPrctlHelper.cpp

2
src/storm/modelchecker/csl/helper/SparseMarkovAutomatonCslHelper.cpp

@ -1030,7 +1030,7 @@ namespace storm {
} }
// Check for convergence // Check for convergence
if (maxDiff - minDiff <= relative ? (precision * minDiff) : precision) {
if ((maxDiff - minDiff) <= (relative ? (precision * minDiff) : precision)) {
break; break;
} }

4
src/storm/modelchecker/prctl/helper/SparseMdpPrctlHelper.cpp

@ -1572,7 +1572,7 @@ namespace storm {
STORM_LOG_ASSERT(mecTransitions.isProbabilistic(), "The MEC-Matrix is not probabilistic."); STORM_LOG_ASSERT(mecTransitions.isProbabilistic(), "The MEC-Matrix is not probabilistic.");
// start the iterations // start the iterations
ValueType precision = storm::utility::convertNumber<ValueType>(env.solver().minMax().getPrecision());
ValueType precision = storm::utility::convertNumber<ValueType>(env.solver().minMax().getPrecision()) / scalingFactor;
bool relative = env.solver().minMax().getRelativeTerminationCriterion(); bool relative = env.solver().minMax().getRelativeTerminationCriterion();
std::vector<ValueType> x(mecTransitions.getRowGroupCount(), storm::utility::zero<ValueType>()); std::vector<ValueType> x(mecTransitions.getRowGroupCount(), storm::utility::zero<ValueType>());
std::vector<ValueType> xPrime = x; std::vector<ValueType> xPrime = x;
@ -1600,7 +1600,7 @@ namespace storm {
*xPrimeIt = *xIt; *xPrimeIt = *xIt;
} }
if ((maxDiff - minDiff) <= relative ? (precision * minDiff) : precision) {
if ((maxDiff - minDiff) <= (relative ? (precision * minDiff) : precision)) {
break; break;
} }
} }

Loading…
Cancel
Save