1
0
Fork 0
mirror of https://github.com/graphhopper/jsprit.git synced 2020-01-24 07:45:05 +01:00

add MultipleDepotExamples

This commit is contained in:
Stefan Schroeder 2013-06-18 14:08:48 +02:00
parent cc8f0ed2d8
commit c55af1ce59
4 changed files with 209 additions and 368 deletions

View file

@ -58,12 +58,20 @@ public class CordeauReader {
private final VehicleRoutingProblem.Builder vrpBuilder;
private double coordProjectionFactor = 1;
private boolean addPenaltyVehicles = false;
public CordeauReader(VehicleRoutingProblem.Builder vrpBuilder) {
super();
this.vrpBuilder = vrpBuilder;
}
public CordeauReader(VehicleRoutingProblem.Builder vrpBuilder, boolean penaltyVehicles) {
super();
this.vrpBuilder = vrpBuilder;
this.addPenaltyVehicles = penaltyVehicles;
}
public void read(String fileName){
vrpBuilder.setFleetSize(FleetSize.FINITE);
BufferedReader reader = getReader(fileName);
@ -124,12 +132,14 @@ public class CordeauReader {
coord = vehicle.getCoord();
vrpBuilder.addVehicle(vehicle);
}
for(int i=0;i<5;i++){
VehicleType penaltyType = VehicleImpl.VehicleType.Builder.newInstance(counter + "_penaltyType", cap).
setCostPerDistance(3.0).setFixedCost(50).build();
VehicleImpl penaltyVehicle = VehicleImpl.VehicleBuilder.newInstance(counter + "_" + (i+1) + "_penaltyVehicle").setLatestArrival(latestArrTime)
.setType(penaltyType).setLocationCoord(coord).build();
vrpBuilder.addVehicle(penaltyVehicle);
if(addPenaltyVehicles){
for(int i=0;i<5;i++){
VehicleType penaltyType = VehicleImpl.VehicleType.Builder.newInstance(counter + "_penaltyType", cap).
setCostPerDistance(3.0).setFixedCost(50).build();
VehicleImpl penaltyVehicle = VehicleImpl.VehicleBuilder.newInstance(counter + "_" + (i+1) + "_penaltyVehicle").setLatestArrival(latestArrTime)
.setType(penaltyType).setLocationCoord(coord).build();
vrpBuilder.addVehicle(penaltyVehicle);
}
}
depotCounter++;
}