mirror of
https://github.com/graphhopper/jsprit.git
synced 2020-01-24 07:45:05 +01:00
Break support for XMLReader
This commit is contained in:
parent
77d14ac0ee
commit
2b50993a7f
2 changed files with 19 additions and 0 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@
|
|||
<xs:element name="timeSchedule" type="timeWindowType"/>
|
||||
<xs:element name="returnToDepot" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="skills" type="xs:string" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="breaks" type="breaksType" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:all>
|
||||
<xs:attribute name="type" type="xs:string" use="optional"/>
|
||||
</xs:complexType>
|
||||
|
|
@ -368,6 +369,13 @@
|
|||
</xs:all>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="breaksType">
|
||||
<xs:sequence>
|
||||
<xs:element name="timeWindow" type="timeWindowType" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="duration" type="xs:double" minOccurs="1" maxOccurs="1" default="0.0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="coordType">
|
||||
<xs:attribute name="x" type="xs:double" use="required"/>
|
||||
<xs:attribute name="y" type="xs:double" use="required"/>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue