Package org.apache.commons.math3.genetics

# Interface Population

All Superinterfaces:
  `Iterable<Chromosome>`

All Known Implementing Classes:
  `ElitisticListPopulation`, `ListPopulation`

public interface Population extends Iterable<Chromosome>
A collection of chromosomes that facilitates generational evolution.

Since:
  2.0

## Method Summary

Modifier and Type
Method
Description
`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

`forEach, iterator, spliterator`

## Method Details

### 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.