diff options
author | 2020-05-17 01:35:57 +0200 | |
---|---|---|
committer | 2020-05-17 01:35:57 +0200 | |
commit | d03c841f2e4114a442deb08946c391c823745953 (patch) | |
tree | 334294a46f4b7bfe3aad8dbda368fb7ea5e5b6c0 /Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend | |
parent | Setting delimier in every printing mode to ',' (diff) | |
download | VIATRA-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.xtend | 15 |
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 | |||
6 | import org.eclipse.viatra.dse.objectives.Comparators | 6 | import org.eclipse.viatra.dse.objectives.Comparators |
7 | import org.eclipse.viatra.dse.objectives.IObjective | 7 | import org.eclipse.viatra.dse.objectives.IObjective |
8 | import org.eclipse.viatra.dse.objectives.impl.BaseObjective | 8 | import org.eclipse.viatra.dse.objectives.impl.BaseObjective |
9 | import 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) { |