public void setup(final EvolutionState state, final Parameter base) { Parameter def = defaultBase(); int size; // do we load from a file? loadInds = state.parameters.getFile(base.push(P_FILE), null); // what species do we use? species = (Species) state.parameters.getInstanceForParameter( base.push(P_SPECIES), def.push(P_SPECIES), Species.class); species.setup(state, base.push(P_SPECIES)); // how big should our subpopulation be? size = state.parameters.getInt(base.push(P_SUBPOPSIZE), def.push(P_SUBPOPSIZE), 1); if (size <= 0) state.output.fatal( "Subpopulation size must be an integer >= 1.\n", base.push(P_SUBPOPSIZE), def.push(P_SUBPOPSIZE)); // How often do we retry if we find a duplicate? numDuplicateRetries = state.parameters.getInt(base.push(P_RETRIES), def.push(P_RETRIES), 0); if (numDuplicateRetries < 0) state.output.fatal( "The number of retries for duplicates must be an integer >= 0.\n", base.push(P_RETRIES), def.push(P_RETRIES)); individuals = new Individual[size]; }