def inicia(self): gap = 69853 self.progresso.setMaximum(self.spin_repeticoes.value()) gen = Genetico(arquivo=self.txt_arquivo.text(),populacao=self.spin_populacao.value(), geracoes=self.spin_geracoes.value(),gap = gap ) gen.inicia_valores() self.statusbar.showMessage('Rodando...') saida = open(os.path.join('output/','bolts_'+str(tempo())+'.txt'), 'w') saida.write('Todos os Bolts das '+str(self.spin_repeticoes)+' repeticoes') saida.write('\nPopulacao: '+str(self.spin_populacao.value())) saida.write('\nGeracoes: '+str(self.spin_geracoes.value())) saida.write('\nBolts:\n') for i in range(self.spin_repeticoes.value()): self.progresso.setValue(i+1) gen.run() self.statusbar.showMessage(str(i)+'\tGAP: '+str(float(gen.distancia_bolt)/gap-1)) saida.write(str(float(gen.distancia_bolt)/gap-1)+'\n')
#Enter an integer between 0 and infinite lol! Python has all integer precision we need! #eval is insecure, but I need to evaluate Mersenne Prime expressions like 2**31-1 #I would protect it more, filtering only Natural integers above 0... n = eval(input("Enter an integer number:")) #in portuguese primo means prime I won't change it! #Catches if number is even, smaller than 2 or a perfect square primo = (((n & 1) and (n > 2)) or (n == 2)) and (n**0.5 != int(n**0.5)) #in portuguese limite means limit i could ignore upper limit as n and go to square root of n... limite = range(3, n, 2) #in portuguese inicio means start #just a time counter efficiency measurements... inicio = tempo() #if less or equals 2 means composite or prime if 2, loop isn't necessary... if (primo) and (n > 2): for i in limite: primo = n % i #anyway won't count to n! if prime or composite if (i * i > n) or (not primo): break print("This is a Prime number!" if primo else "This is a Composite number!", "Elapsed time in seconds:",
from time import sleep as tempo from media_aluno_defs import * print('\n' * 1) titulo() tempo(1.1) print('\n' * 1) linha() subtitilo() linha() print('\n' * 1) nome = str( input('\033[32mInsira o seu nome\033[34m(a)\033[m\033[32m: \033[m \033[m') ).upper() print('\n' * 1) nota1 = float( input( f"\033[33mDigite a primeira nota do aluno {nome}\033[m\033[34m: \033[m" )) nota2 = float( input( f"\033[33mDigite a segunda nota do aluno {nome}\033[m\033[34m: \033[m") ) nota3 = float( input( f"\033[33mDigite a terceira nota do aluno {nome}\033[m\033[34m: \033[m" )) nota4 = float( input( f"\033[33mDigite a quarta nota do aluno {nome}\033[m\033[34m: \033[m"))
t_individuo = len(populacao[0]) for i in range(t_populacao): individuo = randint(1,len(populacao)-1) p_i = pontuacao(populacao[individuo],distancia) a = randint(0,t_individuo-1) b = randint(0,a/2) populacao[individuo][a],populacao[individuo][b] = populacao[individuo][b],populacao[individuo][a] if pontuacao(populacao[individuo],distancia)< p_i: populacao[individuo][a],populacao[individuo][b] = populacao[individuo][b],populacao[individuo][a] aux = range(t_individuo) shuffle(aux) populacao.append(aux+[]) return populacao saida = open(str(tempo())+'saida.txt','w') for cont in range(5): bolt = [] ini = tempo() #distancia, tamanho = matriz_adjacencia_upper_row('brazil58.tsp') distancia,tamanho, pontos = matriz_adjacencia_points('gr137.tsp') quantidade_individuos = 2 populacao = populacao_inicial(tamanho=tamanho, quantidade=quantidade_individuos*2) for i in range(quantidade_individuos): populacao = crossover(populacao,distancia) populacao = mutacao(populacao,distancia)
self.testatos+=1 return for x in Comb(id, r=grupos[cur]): set_x = set(x) new_indexes = [i for i in id if i not in set_x] self.F(conjunto,grupos,new_indexes,res=res + [x],cur=cur + 1) melhorGrupo = [] ini = tempo() nome = 'p20_g3.txt' arquivo = open(nome) print '\item Arquivo: ', nome relacoes = [] grupos = [] qPessoas = int(arquivo.readline().split()[1]) qGrupos = int(arquivo.readline().split()[1]) for i in range(qGrupos): aux = arquivo.readline().split() grupos.append(int(aux[1])) for i in range(qPessoas): aux = arquivo.readline().split() relacoes.append([int(x) for x in aux]) result = Calcula(melhorPontuacao = 133634,relacoes=relacoes) result.F(range(qPessoas), grupos)