#inicia população p = Populacao(populacao, prob_mutacao, prob_crossover) p.iniciaPopulacao() # i = 0 #nome de arquivo nomeArq = 'arquivo' + str(i) + '.txt' print(datetime.datetime.now()) # gera arquivo de texto com dados de melhores / media j = 0 with open(nomeArq, 'w+') as f: # grava parametros no arquivo de texto f.write("Roleta+Roleta(original) Populacao: " + str(populacao) + " Geracoes: " + str(geracoes) + " Prob.Mutacao: " + str(prob_mutacao) + " Prob.Cross.: " + str(prob_crossover) + "\n") while (j < geracoes): # guarda o melhor indivíduo da geração atual no vetor estático 'melhores' best = p.getMelhorIndividuo(melhores) p.insere_media(media) p.GA(melhores, media, populacao, best) f.write(str(j) + ',' + "{:10.5f}".format(melhores[j]) + ',' + "{:10.5f}".format(media[j]) + ',' + "{:10.5f}".format(math.fabs(melhores[j] - media[j])) + '\n') j = j + 1 f.close() print('Terminou de criar txt!\t' + nomeArq) print(datetime.datetime.now()) print("Finalizado arquivos em lote.")
import math import random from Populacao import Populacao # parâmetros iniciais populacao = 50 geracoes = 1000000 prob_mutacao = 0.01 prob_crossover = 0.7 # para o gráfico no relatório melhores = [] media = [] # sample code p = Populacao(populacao, prob_mutacao, prob_crossover) p.iniciaPopulacao() i = 0 while(i < geracoes): # guarda o melhor indivíduo da geração atual no vetor estático 'melhores' best = p.getMelhorIndividuo(melhores) p.insere_media(media) p.GA(melhores, media, populacao) print(i, '\t', melhores[i], '\t', media[i], '\t', math.fabs(melhores[i] - media[i])) i = i + 1