From c75cbe2328740e1ea49e37b5786b82de490f1346 Mon Sep 17 00:00:00 2001 From: oblonski <4sschroeder@gmail.com> Date: Wed, 23 Jul 2014 23:34:55 +0200 Subject: [PATCH] misc --- .../core/algorithm/io/VehicleRoutingAlgorithms.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/io/VehicleRoutingAlgorithms.java b/jsprit-core/src/main/java/jsprit/core/algorithm/io/VehicleRoutingAlgorithms.java index 3d65d6f9..ed0386c6 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/io/VehicleRoutingAlgorithms.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/io/VehicleRoutingAlgorithms.java @@ -533,6 +533,12 @@ public class VehicleRoutingAlgorithms { //create fleetmanager final VehicleFleetManager vehicleFleetManager = createFleetManager(vrp); + String switchString = config.getString("construction.insertion.allowVehicleSwitch"); + final boolean switchAllowed; + if(switchString != null){ + switchAllowed = Boolean.parseBoolean(switchString); + } + else switchAllowed = true; if(stateManager.timeWindowUpdateIsActivated()){ UpdateVehicleDependentPracticalTimeWindows timeWindowUpdater = new UpdateVehicleDependentPracticalTimeWindows(stateManager,vrp.getTransportCosts()); timeWindowUpdater.setVehiclesToUpdate(new UpdateVehicleDependentPracticalTimeWindows.VehiclesToUpdate() { @@ -541,7 +547,9 @@ public class VehicleRoutingAlgorithms { public Collection get(VehicleRoute route) { Collection vehicles = new ArrayList(); vehicles.add(route.getVehicle()); - vehicles.addAll(vehicleFleetManager.getAvailableVehicles(route.getVehicle())); + if(switchAllowed) { + vehicles.addAll(vehicleFleetManager.getAvailableVehicles(route.getVehicle())); + } return vehicles; } @@ -937,8 +945,7 @@ public class VehicleRoutingAlgorithms { } private static InsertionStrategy createInsertionStrategy(HierarchicalConfiguration moduleConfig, VehicleRoutingProblem vrp,VehicleFleetManager vehicleFleetManager, StateManager routeStates, List algorithmListeners, ExecutorService executorService, int nuOfThreads, ConstraintManager constraintManager, boolean addDefaultCostCalculators) { - InsertionStrategy insertion = InsertionFactory.createInsertion(vrp, moduleConfig, vehicleFleetManager, routeStates, algorithmListeners, executorService, nuOfThreads, constraintManager, addDefaultCostCalculators); - return insertion; + return InsertionFactory.createInsertion(vrp, moduleConfig, vehicleFleetManager, routeStates, algorithmListeners, executorService, nuOfThreads, constraintManager, addDefaultCostCalculators); }