aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ScopeObjective.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/ScopeObjective.xtend')
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ScopeObjective.xtend41
1 files changed, 41 insertions, 0 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ScopeObjective.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ScopeObjective.xtend
new file mode 100644
index 00000000..d3497ef2
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ScopeObjective.xtend
@@ -0,0 +1,41 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse
2
3import org.eclipse.viatra.dse.objectives.IObjective
4import org.eclipse.viatra.dse.base.ThreadContext
5import java.util.Comparator
6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
7
8class ScopeObjective implements IObjective{
9 static val comparator = new Comparator<Double>() {
10 override compare(Double o1, Double o2) {
11
12 return o2.compareTo(o1)
13 }
14 }
15
16 //val static scopeLevel = 3
17
18 override createNew() { return new ScopeObjective }
19 override getName() { '''ScopeConstraint''' }
20 override init(ThreadContext context) { }
21
22 override getComparator() { comparator }
23
24 override getFitness(ThreadContext context) {
25 val interpretation = context.model as PartialInterpretation
26 val res = interpretation.minNewElements
27 return res.doubleValue
28 }
29
30 override isHardObjective() { true }
31 override satisifiesHardObjective(Double fitness) { return fitness <=0.01 }
32
33 override setComparator(Comparator<Double> comparator) {
34 throw new UnsupportedOperationException("TODO: auto-generated method stub")
35 }
36
37 override setLevel(int level) {
38 throw new UnsupportedOperationException("TODO: auto-generated method stub")
39 }
40 override getLevel() { 2 }
41} \ No newline at end of file