From 92df2471329ab4caf9e9afcb91487aa6cfe93872 Mon Sep 17 00:00:00 2001 From: oblonski Date: Tue, 28 Apr 2015 05:55:53 +0200 Subject: [PATCH] allow coordinate switch --- .../java/jsprit/instance/reader/TSPLIB95Reader.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/jsprit-instances/src/main/java/jsprit/instance/reader/TSPLIB95Reader.java b/jsprit-instances/src/main/java/jsprit/instance/reader/TSPLIB95Reader.java index 7d185284..58d64b4a 100644 --- a/jsprit-instances/src/main/java/jsprit/instance/reader/TSPLIB95Reader.java +++ b/jsprit-instances/src/main/java/jsprit/instance/reader/TSPLIB95Reader.java @@ -39,6 +39,11 @@ public class TSPLIB95Reader { private VehicleRoutingProblem.Builder vrpBuilder; + private boolean switchCoordinates = false; + + public void setSwitchCoordinates(boolean switchCoordinates) { + this.switchCoordinates = switchCoordinates; + } public TSPLIB95Reader(VehicleRoutingProblem.Builder vrpBuilder) { this.vrpBuilder = vrpBuilder; @@ -128,7 +133,10 @@ public class TSPLIB95Reader { if(coords == null) throw new IllegalStateException("DIMENSION tag missing"); String[] tokens = line.trim().split("\\s+"); Integer id = Integer.parseInt(tokens[0]); - coords[coordIndex] = Coordinate.newInstance(Double.parseDouble(tokens[1]), Double.parseDouble(tokens[2])); + if(switchCoordinates){ + coords[coordIndex] = Coordinate.newInstance(Double.parseDouble(tokens[2]), Double.parseDouble(tokens[1])); + } + else coords[coordIndex] = Coordinate.newInstance(Double.parseDouble(tokens[1]), Double.parseDouble(tokens[2])); indexMap.put(id,coordIndex); coordIndex++; continue;