From a5ab98ae42e17fac248f574ee54408979ad6d585 Mon Sep 17 00:00:00 2001 From: Sebastian Krings <sebastian@krin.gs> Date: Thu, 6 Oct 2016 09:49:23 +0200 Subject: [PATCH] detect sat factory for each problem --- .../de/stups/probkodkod/KodkodSession.java | 22 ++++--------------- 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/src/main/java/de/stups/probkodkod/KodkodSession.java b/src/main/java/de/stups/probkodkod/KodkodSession.java index 58ce1e5..04a8c81 100644 --- a/src/main/java/de/stups/probkodkod/KodkodSession.java +++ b/src/main/java/de/stups/probkodkod/KodkodSession.java @@ -6,7 +6,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import de.prob.prolog.output.IPrologTermOutput; -import de.stups.probkodkod.sat.SAT4JWithTimeoutFactory; import kodkod.engine.Solver; import kodkod.engine.satlab.SATFactory; import kodkod.instance.TupleSet; @@ -35,23 +34,10 @@ public class KodkodSession { problems.put(id, problem); final Solver solver = new Solver(); - switch (sat) { - case sat4j: - solver.options().setSolver(new SAT4JWithTimeoutFactory(timeout)); - break; - case glucose: - solver.options().setSolver(SATFactory.Glucose); - break; - case lingeling: - solver.options().setSolver(SATFactory.Lingeling); - break; - case minisat: - solver.options().setSolver(SATFactory.MiniSat); - break; - default: - solver.options().setSolver(new SAT4JWithTimeoutFactory(timeout)); - break; - } + + SATFactory satFactory = SolverChecker.determineSatFactory(sat); + solver.options().setSolver(satFactory); + solver.options().setSymmetryBreaking(symmetry); final Integer bitwidth = problem.getBitwidth(); if (bitwidth != null) { -- GitLab