aboutsummaryrefslogtreecommitdiffstats
path: root/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution
diff options
context:
space:
mode:
authorLibravatar Aren Babikian <aren.babikian@mail.mcgill.ca>2020-12-15 13:18:17 -0500
committerLibravatar Aren Babikian <aren.babikian@mail.mcgill.ca>2020-12-15 13:18:17 -0500
commit1d64b93a6dd242b688562a85a0be9bf2d7b8ba05 (patch)
tree5a244b96659d17b104d476b0f78e735c7696f134 /Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution
parentimplement getOneSolution with Dreal Integration (diff)
downloadVIATRA-Generator-1d64b93a6dd242b688562a85a0be9bf2d7b8ba05.tar.gz
VIATRA-Generator-1d64b93a6dd242b688562a85a0be9bf2d7b8ba05.tar.zst
VIATRA-Generator-1d64b93a6dd242b688562a85a0be9bf2d7b8ba05.zip
Add config flag for selecting numeric solver. Integ with Z3
Diffstat (limited to 'Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution')
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend9
1 files changed, 9 insertions, 0 deletions
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend
index fd50ad51..bb21f8ee 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend
@@ -29,6 +29,7 @@ import org.eclipse.viatra.query.patternlanguage.emf.vql.PatternModel
29import org.eclipse.xtext.EcoreUtil2 29import org.eclipse.xtext.EcoreUtil2
30import org.eclipse.xtext.xbase.lib.Functions.Function1 30import org.eclipse.xtext.xbase.lib.Functions.Function1
31import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloyBackendSolver 31import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloyBackendSolver
32import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.NumericSolverSelection
32 33
33class SolverLoader { 34class SolverLoader {
34 def loadSolver(Solver solver, Map<String, String> config) { 35 def loadSolver(Solver solver, Map<String, String> config) {
@@ -139,6 +140,14 @@ class SolverLoader {
139 val stringValue = config.get("fitness-objectCreationCosts") 140 val stringValue = config.get("fitness-objectCreationCosts")
140 c.calculateObjectCreationCosts = Boolean.parseBoolean(stringValue) 141 c.calculateObjectCreationCosts = Boolean.parseBoolean(stringValue)
141 } 142 }
143 if (config.containsKey("numeric-solver")) {
144 val stringValue = config.get("numeric-solver")
145 c.numericSolverSelection = switch (stringValue) {
146 case "dreal": NumericSolverSelection.DREAL
147 case "z3": NumericSolverSelection.Z3
148 default: throw new IllegalArgumentException("Unknown numeric solver selection: " + stringValue)
149 }
150 }
142 if (config.containsKey("scopePropagator")) { 151 if (config.containsKey("scopePropagator")) {
143 val stringValue = config.get("scopePropagator") 152 val stringValue = config.get("scopePropagator")
144 c.scopePropagatorStrategy = switch (stringValue) { 153 c.scopePropagatorStrategy = switch (stringValue) {