diff --git a/jsprit-core/pom.xml b/jsprit-core/pom.xml
index 84d7cc88..ad387a5d 100644
--- a/jsprit-core/pom.xml
+++ b/jsprit-core/pom.xml
@@ -82,6 +82,11 @@
compile
+
+ org.apache.commons
+ commons-math3
+ 3.4
+
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 d37e6b85..2ee436cd 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
@@ -31,6 +31,17 @@ class JobNeighborhoodsImpl implements JobNeighborhoods {
public Iterator getNearestNeighborsIterator(int nNeighbors, Job neighborTo){
TreeSet tree = distanceNodeTree.get(neighborTo.getId());
+ if(tree == null) return new Iterator() {
+ @Override
+ public boolean hasNext() {
+ return false;
+ }
+
+ @Override
+ public Job next() {
+ return null;
+ }
+ };
Iterator descendingIterator = tree.iterator();
return new NearestNeighborhoodIterator(descendingIterator, nNeighbors);
}
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 e78ae08f..1232458b 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,8 +32,24 @@ class JobNeighborhoodsImplWithCapRestriction implements JobNeighborhoods {
logger.info("intialise " + this);
}
+ /*
+ TODO: obviously nearestNeighbor does not work with a single customer
+ */
public Iterator getNearestNeighborsIterator(int nNeighbors, Job neighborTo){
TreeSet tree = distanceNodeTree.get(neighborTo.getId());
+ if(tree == null) return new Iterator() {
+
+ @Override
+ public boolean hasNext() {
+ return false;
+ }
+
+ @Override
+ public Job next() {
+ return null;
+ }
+
+ };
Iterator descendingIterator = tree.iterator();
return new NearestNeighborhoodIterator(descendingIterator, nNeighbors);
}