From 69015048544633c6baa268aec0cb8821b058e225 Mon Sep 17 00:00:00 2001 From: oblonski Date: Fri, 9 Oct 2015 14:57:29 +0200 Subject: [PATCH] improve vehicle fleet manager --- .../vehicle/VehicleFleetManagerImpl.java | 8 +- .../test/resources/infiniteWriterV2Test.xml | 81 ++++++++++++------- 2 files changed, 61 insertions(+), 28 deletions(-) diff --git a/jsprit-core/src/main/java/jsprit/core/problem/vehicle/VehicleFleetManagerImpl.java b/jsprit-core/src/main/java/jsprit/core/problem/vehicle/VehicleFleetManagerImpl.java index 84dc0ab4..d5ee9664 100644 --- a/jsprit-core/src/main/java/jsprit/core/problem/vehicle/VehicleFleetManagerImpl.java +++ b/jsprit-core/src/main/java/jsprit/core/problem/vehicle/VehicleFleetManagerImpl.java @@ -77,7 +77,6 @@ class VehicleFleetManagerImpl implements VehicleFleetManager { int arrSize = vehicles.size() + 2; locked = new boolean[arrSize]; vehicleArr = new Vehicle[arrSize]; - vehicleTypes = new TypeContainer[arrSize]; initializeVehicleTypes(); logger.debug("initialise {}",this); } @@ -88,6 +87,13 @@ class VehicleFleetManagerImpl implements VehicleFleetManager { } private void initializeVehicleTypes() { + int maxTypeIndex = 0; + for(Vehicle v : vehicles){ + if(v.getVehicleTypeIdentifier().getIndex() > maxTypeIndex){ + maxTypeIndex = v.getVehicleTypeIdentifier().getIndex(); + } + } + vehicleTypes = new TypeContainer[maxTypeIndex+1]; for(int i=0;i< vehicleTypes.length;i++){ vehicleTypes[i] = new TypeContainer(); } diff --git a/jsprit-core/src/test/resources/infiniteWriterV2Test.xml b/jsprit-core/src/test/resources/infiniteWriterV2Test.xml index 07c5406a..2d9058ab 100644 --- a/jsprit-core/src/test/resources/infiniteWriterV2Test.xml +++ b/jsprit-core/src/test/resources/infiniteWriterV2Test.xml @@ -2,24 +2,9 @@ - FINITE + INFINITE - - v2 - vehType2 - - loc - - - loc - - - 0.0 - 1.7976931348623157E308 - - true - v1 vehType @@ -48,16 +33,58 @@ - - vehType2 - - 200 - - - 0.0 - 1.0 - - - + + + + loc + + + 1 + + 2.0 + + + 0.0 + 1.7976931348623157E308 + + + + + + loc2 + + + 1 + + 4.0 + + + 0.0 + 1.7976931348623157E308 + + + + + + + 10.0 + + + noDriver + v1 + 0.0 + + 1 + 0.0 + 0.0 + + 0.0 + + + + + + +