def tsp_data(self):
        xs = []
        ys = []
        yps = []
        for x in range(self.change, self.num_data):  #Generate 1M datapoints
            GG = GraphGenerator.GraphGenerator(self.size, self.max_value)
            if directed:
                GG.directed_graph(
                )  #check if adjacency matrix is directed or undirected
            else:
                GG.undirected_graph()
            g = np.array(
                GG.get_adjacency_matrix())  #Create undirected adjacency matrix
            matrx = g.copy()
            g[g == 0] = 999
            path = tsp.tsp_dp_solve(g)  #solve the tsp
            tsp_val = tsp.tour_len(self.path, g)  #get the tsp cost
            yps.append(path)
            ys.append(tsp_val)  #Add the data to the arrays
            xs.append(list(matrx.flatten()))

        pickle_file = open('xs.pickle', 'wb')  #Pickle the data for later use
        pickle.dump(xs, pickle_file)
        pickle_file.close()

        pickle_file = open('yps.pickle', 'wb')
        pickle.dump(ys, pickle_file)
        pickle_file.close()

        pickle_file = open('ys.pickle', 'wb')
        pickle.dump(ys, pickle_file)
        pickle_file.close()
Beispiel #2
0
 def generate(self, nodesNo, edgesNo):
     self.nodesNo = nodesNo
     self.edgesNo = edgesNo
     graphGenerator = GraphGenerator(nodesNo, edgesNo)
     self.edges = graphGenerator.edges
     self.nodes = graphGenerator.nodes
     self.labels = self.__createLabels__()
Beispiel #3
0
 def generateGraph(self, area, nodeNum, minDegree):
     self.generator = GraphGenerator()
     graph = self.generator.generate(area, nodeNum, minDegree)
     for i in range(0, len(graph.vertices)):
         graph.vertices[i].id = i
     graph.toAjacencyForm()
     #graph.displayAjacencyForm()
     return graph
    def runTest(self):
        """
		Use the randomly generated array to test the graph generator
		"""
        cycleConstraint = Constraint.cycleConstraint()
        generator = gg.GraphGenerator()
        generator.registerConstraints(cycleConstraint)
        generator.generateGraph(self.testArray, 0.1)
        #generator.outputGraph(3, "testGraph")
        graph = generator.getGraphObject()
        print nx.info(graph)
Beispiel #5
0
def main():
    
    g = GraphGenerator()
    b = Benchmark()

    amount = 10
    vertices = 3000
    connection_density = 3
    
    graphs = g.get_graphs(amount, vertices, connection_density)
    
    b.unsortedPrim(graphs, amount, vertices)
    b.heapPrim(graphs, amount, vertices)
Beispiel #6
0
import copy as cp
import numpy as np

#local
import GraphGenerator as gg
gg = gg.GraphGenerator()


class DataProcess():
    def __init__(self):
        self.rawData = None
        self.calcData = None
        self.outputData = None
        self.outputDataHistory = list()
        self.fileNameHistory = list()

        #plasma parameter
        self.floatVolt = None

    #core func
    def setFileRawData(self, fr):
        arry = None
        arry = [line.split() for line in fr]
        arry = arry[2:-1]
        arry = [[float(num) for num in line] for line in arry]
        self.rawData = cp.deepcopy(arry)
        self.calcData = cp.deepcopy(arry)
        # self.outputData=cp.deepcopy(arry)
    def setFileName(self, name):
        self.fileNameHistory.append(name)
Beispiel #7
0
 def readGraph(self, area, V, E):
     self.generator = GraphGenerator()
     graph = self.generator.readGraph(area, V, E)
     graph.toAjacencyForm()
     #graph.displayAjacencyForm()
     return graph