Hello, I have for files AllOnesGA.py with the main(), GeneticAlgorithm.py,Population.py and Individual.py
My problem is that when I try to run the program with pycharm an error message happens:
in line 4:
population = genetic_algorithm.GeneticAlgorithm.initPopulation(50)
TypeError: initPopulation() missing 1 required positional argument: 'chromosomeLength'
Thanks
de code is:
import genetic_algorithm def main(): ga = genetic_algorithm.GeneticAlgorithm(100, 0.001, 0.95, 0) population = genetic_algorithm.GeneticAlgorithm.initPopulation(50) ga.evalPopulation(population) generation = 1 while ga.isTerminationConditionMet(population) == false: print("Best solution", population.getFittest(0).toString()) population = ga.crossoverPopulation(population) population = ga.mutatePopulation(population) ga.evalPopulation(population) generation += 1 print("Found solution in ", generation, " generations") print("Best solution:", population.getFittest(0).toString()) if __name__ == "__main__": main()and the file genetic_algorithm.py is:
import random import population_file import individual_file class GeneticAlgorithm: def __init__(self, populationSize, mutationRate, crossoverRate, elitismCount): self.populationSize=populationSize self.mutationRate=mutationRate self.crossoverRate=crossoverRate self.elitismCount=elitismCount def initPopulation(self,chromosomeLength): population = population_file(self.populationSize, self.chromosomeLength) return population def calcFitness(self, individual): correctGenes = 0 for geneIndex in range (0,individual.getChomosomeLength()): if individual.getGene(geneIndex)==1: correctGenes +=1 fitness= correctGenes/individual.getChomosomeLength() individual.setFitness(fitness) return fitness ...