aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ViatraReasonerSolutionSaver.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ViatraReasonerSolutionSaver.xtend')
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ViatraReasonerSolutionSaver.xtend11
1 files changed, 8 insertions, 3 deletions
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 6bffeb59..74500cc2 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
@@ -42,7 +42,7 @@ class ViatraReasonerSolutionSaver implements ISolutionSaver {
42 42
43 private def saveBestSolutionOnly(ThreadContext context, Object id, SolutionTrajectory solutionTrajectory) { 43 private def saveBestSolutionOnly(ThreadContext context, Object id, SolutionTrajectory solutionTrajectory) {
44 val fitness = context.lastFitness 44 val fitness = context.lastFitness
45 if (!fitness.satisifiesHardObjectives) { 45 if (!shouldSaveSolution(fitness, context)) {
46 return false 46 return false
47 } 47 }
48 val dominatedTrajectories = newArrayList 48 val dominatedTrajectories = newArrayList
@@ -83,7 +83,7 @@ class ViatraReasonerSolutionSaver implements ISolutionSaver {
83 83
84 private def saveAnyDiverseSolution(ThreadContext context, Object id, SolutionTrajectory solutionTrajectory) { 84 private def saveAnyDiverseSolution(ThreadContext context, Object id, SolutionTrajectory solutionTrajectory) {
85 val fitness = context.lastFitness 85 val fitness = context.lastFitness
86 if (!fitness.satisifiesHardObjectives) { 86 if (!shouldSaveSolution(fitness, context)) {
87 return false 87 return false
88 } 88 }
89 if (!diversityChecker.newSolution(context, id, emptyList)) { 89 if (!diversityChecker.newSolution(context, id, emptyList)) {
@@ -92,7 +92,12 @@ class ViatraReasonerSolutionSaver implements ISolutionSaver {
92 basicSaveSolution(context, id, solutionTrajectory, fitness) 92 basicSaveSolution(context, id, solutionTrajectory, fitness)
93 } 93 }
94 94
95 private def basicSaveSolution(ThreadContext context, Object id, SolutionTrajectory solutionTrajectory, Fitness fitness) { 95 private def shouldSaveSolution(Fitness fitness, ThreadContext context) {
96 return fitness.satisifiesHardObjectives
97 }
98
99 private def basicSaveSolution(ThreadContext context, Object id, SolutionTrajectory solutionTrajectory,
100 Fitness fitness) {
96 var boolean solutionSaved = false 101 var boolean solutionSaved = false
97 var dseSolution = solutionsCollection.get(id) 102 var dseSolution = solutionsCollection.get(id)
98 if (dseSolution === null) { 103 if (dseSolution === null) {