Browse Source

Added more abortion checks

main
Matthias Volk 5 years ago
parent
commit
3debbbc64d
  1. 49
      src/storm/modelchecker/csl/helper/SparseMarkovAutomatonCslHelper.cpp
  2. 35
      src/storm/modelchecker/multiobjective/pcaa/RewardBoundedMdpPcaaWeightVectorChecker.cpp
  3. 4
      src/storm/modelchecker/prctl/helper/SparseDtmcPrctlHelper.cpp
  4. 4
      src/storm/modelchecker/prctl/helper/SparseMdpPrctlHelper.cpp

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

@ -1,41 +1,32 @@
#include "storm/modelchecker/csl/helper/SparseMarkovAutomatonCslHelper.h" #include "storm/modelchecker/csl/helper/SparseMarkovAutomatonCslHelper.h"
#include "storm/modelchecker/prctl/helper/SparseMdpPrctlHelper.h"
#include "storm/models/sparse/StandardRewardModel.h"
#include "storm/storage/StronglyConnectedComponentDecomposition.h"
#include "storm/storage/MaximalEndComponentDecomposition.h"
#include "storm/settings/SettingsManager.h"
#include "storm/settings/modules/GeneralSettings.h"
#include "storm/settings/modules/MinMaxEquationSolverSettings.h"
#include "storm/environment/Environment.h" #include "storm/environment/Environment.h"
#include "storm/environment/solver/MinMaxSolverEnvironment.h" #include "storm/environment/solver/MinMaxSolverEnvironment.h"
#include "storm/environment/solver/TopologicalSolverEnvironment.h" #include "storm/environment/solver/TopologicalSolverEnvironment.h"
#include "storm/environment/solver/LongRunAverageSolverEnvironment.h" #include "storm/environment/solver/LongRunAverageSolverEnvironment.h"
#include "storm/environment/solver/EigenSolverEnvironment.h" #include "storm/environment/solver/EigenSolverEnvironment.h"
#include "storm/environment/solver/TimeBoundedSolverEnvironment.h" #include "storm/environment/solver/TimeBoundedSolverEnvironment.h"
#include "storm/exceptions/InvalidOperationException.h"
#include "storm/exceptions/UncheckedRequirementException.h"
#include "storm/modelchecker/prctl/helper/SparseMdpPrctlHelper.h"
#include "storm/models/sparse/StandardRewardModel.h"
#include "storm/settings/SettingsManager.h"
#include "storm/settings/modules/GeneralSettings.h"
#include "storm/settings/modules/MinMaxEquationSolverSettings.h"
#include "storm/solver/Multiplier.h"
#include "storm/solver/MinMaxLinearEquationSolver.h"
#include "storm/solver/LpSolver.h"
#include "storm/storage/StronglyConnectedComponentDecomposition.h"
#include "storm/storage/MaximalEndComponentDecomposition.h"
#include "storm/storage/expressions/Variable.h"
#include "storm/storage/expressions/Expression.h"
#include "storm/utility/macros.h" #include "storm/utility/macros.h"
#include "storm/utility/vector.h" #include "storm/utility/vector.h"
#include "storm/utility/graph.h" #include "storm/utility/graph.h"
#include "storm/utility/NumberTraits.h" #include "storm/utility/NumberTraits.h"
#include "storm/utility/SignalHandler.h" #include "storm/utility/SignalHandler.h"
#include "storm/storage/expressions/Variable.h"
#include "storm/storage/expressions/Expression.h"
#include "storm/storage/expressions/ExpressionManager.h"
#include "storm/solver/Multiplier.h"
#include "storm/solver/MinMaxLinearEquationSolver.h"
#include "storm/solver/LpSolver.h"
#include "storm/exceptions/InvalidStateException.h"
#include "storm/exceptions/InvalidPropertyException.h"
#include "storm/exceptions/InvalidOperationException.h"
#include "storm/exceptions/UncheckedRequirementException.h"
namespace storm { namespace storm {
namespace modelchecker { namespace modelchecker {
@ -203,6 +194,9 @@ namespace storm {
} }
progressSteps.updateProgress(N-k); progressSteps.updateProgress(N-k);
if (storm::utility::resources::isTerminate()) {
break;
}
} }
if (computeLowerBound) { if (computeLowerBound) {
storm::utility::vector::scaleVectorInPlace(maybeStatesValuesLower, storm::utility::one<ValueType>() / foxGlynnResult.totalWeight); storm::utility::vector::scaleVectorInPlace(maybeStatesValuesLower, storm::utility::one<ValueType>() / foxGlynnResult.totalWeight);
@ -215,6 +209,9 @@ namespace storm {
if (converged) { if (converged) {
break; break;
} }
if (storm::utility::resources::isTerminate()) {
break;
}
} }
if (!converged) { if (!converged) {
@ -240,6 +237,9 @@ namespace storm {
std::fill(maybeStatesValuesUpper.begin(), maybeStatesValuesUpper.end(), storm::utility::zero<ValueType>()); std::fill(maybeStatesValuesUpper.begin(), maybeStatesValuesUpper.end(), storm::utility::zero<ValueType>());
} }
progressIterations.updateProgress(++iteration); progressIterations.updateProgress(++iteration);
if (storm::utility::resources::isTerminate()) {
break;
}
} }
// We take the average of the lower and upper bounds // We take the average of the lower and upper bounds
@ -529,6 +529,9 @@ namespace storm {
} else { } else {
storm::utility::vector::addVectors(markovianNonGoalValues, bMarkovianFixed, markovianNonGoalValues); storm::utility::vector::addVectors(markovianNonGoalValues, bMarkovianFixed, markovianNonGoalValues);
} }
if (storm::utility::resources::isTerminate()) {
break;
}
} }
if (existProbabilisticStates) { if (existProbabilisticStates) {

35
src/storm/modelchecker/multiobjective/pcaa/RewardBoundedMdpPcaaWeightVectorChecker.cpp

@ -1,31 +1,29 @@
#include "storm/modelchecker/multiobjective/pcaa/RewardBoundedMdpPcaaWeightVectorChecker.h" #include "storm/modelchecker/multiobjective/pcaa/RewardBoundedMdpPcaaWeightVectorChecker.h"
#include "storm/adapters/RationalFunctionAdapter.h" #include "storm/adapters/RationalFunctionAdapter.h"
#include "storm/models/sparse/Mdp.h"
#include "storm/models/sparse/StandardRewardModel.h"
#include "storm/modelchecker/multiobjective/preprocessing/SparseMultiObjectiveRewardAnalysis.h"
#include "storm/utility/macros.h"
#include "storm/utility/vector.h"
#include "storm/utility/ProgressMeasurement.h"
#include "storm/logic/Formulas.h"
#include "storm/solver/MinMaxLinearEquationSolver.h"
#include "storm/solver/LinearEquationSolver.h"
#include "storm/environment/solver/MinMaxSolverEnvironment.h" #include "storm/environment/solver/MinMaxSolverEnvironment.h"
#include "storm/environment/solver/NativeSolverEnvironment.h" #include "storm/environment/solver/NativeSolverEnvironment.h"
#include "storm/settings/SettingsManager.h"
#include "storm/utility/export.h"
#include "storm/settings/modules/IOSettings.h"
#include "storm/settings/modules/GeneralSettings.h"
#include "storm/settings/modules/CoreSettings.h"
#include "storm/exceptions/InvalidPropertyException.h" #include "storm/exceptions/InvalidPropertyException.h"
#include "storm/exceptions/InvalidOperationException.h" #include "storm/exceptions/InvalidOperationException.h"
#include "storm/exceptions/IllegalArgumentException.h" #include "storm/exceptions/IllegalArgumentException.h"
#include "storm/exceptions/NotSupportedException.h" #include "storm/exceptions/NotSupportedException.h"
#include "storm/exceptions/UnexpectedException.h" #include "storm/exceptions/UnexpectedException.h"
#include "storm/exceptions/UncheckedRequirementException.h" #include "storm/exceptions/UncheckedRequirementException.h"
#include "storm/logic/Formulas.h"
#include "storm/models/sparse/Mdp.h"
#include "storm/models/sparse/StandardRewardModel.h"
#include "storm/modelchecker/multiobjective/preprocessing/SparseMultiObjectiveRewardAnalysis.h"
#include "storm/settings/SettingsManager.h"
#include "storm/settings/modules/IOSettings.h"
#include "storm/settings/modules/GeneralSettings.h"
#include "storm/settings/modules/CoreSettings.h"
#include "storm/solver/MinMaxLinearEquationSolver.h"
#include "storm/solver/LinearEquationSolver.h"
#include "storm/utility/ProgressMeasurement.h"
#include "storm/utility/SignalHandler.h"
#include "storm/utility/export.h"
#include "storm/utility/macros.h"
#include "storm/utility/vector.h"
namespace storm { namespace storm {
@ -101,6 +99,9 @@ namespace storm {
} }
++numCheckedEpochs; ++numCheckedEpochs;
progress.updateProgress(numCheckedEpochs); progress.updateProgress(numCheckedEpochs);
if (storm::utility::resources::isTerminate()) {
break;
}
} }
if (storm::settings::getModule<storm::settings::modules::IOSettings>().isExportCdfSet()) { if (storm::settings::getModule<storm::settings::modules::IOSettings>().isExportCdfSet()) {

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

@ -28,6 +28,7 @@
#include "storm/utility/Stopwatch.h" #include "storm/utility/Stopwatch.h"
#include "storm/utility/ProgressMeasurement.h" #include "storm/utility/ProgressMeasurement.h"
#include "storm/utility/SignalHandler.h"
#include "storm/utility/export.h" #include "storm/utility/export.h"
#include "storm/utility/macros.h" #include "storm/utility/macros.h"
@ -137,6 +138,9 @@ namespace storm {
} }
++numCheckedEpochs; ++numCheckedEpochs;
progress.updateProgress(numCheckedEpochs); progress.updateProgress(numCheckedEpochs);
if (storm::utility::resources::isTerminate()) {
break;
}
} }
std::map<storm::storage::sparse::state_type, ValueType> result; std::map<storm::storage::sparse::state_type, ValueType> result;

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

@ -32,6 +32,7 @@
#include "storm/utility/Stopwatch.h" #include "storm/utility/Stopwatch.h"
#include "storm/utility/ProgressMeasurement.h" #include "storm/utility/ProgressMeasurement.h"
#include "storm/utility/SignalHandler.h"
#include "storm/utility/export.h" #include "storm/utility/export.h"
#include "storm/utility/NumberTraits.h" #include "storm/utility/NumberTraits.h"
@ -135,6 +136,9 @@ namespace storm {
} }
++numCheckedEpochs; ++numCheckedEpochs;
progress.updateProgress(numCheckedEpochs); progress.updateProgress(numCheckedEpochs);
if (storm::utility::resources::isTerminate()) {
break;
}
} }
std::map<storm::storage::sparse::state_type, ValueType> result; std::map<storm::storage::sparse::state_type, ValueType> result;

Loading…
Cancel
Save