On Jun 28, 2006, at 10:02 AM, Stefan Wappler wrote: > I'm interested in initializing the initial population by using > randomly generated individuals at the one hand (using grow, half, > or uniform), and by reusing individuals from previous optimizations > on the other hand. Is this basically possible? Is there any > documentation about seeding? Not much, but we're here. What do you want to know? It works like this: 1. ECJ cals Initializer.initialPopulation(...) 2. Initializer.initialPopulation(...) calls Population.populate(...) 3. Population(...) calls Subpopulation.populate(...) 4. Subpopulation.populate(...) either generates random individuals or loads from a file All you have to do is make a subclass of Subpopulation, override the populate method to fill the subpopulation as you like, and set the parameter pop.subpop.n=your.new.SubpopulationClassname for each subpopulation n that your'e using (likely you're only using one, so n would be 0). The existing code in Subpopulation.populate(...) is small and easy to understand. Use it to roll your own. > As far as I know, when specifying pop.subpop.0.file=$myFile the > initial population will be created from the individuals from the > given file. Why is it important to have the fitness value also > saved to this file? The current optimization could use a different > fitness function and hence this value would be irrelevant. Because ECJ doesn't know if you need the fitness or not. Almost certainly you *will* need the fitness, so throwing it out would be unwelcome. In the case that you want a different fitness, you can just replace it on initialization; override Initializer.initialPopulation(...) to call super, and then change the fitness as you like. > Furthermore, I'd like to have an initial population containing 50 > individuals. The seeding file contains only 10 individuals. How can > I specify that the remaining 40 individuals shall be generated > using a built-in tree builder (such as grow)? You can't: you'll need to write that code, but it's easy. See the discussion above. Sean