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

Field Summary
static java.lang.String P_SIZE
           
static java.lang.String P_SUBPOP
           
 Subpopulation[] subpops
           
 
Constructor Summary
Population()
           
 
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
 

Field Detail

subpops

public Subpopulation[] subpops

P_SIZE

public static final java.lang.String P_SIZE

P_SUBPOP

public static final java.lang.String P_SUBPOP
Constructor Detail

Population

public Population()
Method Detail

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.