From 957082776dbb7efed53a783c5e5be6b443a9bb86 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Sat, 27 Jun 2020 17:56:46 +0200 Subject: Fix scope + numerical propagation WIP --- .../MultiplicityGoalConstraintCalculator.xtend | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/MultiplicityGoalConstraintCalculator.xtend') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/MultiplicityGoalConstraintCalculator.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/MultiplicityGoalConstraintCalculator.xtend index 034420d6..b28cd584 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/MultiplicityGoalConstraintCalculator.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/MultiplicityGoalConstraintCalculator.xtend @@ -10,15 +10,13 @@ class MultiplicityGoalConstraintCalculator { val String targetRelationName val IQuerySpecification querySpecification var ViatraQueryMatcher matcher - val int minValue val boolean containment val int cost - public new(String targetRelationName, IQuerySpecification querySpecification, int minValue, boolean containment, int cost) { + public new(String targetRelationName, IQuerySpecification querySpecification, boolean containment, int cost) { this.targetRelationName = targetRelationName this.querySpecification = querySpecification this.matcher = null - this.minValue = minValue this.containment = containment this.cost = cost } @@ -27,7 +25,6 @@ class MultiplicityGoalConstraintCalculator { this.targetRelationName = other.targetRelationName this.querySpecification = other.querySpecification this.matcher = null - this.minValue = other.minValue this.containment = other.containment this.cost = other.cost } @@ -49,14 +46,8 @@ class MultiplicityGoalConstraintCalculator { var res = 0 val allMatches = this.matcher.allMatches for(match : allMatches) { - val existingMultiplicity = match.get(4) as Integer - if(existingMultiplicity < this.minValue) { - val missingMultiplicity = this.minValue-existingMultiplicity - res += missingMultiplicity - } -// if(missingMultiplicity!=0) { -// println(targetRelationName+ " missing multiplicity: "+missingMultiplicity) -// } + val missingMultiplicity = match.get(2) as Integer + res += missingMultiplicity } // if(res>0) // println(targetRelationName+ " all missing multiplicities: "+res + "*"+cost+"="+res*cost) -- cgit v1.2.3-54-g00ecf