From 454dc3d1d54e943970db4c6794cca9acac272459 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Thu, 16 Jul 2020 00:23:40 +0200 Subject: Fix numeric-solver-at-end --- .../viatrasolver/reasoner/dse/ViatraReasonerSolutionSaver.xtend | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ViatraReasonerSolutionSaver.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ViatraReasonerSolutionSaver.xtend index d879d4cc..c0b5008c 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ViatraReasonerSolutionSaver.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ViatraReasonerSolutionSaver.xtend @@ -20,6 +20,7 @@ import org.eclipse.xtend.lib.annotations.Accessors */ class ViatraReasonerSolutionSaver implements ISolutionSaver { @Accessors val SolutionCopier solutionCopier + val NumericSolver numericSolver @Accessors val DiversityChecker diversityChecker val boolean hasExtremalObjectives val int numberOfRequiredSolutions @@ -34,6 +35,7 @@ class ViatraReasonerSolutionSaver implements ISolutionSaver { hasExtremalObjectives = leveledExtremalObjectives.exists[!empty] this.numberOfRequiredSolutions = numberOfRequiredSolutions this.solutionCopier = new SolutionCopier(numericSolver) + this.numericSolver = numericSolver } override saveSolution(ThreadContext context, Object id, SolutionTrajectory solutionTrajectory) { @@ -97,7 +99,7 @@ class ViatraReasonerSolutionSaver implements ISolutionSaver { } private def shouldSaveSolution(Fitness fitness, ThreadContext context) { - return fitness.satisifiesHardObjectives + return fitness.satisifiesHardObjectives && numericSolver.currentSatisfiable } private def basicSaveSolution(ThreadContext context, Object id, SolutionTrajectory solutionTrajectory, -- cgit v1.2.3-54-g00ecf