/* Copyright 2006 by Sean Luke Licensed under the Academic Free License version 3.0 See the file "LICENSE" for more information */ package ec; import ec.util.*; import java.io.*; /* * Population.java * * Created: Tue Aug 10 20:50:54 1999 * By: Sean Luke */ /** * A Population is the repository for all the Individuals being bred or * evaluated in the evolutionary run at a given time. * A Population is basically an array of Subpopulations, each of which * are arrays of Individuals coupled with a single Species per Subpoulation. * *
The first Population is created using the initializePopulation method * of the Initializer object, which typically calls the Population's * populate() method in turn. On generational systems, subsequent populations * are created on a generation-by-generation basis by the Breeder object, * replacing the previous Population. * *
In a multithreaded area of a run, Populations should be considered * immutable. That is, once they are created, they should not be modified, * nor anything they contain. This protocol helps ensure read-safety under * multithreading race conditions. *
Parameters
base.subpops int >= 1 |
(the number of subpopulations) |
base.subpop.n classname, inherits or = ec.Subpopulation |
(the class for subpopulation #n) |
base.default-subpop classname, inherits or = ec.Subpopulation |
(the class for subpopulation #n if it wasn't specified with base.subpop.n. Don't use this except in unusual circumstances. The parameter base is still base.subpop.n. |
Parameter bases
base.subpop.n | Subpopulation #n. |