예제 #1
0
def __experimento(i, f, prob_ini, prob_fin, evoH, evoAG, nr, tp, mut, mutSA, sel, list_melhores_evolucao):
    ini = time.time()
    experimento = str(i) + '\t' + str(f) + '\t'+str(prob_ini) + '\t'+str(prob_fin) + '\t'+str(evoH) + '\t'+str(evoAG) + '\t'+str(nr) + '\t'+str(tp) + '\t'+str(mut) + '\t'+str(mutSA)
    print(experimento)
                                        
    hibrido = Hibrido()
    hibrido.set_Hibrido(experimento, cromossomo, tam_populacao=tp, prob_inicial=prob_ini, prob_final=prob_fin, evolucoesH=evoH, evolucoesAG=evoAG)
    score_ini = calcula_Scores(hibrido._populacao)
                                        
    if sel is extremo:
        hibrido.set_selecao(sel, int((10/100)*tp))
    else:
        hibrido.set_selecao(sel)
                                         
    if mut is janela:
        hibrido.set_mutacao(mut, 3, True)
    else:
        hibrido.set_mutacao(mut)
    
    if mutSA is janela:
        hibrido.set_mutacao_SA(mutSA, 3, True)
    else:
        hibrido.set_mutacao_SA(mutSA)
    
    melhores_evolucao = hibrido.evoluir()
                                            
    fim = time.time()
    arquivar(f+1, i, experimento, score_ini, melhores_evolucao, fim-ini)  # salvar em arquivo
    list_melhores_evolucao.append((f+1, i, melhores_evolucao))
    gerar_gafico(f+1, i, melhores_evolucao) #salvar o grafico
    del(melhores_evolucao)
예제 #2
0
 ini = time.time()
         
 cromossomo = Cromossomo('0', fontes_iniciais())
 
 #cromossomo = gera_cromossomo_banco()
 cromossomo.funcao_avaliacao()
 
 """<doc>"""
 print('Cromossomo original')
 print(cromossomo)
 desenha_cromossomo('cromossomo_inicial',cromossomo)
 """</doc>"""
 
 if tipo == "Hibrido":
     #Hibrido - SA
     hibrido = Hibrido()
     
     hibrido.set_Hibrido('teste unico', cromossomo, tam_populacao=100, prob_inicial=0.8, prob_final=0.1, evolucoesH=40, evolucoesAG=50)
     hibrido.set_selecao(extremo, 10)
     hibrido.set_mutacao(troca_temperatura)
     hibrido.set_mutacao_SA(troca_temperatura)
     
     hibrido.evoluir()
 
 elif tipo == "AG":
     #AG - Normal
     evolucao = Evolucao()
     # evolucao.set_evolucao(cromossomo, tam_populacao=100, condicao_parada=50)
     evolucao.set_evolucao(cromossomo, tam_populacao=50, condicao_parada=50)
     
     evolucao.set_selecao(extremo, 2)