ec
Class Population
java.lang.Object
|
+--ec.Population
- public class Population
- extends java.lang.Object
- implements Group
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) |
Parameter bases
base.subpop.n |
Subpopulation #n. |
- See Also:
- Serialized Form
Method Summary |
Group |
emptyClone()
Returns an instance of Population just like it had been before it was
populated with individuals. |
void |
populate(EvolutionState state)
Populates the population with new random individuals. |
void |
setup(EvolutionState state,
Parameter base)
Sets up the object by reading it from the parameters stored
in state, built off of the parameter base base. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
subpops
public Subpopulation[] subpops
P_SIZE
public static final java.lang.String P_SIZE
P_SUBPOP
public static final java.lang.String P_SUBPOP
Population
public Population()
emptyClone
public Group emptyClone()
- Returns an instance of Population just like it had been before it was
populated with individuals. You may need to override this if you override
Population. IMPORTANT NOTE: if the size of the array in
Population has been changed, then the clone will take on the new array
size. This helps some evolution strategies.
- Specified by:
- emptyClone in interface Group
- See Also:
Group.emptyClone()
setup
public void setup(EvolutionState state,
Parameter base)
- Description copied from interface: Setup
- Sets up the object by reading it from the parameters stored
in state, built off of the parameter base base.
If an ancestor implements this method, be sure to call
super.setup(state,base); before you do anything else.
populate
public void populate(EvolutionState state)
- Populates the population with new random individuals.