@ -8,8 +8,10 @@
# include "storm/utility/constants.h"
# include "storm/utility/constants.h"
# include "storm/utility/vector.h"
# include "storm/utility/vector.h"
# include "storm/utility/solver.h"
# include "storm/utility/solver.h"
# include "storm/utility/Stopwatch.h"
# include "storm/settings/SettingsManager.h"
# include "storm/settings/SettingsManager.h"
# include "storm/settings/modules/GeneralSettings.h"
# include "storm/settings/modules/GeneralSettings.h"
# include "storm/settings/modules/CoreSettings.h"
# include "storm/settings/modules/MultiObjectiveSettings.h"
# include "storm/settings/modules/MultiObjectiveSettings.h"
# include "storm/storage/expressions/Expressions.h"
# include "storm/storage/expressions/Expressions.h"
@ -39,15 +41,23 @@ namespace storm {
template < class SparseModelType >
template < class SparseModelType >
bool SparseCbAchievabilityQuery < SparseModelType > : : checkAchievability ( ) {
bool SparseCbAchievabilityQuery < SparseModelType > : : checkAchievability ( ) {
STORM_LOG_INFO ( " Building constraint system to check achievability. " ) ;
//this->preprocessedModel.writeDotToStream(std::cout);
//this->preprocessedModel.writeDotToStream(std::cout);
storm : : utility : : Stopwatch swInitialization ( true ) ;
initializeConstraintSystem ( ) ;
initializeConstraintSystem ( ) ;
solver - > push ( ) ;
STORM_LOG_INFO ( " Constraint system consists of " < < expectedChoiceVariables . size ( ) < < " + " < < bottomStateVariables . size ( ) < < " variables " ) ;
addObjectiveConstraints ( ) ;
addObjectiveConstraints ( ) ;
solver - > push ( ) ;
swInitialization . stop ( ) ;
storm : : utility : : Stopwatch swCheck ( true ) ;
STORM_LOG_INFO ( " Invoking SMT Solver. " ) ;
storm : : solver : : SmtSolver : : CheckResult result = solver - > check ( ) ;
storm : : solver : : SmtSolver : : CheckResult result = solver - > check ( ) ;
swCheck . stop ( ) ;
if ( storm : : settings : : getModule < storm : : settings : : modules : : CoreSettings > ( ) . isShowStatisticsSet ( ) ) {
STORM_PRINT_AND_LOG ( " Building the constraintsystem took " < < swInitialization < < " seconds and checking the SMT formula took " < < swCheck < < " seconds. " < < std : : endl ) ;
}
switch ( result ) {
switch ( result ) {
case storm : : solver : : SmtSolver : : CheckResult : : Sat :
case storm : : solver : : SmtSolver : : CheckResult : : Sat :
// std::cout << std::endl << "Satisfying assignment: " << std::endl << solver->getModelAsValuation().toString(true) << std::endl;
// std::cout << std::endl << "Satisfying assignment: " << std::endl << solver->getModelAsValuation().toString(true) << std::endl;