diff options
author | 20001LastOrder <boqi.chen@mail.mcgill.ca> | 2020-11-03 22:52:26 -0500 |
---|---|---|
committer | 20001LastOrder <boqi.chen@mail.mcgill.ca> | 2020-11-03 22:52:26 -0500 |
commit | 945f487a08b643392a5d5918c631640b9a0e4605 (patch) | |
tree | b537c456e395950ce98daaabb9468c7c17d5a72b /Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend | |
parent | Fix numeric-solver-at-end (diff) | |
download | VIATRA-Generator-945f487a08b643392a5d5918c631640b9a0e4605.tar.gz VIATRA-Generator-945f487a08b643392a5d5918c631640b9a0e4605.tar.zst VIATRA-Generator-945f487a08b643392a5d5918c631640b9a0e4605.zip |
add realistic solver
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend')
-rw-r--r-- | Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend index 0bd8c50e..af7b071a 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend | |||
@@ -33,6 +33,8 @@ import org.eclipse.viatra.dse.solutionstore.SolutionStore | |||
33 | import org.eclipse.viatra.dse.statecode.IStateCoderFactory | 33 | import org.eclipse.viatra.dse.statecode.IStateCoderFactory |
34 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.SolutionStoreWithDiversityDescriptor | 34 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.SolutionStoreWithDiversityDescriptor |
35 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.DiversityGranularity | 35 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.DiversityGranularity |
36 | import org.eclipse.emf.ecore.util.EcoreUtil | ||
37 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.HillClimbingOnRealisticMetricStrategyForModelGeneration | ||
36 | 38 | ||
37 | class ViatraReasoner extends LogicReasoner{ | 39 | class ViatraReasoner extends LogicReasoner{ |
38 | val PartialInterpretationInitialiser initialiser = new PartialInterpretationInitialiser() | 40 | val PartialInterpretationInitialiser initialiser = new PartialInterpretationInitialiser() |
@@ -64,6 +66,7 @@ class ViatraReasoner extends LogicReasoner{ | |||
64 | workspace.writeModel(emptySolution,"init.partialmodel") | 66 | workspace.writeModel(emptySolution,"init.partialmodel") |
65 | } | 67 | } |
66 | emptySolution.problemConainer = problem | 68 | emptySolution.problemConainer = problem |
69 | val emptySolutionCopy = EcoreUtil.copy(emptySolution) | ||
67 | 70 | ||
68 | val ScopePropagator scopePropagator = new ScopePropagator(emptySolution) | 71 | val ScopePropagator scopePropagator = new ScopePropagator(emptySolution) |
69 | scopePropagator.propagateAllScopeConstraints | 72 | scopePropagator.propagateAllScopeConstraints |
@@ -113,7 +116,7 @@ class ViatraReasoner extends LogicReasoner{ | |||
113 | dse.addTransformationRule(rule) | 116 | dse.addTransformationRule(rule) |
114 | } | 117 | } |
115 | 118 | ||
116 | val strategy = new BestFirstStrategyForModelGeneration(workspace,viatraConfig,method) | 119 | val strategy = new HillClimbingOnRealisticMetricStrategyForModelGeneration(workspace,viatraConfig,method) |
117 | viatraConfig.progressMonitor.workedForwardTransformation | 120 | viatraConfig.progressMonitor.workedForwardTransformation |
118 | val transformationFinished = System.nanoTime | 121 | val transformationFinished = System.nanoTime |
119 | val transformationTime = transformationFinished - transformationStartTime | 122 | val transformationTime = transformationFinished - transformationStartTime |