def get_melhor_formacao_algoritmo(nome, cartoletas, conteudo_csv, formacoes, info, limiar_alg_genetico): times_montados = {} for formacao in formacoes: logging.debug( "Montando time para formacao {0} usando algoritmo {1}.".format( formacao, nome)) if nome == "Balanceado": time_convocado = algoritmo_balanceado(nome, cartoletas, conteudo_csv, formacao, info) elif nome == "Aleatorio": time_convocado = algoritmo_aleatorio(nome, cartoletas, conteudo_csv, formacao, info) elif nome == "Genetico": time_convocado = algoritmo_genetico(nome, cartoletas, conteudo_csv, formacao, limiar_alg_genetico, info) elif nome == "Estrela Solitaria": time_convocado = algoritmo_estrela_solitaria( nome, cartoletas, conteudo_csv, formacao, info) elif nome == "Balanceado V2": time_convocado = algoritmo_balanceado_V2(nome, cartoletas, conteudo_csv, formacao, info) elif nome == "Selecao da Rodada": time_convocado = algoritmo_selecao_brasileira( nome, cartoletas, conteudo_csv, formacao, info) media_time = mat_cartola.get_valor_indice_acumulado_time( time_convocado, info, "media") times_montados[media_time] = time_convocado custo_time = mat_cartola.get_valor_indice_acumulado_time( time_convocado, info, "preco") logging.debug("Media: {0}".format(media_time)) logging.debug("Custo: {0}".format(custo_time)) logging.debug( "###################################################################################" ) media_time_campeao = max(times_montados) time_campeao = times_montados[media_time_campeao] custo_time_campeao = mat_cartola.get_valor_indice_acumulado_time( time_campeao, info, "preco") logging.info("\n") logging.info("Algoritmo: {0}".format(nome)) logging.info("Media do time vencedor: {0}".format(media_time_campeao)) logging.info("Custo do time vencedor: {0}".format(custo_time_campeao)) import view view.imprime_time(time_campeao, info) logging.info("\n") return time_campeao
def get_melhor_formacao_algoritmo(nome, cartoletas, conteudo_csv, formacoes, info, limiar_alg_genetico): times_montados = {} for formacao in formacoes: logging.debug ("Montando time para formacao {0} usando algoritmo {1}.".format(formacao, nome)) if nome == "Balanceado": time_convocado = algoritmo_balanceado(nome, cartoletas, conteudo_csv, formacao, info) elif nome == "Aleatorio": time_convocado = algoritmo_aleatorio(nome, cartoletas, conteudo_csv, formacao, info) elif nome == "Genetico": time_convocado = algoritmo_genetico(nome, cartoletas, conteudo_csv, formacao, limiar_alg_genetico, info) elif nome == "Estrela Solitaria": time_convocado = algoritmo_estrela_solitaria(nome, cartoletas, conteudo_csv, formacao, info) elif nome == "Balanceado V2": time_convocado = algoritmo_balanceado_V2 (nome, cartoletas, conteudo_csv, formacao, info) elif nome == "Selecao da Rodada": time_convocado = algoritmo_selecao_brasileira (nome, cartoletas, conteudo_csv, formacao, info) media_time = mat_cartola.get_valor_indice_acumulado_time(time_convocado, info, "media") times_montados[media_time] = time_convocado custo_time = mat_cartola.get_valor_indice_acumulado_time(time_convocado, info, "preco") logging.debug ("Media: {0}".format(media_time)) logging.debug ("Custo: {0}".format(custo_time)) logging.debug ("###################################################################################") media_time_campeao = max(times_montados) time_campeao = times_montados[media_time_campeao] custo_time_campeao = mat_cartola.get_valor_indice_acumulado_time(time_campeao, info, "preco") logging.info ("\n") logging.info ("Algoritmo: {0}".format(nome)) logging.info ("Media do time vencedor: {0}".format(media_time_campeao)) logging.info ("Custo do time vencedor: {0}".format(custo_time_campeao)) import view view.imprime_time(time_campeao, info) logging.info ("\n") return time_campeao
# algoritmos = ["Balanceado V2"] # algoritmos = ["Aleatorio"] # algoritmos = ["Estrela Solitaria"] # algoritmos = ["Genetico"] times_campeoes = {} medias_campeoes = {} for alg in algoritmos: if alg != "Genetico": times_campeoes[alg] = algoritmo.get_melhor_formacao_algoritmo(alg, cartoletas, conteudo_csv, formacoes, info, None) else: if len(medias_campeoes) != 0: limiar_algoritmo_genetico = max(medias_campeoes) else: limiar_algoritmo_genetico = 200.00 print ("Limiar para algoritmo genetico: {0}".format(limiar_algoritmo_genetico)) times_campeoes[alg] = algoritmo.get_melhor_formacao_algoritmo(alg, cartoletas, conteudo_csv, formacoes, info, limiar_algoritmo_genetico) media_time_campeao_alg = mat_cartola.get_valor_indice_acumulado_time(times_campeoes[alg], info, "media") medias_campeoes[media_time_campeao_alg] = alg idx_vencedor_geral = max(medias_campeoes) algoritmo_vencedor_geral = medias_campeoes[idx_vencedor_geral] print "Vencedor Geral: {0}".format(algoritmo_vencedor_geral) time_vencedor_geral = times_campeoes[algoritmo_vencedor_geral] view.imprime_time(time_vencedor_geral, info) custo_vencedor_geral = mat_cartola.get_valor_indice_acumulado_time(time_vencedor_geral, info, "preco") print "Media: {0}; Custo: {1}".format(idx_vencedor_geral, custo_vencedor_geral) browser.close()