Fixed graph relaxEdge to properly deal with Double.MIN_VALUE.
diff --git a/core/net/src/main/java/org/onlab/onos/net/intent/impl/PointToPointIntentCompiler.java b/core/net/src/main/java/org/onlab/onos/net/intent/impl/PointToPointIntentCompiler.java
index 8cd0e14..dacc479 100644
--- a/core/net/src/main/java/org/onlab/onos/net/intent/impl/PointToPointIntentCompiler.java
+++ b/core/net/src/main/java/org/onlab/onos/net/intent/impl/PointToPointIntentCompiler.java
@@ -108,7 +108,7 @@
                 if (lt == Link.Type.OPTICAL) {
                     return 1000.0;
                 } else {
-                    return 1.0;
+                    return Double.MIN_VALUE;
                 }
             }
         };
diff --git a/utils/misc/src/main/java/org/onlab/graph/AbstractGraphPathSearch.java b/utils/misc/src/main/java/org/onlab/graph/AbstractGraphPathSearch.java
index 744e545..47c5d4e 100644
--- a/utils/misc/src/main/java/org/onlab/graph/AbstractGraphPathSearch.java
+++ b/utils/misc/src/main/java/org/onlab/graph/AbstractGraphPathSearch.java
@@ -36,7 +36,7 @@
 public abstract class AbstractGraphPathSearch<V extends Vertex, E extends Edge<V>>
         implements GraphPathSearch<V, E> {
 
-    private double samenessThreshold = 0.000000001;
+    private double samenessThreshold = Double.MIN_VALUE;
 
     /**
      * Sets a new sameness threshold for comparing cost values; default is
@@ -183,7 +183,7 @@
 
             double newCost = cost + hopCost;
             boolean relaxed = newCost < oldCost;
-            boolean same = Math.abs(newCost - oldCost) < samenessThreshold;
+            boolean same = Math.abs(newCost - oldCost) <= samenessThreshold;
             if (same || relaxed) {
                 updateVertex(v, e, newCost, !same);
             }