Example #1
0
    def nearest_neighbour(start_point, vectors):
        min_dist = None
        nearest = None

        for potential in vectors:
            dist_to = Vector.distance(start_point, potential)
            if min_dist is None or dist_to < min_dist:
                min_dist = dist_to
                nearest = potential
        return nearest
    def nearest_neighbour(start_point, vectors):
        min_dist = None
        nearest = None

        for potential in vectors:
            dist_to = Vector.distance(start_point, potential)
            if min_dist is None or dist_to < min_dist:
                min_dist = dist_to
                nearest = potential
        return nearest
Example #3
0
    def greedy_ts_path(vec_list):
        graph = dict()
        used = []
        current = vec_list[0]
        # print vec_list

        while len(used) + 1 < len(vec_list):
            used.append(current)

            min_dist = None
            nearest_neighbour = None

            for potential in vec_list:
                if potential not in used:
                    dist_to = Vector.distance(current, potential)
                    if min_dist is None or dist_to < min_dist:
                        min_dist = dist_to
                        nearest_neighbour = potential
            graph[current] = nearest_neighbour
            current = nearest_neighbour
        return graph
    def greedy_ts_path(vec_list):
        graph = dict()
        used = []
        current = vec_list[0]
        # print vec_list

        while len(used) + 1 < len(vec_list):
            used.append(current)

            min_dist = None
            nearest_neighbour = None

            for potential in vec_list:
                if potential not in used:
                    dist_to = Vector.distance(current, potential)
                    if min_dist is None or dist_to < min_dist:
                        min_dist = dist_to
                        nearest_neighbour = potential
            graph[current] = nearest_neighbour
            current = nearest_neighbour
        return graph
Example #5
0
 def __inner(from_node, to_node):
     return Vector.distance(vec_list[from_node], vec_list[to_node])
Example #6
0
 def length(tour):
     length = 0
     for i in range(len(tour) - 1):
         length += Vector.distance(tour[i], tour[i + 1])
     return length
 def __inner(from_node, to_node):
     return Vector.distance(vec_list[from_node], vec_list[to_node])
 def length(tour):
     length = 0
     for i in range(len(tour) - 1):
         length += Vector.distance(tour[i], tour[i + 1])
     return length