Population Namespace Reference

Contatins interfaces, classes and datatypes used to implement population of chromosomes and genetic operations. More...


Classes

class  GaPopulationParameters
 GaPopulationParameters class represents parameters of population. More...
class  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  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...
class  GaSelectionParams
 This class is base for parameters of selection operation. More...
class  GaSelectionResultSet
 This class is used as storage for selection operation (result set). It uses sorted group to store indices of selected chromosomes. More...
class  GaSelectionOperation
 This class is interface for selection operation which selects chromosomes from population which are going to be used as parents in production of new chromosomes. More...
class  GaCouplingParams
 This class is base for parameters of coupling operation. More...
class  GaCouplingResultSet
 This class is used as storage for coupling operation (result set). Result set contains pointer to selection result set which stores parent chromosomes. It also contains array of newly produced chromosomes and array of their parents' indices. More...
class  GaCouplingOperation
 This class is interface for coupling operations which produce offspring from selected chromosomes. More...
class  GaReplacementParams
 This class is base for parameters of replacement operation. More...
class  GaReplacementOperation
 This class is interface for replacement operations which replace chromosomes of population with new chromosomes. More...
class  GaScalingParams
 This class is base for parameters of scaling operation. More...
class  GaScalingOperation
 This class is interface for scaling operations which transform chromosomes' fitness values. More...
class  GaSortedGroup
 Sorted group stores indices of chromosomes in sorted order, chromosomes must be from same population. For sorting, group use provided fitness comparator. Direction depends on type of group. It group type is GASGT_BEST or GASGT_OTHER chromosomes are sorted in descending order by their fitness value, if group type is GASGT_WORST chromosomes are sorted in ascending order by their fitness value. Sorted group can only accept fixed number of chromosomes. More...

Namespaces

namespace  CouplingOperations
 Contains implementation of some basic coupling operations.
namespace  ReplacementOperations
 Contains implementation of some basic replacement operations.
namespace  ScalingOperations
 Contains implementation of some basic scaling operations.
namespace  SelectionOperations
 Contains implementation of some basic selection operations.

Typedefs

typedef
GaOperationParametersPair
< GaSelectionOperation,
GaSelectionParams
GaSelectionPair
 GaSelectionPair type is instance of GaOperationParametersPair template class and represents pair of selection operation and its parameters. Detailed description can be found in specification of GaOperationParametersPair template class.
typedef GaCatalogue
< GaSelectionOperation
GaSelectionCatalogue
 GaSelectionCatalogue type is instance of GaCatalogue template class and represents catalogue of selection operations. Detailed description can be found in specification of GaCatalogue template class.
typedef
GaOperationParametersPair
< GaCouplingOperation,
GaCouplingParams
GaCouplingPair
 GaCouplingPair type is instance of GaOperationParametersPair template class and represents pair of coupling operation and its parameters. Detailed description can be found in specification of GaOperationParametersPair template class.
typedef GaCatalogue
< GaCouplingOperation
GaCouplingCatalogue
 GaCouplingCatalogue type is instance of GaCatalogue template class and represents catalogue of coupling operations. Detailed description can be found in specification of GaCatalogue template class.
typedef
GaOperationParametersPair
< GaReplacementOperation,
GaReplacementParams
GaReplacementPair
 GaReplacementPair type is instance of GaOperationParametersPair template class and represents pair of replacement operation and its parameters. Detailed description can be found in specification of GaOperationParametersPair template class.
typedef GaCatalogue
< GaReplacementOperation
GaReplacementCatalogue
 GaReplacementCatalogue type is instance of GaCatalogue template class and represents catalogue of replacement operations. Detailed description can be found in specification of GaCatalogue template class.
typedef
GaOperationParametersPair
< GaScalingOperation,
GaScalingParams
GaScalingPair
 GaScalingPair type is instance of GaOperationParametersPair template class and represents pair of scaling operation and its parameters. Detailed description can be found in specification of GaOperationParametersPair template class.
typedef GaCatalogue
< GaScalingOperation
GaScalingCatalogue
 GaScalingCatalogue type is instance of GaCatalogue template class and represents catalogue of scaling operations. Detailed description can be found in specification of GaCatalogue template class.

Enumerations

enum  GaAlgorithmState {
  GAS_UNINITIALIZED = 0x1, GAS_USER_STOPED = 0x2, GAS_CRITERIA_STOPPED = 0x4, GAS_PAUSED = 0x8,
  GAS_RUNNING = 0x10, GAS_NOT_RUNNING = 0xF, GAS_STOPPED = 0x6
}
 This enumeration defines states of an algorithm. More...
enum  GaSortedGroupType { GASGT_NONE = 0x0, GASGT_BEST = 0x1, GASGT_WORST = 0x2, GASGT_OTHER = 0x4 }
 GaSortedGroupType defines types of sorted groups used in library. Types are defined by usage of sorted group in library. More...


Detailed Description

Contatins interfaces, classes and datatypes used to implement population of chromosomes and genetic operations.


Typedef Documentation

GaCouplingCatalogue type is instance of GaCatalogue template class and represents catalogue of coupling operations. Detailed description can be found in specification of GaCatalogue template class.

GaCouplingPair type is instance of GaOperationParametersPair template class and represents pair of coupling operation and its parameters. Detailed description can be found in specification of GaOperationParametersPair template class.

GaReplacementCatalogue type is instance of GaCatalogue template class and represents catalogue of replacement operations. Detailed description can be found in specification of GaCatalogue template class.

GaReplacementPair type is instance of GaOperationParametersPair template class and represents pair of replacement operation and its parameters. Detailed description can be found in specification of GaOperationParametersPair template class.

GaScalingCatalogue type is instance of GaCatalogue template class and represents catalogue of scaling operations. Detailed description can be found in specification of GaCatalogue template class.

GaScalingPair type is instance of GaOperationParametersPair template class and represents pair of scaling operation and its parameters. Detailed description can be found in specification of GaOperationParametersPair template class.

GaSelectionCatalogue type is instance of GaCatalogue template class and represents catalogue of selection operations. Detailed description can be found in specification of GaCatalogue template class.

GaSelectionPair type is instance of GaOperationParametersPair template class and represents pair of selection operation and its parameters. Detailed description can be found in specification of GaOperationParametersPair template class.


Enumeration Type Documentation

This enumeration defines states of an algorithm.

Enumerator:
GAS_UNINITIALIZED  algorithm its populations and other control and data structures is not initialized.

GAS_USER_STOPED  algorithm execution is stopped by the user.

GAS_CRITERIA_STOPPED  algorithm reached given criteria and it is stopped.

GAS_PAUSED  temporary paused, but it can resume execution at any time.

GAS_RUNNING  algorithm is running.

GAS_NOT_RUNNING  used for testing of state of an algorithm and includes all states except running state.

GAS_STOPPED  used to test an algorithm, for one of two possible stopped states.

GaSortedGroupType defines types of sorted groups used in library. Types are defined by usage of sorted group in library.

Enumerator:
GASGT_NONE  type is not defined.

GASGT_BEST  sorted group is used to store best chromosomes.

GASGT_WORST  sorted group is used to store worst chromosome.

GASGT_OTHER  sorted group is used general purpose (i.e. to store results of selection operation).


Genetic Algorithm Library
Coolsoft Software Development