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.

**References:**

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