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) base.default-subpop
int >= 0(the default subpopulation index. The parameter base of this subpopulation will be used as the default base for all subpopulations which do not define one themselves./tr> Parameter bases
base.subpop.n Subpopulation #n. - See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description ParameterfilebooleanloadIndsstatic java.lang.StringNUM_SUBPOPS_PREAMBLEstatic java.lang.StringP_DEFAULT_SUBPOPstatic java.lang.StringP_FILEstatic java.lang.StringP_SIZEstatic java.lang.StringP_SUBPOPstatic java.lang.StringSUBPOP_INDEX_PREAMBLESubpopulation[]subpops
-
Constructor Summary
Constructors Constructor and Description Population()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method and Description voidclear()Sets all Individuals in the Population to null, preparing it to be reused.GroupemptyClone()Returns an instance of Population just like it had been before it was populated with individuals.voidpopulate(EvolutionState state, int thread)Populates the population with new random individuals.voidprintPopulation(EvolutionState state, int log)Prints an entire population in a form readable by humans but also parseable by the computer using readPopulation(EvolutionState, LineNumberReader), with a verbosity of Output.V_NO_GENERAL.voidprintPopulation(EvolutionState state, int log, int verbosity)Deprecated.Verbosity no longer has meaningvoidprintPopulation(EvolutionState state, java.io.PrintWriter writer)Prints an entire population in a form readable by humans but also parseable by the computer using readPopulation(EvolutionState, LineNumberReader).voidprintPopulationForHumans(EvolutionState state, int log)Prints an entire population in a form readable by humans, with a verbosity of Output.V_NO_GENERAL.voidprintPopulationForHumans(EvolutionState state, int log, int verbosity)Deprecated.Verbosity no longer has meaningvoidreadPopulation(EvolutionState state, java.io.DataInput dataInput)Reads a population in binary form, from the format generated by writePopulation(...).voidreadPopulation(EvolutionState state, java.io.LineNumberReader reader)Reads a population from the format generated by printPopulation(....).voidsetup(EvolutionState state, Parameter base)Sets up the object by reading it from the parameters stored in state, built off of the parameter base base.voidwritePopulation(EvolutionState state, java.io.DataOutput dataOutput)Writes a population in binary form, in a format readable by readPopulation(EvolutionState, DataInput).
-
-
-
Field Detail
-
subpops
public Subpopulation[] subpops
-
P_SIZE
public static final java.lang.String P_SIZE
- See Also:
- Constant Field Values
-
P_SUBPOP
public static final java.lang.String P_SUBPOP
- See Also:
- Constant Field Values
-
P_DEFAULT_SUBPOP
public static final java.lang.String P_DEFAULT_SUBPOP
- See Also:
- Constant Field Values
-
P_FILE
public static final java.lang.String P_FILE
- See Also:
- Constant Field Values
-
NUM_SUBPOPS_PREAMBLE
public static final java.lang.String NUM_SUBPOPS_PREAMBLE
- See Also:
- Constant Field Values
-
SUBPOP_INDEX_PREAMBLE
public static final java.lang.String SUBPOP_INDEX_PREAMBLE
- See Also:
- Constant Field Values
-
loadInds
public boolean loadInds
-
file
public Parameter file
-
-
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:
emptyClonein interfaceGroup- See Also:
Group.emptyClone()
-
clear
public void clear()
Sets all Individuals in the Population to null, preparing it to be reused.
-
setup
public void setup(EvolutionState state, Parameter base)
Description copied from interface:SetupSets 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, int thread)
Populates the population with new random individuals.
-
printPopulationForHumans
public final void printPopulationForHumans(EvolutionState state, int log, int verbosity)
Deprecated. Verbosity no longer has meaningPrints an entire population in a form readable by humans.
-
printPopulation
public final void printPopulation(EvolutionState state, int log, int verbosity)
Deprecated. Verbosity no longer has meaningPrints an entire population in a form readable by humans but also parseable by the computer using readPopulation(EvolutionState, LineNumberReader).
-
printPopulationForHumans
public void printPopulationForHumans(EvolutionState state, int log)
Prints an entire population in a form readable by humans, with a verbosity of Output.V_NO_GENERAL.
-
printPopulation
public void printPopulation(EvolutionState state, int log)
Prints an entire population in a form readable by humans but also parseable by the computer using readPopulation(EvolutionState, LineNumberReader), with a verbosity of Output.V_NO_GENERAL.
-
printPopulation
public void printPopulation(EvolutionState state, java.io.PrintWriter writer)
Prints an entire population in a form readable by humans but also parseable by the computer using readPopulation(EvolutionState, LineNumberReader).
-
readPopulation
public void readPopulation(EvolutionState state, java.io.LineNumberReader reader) throws java.io.IOException
Reads a population from the format generated by printPopulation(....). The number of subpopulations and the species information must be identical.- Throws:
java.io.IOException
-
writePopulation
public void writePopulation(EvolutionState state, java.io.DataOutput dataOutput) throws java.io.IOException
Writes a population in binary form, in a format readable by readPopulation(EvolutionState, DataInput).- Throws:
java.io.IOException
-
readPopulation
public void readPopulation(EvolutionState state, java.io.DataInput dataInput) throws java.io.IOException
Reads a population in binary form, from the format generated by writePopulation(...). The number of subpopulations and the species information must be identical.- Throws:
java.io.IOException
-
-
DMelt 3.0 © DataMelt by jWork.ORG