From a3afd006142dd4ea20c708deae36c0cbda37da9b Mon Sep 17 00:00:00 2001 From: oblonski <4sschroeder@gmail.com> Date: Thu, 17 Jul 2014 17:22:11 +0200 Subject: [PATCH] added vehicle dependent time-window updater --- .../java/jsprit/core/algorithm/state/StateManager.java | 2 ++ .../UpdateVehicleDependentPracticalTimeWindows.java | 9 ++------- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/state/StateManager.java b/jsprit-core/src/main/java/jsprit/core/algorithm/state/StateManager.java index c3e70287..7ea2fce1 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/state/StateManager.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/state/StateManager.java @@ -122,6 +122,8 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart private VehicleRoutingProblem vrp; + int getMaxIndexOfVehicleTypeIdentifiers(){ return nuVehicleTypeKeys; } + public StateId createStateId(String name){ if(createdStateIds.containsKey(name)) return createdStateIds.get(name); if(stateIndexCounter>=activity_states[0].length){ diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/state/UpdateVehicleDependentPracticalTimeWindows.java b/jsprit-core/src/main/java/jsprit/core/algorithm/state/UpdateVehicleDependentPracticalTimeWindows.java index d1d8d0b0..13fdbbab 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/state/UpdateVehicleDependentPracticalTimeWindows.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/state/UpdateVehicleDependentPracticalTimeWindows.java @@ -36,13 +36,8 @@ public class UpdateVehicleDependentPracticalTimeWindows implements ReverseActivi this.transportCosts = tpCosts; this.fleetManager = fleetManager; this.vehicleSwitchAllowed=isVehicleSwitchAllowed; - int maxVehicleTypeIndex = getMaxTypeIndex(fleetManager); - latest_arrTimes_at_prevAct = new double[maxVehicleTypeIndex]; - location_of_prevAct = new String[maxVehicleTypeIndex]; - } - - private int getMaxTypeIndex(VehicleFleetManager fleetManager) { - return 0; + latest_arrTimes_at_prevAct = new double[stateManager.getMaxIndexOfVehicleTypeIdentifiers() + 1]; + location_of_prevAct = new String[stateManager.getMaxIndexOfVehicleTypeIdentifiers() + 1]; } @Override