Print

Print


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