This section describes population and insertion of individuals into populations. Related classes can be found in the package org.evolvica.core.population.
Populations are basically collections of individuals. Individuals can be inserted and removed from populations.
For this reason the appropriate interface org.evolvica.core.population.IPopulation extends the interface
org.evolvica.core.IIndividualSet. In addition to the methods specified in IIndividualSet there
are some methods for replacing individuals and setting individual filters (explained in the next section).
An abstract base class for a population can be found in org.evolvica.core.population.AbstractPopulation.
Populations are mostly array-based, that is the individuals are held together in an array. Such a population
is the default population org.evolvica.core.population.DefaultPopulation. Another one is
org.evolvica.core.population.SortedPopulation which ensures that the contained individuals are sorted
according to a comparator at all times.
Populations may not rely on an array-based structure, i.e. matrices are also imaginable. If something like
that is required the interface IPopulation must be reimplemented.