Esempio n. 1
0
    def setUp(self):
        reader = Reader()
        graph_tsp = reader.euclidean('data/in/christofides.tsp')
        graph_hpp = reader.euclidean('data/in/christofides.tsp', 1, 39) 

        mst = Minimum_Spanning_Tree()
        graph_tsp = mst.calculate(graph_tsp)
        graph_hpp = mst.calculate(graph_hpp)

        matcher = Matcher()
        self.graph_tsp = matcher.calculate(graph_tsp)

        node_s = graph_hpp.node_s
        node_t = graph_hpp.node_t
        weight = graph_hpp.lookup_distance(node_s, node_t)[0]

        if not graph_hpp.contains_edge(node_s, node_t):
            edge_st = Edge(node_s, node_t, weight)
            graph_hpp.add_edge(edge_st)

        self.graph_hpp = matcher.calculate(graph_hpp)

        self.euler = Euler()
Esempio n. 2
0
class Test_MST(unittest.TestCase):

    def setUp(self):
        self.reader = Reader()
        self.mst = Minimum_Spanning_Tree()

    def test_length(self):
        self.graph = self.reader.euclidean('data/in/eil51.tsp')
        graph = self.mst.calculate(self.graph)

        length = 0
        for edge in graph.edges:
            length += edge.weight

        self.assertEqual(length, 750)
Esempio n. 3
0
 def setUp(self):
     self.reader = Reader()
     self.mst = Minimum_Spanning_Tree()