From 5479cc8845ae501a4bc2bc1a16807bcb837464fa Mon Sep 17 00:00:00 2001 From: braktar Date: Thu, 26 May 2016 10:58:02 +0200 Subject: [PATCH] XMLWriter : have choice to only display the best solution --- .../jsprit/core/problem/io/VrpXMLWriter.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/problem/io/VrpXMLWriter.java b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/problem/io/VrpXMLWriter.java index 10a8043a..0608f188 100644 --- a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/problem/io/VrpXMLWriter.java +++ b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/problem/io/VrpXMLWriter.java @@ -29,6 +29,8 @@ import com.graphhopper.jsprit.core.problem.solution.route.activity.TimeWindow; import com.graphhopper.jsprit.core.problem.solution.route.activity.TourActivity; import com.graphhopper.jsprit.core.problem.vehicle.Vehicle; import com.graphhopper.jsprit.core.problem.vehicle.VehicleType; +import com.graphhopper.jsprit.core.util.Solutions; + import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.XMLConfiguration; import org.apache.logging.log4j.LogManager; @@ -67,6 +69,14 @@ public class VrpXMLWriter { private Collection solutions; + private boolean onlyBestSolution = false; + + public VrpXMLWriter(VehicleRoutingProblem vrp, Collection solutions, boolean onlyBestSolution) { + this.vrp = vrp; + this.solutions = new ArrayList(solutions); + this.onlyBestSolution = onlyBestSolution; + } + public VrpXMLWriter(VehicleRoutingProblem vrp, Collection solutions) { this.vrp = vrp; this.solutions = solutions; @@ -102,6 +112,12 @@ public class VrpXMLWriter { writeShipments(xmlConfig, jobs); writeInitialRoutes(xmlConfig); + if(onlyBestSolution && solutions != null) { + VehicleRoutingProblemSolution solution = Solutions.bestOf(solutions); + solutions.clear(); + solutions.add(solution); + } + writeSolutions(xmlConfig);