From db095f9ea970f42d544e84059d9f529473428b1d Mon Sep 17 00:00:00 2001 From: Yohan Simard Date: Fri, 15 May 2020 18:09:36 +0200 Subject: [PATCH] Tests and other minor improvements --- .../algorithm/shortestpath/AStarAlgorithm.java | 3 +-- .../shortestpath/DijkstraAlgorithm.java | 16 +++++++--------- .../shortestpath/AStarAlgorithmTest.java | 1 - .../algorithm/shortestpath/ShortestPathTest.java | 11 +++++++---- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/AStarAlgorithm.java b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/AStarAlgorithm.java index 27c8612..d97691d 100644 --- a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/AStarAlgorithm.java +++ b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/AStarAlgorithm.java @@ -47,12 +47,11 @@ public class AStarAlgorithm extends DijkstraAlgorithm { int dataMaxSpeed = data.getMaximumSpeed(); int graphMaxSpeed = data.getGraph().getGraphInformation().getMaximumSpeed(); if (dataMaxSpeed == NO_MAXIMUM_SPEED && graphMaxSpeed == NO_MAXIMUM_SPEED) - return 1000; + return (int) (130/3.6); if (dataMaxSpeed != NO_MAXIMUM_SPEED && graphMaxSpeed != NO_MAXIMUM_SPEED) return (int) (Math.min(dataMaxSpeed, graphMaxSpeed)/3.6); if (dataMaxSpeed != NO_MAXIMUM_SPEED) return (int) (dataMaxSpeed/3.6); return (int) (graphMaxSpeed/3.6); - } } diff --git a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java index 4bf28ca..0cafc76 100644 --- a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java +++ b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java @@ -54,21 +54,22 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm { heap.insert(labels.get(originId)); notifyOriginProcessed(origin); -// int iterationCounter = 0; Node destination = data.getDestination(); Node currentNode = null; + double previousCost = 0; while (!heap.isEmpty() && (currentNode == null || !currentNode.equals(destination))) { -// iterationCounter++; // Get the node with the minimum cost Label currentLabel = heap.deleteMin(); currentLabel.mark(); currentNode = currentLabel.getNode(); -// System.out.printf("Label marked : cost = %f; %d succesors; heap valid = %b \n", -// currentLabel.getCost(), -// currentNode.getSuccessors().size(), -// ((BinaryHeap