GPopulation – the population module

This module contains the GPopulation.GPopulation class, which is reponsible to keep the population and the statistics.

Default Parameters

Sort Type

>>> Consts.sortType["scaled"]

The scaled sort type

Minimax

>>> Consts.minimaxType["maximize"]

Maximize the evaluation function

Scale Method

Scaling.LinearScaling()

The Linear Scaling scheme

Class

class GPopulation.GPopulation(genome)

GPopulation Class - The container for the population

Examples
Get the population from the GSimpleGA.GSimpleGA (GA Engine) instance
>>> pop = ga_engine.getPopulation()
Get the best fitness individual
>>> bestIndividual = pop.bestFitness()
Get the best raw individual
>>> bestIndividual = pop.bestRaw()
Get the statistics from the Statistics.Statistics instance
>>> stats = pop.getStatistics()
>>> print stats["rawMax"]
10.4
Iterate, get/set individuals
>>> for ind in pop:
>>>   print ind
(...)
>>> for i in xrange(len(pop)):
>>>    print pop[i]
(...)
>>> pop[10] = newGenome
>>> pop[10].fitness
12.5
Parameter:genome – the Sample genome, or a GPopulation object, when cloning.
bestFitness(index=0)

Return the best scaled fitness individual of population

Parameter:index – the index best individual
Return type:the individual
bestRaw(index=0)

Return the best raw score individual of population

Parameter:index – the index best raw individual
Return type:the individual

New in version 0.6: The parameter index.

clear()
Remove all individuals from population
clearFlags()
Clear the sorted and statted internal flags
clone()
Return a brand-new cloned population
copy(pop)

Copy current population to ‘pop’

Parameter:pop – the destination population

Warning

this method do not copy the individuals, only the population logic

create(**args)
Clone the example genome to fill the population
evaluate(**args)

Evaluate all individuals in population, calls the evaluate() method of individuals

Parameter:args – this params are passed to the evaluation function
getParam(key, nvl=None)

Gets an internal parameter

Example:
>>> population.getParam("tournamentPool")
5
Parameters:
  • key – the key of param
  • nvl – if the key doesn’t exist, the nvl will be returned
getStatistics()

Return a Statistics class for statistics

Return type:the Statistics.Statistics instance
initialize(**args)
Initialize all individuals of population, this calls the initialize() of individuals
printStats()
Print statistics of the current population
scale(**args)

Scale the population using the scaling method

Parameter:args – this parameter is passed to the scale method
setMinimax(minimax)

Sets the population minimax

Example:
>>> pop.setMinimax(Consts.minimaxType["maximize"])
Parameter:minimax – the minimax type
setMultiProcessing(flag=True, full_copy=False)

Sets the flag to enable/disable the use of python multiprocessing module. Use this option when you have more than one core on your CPU and when your evaluation function is very slow. The parameter “full_copy” defines where the individual data should be copied back after the evaluation or not. This parameter is useful when you change the individual in the evaluation function.

Parameters:
  • flag – True (default) or False
  • full_copy – True or False (default)

Warning

Use this option only when your evaluation function is slow, se you will get a good tradeoff between the process communication speed and the parallel evaluation.

New in version 0.6: The setMultiProcessing method.

setParams(**args)

Gets an internal parameter

Example:
>>> population.setParams(tournamentPool=5)
Parameter:args – parameters to set

New in version 0.6: The setParams method.

setPopulationSize(size)

Set the population size

Parameter:size – the population size
setSortType(sort_type)

Sets the sort type

Example:
>>> pop.setSortType(Consts.sortType["scaled"])
Parameter:sort_type – the Sort Type
sort()
Sort the population
statistics()
Do statistical analysis of population and set ‘statted’ to True
GPopulation.key_fitness_score(individual)

A key function to return fitness score, used by max()/min()

Parameter:individual – the individual instance
Return type:the individual fitness score

Note

this function is used by the max()/min() python functions

GPopulation.key_raw_score(individual)

A key function to return raw score

Parameter:individual – the individual instance
Return type:the individual raw score

Note

this function is used by the max()/min() python functions

GPopulation.multiprocessing_eval(ind)
Internal used by the multiprocessing
GPopulation.multiprocessing_eval_full(ind)
Internal used by the multiprocessing (full copy)


Table Of Contents

Previous topic

GSimpleGA – the genetic algorithm by itself

Next topic

Mutators – mutation methods module

This Page