Free cookie consent management tool by TermsFeed Policy Generator

Version 4 (modified by svonolfe, 13 years ago) (diff)


Offspring Selection Genetic Algorithm (OSGA)

An offspring selection genetic algorithm developed by (Affenzeller et al. 2009).

Algorithm Parameters:

Parameter Description
Analyzer The operator used to analyze each generation.
ComparisonFactorLowerBound The lower bound of the comparison factor (start).
ComparisonFactorModifier The operator used to modify the comparison factor.
ComparisonFactorUpperBound The upper bound of the comparison factor (end).
Crossover The operator used to cross solutions.
Elites The numer of elite solutions which are kept in each generation.
MaximumGenerations The maximum number of generations which should be processed.
MaximumSelectionPressure The maximum selection pressure that terminates the algorithm.
MutationProbability The probability that the mutation operator is applied on a solution.
Mutator The operator used to mutate solutions.
OffspringSelectionBeforeMutation True if the offspring selection step should be applied before mutation, false if it should be applied after mutation.
Population Size The size of the population of solutions.
Seed The random seed used to initialize the new pseudo random number generator.
SelectedParents How much parents should be selected each time the offspring selection step is performed until the population is filled.
Selector ProportionalSelector: The operator used to select solutions for reproduction.
SetSeedRandomly True if the random seed should be set to a random value, otherwise false.
SuccessRatio The ratio of successful to total children that should be achieved.

Successful offspring analysis

If you are interested, what operators perform well in your algorithm you can do an analysis of the successful offspring.

The following steps are required:

  • Choose a MultiOperator (e.g. MultiCrossover), set its TraceSelectedOperator parameter to true and name the SelectedOperator parameter accordingly (e.g. SelectedCrossover)
  • Enable the SuccessfulOffspringAnalyzer and add the according StringValue to the CollectedValues (e.g. SelectedCrossover)
  • The analysis will be added to the results collection of the algorithm

Is there a sample/tutorial?

Not yet, but we might add one in the future if there is demand. Meanwhile, have a look at our other samples shipped with HeuristicLab here.


  • Affenzeller, M. et al. 2009. Genetic Algorithms and Genetic Programming - Modern Concepts and Practical Applications. CRC Press.