def write_mesh(fronts, name): counter = 0 for front in fronts: for indiv in front: mesh = Analyser(str(indiv.phenotype)) mesh.create_graph() filename = FRONT_FOLDER + "/" + name + "." + str(counter) mesh.create_mesh(filename) counter += 1
def print_stats(generation, individuals): global TIME def ave(values): return float(sum(values)) / len(values) def std(values, ave): return math.sqrt( float(sum((value - ave)**2 for value in values)) / len(values)) newTime = time.time() genTime = newTime - TIME TIME = newTime ave_beam = ave( [i.beamTotal for i in individuals if i.phenotype is not None]) std_beam = std( [i.beamTotal for i in individuals if i.phenotype is not None], ave_beam) ave_fit = ave( [i.fitness[0] for i in individuals if i.phenotype is not None]) std_fit = std( [i.fitness[0] for i in individuals if i.phenotype is not None], ave_fit) ave_used_codons = ave( [i.used_codons for i in individuals if i.phenotype is not None]) std_used_codons = std( [i.used_codons for i in individuals if i.phenotype is not None], ave_used_codons) print( "Gen:%d best:%s beams:s:%d ave:%.1f+-%.1f Used:%.1f+-%.1f tt:%.2f beams:%d+-%.1f" % (generation, individuals[0].fitness, individuals[0].beamTotal, ave_fit, std_fit, ave_used_codons, std_used_codons, genTime, ave_beam, std_beam)) if SAVE_BEST: print "saving best individual" bestMesh = Analyser(individuals[0].phenotype) filename = 'xxx.' + str(generation) bestMesh.create_mesh(filename)