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)
Exemple #2
0
	# 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