Population.h File Reference

This file declares classes and datatypes of chromosomes population. More...

#include <list>
#include "Platform.h"
#include "Threading.h"
#include "Statistics.h"
#include "Chromosome.h"
#include "SortedGroup.h"
#include "ChromosomeOperations.h"
#include "PopulationOperations.h"

Namespaces

namespace  Population

Classes

class  Population::GaPopulationParameters
 GaPopulationParameters class represents parameters of population. More...
class  Population::GaPopulationConfiguration
 This class stores parameters and genetic operations of a population or a group of populations. All populations bound to the configuration, are updated and notified every time when configuration is changed. Note that each population copies parameters' of the population and use local copy. More...
class  Population::GaPopulation
 GaPopulation class is used to host chromosomes. Population also provides statistical information about chromosomes in population by using GaStatistics class. Same chromosome can be hosted by multiple populations because they are stored in population using scaled chromosome object which contains smart pointer to chromosome and value of scaled fitness (because this value depends on population, but not on chromosome itself and same chromosome can be in multiple populations). Chromosomes in population can be sorted which provides easy way of tracking best and worst chromosomes, but if chromosomes are not sorted, population provides to sorted groups which stores indices of best and worst chromosomes. Sorting of chromosomes in population or in sorted groups is done my using provided sorting comparator. Both scaled and non-scaled fitness values of chromosomes can be used for sorting, which value is going to be used depends on specified parameters, but if scaling operation is not defined for the population, non-scaled fitness values are used. Maximal number of chromosomes which can be hosted is specified in population's parameters. Also whether the population is going to be fixed-size (number of chromosomes in population is always equals to maximal number of chromosomes it can store) or resizable (population can host from 0 to maximal number of chromosomes) is specified in population's parameters. During population initialization, provided prototype is used to create chromosomes which fill the population. Fixed-size populations are always filled during initialization, which is not the case with resizable populations. Besides hosting of chromosomes, population also binds extern genetic operations (selection, coupling, scaling, and replacement) which are going to be used by genetic algorithm during evolution. More...


Detailed Description

This file declares classes and datatypes of chromosomes population.


Genetic Algorithm Library
Coolsoft Software Development