@ -20,13 +20,10 @@ TEST(SparseMdpCbMultiObjectiveModelCheckerTest, consensus) {
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
program = storm : : utility : : prism : : preprocess ( program , " " ) ;
std : : vector < std : : shared_ptr < storm : : logic : : Formula const > > formulas = storm : : extractFormulasFromProperties ( storm : : parsePropertiesForPrismProgram ( formulasAsString , program ) ) ;
std : : shared_ptr < storm : : models : : sparse : : Mdp < double > > mdp = storm : : buildSparseModel < double > ( program , formulas ) - > as < storm : : models : : sparse : : Mdp < double > > ( ) ;
std : : shared_ptr < storm : : models : : sparse : : Mdp < storm : : RationalNumber > > mdp = storm : : buildSparseModel < storm : : RationalNumber > ( program , formulas ) - > as < storm : : models : : sparse : : Mdp < storm : : RationalNumber > > ( ) ;
uint_fast64_t const initState = * mdp - > getInitialStates ( ) . begin ( ) ; ;
std : : unique_ptr < storm : : modelchecker : : CheckResult > result ;
// noQuantitativeYet result = storm::modelchecker::multiobjective::performMultiObjectiveModelChecking(*mdp, formulas[0]->asMultiObjectiveFormula(), storm::modelchecker::multiobjective::MultiObjectiveMethodSelection::ConstraintBased);
// noQuantitativeYet ASSERT_TRUE(result->isExplicitQuantitativeCheckResult());
// noQuantitativeYet EXPECT_NEAR(0.10833260970000025, result->asExplicitQuantitativeCheckResult<double>()[initState], storm::settings::getModule<storm::settings::modules::GeneralSettings>().getPrecision());
result = storm : : modelchecker : : multiobjective : : performMultiObjectiveModelChecking ( * mdp , formulas [ 1 ] - > asMultiObjectiveFormula ( ) , storm : : modelchecker : : multiobjective : : MultiObjectiveMethodSelection : : ConstraintBased ) ;
ASSERT_TRUE ( result - > isExplicitQualitativeCheckResult ( ) ) ;
@ -48,7 +45,7 @@ TEST(SparseMdpCbMultiObjectiveModelCheckerTest, zeroconf) {
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
program = storm : : utility : : prism : : preprocess ( program , " " ) ;
std : : vector < std : : shared_ptr < storm : : logic : : Formula const > > formulas = storm : : extractFormulasFromProperties ( storm : : parsePropertiesForPrismProgram ( formulasAsString , program ) ) ;
std : : shared_ptr < storm : : models : : sparse : : Mdp < double > > mdp = storm : : buildSparseModel < double > ( program , formulas ) - > as < storm : : models : : sparse : : Mdp < double > > ( ) ;
std : : shared_ptr < storm : : models : : sparse : : Mdp < storm : : RationalNumber > > mdp = storm : : buildSparseModel < storm : : RationalNumber > ( program , formulas ) - > as < storm : : models : : sparse : : Mdp < storm : : RationalNumber > > ( ) ;
uint_fast64_t const initState = * mdp - > getInitialStates ( ) . begin ( ) ;
std : : unique_ptr < storm : : modelchecker : : CheckResult > result = storm : : modelchecker : : multiobjective : : performMultiObjectiveModelChecking ( * mdp , formulas [ 0 ] - > asMultiObjectiveFormula ( ) , storm : : modelchecker : : multiobjective : : MultiObjectiveMethodSelection : : ConstraintBased ) ;
@ -56,6 +53,7 @@ TEST(SparseMdpCbMultiObjectiveModelCheckerTest, zeroconf) {
EXPECT_TRUE ( result - > asExplicitQualitativeCheckResult ( ) [ initState ] ) ;
}
/* This test takes a little bit too long ...
TEST ( SparseMdpCbMultiObjectiveModelCheckerTest , team3with3objectives ) {
std : : string programFile = STORM_TEST_RESOURCES_DIR " /mdp/multiobj_team3.nm " ;
@ -65,27 +63,12 @@ TEST(SparseMdpCbMultiObjectiveModelCheckerTest, team3with3objectives) {
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
program = storm : : utility : : prism : : preprocess ( program , " " ) ;
std : : vector < std : : shared_ptr < storm : : logic : : Formula const > > formulas = storm : : extractFormulasFromProperties ( storm : : parsePropertiesForPrismProgram ( formulasAsString , program ) ) ;
std : : shared_ptr < storm : : models : : sparse : : Mdp < double > > mdp = storm : : buildSparseModel < double > ( program , formulas ) - > as < storm : : models : : sparse : : Mdp < double > > ( ) ;
std : : shared_ptr < storm : : models : : sparse : : Mdp < storm : : RationalNumber > > mdp = storm : : buildSparseModel < storm : : RationalNumber > ( program , formulas ) - > as < storm : : models : : sparse : : Mdp < storm : : RationalNumber > > ( ) ;
uint_fast64_t const initState = * mdp - > getInitialStates ( ) . begin ( ) ;
std : : unique_ptr < storm : : modelchecker : : CheckResult > result = storm : : modelchecker : : multiobjective : : performMultiObjectiveModelChecking ( * mdp , formulas [ 0 ] - > asMultiObjectiveFormula ( ) , storm : : modelchecker : : multiobjective : : MultiObjectiveMethodSelection : : ConstraintBased ) ;
ASSERT_TRUE ( result - > isExplicitQualitativeCheckResult ( ) ) ;
EXPECT_FALSE ( result - > asExplicitQualitativeCheckResult ( ) [ initState ] ) ;
}
TEST ( SparseMdpCbMultiObjectiveModelCheckerTest , scheduler ) {
std : : string programFile = STORM_TEST_RESOURCES_DIR " /mdp/multiobj_scheduler05.nm " ;
std : : string formulasAsString = " multi(R{ \" time \" }<= 11.778[ F \" tasks_complete \" ], R{ \" energy \" }<=1.45 [ F \" tasks_complete \" ]) " ;
// programm, model, formula
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
program = storm : : utility : : prism : : preprocess ( program , " " ) ;
std : : vector < std : : shared_ptr < storm : : logic : : Formula const > > formulas = storm : : extractFormulasFromProperties ( storm : : parsePropertiesForPrismProgram ( formulasAsString , program ) ) ;
std : : shared_ptr < storm : : models : : sparse : : Mdp < double > > mdp = storm : : buildSparseModel < double > ( program , formulas ) - > as < storm : : models : : sparse : : Mdp < double > > ( ) ;
uint_fast64_t const initState = * mdp - > getInitialStates ( ) . begin ( ) ;
std : : unique_ptr < storm : : modelchecker : : CheckResult > result = storm : : modelchecker : : multiobjective : : performMultiObjectiveModelChecking ( * mdp , formulas [ 0 ] - > asMultiObjectiveFormula ( ) , storm : : modelchecker : : multiobjective : : MultiObjectiveMethodSelection : : ConstraintBased ) ;
EXPECT_TRUE ( result - > asExplicitQualitativeCheckResult ( ) [ initState ] ) ;
}
*/