180 program = program.
flattenModules(std::make_unique<storm::utility::solver::MathsatSmtSolverFactory>());
182 std::vector<storm::expressions::Expression> initialPredicates;
185 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(0));
186 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(1));
187 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(2));
188 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(3));
189 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(4));
190 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(5));
191 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(6));
192 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(7));
194 initialPredicates.push_back(manager.getVariableExpression(
"d1") == manager.integer(0));
195 initialPredicates.push_back(manager.getVariableExpression(
"d1") == manager.integer(1));
196 initialPredicates.push_back(manager.getVariableExpression(
"d1") == manager.integer(2));
197 initialPredicates.push_back(manager.getVariableExpression(
"d1") == manager.integer(3));
198 initialPredicates.push_back(manager.getVariableExpression(
"d1") == manager.integer(4));
199 initialPredicates.push_back(manager.getVariableExpression(
"d1") == manager.integer(5));
200 initialPredicates.push_back(manager.getVariableExpression(
"d1") == manager.integer(6));
202 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(0));
203 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(1));
204 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(2));
205 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(3));
206 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(4));
207 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(5));
208 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(6));
209 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(7));
211 initialPredicates.push_back(manager.getVariableExpression(
"d2") == manager.integer(0));
212 initialPredicates.push_back(manager.getVariableExpression(
"d2") == manager.integer(1));
213 initialPredicates.push_back(manager.getVariableExpression(
"d2") == manager.integer(2));
214 initialPredicates.push_back(manager.getVariableExpression(
"d2") == manager.integer(3));
215 initialPredicates.push_back(manager.getVariableExpression(
"d2") == manager.integer(4));
216 initialPredicates.push_back(manager.getVariableExpression(
"d2") == manager.integer(5));
217 initialPredicates.push_back(manager.getVariableExpression(
"d2") == manager.integer(6));
219 auto smtSolverFactory = std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>();
222 refiner.
refine(initialPredicates);
228 abstractor.
getStates(initialPredicates[9]) && abstractor.
getStates(initialPredicates[24]) &&
233 storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Minimize,
true,
true);
240 EXPECT_TRUE(nonProb0StatesWithStrategy.
isZero());
246 EXPECT_EQ(153ull, stateDistributionsUnderStrategies.
getNonZeroCount());
249 EXPECT_EQ(1.0, stateDistributionCount.
getMax());
252 storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Minimize);
256 storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Maximize);
260 storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Maximize);
264 storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Minimize);
268 storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Minimize);
272 storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Maximize);
276 storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Maximize,
true,
true);
283 EXPECT_TRUE(nonProb1StatesWithStrategy.
isZero());
286 stateDistributionsUnderStrategies =
293 EXPECT_EQ(1.0, stateDistributionCount.
getMax());
300 program = program.
flattenModules(std::make_unique<storm::utility::solver::MathsatSmtSolverFactory>());
302 std::vector<storm::expressions::Expression> initialPredicates;
305 initialPredicates.push_back(manager.getVariableExpression(
"col") == manager.integer(0));
306 initialPredicates.push_back(manager.getVariableExpression(
"col") == manager.integer(1));
307 initialPredicates.push_back(manager.getVariableExpression(
"col") == manager.integer(2));
309 initialPredicates.push_back(manager.getVariableExpression(
"c1") == manager.integer(0));
310 initialPredicates.push_back(manager.getVariableExpression(
"c1") == manager.integer(1));
311 initialPredicates.push_back(manager.getVariableExpression(
"c1") == manager.integer(2));
313 initialPredicates.push_back(manager.getVariableExpression(
"c2") == manager.integer(0));
314 initialPredicates.push_back(manager.getVariableExpression(
"c2") == manager.integer(1));
315 initialPredicates.push_back(manager.getVariableExpression(
"c2") == manager.integer(2));
317 initialPredicates.push_back(manager.getVariableExpression(
"x1") == manager.integer(0));
318 initialPredicates.push_back(manager.getVariableExpression(
"x1") == manager.integer(1));
319 initialPredicates.push_back(manager.getVariableExpression(
"x1") == manager.integer(2));
320 initialPredicates.push_back(manager.getVariableExpression(
"x1") == manager.integer(3));
321 initialPredicates.push_back(manager.getVariableExpression(
"x1") == manager.integer(4));
322 initialPredicates.push_back(manager.getVariableExpression(
"x1") == manager.integer(5));
323 initialPredicates.push_back(manager.getVariableExpression(
"x1") == manager.integer(6));
324 initialPredicates.push_back(manager.getVariableExpression(
"x1") == manager.integer(7));
326 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(1));
327 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(2));
328 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(3));
329 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(4));
330 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(5));
331 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(6));
332 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(7));
333 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(8));
334 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(9));
335 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(10));
336 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(11));
337 initialPredicates.push_back(manager.getVariableExpression(
"s1") == manager.integer(12));
339 initialPredicates.push_back(manager.getVariableExpression(
"slot1") == manager.integer(0));
340 initialPredicates.push_back(manager.getVariableExpression(
"slot1") == manager.integer(1));
342 initialPredicates.push_back(manager.getVariableExpression(
"backoff1") == manager.integer(0));
343 initialPredicates.push_back(manager.getVariableExpression(
"backoff1") == manager.integer(1));
344 initialPredicates.push_back(manager.getVariableExpression(
"backoff1") == manager.integer(2));
345 initialPredicates.push_back(manager.getVariableExpression(
"backoff1") == manager.integer(3));
346 initialPredicates.push_back(manager.getVariableExpression(
"backoff1") == manager.integer(4));
347 initialPredicates.push_back(manager.getVariableExpression(
"backoff1") == manager.integer(5));
348 initialPredicates.push_back(manager.getVariableExpression(
"backoff1") == manager.integer(6));
349 initialPredicates.push_back(manager.getVariableExpression(
"backoff1") == manager.integer(7));
350 initialPredicates.push_back(manager.getVariableExpression(
"backoff1") == manager.integer(8));
351 initialPredicates.push_back(manager.getVariableExpression(
"backoff1") == manager.integer(9));
352 initialPredicates.push_back(manager.getVariableExpression(
"backoff1") == manager.integer(10));
353 initialPredicates.push_back(manager.getVariableExpression(
"backoff1") == manager.integer(11));
354 initialPredicates.push_back(manager.getVariableExpression(
"backoff1") == manager.integer(12));
355 initialPredicates.push_back(manager.getVariableExpression(
"backoff1") == manager.integer(13));
356 initialPredicates.push_back(manager.getVariableExpression(
"backoff1") == manager.integer(14));
357 initialPredicates.push_back(manager.getVariableExpression(
"backoff1") == manager.integer(15));
359 initialPredicates.push_back(manager.getVariableExpression(
"bc1") == manager.integer(0));
360 initialPredicates.push_back(manager.getVariableExpression(
"bc1") == manager.integer(1));
362 initialPredicates.push_back(manager.getVariableExpression(
"x2") == manager.integer(0));
363 initialPredicates.push_back(manager.getVariableExpression(
"x2") == manager.integer(1));
364 initialPredicates.push_back(manager.getVariableExpression(
"x2") == manager.integer(2));
365 initialPredicates.push_back(manager.getVariableExpression(
"x2") == manager.integer(3));
366 initialPredicates.push_back(manager.getVariableExpression(
"x2") == manager.integer(4));
367 initialPredicates.push_back(manager.getVariableExpression(
"x2") == manager.integer(5));
368 initialPredicates.push_back(manager.getVariableExpression(
"x2") == manager.integer(6));
369 initialPredicates.push_back(manager.getVariableExpression(
"x2") == manager.integer(7));
371 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(1));
372 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(2));
373 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(3));
374 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(4));
375 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(5));
376 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(6));
377 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(7));
378 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(8));
379 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(9));
380 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(10));
381 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(11));
382 initialPredicates.push_back(manager.getVariableExpression(
"s2") == manager.integer(12));
384 initialPredicates.push_back(manager.getVariableExpression(
"slot2") == manager.integer(0));
385 initialPredicates.push_back(manager.getVariableExpression(
"slot2") == manager.integer(1));
387 initialPredicates.push_back(manager.getVariableExpression(
"backoff2") == manager.integer(0));
388 initialPredicates.push_back(manager.getVariableExpression(
"backoff2") == manager.integer(1));
389 initialPredicates.push_back(manager.getVariableExpression(
"backoff2") == manager.integer(2));
390 initialPredicates.push_back(manager.getVariableExpression(
"backoff2") == manager.integer(3));
391 initialPredicates.push_back(manager.getVariableExpression(
"backoff2") == manager.integer(4));
392 initialPredicates.push_back(manager.getVariableExpression(
"backoff2") == manager.integer(5));
393 initialPredicates.push_back(manager.getVariableExpression(
"backoff2") == manager.integer(6));
394 initialPredicates.push_back(manager.getVariableExpression(
"backoff2") == manager.integer(7));
395 initialPredicates.push_back(manager.getVariableExpression(
"backoff2") == manager.integer(8));
396 initialPredicates.push_back(manager.getVariableExpression(
"backoff2") == manager.integer(9));
397 initialPredicates.push_back(manager.getVariableExpression(
"backoff2") == manager.integer(10));
398 initialPredicates.push_back(manager.getVariableExpression(
"backoff2") == manager.integer(11));
399 initialPredicates.push_back(manager.getVariableExpression(
"backoff2") == manager.integer(12));
400 initialPredicates.push_back(manager.getVariableExpression(
"backoff2") == manager.integer(13));
401 initialPredicates.push_back(manager.getVariableExpression(
"backoff2") == manager.integer(14));
402 initialPredicates.push_back(manager.getVariableExpression(
"backoff2") == manager.integer(15));
404 initialPredicates.push_back(manager.getVariableExpression(
"bc2") == manager.integer(0));
405 initialPredicates.push_back(manager.getVariableExpression(
"bc2") == manager.integer(1));
407 auto smtSolverFactory = std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>();
410 refiner.
refine(initialPredicates);
419 storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Minimize,
true,
true);
426 EXPECT_TRUE(nonProb0StatesWithStrategy.
isZero());
433 EXPECT_EQ(2831ull, stateDistributionsUnderStrategies.
getNonZeroCount());
437 EXPECT_EQ(1.0, stateDistributionCount.
getMax());
440 storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Minimize);
444 storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Maximize);
448 storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Maximize);
452 storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Minimize);
456 storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Minimize);
460 storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Maximize);
464 storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Maximize,
true,
true);
471 EXPECT_TRUE(nonProb1StatesWithStrategy.
isZero());
474 stateDistributionsUnderStrategies =
477 EXPECT_EQ(2884ull, stateDistributionsUnderStrategies.
getNonZeroCount());
481 EXPECT_EQ(1.0, stateDistributionCount.
getMax());