Print

Print


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