diff options
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.xtend | 44 |
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 | |||
14 | import org.eclipse.xtext.xbase.lib.Functions.Function1 | 14 | import org.eclipse.xtext.xbase.lib.Functions.Function1 |
15 | import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser | 15 | import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser |
16 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor | 16 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor |
17 | import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder.SolverConfiguration | ||
17 | 18 | ||
18 | class SolverLoader { | 19 | class 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»''') |