From bca9323c67b620064dc4b74e71385c849b7883cd Mon Sep 17 00:00:00 2001 From: oblonski <4sschroeder@gmail.com> Date: Wed, 30 Jul 2014 11:07:44 +0200 Subject: [PATCH] fixed bug #112 --- .../algorithm/InsertionInitialSolutionFactory.java | 3 +-- .../jsprit/core/algorithm/box/SchrimpfFactory.java | 6 +++--- .../core/algorithm/io/VehicleRoutingAlgorithms.java | 2 +- .../VehicleTypeDependentJobInsertionCalculator.java | 8 ++++---- .../jsprit/core/problem/VehicleRoutingProblem.java | 13 +++++++++++-- 5 files changed, 20 insertions(+), 12 deletions(-) diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/InsertionInitialSolutionFactory.java b/jsprit-core/src/main/java/jsprit/core/algorithm/InsertionInitialSolutionFactory.java index 4937eece..dd2f59e7 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/InsertionInitialSolutionFactory.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/InsertionInitialSolutionFactory.java @@ -60,8 +60,7 @@ public final class InsertionInitialSolutionFactory implements InitialSolutionFac } private List getUnassignedJobs(VehicleRoutingProblem vrp) { - List jobs = new ArrayList(vrp.getJobs().values()); - return jobs; + return new ArrayList(vrp.getJobs().values()); } } diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/box/SchrimpfFactory.java b/jsprit-core/src/main/java/jsprit/core/algorithm/box/SchrimpfFactory.java index efb1655a..7d0c3aa1 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/box/SchrimpfFactory.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/box/SchrimpfFactory.java @@ -16,8 +16,6 @@ ******************************************************************************/ package jsprit.core.algorithm.box; -import java.net.URL; - import jsprit.core.algorithm.VehicleRoutingAlgorithm; import jsprit.core.algorithm.io.AlgorithmConfig; import jsprit.core.algorithm.io.AlgorithmConfigXmlReader; @@ -25,6 +23,8 @@ import jsprit.core.algorithm.io.VehicleRoutingAlgorithms; import jsprit.core.problem.VehicleRoutingProblem; import jsprit.core.util.Resource; +import java.net.URL; + /** @@ -51,7 +51,7 @@ public class SchrimpfFactory { /** * Creates the {@link VehicleRoutingAlgorithm}. * - * @param vrp + * @param vrp the underlying vehicle routing problem * @return algorithm */ public VehicleRoutingAlgorithm createAlgorithm(VehicleRoutingProblem vrp){ 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 acd27a77..dd17c055 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 @@ -474,7 +474,7 @@ public class VehicleRoutingAlgorithms { ConstraintManager constraintManager = new ConstraintManager(vrp,stateManager); constraintManager.addTimeWindowConstraint(); constraintManager.addLoadConstraint(); - constraintManager.addSkillsConstraint(); +// constraintManager.addSkillsConstraint(); return readAndCreateAlgorithm(vrp, config, nuOfThreads, null, stateManager, constraintManager, true); } diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/VehicleTypeDependentJobInsertionCalculator.java b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/VehicleTypeDependentJobInsertionCalculator.java index 3d54a898..529abd42 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/VehicleTypeDependentJobInsertionCalculator.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/VehicleTypeDependentJobInsertionCalculator.java @@ -60,7 +60,7 @@ final class VehicleTypeDependentJobInsertionCalculator implements JobInsertionCo this.insertionCalculator = jobInsertionCalc; this.vrp = vrp; getInitialVehicleIds(); - logger.info("inialise " + this); + logger.info("initialise " + this); } private void getInitialVehicleIds() { @@ -77,7 +77,8 @@ final class VehicleTypeDependentJobInsertionCalculator implements JobInsertionCo /** * @return the vehicleSwitchAllowed */ - public boolean isVehicleSwitchAllowed() { + @SuppressWarnings("UnusedDeclaration") + public boolean isVehicleSwitchAllowed() { return vehicleSwitchAllowed; } @@ -124,8 +125,7 @@ final class VehicleTypeDependentJobInsertionCalculator implements JobInsertionCo } private boolean isVehicleWithInitialRoute(Vehicle selectedVehicle) { - if(initialVehicleIds.contains(selectedVehicle.getId())) return true; - return false; + return initialVehicleIds.contains(selectedVehicle.getId()); } } diff --git a/jsprit-core/src/main/java/jsprit/core/problem/VehicleRoutingProblem.java b/jsprit-core/src/main/java/jsprit/core/problem/VehicleRoutingProblem.java index 0e9c6f6d..f4404433 100644 --- a/jsprit-core/src/main/java/jsprit/core/problem/VehicleRoutingProblem.java +++ b/jsprit-core/src/main/java/jsprit/core/problem/VehicleRoutingProblem.java @@ -672,9 +672,18 @@ public class VehicleRoutingProblem { public Map getJobs() { return Collections.unmodifiableMap(jobs); } - + + /** + * Returns a copy of initial vehicle routes. + * + * @return copied collection of initial vehicle routes + */ public Collection getInitialVehicleRoutes(){ - return Collections.unmodifiableCollection(initialVehicleRoutes); + Collection copiedInitialRoutes = new ArrayList(); + for(VehicleRoute route : initialVehicleRoutes){ + copiedInitialRoutes.add(VehicleRoute.copyOf(route)); + } + return copiedInitialRoutes; } /**