500 is not all that big. Is ECJ slowing down or are you just not converging? Could it be that at larger lengths your problem becomes harrier? As a rule of thumb, the mutation probability is often set to 1/L, where L is the length of your genome. But that shouldn't create stagnation in your case. ECJ's default mutation pipeline for integers is just integer randomization; you might think about making a smarter mutator for your problem. On Feb 3, 2006, at 9:02 AM, Sandeep Mulgund wrote: > The problem I'm working on has gene strings that can vary from > 50-500 fixed-range integers in length. I'm finding that we get > pretty good results and convergence rate out of our GA with small > genomes, but at the upper end of the range things go nowhere fast. > Our GA is configured using the same pipeline and such as one of the > example problems: > > pop.subpops = 1 > pop.subpop.0 = ec.Subpopulation > pop.subpop.0.size = 100 > pop.subpop.0.duplicate-retries = 0 > pop.subpop.0.fitness = ec.simple.SimpleFitness > > pop.subpop.0.species.crossover-type = one > pop.subpop.0.species.crossover-prob = 0.8 > pop.subpop.0.species.mutation-prob = 0.04 > > pop.subpop.0.species.pipe = > ec.vector.breed.VectorMutationPipeline > pop.subpop.0.species.pipe.source.0 = > ec.vector.breed.VectorCrossoverPipeline > pop.subpop.0.species.pipe.source.0.source.0 = > ec.select.TournamentSelection > pop.subpop.0.species.pipe.source.0.source.1 = > ec.select.TournamentSelection > pop.subpop.0.species.pipe.source.0.source.0.size = 2 > pop.subpop.0.species.pipe.source.0.source.1.size = 2 > select.tournament.size = 2 > > state = ec.simple.SimpleEvolutionState > pop = ec.Population > init = ec.simple.SimpleInitializer > finish = ec.simple.SimpleFinisher > breed = ec.simple.SimpleBreeder > > Min/max gene sizes and genome size are set at runtime. Any > suggestions on what I can do to improve performance with very large > genomes? > > Thanks, > > Sandeep