org.apache.commons.math3.genetics

## Interface Population

All Superinterfaces:
  java.lang.Iterable<Chromosome>

All Known Implementing Classes:
  ElitisticListPopulation, ListPopulation

    public interface Population
    extends java.lang.Iterable<Chromosome>

A collection of chromosomes that facilitates generational evolution.

Since:
  2.0
Version:
  $Id: Population.java 1416643 2012-12-03 19:37:14Z tn $

### Method Summary

Methods
`void` `addChromosome(Chromosome chromosome)` Add the given chromosome to the population.
`Chromosome` `getFittestChromosome()` Access the fittest chromosome in this population.
`int` `getPopulationLimit()` Access the maximum population size.
`int` `getPopulationSize()` Access the current population size.
`Population` `nextGeneration()` Start the population for the next generation.

### Methods inherited from interface java.lang.Iterable

`iterator`

### Method Detail

#### getPopulationSize

    int getPopulationSize()

Access the current population size.

Returns:
  the current population size.

#### getPopulationLimit

    int getPopulationLimit()

Access the maximum population size.

Returns:
  the maximum population size.

#### nextGeneration

    Population nextGeneration()

Start the population for the next generation.

Returns:
  the beginnings of the next generation.

#### addChromosome

    void addChromosome(Chromosome chromosome)
                       throws NumberIsTooLargeException

Add the given chromosome to the population.

Parameters:
  `chromosome` - the chromosome to add.
Throws:
  `NumberIsTooLargeException` - if the population would exceed the population limit when adding this chromosome

#### getFittestChromosome

    Chromosome getFittestChromosome()

Access the fittest chromosome in this population.

Returns:
  the fittest chromosome.