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()
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__()
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)
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)
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)
def readGraph(self, area, V, E): self.generator = GraphGenerator() graph = self.generator.readGraph(area, V, E) graph.toAjacencyForm() #graph.displayAjacencyForm() return graph