From eef7b73b3067bc4d4cf6ba70bb5435d0a8e03f4a Mon Sep 17 00:00:00 2001 From: braktar Date: Wed, 25 May 2016 10:06:30 +0200 Subject: [PATCH] service and wait are optionnal --- .../jsprit/core/problem/io/VrpXMLReader.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) 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 6d5e7f3d..1394c5bf 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 @@ -583,14 +583,19 @@ public class VrpXMLReader { Double fix = typeConfig.getDouble("costs.fixed"); Double timeC = typeConfig.getDouble("costs.time"); Double distC = typeConfig.getDouble("costs.distance"); - Double serviceC = typeConfig.getDouble("costs.service"); - Double waitC = typeConfig.getDouble("costs.wait"); + if(typeConfig.containsKey("costs.service")){ + Double serviceC = typeConfig.getDouble("costs.service"); + if (serviceC != null) typeBuilder.setCostPerServiceTime(serviceC); + } + + if(typeConfig.containsKey("costs.wait")){ + Double waitC = typeConfig.getDouble("costs.wait"); + if (waitC != null) typeBuilder.setCostPerWaitingTime(waitC); + } if (fix != null) typeBuilder.setFixedCost(fix); if (timeC != null) typeBuilder.setCostPerTransportTime(timeC); if (distC != null) typeBuilder.setCostPerDistance(distC); - if (serviceC != null) typeBuilder.setCostPerServiceTime(serviceC); - if (waitC != null) typeBuilder.setCostPerWaitingTime(waitC); VehicleType type = typeBuilder.build(); String id = type.getTypeId(); types.put(id, type);