mirror of
https://github.com/graphhopper/jsprit.git
synced 2020-01-24 07:45:05 +01:00
adapt multiple depot example
This commit is contained in:
parent
7386ba7309
commit
d4169d7797
1 changed files with 11 additions and 1 deletions
|
|
@ -61,11 +61,21 @@ public class MultipleDepotExampleWithPenaltyVehicles {
|
||||||
Vehicle vehicle = vehicleBuilder.build();
|
Vehicle vehicle = vehicleBuilder.build();
|
||||||
vrpBuilder.addVehicle(vehicle);
|
vrpBuilder.addVehicle(vehicle);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
* define penalty-type with the same id, but other higher fixed and variable costs
|
||||||
|
*/
|
||||||
VehicleTypeImpl penaltyType = VehicleTypeImpl.Builder.newInstance(depotCounter + "_type", capacity).setFixedCost(50).setCostPerDistance(3.0).build();
|
VehicleTypeImpl penaltyType = VehicleTypeImpl.Builder.newInstance(depotCounter + "_type", capacity).setFixedCost(50).setCostPerDistance(3.0).build();
|
||||||
|
/*
|
||||||
|
* to mark the penalty-type as penalty-type, wrap it with PenaltyVehicleType(Wrapper)
|
||||||
|
* this is to tell the fleetManager that this is not a regular but a penalty vehicle
|
||||||
|
*/
|
||||||
PenaltyVehicleType penaltyVehicleType = new PenaltyVehicleType(penaltyType);
|
PenaltyVehicleType penaltyVehicleType = new PenaltyVehicleType(penaltyType);
|
||||||
String vehicleId = depotCounter + "_vehicle#penalty";
|
String vehicleId = depotCounter + "_vehicle#penalty";
|
||||||
VehicleImpl.Builder vehicleBuilder = VehicleImpl.Builder.newInstance(vehicleId);
|
VehicleImpl.Builder vehicleBuilder = VehicleImpl.Builder.newInstance(vehicleId);
|
||||||
vehicleBuilder.setLocationCoord(depotCoord);
|
vehicleBuilder.setLocationCoord(depotCoord);
|
||||||
|
/*
|
||||||
|
* set PenaltyVehicleType
|
||||||
|
*/
|
||||||
vehicleBuilder.setType(penaltyVehicleType);
|
vehicleBuilder.setType(penaltyVehicleType);
|
||||||
vehicleBuilder.setLatestArrival(maxDuration);
|
vehicleBuilder.setLatestArrival(maxDuration);
|
||||||
Vehicle penaltyVehicle = vehicleBuilder.build();
|
Vehicle penaltyVehicle = vehicleBuilder.build();
|
||||||
|
|
@ -95,7 +105,7 @@ public class MultipleDepotExampleWithPenaltyVehicles {
|
||||||
* solve the problem
|
* solve the problem
|
||||||
*/
|
*/
|
||||||
VehicleRoutingAlgorithm vra = VehicleRoutingAlgorithms.readAndCreateAlgorithm(vrp, "input/algorithmConfig.xml");
|
VehicleRoutingAlgorithm vra = VehicleRoutingAlgorithms.readAndCreateAlgorithm(vrp, "input/algorithmConfig.xml");
|
||||||
vra.setNuOfIterations(80000);
|
vra.setNuOfIterations(10000);
|
||||||
vra.setPrematureBreak(1000);
|
vra.setPrematureBreak(1000);
|
||||||
vra.getAlgorithmListeners().addListener(new StopWatch(),Priority.HIGH);
|
vra.getAlgorithmListeners().addListener(new StopWatch(),Priority.HIGH);
|
||||||
vra.getAlgorithmListeners().addListener(new AlgorithmSearchProgressChartListener("output/progress.png"));
|
vra.getAlgorithmListeners().addListener(new AlgorithmSearchProgressChartListener("output/progress.png"));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue