Example #1
0
    def get_route(vehicle):
        if vehicle.path_finder_algorithm == PathFinderAlgorithm.VALIDATOR:
            """ DIJKSTRA """
            start = time.time()
            d_path, d_visited = Dijkstra.find_route_nodes(vehicle)
            path = PathFinder._print_route_results(start, d_path, d_visited,
                                                   vehicle, 'Dijkstra')
            """ ALT ALGORITHM """
            start = time.time()
            alt_path, alt_visited = Alt.find_route_nodes(vehicle)
            PathFinder._print_route_results(start, alt_path, alt_visited,
                                            vehicle, 'ALT')
            """ A STAR ALGORITHM """
            start = time.time()
            a_star_path, a_star_visited = AStar.find_route_nodes(vehicle)
            PathFinder._print_route_results(start, a_star_path, a_star_visited,
                                            vehicle, 'A*')

            if GeneralSettings.debug_print:
                print "--------------------------------------------------------"
            return path
        if vehicle.path_finder_algorithm == PathFinderAlgorithm.DIJKSTRA:
            start = time.time()
            path, _ = Dijkstra.find_route_nodes(vehicle)
            if GeneralSettings.debug_print:
                print("Dijkstra.get_route elapsed time: %.2f ms" %
                      ((time.time() - start) * 1000))
            return path
        elif vehicle.path_finder_algorithm == PathFinderAlgorithm.ALT:
            start = time.time()
            path, _ = Alt.find_route_nodes(vehicle)
            if GeneralSettings.debug_print:
                print("Alt.get_route elapsed time: %.2f ms" %
                      ((time.time() - start) * 1000))
            return path
        elif vehicle.path_finder_algorithm == PathFinderAlgorithm.A_STAR:
            start = time.time()
            path, _ = AStar.find_route_nodes(vehicle)
            if GeneralSettings.debug_print:
                print("A star.get_route elapsed time: %.2f ms" %
                      ((time.time() - start) * 1000))
            return path
        else:
            raise ValueError("Invalid vehicles path finder algorithm value.")