Subject: | |
From: | |
Reply To: | |
Date: | Fri, 29 Sep 2006 01:26:29 -0400 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Can you provide a specific set of parameters such that this is
repeatable in a stock ECJ arrangement?
I suspect you're doing something which is forcing crossover to toss
its second child. There are two possibilities here that I can think
of immediately:
- you've got "toss" set to true (see Crossover.java)
- you're feeding Crossover into another pipeline which is only
asking for one child at a time. This will force Crossover to throw
away its second child because the parent pipeline demands only a
single child. If you want the second child to be cached and sent
next time a request is made, you can do this by using BufferedPipeline.
Now as to a new generation that's *smaller* than the expected size --
this is very highly unlikely unless you've made some serious
customizations to your parameters. What if your selection
procedure? Your evolution mechanism?
Sean
On Sep 28, 2006, at 10:56 PM, Loretta Macklem wrote:
> Hi,
>
> I am working on a project, where I am trying to track every step
> where an individual gets added to the new generation. I am using
> the basic Koza parameters specified in the Koza param file, and for
> some reason, I am discovering that during crossover, the second new
> individual is being thrown away. I am then seeing a new population
> who is not as big as it should be. Does anyone know why this is
> occurring? Is there something else going on that is filling the
> spots, and I am just not finding the code that is doing it? I am
> keeping track of the reproduction individuals, and that is acting
> normally, but the number of ones produced is not making up for the
> number of second new individuals being thrown out. I am basically
> seeing a new generation that is smaller than the number I set in my
> parameter file. Can anyone offer some help on this? I would greatly
> appreciate it.
>
> Thank you,
>
> Loretta Macklem
>
> Michigan State University
|
|
|