From 2b50993a7f6e62182d64163037a90740c1d99d59 Mon Sep 17 00:00:00 2001 From: braktar Date: Tue, 5 Apr 2016 15:08:10 +0200 Subject: [PATCH] Break support for XMLReader --- .../jsprit/core/problem/io/VrpXMLReader.java | 11 +++++++++++ jsprit-core/src/main/resources/vrp_xml_schema.xsd | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/problem/io/VrpXMLReader.java b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/problem/io/VrpXMLReader.java index 6c81bd16..5c881726 100644 --- a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/problem/io/VrpXMLReader.java +++ b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/problem/io/VrpXMLReader.java @@ -564,6 +564,7 @@ public class VrpXMLReader { typeBuilder.addCapacityDimension(index, value); } } + Double fix = typeConfig.getDouble("costs.fixed"); Double timeC = typeConfig.getDouble("costs.time"); Double distC = typeConfig.getDouble("costs.distance"); @@ -671,6 +672,16 @@ public class VrpXMLReader { for (String skill : skillTokens) builder.addSkill(skill.toLowerCase()); } + // read break + String breakStartString = vehicleConfig.getString("breaks.timeWindow.start"); + String breakEndString = vehicleConfig.getString("breaks.timeWindow.end"); + String breakDurationString = vehicleConfig.getString("breaks.duration"); + if(breakStartString!=null && breakEndString!=null && breakDurationString!=null ) + builder.setBreak(Break.Builder.newInstance(vehicleId) + .addTimeWindow(Double.parseDouble(breakStartString), Double.parseDouble(breakEndString)) + .setServiceTime(Double.parseDouble(breakDurationString)).build()); + + //build vehicle VehicleImpl vehicle = builder.build(); vrpBuilder.addVehicle(vehicle); diff --git a/jsprit-core/src/main/resources/vrp_xml_schema.xsd b/jsprit-core/src/main/resources/vrp_xml_schema.xsd index 8ed94b85..52b8f8cf 100644 --- a/jsprit-core/src/main/resources/vrp_xml_schema.xsd +++ b/jsprit-core/src/main/resources/vrp_xml_schema.xsd @@ -62,6 +62,7 @@ + @@ -368,6 +369,13 @@ + + + + + + +