aboutsummaryrefslogtreecommitdiffstats
path: root/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend')
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend44
1 files changed, 44 insertions, 0 deletions
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 a9573fbf..2fe69a47 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
@@ -14,6 +14,7 @@ import java.util.Optional
14import org.eclipse.xtext.xbase.lib.Functions.Function1 14import org.eclipse.xtext.xbase.lib.Functions.Function1
15import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser 15import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser
16import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor 16import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor
17import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder.SolverConfiguration
17 18
18class SolverLoader { 19class SolverLoader {
19 def loadSolver(Solver solver, Map<String, String> config) { 20 def loadSolver(Solver solver, Map<String, String> config) {
@@ -86,6 +87,49 @@ class SolverLoader {
86 ] 87 ]
87 } catch (NumberFormatException e) {console.writeError('''Malformed number format: «e.message»''')} 88 } catch (NumberFormatException e) {console.writeError('''Malformed number format: «e.message»''')}
88 } 89 }
90 if(config.containsKey("numeric-solver-at-end")) {
91 val stringValue = config.get("numeric-solver-at-end")
92 if(stringValue.equals("true")) {
93 println("numeric-solver-at-end")
94 c.runIntermediateNumericalConsistencyChecks = false
95 }
96 }
97 if(config.containsKey("fitness-punishSize")) {
98 val stringValue = config.get("fitness-punishSize")
99 try {
100 c.punishSize = Boolean.parseBoolean(stringValue)
101 } catch(Exception e) {}
102 }
103 if(config.containsKey("fitness-scope")) {
104 val stringValue = config.get("fitness-scope")
105 try {
106 c.scopeWeight = Integer.parseInt(stringValue)
107 } catch(Exception e) {}
108 }
109 if(config.containsKey("fitness-missing-containent")) {
110 val stringValue = config.get("fitness-missing-containent")
111 try {
112 c.conaintmentWeight = Integer.parseInt(stringValue)
113 } catch(Exception e) {}
114 }
115 if(config.containsKey("fitness-missing-noncontainent")) {
116 val stringValue = config.get("fitness-missing-noncontainent")
117 try {
118 c.nonContainmentWeight = Integer.parseInt(stringValue)
119 } catch(Exception e) {}
120 }
121 if(config.containsKey("fitness-missing-wf")) {
122 val stringValue = config.get("fitness-missing-wf")
123 try {
124 c.unfinishedWFWeight = Integer.parseInt(stringValue)
125 } catch(Exception e) {}
126 }
127 if(config.containsKey("fitness-objectCreationCosts")) {
128 val stringValue = config.get("fitness-objectCreationCosts")
129 try {
130 c.calculateObjectCreationCosts = Boolean.parseBoolean(stringValue)
131 } catch(Exception e) {}
132 }
89 ] 133 ]
90 } else { 134 } else {
91 throw new UnsupportedOperationException('''Unknown solver: «solver»''') 135 throw new UnsupportedOperationException('''Unknown solver: «solver»''')