diff options
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.xtend | 41 |
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 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse | ||
2 | |||
3 | import org.eclipse.viatra.dse.objectives.IObjective | ||
4 | import org.eclipse.viatra.dse.base.ThreadContext | ||
5 | import java.util.Comparator | ||
6 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation | ||
7 | |||
8 | class 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 | ||