Browse Source

minor fix for the selection of the precision in Pareto queries

tempestpy_adaptions
TimQu 8 years ago
parent
commit
6fb9e54973
  1. 7
      src/storm/modelchecker/multiobjective/pcaa/SparsePcaaParetoQuery.cpp

7
src/storm/modelchecker/multiobjective/pcaa/SparsePcaaParetoQuery.cpp

@ -7,7 +7,7 @@
#include "storm/modelchecker/results/ParetoCurveCheckResult.h"
#include "storm/utility/constants.h"
#include "storm/utility/vector.h"
#include "storm/settings//SettingsManager.h"
#include "storm/settings/SettingsManager.h"
#include "storm/settings/modules/MultiObjectiveSettings.h"
#include "storm/settings/modules/GeneralSettings.h"
@ -22,7 +22,10 @@ namespace storm {
// Set the precision of the weight vector checker
typename SparseModelType::ValueType weightedPrecision = storm::utility::convertNumber<typename SparseModelType::ValueType>(storm::settings::getModule<storm::settings::modules::MultiObjectiveSettings>().getPrecision());
weightedPrecision /= typename SparseModelType::ValueType(2);
weightedPrecision /= storm::utility::sqrt(storm::utility::convertNumber<typename SparseModelType::ValueType, uint_fast64_t>(this->objectives.size()));
// multiobjPrecision / sqrt(numObjectives) is the largest possible value for which termination is guaranteed.
// Lets be a little bit more precise to reduce the number of required iterations.
weightedPrecision *= storm::utility::convertNumber<typename SparseModelType::ValueType>(0.9);
this->weightVectorChecker->setWeightedPrecision(weightedPrecision);
}

Loading…
Cancel
Save