aboutsummaryrefslogtreecommitdiffstats
path: root/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java
diff options
context:
space:
mode:
authorLibravatar Aren Babikian <aren.babikian@mail.mcgill.ca>2021-02-14 10:34:21 +0100
committerLibravatar Aren Babikian <aren.babikian@mail.mcgill.ca>2021-02-14 10:34:21 +0100
commit803429243a248aef91bc8696c0da5924278e1cb6 (patch)
tree203e8eda42f6b96a45aca2ab5d623b2793b7b2e8 /Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java
parentAdd strategy flag + implement alost working crossingScenarioStrategy (diff)
downloadVIATRA-Generator-803429243a248aef91bc8696c0da5924278e1cb6.tar.gz
VIATRA-Generator-803429243a248aef91bc8696c0da5924278e1cb6.tar.zst
VIATRA-Generator-803429243a248aef91bc8696c0da5924278e1cb6.zip
finished first impl that works sometimes (issue w/ SAT in Dreal rerun)
Diffstat (limited to 'Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java')
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java
index 36ea64aa..d7e0b20c 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java
@@ -8,6 +8,7 @@ import java.io.IOException;
8import java.io.InputStream; 8import java.io.InputStream;
9import java.io.InputStreamReader; 9import java.io.InputStreamReader;
10import java.io.PrintWriter; 10import java.io.PrintWriter;
11import java.text.DecimalFormat;
11import java.util.ArrayList; 12import java.util.ArrayList;
12import java.util.Arrays; 13import java.util.Arrays;
13import java.util.HashMap; 14import java.util.HashMap;
@@ -504,7 +505,9 @@ public class NumericDrealProblemSolver extends NumericProblemSolver{
504 if (obj instanceof IntegerElement) { 505 if (obj instanceof IntegerElement) {
505 sol.put(obj, Integer.parseInt(value)); 506 sol.put(obj, Integer.parseInt(value));
506 } else { 507 } else {
507 sol.put(obj, Double.parseDouble(value)); 508 double fullVal = Double.parseDouble(value);
509 double trimmed = Math.round(fullVal * 1000.0) / 1000.0;
510 sol.put(obj, trimmed);
508 } 511 }
509 } 512 }
510 } else { 513 } else {
@@ -515,6 +518,8 @@ public class NumericDrealProblemSolver extends NumericProblemSolver{
515 } 518 }
516 else { 519 else {
517 System.out.println("Unsatisfiable numerical problem (trying to get solution...)"); 520 System.out.println("Unsatisfiable numerical problem (trying to get solution...)");
521 //null means no soln found
522 return null;
518 } 523 }
519 return sol; 524 return sol;
520 } 525 }