aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <marussy@mit.bme.hu>2020-07-07 17:48:54 +0200
committerLibravatar Kristóf Marussy <marussy@mit.bme.hu>2020-07-07 17:48:54 +0200
commitb13b083b683d28365f4956bae1c6e3e7ac8fab1c (patch)
tree1701a775a2e18ac83be4b28146069382dd09ddae
parentTrying to fix performance regressions (diff)
downloadVIATRA-Generator-b13b083b683d28365f4956bae1c6e3e7ac8fab1c.tar.gz
VIATRA-Generator-b13b083b683d28365f4956bae1c6e3e7ac8fab1c.tar.zst
VIATRA-Generator-b13b083b683d28365f4956bae1c6e3e7ac8fab1c.zip
Restore inverse punishSize
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbinbin1701 -> 1701 bytes
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbinbin2526 -> 2526 bytes
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend8
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticHighlightCalculator.xtendbinbin5334 -> 5334 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticTextAttributeProvider.xtendbinbin4902 -> 4902 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.SolverLanguageValidator.xtendbinbin1717 -> 1717 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/parser/antlr/.SolverLanguageTokenDefInjectingParser.xtendbinbin2742 -> 2742 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/serializer/.SolverLanguageSyntheticTokenSyntacticSequencer.xtendbinbin2758 -> 2758 bytes
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend13
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend8
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PunishSizeObjective.xtend46
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/.gitignore1
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.run/config/genericSatellite.vsconfig2
13 files changed, 38 insertions, 40 deletions
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin
index 27ebff86..51a755e5 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin
Binary files differ
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin
index 4c3dcf43..27588633 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin
Binary files differ
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend
index bc4fa42f..a549df00 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend
@@ -16,6 +16,7 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.ScopePro
16import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.CostObjectiveConfiguration 16import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.CostObjectiveConfiguration
17import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.CostObjectiveElementConfiguration 17import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.CostObjectiveElementConfiguration
18import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor 18import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor
19import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.PunishSizeStrategy
19import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner 20import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner
20import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration 21import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration
21import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ObjectiveKind 22import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ObjectiveKind
@@ -110,7 +111,12 @@ class SolverLoader {
110 } 111 }
111 if (config.containsKey("fitness-punishSize")) { 112 if (config.containsKey("fitness-punishSize")) {
112 val stringValue = config.get("fitness-punishSize") 113 val stringValue = config.get("fitness-punishSize")
113 c.punishSize = Boolean.parseBoolean(stringValue) 114 c.punishSize = switch (stringValue) {
115 case "false": PunishSizeStrategy.NONE
116 case "true": PunishSizeStrategy.SMALLER_IS_BETTER
117 case "inverse": PunishSizeStrategy.LARGER_IS_BETTER
118 default: throw new IllegalArgumentException("Unknown punish size strategy: " + stringValue)
119 }
114 } 120 }
115 if (config.containsKey("fitness-scope")) { 121 if (config.containsKey("fitness-scope")) {
116 val stringValue = config.get("fitness-scope") 122 val stringValue = config.get("fitness-scope")
diff --git a/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticHighlightCalculator.xtendbin b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticHighlightCalculator.xtendbin
index dbdd38d8..816f1516 100644
--- a/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticHighlightCalculator.xtendbin
+++ b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticHighlightCalculator.xtendbin
Binary files differ
diff --git a/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticTextAttributeProvider.xtendbin b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticTextAttributeProvider.xtendbin
index 6b2259b5..bc22802d 100644
--- a/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticTextAttributeProvider.xtendbin
+++ b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticTextAttributeProvider.xtendbin
Binary files differ
diff --git a/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.SolverLanguageValidator.xtendbin b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.SolverLanguageValidator.xtendbin
index 5437df8f..6086ad61 100644
--- a/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.SolverLanguageValidator.xtendbin
+++ b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.SolverLanguageValidator.xtendbin
Binary files differ
diff --git a/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/parser/antlr/.SolverLanguageTokenDefInjectingParser.xtendbin b/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/parser/antlr/.SolverLanguageTokenDefInjectingParser.xtendbin
index 26756ae5..1fe63cb7 100644
--- a/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/parser/antlr/.SolverLanguageTokenDefInjectingParser.xtendbin
+++ b/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/parser/antlr/.SolverLanguageTokenDefInjectingParser.xtendbin
Binary files differ
diff --git a/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/serializer/.SolverLanguageSyntheticTokenSyntacticSequencer.xtendbin b/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/serializer/.SolverLanguageSyntheticTokenSyntacticSequencer.xtendbin
index 6f7cebd0..1c7b8eb2 100644
--- a/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/serializer/.SolverLanguageSyntheticTokenSyntacticSequencer.xtendbin
+++ b/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/serializer/.SolverLanguageSyntheticTokenSyntacticSequencer.xtendbin
Binary files differ
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend
index b58033d7..fd871615 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend
@@ -28,11 +28,13 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.LoggerSolutionFoundH
28import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.ModelGenerationCompositeObjective 28import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.ModelGenerationCompositeObjective
29import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.NumericSolver 29import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.NumericSolver
30import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.PartialModelAsLogicInterpretation 30import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.PartialModelAsLogicInterpretation
31import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.PunishSizeObjective
31import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.ScopeObjective 32import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.ScopeObjective
32import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.SurelyViolatedObjectiveGlobalConstraint 33import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.SurelyViolatedObjectiveGlobalConstraint
33import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.UnfinishedMultiplicityObjective 34import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.UnfinishedMultiplicityObjective
34import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.ViatraReasonerSolutionSaver 35import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.ViatraReasonerSolutionSaver
35import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.WF2ObjectiveConverter 36import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.WF2ObjectiveConverter
37import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ObjectiveKind
36import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ThreeValuedCostElement 38import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ThreeValuedCostElement
37import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ThreeValuedCostObjective 39import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ThreeValuedCostObjective
38import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace 40import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
@@ -43,7 +45,6 @@ import org.eclipse.viatra.dse.api.DesignSpaceExplorer
43import org.eclipse.viatra.dse.api.DesignSpaceExplorer.DseLoggingLevel 45import org.eclipse.viatra.dse.api.DesignSpaceExplorer.DseLoggingLevel
44import org.eclipse.viatra.dse.solutionstore.SolutionStore 46import org.eclipse.viatra.dse.solutionstore.SolutionStore
45import org.eclipse.viatra.dse.statecode.IStateCoderFactory 47import org.eclipse.viatra.dse.statecode.IStateCoderFactory
46import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.PunishSizeObjective
47 48
48class ViatraReasoner extends LogicReasoner { 49class ViatraReasoner extends LogicReasoner {
49 val PartialInterpretationInitialiser initialiser = new PartialInterpretationInitialiser() 50 val PartialInterpretationInitialiser initialiser = new PartialInterpretationInitialiser()
@@ -100,9 +101,13 @@ class ViatraReasoner extends LogicReasoner {
100 viatraConfig 101 viatraConfig
101 ) 102 )
102 dse.addObjective(compositeObjective) 103 dse.addObjective(compositeObjective)
103 if (viatraConfig.punishSize) { 104 if (viatraConfig.punishSize != PunishSizeStrategy.NONE) {
104 val punishObjective = new PunishSizeObjective 105 val punishSizeStrategy = switch (viatraConfig.punishSize) {
105 punishObjective.level = compositeObjective.level + 1 106 case SMALLER_IS_BETTER: ObjectiveKind.LOWER_IS_BETTER
107 case LARGER_IS_BETTER: ObjectiveKind.HIGHER_IS_BETTER
108 default: throw new IllegalArgumentException("Unknown PunishSizeStrategy: " + viatraConfig.punishSize)
109 }
110 val punishObjective = new PunishSizeObjective(punishSizeStrategy, compositeObjective.level + 1)
106 dse.addObjective(punishObjective) 111 dse.addObjective(punishObjective)
107 } 112 }
108 113
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend
index a2f6de22..0173124c 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend
@@ -26,6 +26,12 @@ enum StateCoderStrategy {
26 DefinedByDiversity 26 DefinedByDiversity
27} 27}
28 28
29enum PunishSizeStrategy {
30 NONE,
31 SMALLER_IS_BETTER,
32 LARGER_IS_BETTER
33}
34
29class ViatraReasonerConfiguration extends LogicSolverConfiguration { 35class ViatraReasonerConfiguration extends LogicSolverConfiguration {
30 // public var Iterable<PQuery> existingQueries 36 // public var Iterable<PQuery> existingQueries
31 public var nameNewElements = false 37 public var nameNewElements = false
@@ -57,7 +63,7 @@ class ViatraReasonerConfiguration extends LogicSolverConfiguration {
57 63
58 public var runIntermediateNumericalConsistencyChecks = true 64 public var runIntermediateNumericalConsistencyChecks = true
59 65
60 public var punishSize = false 66 public var punishSize = PunishSizeStrategy.NONE
61 public var scopeWeight = 1 67 public var scopeWeight = 1
62 public var conaintmentWeight = 2 68 public var conaintmentWeight = 2
63 public var nonContainmentWeight = 1 69 public var nonContainmentWeight = 1
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PunishSizeObjective.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PunishSizeObjective.xtend
index 8505661c..bad8e4d1 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PunishSizeObjective.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PunishSizeObjective.xtend
@@ -2,28 +2,27 @@ package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse
2 2
3import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation 3import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
4import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PrimitiveElement 4import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PrimitiveElement
5import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.IThreeValuedObjective 5import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.AbstractThreeValuedObjective
6import java.util.Comparator 6import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ObjectiveKind
7import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ObjectiveThreshold
7import org.eclipse.viatra.dse.base.ThreadContext 8import org.eclipse.viatra.dse.base.ThreadContext
8import org.eclipse.viatra.dse.objectives.Comparators
9import org.eclipse.xtend.lib.annotations.Accessors
10 9
11class PunishSizeObjective implements IThreeValuedObjective { 10class PunishSizeObjective extends AbstractThreeValuedObjective {
12 @Accessors int level = 3 11 static val NAME = typeof(PunishSizeObjective).name
12
13 new(ObjectiveKind kind, int level) {
14 super(NAME, kind, ObjectiveThreshold.NO_THRESHOLD, level)
15 }
13 16
14 override createNew() { 17 override createNew() {
15 this 18 new PunishSizeObjective(kind, level)
16 } 19 }
17 20
18 override init(ThreadContext context) { 21 override init(ThreadContext context) {
19 // Nothing to initialize. 22 // Nothing to initialize.
20 } 23 }
21 24
22 override getComparator() { 25 override getRawFitness(ThreadContext threadContext) {
23 Comparators.LOWER_IS_BETTER
24 }
25
26 override getFitness(ThreadContext threadContext) {
27 val model = threadContext.model 26 val model = threadContext.model
28 if (model instanceof PartialInterpretation) { 27 if (model instanceof PartialInterpretation) {
29 val size = model.newObjectCount 28 val size = model.newObjectCount
@@ -34,11 +33,11 @@ class PunishSizeObjective implements IThreeValuedObjective {
34 } 33 }
35 } 34 }
36 35
37 override getBestPossibleFitness(ThreadContext threadContext) { 36 override getLowestPossibleFitness(ThreadContext threadContext) {
38 getFitness(threadContext) 37 getRawFitness(threadContext)
39 } 38 }
40 39
41 override getWorstPossibleFitness(ThreadContext threadContext) { 40 override getHighestPossibleFitness(ThreadContext threadContext) {
42 val model = threadContext.model 41 val model = threadContext.model
43 if (model instanceof PartialInterpretation) { 42 if (model instanceof PartialInterpretation) {
44 (model.newObjectCount + model.maxNewElements) as double 43 (model.newObjectCount + model.maxNewElements) as double
@@ -50,21 +49,4 @@ class PunishSizeObjective implements IThreeValuedObjective {
50 private def getNewObjectCount(PartialInterpretation interpretation) { 49 private def getNewObjectCount(PartialInterpretation interpretation) {
51 interpretation.newElements.reject[it instanceof PrimitiveElement].size 50 interpretation.newElements.reject[it instanceof PrimitiveElement].size
52 } 51 }
53
54 override getName() {
55 typeof(PunishSizeObjective).name
56 }
57
58 override isHardObjective() {
59 false
60 }
61
62 override satisifiesHardObjective(Double fitness) {
63 true
64 }
65
66 override setComparator(Comparator<Double> comparator) {
67 throw new UnsupportedOperationException("Model generation objective comparator cannot be set.")
68 }
69
70} \ No newline at end of file 52} \ No newline at end of file
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/.gitignore b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/.gitignore
deleted file mode 100644
index 7050a7e3..00000000
--- a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
1/queries/
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.run/config/genericSatellite.vsconfig b/Tests/MODELS2020-CaseStudies/case.study.pledge.run/config/genericSatellite.vsconfig
index 2ff20880..57eaf326 100644
--- a/Tests/MODELS2020-CaseStudies/case.study.pledge.run/config/genericSatellite.vsconfig
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.run/config/genericSatellite.vsconfig
@@ -33,7 +33,7 @@ generate {
33 runtime = 10000, 33 runtime = 10000,
34 log-level = normal, 34 log-level = normal,
35 "fitness-scope" = "3", 35 "fitness-scope" = "3",
36 "fitness-punishSize" = "true", 36 "fitness-punishSize" = "inverse",
37 "fitness-objectCreationCosts" = "true", 37 "fitness-objectCreationCosts" = "true",
38 "scopePropagator" = "typeHierarchy", 38 "scopePropagator" = "typeHierarchy",
39 "fitness-missing-containment" = "2" 39 "fitness-missing-containment" = "2"