STORM_LOG_THROW(program.isDeterministicModel()||checkTask.isOptimizationDirectionSet(),storm::exceptions::InvalidPropertyException,"For nondeterministic systems, an optimization direction (min/max) must be given in the property.");
STORM_LOG_TRACE("Initializing bounds of action "<<(startAction+localAction)<<" to "<<bounds.getLowerBoundForAction(startAction+localAction)<<" and "<<bounds.getUpperBoundForAction(startAction+localAction)<<".");
++localAction;
@ -260,7 +260,7 @@ namespace storm {
// terminal state.
isTerminalState=true;
}
if(isTerminalState){
STORM_LOG_TRACE("State does not need to be explored, because it is "<<(isTargetState?"a target state":"a rejecting terminal state")<<".");
std::cout<<"lower bound for state "<<relevantStates[index]<<" is "<<bounds.getLowerBoundForState(relevantStates[index],explorationInformation)<<std::endl;
this->addOption(storm::settings::OptionBuilder(moduleName,numberOfExplorationStepsUntilPrecomputationOptionName,true,"Sets the number of exploration steps to perform until a precomputation is triggered.").addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("count","The number of exploration steps to perform.").setDefaultValueUnsignedInteger(100000).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,numberOfSampledPathsUntilPrecomputationOptionName,true,"If set, a precomputation is perfomed periodically after the given number of paths has been sampled.").addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("count","The number of paths to sample until a precomputation is triggered.").setDefaultValueUnsignedInteger(100000).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,nextStateHeuristicOptionName,true,"Sets the next-state heuristic to use. Available are: { probdiff, prob } where 'prob' samples according to the probabilities in the system and 'probdiff' weights the probabilities with the differences between the current bounds.").addArgument(storm::settings::ArgumentBuilder::createStringArgument("name","The name of the heuristic to use.").addValidationFunctionString(storm::settings::ArgumentValidators::stringInListValidator(nextStateHeuristics)).setDefaultValueString("probdiff").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,nextStateHeuristicOptionName,true,"Sets the next-state heuristic to use. Available are: { probdiffs, prob, unif } where 'prob' samples according to the probabilities in the system, 'probdiffs' takes into account probabilities and the differences between the current bounds and 'unif' samples uniformly.").addArgument(storm::settings::ArgumentBuilder::createStringArgument("name","The name of the heuristic to use.").addValidationFunctionString(storm::settings::ArgumentValidators::stringInListValidator(nextStateHeuristics)).setDefaultValueString("probdiffs").build()).build());