I've not done this with ECJ but it should work (ECJ *should* be entirely self-contained by now). I might suggest that you create the nested parameter database one time and then reuse it over and over again rather than loading from the file each time. That is, assuming your implementation doesn't change any parameters programmatically. If you change parameters programmatically, or need to adjust a parameter each time you set up the new EvolutionState, there's a hack you might be able to use to do that. Parameter Databases have parent databases, which have parent databases, and so on. When you set a parameter programmatically, it's set in the root database -- the parents are untouched. So in theory you should be able to load a ParameterDatabase: ParameterDatabase parent = Evolve.loadParameterDatabase( new String[] { Evolve.A_FILE, "my_param_file.params" }); ... and then reuse it by making a new ParameterDatabase which points to it as a parent, like this: ParameterDatabase data; data = new ParameterDatabase(parent); ... and then do it again for aanother child, etc.: data = new ParameterDatabase(parent); ... allowing you to change parameters in the 'data' database, sort of as a wrapper. However, there doesn't *exist* a ParameterDatabase constructor of the kind I just described. Yet. I don't have time to hack one up right now but it should be pretty dang easy, along the lines of: public ParameterDatabase(ParameterBase parent) { this(); parents.addElement(parent); } Sean On Feb 3, 2008, at 5:36 AM, Michael Hart wrote: > Hi Anais, > > This works for me: > > ---- > > ParameterDatabase problemParams = Evolve > .loadParameterDatabase(new String[] { Evolve.A_FILE, > "my_param_file.params" }); > > EvolutionState problemState = Evolve.initialize(problemParams, 0); > > ---- > > Cheers, > > Michael > > On 02/02/2008, at 12:19 AM, Anais Martínez wrote: > >> Hi. I'm trying to make a GA problem in which each evaluation of >> individuals >> is other GA. I've followed the example in this list of GA nested >> GP, but it >> doesn't work. >> >> My code is: >> >> --- >> File f = new File("ec/app/EC/EC.params"); >> try{ >> dataB = new ParameterDatabase(f); >> }catch(Exception e){ >> System.out.println(e); >> } >> >> state2 = Evolve.initialize(dataB,ECRandomOffset++); >> --- >> when it is executed, dataB has got all parameters of EC.params, >> but state2 >> doesn't. Where is the mistake? >> >> Thank you.