示例#1
0
def simulacaoAleatoria(totalSimulacoes):
    util = FileUtils()
    pesosLidos,valoresLidos,pesoMaximo = util.readConfigurationFile("mochila2.txt")
    melhorCromossomo = Cromossomo(len(pesosLidos))
    melhorCromossomo.setFitness(0)
    for i in range(totalSimulacoes):
        cromo = Cromossomo(len(pesosLidos))
        calculaFitness(cromo,pesosLidos,valoresLidos,pesoMaximo)
        if(cromo.getFitness() > melhorCromossomo.getFitness()):
            melhorCromossomo = cromo
        print "S:-" + str(i) + getConfiguracaoMochila(melhorCromossomo,pesosLidos,valoresLidos)
示例#2
0
def simulacaoAleatoria2(totalSimulacoes):
    util = FileUtils()
    pesosLidos,valoresLidos,pesoMaximo = util.readConfigurationFile("mochila2.txt")
    melhorCromossomo = Cromossomo(len(pesosLidos))
    melhorCromossomo.setFitness(0)
    for i in range(0,totalSimulacoes):
        cromo = Cromossomo(len(pesosLidos))
        calculaFitness(cromo,pesosLidos,valoresLidos,pesoMaximo)
        if(cromo.getFitness() > melhorCromossomo.getFitness()):
            melhorCromossomo = cromo
        if (i % 100 == 0):
            # print "\t"+str(i)
            sys.stdout.write("\r"+str(int((100*i)/totalSimulacoes))+" %")
            sys.stdout.flush()
    print getConfiguracaoMochila(melhorCromossomo,pesosLidos,valoresLidos)
示例#3
0
from AlgoritmoGenetico import AlgoritmoGenetico
from FileUtils import FileUtils


if __name__ == '__main__':
	util = FileUtils()
	# util.writeConfigurationFile("mochila500.txt",500,100)
	print "Lendo arquivo de entrada de dados"
	pesos,valores,pesoMaximo = util.readConfigurationFile("mochila2.txt")

	print "Criando a populacao inicial..."
	ag = AlgoritmoGenetico(len(pesos),10)
	ag.pesos = pesos
	ag.valores = valores
	ag.pesoMaximo = pesoMaximo
	ag.probabilidadeCruzamento = 95
	ag.probabilidadeMutacao = 1
	nrGeracoes = 100000

	print "***********  populacao inicial    ***************"
	print "calculando o fitness..."
	ag.calculaFitness()
	print "selecionando..."
	ag.seleciona()

	for i in range(nrGeracoes):
		# print "\n\n*************  Geracao: "+ str(i) + "   *************" 
		ag.cruza()
		ag.muta()
		ag.seleciona()
		print "G:-"+ str(i) + ag.getConfiguracaoMochila(ag.getMelhorIndividuo())