def drawSequences(self, sequences): fitness = hm.completeFitness(sequences) #finding out the ids of the triangles _raw = [s for seq in sequences for s in seq] tris = list(self.triangles) ids = [self.triangles.index(r) + 1 for r in _raw] self.ids = ids peak = hm.sequenceToEdges(sequences) edges = [] #moved together _edges = hm.moveTogether(peak[0]) if _edges[1] < 0: fitness += _edges[1] edges = _edges[0] else: edges = [] for a in peak[0]: for b in a: edges.append(b) tris = [edges[i * 3:i * 3 + 3] for i in range(int(len(edges) / 3))] self.coordinates = [ set([tuple(point) for edge in t for point in edge]) for t in tris ] self.distance = fitness hm.save(edges, fitness, "peak.txt") hm.draw(edges, 0.9, self.filename.replace("txt", "svg"))
def run(self, triangles, pop_size, sec, head, tail): add = hm.completeFitness( [head, tail]) #hm.sequenceToEdges([self.head, self.tail])[1] print(add, "here") sequences = ga.optimization(triangles, pop_size, 700.0, sec, add) for s in sequences: s = self.sortSequence(s) sequences.insert(0, head) sequences.append(tail) return sequences