aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend
diff options
context:
space:
mode:
authorLibravatar Oszkar Semerath <semerath@mit.bme.hu>2020-05-17 01:35:57 +0200
committerLibravatar Oszkar Semerath <semerath@mit.bme.hu>2020-05-17 01:35:57 +0200
commitd03c841f2e4114a442deb08946c391c823745953 (patch)
tree334294a46f4b7bfe3aad8dbda368fb7ea5e5b6c0 /Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend
parentSetting delimier in every printing mode to ',' (diff)
downloadVIATRA-Generator-d03c841f2e4114a442deb08946c391c823745953.tar.gz
VIATRA-Generator-d03c841f2e4114a442deb08946c391c823745953.tar.zst
VIATRA-Generator-d03c841f2e4114a442deb08946c391c823745953.zip
detailed runtimes + counting defined objects only
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend')
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend15
1 files changed, 11 insertions, 4 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend
index e75cae41..2a4294ad 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend
@@ -6,6 +6,7 @@ import org.eclipse.viatra.dse.base.ThreadContext
6import org.eclipse.viatra.dse.objectives.Comparators 6import org.eclipse.viatra.dse.objectives.Comparators
7import org.eclipse.viatra.dse.objectives.IObjective 7import org.eclipse.viatra.dse.objectives.IObjective
8import org.eclipse.viatra.dse.objectives.impl.BaseObjective 8import org.eclipse.viatra.dse.objectives.impl.BaseObjective
9import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
9 10
10//class ViatraReasonerNumbers { 11//class ViatraReasonerNumbers {
11// public static val scopePriority = 2 12// public static val scopePriority = 2
@@ -26,6 +27,7 @@ class ModelGenerationCompositeObjective implements IObjective{
26 val ScopeObjective scopeObjective 27 val ScopeObjective scopeObjective
27 val List<UnfinishedMultiplicityObjective> unfinishedMultiplicityObjectives 28 val List<UnfinishedMultiplicityObjective> unfinishedMultiplicityObjectives
28 val UnfinishedWFObjective unfinishedWFObjective 29 val UnfinishedWFObjective unfinishedWFObjective
30 var PartialInterpretation model=null;
29 31
30 public new( 32 public new(
31 ScopeObjective scopeObjective, 33 ScopeObjective scopeObjective,
@@ -38,6 +40,7 @@ class ModelGenerationCompositeObjective implements IObjective{
38 } 40 }
39 41
40 override init(ThreadContext context) { 42 override init(ThreadContext context) {
43 model = context.model as PartialInterpretation
41 this.scopeObjective.init(context) 44 this.scopeObjective.init(context)
42 this.unfinishedMultiplicityObjectives.forEach[it.init(context)] 45 this.unfinishedMultiplicityObjectives.forEach[it.init(context)]
43 this.unfinishedWFObjective.init(context) 46 this.unfinishedWFObjective.init(context)
@@ -64,11 +67,15 @@ class ModelGenerationCompositeObjective implements IObjective{
64 nonContainmentMultiplicity+=multiplicityObjective.getFitness(context) 67 nonContainmentMultiplicity+=multiplicityObjective.getFitness(context)
65 } 68 }
66 } 69 }
70 val size = 0.9/model.newElements.size
67 var sum = 0.0 71 var sum = 0.0
68 sum += scopeFitnes 72 sum += scopeFitnes
69 sum += containmentMultiplicity 73 sum += containmentMultiplicity*2
70 sum += Math.sqrt(nonContainmentMultiplicity) 74 sum += nonContainmentMultiplicity
71 sum += unfinishedWFsFitness//*0.5 75 sum += unfinishedWFsFitness
76 sum+=size
77
78
72 79
73 //println('''Sum=«sum»|Scope=«scopeFitnes»|ContainmentMultiplicity=«containmentMultiplicity»|NonContainmentMultiplicity=«nonContainmentMultiplicity»|WFs=«unfinishedWFsFitness»''') 80 //println('''Sum=«sum»|Scope=«scopeFitnes»|ContainmentMultiplicity=«containmentMultiplicity»|NonContainmentMultiplicity=«nonContainmentMultiplicity»|WFs=«unfinishedWFsFitness»''')
74 81
@@ -79,7 +86,7 @@ class ModelGenerationCompositeObjective implements IObjective{
79 override getName() { "CompositeUnfinishednessObjective"} 86 override getName() { "CompositeUnfinishednessObjective"}
80 87
81 override isHardObjective() { true } 88 override isHardObjective() { true }
82 override satisifiesHardObjective(Double fitness) { fitness <= 0.001 } 89 override satisifiesHardObjective(Double fitness) { fitness < 0.95 }
83 90
84 91
85 override setComparator(Comparator<Double> comparator) { 92 override setComparator(Comparator<Double> comparator) {