diff options
author | 20001LastOrder <boqi.chen@mail.mcgill.ca> | 2020-11-04 01:33:58 -0500 |
---|---|---|
committer | 20001LastOrder <boqi.chen@mail.mcgill.ca> | 2020-11-04 01:33:58 -0500 |
commit | a20af4d0dbf5eab84ee271d426528aabb5a8ac3b (patch) | |
tree | a9ab772ee313125aaf3a941d66e131b408d949ba /Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend | |
parent | changes in settings of measurements (diff) | |
parent | merge with current master, comment numerical solver related logging (diff) | |
download | VIATRA-Generator-a20af4d0dbf5eab84ee271d426528aabb5a8ac3b.tar.gz VIATRA-Generator-a20af4d0dbf5eab84ee271d426528aabb5a8ac3b.tar.zst VIATRA-Generator-a20af4d0dbf5eab84ee271d426528aabb5a8ac3b.zip |
fix merging issue
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend')
-rw-r--r-- | Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend | 96 |
1 files changed, 71 insertions, 25 deletions
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 10734859..628844de 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 | |||
@@ -5,21 +5,37 @@ import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner | |||
5 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration | 5 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration |
6 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration | 6 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration |
7 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration | 7 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration |
8 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationMethod | ||
9 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod | 8 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod |
9 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.LinearTypeConstraintHint | ||
10 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.PolyhedralScopePropagatorConstraints | ||
11 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.PolyhedralScopePropagatorSolver | ||
12 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.ScopePropagatorStrategy | ||
13 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns.UnitPropagationPatternGenerator | ||
10 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualiser | 14 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualiser |
15 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.CostObjectiveHint | ||
16 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ObjectiveKind | ||
17 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ObjectiveThreshold | ||
11 | import java.util.LinkedList | 18 | import java.util.LinkedList |
12 | import java.util.List | 19 | import java.util.List |
13 | import java.util.Set | 20 | import java.util.Set |
14 | import org.eclipse.xtext.xbase.lib.Functions.Function1 | 21 | import org.eclipse.xtext.xbase.lib.Functions.Function1 |
15 | 22 | ||
16 | public enum StateCoderStrategy { | 23 | enum StateCoderStrategy { |
17 | Neighbourhood, NeighbourhoodWithEquivalence, IDBased, DefinedByDiversity | 24 | Neighbourhood, |
25 | PairwiseNeighbourhood, | ||
26 | NeighbourhoodWithEquivalence, | ||
27 | IDBased, | ||
28 | DefinedByDiversity | ||
18 | } | 29 | } |
19 | 30 | ||
20 | class ViatraReasonerConfiguration extends LogicSolverConfiguration{ | 31 | enum PunishSizeStrategy { |
21 | //public var Iterable<PQuery> existingQueries | 32 | NONE, |
22 | 33 | SMALLER_IS_BETTER, | |
34 | LARGER_IS_BETTER | ||
35 | } | ||
36 | |||
37 | class ViatraReasonerConfiguration extends LogicSolverConfiguration { | ||
38 | // public var Iterable<PQuery> existingQueries | ||
23 | public var nameNewElements = false | 39 | public var nameNewElements = false |
24 | public var StateCoderStrategy stateCoderStrategy = StateCoderStrategy.Neighbourhood | 40 | public var StateCoderStrategy stateCoderStrategy = StateCoderStrategy.Neighbourhood |
25 | public var TypeInferenceMethod typeInferenceMethod = TypeInferenceMethod.PreliminaryAnalysis | 41 | public var TypeInferenceMethod typeInferenceMethod = TypeInferenceMethod.PreliminaryAnalysis |
@@ -27,7 +43,7 @@ class ViatraReasonerConfiguration extends LogicSolverConfiguration{ | |||
27 | * Once per 1/randomBacktrackChance the search selects a random state. | 43 | * Once per 1/randomBacktrackChance the search selects a random state. |
28 | */ | 44 | */ |
29 | public var int randomBacktrackChance = 20; | 45 | public var int randomBacktrackChance = 20; |
30 | 46 | ||
31 | /** | 47 | /** |
32 | * Describes the required diversity between the solutions. | 48 | * Describes the required diversity between the solutions. |
33 | * Null means that the solutions have to have different state codes only. | 49 | * Null means that the solutions have to have different state codes only. |
@@ -41,22 +57,40 @@ class ViatraReasonerConfiguration extends LogicSolverConfiguration{ | |||
41 | /** | 57 | /** |
42 | * Configuration for debugging support. | 58 | * Configuration for debugging support. |
43 | */ | 59 | */ |
44 | public var DebugConfiguration debugCongiguration = new DebugConfiguration | 60 | public var DebugConfiguration debugConfiguration = new DebugConfiguration |
45 | /** | 61 | /** |
46 | * Configuration for cutting search space. | 62 | * Configuration for cutting search space. |
47 | */ | 63 | */ |
48 | public var SearchSpaceConstraint searchSpaceConstraints = new SearchSpaceConstraint | 64 | public var SearchSpaceConstraint searchSpaceConstraints = new SearchSpaceConstraint |
49 | 65 | ||
50 | public var RealisticGuidance realisticGuidance = RealisticGuidance.Composite; | 66 | public var runIntermediateNumericalConsistencyChecks = true |
67 | |||
68 | public var punishSize = PunishSizeStrategy.NONE | ||
69 | public var scopeWeight = 1 | ||
70 | public var conaintmentWeight = 2 | ||
71 | public var nonContainmentWeight = 1 | ||
72 | public var unfinishedWFWeight = 1 | ||
73 | public var calculateObjectCreationCosts = false | ||
74 | |||
75 | public var RealisticGuidance realisticGuidance = RealisticGuidance.Composite; | ||
51 | 76 | ||
52 | public var isWFOptional = false; | 77 | public var isWFOptional = false; |
53 | 78 | ||
54 | public var allowMustViolations = false; | 79 | public var allowMustViolations = false; |
55 | 80 | ||
56 | public var String domain = ''; | 81 | public var String domain = ''; |
82 | public var ScopePropagatorStrategy scopePropagatorStrategy = new ScopePropagatorStrategy.Polyhedral( | ||
83 | PolyhedralScopePropagatorConstraints.Relational, PolyhedralScopePropagatorSolver.Clp) | ||
84 | // public var ScopePropagatorStrategy scopePropagatorStrategy = ScopePropagatorStrategy.BasicTypeHierarchy | ||
85 | |||
86 | public var List<LinearTypeConstraintHint> hints = newArrayList | ||
87 | |||
88 | public var List<CostObjectiveConfiguration> costObjectives = newArrayList | ||
89 | |||
90 | public var List<UnitPropagationPatternGenerator> unitPropagationPatternGenerators = newArrayList | ||
57 | } | 91 | } |
58 | 92 | ||
59 | public class DiversityDescriptor { | 93 | class DiversityDescriptor { |
60 | public var ensureDiversity = false | 94 | public var ensureDiversity = false |
61 | public static val FixPointRange = -1 | 95 | public static val FixPointRange = -1 |
62 | public var int range = FixPointRange | 96 | public var int range = FixPointRange |
@@ -66,6 +100,23 @@ public class DiversityDescriptor { | |||
66 | public var Set<RelationDeclaration> relevantRelations = null | 100 | public var Set<RelationDeclaration> relevantRelations = null |
67 | } | 101 | } |
68 | 102 | ||
103 | class DebugConfiguration { | ||
104 | public var PartialInterpretationVisualiser partialInterpretatioVisualiser = null | ||
105 | public var partalInterpretationVisualisationFrequency = 1 | ||
106 | } | ||
107 | |||
108 | class InternalConsistencyCheckerConfiguration { | ||
109 | public var LogicReasoner internalIncosnsitencyDetector = null | ||
110 | public var LogicSolverConfiguration internalInconsistencDetectorConfiguration = null | ||
111 | public var incternalConsistencyCheckingFrequency = 1 | ||
112 | } | ||
113 | |||
114 | class SearchSpaceConstraint { | ||
115 | public static val UNLIMITED_MAXDEPTH = Integer.MAX_VALUE | ||
116 | public var int maxDepth = UNLIMITED_MAXDEPTH | ||
117 | public var List<Function1<ModelGenerationMethod, ModelGenerationMethodBasedGlobalConstraint>> additionalGlobalConstraints = new LinkedList | ||
118 | } | ||
119 | |||
69 | public enum RealisticGuidance{ | 120 | public enum RealisticGuidance{ |
70 | MPC, | 121 | MPC, |
71 | NodeActivity, | 122 | NodeActivity, |
@@ -75,21 +126,16 @@ public enum RealisticGuidance{ | |||
75 | Composite_Without_Violations, | 126 | Composite_Without_Violations, |
76 | Violations | 127 | Violations |
77 | } | 128 | } |
78 | 129 | class CostObjectiveConfiguration { | |
79 | public class DebugConfiguration { | 130 | public var List<CostObjectiveElementConfiguration> elements = newArrayList |
80 | public var logging = false | 131 | public var ObjectiveKind kind |
81 | public var PartialInterpretationVisualiser partialInterpretatioVisualiser = null; | 132 | public var ObjectiveThreshold threshold |
82 | public var partalInterpretationVisualisationFrequency = 1 | 133 | public var boolean findExtremum |
134 | public var CostObjectiveHint hint | ||
83 | } | 135 | } |
84 | 136 | ||
85 | public class InternalConsistencyCheckerConfiguration { | 137 | class CostObjectiveElementConfiguration { |
86 | public var LogicReasoner internalIncosnsitencyDetector = null | 138 | public var String patternQualifiedName |
87 | public var LogicSolverConfiguration internalInconsistencDetectorConfiguration = null | 139 | public var int weight |
88 | public var incternalConsistencyCheckingFrequency = 1 | ||
89 | } | 140 | } |
90 | 141 | ||
91 | public class SearchSpaceConstraint { | ||
92 | public static val UNLIMITED_MAXDEPTH = Integer.MAX_VALUE | ||
93 | public var int maxDepth = UNLIMITED_MAXDEPTH | ||
94 | public var List<Function1<ModelGenerationMethod, ModelGenerationMethodBasedGlobalConstraint>> additionalGlobalConstraints = new LinkedList | ||
95 | } \ No newline at end of file | ||