diff options
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedMultiplicityObjective.xtend')
-rw-r--r-- | Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedMultiplicityObjective.xtend | 37 |
1 files changed, 37 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/UnfinishedMultiplicityObjective.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedMultiplicityObjective.xtend new file mode 100644 index 00000000..aad9a448 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedMultiplicityObjective.xtend | |||
@@ -0,0 +1,37 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.MultiplicityGoalConstraintCalculator | ||
4 | import java.util.Comparator | ||
5 | import org.eclipse.viatra.dse.base.ThreadContext | ||
6 | import org.eclipse.viatra.dse.objectives.IObjective | ||
7 | import org.eclipse.viatra.dse.objectives.Comparators | ||
8 | |||
9 | class UnfinishedMultiplicityObjective implements IObjective { | ||
10 | val MultiplicityGoalConstraintCalculator unfinishedMultiplicity; | ||
11 | |||
12 | public new(MultiplicityGoalConstraintCalculator unfinishedMultiplicity) { | ||
13 | this.unfinishedMultiplicity = unfinishedMultiplicity | ||
14 | } | ||
15 | |||
16 | override getName() '''unfinishedMultiplicity «unfinishedMultiplicity.name»''' | ||
17 | override createNew() { | ||
18 | return new UnfinishedMultiplicityObjective(new MultiplicityGoalConstraintCalculator(this.unfinishedMultiplicity)) | ||
19 | } | ||
20 | |||
21 | override getComparator() { Comparators.LOWER_IS_BETTER } | ||
22 | override getFitness(ThreadContext context) { | ||
23 | val unfinishedMultiplicity = unfinishedMultiplicity.calculateValue | ||
24 | return unfinishedMultiplicity.doubleValue | ||
25 | } | ||
26 | override getLevel() { 2 } | ||
27 | override init(ThreadContext context) { unfinishedMultiplicity.init(context.model) } | ||
28 | override isHardObjective() { true } | ||
29 | override satisifiesHardObjective(Double fitness) { return fitness <=0.01 } | ||
30 | |||
31 | override setComparator(Comparator<Double> comparator) { | ||
32 | throw new UnsupportedOperationException("TODO: auto-generated method stub") | ||
33 | } | ||
34 | override setLevel(int level) { | ||
35 | throw new UnsupportedOperationException("TODO: auto-generated method stub") | ||
36 | } | ||
37 | } \ No newline at end of file | ||