Example #1
0
    #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.")
Example #2
0
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