def run(self, args): """ Metodo principal que executa os algoritmos 0:altura, 1:largura, 2:formigas, 3:simulacoes, 4:n, 5:c, 6:freq """ # Inicializa a grade grade = Grade(args[0], args[1], pasta="imagens/", rand_test=False) # Cria as formigas formigas_agentes = [] cont = 0 for i in range(args[2]): # formigas formiga = Formiga(random.randint(0, args[0] - 1), random.randint(0, args[1] - 1), grade) formigas_agentes.append(formiga) # Realiza as simulacoes for i in range(args[3]): # simulacoes # Em cada simulacao todas as formigas se movem for formiga in formigas_agentes: formiga.move(args[4], args[5]) # n, c # A imagem eh feita a cada sim/freq if i % args[6] == 0: cont = cont + 1 titulo = "Figura " + str(cont) + " de " + str(args[3] / args[6]) print titulo nome = "fig" + str(cont).zfill(6) grade.plot_grade(titulo, nome, args)
# Resultados menorCusto = 9999999999 menorCaminho = [] melhoresCaminhos = {} melhorCustoTotal = 9999999999 melhoresPools = [] melhorCustoPoolTotal = 9999999999 start = time.time() for bli in range(cmd.var['t']): # Nova formiga f = Formiga(g) # Carrega cidades f.carregaCidades() pools = [] custoPoolTotal = 0 # Para cada cidade restante (disponivel) while f.getCidades(): caminhos = {} # Dicionário. Chave é relevante #[Caminho() for i in range(g.getQtdNos())] caminhosPool = {} # Dicionário. Chave é relevante #[Caminho() for i in range(g.getQtdNos())] # ------------------------------------------------------ # Inicia a rota