ECJ-INTEREST-L Archives

February 2006

ECJ-INTEREST-L@LISTSERV.GMU.EDU

Options: Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Sender:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Date:
Fri, 3 Feb 2006 10:03:24 -0500
MIME-version:
1.0 (Apple Message framework v746.2)
Reply-To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Content-type:
text/plain; charset=US-ASCII; delsp=yes; format=flowed
Subject:
From:
Sean Luke <[log in to unmask]>
In-Reply-To:
Content-transfer-encoding:
7bit
Comments:
To: ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Parts/Attachments:
text/plain (57 lines)
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

ATOM RSS1 RSS2