From a8eb346fb97b54b6ee693da4840abd8be8b43843 Mon Sep 17 00:00:00 2001 From: Aren Babikian Date: Sun, 14 Feb 2021 08:01:00 +0100 Subject: Add strategy flag + implement alost working crossingScenarioStrategy --- .../dslreasoner/application/execution/SolverLoader.xtend | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution') 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 da8ca0eb..045387a0 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 @@ -1,5 +1,6 @@ package hu.bme.mit.inf.dslreasoner.application.execution +import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloyBackendSolver import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolver import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolverConfiguration import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.CostObjectiveFunction @@ -16,6 +17,8 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.ScopePro import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.CostObjectiveConfiguration import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.CostObjectiveElementConfiguration import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor +import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ExplorationStrategy +import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.NumericSolverSelection import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.PunishSizeStrategy import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration @@ -28,9 +31,6 @@ import java.util.Optional import org.eclipse.viatra.query.patternlanguage.emf.vql.PatternModel import org.eclipse.xtext.EcoreUtil2 import org.eclipse.xtext.xbase.lib.Functions.Function1 -import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloyBackendSolver -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.NumericSolverSelection -import java.util.HashMap class SolverLoader { def loadSolver(Solver solver, Map config) { @@ -171,6 +171,16 @@ class SolverLoader { val stringValue = config.get("ignored-attributes") c.ignoredAttributesMap = parseIgnoredAttributes(stringValue) } + if (config.containsKey("strategy")) { + val stringValue = config.get("strategy") + c.strategy = switch (stringValue) { + case "none": ExplorationStrategy.None + case "crossingScenario": ExplorationStrategy.CrossingScenario + case "cs-hacker": ExplorationStrategy.CSHacker + default: throw new IllegalArgumentException("Unknown strategy: " + stringValue) + } + } + for (objectiveEntry : objectiveEntries) { val costObjectiveConfig = new CostObjectiveConfiguration switch (objectiveEntry) { -- cgit v1.2.3-70-g09d2