From 40927bf322a401adad79c2b0fe6cd8e0b887422c Mon Sep 17 00:00:00 2001 From: Sebastian Krings <sebastian@krin.gs> Date: Thu, 6 Oct 2016 09:59:22 +0200 Subject: [PATCH] fix passing around timeout variable --- .../java/de/stups/probkodkod/KodkodSession.java | 2 +- .../java/de/stups/probkodkod/SolverChecker.java | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/stups/probkodkod/KodkodSession.java b/src/main/java/de/stups/probkodkod/KodkodSession.java index 04a8c81..84e4183 100644 --- a/src/main/java/de/stups/probkodkod/KodkodSession.java +++ b/src/main/java/de/stups/probkodkod/KodkodSession.java @@ -35,7 +35,7 @@ public class KodkodSession { final Solver solver = new Solver(); - SATFactory satFactory = SolverChecker.determineSatFactory(sat); + SATFactory satFactory = SolverChecker.determineSatFactory(sat, timeout); solver.options().setSolver(satFactory); solver.options().setSymmetryBreaking(symmetry); diff --git a/src/main/java/de/stups/probkodkod/SolverChecker.java b/src/main/java/de/stups/probkodkod/SolverChecker.java index cf7238a..bfff2a6 100644 --- a/src/main/java/de/stups/probkodkod/SolverChecker.java +++ b/src/main/java/de/stups/probkodkod/SolverChecker.java @@ -27,15 +27,20 @@ public class SolverChecker { private static final Logger LOGGER = Logger.getLogger("de.stups.probkodkod"); public static SATFactory determineSatFactory(SATSolver satSolver) { + // a default timeout - an individual one is requested by prob anyway + return determineSatFactory(satSolver, 1500); + } + + public static SATFactory determineSatFactory(SATSolver satSolver, long timeout) { switch (satSolver) { case glucose: - return determineSatFactory(SATFactory.Glucose, new SAT4JWithTimeoutFactory()); + return determineSatFactory(SATFactory.Glucose, new SAT4JWithTimeoutFactory(timeout)); case lingeling: - return determineSatFactory(SATFactory.Lingeling, new SAT4JWithTimeoutFactory()); + return determineSatFactory(SATFactory.Lingeling, new SAT4JWithTimeoutFactory(timeout)); case minisat: - return determineSatFactory(SATFactory.MiniSat, new SAT4JWithTimeoutFactory()); + return determineSatFactory(SATFactory.MiniSat, new SAT4JWithTimeoutFactory(timeout)); case sat4j: - return determineSatFactory(new SAT4JWithTimeoutFactory()); + return determineSatFactory(new SAT4JWithTimeoutFactory(timeout)); default: throw new Error("No valid SAT solver back-end for Kodkod selected."); } -- GitLab