mirror of
https://github.com/graphhopper/jsprit.git
synced 2020-01-24 07:45:05 +01:00
adapt readers to changes in VehicleTypeBuilder and PenaltyVehicleType
This commit is contained in:
parent
d4169d7797
commit
8b01497cfc
4 changed files with 11 additions and 11 deletions
|
|
@ -93,7 +93,7 @@ public class ChristophidesReader {
|
|||
else if(counter == 1){
|
||||
String id = Integer.valueOf(counter).toString();
|
||||
Coordinate depotCoord = makeCoord(tokens[0].trim(),tokens[1].trim());
|
||||
VehicleTypeImpl vehicleType = VehicleType.Builder.newInstance("christophidesType", vehicleCapacity).
|
||||
VehicleTypeImpl vehicleType = VehicleTypeImpl.Builder.newInstance("christophidesType", vehicleCapacity).
|
||||
setCostPerDistance(1.0).setFixedCost(100).build();
|
||||
Vehicle vehicle = VehicleImpl.Builder.newInstance("christophidesVehicle").setLatestArrival(endTime).setLocationId(id).setLocationCoord(depotCoord).
|
||||
setType(vehicleType).build();
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ import readers.CordeauReader;
|
|||
import util.Coordinate;
|
||||
|
||||
import basics.VehicleRoutingProblem.FleetSize;
|
||||
import basics.route.PenaltyVehicleType;
|
||||
import basics.route.VehicleImpl;
|
||||
import basics.route.VehicleImpl.Builder;
|
||||
import basics.route.VehicleType;
|
||||
|
|
@ -101,7 +102,7 @@ public class CordeauReader {
|
|||
int duration = Integer.parseInt(tokens[0].trim());
|
||||
if(duration == 0) duration = 999999;
|
||||
int capacity = Integer.parseInt(tokens[1].trim());
|
||||
VehicleTypeImpl vehicleType = VehicleType.Builder.newInstance(counter + "_cordeauType", capacity).
|
||||
VehicleTypeImpl vehicleType = VehicleTypeImpl.Builder.newInstance(counter + "_cordeauType", capacity).
|
||||
setCostPerDistance(1.0).setFixedCost(0).build();
|
||||
List<Builder> builders = new ArrayList<VehicleImpl.Builder>();
|
||||
for(int vehicleCounter=0;vehicleCounter<nOfVehiclesAtEachDepot;vehicleCounter++){
|
||||
|
|
@ -125,22 +126,21 @@ public class CordeauReader {
|
|||
int cap = 0;
|
||||
double latestArrTime = 0.0;
|
||||
Coordinate coord = null;
|
||||
String typeId = null;
|
||||
for(Builder vBuilder : vBuilders){
|
||||
vBuilder.setLocationCoord(depotCoord);
|
||||
VehicleImpl vehicle = vBuilder.build();
|
||||
cap = vehicle.getCapacity();
|
||||
typeId = vehicle.getType().getTypeId();
|
||||
latestArrTime = vehicle.getLatestArrival();
|
||||
coord = vehicle.getCoord();
|
||||
vrpBuilder.addVehicle(vehicle);
|
||||
}
|
||||
if(addPenaltyVehicles){
|
||||
for(int i=0;i<5;i++){
|
||||
VehicleTypeImpl penaltyType = VehicleType.Builder.newInstance(counter + "_penaltyType", cap).
|
||||
setCostPerDistance(3.0).setFixedCost(50).build();
|
||||
VehicleImpl penaltyVehicle = VehicleImpl.Builder.newInstance(counter + "_" + (i+1) + "_penaltyVehicle").setLatestArrival(latestArrTime)
|
||||
.setType(penaltyType).setLocationCoord(coord).build();
|
||||
vrpBuilder.addVehicle(penaltyVehicle);
|
||||
}
|
||||
VehicleTypeImpl penaltyType = VehicleTypeImpl.Builder.newInstance(typeId, cap).setCostPerDistance(3.0).setFixedCost(50).build();
|
||||
VehicleImpl penaltyVehicle = VehicleImpl.Builder.newInstance(counter + "_penaltyVehicle").setLatestArrival(latestArrTime)
|
||||
.setType(new PenaltyVehicleType(penaltyType)).setLocationCoord(coord).build();
|
||||
vrpBuilder.addVehicle(penaltyVehicle);
|
||||
}
|
||||
depotCounter++;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ public class LuiShenReader {
|
|||
int capacity = Integer.parseInt(tokens[capacityColumn]);
|
||||
int fixCost = Integer.parseInt(tokens[costScenarioColumn]);
|
||||
|
||||
VehicleTypeImpl.Builder typeBuilder = VehicleType.Builder.newInstance(vehicleId, capacity);
|
||||
VehicleTypeImpl.Builder typeBuilder = VehicleTypeImpl.Builder.newInstance(vehicleId, capacity);
|
||||
typeBuilder.setFixedCost(fixCost).setCostPerDistance(1.0);
|
||||
|
||||
VehicleTypeImpl type = typeBuilder.build();
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ public class SolomonReader {
|
|||
double end = Double.parseDouble(tokens[5])*timeProjectionFactor;
|
||||
double serviceTime = Double.parseDouble(tokens[6])*timeProjectionFactor;
|
||||
if(counter == 10){
|
||||
VehicleTypeImpl.Builder typeBuilder = VehicleType.Builder.newInstance("solomonType", vehicleCapacity);
|
||||
VehicleTypeImpl.Builder typeBuilder = VehicleTypeImpl.Builder.newInstance("solomonType", vehicleCapacity);
|
||||
typeBuilder.setCostPerDistance(1.0*variableCostProjectionFactor).setFixedCost(100);
|
||||
|
||||
VehicleTypeImpl vehicleType = typeBuilder.build();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue