diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsImpl.java b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsImpl.java index 2ee436cd..15686dd0 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsImpl.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsImpl.java @@ -29,6 +29,7 @@ class JobNeighborhoodsImpl implements JobNeighborhoods { logger.info("intialise " + this); } + @Override public Iterator getNearestNeighborsIterator(int nNeighbors, Job neighborTo){ TreeSet tree = distanceNodeTree.get(neighborTo.getId()); if(tree == null) return new Iterator() { @@ -46,6 +47,7 @@ class JobNeighborhoodsImpl implements JobNeighborhoods { return new NearestNeighborhoodIterator(descendingIterator, nNeighbors); } + @Override public void initialise(){ logger.info("calculates and memorizes distances from EACH job to EACH job --> n^2 calculations"); calculateDistancesFromJob2Job(); diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsImplWithCapRestriction.java b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsImplWithCapRestriction.java index 1232458b..b3d507db 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsImplWithCapRestriction.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsImplWithCapRestriction.java @@ -32,9 +32,7 @@ class JobNeighborhoodsImplWithCapRestriction implements JobNeighborhoods { logger.info("intialise " + this); } - /* - TODO: obviously nearestNeighbor does not work with a single customer - */ + @Override public Iterator getNearestNeighborsIterator(int nNeighbors, Job neighborTo){ TreeSet tree = distanceNodeTree.get(neighborTo.getId()); if(tree == null) return new Iterator() { @@ -54,6 +52,7 @@ class JobNeighborhoodsImplWithCapRestriction implements JobNeighborhoods { return new NearestNeighborhoodIterator(descendingIterator, nNeighbors); } + @Override public void initialise(){ logger.info("calculates distances from EACH job to EACH job --> n^2="+Math.pow(vrp.getJobs().values().size(), 2) + " calculations, but 'only' "+(vrp.getJobs().values().size()*capacity)+ " are cached."); if(capacity==0) return;