mirror of
https://github.com/graphhopper/jsprit.git
synced 2020-01-24 07:45:05 +01:00
relax api
This commit is contained in:
parent
b0d0736c22
commit
2c26e0041f
2 changed files with 11 additions and 9 deletions
|
|
@ -6,7 +6,7 @@ import basics.route.TourActivity;
|
||||||
import basics.route.Vehicle;
|
import basics.route.Vehicle;
|
||||||
import basics.route.VehicleRoute;
|
import basics.route.VehicleRoute;
|
||||||
|
|
||||||
class ActivityTimeTracker implements ActivityVisitor{
|
public class ActivityTimeTracker implements ActivityVisitor{
|
||||||
|
|
||||||
private ForwardTransportTime transportTime;
|
private ForwardTransportTime transportTime;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
package algorithms;
|
package algorithms;
|
||||||
|
|
||||||
import basics.VehicleRoutingProblem;
|
import basics.VehicleRoutingProblem;
|
||||||
import basics.VehicleRoutingProblem.FleetSize;
|
|
||||||
|
|
||||||
public class BestInsertionBuilder implements InsertionStrategyBuilder{
|
public class BestInsertionBuilder implements InsertionStrategyBuilder{
|
||||||
|
|
||||||
|
|
@ -14,6 +13,10 @@ public class BestInsertionBuilder implements InsertionStrategyBuilder{
|
||||||
private ConstraintManager constraintManager;
|
private ConstraintManager constraintManager;
|
||||||
|
|
||||||
private VehicleFleetManager fleetManager;
|
private VehicleFleetManager fleetManager;
|
||||||
|
|
||||||
|
private double weightOfFixedCosts;
|
||||||
|
|
||||||
|
private boolean considerFixedCosts = false;
|
||||||
|
|
||||||
public BestInsertionBuilder(VehicleRoutingProblem vrp, StateManager stateManager) {
|
public BestInsertionBuilder(VehicleRoutingProblem vrp, StateManager stateManager) {
|
||||||
super();
|
super();
|
||||||
|
|
@ -36,6 +39,11 @@ public class BestInsertionBuilder implements InsertionStrategyBuilder{
|
||||||
local = true;
|
local = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public void considerFixedCosts(double weightOfFixedCosts){
|
||||||
|
this.weightOfFixedCosts = weightOfFixedCosts;
|
||||||
|
this.considerFixedCosts = true;
|
||||||
|
}
|
||||||
|
|
||||||
public void setFleetManager(VehicleFleetManager fleetManager){
|
public void setFleetManager(VehicleFleetManager fleetManager){
|
||||||
this.fleetManager = fleetManager;
|
this.fleetManager = fleetManager;
|
||||||
}
|
}
|
||||||
|
|
@ -52,15 +60,9 @@ public class BestInsertionBuilder implements InsertionStrategyBuilder{
|
||||||
calcBuilder.setStates(stateManager);
|
calcBuilder.setStates(stateManager);
|
||||||
calcBuilder.setVehicleRoutingProblem(vrp);
|
calcBuilder.setVehicleRoutingProblem(vrp);
|
||||||
calcBuilder.setVehicleFleetManager(fleetManager);
|
calcBuilder.setVehicleFleetManager(fleetManager);
|
||||||
|
if(considerFixedCosts) calcBuilder.considerFixedCosts(weightOfFixedCosts);
|
||||||
JobInsertionCalculator jobInsertions = calcBuilder.build();
|
JobInsertionCalculator jobInsertions = calcBuilder.build();
|
||||||
return new BestInsertion(jobInsertions);
|
return new BestInsertion(jobInsertions);
|
||||||
}
|
}
|
||||||
|
|
||||||
private VehicleFleetManager createFleetManager(VehicleRoutingProblem vrp) {
|
|
||||||
if(vrp.getFleetSize().equals(FleetSize.INFINITE)){
|
|
||||||
return new InfiniteVehicles(vrp.getVehicles());
|
|
||||||
}
|
|
||||||
else return new VehicleFleetManagerImpl(vrp.getVehicles());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue